/* Final refinements: lighter content density and simplified navigation. */
.site-header nav{display:flex;gap:clamp(1rem,2.2vw,2.4rem)}
.site-header nav a{font-size:.67rem}
.site-header .nav-contact{grid-row:auto;grid-column:auto;border-radius:999px;padding:.7rem 1.15rem}
.hero-bottom{grid-template-columns:minmax(240px,.8fr) minmax(420px,1.2fr)}
.hero-actions{justify-content:flex-end}
.services-disclosure{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.services-disclosure>summary{list-style:none;cursor:pointer;padding:1.4rem 0;display:flex;align-items:center;justify-content:space-between;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}
.services-disclosure>summary::-webkit-details-marker{display:none}
.services-disclosure>summary span{font-size:1.4rem;font-weight:400;transition:transform .2s ease}
.services-disclosure[open]>summary span{transform:rotate(45deg)}
.services-disclosure .service-accordion{border-top:1px solid var(--line)}
@media(max-width:1100px){
  .site-header nav{display:none;position:absolute;top:84px;left:0;right:0;background:var(--blue);padding:1.2rem clamp(1rem,2.2vw,2.5rem) 1.8rem;flex-direction:column;gap:0;border-top:1px solid var(--line-light)}
  .site-header nav.open{display:flex}
  .site-header nav a{font-size:1rem;padding:1rem 0;border-bottom:1px solid var(--line-light)}
  .site-header .nav-contact{border:0;border-bottom:1px solid var(--line-light);border-radius:0;padding:1rem 0;color:var(--ice)}
  .hero-bottom{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  .site-header nav{top:72px}
  .hero-bottom{grid-template-columns:1fr}
  .hero-actions{justify-content:flex-start}
}

/* Motion language inspired by the reference: editorial, structural and scroll-led. */
.scroll-progress{position:fixed;left:0;right:0;top:0;height:3px;z-index:40;pointer-events:none}
.scroll-progress span{display:block;width:100%;height:100%;background:var(--ice);transform:scaleX(0);transform-origin:left center;will-change:transform}
.site-header{transition:top .35s ease,left .35s ease,right .35s ease,height .35s ease,background .35s ease,box-shadow .35s ease}
.site-header.scrolled{position:fixed;top:12px;left:12px;right:12px;height:68px;background:rgba(8,106,168,.9);backdrop-filter:blur(15px);box-shadow:0 12px 40px rgba(3,46,80,.2)}
.hero{background-position:center calc(50% + var(--hero-y,0px));will-change:background-position}
.hero h1{will-change:transform}
.hero-line{display:block;overflow:hidden;padding-bottom:.07em;margin-bottom:-.07em}
.hero h1 .hero-line{color:#fff;margin-left:0}
.hero h1 .hero-line>span{display:block;color:inherit;margin-left:0;transform:translateY(112%);animation:line-rise .9s cubic-bezier(.2,.75,.2,1) forwards}
.hero h1 .hero-line:nth-child(2)>span{animation-delay:.12s;color:var(--ice);margin-left:6vw}
.hero-line:nth-child(3)>span{animation-delay:.24s}
.hero-topline{animation:soft-in .8s .5s both}
.hero-bottom{animation:soft-in .8s .65s both}
.reveal{clip-path:inset(0 0 12% 0);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.75,.2,1),clip-path .9s cubic-bezier(.2,.75,.2,1)}
.reveal.visible{clip-path:inset(0 0 0 0)}
.button,.expertise-list article>a{transform:translate(var(--mx,0),var(--my,0));transition:transform .18s ease,background .2s ease}
.considerations.is-moving{animation:ribbon 28s linear infinite;will-change:transform}
.service-body{animation:detail-in .42s cubic-bezier(.2,.75,.2,1) both;transform-origin:top}
.service-accordion summary i{transition:transform .3s ease,background .3s ease,color .3s ease}
.client-grid p,.why-grid article{transition:background .3s ease,color .3s ease,transform .3s ease}
.client-grid p:hover{background:var(--blue);color:#fff;transform:translateY(-4px)}
.why-grid article:hover{background:rgba(120,149,199,.16);transform:translateY(-4px)}
@keyframes line-rise{to{transform:translateY(0)}}
@keyframes soft-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes detail-in{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
@keyframes ribbon{from{transform:rotate(-1.2deg) translateX(0)}to{transform:rotate(-1.2deg) translateX(-50%)}}
@media(max-width:720px){.site-header.scrolled{top:8px;left:8px;right:8px;height:62px}.site-header.scrolled nav{top:62px}.hero-line:nth-child(2)>span{margin-left:0}}
@media(prefers-reduced-motion:reduce){.hero-line>span{animation:none;transform:none}.hero-topline,.hero-bottom,.considerations.is-moving,.service-body{animation:none}.site-header,.button,.expertise-list article>a{transition:none}.hero h1{transform:none!important}}
