/* Calm editorial movement. Content remains visible when JavaScript is absent. */
:root{--motion-ease:cubic-bezier(.16,1,.3,1);--motion-gentle:cubic-bezier(.22,.61,.36,1)}
html{scroll-behavior:smooth;scroll-padding-top:110px}
.header-sentinel{position:absolute;top:0;left:0;width:1px;height:1px;pointer-events:none}
.site-header{transition:box-shadow .65s var(--motion-ease),background-color .45s ease,border-color .45s ease}
.site-header.has-depth{box-shadow:0 7px 30px #071a2f10}
[data-theme="dark"] .site-header.has-depth{box-shadow:0 7px 30px #00000024}
.motion-ready body,.motion-ready .page-hero,.motion-ready .service-hero,.motion-ready .division-strip,
.motion-ready .about-band,.motion-ready .values-section,.motion-ready .capabilities-section,
.motion-ready .cta-section,.motion-ready .site-footer,.motion-ready .inquiry-panel{
  transition:background-color .48s ease,color .4s ease,border-color .4s ease
}
.button{position:relative;isolation:isolate;overflow:hidden;transition:background-color .45s ease,color .45s ease,border-color .45s ease,transform .65s var(--motion-ease),box-shadow .65s var(--motion-ease)}
.button::before{content:"";position:absolute;inset:-1px;z-index:-1;background:linear-gradient(110deg,transparent 20%,#ffffff20 50%,transparent 80%);transform:translateX(-115%);transition:transform .95s var(--motion-gentle);pointer-events:none}
.arrow-icon{transition:transform .6s var(--motion-ease)}
.text-link{transition:color .4s ease,border-color .4s ease}
.theme-toggle svg{transition:transform .65s var(--motion-ease)}
.service-card,.pathway-card,.capability-card{transition:transform .75s var(--motion-ease),border-color .55s ease,box-shadow .75s var(--motion-ease),background-color .45s ease}
.photo-crop>.sector-image,.service-story-frame img{transition:transform 1.2s var(--motion-ease)}
.main-nav>a::after,.service-nav>a::after{transition:width .55s var(--motion-ease),opacity .4s ease}

.service-editorial{border-top:1px solid var(--line)}
.service-editorial .section-heading{align-items:flex-end;margin-bottom:46px}
.service-editorial .section-heading h2{max-width:610px}
.service-editorial .section-heading>p{max-width:355px}
.service-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px}
.service-story{margin:0;min-width:0}
.service-story-frame{overflow:hidden;background:var(--soft);aspect-ratio:1.6}
.service-story-frame img{display:block;width:100%;height:100%;object-fit:cover}
.service-story figcaption{padding-top:24px;max-width:520px}
.service-story figcaption h3{font-size:25px;line-height:1.25;font-weight:400;margin:0 0 12px}
.service-story figcaption p{font-size:14px;line-height:1.85;color:var(--muted);margin:0}
.service-conversation{display:flex;justify-content:space-between;align-items:center;gap:40px;margin-top:64px;padding-top:40px;border-top:1px solid var(--line)}
.service-conversation h2{font-size:clamp(28px,2.8vw,37px);margin:0 0 12px}
.service-conversation p{font-size:14px;line-height:1.8;color:var(--muted);margin:0}
.service-conversation .text-link{flex-shrink:0}

@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .button:hover{transform:translateY(-2px);box-shadow:0 8px 20px #071a2f0c}
  .button:hover::before{transform:translateX(115%)}
  .button:hover .arrow-icon,.text-link:hover .arrow-icon,.next-service a:hover .arrow-icon,.footer-invitation>a:hover .arrow-icon{transform:translate3d(3px,-3px,0)}
  .button:active{transform:translateY(0)}
  .theme-toggle:hover svg{transform:rotate(12deg)}
  .service-card:hover,.pathway-card:hover,.capability-card:hover{transform:translateY(-4px);border-color:var(--gold);box-shadow:0 14px 35px #071a2f08}
  .service-card:hover .sector-image,.service-story:hover img{transform:scale(1.035)}
}
@media(prefers-reduced-motion:no-preference){
  .service-menu:not([hidden]){animation:luxury-menu-in .36s var(--motion-ease) both}
  @view-transition{navigation:auto}
  ::view-transition-old(root){animation:luxury-page-out .2s ease-out both}
  ::view-transition-new(root){animation:luxury-page-in .55s var(--motion-ease) both}
  .site-header{view-transition-name:site-header}
  ::view-transition-group(site-header){animation-duration:.45s;animation-timing-function:var(--motion-ease)}
}
@keyframes luxury-menu-in{from{opacity:0;transform:translate3d(0,8px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes luxury-page-out{to{opacity:0}}
@keyframes luxury-page-in{from{opacity:0;transform:translate3d(0,8px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@media(max-width:1050px) and (prefers-reduced-motion:no-preference){.main-nav.is-open{animation:luxury-menu-in .4s var(--motion-ease) both}}
@media(max-width:760px){
  html{scroll-padding-top:90px}
  .service-story-grid{grid-template-columns:1fr;gap:38px}
  .service-editorial .section-heading{margin-bottom:30px}
  .service-editorial .section-heading>p{max-width:100%}
  .service-story figcaption{padding-top:20px;max-width:100%}
  .service-story figcaption h3{font-size:25px;margin-bottom:10px}
  .service-story figcaption p{font-size:13px}
  .service-conversation{display:block;margin-top:42px;padding-top:30px}
  .service-conversation .text-link{margin-top:24px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  @view-transition{navigation:none}
  ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}
}
