/* Performance, accessibility, and interaction polish */
.skip-link{position:fixed;z-index:100;top:12px;left:12px;padding:11px 16px;background:#fff;color:var(--ink);font-weight:700;transform:translateY(-150%);transition:transform .2s;box-shadow:0 8px 30px rgba(0,0,0,.18)}
.skip-link:focus{transform:none}
.site-header{position:sticky;top:0;transition:height .3s,box-shadow .3s,background-color .3s;backdrop-filter:blur(14px);background:rgba(251,250,246,.94)}
.site-header.scrolled{height:70px;box-shadow:0 10px 35px rgba(23,38,31,.08)}
.hero-visual>picture{display:block;width:100%;height:100%}
.hero-visual>picture img{display:block;width:100%;height:100%;object-fit:cover}
.button span,.suite-list i,.explore span{transition:transform .25s}
.button:hover span,.suite-list a:hover i,.explore:hover span{transform:translate(3px,-3px)}
.feature{transition:background-color .3s}
.feature:hover{background:#f7f4ec}
.feature:hover .feature-icon{background:var(--orange);border-color:var(--orange);color:#fff;transform:rotate(-5deg)}
.feature-icon{transition:background-color .25s,border-color .25s,color .25s,transform .25s}
a:focus-visible,button:focus-visible{outline:3px solid #e37a59;outline-offset:4px}
.suite-tabs button{min-height:44px}
.suite-tabs button:focus-visible{outline-color:#fff}
.partner-slider{position:relative;flex:1;min-width:0;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.partner-track{display:flex;width:max-content;animation:partner-scroll 18s linear infinite;will-change:transform}
.partner-set{display:flex;align-items:center;justify-content:space-around;flex-shrink:0;width:clamp(600px,66vw,980px);padding:0 45px;color:#787c75}
.partner-set b{font-family:var(--serif);font-size:17px;letter-spacing:1.5px;white-space:nowrap}
.partner-set b:nth-child(2){font-family:var(--sans);font-size:14px;letter-spacing:2px}
.partner-set em{font-size:24px;font-weight:600;text-transform:lowercase}
.partner-slider:hover .partner-track{animation-play-state:paused}
@keyframes partner-scroll{to{transform:translateX(-50%)}}

@media(max-width:900px){
  body.menu-visible{overflow:hidden}
  .site-header.menu-open .desktop-nav{height:calc(100vh - 70px);justify-content:center;align-items:center;font:600 24px var(--serif);box-shadow:0 16px 35px rgba(23,38,31,.12)}
  .menu-toggle span{transition:transform .25s,opacity .25s}
  .site-header.menu-open .menu-toggle span:first-child{transform:translateY(3.5px) rotate(45deg)}
  .site-header.menu-open .menu-toggle span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
}

@media(max-width:600px){
  h1{font-size:clamp(41px,12vw,50px);letter-spacing:-2px}
  .hero-copy{padding-left:24px;padding-right:24px}
  .hero-visual{min-height:500px}
  .hero-visual>picture img{object-position:60% center}
  .floating-card{backdrop-filter:none}
  .logo-strip{overflow:hidden}
  .partner-slider{width:calc(100vw - 48px);flex:none}
  .partner-set{width:520px;padding:0 28px}
  .suite-list a{grid-template-columns:28px 1fr 20px}
  .cta-orbit.one{width:430px;height:430px}.cta-orbit.two{width:610px;height:610px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
  .partner-track{animation-play-state:paused}
}
