/* Shared navigation, reading sizes and focus treatment on every route. */
:root{--nav-h:76px;--dim:#99a8b5;--site-header-bg:rgba(7,24,25,.97)}
:root[data-theme="light"]{--green:#066e6c;--green-h:#055d5b;--green-d:#065e5c;--dim:#4f606e;--soft:#4f606e;--site-header-bg:rgba(241,244,245,.98);--ink:#fff}
*{box-sizing:border-box}
html{scroll-padding-top:calc(var(--nav-h) + 24px)}
[id]{scroll-margin-top:0}
body{font-size:16px}
a,button,summary{-webkit-tap-highlight-color:transparent}
:where(a,button,summary,input,select,textarea):focus-visible{outline:2px solid var(--green);outline-offset:5px}
[hidden]{display:none!important}
.site-skip{position:fixed;top:10px;left:16px;transform:translateY(-180%);z-index:1000;background:var(--green);color:var(--ink);padding:12px 18px;text-decoration:none;font:500 15px 'Inter',sans-serif}
.site-skip:focus{transform:none}
.site-header{position:fixed;z-index:100;top:0;left:0;right:0;background:var(--site-header-bg);border-bottom:1px solid var(--line);height:var(--nav-h)}
.site-nav-inner{height:var(--nav-h);max-width:1600px;padding-inline:clamp(20px,2.4vw,40px);margin:auto;display:flex;align-items:center;gap:22px}
.site-brand{display:flex;align-items:center;gap:9px;flex-shrink:0;text-decoration:none;color:var(--txt);font:500 16px 'Space Grotesk',sans-serif;letter-spacing:-.025em;white-space:nowrap}
.site-brand svg{color:var(--green);flex-shrink:0}
.site-brand>span>span{color:var(--soft);font-weight:400}
.site-nav-links{display:flex;align-items:center;gap:clamp(13px,1.6vw,24px);margin-left:auto}
.site-nav-links>a,.site-dropdown summary{display:flex;align-items:center;min-height:44px;white-space:nowrap;text-decoration:none;font:450 14px 'Inter',sans-serif;color:var(--soft);cursor:pointer}
.site-nav-links>a:hover,.site-nav-links>a[aria-current],.site-dropdown[open] summary,.site-dropdown summary:hover{color:var(--green)}
.site-dropdown{position:relative}
.site-dropdown summary{list-style:none;gap:6px}
.site-dropdown summary::-webkit-details-marker{display:none}
.site-submenu{position:absolute;top:calc(100% + 10px);left:-18px;min-width:256px;border:1px solid var(--line-2);padding:8px;background:var(--bg);box-shadow:0 20px 40px #0003}
.site-submenu a{display:block;padding:13px 12px;color:var(--soft);font:450 14px 'Inter',sans-serif;text-decoration:none;white-space:nowrap}
.site-submenu a:hover,.site-submenu a[aria-current]{color:var(--green);background:var(--green-bg)}
.site-contact{display:flex;align-items:center;gap:10px;min-height:44px;text-decoration:none;border-bottom:1px solid var(--green);color:var(--txt);font:500 14px 'Inter',sans-serif;white-space:nowrap}
.site-contact:hover{color:var(--green)}
.site-header .theme-toggle{width:44px;height:44px;min-width:44px;margin:0;display:grid;place-items:center}
.site-menu-toggle{display:none;align-items:center;gap:10px;min-height:44px;padding:0 12px;font:500 14px 'Inter',sans-serif;color:var(--txt);background:none;border:1px solid var(--line-2);border-radius:2px;cursor:pointer}
.site-mobile-menu{position:absolute;top:var(--nav-h);left:0;right:0;height:calc(100dvh - var(--nav-h));padding:16px 24px 30px;background:var(--bg);overflow:auto;border-bottom:1px solid var(--line-2);overscroll-behavior:contain}
.site-mobile-menu>a{display:flex;align-items:center;justify-content:space-between;padding:12px 0;min-height:48px;border-bottom:1px solid var(--line);color:var(--txt);text-decoration:none;font:500 21px 'Space Grotesk',sans-serif}
.site-mobile-services{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:12px 0}
.site-mobile-services a{font:450 14px/1.5 'Inter',sans-serif;color:var(--soft);text-decoration:none;padding:8px 0;min-height:44px}
.site-mobile-menu a[aria-current],.site-mobile-menu .mobile-contact{color:var(--green)}
body.site-menu-open{overflow:hidden}
.site-footer{padding:48px var(--gutter,24px);background:var(--bg-2);border-top:1px solid var(--line);color:var(--soft)}
.site-footer-inner{max-width:1240px;margin:auto;display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:40px}
.site-footer a{color:var(--soft);text-decoration:none;font:450 14px/1.5 'Inter',sans-serif;padding-block:7px;display:inline-block}
.site-footer a:hover{color:var(--green)}
.site-footer .site-footer-brand{font:500 20px 'Space Grotesk',sans-serif;color:var(--txt)}
.site-footer p{font-size:14px;line-height:1.7;margin-top:12px}
.site-footer nav{display:grid;grid-template-columns:1fr 1.1fr;gap:0 24px;align-content:start}
.site-footer-contact{display:flex;flex-direction:column;align-items:flex-start}
.site-footer-contact span{font-size:12px;margin-top:18px;color:var(--dim)}
.btn,.op-body .btn{min-height:48px;font-size:14px;letter-spacing:.015em;text-transform:none;padding:13px 22px}
.mono{font-size:12px;letter-spacing:.075em}
.post-meta,.post-meta span,.crumb{font-size:12px}
.prose .tbl{font-size:15px}
.prose .tbl th{font-size:12px}
.prose .callout{font-size:16px}
.prose .n{font-size:13px}
.post-row .date,.post-row .tag,.blog-row .date,.blog-row .tag{font-size:12px}
.post-row .sub{font-size:15px}
.text-link{color:var(--green);font:500 15px/1.5 'Inter',sans-serif;text-decoration:none;display:inline-flex;align-items:center;gap:10px;min-height:44px}
.text-link:hover{text-decoration:underline;text-underline-offset:5px}
.section-link{margin-top:24px}
.section-intro{max-width:66ch;color:var(--soft);font-size:17px;line-height:1.7;margin:18px 0 32px}
[data-reveal]{opacity:1;transform:none}
.site-reveal-pending{opacity:0;transform:translateY(14px)}
[data-reveal].in{opacity:1;transform:none}
.library-nav{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:32px}
.library-nav a{padding:12px 0;color:var(--soft);text-decoration:none;font-size:16px;min-height:48px}
.library-nav a[aria-current]{border-bottom:2px solid var(--green);color:var(--green)}
/* Homepage: shorter service-led journey, retaining the technical hero. */
.home-page .hero{min-height:auto;padding-bottom:0}
.home-page .hero h1{font-size:clamp(40px,7.1vw,100px);max-width:24ch}
.home-page .hero-sub{display:block;max-width:72ch;margin-top:18px}
.home-page .hero-sub p{font-size:17px;line-height:1.75;max-width:65ch}
.home-page .hero-ctas{margin-top:26px;justify-content:flex-start}
.hero-bottom{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:56px;padding-block:16px;color:var(--dim)}
.motion-toggle{color:var(--soft);background:none;border:1px solid var(--line-2);font:450 12px 'JetBrains Mono',monospace;min-height:44px;padding:8px 13px;cursor:pointer}
.motion-toggle:hover{color:var(--green);border-color:var(--green)}
.hero-motion-paused .caret{animation-play-state:paused}
.home-page .sec-head{margin-bottom:28px}
.home-page .services h2{font-size:clamp(32px,4.2vw,58px);max-width:22ch;margin-bottom:18px}
.service-list{border-top:1px solid var(--line-2)}
.service-row{display:grid;grid-template-columns:54px 1.1fr 1fr;gap:24px 32px;padding:28px 0;border-bottom:1px solid var(--line);align-items:start}
.service-number{color:var(--green);padding-top:5px}
.service-row h3{font:500 clamp(21px,2vw,27px)/1.3 'Space Grotesk',sans-serif;letter-spacing:-.02em;margin:0 0 12px}
.service-row p{font-size:16px;color:var(--soft);line-height:1.7;max-width:52ch}
.service-result{padding-left:28px;border-left:1px solid var(--line)}
.service-result .mono{display:block;color:var(--dim);margin-bottom:8px}
.service-result .text-link{margin-top:10px}
.home-page .usecases{background:var(--bg-2)}
.home-page .uc{min-height:245px}
.home-page .uc p{font-size:16px;line-height:1.65}
.home-page .uc .ex{font-size:14px}
.home-page .uc .ex b{font-size:12px}
.home-page .usecases .lede{margin-bottom:32px}
.home-page .approach h2{max-width:25ch;font-size:clamp(32px,4.2vw,58px);margin-bottom:36px}
.approach-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.approach-steps article{border-top:1px solid var(--line-2);padding-top:22px}
.approach-steps .mono{color:var(--green)}
.approach-steps h3{font:500 25px/1.3 'Space Grotesk',sans-serif;margin:16px 0 12px;letter-spacing:-.02em}
.approach-steps p{font-size:16px;color:var(--soft);line-height:1.75}
.sprint-strip{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:40px;border:1px solid var(--line-2);background:var(--bg-2);padding:28px 32px}
.sprint-strip .mono{color:var(--green)}
.sprint-strip h3{font:500 24px/1.3 'Space Grotesk',sans-serif;margin:12px 0}
.sprint-strip p{max-width:61ch;font-size:16px;color:var(--soft)}
.sprint-strip .btn{flex-shrink:0}
.home-page .about{padding-block:64px}
.about-body h2{font-size:clamp(30px,3vw,44px);margin-bottom:20px}
.home-page .about-body p{font-size:17px;line-height:1.8}
.fact .k,.facts-head{font-size:12px}
.home-page .blog .lede{margin-bottom:32px}
.selected-video{margin-top:40px;border-top:1px solid var(--line);padding-top:24px}
.selected-video-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:20px}
.selected-video-head>.mono{color:var(--dim)}
.selected-video>.video-card{max-width:1040px;min-height:0;grid-template-columns:minmax(260px,.8fr) 1.2fr;border:1px solid var(--line)}
.selected-video .video-thumb{min-height:240px}
.video-copy p{font-size:16px}
.video-copy .mono{font-size:12px}
.video-meta{font-size:12px}
.video-library{padding:calc(var(--nav-h) + 64px) 0 80px}
.video-library h1{font-size:clamp(40px,6vw,76px);max-width:18ch;margin-top:22px}
.video-library .video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.video-library .video-card{grid-template-columns:1fr;min-height:0}
.video-library .video-thumb{aspect-ratio:16/9;min-height:0}
.home-page .contact{padding-top:72px;padding-bottom:64px}
.home-page .contact h2{font-size:clamp(38px,5.2vw,72px);max-width:21ch;margin-bottom:28px}
.home-page .contact .lede{font-size:17px;max-width:67ch;margin-bottom:28px}
.contact-email{color:var(--soft);font-size:16px;text-underline-offset:5px;overflow-wrap:anywhere}
.home-page .watermark{margin-top:60px}
.op-body .op-label,.op-body .op-example,.op-body .op-eyebrow,.op-body .op-byline,.op-body .op-workflow-foot{font-size:12px}
.op-body .op-card p,.op-body .op-guardrails p{font-size:16px}
.ww-kicker,.ww-page .ww-kicker{font-size:12px}
@media(max-width:1080px){
 .site-header{height:auto;min-height:var(--nav-h)}
 .site-nav-inner{gap:14px}
 .site-header .theme-toggle{margin-left:auto}
 .site-contact{display:none}
 .site-nav-links{display:none}
 .site-menu-toggle{display:flex}
 /* With no JavaScript, the primary navigation stays available. */
 html:not(.site-js) .site-nav-inner{flex-wrap:wrap;height:auto;min-height:var(--nav-h);padding-block:14px}
 html:not(.site-js) .site-nav-links{display:flex;flex-wrap:wrap;order:3;width:100%;margin:0}
 html:not(.site-js) .site-header{position:relative}
}
@media(max-width:900px){
 .site-footer-inner{grid-template-columns:1fr 1.3fr}
 .site-footer-contact{grid-column:1/-1;flex-direction:row;gap:24px;flex-wrap:wrap;align-items:center}
 .site-footer-contact span{margin:0 0 0 auto}
 .approach-steps{gap:24px}
 .sprint-strip{align-items:flex-start;flex-direction:column}
}
@media(max-width:760px){
 :root{--nav-h:68px}
 .site-nav-inner{padding-inline:20px;gap:10px}
 .site-brand{font-size:15px;gap:7px}
 .site-brand svg{width:21px}
 .site-header .theme-toggle{width:40px;min-width:40px}
 .site-menu-toggle{padding-inline:10px}
 .home-page .hero{padding-top:calc(var(--nav-h) + 46px)}
 .home-page .hero h1{font-size:clamp(36px,9.6vw,62px);max-width:24ch}
 .home-page .hero-positioning{font-size:23px;line-height:1.4;max-width:27ch;margin-top:26px}
 .home-page .hero-sub p{font-size:16px}
 .home-page .hero-meta{font-size:11px;gap:10px}
 .hero-bottom{margin-top:36px;gap:14px}
 .hero-bottom>.mono{font-size:11px;max-width:23ch}
 .hero-bottom .motion-toggle{font-size:11px;white-space:nowrap}
 .home-page .services,.home-page .usecases,.home-page .approach,.home-page .blog{padding-block:48px}
 .home-page .sec-head .tick{display:none}
 .service-row{grid-template-columns:1fr;gap:12px;padding-block:25px}
 .service-result{border-left:0;padding-left:0}
 .service-result p{font-size:15px}
 .service-row h3{font-size:23px}
 .service-number{font-size:12px}
 .approach-steps{grid-template-columns:1fr;gap:24px}
 .approach-steps h3{font-size:24px}
 .sprint-strip{padding:24px;margin-top:30px}
 .home-page .about{padding-block:48px}
 .selected-video>.video-card{grid-template-columns:1fr}
 .selected-video .video-thumb{min-height:0;aspect-ratio:16/9}
 .video-library .video-grid{grid-template-columns:1fr}
 .selected-video-head{align-items:flex-start;flex-direction:column;gap:2px}
 .video-copy{padding:24px}
 .site-footer-inner{grid-template-columns:1fr;gap:26px}
 .site-footer-contact{grid-column:auto;gap:8px;flex-direction:column;align-items:flex-start}
 .site-footer-contact span{margin:12px 0 0}
 .site-footer nav{gap:4px 24px}
 .site-footer a{min-height:44px;display:flex;align-items:center}
 .home-page .contact .prompt{font-size:13px}
 .home-page .watermark{margin-top:40px}
}
@media(max-width:380px){.site-brand{font-size:14px}.site-nav-inner{padding-inline:16px;gap:6px}.site-menu-toggle{gap:6px;padding-inline:8px}.site-mobile-services{grid-template-columns:1fr 1fr}.home-page .hero h1{font-size:8.9vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.site-reveal-pending{opacity:1;transform:none}.caret{animation:none!important}.hero h1 .line>span{animation:none;transform:none;opacity:1}*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* One-level menus shared by all pages, including the existing Insights views. */
.site-submenu{width:310px;max-width:calc(100vw - 40px);padding:8px}
.site-submenu a{white-space:normal;line-height:1.4}
.site-submenu a>span{display:block;color:var(--txt)}
.site-submenu a small{display:block;font:400 12px/1.5 'Inter',sans-serif;color:var(--soft);margin-top:4px}
.site-submenu a:hover>span,.site-submenu a[aria-current]>span,.site-dropdown.is-current summary{color:var(--green)}
.site-nav-links>.site-dropdown:last-of-type .site-submenu{left:auto;right:-18px;width:280px}
.site-dropdown summary>span,.site-mobile-group summary>span{transition:transform .15s ease}
.site-dropdown[open] summary>span,.site-mobile-group[open] summary>span{transform:rotate(180deg)}
.site-mobile-group{border-bottom:1px solid var(--line)}
.site-mobile-group summary{list-style:none;display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:12px 0;cursor:pointer;color:var(--txt);font:500 21px 'Space Grotesk',sans-serif}
.site-mobile-group summary::-webkit-details-marker{display:none}
.site-mobile-group .site-submenu{position:static;width:auto;max-width:none;padding:0 0 12px;border:0;box-shadow:none;background:transparent}
.site-mobile-group .site-submenu a{min-height:48px;padding:10px 12px}
.site-mobile-group[open] summary,.site-mobile-group.is-current summary{color:var(--green)}
@media(min-width:1081px){.site-nav-links{gap:clamp(15px,1.7vw,26px)}}
