/* Shared typography, navigation, and interior layouts follow the homepage. */
.onovo-body { --home-ink: #1b252e; --home-purple: #3c0063; --home-lime: #d8ff36; color: var(--home-ink); }
.onovo-body .preloader { display:none; }
.onovo-body .container { padding-inline:32px; }
.onovo-body a:focus-visible, .onovo-body button:focus-visible, .onovo-body input:focus-visible, .onovo-body textarea:focus-visible { outline:3px solid #8a47c5; outline-offset:5px; }
.onovo-body .onovo-intro { background:#101218; padding-block:190px 80px; }
.onovo-body .onovo-title-1 { font-size:clamp(40px,5.8vw,78px); letter-spacing:-.045em; line-height:1.13; font-weight:600; }
.onovo-body .onovo-intro .onovo-sep { display:none; }
.onovo-body .onovo-subtitle-2 { max-width:760px; font-size:19px; line-height:1.7; }
.onovo-body .onovo-intro .onovo-breadcrums { margin-top:32px; font-size:12px; }
.cd-page { background:#fff; }
.cd-page h1, .cd-page h2, .cd-page h3 { font-weight:600; letter-spacing:-.045em; line-height:1.14; margin:0 0 24px; }
.cd-page h1 { font-size:clamp(42px,5.6vw,80px); max-width:1000px; }
.cd-page h2 { font-size:clamp(32px,3.6vw,50px); max-width:850px; }
.cd-page h3 { font-size:27px; }
.cd-hero { padding:190px 0 80px; background:#101218; color:#f3f0f6; }
.cd-hero h1 { color:#fff; }
.cd-eyebrow { font-size:11px; text-transform:uppercase; letter-spacing:.14em; font-weight:700; margin-bottom:20px; display:block; }
.cd-hero .cd-eyebrow, .cd-cta .cd-eyebrow { color:var(--home-lime); }
.cd-lead { font-size:clamp(18px,1.6vw,21px); line-height:1.7; max-width:720px; }
.cd-section { padding-block:96px; }
.cd-section-soft { background:#f4f2f6; }
.cd-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.cd-card { display:flex; flex-direction:column; border:1px solid #dedbe3; min-width:0; background:#fff; }
.cd-card-image { aspect-ratio:3/2; background:#eeeaf3; display:grid; place-items:center; overflow:hidden; }
.cd-card-image img { width:100%; height:100%; object-fit:cover; object-position:top; }
.cd-card-image.cd-icon img { width:120px; height:120px; object-fit:contain; }
.cd-card-body { padding:30px; display:flex; flex-direction:column; flex:1; }
.cd-card-body > p { font-size:15px; line-height:1.8; }
.cd-card-body h2, .cd-card-body h3 { font-size:27px; margin:20px 0; }
.cd-card-body > .cd-link { margin-top:auto; align-self:start; }
.cd-status { display:inline-block; font-size:10px; font-weight:600; background:#e0f79d; border-radius:24px; padding:5px 12px; color:#24320a; align-self:start; }
.cd-status.upcoming { background:#ede7f2; color:#533a68; }
.cd-button { display:inline-flex; align-items:center; justify-content:center; gap:26px; border:1px solid var(--home-lime); border-radius:40px; padding:18px 26px; font-size:14px; font-weight:600; line-height:1.4; background:var(--home-lime); color:#111; text-decoration:none; }
.cd-button:hover { background:#fff; border-color:var(--home-purple); color:var(--home-purple); }
.cd-link { display:inline-flex; align-items:center; gap:16px; font-size:14px; font-weight:600; padding-block:12px; text-decoration:underline; text-underline-offset:5px; color:inherit; }
.cd-link:hover { color:#7828aa; }
.cd-actions { display:flex; align-items:center; gap:24px; flex-wrap:wrap; margin-top:28px; }
.cd-split { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:70px; align-items:start; }
.cd-split > * { min-width:0; }
.cd-prose { font-size:17px; line-height:1.9; }
.cd-prose h2, .cd-prose h3, .cd-prose h4 { margin-top:42px; font-size:30px; }
.cd-prose img, .cd-feature-image { width:100%; height:auto; }
.cd-feature-image { display:block; margin-bottom:44px; border:1px solid #dedbe3; }
.cd-details { background:#f4f2f6; padding:32px; }
.cd-details h2 { font-size:28px; }
.cd-details dt { font-size:11px; text-transform:uppercase; letter-spacing:.1em; margin-top:24px; }
.cd-details dd { margin:8px 0 22px; font-size:15px; overflow-wrap:anywhere; }
.cd-details dd p { margin:0; }
.platform-price { padding:22px 0; border-top:1px solid #dedbe3; margin-top:auto; }
.platform-price .cd-eyebrow { margin-bottom:10px; }
.platform-price p { font-size:13px; line-height:1.7; margin-bottom:8px; }
.platform-price p.platform-price-amount { font-size:32px; line-height:1.1; letter-spacing:-.04em; font-weight:600; }
.platform-price-amount small { font-size:11px; letter-spacing:0; }
.cd-fine-print { font-size:12px; line-height:1.85; color:#625a68; max-width:880px; margin:28px 0 0; }
.cd-two { display:grid; grid-template-columns:1fr 1fr; gap:60px; margin-top:50px; }
.cd-cta { background:var(--home-purple); color:#fff; }
.cd-cta h2 { color:#fff; }
.cd-cta .cd-button { margin-top:18px; }
.cd-project { display:grid; grid-template-columns:1.6fr 1fr; gap:48px; margin-bottom:70px; align-items:center; }
.cd-project img { width:100%; max-height:530px; object-fit:cover; object-position:top; }
.cd-project .cd-card-image { aspect-ratio:4/3; }
.cd-faq { border-top:1px solid #dedbe3; padding:20px 0; }
.cd-faq summary { cursor:pointer; font-weight:600; font-size:17px; }
.cd-faq .cd-prose { margin-top:20px; font-size:16px; }
.cd-gallery { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:40px; }
.cd-gallery img { width:100%; height:auto; }
.cd-services { list-style:none; margin:32px 0 0; padding:0; }
.cd-services li { border-bottom:1px solid #dedbe3; }
.cd-services a { display:block; padding:24px 0; color:inherit; text-decoration:none; }
.cd-services h3 { font-size:25px; margin-bottom:12px; }
.cd-services p { margin:0; }
.onovo-body .onovo-menu-nav > li > a { font-size:clamp(26px,4vw,48px); line-height:1.35; }
.onovo-body .onovo-menu-nav > li { margin-bottom:12px; }
.onovo-body .onovo-menu-nav .site-language a { font-size:16px; }
.onovo-body .onovo-menu-nav .site-language { margin-top:24px; }
.onovo-body .onovo-contact-info { background:#3c0063; }
@media(max-width:991px) { .cd-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .cd-split { gap:36px; grid-template-columns:1.4fr 1fr; } .cd-project { gap:32px; } }
@media(max-width:767px) { .onovo-body .container { padding-inline:22px; } .cd-hero, .onovo-body .onovo-intro { padding-block:150px 54px; } .cd-section { padding-block:64px; } .cd-grid,.cd-split,.cd-two,.cd-project,.cd-gallery { grid-template-columns:1fr; gap:30px; } .cd-card-body { padding:24px; } .cd-details { padding:26px; } .cd-project { margin-bottom:54px; } .cd-prose { font-size:16px; } .cd-actions { gap:14px; } .cd-hero h1 { overflow-wrap:anywhere; } .cd-two { margin-top:36px; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; } }

.site-menu-label { display:inline-block; font-size:24px; padding:10px 0; }
.site-submenu-toggle { border:0; background:transparent; color:inherit; padding:12px; cursor:pointer; }
.site-submenu-toggle span { font-size:24px; }
.footer-socials, .home-footer-bottom nav { display:flex; flex-wrap:wrap; gap:20px; }

.onovo-body .onovo-menu ul li .site-submenu-toggle { top:0; margin-top:4px; padding:0; vertical-align:middle; width:40px; height:40px; line-height:40px; }

.onovo-body .onovo-menu .site-menu-label { color:#ddd; }
