/* Readable enterprise surfaces; original navy, teal and cinematic materials retained. */
html{scroll-padding-top:110px;font-size:16px}
.os-theme .container{width:calc(100% - 64px);max-width:1200px;margin-inline:auto}
.os-theme main p,.os-theme main li,.os-theme .copy{font-size:1rem;line-height:1.75;color:#17384f}
.os-theme main .eyebrow{font-size:.78rem;font-weight:700;line-height:1.5;color:#146a64;letter-spacing:.12em}
.os-theme main .small,.os-theme .boundary-note{font-size:.875rem;color:#35596a;line-height:1.65}
.os-theme main h1{max-width:100%;text-wrap:balance;line-height:1.08;letter-spacing:-.045em}
.os-theme .page-hero{padding-bottom:40px;min-height:0}
.os-theme .page-hero h1{max-width:1000px;font-size:clamp(2.4rem,5vw,4.6rem)}
.os-theme .page-hero .copy{max-width:850px!important}
.os-theme .hero-entry .os-intro h1{font-size:clamp(2.5rem,4.7vw,4.5rem);line-height:1.08}
.os-theme .hero-entry .hero-availability{font-size:1rem;line-height:1.7;color:#17384f;letter-spacing:0;text-transform:none}
.os-theme .section{scroll-margin-top:110px}
.os-theme .desktop-nav a,.os-theme .desktop-nav summary{font-size:.9rem}
.os-theme .header-inner{gap:20px}
.os-theme .header-inner>.button{max-width:205px;white-space:normal;text-align:center;font-size:.9rem;line-height:1.35}
.os-theme .button{min-height:48px;padding:13px 22px;font-size:1rem;font-weight:700;border:1px solid #829eaa;white-space:normal;line-height:1.45;text-align:center;background:#f8fcfd;color:#092b51}
.os-theme .button.primary{background:#092b51;color:white;border-color:#092b51}
.os-theme .button:hover{background:#e0f1ed;border-color:#146a64;color:#092b51}
.os-theme .button.primary:hover{background:#105e5a;color:white}
.os-theme .text-link{font-size:1rem;font-weight:700;color:#11645d;text-decoration:underline;text-underline-offset:5px;display:inline-flex;align-items:center;min-height:44px;line-height:1.5}
.os-theme .footer-nav a,.os-theme .trust-links a{font-size:1rem;line-height:1.6;padding-block:7px;min-height:40px;display:inline-block;overflow-wrap:anywhere}
.os-theme .footer-grid{gap:32px;padding-bottom:30px}
.os-theme .footer-bottom,.os-theme .trust-links{position:relative;clear:both;margin-top:20px;padding-top:22px;gap:16px;flex-wrap:wrap}
.os-theme .footer h3{font-size:1rem;line-height:1.5}
.os-theme .footer p{font-size:1rem;color:#17384f}
.os-theme .motion-toggle{position:static!important;inset:auto!important;transform:none!important;min-height:44px;font-size:.9rem}
.os-theme .os-motion-bar,.os-theme .hero-motion-row{position:relative!important;inset:auto!important;z-index:1;margin:20px auto;display:flex;justify-content:flex-start}
.os-theme .cinema-page-schematic{display:none}
.os-theme .cinema-layer{font-size:1rem}
.os-theme .cinema-agent-status{font-size:1rem;color:#17384f;min-height:100px}
.os-theme .cinema-agent-demo{background:#f5fafbf2}
.engagement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-block:30px}
.engagement-card{min-width:0;background:#f7fbfcf5;border:1px solid #b2cbd3;border-radius:20px;padding:28px;display:flex;flex-direction:column;align-items:flex-start}
.engagement-card h3{font-size:1.45rem;line-height:1.3;margin:12px 0}
.engagement-card h2{font-size:1.5rem;line-height:1.3;margin-bottom:18px}
.engagement-card h4{font-size:1rem;margin:24px 0 8px;color:#092b51}
.engagement-card .engagement-price{font-size:1.65rem;font-weight:700;color:#092b51;line-height:1.3}
.engagement-card .text-link{margin-top:auto;padding-top:24px}
.engagement-note{margin:20px 0 25px;max-width:900px}
.os-theme .readiness-cta{background:#f4fafbf5}
.os-theme .proof-stack{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}
.proof-stack span{padding:12px 18px;border:1px solid #a9c6cd;border-radius:10px;font-weight:700;color:#092b51;background:#f8fcfd}
:focus-visible{outline:3px solid #08776e!important;outline-offset:4px}
@media(max-width:1250px){.os-theme .desktop-nav{display:none}.os-theme .menu-toggle{display:inline-flex}.os-theme .header-inner>.button{margin-left:auto}}
@media(max-width:800px){.engagement-grid{grid-template-columns:1fr}.os-theme .container{width:calc(100% - 40px)}.os-theme .cinema-layer{transform:none!important}.os-theme .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.os-theme .page-hero h1{font-size:clamp(2.2rem,7vw,3.4rem)}}
@media(max-width:600px){.os-theme .container{width:calc(100% - 32px)}.os-theme .header-inner>.button{display:none}.os-theme .header-inner{gap:12px}.os-theme .menu-toggle{margin-left:auto;min-height:44px}.os-theme .page-hero{padding-top:28px;padding-bottom:26px}.os-theme .hero-entry .os-intro h1{font-size:clamp(2.1rem,8.7vw,3rem)}.os-theme .footer-grid{grid-template-columns:1fr}.os-theme .mobile-nav a{font-size:1rem;min-height:44px}.engagement-card{padding:24px}.os-theme .button{width:100%}.os-theme .signature-mark{min-height:140px}.os-theme .cinema-stack{perspective:none}.os-theme .section{padding-inline:24px}.os-theme .page-hero h1 br{display:none}.os-theme main h1{overflow-wrap:normal}.os-theme .hero-motion-row .motion-toggle{width:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.os-theme *{animation:none!important;transition:none!important}}
/* Final overrides for older high-specificity cinematic type rules. */
html{overflow-x:clip}
.os-theme main p:not(.eyebrow):not(.small):not(.engagement-price),.os-theme main li{font-size:18px!important;color:var(--surface-copy,#17384f)!important}
.os-theme .hero-entry .os-intro>.hero-availability{font-size:18px!important;color:var(--surface-copy,#17384f)!important;letter-spacing:0!important;text-transform:none!important}
.os-theme main .engagement-price{font-size:1.65rem!important;color:#092b51!important}
.os-theme main .eyebrow{font-size:12.5px!important}
.os-theme .footer-nav a,.os-theme .trust-links a{font-size:16px!important}
@media(max-width:600px){.os-theme .page-hero h1 br{display:initial}}

/* Explicit surface boundaries keep light and dark cards readable, including nested demos. */
.os-theme :is(.cta-panel,.immersive-showcase-feature,.navy-section,.hosting-section){--surface-copy:#dcebf3;--surface-accent:#9de4d8}
.os-theme :is(.cta-panel,.immersive-showcase-feature,.navy-section,.hosting-section) .eyebrow{color:var(--surface-accent)!important}
.os-theme :is(.cta-panel,.immersive-showcase-feature,.navy-section,.hosting-section) .text-link{color:var(--surface-accent)}
.os-theme :is(.cta-panel,.immersive-showcase-feature) .button.primary{background:#f5fbfd;color:#092b51;border-color:#b6d3df}
.os-theme .cinema-agent-demo{--surface-copy:#17384f;--surface-accent:#146a64;color:#092b51}
.os-theme .immersive-showcase-feature .cinema-agent-demo .button.primary{background:#092b51;color:#fff;border-color:#092b51}
.os-theme .immersive-showcase-feature .cinema-agent-demo a{color:#11645d}
/* Contain decorative overflow while preserving readable grid and flex children. */
body.os-theme{overflow-x:hidden}
.os-theme :is(.header-inner,.footer-grid,.cta-panel,.immersive-showcase-feature,.actions)>*{min-width:0}
.os-theme :is(.cta-panel,.immersive-showcase-feature,.cinema-agent-demo){max-width:100%;box-sizing:border-box}
.os-theme :is(.cta-panel,.immersive-showcase-feature) :is(p,a){overflow-wrap:anywhere}
/* Round-two type audit: small descriptive copy must remain legible. */
.os-theme main :is(p,li,.copy,.small,.boundary-note,.cinema-demo-note){font-size:16px!important;line-height:1.7;color:var(--surface-copy,#17384f)!important}
.os-theme main .eyebrow{font-size:16px!important;color:var(--surface-accent,#146a64)!important}
.os-theme main :is(.feature-card,.service-card,.readiness-focus-card,.engagement-card,.cinema-agent-demo){--surface-copy:#17384f;--surface-accent:#146a64}
.os-theme .desktop-nav a,.os-theme .footer-nav a{font-size:16px!important}
.os-theme .header-inner>.button{white-space:nowrap;max-width:none}
.os-theme .footer-nav{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.os-theme .footer-grid{align-items:start}
.os-theme .mobile-nav{max-height:calc(100dvh - 90px);overflow:auto}
.os-theme .mobile-nav a{display:block;padding:14px 22px}
.os-theme .mobile-nav[hidden]{display:none!important}
.cookie-banner{position:fixed;bottom:16px;left:16px;right:16px;z-index:1000;max-width:620px;margin:auto;background:#f5fbfd;color:#092b51;border:2px solid #146a64;border-radius:18px;padding:22px;box-shadow:0 10px 45px #092b5130;font-size:16px;max-height:70dvh;overflow:auto}
.cookie-banner p{color:#17384f;font-size:16px;line-height:1.6;margin:0 0 12px}
.cookie-banner .actions{display:flex;gap:12px;flex-wrap:wrap}
.cookie-settings{font:inherit;color:#11645d;background:none;border:0;text-decoration:underline;cursor:pointer;padding:8px 0;min-height:44px}

/* Reading comfort: stronger body type while keeping each surface's contrast boundary. */
.os-theme main p:not(.eyebrow):not(.engagement-price),.os-theme main li,.os-theme main .copy{font-size:18px!important;font-weight:500!important;line-height:1.75!important;color:var(--surface-copy,#17384f)!important}
.os-theme .footer p{font-size:17px;font-weight:500;color:#17384f}
.os-theme .page-hero h1,.os-theme main h2{text-wrap:balance;overflow-wrap:normal}
/* Compact consent card; reserved document space keeps the last footer links reachable. */
body.os-theme{padding-bottom:var(--cookie-clearance,0px)}
.cookie-banner{left:auto;right:16px;bottom:16px;width:min(380px,calc(100% - 32px));max-width:380px;margin:0;padding:16px;border-width:1px;border-radius:12px;max-height:45dvh}
.cookie-banner p{font-size:16px;line-height:1.45;margin-bottom:12px;color:#17384f}
.cookie-banner .actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.os-theme .cookie-banner .button{width:100%;padding:10px 8px;font-size:16px;min-height:44px;line-height:1.35}
@media(max-width:600px){.cookie-banner{left:12px;right:12px;bottom:12px;width:auto;max-width:none;padding:12px}.os-theme .page-hero h1{font-size:clamp(2rem,7.8vw,3rem)}}

/* Closing invitation has the same inset as the surrounding cards. */
.os-theme main>.readiness-cta{padding:clamp(28px,4vw,56px)!important;box-sizing:border-box}
.os-theme .readiness-cta h2{max-width:800px;margin:16px 0 24px;text-wrap:balance}
.os-theme .readiness-cta p:not(.eyebrow){max-width:850px}
.os-theme .readiness-cta .actions{margin-top:28px}

/* Compact full-width consent bar; reserved document space keeps footer reachable. */
.cookie-banner{left:0;right:0;bottom:0;width:100%;max-width:none;box-sizing:border-box;border-radius:0;padding:12px 24px;display:flex;align-items:center;justify-content:center;gap:24px;max-height:40dvh}
.cookie-banner p{margin:0;max-width:760px}
.cookie-banner .actions{flex:0 0 auto;min-width:320px}
.design-partner-offer{margin-top:28px}
@media(max-width:600px){.cookie-banner{padding:12px;gap:10px;display:block}.cookie-banner p{margin-bottom:10px}.cookie-banner .actions{min-width:0}}
