/* Typography and motion refinement — 23 October 2026. */
:root{--pf-accent:#3C34F1;--navbar-height-desktop:84px;--navbar-height-mobile:72px;--pf-nav-height:84px}
.motion-enhanced .animate-on-scroll{transition:none}
.navbar{padding:0;min-height:84px;display:flex;align-items:center;background:#0b0b0b}
.nav-container{width:100%}
.nav-links{gap:32px;align-items:center}
.nav-links li{margin:0}
.nav-links a{font-weight:400;font-size:13px;line-height:1.6;color:#c9c9ce;letter-spacing:.01em;position:relative;display:inline-flex;padding:8px 0;transition:color .2s}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--pf-accent);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.nav-links a:hover,.nav-links a:focus-visible{color:#fff}
.nav-links a:hover::after,.nav-links a:focus-visible::after{transform:scaleX(1)}
.menu-toggle span{height:2px;width:23px;margin-bottom:5px;border-radius:1px}

/* A quiet typographic backdrop, with all motion confined to the artwork. */
.main-container.hero-refined{height:clamp(680px,calc(100svh - 84px),960px);min-height:0;padding:0;overflow:clip;background:radial-gradient(ellipse 65% 52% at 50% 0%,#3c34f112,transparent 80%),#030303;--hero-spread:min(1px,calc(100vw / 1450))}
.hero-heading{position:absolute;inset:clamp(38px,6vh,72px) 24px auto;z-index:2;text-align:center;pointer-events:none}
.hero-eyebrow{font-size:10px;font-weight:400;letter-spacing:.19em;line-height:1.6;color:#8b8b96;margin:0 0 15px}
.hero-role{font-size:clamp(58px,7.2vw,104px);font-weight:400;line-height:1.08;letter-spacing:-.06em;margin:0;color:#f2f2f4;white-space:nowrap}
.hero-role span{color:#8d8d98}
.hero-refined .card-container{inset:0;height:100%;padding:140px 0 0;perspective:none;overflow:visible}
.hero-refined .card{width:clamp(250px,22.3vw,320px);height:auto;aspect-ratio:4/5;background:transparent;border:0;border-radius:12px;box-shadow:none;overflow:hidden;isolation:isolate;backface-visibility:hidden;will-change:transform,opacity;cursor:zoom-in}
.hero-refined .card img{display:block;width:100%;height:100%;aspect-ratio:4/5;object-fit:cover;border:0;border-radius:0;transform:scale(1.006);backface-visibility:hidden;pointer-events:none}
.hero-refined .card:focus-visible{outline:2px solid var(--pf-accent);outline-offset:5px}
.hero-refined .card:nth-child(1){transform:translate(calc(-610 * var(--hero-spread)),calc(300 * var(--hero-spread))) rotate(-52deg)}
.hero-refined .card:nth-child(2){transform:translate(calc(-355 * var(--hero-spread)),calc(92 * var(--hero-spread))) rotate(-28deg)}
.hero-refined .card:nth-child(3){transform:translate(0,0)}
.hero-refined .card:nth-child(4){transform:translate(calc(355 * var(--hero-spread)),calc(92 * var(--hero-spread))) rotate(28deg)}
.hero-refined .card:nth-child(5){transform:translate(calc(610 * var(--hero-spread)),calc(300 * var(--hero-spread))) rotate(52deg)}
.hero-refined .motion-toggle{right:24px;bottom:20px;padding:9px 14px;font-size:10px;font-weight:400;color:#a1a1ab;background:#09090ad9;border-color:#ffffff20}
.hero-refined .motion-toggle:hover{color:#fff;border-color:#ffffff50}

.minimal-stat-progress-fill{background-color:var(--pf-accent)}
.pf-close-button:hover{background:var(--pf-accent);border-color:var(--pf-accent);color:#fff}
.pf-section-heading{width:100%;text-align:left;margin:0 0 36px}
.pf-section-heading .pf-kicker{margin-bottom:13px;font-size:10px}
.pf-section-title,.pf-rail .pf-title{font-size:48px;font-weight:400;line-height:1.2;letter-spacing:-1.5px;text-transform:none;color:#f1f1f1;margin:0}
.modern-seasons-section .container{width:100%}
.modern-seasons-section .season-logos-grid{padding-top:0}
.services-section .pf-section-heading{margin-bottom:0}
.services-section .service-grid{margin-top:36px}
.contact-section .contact-header{max-width:1200px;padding:0 20px;margin:0 auto 36px}
.contact-section .pf-section-title,.pf-rail .pf-title{font-size:48px}

@media(max-width:1024px){
 .hero-refined .card-container{padding-top:100px}
 .pf-section-title,.contact-section .pf-section-title,.pf-rail .pf-title{font-size:42px}
 .contact-section .contact-header{padding:0 15px}
}
@media(max-width:768px){
 .navbar{min-height:72px}
 .navbar .logo-img{height:28px}
 .nav-container{padding:0 24px}
 .nav-links{top:100%;height:auto;max-height:calc(100svh - 72px);overflow-y:auto;gap:0;align-items:stretch;padding:14px 24px 22px;border:0;border-bottom:1px solid #ffffff20;background:#0b0b0b}
 .nav-links li{margin:0}
 .nav-links a{font-size:14px;font-weight:400;min-height:44px;padding:12px 0;display:block}
 .nav-links a::after{right:auto;width:24px}
 .main-container.hero-refined{height:clamp(590px,calc(100svh - 72px),780px);min-height:0}
 .hero-heading{top:38px;inset-inline:20px}
 .hero-eyebrow{font-size:9px;letter-spacing:.15em;margin-bottom:14px}
 .hero-role{font-size:clamp(44px,9vw,68px);line-height:1.08;letter-spacing:-.05em}
 .hero-role span{display:block}
 .hero-refined .card-container{padding-top:135px;min-height:0}
 .hero-refined .card{width:clamp(220px,61vw,290px);border-radius:10px}
 .hero-refined .motion-toggle{right:18px;bottom:16px}
 .pf-section-title,.contact-section .pf-section-title,.pf-rail .pf-title{font-size:34px;letter-spacing:-.9px}
 .pf-section-heading{margin-bottom:28px}
 .pf-section-heading .pf-kicker{font-size:9px;margin-bottom:12px}
 .contact-section .contact-header{padding:0;max-width:500px;margin-bottom:28px}
 .services-section .service-grid{margin-top:28px}
}
@media(prefers-reduced-motion:reduce){.hero-refined .card{will-change:auto}.nav-links a::after{transition:none}}
