/* A shared layer of navigation and motion refinement across the five pages. */
.header{position:fixed;transition:height .35s var(--ease),background .35s,border-color .35s,transform .4s var(--ease),box-shadow .35s;transform:translateY(0)}
.header.is-compact{height:70px;top:12px;padding:0 22px;border:1px solid #ffffff24;border-radius:6px;background:#101010ed;backdrop-filter:blur(18px);box-shadow:0 12px 40px #0003}
.header.is-away:not(:focus-within){transform:translateY(calc(-100% - 20px));pointer-events:none}
.header.is-compact .brand img{width:96px}
.header.is-compact .contact-link{padding:12px 17px}
.reading-line{position:fixed;inset:0 auto auto 0;width:100%;height:2px;background:#d5d5d5;transform:scaleX(var(--read-progress,0));transform-origin:left;z-index:25;pointer-events:none;opacity:.75}
html{scroll-padding-top:105px}
.footer-return{display:inline-flex;align-items:center;gap:14px;justify-self:start;width:fit-content;margin-top:28px;font-size:10px;color:#bfbfbf;padding:10px 0;border-bottom:1px solid #555}
.footer-return svg{width:16px;height:16px;transform:rotate(-45deg);transition:transform .35s var(--ease)}
.footer-return:hover{color:#fff}.footer-return:hover svg{transform:rotate(-45deg) translate(3px,-3px)}
.polish-block{opacity:1;transform:none;transition:opacity .7s var(--ease),transform .85s var(--ease);transition-delay:var(--entrance-delay,0ms)}
.polish-block.is-waiting{opacity:0;transform:translateY(24px)}
.light-card{position:relative;isolation:isolate}
.light-card:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(280px circle at var(--light-x,50%) var(--light-y,50%),#ffffff0d,transparent 75%);opacity:0;transition:opacity .4s;pointer-events:none}
.light-card:hover:before{opacity:1}
.related-solution{transition:background .35s,border-color .35s}.related-solution .related-arrow{transition:transform .4s var(--ease)}
.related-solution:hover .related-arrow{transform:translate(5px,-5px)}
.stage-link>span,.round-link .circle,.contact-arrow{transition:background .35s,transform .4s var(--ease),color .35s}
.stage-link:hover>span,.round-link:hover .circle{background:#eee;color:#111;transform:rotate(7deg)}
.contact-title:hover .contact-arrow{background:#eee;color:#111;transform:rotate(7deg)}
.desktop-nav .solutions-dropdown a{transition:padding-left .25s,color .25s}.desktop-nav .solutions-dropdown a:hover{padding-left:5px}
.service-faq-item[open]>summary>span{transform:rotate(45deg)}.service-faq-item summary>span{transition:transform .25s}
@media(hover:none),(pointer:coarse){.light-card:before{display:none}}
@media(max-width:1050px) and (min-width:761px){.header.is-compact{padding-inline:16px;gap:16px}.header.is-compact .desktop-nav{gap:18px}.header.is-compact .brand img{width:90px}.header.is-compact .contact-link{font-size:10px;padding:10px 13px}}
@media(max-width:760px){
 .header.is-compact{top:8px;height:62px;padding:0 12px;margin-inline:12px;border-radius:5px;gap:10px}
 .header.is-compact .brand img{width:82px}.header.is-compact .contact-link{font-size:10px;padding:10px 12px}.header.is-compact .header-actions{gap:10px}
 .header .mobile-menu{position:fixed;inset:82px 0 0;margin-inline:calc(-1 * var(--gutter));height:calc(100dvh - 82px);max-height:none;padding:20px var(--gutter) 40px;box-shadow:none;overscroll-behavior:contain;background:radial-gradient(ellipse at 90% 25%,#252525,#101010 65%)}
 .header .mobile-menu a{font-size:clamp(21px,5.7vw,32px);padding:19px 0;align-items:center;gap:18px;line-height:1.2;letter-spacing:-.045em;min-height:62px}
 .header .mobile-menu a:before{content:attr(data-menu-index);font-family:JetBrains,monospace;font-size:8px;color:#999;letter-spacing:0;min-width:17px}
 .header .mobile-menu a:after{content:'↗';font-size:19px;margin-left:auto;color:#aaa}.header .mobile-menu a>svg{display:none}
 .header .mobile-menu a[aria-current=page]{color:#fff}.header .mobile-menu a[aria-current=page]:after{content:'●';font-size:7px}
 .header.is-compact .mobile-menu{inset:69px -1px auto;margin-inline:-12px;height:calc(100dvh - 77px);padding-inline:24px}
 body.menu-open .header{background:#101010;backdrop-filter:none}
 .mobile-menu:not([hidden]){animation:menu-enter .3s var(--ease) both}
 html{scroll-padding-top:90px}
}
@keyframes menu-enter{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media(max-width:380px){.header.is-compact .contact-link{font-size:9px;padding:9px 10px}.header.is-compact .brand img{width:76px}.header.is-compact .header-actions{gap:6px}}
@media(prefers-reduced-motion:reduce){.header,.polish-block,.light-card:before,.related-solution,.related-arrow,.contact-arrow,.stage-link>span,.round-link .circle,.footer-return svg,.desktop-nav .solutions-dropdown a,.service-faq-item summary>span{transition:none!important}.polish-block.is-waiting{opacity:1;transform:none}.mobile-menu:not([hidden]){animation:none}}
.motion-paused .polish-block{opacity:1;transform:none;transition:none}.motion-paused .light-card:before{display:none}
@media(forced-colors:active){.header.is-compact,.header .mobile-menu{background:Canvas;color:CanvasText;border-color:CanvasText}.reading-line{background:Highlight}.light-card:before{display:none}}
.menu-open .home-motion-toggle{visibility:hidden;pointer-events:none}

/* Comfortable touch targets without changing the desktop composition. */
@media(max-width:760px){
 .brand{display:flex;align-items:center;min-height:44px}
 .menu-button{min-height:44px}
 .scene-tools button,.chapter-tab{min-height:44px}
 .footer-top nav{gap:4px}
 .footer-top nav a,.footer-bottom>a{display:flex;align-items:center;min-height:44px;font-size:12px}
 .breadcrumbs a,.service-topline>a{display:inline-flex;align-items:center;min-height:44px}
}
