*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body,h1,h2,h3,h4,h5,h6,p,ul,ol,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
img,svg,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
input,textarea,select{font:inherit;color:inherit}

:root{
    --black:          #000;
  --black-1:        #050505;
  --black-2:        #0a0a0a;
  --black-3:        #111;
  --black-4:        #161616;
  --line:           rgba(255,255,255,.08);
  --line-strong:    rgba(255,255,255,.16);
  --white:          #fff;
  --white-95:       rgba(255,255,255,.95);
  --white-80:       rgba(255,255,255,.80);
  --white-65:       rgba(255,255,255,.65);
  --white-50:       rgba(255,255,255,.50);
  --white-35:       rgba(255,255,255,.35);
  --white-20:       rgba(255,255,255,.20);
  --white-12:       rgba(255,255,255,.12);
  --white-8:        rgba(255,255,255,.08);
  --white-5:        rgba(255,255,255,.05);
  --white-3:        rgba(255,255,255,.03);

  --bg:             var(--black);
  --fg:             var(--white-95);
  --fg-dim:         var(--white-65);
  --fg-mute:        var(--white-35);

    --glass-bg:       rgba(255,255,255,.035);
  --glass-bg-h:     rgba(255,255,255,.06);
  --glass-br:       rgba(255,255,255,.10);
  --glass-br-h:     rgba(255,255,255,.22);
  --glass-blur:     18px;

    --ff-display:     'Manrope', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --ff-body:        'Manrope', 'Helvetica Neue', Helvetica, Arial, system-ui, sans-serif;
  --ff-ui:          'Manrope', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --ff-mono:        ui-monospace, 'SF Mono', 'Menlo', monospace;

    --fz-12:   12px;
  --fz-13:   13px;
  --fz-14:   14px;
  --fz-15:   15px;
  --fz-16:   16px;
  --fz-18:   clamp(16px,1vw + 12px,18px);
  --fz-20:   clamp(18px,1.2vw + 14px,22px);
  --fz-28:   clamp(22px,1.8vw + 14px,30px);
  --fz-40:   clamp(30px,3vw + 16px,46px);
  --fz-60:   clamp(40px,5vw + 12px,72px);
  --fz-84:   clamp(52px,7vw + 10px,104px);
  --fz-120:  clamp(64px,10vw,148px);

    --sp-1:    4px;
  --sp-2:    8px;
  --sp-3:    12px;
  --sp-4:    16px;
  --sp-5:    20px;
  --sp-6:    24px;
  --sp-7:    28px;
  --sp-8:    32px;
  --sp-9:    36px;
  --sp-10:   40px;
  --sp-12:   48px;
  --sp-16:   64px;
  --sp-20:   80px;
  --sp-24:   96px;
  --sp-32:   128px;

    --container:  1520px;
  --container-w: 1680px;
  --container-narrow: 1100px;
  --gutter:     28px;

    --r-xs: 6px;
  --r-sm: 10px;
  --r-md: 16px;
  --r-lg: 22px;
  --r-xl: 28px;
  --r-2xl: 40px;

    --sh-glow: 0 0 0 1px rgba(255,255,255,.04), 0 30px 60px -30px rgba(0,0,0,.9);
  --sh-soft: 0 20px 40px -20px rgba(0,0,0,.7);
  --sh-big:  0 40px 120px -40px rgba(255,255,255,.06);

    --nav-h: 72px;

    --ease:      cubic-bezier(.22,.61,.36,1);
  --ease-in:   cubic-bezier(.7,0,.84,0);
  --ease-out:  cubic-bezier(.16,1,.3,1);

  --dur-fast: 180ms;
  --dur:      300ms;
  --dur-slow: 600ms;
}

html,body{background:var(--bg);color:var(--fg)}
html{background-color:#000}
body{
  font-family:var(--ff-body);
  font-size:var(--fz-16);
  line-height:1.55;
  font-weight:400;
  letter-spacing:-.005em;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
  overflow-x:clip;
  min-height:100vh;
  position:relative;
}

::selection{background:var(--white);color:var(--black)}

.grid-bg{
  position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(1200px 700px at 50% -10%, rgba(255,255,255,.045), transparent 60%),
    radial-gradient(900px 600px at 85% 110%, rgba(255,255,255,.028), transparent 65%),
    linear-gradient(180deg,#000 0%,#050505 100%);
}
.grid-bg::before{
  content:"";position:absolute;inset:0;opacity:.35;
  background-image:
    linear-gradient(to right, rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:80px 80px;
  mask-image:radial-gradient(ellipse at center,#000 40%,transparent 85%);
  -webkit-mask-image:radial-gradient(ellipse at center,#000 40%,transparent 85%);
}
.noise{
  position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.04;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='0.6'/></svg>");
}

.skip{position:fixed;top:-100px;left:8px;padding:8px 14px;background:var(--white);color:var(--black);border-radius:var(--r-xs);z-index:9999;transition:top var(--dur)}
.skip:focus{top:8px}

.top-shade{
  position:fixed;top:0;left:0;right:0;height:220px;
  background:linear-gradient(180deg, rgba(0,0,0,.75) 0%, rgba(0,0,0,.45) 45%, rgba(0,0,0,0) 100%);
  pointer-events:none;z-index:900;
}

.cookies{
  position:fixed;bottom:0;left:0;right:0;z-index:1250;
  padding:120px var(--gutter) var(--sp-6);
  background:linear-gradient(180deg,
    rgba(0,0,0,0) 0%,
    rgba(0,0,0,.4) 20%,
    rgba(0,0,0,.85) 50%,
    #000 75%);
  transform:translateY(110%);opacity:0;visibility:hidden;pointer-events:none;
  transition:transform 600ms cubic-bezier(.16,1,.3,1),opacity 400ms var(--ease),visibility 600ms;
}
.cookies.is-open{transform:translateY(0);opacity:1;visibility:visible;pointer-events:auto}

.cookies__pulse{display:none}
.cookies__inner{position:relative;z-index:1;
  max-width:var(--container-w);margin-inline:auto;
  display:flex;align-items:center;gap:24px;flex-wrap:wrap;
}
.cookies__body{flex:1 1 320px;min-width:280px}
.cookies__title{
  font-family:var(--ff-body);font-size:14px;font-weight:500;
  color:#fff;margin:0 0 4px;letter-spacing:-.01em;
}
.cookies__text{
  font-family:var(--ff-body);font-size:12px;font-weight:400;line-height:1.55;
  color:rgba(255,255,255,.72);margin:0;max-width:66ch;
}
.cookies__text a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.cookies__text a:hover{color:rgba(255,255,255,.8)}

.cookies__actions{display:flex;gap:8px;flex-shrink:0;flex-wrap:wrap}
.cookies__btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:7px 14px;border-radius:999px;border:0;
  font-family:var(--ff-body);font-size:12px;font-weight:500;letter-spacing:-.005em;
  cursor:pointer;line-height:1.2;
  transition:background var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.cookies__btn--primary{background:#fff;color:#000}
.cookies__btn--primary:hover{transform:translateY(-1px);background:rgba(255,255,255,.92)}
.cookies__btn--ghost{background:rgba(255,255,255,.1);color:#fff}
.cookies__btn--ghost:hover{background:rgba(255,255,255,.18)}

@media(max-width:720px){
  .cookies{
    padding:140px 18px var(--sp-5);
    background:linear-gradient(180deg,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,.6) 10%,
      rgba(0,0,0,.95) 25%,
      #000 45%);
  }
  .cookies__inner{gap:14px}
  .cookies__actions{width:100%}
  .cookies__btn{flex:1;min-width:110px;padding:8px 12px;font-size:11px}
}

.welcome{
  position:fixed;bottom:0;right:24px;z-index:1200;
  width:340px;max-width:calc(100vw - 48px);
  background:#000;
  border:1px solid rgba(255,255,255,.1);border-bottom:0;
  border-radius:18px 18px 0 0;
  padding:22px 22px 24px;
  box-shadow:0 -20px 60px -20px rgba(0,0,0,.9);
  transform:translateY(100%);opacity:0;
  transition:transform 700ms cubic-bezier(.16,1,.3,1),opacity 500ms var(--ease);
  overflow:hidden;
}
.welcome.is-open{transform:translateY(0);opacity:1}

.welcome::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(circle 160px at 50% 50%, rgba(255,255,255,.14), rgba(255,255,255,.04) 45%, transparent 70%);
}

.welcome__inner{position:relative;z-index:1;display:flex;flex-direction:column;gap:14px}

.welcome__close{
  position:absolute;top:10px;right:10px;z-index:3;
  width:30px;height:30px;border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  display:grid;place-items:center;color:rgba(255,255,255,.7);
  transition:background var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.welcome__close:hover{background:rgba(255,255,255,.14);color:#fff;transform:rotate(90deg)}

.welcome__head{display:flex;align-items:center;gap:12px}
.welcome__logo{height:36px;width:auto;display:block;flex-shrink:0}
.welcome__head-text{display:flex;flex-direction:column;line-height:1;gap:4px}
.welcome__hi{
  font-family:var(--ff-body);font-size:18px;font-weight:500;
  color:#fff;margin:0;letter-spacing:-.01em;
  display:inline-flex;align-items:center;gap:6px;
}
.welcome__wave{
  display:inline-block;transform-origin:70% 70%;
  animation:wave 2.4s ease-in-out infinite;
  font-size:18px;
}
@keyframes wave{
  0%,60%,100%{transform:rotate(0)}
  10%{transform:rotate(14deg)}
  20%{transform:rotate(-8deg)}
  30%{transform:rotate(14deg)}
  40%{transform:rotate(-4deg)}
  50%{transform:rotate(10deg)}
}
.welcome__sub{
  font-family:var(--ff-body);font-size:12px;font-weight:400;
  color:rgba(255,255,255,.7);margin:0;letter-spacing:-.005em;
}

.welcome__msg{
  font-family:var(--ff-body);font-size:13px;font-weight:400;line-height:1.5;
  color:rgba(255,255,255,.82);margin:0;
}

.welcome__photo{
  position:relative;width:100%;aspect-ratio:16/9;
  border-radius:12px;overflow:hidden;
  background:#0a0a0a;
  border:1px solid rgba(255,255,255,.08);
}
.welcome__photo img{width:100%;height:100%;object-fit:cover;display:block}
.welcome__photo-sheen{
  position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,0) 60%,rgba(0,0,0,.3) 100%);
}

.welcome__actions{display:grid;grid-template-columns:1fr auto;gap:8px}
.welcome__btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  padding:10px 14px;border-radius:999px;
  font-family:var(--ff-body);font-size:13px;font-weight:500;letter-spacing:-.005em;
  transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.welcome__btn--primary{
  background:#fff;color:#000;
}
.welcome__btn--primary:hover{transform:translateY(-1px)}
.welcome__btn--ghost{
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);color:#fff;
}
.welcome__btn--ghost:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.28)}

.welcome__spark{
  position:absolute;width:4px;height:4px;border-radius:50%;
  background:#fff;pointer-events:none;opacity:0;
  animation:spark 3.4s ease-in-out infinite;
}
.welcome__spark--1{top:18%;right:16%;animation-delay:.4s}
.welcome__spark--2{top:38%;right:8%;animation-delay:1.2s;width:3px;height:3px}
.welcome__spark--3{top:12%;left:22%;animation-delay:2.1s;width:3px;height:3px}
@keyframes spark{
  0%,100%{opacity:0;transform:scale(.5)}
  50%    {opacity:.9;transform:scale(1);box-shadow:0 0 8px rgba(255,255,255,.6)}
}

@media(max-width:720px){
  .welcome{
    right:10px;left:10px;width:auto;max-width:none;
    padding:14px 14px 16px;
    border-radius:14px 14px 0 0;
  }
  .welcome__inner{ gap:10px }
  .welcome__close{ top:6px;right:6px;width:26px;height:26px }
  .welcome__head{ gap:9px }
  .welcome__logo{ height:28px }
  .welcome__hi{ font-size:15px }
  .welcome__sub{ font-size:11px }
  .welcome__msg{ font-size:12px;line-height:1.45 }
  .welcome__photo{ aspect-ratio:21/9;border-radius:9px }
  .welcome__btn{ padding:8px 12px;font-size:12px }
}

.intro{display:none !important}
.intro--OFF{
  position:fixed;inset:0;z-index:10000;
  background:#000;
  display:grid;place-items:center;
  animation:introOut 800ms cubic-bezier(.4,0,.2,1) forwards;
  animation-delay:1200ms;
  pointer-events:none;
}
.intro__logo{
  height:clamp(80px, 12vw, 140px);width:auto;
  opacity:0;filter:blur(12px);
  animation:introIn 1200ms cubic-bezier(.16,1,.3,1) forwards;
}
.intro.is-skipped{display:none}
@keyframes introIn{
  0%  {opacity:0;filter:blur(16px);transform:scale(.94)}
  60% {opacity:1;filter:blur(0);transform:scale(1)}
  100%{opacity:1;filter:blur(0);transform:scale(1)}
}
@keyframes introOut{
  0%  {opacity:1}
  100%{opacity:0;visibility:hidden}
}
@media (prefers-reduced-motion: reduce){
  .intro{display:none}
}

.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}
.container--wide{max-width:var(--container-w)}
.container--narrow{max-width:var(--container-narrow)}
.section{padding-block:var(--sp-24);position:relative}
.section--lg{padding-block:var(--sp-32)}
.section--sm{padding-block:var(--sp-16)}
.section--top{padding-top:calc(var(--sp-16) + 24px)}
@media (max-width:1024px){
  .container{padding-inline:22px}
}
@media (max-width:720px){
  .container{padding-inline:18px}
  .section{padding-block:var(--sp-16)}
  .section--lg{padding-block:var(--sp-20)}
}
@media (max-width:480px){
  .container{padding-inline:16px}
}

.divider{height:1px;background:var(--line);width:100%}

h1,h2,h3,h4{
  font-family:var(--ff-display);
  font-weight:500;
  letter-spacing:-.03em;
  line-height:1;
  color:var(--fg);
  text-wrap:balance;
}
h1{font-size:var(--fz-84);font-weight:500;letter-spacing:-.045em;line-height:.95}
h2{font-size:var(--fz-60);letter-spacing:-.035em;line-height:1}
h3{font-size:var(--fz-40);letter-spacing:-.03em}
h4{font-size:var(--fz-28)}
p{color:var(--fg-dim);max-width:68ch;text-wrap:pretty}

.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--ff-mono);
  font-size:var(--fz-12);letter-spacing:.24em;text-transform:uppercase;
  color:var(--fg-mute);font-weight:500;
}
.eyebrow::before{content:"";width:18px;height:1px;background:var(--white-35)}
.eyebrow--center::before,.eyebrow--center::after{content:"";width:18px;height:1px;background:var(--white-35)}
.eyebrow--center{justify-content:center}

.mono{font-family:var(--ff-mono);letter-spacing:.02em}
.dim{color:var(--fg-mute)}
.center{text-align:center}

.lead{font-size:var(--fz-20);color:var(--fg-dim);max-width:60ch;line-height:1.55}

.display-xxl{
  font-family:var(--ff-display);
  font-size:var(--fz-120);
  font-weight:500;
  line-height:.88;
  letter-spacing:-.05em;
  text-transform:uppercase;
}
.display-xxl em{font-style:italic;font-weight:300;color:var(--white-65)}

.grad-text{
  background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.55) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}

.btn{
  --bg:    var(--white);
  --color: var(--black);
  display:inline-flex;align-items:center;gap:10px;
  padding:12px 18px;
  font-size:var(--fz-14);font-weight:500;letter-spacing:.01em;
  background:var(--bg);color:var(--color);
  border:1px solid transparent;border-radius:999px;
  transition:transform var(--dur) var(--ease),background var(--dur) var(--ease),color var(--dur) var(--ease),box-shadow var(--dur) var(--ease);
  position:relative;overflow:hidden;white-space:nowrap;cursor:pointer;
}
.btn:hover{transform:translateY(-1px)}
.btn svg{transition:transform var(--dur) var(--ease)}
.btn:hover svg{transform:translateX(3px)}

.btn--primary{
  --bg:#fff;--color:#000;
  box-shadow:0 10px 30px -10px rgba(255,255,255,.18);
  position:relative;overflow:hidden;isolation:isolate;
  background:#fff;color:#000;
  border:1px solid transparent;
  border-radius:999px;
  transition:background 420ms var(--ease),color 420ms var(--ease),
             border-color 420ms var(--ease),box-shadow 420ms var(--ease);
}
.btn--primary:hover{
  color:#fff;
  background:linear-gradient(135deg,#0d0d0d 0%,#1a1a1a 50%,#0a0a0a 100%);
  border-color:rgba(255,255,255,.22);
  box-shadow:
    0 20px 44px -12px rgba(0,0,0,.7),
    inset 0 1px 0 rgba(255,255,255,.08),
    inset 0 0 24px rgba(255,255,255,.04);
}

.btn__face{
  display:inline-flex;align-items:center;gap:10px;
  transition:transform 420ms cubic-bezier(.65,0,.35,1),opacity 260ms var(--ease);
}
.btn__face--hover{
  position:absolute;inset:0;justify-content:center;gap:4px;
  opacity:0;transform:translateY(110%);
}
.btn--primary:hover .btn__face--default{opacity:0;transform:translateY(-110%)}
.btn--primary:hover .btn__face--hover{opacity:1;transform:translateY(0)}

.btn__face--hover img{height:28px;width:auto;display:block}

@media (prefers-reduced-motion: reduce){
  .btn__face{transition:opacity 200ms}
  .btn--primary:hover .btn__face--default{transform:none}
  .btn--primary:hover .btn__face--hover{transform:none}
}

.btn--ghost{
  --bg:transparent;--color:var(--white);
  border:1px solid var(--glass-br);
  background:var(--glass-bg);backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
}
.btn--ghost:hover{border-color:var(--glass-br-h);background:var(--glass-bg-h)}

.btn--outline{
  --bg:transparent;--color:var(--white);
  border:1px solid var(--line-strong);
}
.btn--outline:hover{border-color:var(--white-50);background:var(--white-5)}

.btn--lg{padding:16px 24px;font-size:var(--fz-15)}
.btn--xl{padding:20px 28px;font-size:var(--fz-16)}
.btn--block{width:100%;justify-content:center}

.nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  background:transparent;
  border:0;
  transition:background var(--dur) var(--ease);
  will-change:background;
}
.nav.is-scrolled{
  background:rgba(0,0,0,.88);
}
.nav.is-scrolled .nav__topbar{opacity:0;visibility:hidden;pointer-events:none;height:0;overflow:hidden}
.nav.is-scrolled .nav__inner{padding:16px var(--gutter);grid-template-rows:auto}
.nav.is-scrolled .nav__logo{height:44px}
.nav__topbar{transition:opacity 260ms var(--ease),height 260ms var(--ease),visibility 260ms}
.nav__inner{transition:padding 260ms var(--ease)}
.nav__logo{transition:height 260ms var(--ease),transform var(--dur) var(--ease),opacity var(--dur) var(--ease)}

.nav__inner{
  display:grid;
  grid-template-columns:auto auto 1fr;
  grid-template-rows:auto auto;
  align-items:center;column-gap:16px;row-gap:2px;
  padding:28px var(--gutter) 10px;
  max-width:var(--container-w);margin-inline:auto;
}
.nav__brand{grid-row:2;grid-column:1;align-self:center}
.nav__topbar{grid-row:1;grid-column:3;justify-self:end;align-self:end}
.nav__menu{grid-row:2;grid-column:2;align-self:center}
.nav__cta{grid-row:2;grid-column:3;justify-self:end;align-self:center}

.nav__brand{display:flex;align-items:center;gap:12px;flex-shrink:0;color:var(--fg)}
.nav__logo{
  height:70px;width:auto;display:block;
  object-fit:contain;
  transition:transform var(--dur) var(--ease),opacity var(--dur) var(--ease);
}
.nav__brand:hover .nav__logo{opacity:.85}
.nav__logo--footer{height:60px}

.nav__menu{display:flex;justify-content:flex-start}
.nav__list{display:flex;gap:6px}
.nav__item{position:relative}
.nav__link{
  position:relative;display:inline-flex;align-items:center;
  padding:10px 14px;
  font-family:var(--ff-ui);
  font-size:14px;font-weight:400;
  letter-spacing:.01em;
  color:rgba(255,255,255,.82);
  transition:color 250ms var(--ease-out), transform 220ms var(--ease-out);
}
.nav__link:hover{color:#fff;transform:translateY(-2px)}
.nav__item.is-active .nav__link{color:#fff;font-weight:500}

.nav-spotlight{
  position:fixed;top:0;left:0;
  width:220px;height:36vh;
  transform:translateX(-50%);
  background:radial-gradient(ellipse 55% 85% at 50% 0%, rgba(255,255,255,.10) 0%, rgba(255,255,255,.035) 35%, transparent 78%);
  pointer-events:none;
  opacity:0;
  transition:opacity 400ms var(--ease-out),left 300ms var(--ease-out);
  z-index:999;
}
.nav-spotlight.is-active{opacity:1}

.btn--menu{
  display:none;   width:38px;height:38px;padding:0;
  place-items:center;
  background:var(--glass-bg);
  border:1px solid var(--glass-br);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  color:var(--fg);border-radius:999px;
  transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.btn--menu:hover{background:var(--glass-bg-h);border-color:var(--glass-br-h);transform:translateY(-1px)}
.btn--menu__icon{
  width:22px;height:14px;display:flex;flex-direction:column;
  justify-content:space-between;
}
.btn--menu__icon span{
  display:block;height:1.6px;background:currentColor;border-radius:2px;
  transition:width var(--dur) var(--ease),transform var(--dur) var(--ease),opacity var(--dur) var(--ease),align-self var(--dur) var(--ease);
}
.btn--menu__icon span:nth-child(1){width:100%;align-self:flex-start}
.btn--menu__icon span:nth-child(2){width:55%;align-self:flex-end}
.btn--menu__icon span:nth-child(3){width:80%;align-self:flex-start}
.btn--menu:hover .btn--menu__icon span:nth-child(2){width:90%}
.btn--menu:hover .btn--menu__icon span:nth-child(3){width:100%}
.btn--menu[aria-expanded="true"] .btn--menu__icon span{width:100%;align-self:stretch}
.btn--menu[aria-expanded="true"] .btn--menu__icon span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.btn--menu[aria-expanded="true"] .btn--menu__icon span:nth-child(2){opacity:0}
.btn--menu[aria-expanded="true"] .btn--menu__icon span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

.menu-panel{
  position:fixed;inset:0;z-index:990;
  padding:calc(var(--nav-h) + 30px) var(--gutter) calc(var(--sp-6) + env(safe-area-inset-bottom, 0));
  background:rgba(0,0,0,.96);
  backdrop-filter:blur(28px) saturate(140%);
  -webkit-backdrop-filter:blur(28px) saturate(140%);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity 400ms var(--ease-out),visibility 400ms;
  overflow-y:auto;
}
.menu-panel.is-open{opacity:1;visibility:visible;pointer-events:auto}

.menu-panel__inner{
  max-width:1080px;margin:0 auto;
  display:grid;
  grid-template-columns:1.5fr 1fr;
  gap:var(--sp-10);
  align-items:start;
}

.menu-panel__heading{
  display:block;
  font-family:var(--ff-body);
  font-size:11px;font-weight:500;
  color:rgba(255,255,255,.4);
  margin-bottom:var(--sp-3);
  letter-spacing:.02em;
}

.menu-panel__nav{ display:flex;flex-direction:column }
.menu-panel__list{
  display:flex;flex-direction:column;gap:0;
  list-style:none;padding:0;margin:0;
}
.menu-panel__item{
  display:flex;align-items:baseline;gap:18px;
  padding:11px 0;
  font-family:var(--ff-display);
  font-size:30px;
  font-weight:300;letter-spacing:-.025em;line-height:1.05;
  color:rgba(255,255,255,.88);
  border-bottom:1px solid rgba(255,255,255,.06);
  text-decoration:none;
  transform:translateY(10px);opacity:0;
  transition:transform 500ms var(--ease-out),opacity 500ms var(--ease-out),color var(--dur) var(--ease),padding-left var(--dur) var(--ease);
  transition-delay:calc(80ms + var(--i, 0) * 40ms);
}
.menu-panel.is-open .menu-panel__item{transform:translateY(0);opacity:1}
.menu-panel__item:hover{color:#fff;padding-left:8px}
.menu-panel__num{
  font-family:var(--ff-body);font-size:11px;font-weight:400;
  color:rgba(255,255,255,.35);min-width:26px;letter-spacing:.02em;
}
.menu-panel__txt{ font-size:30px;letter-spacing:-.025em }

.menu-panel__services{ display:flex;flex-direction:column }
.menu-panel__sublist{
  display:flex;flex-direction:column;gap:0;
  list-style:none;padding:0;margin:0;
}
.menu-panel__subitem{
  display:flex;align-items:baseline;gap:14px;
  padding:9px 0;
  font-family:var(--ff-body);
  font-size:15px;
  font-weight:400;
  color:rgba(255,255,255,.7);
  border-bottom:1px solid rgba(255,255,255,.05);
  text-decoration:none;
  transform:translateY(10px);opacity:0;
  transition:transform 500ms var(--ease-out),opacity 500ms var(--ease-out),color var(--dur) var(--ease),padding-left var(--dur) var(--ease);
  transition-delay:calc(180ms + var(--i, 0) * 40ms);
}
.menu-panel.is-open .menu-panel__subitem{transform:translateY(0);opacity:1}
.menu-panel__subitem:hover{color:#fff;padding-left:6px}
.menu-panel__sub-num{
  font-family:var(--ff-body);font-size:11px;
  color:rgba(255,255,255,.3);min-width:22px;letter-spacing:.02em;
}
.menu-panel__sub-txt{ font-size:inherit }

.menu-panel__services{ grid-column:2;grid-row:1 }
.menu-panel__aside{
  grid-column:2;grid-row:2;
  display:flex;flex-direction:column;gap:var(--sp-4);
  margin-top:var(--sp-6);
  padding-top:var(--sp-5);
  border-top:1px solid rgba(255,255,255,.08);
}
.menu-panel__brand{ display:none } .menu-panel__brandline{ display:none }

.menu-panel__extra{
  display:flex;gap:10px;flex-wrap:wrap;align-items:center;
}
.menu-panel__contact{
  display:flex;flex-direction:column;gap:8px;
}

.menu-panel__academy-box{ display:none }
.menu-panel__map{ display:none }

.menu-panel__extra{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:center}
.menu-panel__academy{margin-left:0}
.menu-panel__booksy{flex-direction:row;align-items:center;gap:8px;padding:8px 14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:999px}
.menu-panel__booksy .nav__booksy-label{font-size:11px}
.menu-panel__booksy .nav__booksy-logo{height:16px}

.menu-panel__contact{
  display:flex;flex-direction:column;gap:10px;
}
.menu-panel__contact-item{
  display:flex;align-items:center;gap:10px;
  font-family:var(--ff-body);font-size:13px;font-weight:400;color:rgba(255,255,255,.8);
  text-decoration:none;
  transition:color var(--dur) var(--ease);
}
.menu-panel__contact-item:hover{color:#fff}
.menu-panel__contact-item svg{opacity:.6;flex-shrink:0}
.menu-panel__contact-item:hover svg{opacity:1}

.menu-panel__cta-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.menu-panel__cta{align-self:flex-start;width:auto;justify-content:center;height:auto;padding:9px 16px;font-size:13px;gap:7px}
.menu-panel__cta svg{width:13px;height:13px}
.menu-panel__cta .btn__face--hover img{height:18px}
.menu-panel__phone{
  display:inline-flex;align-items:center;gap:7px;
  color:rgba(255,255,255,.85);
  text-decoration:none;
  font-family:var(--ff-body);
  font-size:13px;font-weight:500;
  letter-spacing:-.005em;
  transition:color var(--dur) var(--ease);
}
.menu-panel__phone svg{
  color:rgba(255,255,255,.55);
  flex-shrink:0;
  transition:color var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.menu-panel__phone:hover{color:#fff}
.menu-panel__phone:hover svg{color:#fff;transform:rotate(-12deg)}

@media(max-width:1024px){
  .menu-panel__inner{ gap:var(--sp-6) }
  .menu-panel__item, .menu-panel__txt{ font-size:26px }
}

@media(max-width:720px){
  .menu-panel{padding:calc(var(--nav-h) + 30px) var(--gutter) calc(var(--sp-8) + env(safe-area-inset-bottom, 0))}
  .menu-panel__inner{
    grid-template-columns:1fr;
    max-width:520px;
    gap:var(--sp-6);
  }
  .menu-panel__services{ display:none }
  .menu-panel__heading{ display:none }
  .menu-panel__extra{ display:none }
  .menu-panel__contact{ display:none }     .menu-panel__aside{
    grid-column:1;grid-row:auto;
    margin-top:0;
    padding-top:0;
    border-top:0;                             gap:var(--sp-4);
  }
    .menu-panel__list li:last-child .menu-panel__item{ border-bottom:0 }
  .menu-panel__item{
    font-family:var(--ff-body);font-size:22px;font-weight:400;letter-spacing:-.01em;
    padding:18px 0;
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .menu-panel__txt{font-size:22px;letter-spacing:-.005em;font-family:var(--ff-body)}
  .menu-panel__num{font-size:11px;min-width:24px}

    .menu-panel__academy-box{
    display:flex;flex-direction:column;gap:8px;
    padding:var(--sp-3);
    background:
      radial-gradient(ellipse 80% 60% at 50% 0%, rgba(255,255,255,.06), transparent 70%),
      rgba(255,255,255,.025);
    border:1px solid rgba(255,255,255,.08);
    border-radius:12px;
  }
    .menu-panel__academy-box .nav__academy{
    display:inline-flex !important;
    align-self:flex-start;
    margin-left:0;
    padding:1px 10px 1px 3px;
    height:auto;
    gap:6px;
  }
  .menu-panel__academy-box .nav__academy-logo{ height:18px }
  .menu-panel__academy-box .nav__academy-title{ font-size:10px;letter-spacing:.14em }
  .menu-panel__academy-desc{
    margin:0;
    font-family:var(--ff-body);font-size:11.5px;line-height:1.45;
    color:rgba(255,255,255,.65);
  }
    .menu-panel__academy-btn{
    display:inline-flex;align-items:center;gap:5px;
    align-self:flex-start;
    padding:0;
    background:transparent;
    color:rgba(255,255,255,.85);
    border-radius:0;
    font-family:var(--ff-body);font-size:11px;font-weight:500;
    letter-spacing:.005em;
    text-decoration:none;
    transition:color var(--dur),gap var(--dur);
  }
  .menu-panel__academy-btn:hover{ color:#fff;gap:8px;background:transparent;transform:none }
  .menu-panel__academy-btn svg{ width:11px;height:11px }

    .menu-panel__map{
    display:block;
    position:relative;
    width:100%;height:200px;
    border-radius:16px;
    overflow:hidden;
    background:#0a0a0a;
  }
  .menu-panel__map-canvas{
    position:absolute;inset:0;
    width:100%;height:100%;
    background:#0a0a0a;
  }
  .menu-panel__map-overlay{
    position:absolute;inset:0;pointer-events:none;
    z-index:400;
    background:
      linear-gradient(180deg, #000 0%, rgba(0,0,0,.5) 8%, transparent 22%, transparent 78%, rgba(0,0,0,.55) 92%, #000 100%),
      linear-gradient(90deg,  #000 0%, rgba(0,0,0,.45) 6%, transparent 16%, transparent 84%, rgba(0,0,0,.45) 94%, #000 100%);
  }
  .menu-panel__map-label{
    position:absolute;left:12px;bottom:10px;right:12px;
    z-index:500;
    display:inline-flex;align-items:center;justify-content:space-between;gap:8px;
    padding:8px 12px;
    background:rgba(0,0,0,.78);
    border:1px solid rgba(255,255,255,.12);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    border-radius:8px;
    font-family:var(--ff-body);font-size:11.5px;font-weight:500;
    color:rgba(255,255,255,.85);
    text-decoration:none;
    transition:background var(--dur),border-color var(--dur);
  }
  .menu-panel__map-label:hover{ background:rgba(0,0,0,.92);border-color:rgba(255,255,255,.25) }
  .menu-panel__map-label svg{ flex-shrink:0;opacity:.6 }
}
@media(max-width:480px){
  .menu-panel{padding:calc(var(--nav-h) + 24px) 20px calc(60px + env(safe-area-inset-bottom, 0))}
  .menu-panel__item{padding:12px 0;font-size:16px}
  .menu-panel__txt{font-size:16px}
}

.nav__topbar{
  display:flex;align-items:center;gap:18px;
  font-family:var(--ff-body);font-size:12px;font-weight:400;
  color:rgba(255,255,255,.68);
}
.nav__topbar-item{
  display:inline-flex;align-items:center;gap:6px;white-space:nowrap;
  color:inherit;transition:color var(--dur) var(--ease);
}
.nav__topbar-item:not(.nav__topbar-item--static):hover{color:#fff}
.nav__topbar-item svg{opacity:.7;flex-shrink:0}
.nav__topbar-div{width:1px;height:14px;background:rgba(255,255,255,.18)}
.nav__topbar-social{
  display:inline-flex;align-items:center;justify-content:center;
  width:26px;height:26px;border-radius:999px;
  color:rgba(255,255,255,.68);
  transition:color var(--dur) var(--ease),background var(--dur) var(--ease);
}
.nav__topbar-social:hover{color:#fff;background:var(--white-5)}

.nav__cta{display:flex;align-items:center;gap:12px;flex-shrink:0}
.nav__cta .btn{padding:0 14px;height:38px;font-size:var(--fz-13)}
.nav__cta .btn--menu{padding:0;width:38px}
.nav__cta .btn svg{width:12px;height:12px}

.nav__booksy{
  display:flex;flex-direction:column;align-items:flex-end;gap:4px;
  line-height:1;color:var(--fg-dim);
  transition:color var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.nav__booksy:hover{color:var(--fg);transform:translateY(-1px)}
.nav__booksy-label{
  font-family:var(--ff-body);
  font-size:12px;font-weight:400;letter-spacing:-.005em;
  color:rgba(255,255,255,.7);
}
.nav__booksy-logo{height:18px;width:auto;display:block;opacity:.9}
.nav__booksy:hover .nav__booksy-logo{opacity:1}
.nav__booksy--mobile{align-items:flex-start}
.nav__booksy--mobile .nav__booksy-logo{height:22px}

@property --academy-shine {
  syntax: "<angle>";
  initial-value: 0deg;
  inherits: false;
}

.nav__academy{
  display:inline-flex;align-items:center;gap:8px;
  padding:0 16px 0 6px;height:38px;margin-left:12px;
  background:var(--glass-bg);
  border:1px solid var(--glass-br);
  border-radius:999px;
  color:var(--fg);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  transition:background var(--dur) var(--ease),transform var(--dur) var(--ease);
  line-height:1;position:relative;
}
.nav__academy:hover{background:var(--glass-bg-h);transform:translateY(-1px)}
.nav__academy::after{
  content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1.2px;
  background:conic-gradient(
    from var(--academy-shine),
    rgba(255,255,255,.08) 0deg,
    rgba(255,255,255,.08) 220deg,
    rgba(255,255,255,.95) 275deg,
    rgba(255,255,255,.4) 305deg,
    rgba(255,255,255,.08) 335deg,
    rgba(255,255,255,.08) 360deg
  );
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
          mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  animation:academyShine 3.2s linear infinite;
  pointer-events:none;z-index:2;
}
@keyframes academyShine{to{--academy-shine:360deg}}
@media (prefers-reduced-motion: reduce){
  .nav__academy::after{animation:none;background:rgba(255,255,255,.18)}
}

.nav__academy-logo{height:26px;width:auto;display:block;flex-shrink:0;position:relative;z-index:1}
.nav__academy-title{
  font-family:var(--ff-body);font-size:12px;font-weight:400;
  letter-spacing:0;color:#fff;display:inline-block;position:relative;z-index:1;
}

@media (max-width:1400px){
  .nav__topbar{gap:14px;font-size:11px}
  .nav__logo{height:64px}
}
@media (max-width:1280px){
  .nav__topbar .nav__topbar-item span{display:none}
  .nav__topbar .nav__topbar-item svg{width:14px;height:14px;opacity:1}
  .nav__logo{height:60px}
}
@media (max-width:1100px){
  .nav__menu,.nav__cta .btn--ghost,.nav__booksy,.nav__topbar{display:none}
  .nav__inner{grid-template-columns:auto 1fr;grid-template-rows:auto}
  .nav__brand{grid-row:1;grid-column:1}
  .nav__cta{grid-row:1;grid-column:2}
  .nav__logo{height:54px}
  .btn--menu{display:grid} }
@media (max-width:900px){
  .nav__academy{display:none}
}
@media (max-width:720px){
  .nav__inner{padding:6px 18px}
  .nav.is-scrolled .nav__inner{padding:4px 18px}   .nav.is-scrolled .nav__logo{height:42px}
  .nav__cta{gap:14px}
  .nav__cta .btn--primary{display:none}            .nav__booksy{display:flex}                        .nav__logo{height:64px}
    .nav__cta .btn--menu,.btn--menu{
    background:transparent;border:0;backdrop-filter:none;-webkit-backdrop-filter:none;
    width:32px;height:32px;padding:0;
  }
}
@media (max-width:480px){
  .nav__logo{height:56px}
  .nav__booksy-label{font-size:11px}
  .nav__booksy-logo{height:16px}
}

.scroll-progress{
  position:fixed;top:0;left:0;right:0;height:1px;
  background:rgba(255,255,255,.04);
  z-index:1001;pointer-events:none;
}
.scroll-progress__bar{
  position:absolute;inset:0;
  background:linear-gradient(90deg, rgba(255,255,255,.9) 0%, rgba(255,255,255,.6) 50%, rgba(255,255,255,0) 100%);
  transform-origin:left center;transform:scaleX(0);
  will-change:transform;
}

.hero{
  position:relative;min-height:100vh;
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:0 0 var(--sp-8);
  overflow:clip;     isolation:isolate;
  background:#000;
}
.hero__bg-overlay{
    background:
    linear-gradient(180deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.35) 40%, rgba(0,0,0,.95) 92%, #000 100%),
    linear-gradient(90deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.1) 60%, rgba(0,0,0,.2) 100%) !important;
}

.hero__bg{position:absolute;inset:0;z-index:-1}
.hero__bg img,.hero__bg video{
  width:100%;height:100%;object-fit:cover;
  object-position:center 30%;
  display:block;
}
.hero__bg img{
  transform:scale(1.02) translateZ(0);
  animation:heroKen 20s ease-in-out infinite alternate;
  will-change:transform;
}
@keyframes heroKen{to{transform:scale(1.08) translateY(-2%)}}
.hero__bg-overlay{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,
      rgba(0,0,0,.55) 0%,
      rgba(0,0,0,.3) 35%,
      rgba(0,0,0,.55) 60%,
      rgba(0,0,0,.92) 85%,
      #000 100%
    ),
    linear-gradient(90deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.1) 60%, rgba(0,0,0,.2) 100%);
}

.hero__inner{
  position:relative;z-index:2;
  width:100%;max-width:var(--container-w);
  margin-inline:auto;
  padding:calc(var(--nav-h) + 80px) var(--gutter) var(--sp-12);
  display:grid;grid-template-columns:1.5fr 1fr;gap:var(--sp-12);align-items:end;
  flex:1;
}
.hero__content{display:flex;flex-direction:column;gap:var(--sp-6);max-width:none}

.hero__eyebrow{
  font-family:var(--ff-body);font-size:12px;font-weight:400;
  letter-spacing:.01em;color:rgba(255,255,255,.7);
}
.hero__title{
  font-family:var(--ff-body);
  font-size:clamp(44px, 6.8vw, 104px);
  font-weight:200;line-height:.98;letter-spacing:-.04em;
  color:#fff;
  margin:0;
  white-space:nowrap;
}
.hero__lead{
  font-family:var(--ff-body);
  font-size:14px;
  font-weight:400;letter-spacing:-.005em;line-height:1.55;
  color:rgba(255,255,255,.75);
  max-width:68ch;
}
.hero__cta{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:var(--sp-3)}
.hero__cta .btn{height:44px;padding:0 22px;font-size:14px}

.btn-link{
  display:inline-flex;align-items:center;gap:8px;
  padding:0;border:0;background:none;
  font-family:var(--ff-body);font-size:14px;font-weight:500;letter-spacing:-.005em;
  color:#fff;cursor:pointer;position:relative;
  transition:color var(--dur) var(--ease);
}
.btn-link::after{
  content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;
  background:currentColor;
  transform:scaleX(0);transform-origin:left center;
  transition:transform 400ms cubic-bezier(.65,0,.35,1);
}
.btn-link:hover::after{transform:scaleX(1)}
.btn-link svg{transition:transform var(--dur) var(--ease)}
.btn-link:hover svg{transform:translateX(4px)}

.hero__slider{
  justify-self:end;align-self:end;
  width:100%;max-width:320px;
  display:flex;flex-direction:column;gap:12px;
}
@property --slide-shine {
  syntax: "<angle>";
  initial-value: 0deg;
  inherits: false;
}

.hero__slider-track{
  position:relative;aspect-ratio:3/4;min-height:440px;
  max-height:max(200px,calc(100vh - 320px));
  border-radius:16px;
  background:#0a0a0a;
  box-shadow:0 30px 60px -20px rgba(0,0,0,.9);
}

.hero__slider-track::after{
  content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;
  background:conic-gradient(
    from var(--slide-shine),
    rgba(255,255,255,.1) 0deg,
    rgba(255,255,255,.1) 200deg,
    rgba(255,255,255,1) 270deg,
    rgba(255,255,255,.4) 300deg,
    rgba(255,255,255,.1) 330deg,
    rgba(255,255,255,.1) 360deg
  );
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
          mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  pointer-events:none;z-index:3;
  animation:slideShineLoop 5s linear infinite;
}
.hero__slider-track.is-restarting::after{animation:none}

@keyframes slideShineLoop{to{--slide-shine:360deg}}

.hero__slider-track.is-paused::after{animation-play-state:paused}

@media (prefers-reduced-motion: reduce){
  .hero__slider-track::after{animation:none;background:rgba(255,255,255,.18)}
}

.hero__slider-track > a{border-radius:inherit;overflow:hidden}

.hero__slide{
  position:absolute;inset:0;display:block;
  opacity:0;pointer-events:none;
  transition:opacity 900ms cubic-bezier(.4,0,.2,1);
  color:#fff;
}
.hero__slide.is-active{opacity:1;pointer-events:auto}

.hero__slide-bg{
  position:absolute;inset:0;
  width:100%;height:100%;object-fit:cover;
  filter:saturate(1.05) contrast(1.02);
}

.hero__slide-shade{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 30%, rgba(0,0,0,.55) 65%, rgba(0,0,0,.92) 100%),
    linear-gradient(90deg, rgba(0,0,0,.35) 0%, rgba(0,0,0,0) 50%);
}

.hero__slide-body{
  position:absolute;inset:auto 0 0 0;padding:16px 18px 16px;
  display:flex;flex-direction:column;gap:2px;
  transform:translateY(10px);opacity:0;
  transition:transform 800ms var(--ease-out) 140ms,opacity 800ms var(--ease-out) 140ms;
}
.hero__slide.is-active .hero__slide-body{transform:translateY(0);opacity:1}

.hero__slide-num{
  font-family:var(--ff-body);font-size:10px;font-weight:400;
  letter-spacing:.14em;color:rgba(255,255,255,.65);margin-bottom:4px;
}
.hero__slide-title{
  font-family:var(--ff-body);font-size:22px;font-weight:500;
  letter-spacing:-.015em;line-height:1.1;color:#fff;margin:0;
  text-shadow:0 1px 8px rgba(0,0,0,.25);
}
.hero__slide-desc{
  font-family:var(--ff-body);font-size:12px;font-weight:400;
  color:rgba(255,255,255,.82);line-height:1.45;
  margin:4px 0 8px;max-width:38ch;
  text-shadow:0 1px 8px rgba(0,0,0,.35);
}
.hero__slide-link{
  display:inline-flex;align-items:center;gap:6px;margin-top:2px;
  font-size:11px;font-weight:500;letter-spacing:.01em;color:#fff;
  opacity:.85;
  transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease);
  width:max-content;
}
.hero__slide:hover .hero__slide-link{opacity:1;transform:translateX(2px)}
.hero__slide-link svg{transition:transform var(--dur) var(--ease)}
.hero__slide:hover .hero__slide-link svg{transform:translateX(3px)}

.hero__slider-dots{
  display:flex;gap:8px;justify-content:center;
}
.hero__slider-dot{
  position:relative;width:6px;height:6px;padding:0;border:0;
  border-radius:50%;background:rgba(255,255,255,.22);cursor:pointer;
  transition:background var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.hero__slider-dot:hover{background:rgba(255,255,255,.5)}
.hero__slider-dot.is-on{background:#fff;transform:scale(1.3)}

@media(max-width:720px){
  .hero__slider{max-width:none}
  .hero__slider-track{aspect-ratio:4/5;min-height:380px}
  .hero__slide-title{font-size:20px}
}

.hero__foot{
  position:relative;z-index:2;
  width:100%;max-width:var(--container-w);
  margin-inline:auto;
  padding:0 var(--gutter);
  display:grid;grid-template-columns:repeat(5,1fr);gap:0;
  border-top:1px solid rgba(255,255,255,.12);
}
.hero__foot-col{
  padding:18px 0;
  display:flex;flex-direction:column;gap:4px;
  border-right:1px solid rgba(255,255,255,.08);
  padding-left:var(--sp-3);
}
.hero__foot-col:first-child{padding-left:0}
.hero__foot-col:last-child{border-right:0}
.hero__foot-k{font-size:10px;font-weight:400;color:rgba(255,255,255,.45);letter-spacing:.05em}
.hero__foot-v{font-size:13px;font-weight:400;color:#fff;letter-spacing:-.005em}

@media(max-width:1100px){
  .hero__inner{grid-template-columns:1fr 0.5fr;gap:var(--sp-8);padding-top:calc(var(--nav-h) + 44px)}
  .hero__slider{max-width:220px}
  .hero__slider-track{min-height:220px}
  .hero__title{white-space:normal}
}
@media(max-width:720px){
    .hero__inner{
    display:contents;
  }
  .hero{
    padding-top:calc(var(--nav-h) + 100px);
    min-height:auto;     }
  .hero__content{order:1;padding-inline:var(--gutter)}
  .hero__foot{order:2;margin-top:var(--sp-6)}
  .hero__slider{order:3;margin-top:var(--sp-6)}
    .hero__slider.reveal{opacity:1 !important;transform:none !important}
  .hero__content{gap:14px;padding:0 var(--gutter);max-width:none}
    .hero__bg img{
    object-position:80% center;
    transform:none;
    animation:none;
  }
    .hero__bg-overlay{
    background:
      linear-gradient(180deg, rgba(0,0,0,.85) 0%, rgba(0,0,0,.7) 40%, rgba(0,0,0,.98) 100%);
  }
  .hero__title{font-size:clamp(32px, 9vw, 44px);font-weight:400;line-height:1.1;text-shadow:0 2px 20px rgba(0,0,0,.6)}
  .hero__lead{color:rgba(255,255,255,.88);margin-bottom:4px}
  .hero__cta{gap:22px;margin-top:2px;padding:0;align-items:center}
  .hero__cta .btn{height:38px;padding:0 16px;font-size:13px}
  .hero__cta .btn-link{font-size:13px}

    .hero__slider{
    width:100vw !important;
    max-width:none !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    padding:0 !important;
    justify-self:stretch !important;align-self:stretch !important;
    display:block !important;
    overflow:hidden !important;
  }
  .hero__slider-track{
    display:flex !important;gap:10px;
    width:max-content !important;
    aspect-ratio:auto !important;min-height:auto !important;max-height:none !important;
    background:transparent !important;
    border:0 !important;box-shadow:none !important;border-radius:0 !important;
    animation:heroMarquee 30s linear infinite;
  }
    .hero__slider-track:hover,
  .hero__slider-track:active{animation-play-state:running !important}
  .hero__slider-track::after{display:none !important}
  .hero__slide{
    position:relative !important;inset:auto !important;
    flex:0 0 46vw;min-width:46vw;width:46vw;
    aspect-ratio:3/4;
    opacity:1 !important;pointer-events:auto !important;
    border-radius:14px;overflow:hidden;
    border:1px solid rgba(255,255,255,.12);
    background:#0a0a0a;
  }
  .hero__slide-body{transform:none !important;opacity:1 !important}
  .hero__slider-dots{display:none}
}

@keyframes heroMarquee{
  from{transform:translateX(0)}
  to  {transform:translateX(-50%)}
}

@media(max-width:720px){
  .hero__slide-title{font-size:16px;line-height:1.15;letter-spacing:-.005em}
  .hero__slide-desc{font-size:11.5px;line-height:1.4}
    .hero__foot{
    grid-template-columns:1fr;
    padding-inline:var(--gutter);
    max-width:380px;margin-inline:auto;
  }
  .hero__foot-col{
    padding:14px 0;
    flex-direction:row;gap:16px;align-items:center;
    text-align:left;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .hero__foot-col:last-child{border-bottom:0}
}
@media(max-width:480px){
  .hero__slide{flex:0 0 56vw !important;min-width:56vw !important;width:56vw !important}
}

.trust3{
  position:relative;
  padding:var(--sp-24) 0 var(--sp-32);
  background:#000;
  overflow:hidden;
  isolation:isolate;
  content-visibility:auto;
  contain-intrinsic-size:0 800px;
}
.trust3::before{
  content:"";
  position:absolute;left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg, transparent 0%, rgba(255,255,255,.1) 25%, rgba(255,255,255,.1) 75%, transparent 100%);
  z-index:2;
}
.trust3::after{
  content:"";
  position:absolute;left:50%;top:0;width:1100px;height:600px;
  transform:translateX(-50%);
  background:radial-gradient(ellipse at top, rgba(255,255,255,.04), transparent 65%);
  pointer-events:none;z-index:1;
}
.trust3__bg{
  position:absolute;
  left:0;right:0;bottom:0;
  height:48%;
  z-index:0;
  pointer-events:none;
  overflow:hidden;
}
.trust3__bg img{
  display:block;
  width:95%;height:auto;
  max-width:1540px;
  margin:0 auto;
  position:absolute;left:50%;bottom:0;
  transform:translateX(-50%);
}
.trust3__bg-overlay{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,
      #000 0%,
      #000 12%,
      rgba(0,0,0,.72) 22%,
      rgba(0,0,0,.5) 36%,
      rgba(0,0,0,.42) 50%,
      rgba(0,0,0,.62) 62%,
      rgba(0,0,0,.85) 76%,
      rgba(0,0,0,.97) 88%,
      #000 94%,
      #000 100%
    ),
    linear-gradient(90deg,
      #000 0%,
      rgba(0,0,0,.45) 8%,
      rgba(0,0,0,.05) 28%,
      rgba(0,0,0,0) 50%,
      rgba(0,0,0,.05) 72%,
      rgba(0,0,0,.45) 92%,
      #000 100%
    );
}
.trust3__inner{
  position:relative;z-index:1;
  display:flex;flex-direction:column;gap:var(--sp-16);
}

.trust3__head{
  position:relative;
  display:flex;flex-direction:column;align-items:center;
  max-width:1000px;margin:0 auto;
  padding:var(--sp-6) 0;
  text-align:center;
}
.trust3__watermark{
  position:absolute;left:50%;top:50%;
  transform:translate(-50%,-50%);
  width:min(640px,92%);height:auto;
  opacity:.14;
  pointer-events:none;user-select:none;
  z-index:0;
}
.trust3__title{
  position:relative;z-index:1;
  font-family:var(--ff-display);
  font-size:40px;font-weight:300;
  letter-spacing:-.02em;line-height:1.22;
  color:#fff;margin:0;
  max-width:42ch;
  text-wrap:balance;
}
.trust3__title em{
  font-style:normal;
  color:#fff;
}

.trust3__seal{
  position:relative;z-index:1;
  display:inline-flex;align-items:center;gap:10px;
  margin-bottom:var(--sp-5);
  padding:7px 16px 7px 8px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
}
.trust3__seal img{
  height:22px;width:auto;display:block;
  flex-shrink:0;
}
.trust3__seal-text{
  font-family:var(--ff-mono);
  font-size:11px;font-weight:600;
  color:#fff;
  letter-spacing:.18em;text-transform:uppercase;line-height:1;
}

.trust3__creators{
  position:relative;z-index:1;
  margin-top:var(--sp-10);
  display:flex;flex-direction:column;align-items:center;
  gap:var(--sp-5);
}
.trust3__creators-cap{
  font-family:var(--ff-body);
  font-size:13px;font-weight:400;
  color:rgba(255,255,255,.55);
  letter-spacing:.005em;line-height:1.4;
  margin:0;text-align:center;
  font-style:italic;
}
.trust3__creators-row{
  display:flex;align-items:flex-start;justify-content:center;
  gap:40px;
}
.creator-mini{
  display:flex;align-items:center;gap:14px;
}
.creator-mini__avatar{
  width:60px;height:60px;border-radius:50%;
  object-fit:cover;flex-shrink:0;
  border:1px solid rgba(255,255,255,.2);
  box-shadow:0 0 0 4px rgba(255,255,255,.04);
  filter:grayscale(.2);
  transition:filter 500ms var(--ease-out),box-shadow 500ms var(--ease-out),border-color 500ms var(--ease-out),transform 500ms var(--ease-out);
}
.creator-mini:hover .creator-mini__avatar{
  filter:grayscale(0);
  border-color:rgba(255,255,255,.35);
  box-shadow:0 0 0 4px rgba(255,255,255,.08);
  transform:scale(1.06);
}
.creator-mini__body{
  display:flex;flex-direction:column;gap:5px;
  text-align:left;
}
.creator-mini__line{
  display:inline-flex;align-items:center;gap:7px;
}
.creator-mini__nick{
  font-family:var(--ff-display);
  font-size:14px;font-weight:600;
  color:#fff;letter-spacing:-.01em;line-height:1;
}
.creator-mini__verified{
  width:11px;height:11px;flex-shrink:0;
  display:block;
}
.creator-mini__yt,
.creator-mini__sp{
  display:inline-flex;align-items:center;justify-content:center;
  width:16px;height:16px;flex-shrink:0;
  color:rgba(255,255,255,.6);
  margin-left:1px;
  transition:color var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.creator-mini__yt:hover,
.creator-mini__sp:hover{color:#fff;transform:scale(1.1)}
.creator-mini__yt svg,
.creator-mini__sp svg{width:14px;height:14px;display:block}
.creator-mini__realname{
  font-family:var(--ff-body);
  font-size:12px;font-weight:400;
  color:rgba(255,255,255,.55);
  letter-spacing:.005em;line-height:1;
}

.trust3__cta{
  position:relative;z-index:1;
  display:flex;align-items:center;justify-content:center;
  gap:var(--sp-6);
  flex-wrap:wrap;
  margin-top:30px;
}
.btn--sm{
  padding:9px 14px;
  font-size:13px;
  gap:8px;
}
.btn--sm svg{width:13px;height:13px}
.btn--sm .btn__face--hover img{height:22px}

.trust3__brands{
  position:relative;
  padding-top:var(--sp-10);
}
.trust3__brands::before{
  content:"";
  position:absolute;left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg, transparent 0%, rgba(255,255,255,.12) 50%, transparent 100%);
}
.trust3__brands-row{
  display:flex;align-items:center;justify-content:center;
  flex-wrap:wrap;
  gap:140px;
}
.trust3__brand{
  position:relative;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
  padding:var(--sp-5) 0;
}
.trust3__brand:not(:last-child)::after{
  content:"";
  position:absolute;right:-70px;
  top:28%;bottom:28%;width:1px;
  background:rgba(255,255,255,.12);
}
.trust3__brand img{
  height:38px;width:auto;object-fit:contain;
  filter:brightness(0) invert(1);
  opacity:.5;
  transition:opacity 400ms var(--ease-out),transform 500ms var(--ease-out);
}
.trust3__brand:hover img{opacity:.95;transform:scale(1.08)}

.trust3__brand--autokofeina img{height:44px}
.trust3__brand--fxprotect img{height:18px}
.trust3__brand--careon img{height:36px}
.trust3__brand--gtechniq img{height:26px}
.trust3__brand--ultracoat img{height:28px}

@media(max-width:1024px){
  .trust3{padding:var(--sp-16) 0 var(--sp-20)}
  .trust3__inner{gap:var(--sp-12)}
}

@media(max-width:720px){
  .trust3{padding:var(--sp-12) 0 var(--sp-16)}
  .trust3__inner{gap:var(--sp-10)}
    .trust3__bg{
    height:50%;
    top:auto;bottom:0;
  }
  .trust3__bg img{
    width:170%;
    max-width:none;
    top:auto;bottom:0;
  }
    .trust3__bg-overlay{
    background:
      radial-gradient(ellipse 70% 60% at center 55%,
        rgba(0,0,0,.15) 0%,
        rgba(0,0,0,.45) 45%,
        rgba(0,0,0,.85) 80%,
        #000 100%
      ),
      linear-gradient(180deg,
        #000 0%,
        #000 18%,
        rgba(0,0,0,.85) 28%,
        rgba(0,0,0,.65) 42%,
        rgba(0,0,0,.6) 52%,
        rgba(0,0,0,.78) 64%,
        rgba(0,0,0,.94) 78%,
        #000 90%,
        #000 100%
      ),
      linear-gradient(90deg,
        #000 0%,
        rgba(0,0,0,.85) 10%,
        rgba(0,0,0,.45) 24%,
        rgba(0,0,0,.25) 50%,
        rgba(0,0,0,.45) 76%,
        rgba(0,0,0,.85) 90%,
        #000 100%
      );
  }
  .trust3__title{font-size:clamp(26px,4.4vw,34px);max-width:32ch;line-height:1.26}
    .trust3__watermark{width:min(820px,135%);opacity:.13}
  .trust3__seal{margin-bottom:var(--sp-4);padding:6px 14px 6px 7px;gap:8px}
  .trust3__seal img{height:20px}
  .trust3__creators{margin-top:var(--sp-8);gap:var(--sp-4)}
    .trust3__creators-row{
    display:grid;grid-template-columns:1fr 1fr;
    gap:18px 16px;
    justify-items:center;
  }
  .trust3__creators-row .creator-mini:nth-child(3){
    grid-column:1/-1;
  }
    .creator-mini{ gap:8px }
  .creator-mini__avatar{ width:44px;height:44px;box-shadow:0 0 0 2px rgba(255,255,255,.04) }
  .creator-mini__body{ gap:2px }
  .creator-mini__line{ gap:5px }
  .creator-mini__nick{ font-size:13px;font-weight:500 }
  .creator-mini__verified{ width:12px;height:12px }
  .creator-mini__realname{ font-size:11.5px }
  .creator-mini__yt,
  .creator-mini__sp{ width:13px;height:13px }
  .creator-mini__yt svg,
  .creator-mini__sp svg{ width:11px;height:11px }

    .trust3__brands{
    overflow:hidden;
    -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
            mask-image:linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
  }
  .trust3__brands-row{
    display:flex;
    flex-wrap:nowrap;
    width:max-content;
    justify-content:flex-start;
    gap:90px;
    animation:brandsMarquee 26s linear infinite;
  }
  @keyframes brandsMarquee{
    from{ transform:translateX(0) }
    to  { transform:translateX(-33.333%) }
  }
  .trust3__brand:not(:last-child)::after{display:none}
  .trust3__brand{padding:var(--sp-3) 0}
  .trust3__brand img{height:40px}
  .trust3__brand--autokofeina img{height:46px}
  .trust3__brand--fxprotect img{height:20px}
  .trust3__brand--careon img{height:44px}
  .trust3__brand--gtechniq img{height:33px}
}

@media(max-width:480px){
  .trust3__title{font-size:clamp(22px,5.4vw,28px);max-width:24ch;line-height:1.3}
  .trust3__watermark{width:120%}
  .trust3__seal img{height:18px}
  .trust3__creators-row{grid-template-columns:1fr 1fr;gap:12px 10px}
  .creator-mini__avatar{width:40px;height:40px}
  .creator-mini__nick{font-size:12px}
  .creator-mini__realname{font-size:10.5px}
  .trust3__brands-row{gap:70px}    .trust3__brand img{height:34px}
  .trust3__brand--autokofeina img{height:40px}
  .trust3__brand--fxprotect img{height:16px}
  .trust3__brand--careon img{height:38px}
  .trust3__brand--gtechniq img{height:27px}
}

.services{
  position:relative;
  background:#000;
  padding:var(--sp-32) 0;
  overflow:hidden;
  isolation:isolate;
}
.services__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:var(--sp-8);
  flex-wrap:wrap;
}
.services__title{
  flex:0 1 auto;
  font-family:var(--ff-display);
  font-size:40px;font-weight:300;
  letter-spacing:-.02em;line-height:1.22;
  color:#fff;margin:0;
  max-width:22ch;
  text-wrap:balance;
}
.services__lead{
  flex:0 1 auto;
  font-family:var(--ff-body);
  font-size:15px;font-weight:400;
  color:rgba(255,255,255,.7);
  line-height:1.6;letter-spacing:.005em;
  margin:0;max-width:36ch;
}
.services__cta{
  flex:0 0 auto;
  display:flex;
  padding-bottom:4px;
}

.services__split{
  display:grid;
  grid-template-columns:70% 30%;
  gap:var(--sp-10);
  margin-top:var(--sp-12);
  align-items:stretch;
}

.services__bento{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  grid-template-rows:minmax(220px,1fr) minmax(220px,1fr);
  gap:var(--sp-5);
}
.tile{
  position:relative;
  display:flex;flex-direction:column;justify-content:space-between;
  padding:var(--sp-5);
  overflow:hidden;
  border-radius:14px;
  background-color:#0a0a0a;
  color:#fff;text-decoration:none;
  isolation:isolate;
  transition:transform 700ms var(--ease-out),box-shadow 700ms var(--ease-out);
  will-change:transform;
}
.tile::after{
  content:"";position:absolute;inset:0;z-index:0;
  background-image:var(--bg);
  background-size:cover;background-position:center;
  transition:transform 1800ms var(--ease-out);
  pointer-events:none;
}
.tile::before{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg, rgba(0,0,0,.1) 0%, rgba(0,0,0,.4) 35%, rgba(0,0,0,.85) 75%, rgba(0,0,0,.98) 100%);
  pointer-events:none;
}
.tile:hover{transform:scale(1.025);box-shadow:0 30px 60px -25px rgba(0,0,0,.85)}
.tile:hover::after{transform:scale(1.08)}
.tile > *{position:relative;z-index:2}

.tile__num{
  font-family:var(--ff-mono);
  font-size:10px;font-weight:500;
  color:rgba(255,255,255,.7);
  letter-spacing:.06em;line-height:1;
}

.tile__badge{
  position:absolute;top:14px;right:14px;z-index:3;
  display:inline-flex;align-items:center;
  padding:6px 11px;
  background:rgba(255,255,255,.95);
  color:#000;
  border-radius:999px;
  font-family:var(--ff-body);
  font-size:10px;font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;
  line-height:1;
  box-shadow:0 6px 18px -6px rgba(0,0,0,.6);
}

.tile__title{
  font-family:var(--ff-display);
  font-size:17px;font-weight:500;
  letter-spacing:-.01em;line-height:1.15;
  color:#fff;margin:0;
}
.tile__bottom{display:flex;flex-direction:column;gap:8px}
.tile__desc{
  font-family:var(--ff-body);
  font-size:12px;font-weight:400;
  color:rgba(255,255,255,.78);
  line-height:1.45;letter-spacing:.005em;
  margin:0;max-width:36ch;
}

.tile__cta{
  display:inline-flex;align-items:center;gap:7px;
  margin-top:6px;padding-top:10px;
  align-self:flex-start;
  border-top:1px solid rgba(255,255,255,.16);
  font-family:var(--ff-body);
  font-size:13px;font-weight:500;
  color:#fff;letter-spacing:.005em;
  line-height:1;
  transition:gap var(--dur) var(--ease),border-color var(--dur) var(--ease);
}
.tile:hover .tile__cta{
  gap:11px;
  border-color:rgba(255,255,255,.4);
}

.tile--big{
  grid-column:1;grid-row:1 / 3;
  padding:var(--sp-8);
}
.tile--big .tile__title{
  font-size:clamp(28px,2.4vw,36px);font-weight:400;
  letter-spacing:-.025em;line-height:1.05;
}
.tile--big .tile__desc{
  font-size:13px;max-width:46ch;line-height:1.55;
}
.tile--big .tile__cta{
  font-size:11px;
}
.tile--big .tile__cta svg{width:13px;height:13px}

.tile--big .tile__tags{
  display:flex;flex-wrap:wrap;gap:6px;
  margin-top:4px;
}
.tile--big .tile__tag{
  padding:5px 11px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  font-family:var(--ff-mono);
  font-size:10px;font-weight:500;
  color:rgba(255,255,255,.88);
  letter-spacing:.04em;line-height:1;
  white-space:nowrap;
}

.tile--big .tile__meta{
  display:flex;align-items:center;gap:9px;flex-wrap:wrap;
  margin-top:4px;
  font-family:var(--ff-body);
  font-size:12px;font-weight:400;
  color:rgba(255,255,255,.7);line-height:1.3;
}
.tile--big .tile__meta strong{
  font-weight:600;color:#fff;letter-spacing:.005em;
}
.tile--big .tile__meta-dot{
  color:rgba(255,255,255,.3);
}

.tile:not(.tile--big){
  min-height:0;
}

.services__diff{
  position:relative;
  display:flex;flex-direction:column;
  gap:var(--sp-4);
  padding:var(--sp-8);
  background:
    radial-gradient(ellipse at top, rgba(255,255,255,.07), transparent 65%),
    #040404;
  border:1px solid rgba(255,255,255,.1);
  border-radius:14px;
  overflow:hidden;
  isolation:isolate;
}
.services__diff-video{
  position:absolute;inset:0;z-index:0;
  width:100%;height:100%;
  object-fit:cover;
  filter:brightness(.4) saturate(1.1) contrast(1.02);
  pointer-events:none;
}
.services__diff::before{
  content:"";
  position:absolute;inset:0;z-index:0;
  background:
    radial-gradient(ellipse at top, rgba(255,255,255,.06), transparent 60%),
    linear-gradient(180deg, rgba(0,0,0,.25) 0%, rgba(0,0,0,.55) 60%, rgba(0,0,0,.7) 100%);
  pointer-events:none;
}
.services__diff > *:not(.services__diff-video){position:relative;z-index:1}
.services__diff-logo{
  height:52px;width:auto;
  align-self:flex-start;
  margin-bottom:var(--sp-2);
  opacity:.95;
  flex-shrink:0;
}
.services__diff-title{
  font-family:var(--ff-display);
  font-size:clamp(20px,2.2vw,26px);font-weight:300;
  letter-spacing:-.015em;line-height:1.25;
  color:#fff;margin:0;
}
.services__diff-lead{
  font-family:var(--ff-body);
  font-size:13px;font-weight:400;
  color:rgba(255,255,255,.65);
  line-height:1.55;letter-spacing:.005em;
  margin:0;
}
.services__diff-quote{
  margin:0;
  padding:var(--sp-4) 0 0;
  border-top:1px solid rgba(255,255,255,.08);
}
.services__diff-quote em{
  font-family:var(--ff-display);
  font-style:italic;font-weight:300;
  font-size:13px;line-height:1.3;
  letter-spacing:.005em;
  color:#fff;
  white-space:nowrap;
}

.services__diff-checks{
  list-style:none;margin:0;padding:0;
  display:flex;flex-direction:column;gap:11px;
}
.services__diff-checks li{
  display:flex;align-items:center;gap:11px;
  padding:0;background:none;border:none;border-radius:0;
  font-family:var(--ff-body);
  font-size:13px;font-weight:400;
  color:rgba(255,255,255,.78);line-height:1.4;
}
.services__diff-checks li svg{
  width:11px;height:11px;flex-shrink:0;
  color:rgba(255,255,255,.5);
  padding:0;background:none;border-radius:0;
  stroke-width:2;
}

.services__diff-stats{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:var(--sp-3);
  padding-top:var(--sp-4);
  border-top:1px solid rgba(255,255,255,.08);
  background:none;border-radius:0;
  overflow:visible;
}
.services__stat{
  display:flex;flex-direction:column;gap:5px;
  padding:0;background:none;
  align-items:flex-start;
}
.services__stat::before{
  content:none;
}
.services__stat-num{
  font-family:var(--ff-display);
  font-size:clamp(20px,1.8vw,24px);font-weight:300;
  letter-spacing:-.025em;line-height:1;
  color:#fff;
  display:inline-flex;align-items:baseline;gap:2px;
  white-space:nowrap;
}
.services__stat-num em{
  font-style:normal;font-size:.5em;font-weight:400;
  color:rgba(255,255,255,.5);
}
.services__stat-label{
  font-family:var(--ff-body);
  font-size:10px;font-weight:500;
  color:rgba(255,255,255,.45);
  letter-spacing:.08em;line-height:1.3;
  text-transform:uppercase;
}

.diff-portfolio{
  display:flex;flex-direction:column;gap:10px;
  padding-top:var(--sp-3);
  border-top:1px solid rgba(255,255,255,.08);
}
.diff-portfolio__label{
  font-family:var(--ff-body);
  font-size:11px;font-weight:500;
  color:rgba(255,255,255,.55);
  letter-spacing:.14em;text-transform:uppercase;line-height:1;
}
.diff-portfolio__viewport{
  position:relative;overflow:hidden;
  container-type:inline-size;
  mask-image:linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%);
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%);
}
.diff-portfolio__track{
  display:flex;gap:8px;
  width:max-content;
  animation:portfolio-scroll 28s linear infinite;
  will-change:transform;
}
.diff-portfolio__viewport:hover .diff-portfolio__track{
  animation-play-state:paused;
}
@keyframes portfolio-scroll{
  from{transform:translateX(0)}
  to{transform:translateX(calc(-50% - 4px))}
}
.portfolio-slide{
  position:relative;display:block;
  flex:0 0 calc((100cqi - 16px) / 3);
  aspect-ratio:4/3;
  border-radius:10px;
  overflow:hidden;
  text-decoration:none;
  isolation:isolate;
  transition:transform 700ms var(--ease-out),box-shadow 700ms var(--ease-out);
  will-change:transform;
}
.portfolio-slide img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;
  transition:transform 1600ms var(--ease-out);
}
.portfolio-slide:hover{
  transform:scale(1.03);
  box-shadow:0 20px 40px -15px rgba(0,0,0,.7);
}
.portfolio-slide:hover img{transform:scale(1.06)}
.portfolio-slide__shade{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg, rgba(0,0,0,.05) 0%, rgba(0,0,0,.45) 55%, rgba(0,0,0,.9) 100%);
  pointer-events:none;
}
.portfolio-slide__bottom{
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  display:flex;align-items:center;justify-content:space-between;gap:6px;
  padding:9px 11px;
}
.portfolio-slide__title{
  flex:1;min-width:0;
  font-family:var(--ff-display);
  font-size:11px;font-weight:500;
  color:#fff;letter-spacing:-.005em;line-height:1.1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.portfolio-slide__arrow{
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
  color:#fff;
  transition:transform var(--dur) var(--ease);
}
.portfolio-slide__arrow svg{width:11px;height:11px}
.portfolio-slide:hover .portfolio-slide__arrow{
  transform:translate(2px,-2px);
}

.services__diff-cta{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:11px 16px;
  margin-top:auto;
  padding-top:11px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  text-decoration:none;
  align-self:flex-start;
  transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.services__diff-cta:hover{
  background:rgba(255,255,255,.1);
  border-color:rgba(255,255,255,.28);
  transform:translateY(-1px);
}
.services__diff-cta-label{
  font-family:var(--ff-body);
  font-size:12px;font-weight:500;
  color:rgba(255,255,255,.85);letter-spacing:.005em;line-height:1;
}
.services__diff-cta-logo{
  height:16px;width:auto;display:block;
  transform:translateY(2px);
}

@media(max-width:1024px){
  .services__split{
    grid-template-columns:1fr;
    gap:var(--sp-8);
    margin-top:var(--sp-10);
  }
  .services__bento{aspect-ratio:auto;grid-template-rows:280px 200px 200px}
  .tile--big{grid-row:1;grid-column:1 / 4}
  .tile:nth-child(2){grid-column:1 / 3;grid-row:2}
  .tile:nth-child(3){grid-column:3 / 4;grid-row:2}
  .tile:nth-child(4){grid-column:1 / 2;grid-row:3}
  .tile:nth-child(5){grid-column:2 / 4;grid-row:3}
}
.services__bento-wrap{display:contents}

@media(max-width:720px){
  .services__split{margin-top:var(--sp-8);gap:var(--sp-6)}

    .services__bento-wrap{
    display:block;
    width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    overflow:hidden;
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 6%,#000 94%,transparent 100%);
            mask-image:linear-gradient(90deg,transparent 0%,#000 6%,#000 94%,transparent 100%);
  }

    .services__bento{
    display:flex;
    grid-template:none;
    grid-template-columns:none;
    grid-template-rows:none;
    gap:10px;
    padding:4px 16px;
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
    -ms-overflow-style:none;
    -webkit-overflow-scrolling:touch;
  }
  .services__bento::-webkit-scrollbar{display:none}

    .tile{
    flex:0 0 70vw;
    width:70vw;
    aspect-ratio:4/5;
    height:auto;
    grid-column:auto;
    grid-row:auto;
    padding:var(--sp-4);
    border:0;
    border-radius:14px;
  }
  .tile--big{
    grid-column:auto;grid-row:auto;
    padding:var(--sp-4);
    flex:0 0 70vw;
    width:70vw;
    aspect-ratio:4/5;
    height:auto;
  }
  .tile--big .tile__title{font-size:17px;font-weight:500;letter-spacing:-.01em;line-height:1.18}
  .tile--big .tile__desc{font-size:11.5px;line-height:1.5;max-width:none}
  .tile--big .tile__tags{display:none}
  .tile--big .tile__cta{font-size:11px}
  .tile--big .tile__cta svg{width:11px;height:11px}
  .tile__bottom{gap:5px}
  .tile__title{font-size:15.5px;line-height:1.2}
  .tile__desc{font-size:11.5px;line-height:1.45;max-width:none;margin:0}
  .tile__cta{font-size:11px;padding-top:8px;margin-top:auto;gap:5px}
  .tile__cta svg{width:11px;height:11px}
  .tile__num{font-size:10px}
  .tile__badge{padding:5px 10px;font-size:9px;top:11px;right:11px}

  .services__diff{padding:var(--sp-5);gap:var(--sp-3)}
  .services__diff-title{font-size:clamp(18px,4.6vw,22px)}
}

@media(max-width:480px){
  .tile,
  .tile--big{flex-basis:78vw;width:78vw;padding:var(--sp-3)}
  .tile__title{font-size:14.5px}
  .tile--big .tile__title{font-size:16.5px}
  .tile__desc{font-size:11px}
  .tile--big .tile__desc{font-size:11px;line-height:1.45}
  .services__diff-checks li{font-size:12px}
}

.btn--dark{
  background:linear-gradient(135deg,#0d0d0d 0%,#1a1a1a 50%,#0a0a0a 100%);
  color:#fff;
  border:1px solid rgba(255,255,255,.22);
  box-shadow:
    0 20px 44px -12px rgba(0,0,0,.7),
    inset 0 1px 0 rgba(255,255,255,.08),
    inset 0 0 24px rgba(255,255,255,.04);
  transition:background 420ms var(--ease),color 420ms var(--ease),
             border-color 420ms var(--ease),box-shadow 420ms var(--ease);
}
.btn--dark:hover{
  background:#fff;
  color:#000;
  border-color:transparent;
  box-shadow:0 10px 30px -10px rgba(255,255,255,.18);
}
.btn__logo{
  height:20px;width:auto;display:block;
  flex-shrink:0;
}

@media(max-width:1024px){
  .services{padding:var(--sp-16) 0}
  .services__head{align-items:flex-start;gap:var(--sp-6)}
  .services__lead{flex-basis:100%;max-width:none}
  .services__cta{padding-bottom:0}
}

@media(max-width:720px){
  .services{padding:var(--sp-12) 0}
  .services__head{gap:var(--sp-5)}
  .services__title{font-size:clamp(28px,4.8vw,36px);line-height:1.26;flex-basis:100%}
  .services__lead{font-size:14px;line-height:1.6}
  .btn__logo{height:18px}
}

@media(max-width:480px){
  .services__title{font-size:clamp(24px,5.8vw,30px);line-height:1.3}
  .services__lead{font-size:13px}
  .btn__logo{height:16px}
}

.manifest{
  position:relative;
  padding:var(--sp-24) 0;
  background:#000;
  overflow:hidden;
  isolation:isolate;
}
.manifest__inner{
  position:relative;z-index:1;
  display:grid;grid-template-columns:1fr 1.15fr;
  gap:var(--sp-12);
  align-items:center;
  max-width:1180px;margin:0 auto;
}

.manifest__left{
  display:flex;flex-direction:column;
  gap:var(--sp-6);
  max-width:48ch;
}
.manifest__lead{
  font-family:var(--ff-body);
  font-size:15px;font-weight:400;
  color:rgba(255,255,255,.7);
  line-height:1.65;letter-spacing:.005em;
  margin:0;
}
.manifest__cta{
  display:flex;align-items:center;
  gap:var(--sp-6);
  flex-wrap:wrap;
}

.manifest__right{
  display:flex;flex-direction:column;
  gap:var(--sp-4);
  align-items:flex-start;
}
.manifest__quote{
  font-family:var(--ff-display);
  font-size:clamp(28px,3vw,42px);font-weight:300;
  letter-spacing:-.018em;line-height:1.2;
  color:#fff;margin:0;
  max-width:18ch;
  text-wrap:balance;
}
.manifest__quote em{
  font-style:italic;font-weight:300;
  color:#fff;
}
.manifest__cite{
  font-family:var(--ff-body);
  font-size:11px;font-weight:500;
  color:rgba(255,255,255,.5);
  letter-spacing:.18em;text-transform:uppercase;line-height:1.4;
}

@media(max-width:1024px){
  .manifest{padding:var(--sp-20) 0}
  .manifest__inner{
    grid-template-columns:1fr;
    gap:var(--sp-8);
  }
  .manifest__right{order:-1}
  .manifest__left{max-width:none}
}

@media(max-width:720px){
  .manifest{padding:var(--sp-16) 0}
  .manifest__inner{gap:var(--sp-6)}
  .manifest__quote{font-size:clamp(22px,5vw,30px);max-width:18ch}
  .manifest__cite{font-size:10px;letter-spacing:.14em}
  .manifest__lead{font-size:14px;line-height:1.6}
  .manifest__cta{gap:var(--sp-5)}
}

@media(max-width:480px){
  .manifest{padding:var(--sp-12) 0}
  .manifest__quote{font-size:clamp(20px,5.4vw,26px)}
  .manifest__cite{font-size:9px}
  .manifest__lead{font-size:13px}
  .manifest__quote br{display:none}
  .manifest__quote em{display:inline}
}

.door{
  position:relative;
  background:#000;
  padding:var(--sp-32) 0;
  isolation:isolate;
  overflow:hidden;
}
.door::before{
  content:"";
  position:absolute;left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg, transparent 0%, rgba(255,255,255,.1) 25%, rgba(255,255,255,.1) 75%, transparent 100%);
}
.door__layout{
  position:relative;z-index:1;
  display:grid;
  grid-template-columns:1.4fr 1fr .95fr;
  gap:var(--sp-8);
  align-items:stretch;
}

.door__content{
  position:relative;
  display:flex;flex-direction:column;
  gap:var(--sp-5);
  justify-content:center;
}
.door__content::before{
  content:"";
  position:absolute;
  left:-24px;top:8%;bottom:8%;
  width:1px;
  background:linear-gradient(180deg,
    transparent 0%,
    rgba(255,255,255,.18) 12%,
    rgba(255,255,255,.32) 50%,
    rgba(255,255,255,.18) 88%,
    transparent 100%
  );
}

.door__chip{
  display:inline-flex;align-items:center;gap:10px;
  align-self:flex-start;
  padding:7px 16px 7px 7px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(0,0,0,.55);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
}
.door__chip-logo{
  height:24px;width:auto;display:block;flex-shrink:0;
}
.door__chip-label{
  font-family:var(--ff-body);
  font-size:12px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;
  color:#fff;line-height:1;
}

.door__title{
  font-family:var(--ff-display);
  font-size:40px;
  font-weight:300;
  letter-spacing:-.02em;line-height:1.22;
  color:#fff;margin:0;
  text-wrap:balance;
  max-width:18ch;
}
.door__title-mark{
  position:relative;
  font-weight:400;
  background:linear-gradient(180deg, #fff 0%, rgba(255,255,255,.55) 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
}

.door__lead{
  font-family:var(--ff-body);
  font-size:15px;font-weight:400;
  color:rgba(255,255,255,.7);
  line-height:1.7;letter-spacing:.005em;
  margin:0;max-width:50ch;
}

.door__features{
  list-style:none;padding:0;margin:var(--sp-2) 0 0;
  display:flex;flex-direction:column;
  gap:0;
}
.door__features li{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:var(--sp-4);
  align-items:flex-start;
  padding:var(--sp-3) 0;
  border-bottom:1px solid rgba(255,255,255,.08);
  transition:border-color var(--dur) var(--ease);
}
.door__features li:hover{border-bottom-color:rgba(255,255,255,.18)}
.door__features li:first-child{padding-top:0}
.door__features li:last-child{border-bottom:none;padding-bottom:0}

.door__feat-icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:38px;height:38px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.02);
  color:#fff;
  flex-shrink:0;
  margin-top:2px;
  transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease);
}
.door__features li:hover .door__feat-icon{
  border-color:rgba(255,255,255,.32);
  background:rgba(255,255,255,.06);
}
.door__feat-icon svg{width:18px;height:18px;}
.door__feat-body{
  display:flex;flex-direction:column;
  gap:3px;
  min-width:0;
}
.door__feat-title{
  font-family:var(--ff-body);
  font-size:15px;font-weight:500;
  letter-spacing:-.01em;line-height:1.25;
  color:#fff;
}
.door__feat-desc{
  font-family:var(--ff-body);
  font-size:13px;font-weight:400;
  color:rgba(255,255,255,.55);
  line-height:1.5;letter-spacing:.005em;
}

.door__cta-row{
  display:flex;align-items:center;
  gap:var(--sp-3);flex-wrap:wrap;
  margin-top:var(--sp-3);
}

.door__phone{
  display:inline-flex;align-items:center;
  gap:10px;
  padding:0 4px;
  color:rgba(255,255,255,.85);text-decoration:none;
  font-family:var(--ff-body);
  font-size:14px;font-weight:500;
  letter-spacing:-.005em;
  transition:color var(--dur) var(--ease);
}
.door__phone svg{
  color:rgba(255,255,255,.55);
  transition:color var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.door__phone:hover{color:#fff}
.door__phone:hover svg{
  color:#fff;
  transform:rotate(-12deg);
}

.door__photo{
  position:relative;margin:0;
  width:100%;height:100%;
  min-height:480px;
  overflow:hidden;
  border-radius:18px;
  background:#0a0a0a;
  box-shadow:0 30px 80px -25px rgba(0,0,0,.85);
}
.door__photo img{
  width:100%;height:100%;
  object-fit:cover;object-position:center center;
  transition:transform 1400ms var(--ease);
}
.door__photo:hover img{transform:scale(1.04)}

.door__how{
  display:flex;flex-direction:column;
  gap:var(--sp-5);
  justify-content:center;
  align-self:center;
}
.door__how-title{
  font-family:var(--ff-body);
  font-size:clamp(20px,2vw,26px);
  font-weight:300;
  letter-spacing:-.025em;line-height:1.15;
  color:#fff;margin:0;
}
.door__how-steps{
  list-style:none;padding:0;margin:0;
  display:flex;flex-direction:column;
  position:relative;
}
.door__how-steps::before{
  content:"";
  position:absolute;
  left:18px;top:30px;bottom:30px;
  width:1px;
  background:linear-gradient(180deg,
    transparent 0%,
    rgba(255,255,255,.18) 8%,
    rgba(255,255,255,.18) 92%,
    transparent 100%
  );
}
.door__how-step{
  position:relative;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:var(--sp-4);
  align-items:flex-start;
  padding:var(--sp-3) 0;
}
.door__how-num{
  position:relative;z-index:1;
  display:inline-flex;align-items:center;justify-content:center;
  width:36px;height:36px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.2);
  background:#000;
  font-family:var(--ff-body);
  font-size:12px;font-weight:500;
  letter-spacing:.04em;
  color:#fff;
  flex-shrink:0;
  transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease);
}
.door__how-step:hover .door__how-num{
  border-color:#fff;
  background:#fff;color:#000;
}
.door__how-body{
  display:flex;flex-direction:column;
  gap:4px;min-width:0;
  padding-top:6px;
}
.door__how-step-title{
  font-family:var(--ff-body);
  font-size:15px;font-weight:500;
  letter-spacing:-.005em;line-height:1.3;
  color:#fff;margin:0;
}
.door__how-step-desc{
  font-family:var(--ff-body);
  font-size:13px;font-weight:400;
  color:rgba(255,255,255,.6);
  line-height:1.55;letter-spacing:.005em;
  margin:0;
}

@media(max-width:1200px){
  .door__layout{
    grid-template-columns:1fr 1fr;
    gap:var(--sp-8);
  }
  .door__content{grid-column:1 / -1}
  .door__photo{grid-column:1;grid-row:2}
  .door__how{grid-column:2;grid-row:2}
}
@media(max-width:1024px){
  .door{padding:var(--sp-24) 0}
  .door__layout{
    grid-template-columns:1fr;
  }
  .door__content,.door__photo,.door__how{grid-column:1;grid-row:auto}
  .door__photo{
    aspect-ratio:16/10;
    height:auto;min-height:0;
    max-width:600px;margin:0 auto;width:100%;
  }
}
@media(max-width:720px){
  .door{padding:var(--sp-16) 0}
  .door__title{font-size:clamp(28px,4.8vw,36px);line-height:1.26}
  .door__lead{font-size:14px}
    .door__features{grid-template-columns:1fr;gap:14px}
  .door__features li{font-size:13px;border-bottom:0;padding:0}
  .door__features li:first-child{padding-top:0}
  .door__features li:last-child{padding-bottom:0}
  .door__feat-icon{width:32px;height:32px;border-radius:8px}
  .door__feat-icon svg{width:15px;height:15px}
  .door__feat-title{font-size:13px;line-height:1.2}
  .door__feat-desc{font-size:11.5px;line-height:1.45}
  .door__cta-row{gap:var(--sp-4)}
  .door__photo{aspect-ratio:4/3}
}
@media(max-width:480px){
  .door__title{font-size:clamp(24px,5.8vw,30px);line-height:1.3}
  .door__chip-label{font-size:11px}
  .door__feat-title{font-size:12.5px}
  .door__feat-desc{font-size:11px}
}

.academy{
  position:relative;
  padding:var(--sp-32) 0;
  background:#000;
  isolation:isolate;
  overflow:hidden;
}

.academy__bg{
  position:absolute;inset:0;z-index:0;
  pointer-events:none;
}
.academy__bg img{
  display:block;
  width:100%;height:100%;
  object-fit:cover;
  object-position:center center;
}
.academy__bg-overlay{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,
      #000 0%,
      rgba(0,0,0,.55) 5%,
      rgba(0,0,0,.15) 14%,
      rgba(0,0,0,0) 28%,
      rgba(0,0,0,0) 72%,
      rgba(0,0,0,.15) 86%,
      rgba(0,0,0,.55) 95%,
      #000 100%
    ),
    linear-gradient(90deg,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,.12) 35%,
      rgba(0,0,0,.62) 58%,
      rgba(0,0,0,.92) 78%,
      #000 100%
    );
}

.academy__inner{
  position:relative;z-index:1;
  display:flex;justify-content:flex-end;
}
.academy__content{
  display:flex;flex-direction:column;
  gap:var(--sp-5);
  max-width:580px;
}
.academy__photo{
  position:relative;margin:0;
  width:100%;
  aspect-ratio:1/1;
  overflow:hidden;
  border-radius:14px;
  background:#0a0a0a;
  box-shadow:0 30px 60px -25px rgba(0,0,0,.85);
}
.academy__photo img{
  width:100%;height:100%;object-fit:cover;object-position:center 55%;
  filter:contrast(1.05) brightness(.96);
  transition:transform 1400ms var(--ease);
}
.academy__photo:hover img{transform:scale(1.04)}

.academy__photo-badge{
  position:absolute;right:16px;bottom:16px;z-index:2;
  display:inline-flex;align-items:center;gap:9px;
  padding:9px 14px;
  background:rgba(0,0,0,.6);
  border:1px solid rgba(255,255,255,.2);
  border-radius:999px;
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  color:#fff;text-decoration:none;
  transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.academy__photo-badge:hover{
  background:#fff;color:#000;border-color:#fff;
  transform:translateY(-1px);
}
.academy__photo-badge-dot{
  position:relative;
  width:7px;height:7px;flex-shrink:0;
  background:#22c55e;border-radius:50%;
}
.academy__photo-badge-dot::after{
  content:"";
  position:absolute;inset:-3px;
  border-radius:50%;
  background:#22c55e;opacity:.5;
  animation:academyPulse 1.8s ease-out infinite;
}
@keyframes academyPulse{
  0%{transform:scale(.6);opacity:.6}
  100%{transform:scale(1.8);opacity:0}
}
.academy__photo-badge:hover .academy__photo-badge-dot{background:#16a34a}
.academy__photo-badge-text{
  font-family:var(--ff-body);
  font-size:12px;font-weight:600;
  letter-spacing:.04em;line-height:1;
  white-space:nowrap;
}
.academy__photo-badge svg{transition:transform var(--dur) var(--ease)}
.academy__photo-badge:hover svg{transform:translateX(2px)}

.academy__chip{
  display:inline-flex;align-items:center;gap:10px;
  padding:7px 16px 7px 7px;
  background:rgba(0,0,0,.55);
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  align-self:flex-start;
}
.academy__chip-logo{
  height:24px;width:auto;display:block;flex-shrink:0;
}
.academy__chip-label{
  font-family:var(--ff-body);
  font-size:11px;font-weight:600;
  color:#fff;
  letter-spacing:.16em;text-transform:uppercase;line-height:1;
}
.academy__title{
  font-family:var(--ff-display);
  font-size:40px;font-weight:300;
  letter-spacing:-.02em;line-height:1.22;
  color:#fff;margin:0;
}
.academy__subtitle{
  font-family:var(--ff-body);
  font-size:15px;font-weight:400;
  color:rgba(255,255,255,.6);
  line-height:1.5;letter-spacing:.005em;
  margin:-12px 0 0;
}
.academy__lead{
  font-family:var(--ff-body);
  font-size:15px;font-weight:400;
  color:rgba(255,255,255,.78);
  line-height:1.7;letter-spacing:.005em;
  margin:0;max-width:54ch;
  padding-top:var(--sp-3);
  border-top:1px solid rgba(255,255,255,.08);
}
.academy__features{
  list-style:none;margin:var(--sp-2) 0 0;padding:0;
  display:grid;grid-template-columns:1fr 1fr;
  gap:11px var(--sp-5);
}
.academy__features li{
  display:flex;align-items:center;gap:9px;
  font-family:var(--ff-body);
  font-size:13px;font-weight:400;
  color:rgba(255,255,255,.82);line-height:1.4;
}
.academy__features svg{
  width:12px;height:12px;flex-shrink:0;
  color:rgba(255,255,255,.55);
}

.academy__cta-row{
  display:flex;align-items:center;gap:var(--sp-6);flex-wrap:wrap;
  margin-top:var(--sp-3);
}
.academy__stat{
  display:inline-flex;align-items:center;
  gap:7px;
  padding-left:var(--sp-5);
  border-left:1px solid rgba(255,255,255,.12);
}
.academy__stat-num{
  font-family:var(--ff-display);
  font-size:18px;font-weight:500;
  letter-spacing:-.015em;line-height:1;
  color:#fff;
  display:inline-flex;align-items:baseline;
}
.academy__stat-num em{
  font-style:normal;font-size:.7em;font-weight:400;
  color:rgba(255,255,255,.6);margin-left:1px;
}
.academy__stat-label{
  font-family:var(--ff-body);
  font-size:12px;font-weight:400;
  color:rgba(255,255,255,.62);
  letter-spacing:.005em;line-height:1;
  white-space:nowrap;
}

@media(max-width:1024px){
  .academy{padding:var(--sp-24) 0}
  .academy__content{max-width:560px}
}

@media(max-width:720px){
  .academy{padding:var(--sp-20) 0}
  .academy__bg img{object-position:right center}
  .academy__bg-overlay{
    background:
      linear-gradient(180deg,
        rgba(0,0,0,.75) 0%,
        rgba(0,0,0,.3) 18%,
        rgba(0,0,0,.1) 40%,
        rgba(0,0,0,.1) 62%,
        rgba(0,0,0,.5) 88%,
        #000 100%
      );
  }
  .academy__chip{padding:6px 13px 6px 6px;gap:8px}
  .academy__chip-logo{height:20px}
  .academy__chip-label{font-size:10px;letter-spacing:.14em}
  .academy__title{font-size:clamp(28px,4.8vw,36px);line-height:1.26}
  .academy__subtitle{font-size:14px;margin-top:-8px}
  .academy__lead{font-size:14px;line-height:1.6;border-top:0;padding-top:0}
  .academy__features{grid-template-columns:1fr;gap:10px}
    .academy__cta-row{gap:var(--sp-4);align-items:center}
  .academy__stat{padding-left:0;border-left:0}
}

@media(max-width:480px){
  .academy{padding:var(--sp-16) 0}
  .academy__bg img{object-position:85% center}
  .academy__title{font-size:clamp(24px,5.8vw,30px);line-height:1.3}
  .academy__subtitle{font-size:13px}
  .academy__lead{font-size:13px}
  .academy__features li{font-size:12px}
    .academy__cta-row{flex-direction:row;align-items:center;flex-wrap:wrap;gap:var(--sp-4)}
  .academy__stat{padding-left:0;border-left:0;border-top:0;padding-top:0;width:auto}
  .academy__stat-num{font-size:16px}
  .academy__stat-label{font-size:11px}
}

.reviews{
  position:relative;
  background:#000;
  padding:var(--sp-32) 0 var(--sp-12);
  isolation:isolate;
  overflow:hidden;
}
.reviews::before{
  content:"";
  position:absolute;left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg, transparent 0%, rgba(255,255,255,.1) 25%, rgba(255,255,255,.1) 75%, transparent 100%);
}
.reviews__watermark{
  position:absolute;left:50%;top:50%;
  transform:translate(-50%,-50%);
  width:min(740px,92%);height:auto;
  opacity:.06;
  pointer-events:none;user-select:none;
  z-index:0;
}
.reviews__inner{
  position:relative;z-index:1;
  display:flex;flex-direction:column;
  gap:var(--sp-10);
}

.reviews__head{
  display:flex;flex-direction:column;align-items:center;text-align:center;
  gap:var(--sp-5);
  max-width:780px;margin:0 auto;
}
.reviews__title{
  font-family:var(--ff-body);
  font-size:clamp(34px,4vw,60px);
  font-weight:200;
  letter-spacing:-.035em;line-height:1.05;
  color:#fff;margin:0;
  max-width:18ch;text-wrap:balance;
}
.reviews__rating{
  display:inline-flex;align-items:center;
  gap:var(--sp-3);
  flex-wrap:wrap;justify-content:center;
}
.reviews__rating-stars{
  display:flex;align-items:center;gap:3px;
  color:#fde047;
}
.reviews__rating-stars svg{width:18px;height:18px}
.reviews__rating-num{
  font-family:var(--ff-body);
  font-size:18px;font-weight:500;
  letter-spacing:-.01em;
  color:#fff;
}
.reviews__rating-num em{
  font-style:normal;font-size:.78em;font-weight:400;
  color:rgba(255,255,255,.5);
}
.reviews__rating-cap{
  display:inline-flex;align-items:center;gap:6px;
  font-family:var(--ff-body);font-size:14px;font-weight:400;
  letter-spacing:.005em;
  color:rgba(255,255,255,.6);
}
.reviews__rating-cap img{
  height:18px;width:auto;display:inline-block;
  vertical-align:middle;
  filter:brightness(0) invert(1);
  opacity:.85;
  transform:translateY(2px);
}

.reviews__marquee{
  position:relative;
  width:100vw;
  margin-left:calc(50% - 50vw);
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
  mask-image:linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
}
.reviews__marquee-track{
  list-style:none;padding:0;margin:0;
  display:flex;
  gap:var(--sp-5);
  width:max-content;
  animation:reviewsScroll 70s linear infinite;
  will-change:transform;
}
.reviews__marquee:hover .reviews__marquee-track{animation-play-state:paused}
@keyframes reviewsScroll{
  from{transform:translateX(0)}
  to{transform:translateX(calc(-50% - var(--sp-5)/2))}
}

.review{
  position:relative;
  display:flex;flex-direction:column;
  gap:var(--sp-4);
  padding:var(--sp-6);
  width:380px;
  flex-shrink:0;
  border:1px solid rgba(255,255,255,.07);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.04) 0%, rgba(255,255,255,.012) 100%);
  transition:border-color 400ms var(--ease),background 400ms var(--ease);
}
.review:hover{
  border-color:rgba(255,255,255,.2);
  background:linear-gradient(180deg, rgba(255,255,255,.07) 0%, rgba(255,255,255,.02) 100%);
}
.review__head{
  display:flex;align-items:center;
  gap:var(--sp-3);
  margin-top:auto;
  padding-top:var(--sp-3);
  border-top:1px solid rgba(255,255,255,.08);
}
.review__avatar{
  flex-shrink:0;
  width:42px;height:42px;
  border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--ff-body);
  font-size:16px;font-weight:500;
  letter-spacing:-.01em;
  color:rgba(255,255,255,.85);
  background:linear-gradient(180deg, rgba(255,255,255,.12) 0%, rgba(255,255,255,.04) 100%);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.review__id{
  flex:1;min-width:0;
  display:flex;flex-direction:column;gap:2px;
}
.review__name{
  font-family:var(--ff-body);
  font-size:15px;font-weight:500;
  letter-spacing:-.005em;
  color:#fff;
}
.review__source{
  display:inline-flex;align-items:center;
  font-family:var(--ff-body);font-size:11px;font-weight:400;
  letter-spacing:.005em;
  color:rgba(255,255,255,.5);
  white-space:nowrap;
}
.review__source img{
  height:13px;width:auto;display:inline-block;
  margin-left:5px;
  filter:brightness(0) invert(1);
  opacity:.7;
  vertical-align:middle;
  transform:translateY(2px);
}
.review__stars{
  display:flex;align-items:center;gap:2px;
  color:#fde047;
  flex-shrink:0;
}
.review__stars svg{width:13px;height:13px}
.review__text{
  font-family:var(--ff-body);
  font-size:15px;font-weight:400;
  line-height:1.6;letter-spacing:.005em;
  color:rgba(255,255,255,.78);
  margin:0;
}

.reviews__cta{
  display:flex;justify-content:center;
  margin-top:var(--sp-2);
}
.reviews__cta-link{
  display:inline-flex;align-items:center;gap:8px;
  padding:14px 24px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.02);
  color:#fff;text-decoration:none;
  font-family:var(--ff-body);
  font-size:14px;font-weight:500;letter-spacing:-.005em;
  transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.reviews__cta-link:hover{
  border-color:rgba(255,255,255,.32);
  background:rgba(255,255,255,.06);
  transform:translateY(-1px);
}
.reviews__cta-link img{
  height:18px;width:auto;display:block;
  filter:brightness(0) invert(1);
  transform:translateY(2px);
}
.reviews__cta-link svg{
  transition:transform var(--dur) var(--ease);
  margin-left:2px;
}
.reviews__cta-link:hover svg{transform:translateX(3px)}

@media(max-width:1024px){
  .reviews{padding:var(--sp-24) 0 var(--sp-8)}
  .reviews__inner{gap:var(--sp-8)}
  .review{width:340px;padding:var(--sp-5)}
}
@media(max-width:720px){
  .reviews{padding:var(--sp-20) 0 var(--sp-10)}
    .reviews__watermark{width:min(620px,105%);opacity:.08}
    .reviews__title{font-size:clamp(36px,8vw,52px);line-height:1.05;font-weight:200}
  .review{width:300px;padding:var(--sp-4)}
  .review__text{font-size:14px}
    .reviews__inner{gap:var(--sp-12)}
  .reviews__head{gap:var(--sp-6)}
  .reviews__cta{margin-top:var(--sp-4)}
    .reviews__cta-link{padding:9px 16px;font-size:12px;gap:6px}
  .reviews__cta-link img{height:14px}
  .reviews__cta-link svg{width:12px;height:12px}
  .reviews__marquee-track{gap:var(--sp-3);animation-duration:55s}
  @keyframes reviewsScroll{
    from{transform:translateX(0)}
    to{transform:translateX(calc(-50% - var(--sp-3)/2))}
  }
}
@media(max-width:480px){
  .reviews__title{font-size:clamp(30px,8.5vw,42px)}
  .reviews__rating-num{font-size:16px}
  .reviews__rating-cap{font-size:13px}
  .review{width:280px}
  .reviews__watermark{width:100%}
  .reviews__cta-link{padding:8px 14px;font-size:11.5px}
  .reviews__cta-link img{height:13px}
}
@media (prefers-reduced-motion: reduce){
  .reviews__marquee-track{animation:none;flex-wrap:wrap;justify-content:center}
}

.gallery{
  position:relative;
  background:#000;
  padding:0 0 var(--sp-32);
  overflow:hidden;
  isolation:isolate;
  content-visibility:auto;
  contain-intrinsic-size:0 1200px;
}
.gallery--full{
  width:100vw;
  margin-left:calc(50% - 50vw);
  padding-inline:0;
}
.gallery__head{
  display:grid;grid-template-columns:1.1fr 1fr;
  gap:var(--sp-10);
  align-items:end;
  margin-bottom:var(--sp-10);
}
.gallery__head-left{
  display:flex;flex-direction:column;gap:var(--sp-4);
}
.gallery__head-right{
  display:flex;flex-direction:column;gap:var(--sp-4);
  align-items:flex-start;
}
.gallery__eyebrow{
  font-family:var(--ff-mono);font-size:11px;font-weight:500;
  letter-spacing:.22em;text-transform:uppercase;
  color:rgba(255,255,255,.55);
}
.gallery__title{
  font-family:var(--ff-display);
  font-size:clamp(34px,3.6vw,52px);font-weight:400;
  letter-spacing:-.025em;line-height:1.1;
  color:#fff;margin:0;
  text-wrap:balance;
}
.gallery__lead{
  font-family:var(--ff-body);
  font-size:15px;font-weight:400;
  color:rgba(255,255,255,.7);
  line-height:1.65;letter-spacing:.005em;
  margin:0;max-width:48ch;
}
.gallery__cta{flex-shrink:0}

.gallery__grid{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:var(--sp-4);
  width:100%;
  margin:0;
}
.gallery__col{
  display:flex;
  flex-direction:column;
  gap:var(--sp-4);
  flex-shrink:0;
}
.gallery__col--outer,
.gallery__col--inner,
.gallery__col--level3,
.gallery__col--level4{width:clamp(170px,13.5vw,240px)}

.gallery__item{
  position:relative;
  display:block;
  width:calc(100% - 2px);
  margin:0 auto;
  aspect-ratio:1/1;
  border-radius:16px;
  overflow:hidden;
  isolation:isolate;
  cursor:zoom-in;
  background:#0a0a0a;
  transition:transform 700ms var(--ease-out),box-shadow 700ms var(--ease-out);
  will-change:transform;
}
.gallery__col--outer .gallery__item{aspect-ratio:3/4}
.gallery__item:hover{
  transform:scale(1.04);
  box-shadow:0 30px 60px -25px rgba(0,0,0,.85);
}
.gallery__item img{
  display:block;
  width:100%;height:100%;
  object-fit:cover;
  transition:transform 1600ms var(--ease-out),filter 600ms var(--ease-out);
  filter:contrast(1.04) brightness(.94);
}
.gallery__item:hover img{
  transform:scale(1.06);
  filter:contrast(1.08) brightness(1.02);
}

.gallery__videos{display:contents}
.gallery__video--secondary{display:none}

.gallery__video{
  position:relative;
  width:clamp(310px,23vw,416px);
  aspect-ratio:9/16;
  align-self:center;
  flex-shrink:0;
  border-radius:20px;
  overflow:hidden;
  isolation:isolate;
  background:#000;
  box-shadow:0 50px 140px -30px rgba(0,0,0,.95),
             0 0 0 1px rgba(255,255,255,.08);
}
.gallery__video video{
  display:block;
  width:100%;height:100%;
  object-fit:cover;
}

.gallery__video-shade{
  position:absolute;inset:0;
  z-index:1;
  background:
    radial-gradient(ellipse 75% 55% at center,
      rgba(0,0,0,.92) 0%,
      rgba(0,0,0,.78) 30%,
      rgba(0,0,0,.45) 55%,
      rgba(0,0,0,.15) 80%,
      rgba(0,0,0,0) 100%);
  pointer-events:none;
}

.gallery__video-content{
  position:absolute;
  left:50%;top:50%;
  transform:translate(-50%,-50%);
  z-index:2;
  width:calc(100% - 48px);
  display:flex;flex-direction:column;
  gap:var(--sp-5);
  align-items:center;
  text-align:center;
}
.gallery__video-quote{
  font-family:var(--ff-display);
  font-size:clamp(22px,2.8vw,32px);font-weight:400;
  letter-spacing:-.018em;line-height:1.2;
  color:#fff;margin:0;
  text-shadow:0 4px 28px rgba(0,0,0,1),
              0 2px 12px rgba(0,0,0,.95);
  text-wrap:balance;
}
.gallery__video-cta{margin-top:var(--sp-1)}

.lightbox{
  position:fixed;inset:0;z-index:9999;
  display:none;
  align-items:center;justify-content:center;
  background:rgba(0,0,0,.96);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  padding:var(--sp-6);
}
.lightbox[aria-hidden="false"]{display:flex}
.lightbox__viewport{
  position:relative;
  max-width:92vw;max-height:90vh;
  display:flex;align-items:center;justify-content:center;
}
.lightbox__img{
  max-width:100%;max-height:90vh;
  width:auto;height:auto;
  object-fit:contain;
  border-radius:8px;
  box-shadow:0 30px 80px -20px rgba(0,0,0,.95);
}
.lightbox__counter{
  position:absolute;left:50%;bottom:-44px;
  transform:translateX(-50%);
  font-family:var(--ff-mono);
  font-size:11px;font-weight:500;
  color:rgba(255,255,255,.6);
  letter-spacing:.06em;
}
.lightbox__close,.lightbox__nav{
  position:fixed;
  width:46px;height:46px;border-radius:50%;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.18);
  color:rgba(255,255,255,.85);
  cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease);
  z-index:10000;
}
.lightbox__close:hover,.lightbox__nav:hover{
  background:#fff;color:#000;border-color:#fff;
}
.lightbox__close{top:24px;right:24px}
.lightbox__nav--prev{left:24px;top:50%;transform:translateY(-50%)}
.lightbox__nav--next{right:24px;top:50%;transform:translateY(-50%)}
.lightbox__nav--prev:hover{transform:translateY(-50%) scale(1.05)}
.lightbox__nav--next:hover{transform:translateY(-50%) scale(1.05)}

@media(max-width:1500px){
  .gallery__col--level4{display:none}
}
@media(max-width:1200px){
  .gallery__col--level3{display:none}
}
@media(max-width:1024px){
  .gallery{padding:0 0 var(--sp-24)}
  .gallery__col--outer,
  .gallery__col--inner{width:clamp(150px,14vw,200px)}
  .gallery__video{width:clamp(260px,26vw,360px)}
  .gallery__video-content{width:calc(100% - 36px);gap:var(--sp-4)}
  .gallery__video-quote{font-size:clamp(19px,2.4vw,26px)}
  .lightbox__close{top:16px;right:16px}
  .lightbox__nav--prev{left:12px}
  .lightbox__nav--next{right:12px}
}
@media(max-width:820px){
  .gallery__col--outer{width:clamp(130px,16vw,180px)}
  .gallery__col--inner{width:clamp(140px,18vw,200px)}
  .gallery__video{width:clamp(240px,32vw,330px)}
}
@media(max-width:680px){
  .gallery__col--outer{display:none}
  .gallery__col--inner{width:clamp(120px,20vw,170px)}
  .gallery__video{width:clamp(220px,34vw,300px)}
}
@media(max-width:600px){
    .gallery__grid{
    display:block;
    flex-direction:initial;
    align-items:initial;
    column-count:2;
    column-gap:6px;
    max-width:560px;
    margin:0 auto;
    padding:0 8px;
  }
    .gallery__col--inner,
  .gallery__col--outer{display:contents}
  .gallery__col--level3,
  .gallery__col--level4{display:none !important}
  .gallery__item{
    display:block;
    width:100%;
    margin:0 0 6px;
    break-inside:avoid;
    -webkit-column-break-inside:avoid;
    border-radius:12px;
  }
    .gallery__col--inner .gallery__item,
  .gallery__col--outer .gallery__item{aspect-ratio:1/1}
    .gallery__col--outer .gallery__item:nth-child(n+2){display:none}
  .gallery__col--inner .gallery__item:nth-child(n+3){display:none}
    .gallery__videos{
    display:flex;
    flex-direction:row;
    column-span:all;
    -webkit-column-span:all;
    gap:6px;
    margin:0 0 12px;
  }
  .gallery__video,
  .gallery__video--secondary{
    flex:1 1 0;
    width:auto;
    max-width:none;
    margin:0;
    aspect-ratio:9/16;
  }
  .gallery__video--secondary{display:flex !important}
    .gallery__video-content{display:none}
}
@media(max-width:720px){
    .gallery{padding:var(--sp-12) 0 var(--sp-16)}
  .gallery__head{margin-bottom:var(--sp-6);gap:var(--sp-4)}
  .gallery__title{font-size:clamp(28px,5.4vw,38px);line-height:1.16}
  .gallery__lead{font-size:14px}
    .gallery__video-content{
    left:50%;top:50%;
    right:auto;bottom:auto;
    transform:translate(-50%,-50%);
    width:calc(100% - 28px);
    gap:10px;
  }
  .gallery__video-quote{font-size:clamp(15px,4vw,19px);line-height:1.25}
  .gallery__video-sub{font-size:12px}
  .gallery__video-eyebrow{font-size:9px}
  .lightbox__close,.lightbox__nav{width:40px;height:40px}
  .lightbox__counter{font-size:10px;bottom:-36px}
}
@media(max-width:480px){
  .gallery__title{font-size:clamp(24px,6vw,32px)}
  .gallery__video{width:100%;max-width:none}
  .gallery__video-quote{font-size:14px;line-height:1.25}
}

.trust2{padding:var(--sp-20) 0;background:#000}
.trust2__inner{
  display:grid;grid-template-columns:1.1fr 1fr;gap:var(--sp-12);
  align-items:start;
}
.trust2__left{display:flex;flex-direction:column;gap:var(--sp-6)}
.trust2__right{display:flex;flex-direction:column;gap:var(--sp-5)}
.trust2__eyebrow{
  font-family:var(--ff-body);font-size:11px;font-weight:500;
  color:rgba(255,255,255,.55);letter-spacing:.18em;text-transform:uppercase;
  margin:0;
}
.trust2__heading{
  font-family:var(--ff-body);
  font-size:clamp(28px,3.5vw,48px);font-weight:300;
  letter-spacing:-.025em;line-height:1.1;
  color:#fff;margin:0;
}
.trust2__lead{
  font-family:var(--ff-body);font-size:15px;font-weight:400;
  color:rgba(255,255,255,.72);line-height:1.6;letter-spacing:-.005em;
  margin:0;max-width:60ch;
}

.trust2__usp{
  list-style:none;margin:0;padding:0;
  display:flex;flex-direction:column;gap:10px;
}
.trust2__usp li{
  position:relative;padding-left:22px;
  font-family:var(--ff-body);font-size:14px;font-weight:400;
  color:rgba(255,255,255,.85);line-height:1.5;
}
.trust2__usp li::before{
  content:"";position:absolute;left:0;top:9px;
  width:10px;height:1px;background:#fff;
}

.trust2__people{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px;
  margin-top:var(--sp-2);
}
.trust2__sub{
  font-family:var(--ff-body);font-size:11px;font-weight:500;
  color:rgba(255,255,255,.45);letter-spacing:.12em;text-transform:uppercase;
  margin-right:6px;
}
.trust2__person{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 14px 6px 6px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.1);
  border-radius:999px;
  transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.trust2__person:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.22);transform:translateY(-1px)}
.trust2__person img{
  width:28px;height:28px;border-radius:50%;
  object-fit:cover;border:1px solid rgba(255,255,255,.15);
}
.trust2__person-name{
  font-family:var(--ff-body);font-size:13px;font-weight:600;color:#fff;letter-spacing:-.005em;
}
.trust2__person-car{
  font-family:var(--ff-body);font-size:12px;font-weight:400;color:rgba(255,255,255,.55);
}
.trust2__more{
  font-family:var(--ff-body);font-size:12px;font-weight:400;
  color:rgba(255,255,255,.5);font-style:italic;
}

.trust2__brands{
  display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-6) var(--sp-7);
  margin-top:var(--sp-2);padding-top:var(--sp-5);
  border-top:1px solid rgba(255,255,255,.08);
}
.trust2__brands-logos{display:flex;align-items:center;gap:var(--sp-7);flex-wrap:wrap;flex:1}
.trust2__brands-logos img{
  height:22px;width:auto;max-width:120px;object-fit:contain;
  filter:brightness(0) invert(1);opacity:.5;
  transition:opacity var(--dur) var(--ease);
}
.trust2__brands-logos img:hover{opacity:.95}

.trust2__hero{
  position:relative;overflow:hidden;
  aspect-ratio:4/5;
  width:100%;max-width:300px;margin:0 auto;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.1);
  background:#0a0a0a;
  box-shadow:
    0 30px 60px -25px rgba(0,0,0,.85),
    0 0 0 8px rgba(255,255,255,.025),
    0 0 0 9px rgba(255,255,255,.06);
}
.trust2__hero-img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
}
.trust2__hero-shade{
  position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.15) 0%, rgba(0,0,0,0) 50%, rgba(0,0,0,.6) 100%);
}
.trust2__quality{
  position:absolute;left:14px;top:14px;
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 14px 6px 8px;
  background:rgba(0,0,0,.55);
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
}
.trust2__quality-logo{height:22px;width:auto;display:block}
.trust2__quality-text{display:flex;flex-direction:column;line-height:1}
.trust2__quality-title{
  font-family:var(--ff-body);font-size:12px;font-weight:600;
  color:#fff;letter-spacing:.06em;
}
.trust2__quality-sub{
  font-family:var(--ff-body);font-size:9px;font-weight:400;
  color:rgba(255,255,255,.6);letter-spacing:.05em;text-transform:uppercase;margin-top:2px;
}

.trust2__details{display:flex;flex-direction:column;gap:10px}
.trust2__details-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:6px;
}
.trust2__details-grid img{
  width:100%;aspect-ratio:3/4;object-fit:cover;
  border-radius:8px;
  border:1px solid rgba(255,255,255,.08);
  filter:saturate(1.05) brightness(.95);
  transition:transform var(--dur) var(--ease),filter var(--dur) var(--ease),border-color var(--dur) var(--ease);
}
.trust2__details-grid img:hover{transform:scale(1.04);filter:saturate(1.1) brightness(1);border-color:rgba(255,255,255,.2)}

@media(max-width:1024px){
  .trust2__inner{grid-template-columns:1fr;gap:var(--sp-10)}
  .trust2__hero{max-width:520px}
}
@media(max-width:720px){
  .trust2{padding:var(--sp-12) 0}
  .trust2__brands-logos{gap:var(--sp-5)}
  .trust2__brands-logos img{height:18px}
  .trust2__details-grid{grid-template-columns:repeat(4,1fr);gap:4px}
}

.story{
  position:relative;padding:var(--sp-20) 0;background:#000;
  overflow:hidden;isolation:isolate;
}
.story__inner{display:flex;flex-direction:column;gap:var(--sp-12)}

.story__head{
  display:grid;grid-template-columns:1.2fr 1fr;gap:var(--sp-16);
  align-items:end;
}
.story__head-left{display:flex;flex-direction:column;gap:var(--sp-4)}
.story__head-right{display:flex;flex-direction:column;gap:var(--sp-6)}

.story__heading{
  font-family:var(--ff-body);
  font-size:clamp(32px,4vw,60px);font-weight:300;
  letter-spacing:-.03em;line-height:1.02;
  color:#fff;margin:0;
}
.story__heading em{
  font-family:'Cormorant Garamond', Georgia, serif;
  font-style:italic;font-weight:400;
  color:rgba(255,255,255,.95);
  letter-spacing:-.015em;
}
.story__lead{
  font-family:var(--ff-body);font-size:15px;font-weight:400;
  color:rgba(255,255,255,.72);line-height:1.6;letter-spacing:-.005em;
  margin:0;max-width:46ch;
}
.story__nums{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:1px;background:rgba(255,255,255,.08);
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.story__num{
  background:#000;padding:14px 12px;
  display:flex;flex-direction:column;gap:3px;
}
.story__num span{
  font-family:var(--ff-body);font-size:clamp(20px,2.4vw,28px);
  font-weight:300;letter-spacing:-.025em;line-height:1;color:#fff;
}
.story__num span em{font-style:normal;font-size:.5em;font-weight:400;color:rgba(255,255,255,.55);margin-left:3px}
.story__num i{
  font-family:var(--ff-body);font-size:11px;font-weight:400;font-style:normal;
  color:rgba(255,255,255,.55);letter-spacing:.01em;line-height:1.3;
}

.story__people{
  padding-top:var(--sp-6);
  border-top:1px solid rgba(255,255,255,.08);
  display:flex;flex-direction:column;gap:var(--sp-4);
}
.story__people-label{
  font-family:var(--ff-body);font-size:11px;font-weight:400;
  color:rgba(255,255,255,.5);letter-spacing:.06em;text-transform:uppercase;
  margin:0;
}
.story__people-list{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px;
}
.person{
  display:inline-flex;align-items:center;gap:10px;
  padding:8px 14px 8px 8px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.1);
  border-radius:999px;
  transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.person:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.22);transform:translateY(-1px)}
.person__avatar{
  width:32px;height:32px;border-radius:50%;
  object-fit:cover;flex-shrink:0;
  border:1px solid rgba(255,255,255,.18);
}
.person__info{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.person__name{
  font-family:var(--ff-body);font-size:13px;font-weight:600;
  color:#fff;letter-spacing:-.005em;
}
.person__sub{
  font-family:var(--ff-body);font-size:11px;font-weight:400;
  color:rgba(255,255,255,.55);margin-top:1px;
}
.person__yt{flex-shrink:0;color:rgba(255,255,255,.5);transition:color var(--dur) var(--ease)}
.person:hover .person__yt{color:#ff5050}
.person--more{
  background:transparent;border:1px dashed rgba(255,255,255,.15);
  padding:10px 18px;color:rgba(255,255,255,.5);
}
.person__dots{
  font-family:var(--ff-body);font-size:12px;font-weight:400;letter-spacing:-.005em;
}

.story__brands{
  padding-top:var(--sp-5);
  border-top:1px solid rgba(255,255,255,.08);
  display:flex;align-items:center;gap:var(--sp-6);flex-wrap:wrap;
}
.story__brands-label{
  font-family:var(--ff-body);font-size:11px;font-weight:400;
  color:rgba(255,255,255,.5);letter-spacing:.06em;text-transform:uppercase;
  margin:0;flex-shrink:0;
}
.story__brands-logos{
  display:flex;align-items:center;gap:var(--sp-7);flex:1;flex-wrap:wrap;
}
.story__brands-logos img{
  height:24px;width:auto;max-width:130px;object-fit:contain;
  filter:brightness(0) invert(1);
  opacity:.5;
  transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.story__brands-logos img:hover{opacity:.95;transform:scale(1.05)}

.figure{
  position:relative;display:block;overflow:hidden;
  aspect-ratio:3/4;border-radius:14px;
  border:1px solid rgba(255,255,255,.08);
  background:#0a0a0a;
  transition:border-color var(--dur) var(--ease),transform var(--dur) var(--ease);
  transform:translateY(20px);opacity:0;
}
.story__gallery.is-visible .figure{transform:translateY(0);opacity:1}
.figure{transition:transform 700ms var(--ease-out),opacity 700ms var(--ease-out),border-color var(--dur) var(--ease)}
.figure{transition-delay:calc(var(--i, 0) * 80ms)}
.figure:hover{border-color:rgba(255,255,255,.25);transform:translateY(-3px)}

.figure__bg{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform 800ms var(--ease);
}
.figure:hover .figure__bg{transform:scale(1.06)}

.figure__shade{
  position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,0) 30%, rgba(0,0,0,.55) 65%, rgba(0,0,0,.92) 100%);
}
.figure__tag{
  position:absolute;top:10px;left:10px;z-index:2;
  font-family:var(--ff-body);font-size:9px;font-weight:500;
  letter-spacing:.12em;text-transform:uppercase;
  padding:4px 9px;border-radius:999px;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.figure__tag--client{background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.25)}
.figure__tag--collab{background:rgba(0,0,0,.5);color:rgba(255,255,255,.85);border:1px solid rgba(255,255,255,.15)}

.figure__cap{
  position:absolute;left:0;right:0;bottom:0;
  padding:14px 12px;display:flex;align-items:center;gap:10px;z-index:1;
}
.figure__avatar{
  width:30px;height:30px;border-radius:50%;
  object-fit:cover;flex-shrink:0;
  border:1px solid rgba(255,255,255,.25);
}
.figure__cap-text{display:flex;flex-direction:column;line-height:1.2;min-width:0;flex:1}
.figure__name{
  font-family:var(--ff-body);font-size:13px;font-weight:600;
  color:#fff;letter-spacing:-.01em;
}
.figure__sub{
  font-family:var(--ff-body);font-size:10px;font-weight:400;
  color:rgba(255,255,255,.7);margin-top:1px;
}
.figure__brand{
  position:absolute;left:0;right:0;bottom:0;
  padding:14px 10px;display:flex;align-items:center;justify-content:center;z-index:1;
}
.figure__brand img{
  max-width:75%;max-height:22px;width:auto;height:auto;object-fit:contain;
  filter:brightness(0) invert(1);opacity:.9;
}

.partners-section{
  padding:var(--sp-16) 0;
  border-top:1px solid rgba(255,255,255,.06);
  background:#000;
}
.partners-section__inner{display:flex;flex-direction:column;gap:var(--sp-10)}

.partners-section__head{
  display:flex;flex-direction:column;gap:var(--sp-3);
  max-width:680px;
}
.partners-section__heading{
  font-family:var(--ff-body);
  font-size:clamp(28px,3vw,44px);font-weight:300;
  letter-spacing:-.025em;line-height:1.05;
  color:#fff;margin:0;
}
.partners-section__heading em{
  font-family:'Cormorant Garamond', Georgia, serif;
  font-style:italic;font-weight:400;
  color:rgba(255,255,255,.95);letter-spacing:-.015em;
}

.collab-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
}
.collab{
  position:relative;display:block;overflow:hidden;
  aspect-ratio:1/1;border-radius:14px;
  border:1px solid rgba(255,255,255,.08);
  background:#0a0a0a;
  transition:border-color var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.collab:hover{border-color:rgba(255,255,255,.25);transform:translateY(-3px)}
.collab__bg{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform 800ms var(--ease);
}
.collab:hover .collab__bg{transform:scale(1.06)}
.collab__shade{
  position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.2) 0%, rgba(0,0,0,.5) 60%, rgba(0,0,0,.92) 100%);
}
.collab__body{
  position:absolute;left:0;right:0;bottom:0;
  padding:18px 16px;display:flex;align-items:center;gap:8px;justify-content:center;
  z-index:1;flex-wrap:wrap;
}
.collab__x{
  font-family:var(--ff-body);font-size:14px;font-weight:400;
  color:rgba(255,255,255,.8);letter-spacing:-.01em;
}
.collab__logo{
  height:24px;width:auto;max-width:110px;object-fit:contain;
  filter:brightness(0) invert(1);opacity:1;
}

.partners-section__strip{
  display:flex;align-items:center;gap:var(--sp-6);
  padding:var(--sp-5) 0;
  border-top:1px solid rgba(255,255,255,.08);
  flex-wrap:wrap;
}

@media(max-width:720px){
  .partners-section{padding:var(--sp-10) 0}
  .collab-grid{grid-template-columns:1fr;gap:10px}
  .collab{aspect-ratio:16/9}
  .partners-section__inner{gap:var(--sp-6)}
}

.story__strip{
  display:flex;align-items:center;gap:var(--sp-8);
  padding:var(--sp-5) 0;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
  flex-wrap:wrap;
}
.story__strip-label{
  font-family:var(--ff-body);font-size:11px;font-weight:400;
  color:rgba(255,255,255,.5);letter-spacing:.08em;text-transform:uppercase;
  flex-shrink:0;
}
.story__strip-logos{
  display:flex;align-items:center;gap:var(--sp-8);flex:1;flex-wrap:wrap;
}
.story__strip-logos img{
  height:24px;width:auto;max-width:130px;object-fit:contain;
  filter:brightness(0) invert(1);
  opacity:.5;
  transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.story__strip-logos img:hover{opacity:.95;transform:scale(1.05)}

@media(max-width:900px){
  .story__head{grid-template-columns:1fr;gap:var(--sp-8)}
  .story__gallery--clients{grid-template-columns:1fr}
  .figure--big{aspect-ratio:16/10}
}
@media(max-width:600px){
  .story{padding:var(--sp-12) 0}
  .story__inner{gap:var(--sp-8)}
  .story__nums{grid-template-columns:1fr}
}

.story__bg{
  position:absolute;inset:0;pointer-events:none;z-index:-1;
  background:
    radial-gradient(circle 700px at 90% 10%, rgba(255,255,255,.05) 0%, transparent 55%),
    radial-gradient(circle 600px at 5% 95%, rgba(255,255,255,.03) 0%, transparent 60%),
    linear-gradient(105deg,
      transparent 0%, transparent 28%,
      rgba(255,255,255,.025) 33%, rgba(255,255,255,.04) 36%, rgba(255,255,255,.025) 39%,
      transparent 44%, transparent 56%,
      rgba(255,255,255,.018) 60%, rgba(255,255,255,.028) 63%, rgba(255,255,255,.018) 66%,
      transparent 72%, transparent 100%);
}
.story__bg::after{
  content:"";position:absolute;inset:0;
    background-image:linear-gradient(to right, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size:140px 100%;
  mask-image:radial-gradient(ellipse at center, #000 30%, transparent 80%);
  -webkit-mask-image:radial-gradient(ellipse at center, #000 30%, transparent 80%);
  opacity:.5;
}

.story__inner{
  position:relative;z-index:1;
  display:grid;grid-template-columns:1.1fr 1fr;gap:var(--sp-16);
  align-items:start;
}

.story__left{display:flex;flex-direction:column;gap:var(--sp-5)}
.story__heading{
  font-family:var(--ff-body);
  font-size:clamp(28px,3vw,44px);font-weight:300;
  letter-spacing:-.025em;line-height:1.05;
  color:#fff;margin:0;
}
.story__text{
  font-family:var(--ff-body);font-size:14px;font-weight:400;
  color:rgba(255,255,255,.72);line-height:1.6;letter-spacing:-.005em;
  margin:0;max-width:48ch;
}

.story__partners{margin-top:var(--sp-4);padding-top:var(--sp-5);border-top:1px solid rgba(255,255,255,.08)}
.story__partners-label{
  font-family:var(--ff-body);font-size:11px;font-weight:400;
  color:rgba(255,255,255,.5);letter-spacing:.05em;text-transform:uppercase;
  margin:0 0 14px;
}
.story__partners-logos{
  display:flex;flex-wrap:wrap;align-items:center;gap:24px;
}
.story__partners-logos img{
  height:28px;width:auto;max-width:110px;object-fit:contain;
  filter:brightness(0) invert(1);
  opacity:.5;
  transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.story__partners-logos img:hover{opacity:.95;transform:scale(1.05)}

.story__right{display:flex;flex-direction:column;gap:var(--sp-5)}
.story__client-title{
  font-family:var(--ff-body);font-size:18px;font-weight:400;
  color:rgba(255,255,255,.85);letter-spacing:-.01em;margin:0;
}
.story__client-title{
  font-family:var(--ff-body);font-size:18px;font-weight:400;
  color:rgba(255,255,255,.85);letter-spacing:-.01em;margin:0;
}

.clients{display:flex;flex-direction:column;gap:10px}
.client{
  display:flex;align-items:center;gap:14px;
  padding:12px 14px 12px 12px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.1);
  border-radius:14px;
  transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.client:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.22);transform:translateY(-2px)}
.client__avatar{
  width:54px;height:54px;border-radius:50%;
  object-fit:cover;flex-shrink:0;
  border:1px solid rgba(255,255,255,.18);
}
.client__info{display:flex;flex-direction:column;line-height:1.25;flex:1;min-width:0}
.client__name{
  font-family:var(--ff-body);font-size:18px;font-weight:600;
  color:#fff;letter-spacing:-.015em;
}
.client__sub{
  font-family:var(--ff-body);font-size:12px;font-weight:400;
  color:rgba(255,255,255,.55);margin-top:3px;
}
.client__car{
  width:62px;height:78px;
  object-fit:cover;flex-shrink:0;
  border-radius:8px;
  border:1px solid rgba(255,255,255,.1);
}

.portraits{display:grid;gap:10px}
.portraits--collabs{grid-template-columns:repeat(3,1fr);margin-top:var(--sp-2)}

.portrait{
  position:relative;display:block;overflow:hidden;
  aspect-ratio:3/4;border-radius:12px;
  border:1px solid rgba(255,255,255,.08);
  background:#0a0a0a;
  transition:border-color var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.portrait:hover{border-color:rgba(255,255,255,.22);transform:translateY(-2px)}
.portrait__bg{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;
  transition:transform 800ms var(--ease);
}
.portrait:hover .portrait__bg{transform:scale(1.05)}
.portrait__shade{
  position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,0) 35%, rgba(0,0,0,.55) 65%, rgba(0,0,0,.92) 100%);
}
.portrait__body{
  position:absolute;left:0;right:0;bottom:0;
  padding:14px 12px;display:flex;align-items:center;gap:10px;
  z-index:1;
}
.portrait__avatar{
  width:30px;height:30px;border-radius:50%;
  object-fit:cover;flex-shrink:0;
  border:1px solid rgba(255,255,255,.25);
}
.portrait__info{display:flex;flex-direction:column;line-height:1.2;min-width:0;flex:1}
.portrait__name{
  font-family:var(--ff-body);font-size:13px;font-weight:600;
  color:#fff;letter-spacing:-.01em;
}
.portrait__sub{
  font-family:var(--ff-body);font-size:10px;font-weight:400;
  color:rgba(255,255,255,.65);margin-top:1px;
}

.portrait--small{aspect-ratio:3/4}
.portrait__brand{
  position:absolute;left:0;right:0;bottom:0;
  padding:12px 10px;display:flex;align-items:center;justify-content:center;
  z-index:1;
}
.portrait__brand img{
  max-width:80%;max-height:24px;width:auto;height:auto;object-fit:contain;
  filter:brightness(0) invert(1);opacity:.95;
}

.story__collabs-label{
  font-family:var(--ff-body);font-size:11px;font-weight:400;
  color:rgba(255,255,255,.5);letter-spacing:.05em;text-transform:uppercase;
  margin:var(--sp-3) 0 0;
}

@media(max-width:480px){
  .portraits--collabs{grid-template-columns:repeat(3,1fr)}
  .portrait__avatar{width:26px;height:26px}
  .portrait__name{font-size:12px}
  .portrait__sub{font-size:9px}
  .portrait__brand img{max-height:18px}
}

.story__stats{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;overflow:hidden;
  margin-top:var(--sp-2);
}
.story__stat{background:rgba(0,0,0,.6);padding:18px 16px;display:flex;flex-direction:column;gap:4px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.story__stat-big{
  font-family:var(--ff-body);font-size:clamp(22px,2.4vw,30px);
  font-weight:300;letter-spacing:-.025em;line-height:1;color:#fff;
}
.story__stat-big em{font-style:normal;font-size:.55em;font-weight:400;color:rgba(255,255,255,.55);margin-left:4px}
.story__stat-label{
  font-family:var(--ff-body);font-size:11px;font-weight:400;
  color:rgba(255,255,255,.55);letter-spacing:.02em;line-height:1.3;
}

@media(max-width:1024px){
  .story__inner{grid-template-columns:1fr;gap:var(--sp-12)}
}
@media(max-width:720px){
  .story{padding:var(--sp-12) 0}
  .story__inner{gap:var(--sp-10)}
  .story__stats{grid-template-columns:1fr}
  .story__partners-logos{gap:18px}
  .story__partners-logos img{height:22px}
}

.glass{
  background:var(--glass-bg);
  backdrop-filter:blur(var(--glass-blur)) saturate(140%);
  -webkit-backdrop-filter:blur(var(--glass-blur)) saturate(140%);
  border:1px solid var(--glass-br);
  border-radius:var(--r-lg);
  transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.glass--hover:hover{border-color:var(--glass-br-h);background:var(--glass-bg-h);transform:translateY(-2px)}
.glass--lift{box-shadow:var(--sh-big)}

.glass-panel{
  background:linear-gradient(180deg,rgba(255,255,255,.045) 0%, rgba(255,255,255,.015) 100%);
  backdrop-filter:blur(var(--glass-blur)) saturate(140%);
  -webkit-backdrop-filter:blur(var(--glass-blur)) saturate(140%);
  border:1px solid var(--glass-br);
  border-radius:var(--r-xl);
  position:relative;overflow:hidden;
}
.glass-panel::before{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 20%);
  mask:linear-gradient(#000,#000) content-box,linear-gradient(#000,#000);
  -webkit-mask:linear-gradient(#000,#000) content-box,linear-gradient(#000,#000);
  mask-composite:exclude;-webkit-mask-composite:xor;
  padding:1px;
  opacity:0;transition:opacity var(--dur);
}
.glass-panel:hover::before{opacity:1}

.values{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.value{background:var(--bg);padding:var(--sp-8);display:flex;flex-direction:column;gap:var(--sp-4)}
.value__big{font-family:var(--ff-display);font-size:var(--fz-60);font-weight:500;line-height:.9;letter-spacing:-.04em}
.value__label{font-family:var(--ff-mono);font-size:var(--fz-12);letter-spacing:.2em;text-transform:uppercase;color:var(--fg-mute)}
.value__desc{color:var(--fg-dim);font-size:var(--fz-14)}
@media(max-width:900px){.values{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.values{grid-template-columns:1fr}}

.faq{display:grid;grid-template-columns:1fr 2fr;gap:var(--sp-10);align-items:start}
@media(max-width:900px){.faq{grid-template-columns:1fr}}
.faq__list{display:flex;flex-direction:column;gap:8px}
.faq__item{border-top:1px solid var(--line);padding:var(--sp-6) 0}
.faq__item:last-child{border-bottom:1px solid var(--line)}
.faq__q{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  font-family:var(--ff-display);font-size:var(--fz-20);font-weight:500;letter-spacing:-.01em;
  cursor:pointer;width:100%;text-align:left;
}
.faq__q svg{flex-shrink:0;transition:transform var(--dur) var(--ease);color:var(--fg-mute)}
.faq__item.is-open .faq__q svg{transform:rotate(45deg);color:var(--fg)}
.faq__a{
  max-height:0;overflow:hidden;opacity:0;
  transition:max-height var(--dur-slow) var(--ease),opacity var(--dur) var(--ease),padding-top var(--dur) var(--ease);
}
.faq__a p{padding-top:16px;color:var(--fg-dim);font-size:var(--fz-15);max-width:70ch}
.faq__item.is-open .faq__a{max-height:400px;opacity:1}

.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4)}
@media(max-width:900px){.pricing{grid-template-columns:1fr}}

.pricing__card{
  padding:var(--sp-8);border-radius:var(--r-xl);
  border:1px solid var(--glass-br);
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015));
  display:flex;flex-direction:column;gap:var(--sp-5);position:relative;overflow:hidden;
  transition:border-color var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.pricing__card:hover{border-color:var(--glass-br-h);transform:translateY(-3px)}
.pricing__card--feat{
  background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.02));
  border-color:var(--white-20);
}
.pricing__badge{
  position:absolute;top:18px;right:18px;padding:6px 12px;font-family:var(--ff-mono);font-size:10px;letter-spacing:.2em;
  background:var(--white);color:var(--black);border-radius:999px;text-transform:uppercase;
}
.pricing__name{font-family:var(--ff-display);font-size:var(--fz-28);font-weight:500;letter-spacing:-.02em}
.pricing__price{font-family:var(--ff-display);font-size:var(--fz-60);font-weight:500;letter-spacing:-.04em;line-height:1}
.pricing__price .unit{font-size:var(--fz-18);color:var(--fg-mute);margin-left:6px}
.pricing__features{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--line);padding-top:var(--sp-5)}
.pricing__features li{display:flex;align-items:start;gap:12px;font-size:var(--fz-14);color:var(--fg-dim)}
.pricing__features li svg{flex-shrink:0;margin-top:4px;color:var(--fg)}

.field{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--sp-4)}
.field label{font-family:var(--ff-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-mute)}
.field input,.field textarea,.field select{
  padding:14px 16px;background:var(--white-3);border:1px solid var(--line-strong);border-radius:var(--r-sm);
  color:var(--fg);font-size:var(--fz-15);
  transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease);
}
.field input:focus,.field textarea:focus,.field select:focus{
  outline:none;border-color:var(--white-50);background:var(--white-5);
}
.field textarea{resize:vertical;min-height:120px;font-family:var(--ff-body)}
.field--row{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4);margin-bottom:0}
@media(max-width:640px){.field--row{grid-template-columns:1fr}}

.page-hero{padding:calc(var(--nav-h) + 40px) 0 var(--sp-16);position:relative}
.page-hero__crumbs{display:flex;gap:10px;font-family:var(--ff-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--fg-mute);margin-bottom:var(--sp-8)}
.page-hero__crumbs a:hover{color:var(--fg)}
.page-hero__crumbs span{color:var(--white-20)}
.page-hero__title{font-size:var(--fz-84);line-height:.95;letter-spacing:-.05em;text-wrap:balance}
.page-hero__lead{margin-top:var(--sp-6);font-size:var(--fz-20);color:var(--fg-dim);max-width:60ch}
.page-hero__meta{margin-top:var(--sp-10);display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}
.page-hero__meta > div{background:var(--bg);padding:var(--sp-5) var(--sp-6)}
.page-hero__meta .k{font-family:var(--ff-mono);font-size:11px;letter-spacing:.2em;color:var(--fg-mute);text-transform:uppercase;margin-bottom:6px}
.page-hero__meta .v{font-size:var(--fz-18);font-weight:500;color:var(--fg)}
@media(max-width:720px){.page-hero__meta{grid-template-columns:1fr}}

.fab{
  position:fixed;bottom:20px;right:20px;z-index:900;
  width:56px;height:56px;border-radius:50%;
  background:var(--white);color:var(--black);
  display:grid;place-items:center;
  box-shadow:0 20px 40px -10px rgba(255,255,255,.25);
  transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);
}
.fab:hover{transform:scale(1.08) rotate(-8deg);box-shadow:0 25px 50px -10px rgba(255,255,255,.45)}
@media(min-width:1000px){.fab{display:none}}

.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 14px;font-family:var(--ff-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  background:var(--glass-bg);border:1px solid var(--glass-br);border-radius:999px;color:var(--fg-dim);
}

.two-col{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-12);align-items:center}
.two-col--40{grid-template-columns:.8fr 1.2fr}
@media(max-width:900px){.two-col,.two-col--40{grid-template-columns:1fr}}
.two-col__text h2{margin-bottom:var(--sp-5)}
.two-col__text p + p{margin-top:var(--sp-4)}
.two-col__media{position:relative;aspect-ratio:4/5;border-radius:var(--r-xl);overflow:hidden;background:var(--black-3) center/cover no-repeat;border:1px solid var(--line)}
.two-col__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.4));pointer-events:none}

.shead{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-10);align-items:end;margin-bottom:var(--sp-12)}
.shead__title{font-size:var(--fz-60);letter-spacing:-.035em;line-height:1}
.shead__lead{color:var(--fg-dim);font-size:var(--fz-18);max-width:42ch;justify-self:end}
@media(max-width:900px){.shead{grid-template-columns:1fr}.shead__lead{justify-self:start}}

.stacked{display:grid;grid-template-columns:1fr 1.2fr;gap:var(--sp-12)}
@media(max-width:1000px){.stacked{grid-template-columns:1fr}}
.stacked__aside{position:sticky;top:calc(var(--nav-h) + 24px);align-self:start}
.stacked__aside h3{margin-bottom:var(--sp-5)}
.stacked__aside .chips{margin-top:var(--sp-5)}

.scope{border-top:1px solid var(--line)}
.scope__item{border-bottom:1px solid var(--line);padding:var(--sp-5) 0;display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:var(--sp-4)}
.scope__num{font-family:var(--ff-mono);font-size:11px;color:var(--fg-mute);letter-spacing:.18em}
.scope__title{font-size:var(--fz-18);font-weight:500}
.scope__desc{color:var(--fg-dim);font-size:var(--fz-14);grid-column:2/-1;margin-top:4px}

.reveal{opacity:0;transform:translateY(20px);transition:opacity 1100ms var(--ease-out),transform 1100ms var(--ease-out)}
.reveal.is-visible{opacity:1;transform:none}
.reveal[data-delay="1"]{transition-delay:100ms}
.reveal[data-delay="2"]{transition-delay:200ms}
.reveal[data-delay="3"]{transition-delay:300ms}
.reveal[data-delay="4"]{transition-delay:400ms}
.reveal[data-delay="5"]{transition-delay:500ms}

.services__bento .tile{
  opacity:0;
  transform:translateX(-60px);
  transition:opacity 1100ms var(--ease-out),transform 1100ms var(--ease-out);
}
.services__bento.is-visible .tile{
  opacity:1;
  transform:translateX(0);
}
.services__bento.is-visible .tile:nth-child(1){transition-delay:0ms}
.services__bento.is-visible .tile:nth-child(2){transition-delay:120ms}
.services__bento.is-visible .tile:nth-child(3){transition-delay:240ms}
.services__bento.is-visible .tile:nth-child(4){transition-delay:360ms}
.services__bento.is-visible .tile:nth-child(5){transition-delay:480ms}

.gallery__grid .gallery__col,
.gallery__grid .gallery__video,
.gallery__grid .gallery__videos{
  opacity:0;
  transition:opacity 1200ms var(--ease-out),transform 1200ms var(--ease-out);
}
.gallery__grid .gallery__col--level4:first-of-type,
.gallery__grid .gallery__col--level3:first-of-type,
.gallery__grid .gallery__col--outer:first-of-type,
.gallery__grid .gallery__col--inner:first-of-type{transform:translateX(-80px)}
.gallery__grid .gallery__col--inner:last-of-type,
.gallery__grid .gallery__col--outer:last-of-type,
.gallery__grid .gallery__col--level3:last-of-type,
.gallery__grid .gallery__col--level4:last-of-type{transform:translateX(80px)}
.gallery__grid .gallery__video,
.gallery__grid .gallery__videos{transform:translateY(40px)}
.gallery__grid.is-visible .gallery__col,
.gallery__grid.is-visible .gallery__video,
.gallery__grid.is-visible .gallery__videos{
  opacity:1;
  transform:none;
}
.gallery__grid.is-visible .gallery__col--inner{transition-delay:120ms}
.gallery__grid.is-visible .gallery__col--outer{transition-delay:240ms}
.gallery__grid.is-visible .gallery__col--level3{transition-delay:360ms}
.gallery__grid.is-visible .gallery__col--level4{transition-delay:480ms}
.gallery__grid.is-visible .gallery__video,
.gallery__grid.is-visible .gallery__videos{transition-delay:160ms}

.gallery__grid .gallery__item,
.gallery__grid .gallery__video{
  opacity:0;
  transform:translateY(28px) scale(.96);
  transition:opacity 800ms var(--ease-out), transform 800ms var(--ease-out);
  transition-delay:calc(var(--reveal-i, 0) * 55ms);
}
.gallery__grid.is-visible .gallery__item,
.gallery__grid.is-visible .gallery__video{
  opacity:1;
  transform:translateY(0) scale(1);
}

.hide-mobile{display:initial}
.show-mobile{display:none}
@media(max-width:720px){.hide-mobile{display:none}.show-mobile{display:initial}}
.stack-2{display:flex;flex-direction:column;gap:var(--sp-2)}
.stack-4{display:flex;flex-direction:column;gap:var(--sp-4)}
.stack-6{display:flex;flex-direction:column;gap:var(--sp-6)}
.stack-8{display:flex;flex-direction:column;gap:var(--sp-8)}
.mt-4{margin-top:var(--sp-4)}
.mt-8{margin-top:var(--sp-8)}
.mt-12{margin-top:var(--sp-12)}
.mt-16{margin-top:var(--sp-16)}

.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--sp-10)}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr}}
.contact-info{display:flex;flex-direction:column;gap:var(--sp-6)}
.contact-info__item{padding:var(--sp-5);border:1px solid var(--glass-br);border-radius:var(--r-md);background:var(--glass-bg);backdrop-filter:blur(12px)}
.contact-info__k{font-family:var(--ff-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--fg-mute);margin-bottom:6px}
.contact-info__v{font-size:var(--fz-18);font-weight:500}
.contact-info__v a{color:var(--fg);transition:color var(--dur)}
.contact-info__v a:hover{color:var(--white)}

.img-placeholder{
  background:
    repeating-linear-gradient(45deg, var(--white-3) 0 12px, transparent 12px 24px),
    linear-gradient(180deg, var(--black-3), var(--black-2));
  position:relative;
}
.img-placeholder::after{
  content:attr(data-label);position:absolute;inset:0;display:grid;place-items:center;
  font-family:var(--ff-mono);font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--fg-mute);
  text-align:center;padding:var(--sp-4);
}

html.loading body{opacity:0;transition:opacity 200ms}

.lightbox{
  position:fixed;inset:0;z-index:2000;
  background:rgba(0,0,0,.92);
  backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  display:none;align-items:center;justify-content:center;
  padding:24px;
}
.lightbox.is-open{display:flex}
.lightbox__stage{max-width:1200px;max-height:90vh;display:flex;flex-direction:column;align-items:center;gap:16px}
.lightbox__stage img{max-width:100%;max-height:calc(90vh - 60px);object-fit:contain;border-radius:var(--r-md)}
.lightbox__stage figcaption{font-family:var(--ff-mono);font-size:12px;letter-spacing:.14em;color:var(--fg-mute);text-align:center}
.lightbox button{
  position:absolute;z-index:2;width:48px;height:48px;border-radius:999px;
  background:var(--glass-bg);border:1px solid var(--glass-br);
  display:grid;place-items:center;color:var(--fg);
  transition:background var(--dur),border-color var(--dur);
}
.lightbox button:hover{background:var(--glass-bg-h);border-color:var(--glass-br-h)}
.lightbox__close{top:24px;right:24px}
.lightbox__prev{left:24px;top:50%;transform:translateY(-50%)}
.lightbox__next{right:24px;top:50%;transform:translateY(-50%)}

.form-msg{font-size:14px;padding:12px 16px;border-radius:var(--r-sm);margin-top:12px}
.form-msg[data-state="ok"]{background:rgba(255,255,255,.06);border:1px solid var(--white-20);color:var(--fg)}
.form-msg[data-state="err"]{background:rgba(255,255,255,.03);border:1px solid var(--line-strong);color:var(--fg-dim)}
.form-msg:empty{display:none}

.bullet-list{display:flex;flex-direction:column;gap:12px}
.bullet-list li{padding-left:22px;position:relative;color:var(--fg-dim);font-size:var(--fz-15)}
.bullet-list li::before{content:"";position:absolute;left:0;top:10px;width:8px;height:1px;background:var(--white-35)}
.bullet-list li strong{color:var(--fg);font-weight:500}

.meta-line{display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:center}
.meta-line .dot{width:4px;height:4px;border-radius:50%;background:var(--white-20)}
.meta-line span{font-family:var(--ff-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-mute)}

.svc-row{
  display:grid;grid-template-columns:auto 1fr auto auto;gap:var(--sp-6);align-items:center;
  padding:var(--sp-6) 0;border-top:1px solid var(--line);
  position:relative;transition:padding-left var(--dur) var(--ease);
}
.svc-row:last-child{border-bottom:1px solid var(--line)}
.svc-row:hover{padding-left:var(--sp-4)}
.svc-row__num{font-size:12px;color:var(--fg-mute);letter-spacing:.04em}
.svc-row__title{font-family:var(--ff-display);font-size:var(--fz-40);font-weight:500;letter-spacing:-.02em;line-height:1}
.svc-row__lead{grid-column:2/3;color:var(--fg-dim);font-size:var(--fz-15);margin-top:8px}
.svc-row__price{font-size:var(--fz-14);color:var(--fg-dim);white-space:nowrap}
.svc-row__arrow{width:44px;height:44px;border-radius:999px;border:1px solid var(--line-strong);display:grid;place-items:center;transition:background var(--dur),color var(--dur),border-color var(--dur)}
.svc-row:hover .svc-row__arrow{background:var(--white);color:var(--black);border-color:var(--white)}
@media(max-width:720px){
  .svc-row{grid-template-columns:1fr auto;gap:var(--sp-3)}
  .svc-row__num{grid-row:1;grid-column:1}
  .svc-row__title{grid-column:1/3;font-size:var(--fz-28)}
  .svc-row__lead{grid-column:1/3}
  .svc-row__price{grid-column:1}
  .svc-row__arrow{grid-column:2;grid-row:4}
}

@media (prefers-reduced-motion: reduce) {
    .hero__bg img,
  .trust3__brands-row,
  .reviews__marquee-track,
  .services__bento,
  .cta-band__logo,
  .nav__academy::after,
  .academy__photo-badge-dot::after,
  .cookies__pulse,
  .welcome__spark--1,
  .welcome__spark--2,
  .welcome__spark--3{
    animation:none !important;
  }
    .reveal{transition-duration:600ms !important}
}

.visually-hidden{
  position:absolute !important;
  width:1px !important;height:1px !important;
  padding:0 !important;margin:-1px !important;
  overflow:hidden !important;clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;border:0 !important;
}

.cta-band{
  position:relative;
  z-index:2;
  background:#000;
  padding:var(--sp-12) 0 0;
  text-align:center;
}
.cta-band::before{
  content:"";
  position:absolute;left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg, transparent 0%, rgba(255,255,255,.08) 50%, transparent 100%);
}
.cta-band__inner{
  position:relative;
  max-width:920px;
  margin:0 auto;
  padding:0 var(--gutter);
  display:flex;flex-direction:column;align-items:center;
}
.cta-band__brand{
  display:inline-block;
  text-decoration:none;
  position:relative;
  z-index:3;
  margin-bottom:-110px;   filter:drop-shadow(0 30px 50px rgba(0,0,0,.75));
}
.cta-band__logo{
  width:480px;height:auto;display:block;
  transition:transform 600ms var(--ease);
  animation:crystalGlitch 6s steps(1,end) infinite;
  will-change:transform,clip-path;
}
.cta-band__brand:hover .cta-band__logo{
  animation:none;
  transform:scale(1.04);
  clip-path:inset(0 0 0 0);
  opacity:1;
}

@keyframes crystalGlitch{
  0%, 14%, 100% { transform:translateX(0);                       clip-path:inset(0);             opacity:1 }
  1.5%  { transform:translateX(-8px) skewX(-2deg);               clip-path:inset(32% 0 52% 0);   opacity:.7 }
  3%    { transform:translateX(7px)  skewX(1deg);                clip-path:inset(8% 0 74% 0);    opacity:.9 }
  4.5%  { transform:translateX(-5px);                            clip-path:inset(60% 0 18% 0);   opacity:.6 }
  6%    { transform:translateX(6px)  skewX(-1deg);               clip-path:inset(78% 0 8% 0);    opacity:1   }
  7.5%  { transform:translateX(-4px);                            clip-path:inset(20% 0 60% 0);   opacity:.8 }
  9%    { transform:translateX(3px)  skewX(2deg);                clip-path:inset(48% 0 28% 0);   opacity:.55 }
  10.5% { transform:translateX(-6px);                            clip-path:inset(70% 0 12% 0);   opacity:.95 }
  12%   { transform:translateX(2px);                             clip-path:inset(15% 0 78% 0);   opacity:.75 }
  13%   { transform:translateX(-1px);                            clip-path:inset(40% 0 35% 0);   opacity:.9 }
}

@media (prefers-reduced-motion: reduce){
  .cta-band__logo{ animation:none }
}

.map-band{
  position:relative;
  background:#000;
  width:100%;
  height:480px;
  overflow:hidden;
  isolation:isolate;
  content-visibility:auto;
  contain-intrinsic-size:480px;
}
.map-band__map{
  position:absolute;inset:0;
  width:100%;height:100%;
  background:#0a0a0a;
}
.map-band__overlay{
  position:absolute;inset:0;
  pointer-events:none;
  z-index:400;
  background:
        linear-gradient(180deg, #000 0%, rgba(0,0,0,.6) 8%, transparent 22%),
        linear-gradient(0deg, #000 0%, rgba(0,0,0,.6) 8%, transparent 22%),
        linear-gradient(90deg, #000 0%, rgba(0,0,0,.5) 6%, transparent 16%),
        linear-gradient(270deg, #000 0%, rgba(0,0,0,.5) 6%, transparent 16%),
        radial-gradient(ellipse 90% 90% at center, transparent 35%, rgba(0,0,0,.35) 75%, rgba(0,0,0,.6) 100%);
}

.map-band__open{
  position:absolute;left:24px;bottom:20px;
  z-index:500;
  display:inline-flex;align-items:center;gap:8px;
  padding:9px 16px;
  background:rgba(0,0,0,.7);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(12px) saturate(140%);
  -webkit-backdrop-filter:blur(12px) saturate(140%);
  border-radius:999px;
  color:rgba(255,255,255,.85);
  font-family:var(--ff-body);
  font-size:13px;font-weight:500;
  text-decoration:none;
  transition:background var(--dur),border-color var(--dur),color var(--dur),transform var(--dur);
}
.map-band__open:hover{
  background:rgba(0,0,0,.85);
  border-color:rgba(255,255,255,.3);
  color:#fff;
  transform:translateY(-2px);
}

.leaflet-container{
  background:#0a0a0a !important;
  font-family:var(--ff-body) !important;
  outline:none !important;
}
.leaflet-container a{ color:rgba(255,255,255,.7) }

.leaflet-control-attribution{
  background:rgba(0,0,0,.55) !important;
  color:rgba(255,255,255,.4) !important;
  font-size:10px !important;
  letter-spacing:0 !important;
  padding:3px 8px !important;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  border-top-left-radius:6px;
}
.leaflet-control-attribution a{ color:rgba(255,255,255,.55) !important }
.leaflet-control-attribution a:hover{ color:#fff !important }

.leaflet-control-zoom{
  margin:20px !important;
  border:0 !important;
  box-shadow:none !important;
}
.leaflet-control-zoom a{
  background:rgba(0,0,0,.65) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  color:#fff !important;
  width:34px !important;height:34px !important;
  line-height:32px !important;
  font-size:18px !important;font-weight:300 !important;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  transition:background .25s,border-color .25s !important;
}
.leaflet-control-zoom a:hover{
  background:rgba(255,255,255,.1) !important;
  border-color:rgba(255,255,255,.3) !important;
}
.leaflet-control-zoom a:first-child{ border-radius:8px 8px 0 0 !important }
.leaflet-control-zoom a:last-child{ border-radius:0 0 8px 8px !important;border-top:0 !important }

.map-pin-wrap{
  background:transparent !important;
  border:0 !important;
  overflow:visible !important;
}
.leaflet-marker-icon.map-pin-wrap{ overflow:visible !important }
.map-pin-svg{ overflow:visible !important }
.map-pin-svg{
  display:block;
    filter:
    drop-shadow(0 0 1px rgba(0,0,0,1))
    drop-shadow(0 0 6px rgba(0,0,0,.8))
    drop-shadow(0 0 12px rgba(255,255,255,.3));
}

.leaflet-tooltip.map-tip{
  background:rgba(0,0,0,.85) !important;
  border:0 !important;
  border-radius:10px !important;
  padding:8px 12px 8px 10px !important;
  color:#fff !important;
  font-family:var(--ff-body) !important;
  font-size:12px !important;line-height:1.35 !important;
  white-space:nowrap !important;
  width:auto !important;
  max-width:none !important;
  pointer-events:none;
  backdrop-filter:blur(14px) saturate(160%);
  -webkit-backdrop-filter:blur(14px) saturate(160%);
  box-shadow:0 14px 30px -10px rgba(0,0,0,.7);
  opacity:1 !important;
}
.leaflet-tooltip-right.map-tip::before{
  border-right-color:rgba(0,0,0,.85) !important;
  margin-left:-7px !important;
}
.map-tip__inner{
  display:flex;align-items:center;gap:9px;
}
.map-tip__logo{
  width:36px;height:auto;display:block;
  flex-shrink:0;
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.5));
}
.map-tip__body{
  display:flex;flex-direction:column;gap:2px;min-width:0;
}
.map-tip__body strong{
  display:block;
  font-family:var(--ff-display);
  font-weight:500;font-size:12px;
  color:#fff;letter-spacing:-.005em;line-height:1.2;
  white-space:nowrap;
}
.map-tip__body span{
  display:block;
  font-size:10.5px;line-height:1.35;
  color:rgba(255,255,255,.62);
  white-space:nowrap;
}

.footer{
  position:relative;
  background:#000;
  padding:var(--sp-6) 0 var(--sp-8);
}
.footer__inner{
  max-width:var(--container);
  margin:0 auto;
  padding:0 var(--gutter);
  display:flex;flex-direction:column;
  gap:var(--sp-10);
}

.footer__grid{
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr 1.2fr;
  gap:var(--sp-10);
  align-items:start;
}
.footer__col{ display:flex;flex-direction:column;gap:var(--sp-4);min-width:0 }
.footer__col-title{
  font-family:var(--ff-display);
  font-size:16px;font-weight:500;
  letter-spacing:-.005em;line-height:1.3;
  color:#fff;
  margin:0 0 var(--sp-2);
}

.footer__brandline{
  font-family:var(--ff-body);
  font-size:13px;font-weight:400;
  letter-spacing:.01em;line-height:1.4;
  color:rgba(255,255,255,.7);
  margin:0 0 var(--sp-2);
}

.footer__links{
  list-style:none;padding:0;margin:0;
  display:flex;flex-direction:column;gap:0;
}
.footer__link{
  display:inline-block;
  padding:7px 0;
  color:rgba(255,255,255,.62);
  text-decoration:none;
  font-family:var(--ff-body);
  font-size:13.5px;
  transform-origin:left center;
  transition:color 400ms var(--ease-out),transform 500ms var(--ease-out);
}
.footer__link:hover{color:#fff;transform:scale(1.06)}

.footer__info{ list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px }
.footer__info li{
  display:flex;align-items:center;gap:11px;
  min-width:0;
}
.footer__info-icon{
  flex-shrink:0;
  color:rgba(255,255,255,.45);
  transition:color var(--dur) var(--ease);
}
.footer__info li:hover .footer__info-icon{ color:rgba(255,255,255,.85) }
.footer__info-v{
  color:rgba(255,255,255,.78);
  font-family:var(--ff-body);
  font-size:14px;
  text-decoration:none;
  word-break:break-word;
  display:inline-block;
  transform-origin:left center;
  transition:color 400ms var(--ease-out),transform 500ms var(--ease-out);
}
a.footer__info-v:hover{color:#fff;transform:scale(1.04)}

.footer__action-row{
  display:flex;align-items:center;gap:var(--sp-4);
  margin-top:var(--sp-4);
  padding-top:var(--sp-4);
  border-top:1px solid rgba(255,255,255,.06);
}
.footer__booksy{ align-items:flex-start;transform:translateY(2px) }
.footer__socials{ display:flex;gap:8px }
.footer__social-icon{
  display:grid;place-items:center;
  width:38px;height:38px;
  border-radius:50%;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.10);
  color:rgba(255,255,255,.85);
  text-decoration:none;
  transition:background 400ms var(--ease-out),border-color 400ms var(--ease-out),color 400ms var(--ease-out),transform 500ms var(--ease-out);
}
.footer__social-icon:hover{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.25);
  color:#fff;
  transform:scale(1.1);
}

.footer__newsletter-lead{
  margin:0;
  font-family:var(--ff-body);
  font-size:14px;line-height:1.55;
  color:rgba(255,255,255,.6);
}
.footer__newsletter{
  display:flex;align-items:stretch;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.10);
  border-radius:999px;
  padding:5px;
  transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease);
}
.footer__newsletter:focus-within{
  border-color:rgba(255,255,255,.3);
  background:rgba(255,255,255,.06);
}
.footer__newsletter-input{
  flex:1;min-width:0;
  padding:10px 16px;
  background:transparent;
  border:0;outline:0;
  font-family:var(--ff-body);
  font-size:14px;
  color:#fff;
}
.footer__newsletter-input::placeholder{ color:rgba(255,255,255,.4) }
.footer__newsletter-btn{
  flex-shrink:0;
  width:38px;height:38px;
  display:grid;place-items:center;
  background:#fff;color:#000;
  border:0;border-radius:50%;
  cursor:pointer;
  transition:transform var(--dur) var(--ease),background var(--dur) var(--ease);
}
.footer__newsletter-btn:hover{ background:#eaeaea;transform:translateX(2px) }
.footer__newsletter-note{
  margin:0;
  font-size:12px;color:rgba(255,255,255,.4);
}

.footer__bottom{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:var(--sp-4);
  padding-top:var(--sp-6);
  border-top:1px solid rgba(255,255,255,.06);
}

.footer__made{
  display:inline-flex;align-items:center;gap:7px;
  padding:6px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.10);
  border-radius:8px;
  text-decoration:none;
  transition:background 400ms var(--ease-out),border-color 400ms var(--ease-out),transform 500ms var(--ease-out);
}
.footer__made:hover{
  background:rgba(255,255,255,.07);
  border-color:rgba(255,255,255,.22);
  transform:scale(1.04);
}
.footer__made-label{
  font-family:var(--ff-body);
  font-size:12px;font-weight:400;
  color:rgba(255,255,255,.45);
}
.footer__made-logo{
  width:16px;height:16px;display:block;
  border-radius:3px;
  flex-shrink:0;
}
.footer__made-name{
  font-family:var(--ff-body);
  font-size:12px;font-weight:500;
  color:rgba(255,255,255,.85);
}
.footer__made:hover .footer__made-name{ color:#fff }

.footer__copy{
  font-family:var(--ff-body);
  font-size:13px;
  color:rgba(255,255,255,.4);
  letter-spacing:0;
}

.footer__legal{
  list-style:none;padding:0;margin:0;
  display:flex;align-items:center;gap:var(--sp-4);
}
.footer__legal a{
  font-family:var(--ff-body);
  font-size:13px;
  color:rgba(255,255,255,.5);
  text-decoration:none;
  display:inline-block;
  transition:color 400ms var(--ease-out),transform 500ms var(--ease-out);
}
.footer__legal a:hover{color:#fff;transform:scale(1.06)}

@media(max-width:1024px){
  .cta-band{ padding:var(--sp-10) 0 0 }
  .cta-band__logo{ width:360px }
  .cta-band__brand{ margin-bottom:-80px }
  .map-band{ height:380px }
  .footer__grid{
    grid-template-columns:1fr 1fr;
    gap:var(--sp-8);
  }
  .footer__col--info{ grid-column:1/-1 }
  .footer__col--newsletter{ grid-column:1/-1 }
}
@media(max-width:720px){
  .cta-band{ padding:var(--sp-8) 0 0 }
  .cta-band__logo{ width:240px }
  .cta-band__brand{ margin-bottom:-50px }

  .map-band{ height:320px }
  .map-band__open{ left:16px;bottom:16px;font-size:12px;padding:8px 14px }
  .leaflet-control-zoom{ margin:14px !important }
    .leaflet-tooltip.map-tip{
    padding:8px 12px !important;
    white-space:normal !important;
    max-width:240px !important;
    width:max-content !important;
    text-align:center;
  }
    .leaflet-tooltip.map-tip::before{ display:none !important }
  .map-tip__inner{ flex-direction:column;align-items:center;gap:7px }
  .map-tip__logo{ width:46px }
  .map-tip__body{ align-items:center;text-align:center }
  .map-tip__body strong,
  .map-tip__body span{ white-space:normal;text-align:center }
  .map-tip__body strong{ font-size:11.5px }
  .map-tip__body span{ font-size:10px;line-height:1.4 }

  .footer{ padding:var(--sp-10) 0 var(--sp-6) }
  .footer__inner{ gap:var(--sp-7) }
  .footer__grid{ grid-template-columns:1fr;gap:var(--sp-6) }
  .footer__col--info,
  .footer__col--newsletter{ grid-column:auto }

    .footer__action-row{ flex-direction:row;align-items:center;flex-wrap:wrap;gap:var(--sp-4) }
    .footer__newsletter-note{ margin-bottom:20px }

  .footer__bottom{
    flex-direction:column;align-items:center;text-align:center;
    gap:var(--sp-3);
  }
  .footer__legal{ justify-content:center;flex-wrap:wrap }
}
@media(max-width:480px){
  .cta-band__logo{ width:200px }
  .cta-band__brand{ margin-bottom:-40px }
  .map-band{ height:260px }
  .map-band__open span{ display:none }
  .map-band__open{ padding:8px 10px }
  .footer__info-v{ font-size:13px }
  .leaflet-tooltip.map-tip{ max-width:210px !important;padding:7px 10px !important }
  .map-tip__logo{ width:40px }
  .map-tip__body strong{ font-size:11px }
  .map-tip__body span{ font-size:9.5px;line-height:1.35 }
}

.about-hero{
  position:relative;
  padding:calc(var(--nav-h) + var(--sp-32) + var(--sp-16)) 0 var(--sp-24);
  background:#000;
  overflow:hidden;
  isolation:isolate;
}
.about-hero__bg{
  position:absolute;inset:0;z-index:0;
  pointer-events:none;
}
.about-hero__bg img{
  display:block;
  width:100%;height:100%;
  object-fit:cover;
  object-position:center 65%;
  filter:contrast(1.05) brightness(.85) saturate(.92);
}
.about-hero__bg-overlay{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,
      rgba(0,0,0,.85) 0%,
      rgba(0,0,0,.55) 30%,
      rgba(0,0,0,.7) 65%,
      rgba(0,0,0,.95) 92%,
      #000 100%
    ),
    linear-gradient(90deg,
      rgba(0,0,0,.55) 0%,
      rgba(0,0,0,.2) 35%,
      rgba(0,0,0,0) 60%,
      rgba(0,0,0,.35) 100%
    );
}
.about-hero__inner{
  position:relative;z-index:1;
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:var(--sp-12);
  align-items:center;
}
.about-hero__main{
  display:flex;flex-direction:column;
  gap:var(--sp-6);
}
.about-hero__side{
  display:flex;flex-direction:column;
  gap:var(--sp-6);
  align-items:flex-end;
  justify-self:end;
}
.about-hero__eyebrow{
  font-family:var(--ff-body);
  font-size:13px;font-weight:400;
  letter-spacing:.005em;
  color:rgba(255,255,255,.6);
}
.about-hero__title{
  font-family:var(--ff-display);
  font-size:clamp(40px,5.4vw,72px);font-weight:300;
  letter-spacing:-.025em;line-height:1.08;
  color:#fff;margin:0;
  max-width:22ch;
  text-wrap:balance;
}
.about-hero__lead{
  font-family:var(--ff-body);
  font-size:16px;font-weight:400;
  color:rgba(255,255,255,.78);
  line-height:1.65;letter-spacing:.005em;
  margin:0;max-width:62ch;
}
.about-hero__quote{
  position:relative;
  margin:0;
  padding:var(--sp-2) 0 0 var(--sp-6);
  max-width:42ch;
  border-left:1px solid rgba(255,255,255,.18);
  justify-self:end;
}
.about-hero__quote-mark{
  position:absolute;left:-2px;top:-16px;
  width:30px;height:auto;
  pointer-events:none;
}
.about-hero__quote-mark path{fill:rgba(255,255,255,.3) !important}
.about-hero__quote p{
  font-family:var(--ff-display);
  font-size:clamp(20px,1.8vw,28px);font-weight:300;
  letter-spacing:-.015em;line-height:1.4;
  color:#fff;margin:0;
  text-wrap:balance;
}
.about-hero__quote em{
  font-style:italic;
  color:#fff;
  font-weight:400;
}
.about-hero__quote-sig{
  margin-top:var(--sp-3);
  font-family:var(--ff-body);
  font-size:12px;font-weight:400;
  color:rgba(255,255,255,.5);
  letter-spacing:.005em;
}
.about-hero__cta{
  display:flex;align-items:center;
  gap:var(--sp-5);flex-wrap:wrap;
  justify-content:flex-end;
}

.about-creed{
  position:relative;
  padding:var(--sp-24) 0 var(--sp-32);
  background:#000;
  overflow:hidden;
  isolation:isolate;
}
.about-creed__inner{
  display:flex;flex-direction:column;
  gap:var(--sp-12);
}

.about-creed__head{
  display:flex;flex-direction:column;align-items:center;
  max-width:980px;margin:0 auto;
  padding:var(--sp-6) 0;
  text-align:center;
  gap:var(--sp-4);
}
.about-creed__title{
  font-family:var(--ff-display);
  font-size:40px;font-weight:300;
  letter-spacing:-.02em;line-height:1.22;
  color:#fff;margin:0;
  max-width:24ch;
  text-wrap:balance;
}
.about-creed__title em{
  font-style:italic;font-weight:400;
  color:#fff;
}
.about-creed__lead{
  font-family:var(--ff-body);
  font-size:15px;font-weight:400;
  color:rgba(255,255,255,.7);
  line-height:1.65;letter-spacing:.005em;
  margin:0;
  max-width:58ch;
}
.about-creed__lead em{
  font-style:italic;
  color:rgba(255,255,255,.92);
}

.about-creed__intro{
  display:grid;
  grid-template-columns:0.85fr 1.4fr;
  gap:var(--sp-10);
  align-items:stretch;
}
.about-creed__photo{
  position:relative;
  margin:0;
  border-radius:16px;
  overflow:hidden;
  isolation:isolate;
  background:#0a0a0a;
  box-shadow:0 30px 80px -25px rgba(0,0,0,.85);
  min-height:380px;
}
.about-creed__photo img{
  display:block;
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
  object-position:center 55%;
  filter:contrast(1.04) brightness(.92);
  transition:transform 1600ms var(--ease-out),filter 600ms var(--ease-out);
}
.about-creed__intro-body{
  display:flex;flex-direction:column;
  justify-content:center;
  max-width:64ch;
}
.about-creed__photo:hover img{
  transform:scale(1.04);
  filter:contrast(1.08) brightness(1);
}
.about-creed__photo-badge{
  position:absolute;left:16px;bottom:16px;z-index:2;
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 14px 8px 12px;
  background:rgba(0,0,0,.55);
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
}
.about-creed__photo-badge-dot{
  position:relative;
  width:7px;height:7px;flex-shrink:0;
  background:#fff;border-radius:50%;
}
.about-creed__photo-badge-dot::after{
  content:"";
  position:absolute;inset:-3px;
  border-radius:50%;
  background:#fff;opacity:.4;
  animation:academyPulse 1.8s ease-out infinite;
}
.about-creed__photo-badge-text{
  font-family:var(--ff-body);
  font-size:11.5px;font-weight:500;
  color:#fff;
  letter-spacing:.005em;line-height:1;
}

.about-creed__h{
  font-family:var(--ff-display);
  font-size:clamp(24px,2.2vw,32px);
  font-weight:400;font-style:normal;
  letter-spacing:-.02em;line-height:1.1;
  color:#fff;margin:0 0 var(--sp-4);
}
.about-creed__h--values{
  text-align:center;
  margin-bottom:var(--sp-7);
}

.about-creed__values-block{
  display:flex;flex-direction:column;
}
.about-creed__p{
  font-family:var(--ff-body);
  font-size:14.5px;font-weight:400;
  color:rgba(255,255,255,.7);
  line-height:1.7;letter-spacing:.005em;
  margin:0 0 var(--sp-3);
}
.about-creed__p:last-child{margin-bottom:0}
.about-creed__p em{
  font-style:italic;
  color:#fff;font-weight:400;
}
.about-creed__p--intro{
  font-size:15.5px;
  color:rgba(255,255,255,.88);
  line-height:1.7;
}
.about-creed__values{
  list-style:none;margin:0;padding:0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--sp-7) var(--sp-10);
}
.creed-value{
  display:grid;
  grid-template-columns:28px 1fr;
  gap:var(--sp-4);
  align-items:start;
}
.creed-value__icon{
  display:inline-flex;
  color:rgba(255,255,255,.85);
  padding-top:2px;
}
.creed-value__icon svg{
  width:22px;height:22px;
  display:block;
}
.creed-value__body{
  display:flex;flex-direction:column;
  gap:6px;
}
.creed-value__name{
  font-family:var(--ff-display);
  font-size:16px;font-weight:500;
  letter-spacing:-.005em;line-height:1.3;
  color:#fff;margin:0;
}
.creed-value__text{
  font-family:var(--ff-body);
  font-size:14px;font-weight:400;
  color:rgba(255,255,255,.7);
  line-height:1.65;letter-spacing:.005em;
  margin:0;
}
.creed-value__text em{
  font-style:italic;
  color:#fff;font-weight:400;
}

@media(max-width:1024px){
  .about-hero{padding:calc(var(--nav-h) + var(--sp-24)) 0 var(--sp-16)}
  .about-hero__inner{grid-template-columns:1fr;gap:var(--sp-8)}
  .about-hero__side{align-items:flex-start;justify-self:start}
  .about-hero__quote{justify-self:start;max-width:48ch}
  .about-hero__cta{justify-content:flex-start}

  .about-creed{padding:var(--sp-20) 0}
  .about-creed__inner{gap:var(--sp-12)}
  .about-creed__intro{
    grid-template-columns:1fr;
    gap:var(--sp-7);
  }
  .about-creed__photo{aspect-ratio:16/10;min-height:0}
  .about-creed__values{gap:var(--sp-5) var(--sp-7)}
}

@media(max-width:720px){
  .about-hero{padding:calc(var(--nav-h) + var(--sp-24)) 0 var(--sp-16)}
  .about-hero__inner{gap:var(--sp-5)}
  .about-hero__title{font-size:clamp(28px,7vw,40px);line-height:1.15}
  .about-hero__lead{font-size:14px;line-height:1.6}
  .about-hero__bg img{object-position:center 65%}

    .about-hero__quote{padding-left:var(--sp-4)}
  .about-hero__quote-mark{font-size:48px;left:6px;top:-2px}
  .about-hero__quote p{font-size:clamp(18px,4.2vw,22px)}
  .about-hero__cta{gap:var(--sp-3)}

    .about-creed{padding:var(--sp-16) 0}
  .about-creed__inner{gap:var(--sp-9)}
  .about-creed__title{font-size:clamp(26px,4.4vw,34px);max-width:32ch;line-height:1.26}
  .about-creed__lead{font-size:14px}
  .about-creed__intro{gap:var(--sp-5)}
  .about-creed__photo{aspect-ratio:4/3;border-radius:12px}
  .about-creed__photo-badge{padding:6px 11px 6px 9px;left:12px;bottom:12px}
  .about-creed__photo-badge-text{font-size:10.5px}
  .about-creed__h{font-size:clamp(22px,5.2vw,28px);margin:0 0 var(--sp-3)}
  .about-creed__h--values{margin-bottom:var(--sp-5)}
  .about-creed__p{font-size:13.5px;line-height:1.7}
  .about-creed__p--intro{font-size:14.5px;line-height:1.6}
  .about-creed__values{
    grid-template-columns:1fr;
    gap:var(--sp-5);
  }
  .creed-value{
    grid-template-columns:24px 1fr;
    gap:var(--sp-4);
  }
  .creed-value__icon svg{width:20px;height:20px}
  .creed-value__name{font-size:15px}
  .creed-value__text{font-size:13px;line-height:1.6}
}

@media(max-width:480px){
  .about-hero__title{font-size:clamp(24px,7.5vw,32px);line-height:1.2}
  .about-hero__lead{font-size:13px}

  .about-creed__title{font-size:clamp(22px,5.4vw,28px);max-width:24ch;line-height:1.3}
  .about-creed__lead{font-size:13px}
  .about-creed__h{font-size:clamp(20px,5.4vw,24px)}
  .about-creed__p{font-size:13px}
  .about-creed__p--intro{font-size:14px}
  .creed-value__name{font-size:14.5px}
  .creed-value__text{font-size:12.5px;line-height:1.6}
  .about-creed__photo-badge-text{font-size:10px}
}

.about{
  position:relative;
  background:#000;
  padding:var(--sp-32) 0;
  isolation:isolate;
  overflow:hidden;
}
.about::before{
  content:"";
  position:absolute;left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg, transparent 0%, rgba(255,255,255,.1) 25%, rgba(255,255,255,.1) 75%, transparent 100%);
}

.about__watermark{
  position:absolute;
  left:50%;top:var(--sp-20);
  transform:translateX(-50%);
  width:min(640px, 92%);
  height:auto;
  opacity:.14;
  pointer-events:none;
  user-select:none;
  z-index:0;
}

.about__layout{
  position:relative;z-index:1;
  display:flex;flex-direction:column;
  align-items:center;
  gap:var(--sp-6);
  text-align:center;
}
.about__title{
  font-family:var(--ff-display);
  font-size:clamp(28px, 2.6vw + 12px, 48px);
  font-weight:300;
  letter-spacing:-.025em;line-height:1.28;
  color:#fff;margin:0;
  text-wrap:balance;
  max-width:42ch;
  text-align:center;
}
.about__lead{
  font-family:var(--ff-body);
  font-size:15px;font-weight:400;
  color:rgba(255,255,255,.72);
  line-height:1.7;
  margin:0;max-width:80ch;
  text-align:center;
}
.about__lead strong{
  color:#fff;font-weight:500;
}

.about__cta-row{
  display:flex;align-items:center;justify-content:center;
  gap:var(--sp-4);flex-wrap:wrap;
  margin-top:var(--sp-2);
}
.about__phone{
  display:inline-flex;align-items:center;
  gap:10px;padding:0 4px;
  color:rgba(255,255,255,.85);text-decoration:none;
  font-family:var(--ff-body);
  font-size:14px;font-weight:500;
  letter-spacing:-.005em;
  transition:color var(--dur) var(--ease);
}
.about__phone svg{
  color:rgba(255,255,255,.55);
  transition:color var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.about__phone:hover{color:#fff}
.about__phone:hover svg{color:#fff;transform:rotate(-12deg);}

.about__gallery{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:0 6px;
  max-width:1400px;
  width:100%;
  margin:var(--sp-8) auto var(--sp-6);
  padding:var(--sp-8) 0;
}
.about__gallery-item{
  position:relative;margin:0;
  width:100%;
  aspect-ratio:4/5;
  overflow:hidden;
  border-radius:14px;
  background:#0a0a0a;
  box-shadow:0 30px 60px -22px rgba(0,0,0,.85);
  transition:transform var(--dur-slow) var(--ease), box-shadow var(--dur-slow) var(--ease), z-index 0s;
  will-change:transform;
}
.about__gallery-item:nth-child(1){transform:rotate(-7deg) translateY(10px)}
.about__gallery-item:nth-child(2){transform:rotate(4deg) translateY(-14px)}
.about__gallery-item:nth-child(3){transform:rotate(-3deg) translateY(12px)}
.about__gallery-item:nth-child(4){transform:rotate(8deg) translateY(-8px)}
.about__gallery-item:hover{
  transform:rotate(0) translateY(0) scale(1.05);
  box-shadow:0 40px 80px -20px rgba(0,0,0,.9);
  z-index:5;
}
.about__gallery-item img{
  width:100%;height:100%;
  object-fit:cover;
}

.about__creators-cap{
  font-family:var(--ff-body);
  font-size:12px;font-weight:500;
  letter-spacing:normal;
  color:rgba(255,255,255,.5);
  margin:0;
  text-align:center;
  line-height:1.4;
}
.about__creators{
  display:flex;flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:var(--sp-5) var(--sp-8);
  margin:0;
}
.creator-mini--sm{gap:10px}
.creator-mini--sm .creator-mini__avatar{
  width:40px;height:40px;
  box-shadow:0 0 0 3px rgba(255,255,255,.04);
}
.creator-mini--sm:hover .creator-mini__avatar{
  box-shadow:0 0 0 3px rgba(255,255,255,.08);
}
.creator-mini--sm .creator-mini__body{gap:3px}
.creator-mini--sm .creator-mini__nick{font-size:12.5px}
.creator-mini--sm .creator-mini__realname{font-size:11px}
.creator-mini--sm .creator-mini__verified{width:9px;height:9px}
.creator-mini--sm .creator-mini__yt,
.creator-mini--sm .creator-mini__sp{width:14px;height:14px}
.creator-mini--sm .creator-mini__yt svg,
.creator-mini--sm .creator-mini__sp svg{width:11px;height:11px}

.about__pair{
  position:relative;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--sp-16);
  max-width:1300px;
  width:100%;
  margin:0 auto;
  text-align:left;
  padding:var(--sp-6) 0;
}
.about__pair::before,
.about__pair::after{
  content:"";
  position:absolute;
  top:calc(-1 * var(--sp-20));
  height:calc(50% + var(--sp-20));
  width:96px;
  border-color:rgba(255,255,255,.6);
  border-style:solid;
  border-width:0;
  pointer-events:none;
  z-index:0;
  -webkit-mask-composite:source-in;
  mask-composite:intersect;
}
.about__pair::before{
  left:0;
  border-left-width:1px;
  border-bottom-width:1px;
  -webkit-mask-image:
    linear-gradient(180deg, transparent 0%, #000 22%, #000 100%),
    linear-gradient(90deg, #000 0%, #000 55%, transparent 100%);
  mask-image:
    linear-gradient(180deg, transparent 0%, #000 22%, #000 100%),
    linear-gradient(90deg, #000 0%, #000 55%, transparent 100%);
}
.about__pair::after{
  right:0;
  border-right-width:1px;
  border-bottom-width:1px;
  -webkit-mask-image:
    linear-gradient(180deg, transparent 0%, #000 22%, #000 100%),
    linear-gradient(90deg, transparent 0%, #000 45%, #000 100%);
  mask-image:
    linear-gradient(180deg, transparent 0%, #000 22%, #000 100%),
    linear-gradient(90deg, transparent 0%, #000 45%, #000 100%);
}
.about__pair-item{
  display:flex;flex-direction:column;
  gap:var(--sp-2);
}
.about__pair-item:first-child{padding-left:120px}
.about__pair-item:last-child{padding-right:120px}
.about__pair-item:nth-child(2){text-align:right}
.about__pair-head{
  display:flex;
  align-items:center;
  gap:10px;
}
.about__pair-item:nth-child(2) .about__pair-head{
  justify-content:flex-end;
}
.about__pair-icon{
  width:20px;height:20px;
  color:#fff;
  flex-shrink:0;
}
.about__pair-label{
  font-family:var(--ff-body);
  font-size:16px;font-weight:600;
  letter-spacing:normal;
  color:#fff;
  margin:0;
  line-height:1.3;
}
.about__pair-text{
  font-family:var(--ff-body);
  font-size:14.5px;font-weight:400;
  line-height:1.7;
  color:rgba(255,255,255,.72);
  margin:0;
}

@media (max-width:1024px){
  .about{padding:var(--sp-24) 0}
  .about__pair{gap:var(--sp-8)}
}

@media (max-width:900px){
  .about__gallery{grid-template-columns:repeat(2, 1fr);max-width:680px;gap:var(--sp-2);padding:var(--sp-6) 0}
  .about__pair{grid-template-columns:1fr;gap:var(--sp-6);max-width:560px}
  .about__pair-item:first-child{padding-left:0}
  .about__pair-item:last-child{padding-right:0}
  .about__pair-item:nth-child(2){text-align:left}
  .about__pair-item:nth-child(2) .about__pair-head{justify-content:flex-start}
  .about__pair::before,.about__pair::after{display:none}
}

@media (max-width:720px){
  .about{padding:var(--sp-20) 0}
  .about__layout{gap:var(--sp-5)}
  .about__lead{font-size:14px;line-height:1.65}
  .about__gallery{gap:6px;margin:var(--sp-4) auto var(--sp-3);padding:var(--sp-5) 0}
  .about__gallery-item{border-radius:10px;aspect-ratio:3/4}
  .about__gallery-item:nth-child(1){transform:rotate(-5deg) translateY(6px)}
  .about__gallery-item:nth-child(2){transform:rotate(3deg) translateY(-8px)}
  .about__gallery-item:nth-child(3){transform:rotate(-2deg) translateY(8px)}
  .about__gallery-item:nth-child(4){transform:rotate(6deg) translateY(-4px)}
  .about__creators{gap:var(--sp-4)}
  .creator-mini--sm .creator-mini__avatar{width:36px;height:36px}
}

@media (max-width:480px){
  .about__title{font-size:clamp(22px,5.6vw,28px);line-height:1.2;max-width:none}
  .about__lead{font-size:13.5px}
  .about__gallery{gap:4px;padding:var(--sp-4) 0}
  .about__gallery-item{border-radius:8px}
  .about__pair-text{font-size:13px;line-height:1.6}
  .about__cta-row{gap:var(--sp-3)}
  .about__phone{font-size:13px}
}

.process{
  position:relative;
  background:#000;
  padding:var(--sp-32) 0;
  isolation:isolate;
  overflow:hidden;
}
.process::before{
  content:"";
  position:absolute;left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg, transparent 0%, rgba(255,255,255,.1) 25%, rgba(255,255,255,.1) 75%, transparent 100%);
}

.process__layout{
  position:relative;z-index:1;
  display:flex;flex-direction:column;
  gap:var(--sp-12);
}

.process__head{
  text-align:center;
  display:flex;flex-direction:column;
  align-items:center;
  gap:var(--sp-3);
}
.process__title{
  font-family:var(--ff-display);
  font-size:clamp(28px, 2.6vw + 12px, 48px);
  font-weight:300;
  letter-spacing:-.025em;line-height:1.28;
  color:#fff;margin:0;
  text-wrap:balance;
  max-width:32ch;
}
.process__lead{
  font-family:var(--ff-body);
  font-size:15px;font-weight:400;
  color:rgba(255,255,255,.72);
  line-height:1.7;
  margin:0;max-width:62ch;
}

.process__split{
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:var(--sp-10);
  width:100%;
  align-items:stretch;
}

.process__aside{
  position:relative;
  border-radius:14px;
  overflow:hidden;
  background:#0a0a0a;
  max-width:520px;
  width:100%;
  height:100%;
  justify-self:end;
  align-self:stretch;
}
.process__photo{
  margin:0;
  width:100%;height:100%;
  position:absolute;inset:0;
  overflow:hidden;
}
.process__photo img{
  width:100%;height:100%;
  object-fit:cover;object-position:center center;
  display:block;
  transition:transform 1400ms var(--ease);
}
.process__aside:hover .process__photo img{transform:scale(1.04)}

.process__list{
  display:flex;flex-direction:column;
  width:100%;
}
.process__item{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:var(--sp-10);
  align-items:flex-start;
  padding:var(--sp-8) 0;
  border-top:1px solid rgba(255,255,255,.1);
  transition:background var(--dur) var(--ease);
}
.process__item:first-child{border-top:none;padding-top:0}
.process__item:last-child{padding-bottom:0}
.process__item:hover{background:rgba(255,255,255,.015)}
.process__item-num{
  font-family:var(--ff-display);
  font-size:clamp(28px, 2vw + 10px, 44px);
  font-weight:200;
  letter-spacing:-.04em;
  line-height:1;
  color:rgba(255,255,255,.4);
  flex-shrink:0;
  min-width:80px;
  transition:color var(--dur) var(--ease);
}
.process__item:hover .process__item-num{color:#fff}
.process__item-content{
  display:flex;flex-direction:column;
  gap:var(--sp-2);
  padding-top:6px;
  min-width:0;
}
.process__item-title{
  font-family:var(--ff-display);
  font-size:clamp(17px, 1vw + 9px, 22px);
  font-weight:500;
  letter-spacing:-.018em;line-height:1.2;
  color:#fff;
  margin:0;
}
.process__item-desc{
  font-family:var(--ff-body);
  font-size:13.5px;font-weight:400;
  color:rgba(255,255,255,.65);
  line-height:1.65;
  margin:0;max-width:88ch;
}

@media (max-width:1200px){
  .process__split{grid-template-columns:1fr;gap:var(--sp-8)}
  .process__aside{aspect-ratio:16/9;max-height:520px}
}

@media (max-width:1024px){
  .process{padding:var(--sp-24) 0}
  .process__item{gap:var(--sp-8);padding:var(--sp-6) 0}
  .process__item-num{min-width:90px}
  .process__aside{aspect-ratio:16/10}
}

@media (max-width:720px){
  .process{padding:var(--sp-20) 0}
  .process__layout{gap:var(--sp-8)}
  .process__item{
    grid-template-columns:1fr;
    gap:var(--sp-3);
    padding:var(--sp-5) 0;
  }
  .process__item-num{
    min-width:0;
    font-size:clamp(32px,8vw,42px);
  }
  .process__item-content{padding-top:0}
  .process__item-desc{font-size:14px;line-height:1.65}
  .process__aside{aspect-ratio:4/3}
}

@media (max-width:480px){
  .process__title{font-size:clamp(22px,5.6vw,28px);line-height:1.2;max-width:none}
  .process__lead{font-size:13.5px}
  .process__item-num{font-size:clamp(28px,8vw,36px)}
  .process__item-title{font-size:18px}
  .process__item-desc{font-size:13.5px;line-height:1.6}
}

.differs{
  position:relative;
  background:#000;
  padding:var(--sp-32) 0;
  overflow:hidden;
  isolation:isolate;
}
.differs::before{
  content:"";
  position:absolute;left:0;right:0;top:0;height:1px;
  z-index:2;
  background:linear-gradient(90deg, transparent 0%, rgba(255,255,255,.1) 25%, rgba(255,255,255,.1) 75%, transparent 100%);
}

.differs__bg{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
}
.differs__bg img{
  width:100%;height:100%;
  object-fit:cover;
  object-position:center 75%;
  filter:brightness(.55) saturate(.85) contrast(1.02);
}
.differs__bg-overlay{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(0,0,0,.45) 0%, transparent 60%),
    linear-gradient(180deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.78) 50%, #000 100%);
}

.differs__head,
.differs__grid,
.differs__brands{position:relative;z-index:1}

.differs__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:var(--sp-8);
  flex-wrap:wrap;
}
.differs__title{
  flex:0 1 auto;
  font-family:var(--ff-display);
  font-size:40px;font-weight:300;
  letter-spacing:-.02em;line-height:1.22;
  color:#fff;margin:0;
  max-width:22ch;
  text-wrap:balance;
}
.differs__lead{
  flex:0 1 auto;
  font-family:var(--ff-body);
  font-size:15px;font-weight:400;
  color:rgba(255,255,255,.7);
  line-height:1.6;letter-spacing:.005em;
  margin:0;max-width:36ch;
}
.differs__cta{
  flex:0 0 auto;
  display:flex;
  padding-bottom:4px;
}

.differs__grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:var(--sp-10);
  margin-top:var(--sp-12);
}
.differs__item{
  position:relative;
  padding:var(--sp-4) 0 var(--sp-6);
}
.differs__item::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:1px;
  background:linear-gradient(90deg, transparent 0%, rgba(255,255,255,.5) 50%, transparent 100%);
}

.differs__brands{
  margin-top:var(--sp-16);
  padding-top:var(--sp-10);
  border-top:1px solid rgba(255,255,255,.08);
  display:flex;flex-direction:column;
  align-items:center;
  gap:var(--sp-6);
}
.differs__brands-cap{
  font-family:var(--ff-body);
  font-size:13px;font-weight:400;
  color:rgba(255,255,255,.55);
  letter-spacing:.005em;line-height:1.4;
  margin:0;text-align:center;
  max-width:60ch;
}
.differs__item-title{
  font-family:var(--ff-display);
  font-size:clamp(18px, 1vw + 8px, 22px);
  font-weight:500;
  color:#fff;
  letter-spacing:-.018em;
  line-height:1.25;
  margin:0 0 var(--sp-2);
}
.differs__item-desc{
  font-family:var(--ff-body);
  font-size:13.5px;font-weight:400;
  color:rgba(255,255,255,.65);
  line-height:1.65;
  margin:0;
}

@media (max-width:1024px){
  .differs{padding:var(--sp-24) 0}
  .differs__title{font-size:clamp(28px,3vw + 12px,36px);max-width:18ch}
  .differs__grid{gap:var(--sp-8); margin-top:var(--sp-10)}
  .differs__brands{margin-top:var(--sp-12)}
}
@media (max-width:720px){
  .differs{padding:var(--sp-20) 0}
  .differs__head{flex-direction:column; align-items:flex-start; gap:var(--sp-4)}
  .differs__grid{grid-template-columns:1fr; gap:var(--sp-6); margin-top:var(--sp-8)}
  .differs__lead{font-size:14px}
  .differs__brands{margin-top:var(--sp-10);padding-top:var(--sp-8)}
}
@media (max-width:480px){
  .differs__title{font-size:clamp(24px,6vw,30px); max-width:none}
  .differs__lead{font-size:13.5px}
  .differs__item-title{font-size:17px}
  .differs__item-desc{font-size:13px;line-height:1.6}
  .differs__brands-cap{font-size:12px}
}

.stats{
  position:relative;
  background:#000;
  padding:var(--sp-20) 0;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.stats__grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:var(--sp-8);
  align-items:center;
}
.stats__item{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:var(--sp-2);
  padding-left:var(--sp-6);
  border-left:1px solid rgba(255,255,255,.12);
}
.stats__item:first-child{
  padding-left:0;
  border-left:none;
}
.stats__num{
  font-family:var(--ff-display);
  font-size:clamp(40px, 4vw + 8px, 64px);
  font-weight:300;
  letter-spacing:-.04em;
  line-height:1;
  color:#fff;
  display:inline-flex;
  align-items:baseline;
  white-space:nowrap;
}
.stats__num em{
  font-style:normal;
  font-size:.42em;
  color:rgba(255,255,255,.45);
  font-weight:400;
  margin-left:4px;
  letter-spacing:-.02em;
}
.stats__label{
  font-family:var(--ff-body);
  font-size:13px;
  font-weight:400;
  color:rgba(255,255,255,.62);
  line-height:1.45;
  margin:0;
  max-width:24ch;
}

@media (max-width:1024px){
  .stats__grid{gap:var(--sp-6)}
  .stats__item{padding-left:var(--sp-5)}
}

@media (max-width:780px){
  .stats__grid{grid-template-columns:repeat(2, 1fr); gap:var(--sp-8) var(--sp-6); row-gap:var(--sp-8)}
  .stats__item:nth-child(3){padding-left:0;border-left:none}
}

@media (max-width:480px){
  .stats{padding:var(--sp-16) 0}
  .stats__num{font-size:clamp(32px,8vw,42px)}
  .stats__label{font-size:12px}
  .stats__item{padding-left:var(--sp-4)}
}

.services-hero{
  position:relative;
  background:#000;
  padding:var(--sp-32) 0 var(--sp-24);
  isolation:isolate;
  overflow:hidden;
  min-height:60vh;
  display:flex;
  align-items:center;
}
.services-hero__bg{
  position:absolute;inset:0;z-index:0;
  pointer-events:none;
}
.services-hero__bg img{
  width:100%;height:100%;
  object-fit:cover;object-position:center 40%;
  filter:brightness(.42) saturate(.9) contrast(1.02);
}
.services-hero__bg-overlay{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse at 30% 50%, rgba(0,0,0,.35) 0%, transparent 60%),
    linear-gradient(180deg, rgba(0,0,0,.6) 0%, rgba(0,0,0,.4) 50%, #000 100%);
}
.services-hero__inner{position:relative;z-index:1}
.services-hero__content{
  display:flex;flex-direction:column;
  gap:var(--sp-6);
  max-width:840px;
}
.services-hero__title{
  font-family:var(--ff-display);
  font-size:clamp(32px, 3vw + 14px, 56px);
  font-weight:300;
  letter-spacing:-.035em;
  line-height:1.05;
  color:#fff;
  margin:0;
  text-wrap:balance;
}

.services-hero__watermark{
  position:absolute;
  right:-60px;top:50%;
  transform:translateY(-50%);
  width:min(520px, 50vw);
  height:auto;
  opacity:.06;
  pointer-events:none;
  user-select:none;
  z-index:0;
}
.services-hero__lead{
  font-family:var(--ff-body);
  font-size:clamp(15px, 0.5vw + 13px, 17px);
  font-weight:400;
  color:rgba(255,255,255,.78);
  line-height:1.65;
  margin:0;max-width:64ch;
}
.services-hero__cta{
  display:flex;align-items:center;
  gap:var(--sp-5);flex-wrap:wrap;
  margin-top:var(--sp-2);
}

.services-list{
  position:relative;
  background:#000;
  padding:var(--sp-24) 0 var(--sp-32);
  overflow:hidden;
  border-top:1px solid rgba(255,255,255,.08);
}

.services-list__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:var(--sp-8);
  flex-wrap:wrap;
  margin-bottom:var(--sp-10);
}
.services-list__head-left{
  display:flex;flex-direction:column;
  gap:var(--sp-3);
  flex:0 1 auto;
}
.services-list__logo{
  height:36px;width:auto;
  display:block;
  align-self:flex-start;
  opacity:.92;
  margin-bottom:var(--sp-1);
}
.services-list__title{
  font-family:var(--ff-display);
  font-size:40px;font-weight:300;
  letter-spacing:-.02em;line-height:1.22;
  color:#fff;margin:0;
  text-wrap:balance;
  max-width:22ch;
}
.services-list__lead{
  flex:0 1 auto;
  font-family:var(--ff-body);
  font-size:15px;font-weight:400;
  color:rgba(255,255,255,.7);
  line-height:1.6;letter-spacing:.005em;
  margin:0 0 4px;max-width:36ch;
}

.services-list__grid{
  display:grid;
  gap:var(--sp-4);
}
.services-list--wrap .services-list__grid,
.services-list--detailing .services-list__grid{
  grid-template-columns:repeat(4, 1fr);
}

.services-list__tile{
  --bg:none;
  position:relative;
  display:flex;flex-direction:column;justify-content:space-between;
  aspect-ratio:3/4;
  padding:var(--sp-5);
  overflow:hidden;
  border-radius:14px;
  background-color:#0a0a0a;
  color:#fff;text-decoration:none;
  isolation:isolate;
  transition:transform 700ms var(--ease-out),box-shadow 700ms var(--ease-out);
  will-change:transform;
}
.services-list__tile::after{
  content:"";position:absolute;inset:0;z-index:0;
  background-image:var(--bg);
  background-size:cover;background-position:center;
  transition:transform 1800ms var(--ease-out);
  pointer-events:none;
}
.services-list__tile::before{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,
    rgba(0,0,0,.15) 0%,
    rgba(0,0,0,.45) 35%,
    rgba(0,0,0,.85) 70%,
    rgba(0,0,0,.97) 100%);
  pointer-events:none;
}
.services-list__tile:hover{transform:scale(1.02);box-shadow:0 30px 60px -25px rgba(0,0,0,.85)}
.services-list__tile:hover::after{transform:scale(1.06)}
.services-list__tile > *{position:relative;z-index:2}

.services-list__tile-num{
  font-family:var(--ff-mono);
  font-size:10px;font-weight:500;
  color:rgba(255,255,255,.7);
  letter-spacing:.06em;line-height:1;
}
.services-list__tile-bottom{
  display:flex;flex-direction:column;
  gap:6px;
}
.services-list__tile-title{
  font-family:var(--ff-display);
  font-size:17px;font-weight:500;
  letter-spacing:-.012em;line-height:1.18;
  color:#fff;margin:0;
}
.services-list__tile-desc{
  font-family:var(--ff-body);
  font-size:11.5px;font-weight:400;
  color:rgba(255,255,255,.75);
  line-height:1.5;letter-spacing:.005em;
  margin:0;max-width:34ch;
}
.services-list__tile-meta{
  display:flex;align-items:center;
  gap:6px;flex-wrap:wrap;
  font-family:var(--ff-body);
  font-size:11.5px;font-weight:400;
  color:rgba(255,255,255,.7);
  line-height:1;
  margin-top:2px;
}
.services-list__tile-meta-item strong{
  font-weight:600;color:#fff;letter-spacing:-.005em;
}
.services-list__tile-meta-dot{color:rgba(255,255,255,.3)}
.services-list__tile-cta{
  display:inline-flex;align-items:center;gap:6px;
  margin-top:6px;padding-top:10px;
  align-self:flex-start;
  border-top:1px solid rgba(255,255,255,.16);
  font-family:var(--ff-body);
  font-size:11.5px;font-weight:500;
  color:#fff;letter-spacing:.005em;
  line-height:1;
  transition:gap var(--dur) var(--ease),border-color var(--dur) var(--ease);
}
.services-list__tile:hover .services-list__tile-cta{
  gap:10px;
  border-color:rgba(255,255,255,.4);
}

.services-cta{
  position:relative;
  background:#000;
  padding:var(--sp-20) 0;
  border-top:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.12);
  isolation:isolate;
  overflow:hidden;
}
.services-cta__bg{
  position:absolute;inset:0;
  z-index:0;
  pointer-events:none;
}
.services-cta__bg img{
  width:100%;height:100%;
  object-fit:cover;object-position:center 60%;
  filter:brightness(.38) saturate(.85) contrast(1.02);
}
.services-cta__bg-overlay{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse at 25% 50%, rgba(0,0,0,.4) 0%, transparent 65%),
    linear-gradient(90deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.35) 50%, rgba(0,0,0,.55) 100%);
}
.services-cta__inner{
  position:relative;z-index:1;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:var(--sp-8);
  flex-wrap:wrap;
}
.services-cta__text{
  flex:0 1 auto;
  display:flex;flex-direction:column;
  gap:var(--sp-2);
  max-width:64ch;
}
.services-cta__title{
  font-family:var(--ff-display);
  font-size:clamp(22px, 1.6vw + 10px, 32px);
  font-weight:300;
  letter-spacing:-.02em;line-height:1.2;
  color:#fff;margin:0;
  text-wrap:balance;
}
.services-cta__lead{
  font-family:var(--ff-body);
  font-size:14px;font-weight:400;
  color:rgba(255,255,255,.7);
  line-height:1.55;letter-spacing:.005em;
  margin:0;
}
.services-cta__row{
  flex:0 0 auto;
  display:flex;align-items:center;
  gap:var(--sp-5);flex-wrap:wrap;
}
.services-cta__phone{
  display:inline-flex;align-items:center;gap:10px;
  color:rgba(255,255,255,.85);text-decoration:none;
  font-family:var(--ff-body);
  font-size:14px;font-weight:500;
  letter-spacing:-.005em;
  transition:color var(--dur) var(--ease);
}
.services-cta__phone svg{
  color:rgba(255,255,255,.55);
  transition:color var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.services-cta__phone:hover{color:#fff}
.services-cta__phone:hover svg{color:#fff;transform:rotate(-12deg)}

@media (max-width:1280px){
  .services-list--wrap .services-list__grid,
  .services-list--detailing .services-list__grid{
    grid-template-columns:repeat(3, 1fr);
    gap:var(--sp-4);
  }
}

@media (max-width:1024px){
  .services-hero{padding:var(--sp-24) 0 var(--sp-20);min-height:50vh}
  .services-list{padding:var(--sp-20) 0 var(--sp-24)}
  .services-list__head{margin-bottom:var(--sp-8)}
}

@media (max-width:780px){
  .services-list--wrap .services-list__grid,
  .services-list--detailing .services-list__grid{
    grid-template-columns:repeat(2, 1fr);
  }
  .services-list__tile{aspect-ratio:4/5}
}

@media (max-width:560px){
  .services-hero{padding:var(--sp-20) 0 var(--sp-16);min-height:auto}
  .services-list{padding:var(--sp-16) 0 var(--sp-20)}
  .services-list--wrap .services-list__grid,
  .services-list--detailing .services-list__grid{
    grid-template-columns:1fr;gap:var(--sp-3);
  }
  .services-list__tile{aspect-ratio:16/14;padding:var(--sp-5);border-radius:12px}
  .services-list__tile-title{font-size:18px}
  .services-list__tile-desc{font-size:12px}
  .services-cta{padding:var(--sp-12) 0}
  .services-cta__inner{flex-direction:column;align-items:flex-start;gap:var(--sp-5)}
}

@media (max-width:480px){
  .services-hero__cta{gap:var(--sp-3)}
  .services-list__title{font-size:clamp(24px,6vw,32px);max-width:none}
  .services-list__lead{font-size:13.5px}
  .services-list__tile{padding:var(--sp-4);border-radius:10px;aspect-ratio:5/4}
  .services-cta__lead{font-size:13px}
}

.nav__item.has-mega{position:static}
.nav__link-arrow{
  margin-left:5px;
  transition:transform 350ms var(--ease-out);
}
.nav__item.has-mega:hover .nav__link-arrow,
.nav__item.has-mega.is-mega-active .nav__link-arrow,
.nav__item.has-mega:focus-within .nav__link-arrow{transform:rotate(180deg)}

.nav__item.has-mega .nav__link::after{
  content:"";
  position:absolute;
  left:-12px;right:-12px;
  top:100%;
  height:42px;
  pointer-events:auto;
}

.nav__mega{
  position:fixed;
  top:0;left:0;right:0;
  background:rgba(8,8,8,.96);
  backdrop-filter:blur(28px) saturate(140%);
  -webkit-backdrop-filter:blur(28px) saturate(140%);
  border-bottom:1px solid rgba(255,255,255,.1);
  box-shadow:0 30px 80px -20px rgba(0,0,0,.85);
  opacity:0;visibility:hidden;
  transform:translateY(-8px);
  transition:opacity 350ms var(--ease-out),visibility 350ms,transform 400ms var(--ease-out);
  z-index:999;
  pointer-events:none;
}
.nav__mega.is-open{
  opacity:1;visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
}
.nav.is-scrolled ~ .nav__mega{
  background:rgba(0,0,0,.7);
  backdrop-filter:blur(20px) saturate(150%);
  -webkit-backdrop-filter:blur(20px) saturate(150%);
}
.nav.is-scrolled ~ .nav__mega .nav__mega-inner{
  padding-top:104px;
}
.nav__mega-inner{
  max-width:var(--container-w);
  margin:0 auto;
  padding:160px var(--gutter) var(--sp-12);
  display:grid;
  grid-template-columns:1fr 1fr 0.8fr;
  gap:var(--sp-12);
}

.nav__mega-cat{display:flex;flex-direction:column;gap:var(--sp-4)}
.nav__mega-cat-head{
  display:flex;flex-direction:row;
  align-items:center;
  gap:12px;
  padding-bottom:var(--sp-3);
  border-bottom:1px solid rgba(255,255,255,.12);
}
.nav__mega-cat-icon{
  height:24px;width:auto;display:block;flex-shrink:0;
  opacity:.92;
}
.nav__mega-cat-label{
  font-family:var(--ff-display);
  font-size:16px;font-weight:600;
  letter-spacing:-.01em;line-height:1;
  color:#fff;
}

.nav__mega-list{
  list-style:none;padding:0;margin:0;
  display:flex;flex-direction:column;
  gap:0;
}
.nav__mega-item{
  display:flex;align-items:center;justify-content:space-between;
  gap:var(--sp-3);
  padding:14px 6px;
  border-bottom:1px solid rgba(255,255,255,.06);
  text-decoration:none;
  border-radius:6px;
  transition:background 250ms var(--ease);
}
.nav__mega-item:hover{background:rgba(255,255,255,.045)}
.nav__mega-item-label{
  font-family:var(--ff-body);
  font-size:14.5px;font-weight:500;
  color:#fff;
  letter-spacing:-.005em;line-height:1.25;
  transition:transform 250ms var(--ease);
}
.nav__mega-item:hover .nav__mega-item-label{transform:translateX(4px)}
.nav__mega-item-cta{
  display:inline-flex;align-items:center;gap:6px;
  font-family:var(--ff-body);
  font-size:12px;font-weight:500;
  color:rgba(255,255,255,.55);
  letter-spacing:.005em;
  white-space:nowrap;
  transition:color 250ms,gap 250ms;
}
.nav__mega-item-cta svg{
  color:inherit;
  transition:transform 250ms;
}
.nav__mega-item:hover .nav__mega-item-cta{
  color:#fff;
  gap:9px;
}
.nav__mega-item:hover .nav__mega-item-cta svg{transform:translateX(2px)}

.nav__mega-cat-cta{
  display:inline-flex;align-items:center;gap:7px;
  margin-top:var(--sp-2);
  font-family:var(--ff-body);
  font-size:12px;font-weight:500;
  color:rgba(255,255,255,.65);
  text-decoration:none;
  letter-spacing:.005em;
  align-self:flex-start;
  transition:color 250ms,gap 250ms;
}
.nav__mega-cat-cta:hover{color:#fff;gap:11px}

.nav__mega-aside{
  display:flex;flex-direction:column;
  justify-content:center;
  gap:var(--sp-5);
  padding-left:var(--sp-8);
  border-left:1px solid rgba(255,255,255,.08);
}
.nav__mega-brand{
  display:flex;flex-direction:column;
  gap:6px;
  text-decoration:none;
}
.nav__mega-brand img{
  height:48px;width:auto;
  align-self:flex-start;
  opacity:.92;
}
.nav__mega-brand-name{
  font-family:var(--ff-display);
  font-size:17px;font-weight:500;
  letter-spacing:-.012em;
  color:#fff;
  margin-top:var(--sp-2);
}
.nav__mega-brand-tag{
  font-family:var(--ff-body);
  font-size:11px;font-weight:400;
  color:rgba(255,255,255,.5);
  letter-spacing:.04em;
  text-transform:uppercase;
}
.nav__mega-aside-lead{
  font-family:var(--ff-body);
  font-size:13px;font-weight:400;
  color:rgba(255,255,255,.65);
  line-height:1.55;
  margin:0;
}
.nav__mega-aside-cta{
  display:flex;align-items:center;
  gap:var(--sp-4);flex-wrap:wrap;
}
.nav__mega-aside-phone{
  display:inline-flex;align-items:center;
  gap:9px;
  text-decoration:none;
  color:rgba(255,255,255,.85);
  font-family:var(--ff-body);
  font-size:13.5px;font-weight:500;
  letter-spacing:-.005em;
  transition:color 250ms;
}
.nav__mega-aside-phone svg{
  color:rgba(255,255,255,.5);
  transition:color 250ms,transform 250ms;
}
.nav__mega-aside-phone:hover{color:#fff}
.nav__mega-aside-phone:hover svg{color:#fff;transform:rotate(-12deg)}

@media (max-width:1100px){
  .nav__mega{display:none}
  .nav__link-arrow{display:none}
}

.svc-section__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:var(--sp-8);
  flex-wrap:wrap;
  margin-bottom:var(--sp-10);
}
.svc-section__head-left{
  display:flex;flex-direction:column;
  gap:var(--sp-2);
  flex:0 1 auto;
}
.svc-section__cta{
  flex:0 0 auto;
  display:flex;
  padding-top:6px;
}
.svc-section__label{
  font-family:var(--ff-mono);
  font-size:11px;font-weight:500;
  color:rgba(255,255,255,.5);
  letter-spacing:.08em;
  text-transform:uppercase;
}
.svc-section__title{
  font-family:var(--ff-display);
  font-size:40px;font-weight:300;
  letter-spacing:-.02em;line-height:1.22;
  color:#fff;margin:0;
  text-wrap:balance;
  max-width:22ch;
}
.svc-section__lead{
  flex:1 1 380px;
  font-family:var(--ff-body);
  font-size:15px;font-weight:400;
  color:rgba(255,255,255,.7);
  line-height:1.6;letter-spacing:.005em;
  margin:0 0 4px;max-width:52ch;
}

.svc-hero{
  position:relative;
  background:#000;
  padding:var(--sp-32) 0 var(--sp-24);
  isolation:isolate;
  overflow:hidden;
  min-height:62vh;
  display:flex;align-items:center;
}
.svc-hero__bg{
  position:absolute;inset:0;z-index:0;
  pointer-events:none;
}
.svc-hero__bg img{
  width:100%;height:100%;
  object-fit:cover;object-position:center;
  filter:brightness(.42) saturate(.9) contrast(1.02);
}
.svc-hero__bg-overlay{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse at 25% 60%, rgba(0,0,0,.4) 0%, transparent 65%),
    linear-gradient(180deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.35) 50%, #000 100%);
}
.svc-hero__inner{position:relative;z-index:1}
.svc-hero__content{
  display:flex;flex-direction:column;
  gap:var(--sp-5);
  max-width:880px;
}

.svc-hero__form{
  width:100%;
  max-width:460px;
  justify-self:end;
  padding:var(--sp-6);
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;
  background:rgba(0,0,0,.55);
  backdrop-filter:blur(24px) saturate(140%);
  -webkit-backdrop-filter:blur(24px) saturate(140%);
  box-shadow:0 30px 80px -20px rgba(0,0,0,.85);
  display:flex;flex-direction:column;
  gap:var(--sp-4);
}
.svc-hero__form-head{
  display:flex;flex-direction:column;
  gap:6px;
  padding-bottom:var(--sp-3);
  border-bottom:1px solid rgba(255,255,255,.1);
}
.svc-hero__form-title{
  font-family:var(--ff-display);
  font-size:22px;font-weight:500;
  letter-spacing:-.018em;line-height:1.15;
  color:#fff;margin:0;
}
.svc-hero__form-lead{
  font-family:var(--ff-body);
  font-size:13px;font-weight:400;
  color:rgba(255,255,255,.65);
  line-height:1.5;letter-spacing:.005em;
  margin:0;
}
.svc-hero__form-body{
  display:flex;flex-direction:column;
  gap:var(--sp-3);
}
.svc-hero__form-group{
  display:flex;flex-direction:column;
  gap:6px;
}
.svc-hero__form-group label{
  font-family:var(--ff-body);
  font-size:11px;font-weight:600;
  color:rgba(255,255,255,.6);
  letter-spacing:.04em;
  text-transform:uppercase;
}
.svc-hero__form-optional{
  font-weight:400;
  color:rgba(255,255,255,.4);
  text-transform:none;
  letter-spacing:0;
}
.svc-hero__form-group input,
.svc-hero__form-group textarea{
  width:100%;
  padding:10px 12px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.1);
  border-radius:8px;
  color:#fff;
  font-family:var(--ff-body);
  font-size:14px;
  font-weight:400;
  letter-spacing:-.005em;
  resize:vertical;
  transition:border-color .25s,background .25s;
}
.svc-hero__form-group input::placeholder,
.svc-hero__form-group textarea::placeholder{
  color:rgba(255,255,255,.3);
}
.svc-hero__form-group input:focus,
.svc-hero__form-group textarea:focus{
  outline:none;
  border-color:rgba(255,255,255,.35);
  background:rgba(255,255,255,.07);
}
.svc-hero__form-group input[readonly]{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.18);
  color:rgba(255,255,255,.85);
  cursor:default;
}
.svc-hero__form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--sp-3);
}
.svc-hero__form-consent{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:10px;
  align-items:start;
  cursor:pointer;
  font-family:var(--ff-body);
  font-size:11.5px;font-weight:400;
  color:rgba(255,255,255,.62);
  line-height:1.45;letter-spacing:.005em;
  user-select:none;
}
.svc-hero__form-consent input[type="checkbox"]{
  appearance:none;
  -webkit-appearance:none;
  width:16px;height:16px;
  margin:1px 0 0;
  border:1px solid rgba(255,255,255,.3);
  border-radius:3px;
  background:rgba(255,255,255,.04);
  cursor:pointer;
  position:relative;
  flex-shrink:0;
  transition:border-color .2s,background .2s;
}
.svc-hero__form-consent input[type="checkbox"]:hover{
  border-color:rgba(255,255,255,.55);
}
.svc-hero__form-consent input[type="checkbox"]:checked{
  background:#fff;
  border-color:#fff;
}
.svc-hero__form-consent input[type="checkbox"]:checked::after{
  content:"";
  position:absolute;
  inset:0;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12l5 5L20 7'/></svg>") center/12px no-repeat;
}
.svc-hero__form-consent a{
  color:rgba(255,255,255,.85);
  text-decoration:underline;
  text-underline-offset:2px;
}
.svc-hero__form-consent a:hover{color:#fff}

.svc-hero__form-submit{
  width:100%;
  margin-top:var(--sp-1);
  justify-content:center;
}

@media (max-width:1024px){
  .svc-hero__inner{
    grid-template-columns:1fr;
    gap:var(--sp-8);
    align-items:start;
  }
  .svc-hero__form{justify-self:stretch;max-width:100%}
}
.svc-hero__breadcrumb{
  display:inline-flex;align-items:center;
  gap:6px;
  font-family:var(--ff-body);
  font-size:12px;font-weight:500;
  letter-spacing:.04em;
  color:rgba(255,255,255,.55);
  text-decoration:none;
  text-transform:uppercase;
  align-self:flex-start;
  transition:color .25s;
}
.svc-hero__breadcrumb:hover{color:#fff}
.svc-hero__title{
  font-family:var(--ff-display);
  font-size:clamp(36px, 4.4vw + 14px, 80px);
  font-weight:300;
  letter-spacing:-.04em;
  line-height:1;
  color:#fff;margin:0;
  text-wrap:balance;
}
.svc-hero__lead{
  font-family:var(--ff-body);
  font-size:clamp(15px, .5vw + 13px, 17px);
  font-weight:400;
  color:rgba(255,255,255,.78);
  line-height:1.65;
  margin:0;max-width:64ch;
}
.svc-hero__meta{
  display:inline-flex;align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin:0;
  font-family:var(--ff-body);
  font-size:14px;font-weight:400;
  color:rgba(255,255,255,.65);
  letter-spacing:.005em;line-height:1.5;
}
.svc-hero__meta strong{
  font-weight:600;
  color:#fff;
  letter-spacing:-.005em;
}
.svc-hero__meta-dot{
  color:rgba(255,255,255,.3);
  user-select:none;
}
.svc-hero__cta{
  display:flex;align-items:center;
  gap:var(--sp-5);flex-wrap:wrap;
  margin-top:var(--sp-3);
}
.svc-hero__phone{
  display:inline-flex;align-items:center;
  gap:9px;text-decoration:none;
  color:rgba(255,255,255,.85);
  font-family:var(--ff-body);
  font-size:14px;font-weight:500;
  transition:color .25s;
}
.svc-hero__phone svg{color:rgba(255,255,255,.55);transition:color .25s,transform .25s}
.svc-hero__phone:hover{color:#fff}
.svc-hero__phone:hover svg{color:#fff;transform:rotate(-12deg)}

.svc-intro{
  position:relative;
  background:#000;
  padding:var(--sp-24) 0;
}
.svc-intro::before,
.svc-scope::before,
.svc-packages::before,
.svc-process::before,
.svc-fit::before,
.svc-faq::before,
.svc-cta::before{
  content:"";
  position:absolute;left:0;right:0;top:0;height:1px;
  z-index:3;
  background:linear-gradient(90deg, transparent 0%, rgba(255,255,255,.1) 25%, rgba(255,255,255,.1) 75%, transparent 100%);
}
.svc-intro__split{
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  gap:var(--sp-8);
  align-items:stretch;
}

.svc-intro__main{
  display:flex;flex-direction:column;
  justify-content:space-between;
  gap:var(--sp-6);
}
.svc-intro__main-content{
  display:flex;flex-direction:column;
  gap:var(--sp-4);
}

.svc-intro__social{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:var(--sp-3);
}
.svc-intro__social-label{
  font-family:var(--ff-body);
  font-size:12px;font-weight:600;
  color:#fff;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.svc-intro__social-line{
  height:1px;
  background:rgba(255,255,255,.15);
}
.svc-intro__social-icons{
  display:flex;
  gap:6px;
}
.svc-intro__social-icon{
  width:40px;height:40px;
  display:flex;align-items:center;justify-content:center;
  background:#fff;
  color:#000;
  border-radius:6px;
  text-decoration:none;
  transition:transform .25s var(--ease),background .25s;
}
.svc-intro__social-icon:hover{
  background:rgba(255,255,255,.85);
  transform:translateY(-2px);
}
.svc-intro__social-icon svg{width:18px;height:18px;display:block;flex-shrink:0}

.svc-intro__features-wrap{
  display:flex;flex-direction:column;
  justify-content:space-between;
  gap:var(--sp-4);
}
.svc-intro__accordion{
  display:flex;flex-direction:column;
}
.svc-intro__tab{
  border-bottom:1px solid rgba(255,255,255,.08);
}
.svc-intro__tab:first-child{border-top:none}
.svc-intro__tab-head{
  display:flex;align-items:center;justify-content:space-between;
  gap:var(--sp-3);
  padding:var(--sp-5) 0;
  cursor:pointer;
  list-style:none;
  transition:padding .25s;
}
.svc-intro__tab-head::-webkit-details-marker{display:none}
.svc-intro__tab:hover .svc-intro__tab-head{padding-left:4px}
.svc-intro__tab-title{
  font-family:var(--ff-body);
  font-size:18px;font-weight:600;
  color:#fff;
  letter-spacing:-.015em;
  line-height:1.3;
}
.svc-intro__tab-icon{
  flex-shrink:0;
  width:24px;height:24px;
  margin-left:auto;
  stroke-width:1.5;
  color:rgba(255,255,255,.5);
  transition:transform .35s var(--ease),color .25s;
}
.svc-intro__tab:hover .svc-intro__tab-icon{
  color:rgba(255,255,255,.85);
}
.svc-intro__tab[open] .svc-intro__tab-icon{
  transform:rotate(180deg);
  color:#fff;
}
.svc-intro__tab.is-closing .svc-intro__tab-icon{
  transform:rotate(0deg);
  color:rgba(255,255,255,.5);
}
.svc-intro__tab-desc{
  font-family:var(--ff-body);
  font-size:14px;font-weight:400;
  color:rgba(255,255,255,.7);
  line-height:1.65;letter-spacing:.005em;
  margin:0;
  padding:0 0 var(--sp-4);
}

.svc-intro__cta{
  align-self:flex-start;
  margin-top:var(--sp-2);
}
.svc-intro__para{
  font-family:var(--ff-body);
  font-size:14.5px;font-weight:400;
  color:rgba(255,255,255,.72);
  line-height:1.7;
  margin:0;max-width:50ch;
}

.svc-intro__photo{
  position:relative;margin:0;
  width:100%;
  aspect-ratio:4/5;
  height:auto;
  overflow:hidden;
  border-radius:14px;
  background:#0a0a0a;
  justify-self:center;
}
.svc-intro__photo img{
  width:100%;height:100%;
  object-fit:cover;object-position:center center;
  transition:transform 1400ms var(--ease);
}
.svc-intro__photo:hover img{transform:scale(1.04)}

@media (max-width:1024px){
  .svc-intro__split{grid-template-columns:1fr;gap:var(--sp-8)}
  .svc-intro__photo{max-width:480px;justify-self:center}
  .svc-intro__main,.svc-intro__features-wrap{justify-content:flex-start}
}

.svc-scope{
  position:relative;
  background:#000;
  padding:var(--sp-20) 0;
  overflow:hidden;
  isolation:isolate;
}
.svc-scope__bg{
  position:absolute;inset:0;z-index:0;
  pointer-events:none;
}
.svc-scope__bg img{
  width:100%;height:100%;
  object-fit:cover;
  object-position:center 60%;
  filter:brightness(.5) saturate(.85) contrast(1.02);
}
.svc-scope__bg-overlay{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(0,0,0,.45) 0%, transparent 60%),
    linear-gradient(180deg, rgba(0,0,0,.6) 0%, rgba(0,0,0,.82) 50%, #000 100%);
}
.svc-scope > .svc-section__head,
.svc-scope__grid{position:relative;z-index:1}
.svc-scope__grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:var(--sp-5);
}
.svc-scope__item{
  position:relative;
  display:flex;flex-direction:column;
  align-items:center;
  text-align:center;
  gap:var(--sp-3);
  padding:var(--sp-6) var(--sp-5);
  border-radius:14px;
  background:rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.07);
  overflow:hidden;
  transition:border-color .35s ease, background .35s ease, transform .35s var(--ease-out);
}
.svc-scope__item::before{
  content:"";
  position:absolute;inset:0;
  border-radius:inherit;
  pointer-events:none;
  opacity:.7;
  transition:opacity .4s ease;
}
.svc-scope__item:hover{
  border-color:rgba(255,255,255,.18);
  background:rgba(255,255,255,.045);
  transform:translateY(-3px);
}
.svc-scope__item:hover::before{opacity:1}

.svc-scope__item:nth-child(1)::before{background:radial-gradient(ellipse 80% 60% at 80% 0%, rgba(255,255,255,.08), transparent 60%)}
.svc-scope__item:nth-child(2)::before{background:radial-gradient(ellipse 70% 60% at 20% 100%, rgba(255,255,255,.08), transparent 60%)}
.svc-scope__item:nth-child(3)::before{background:radial-gradient(ellipse 60% 80% at 100% 50%, rgba(255,255,255,.07), transparent 65%)}
.svc-scope__item:nth-child(4)::before{background:radial-gradient(ellipse 75% 65% at 0% 30%, rgba(255,255,255,.08), transparent 60%)}
.svc-scope__item:nth-child(5)::before{background:radial-gradient(ellipse 70% 50% at 50% 100%, rgba(255,255,255,.07), transparent 65%)}
.svc-scope__item:nth-child(6)::before{background:radial-gradient(ellipse 60% 70% at 70% 30%, rgba(255,255,255,.08), transparent 60%)}

.svc-scope__item > *{position:relative;z-index:1}

.svc-scope__icon{
  position:relative;
  display:inline-flex;flex-direction:column;align-items:center;
  color:#fff;
  margin-bottom:var(--sp-2);
  filter:drop-shadow(0 0 14px rgba(255,255,255,.12));
  transition:transform .5s var(--ease-out), filter .4s ease;
}
.svc-scope__icon svg{
  width:34px;height:34px;
  stroke-width:1.3;
}
.svc-scope__icon::after{
  content:"";
  display:block;
  margin-top:10px;
  width:20px;height:1px;
  background:linear-gradient(90deg, transparent 0%, rgba(255,255,255,.55) 50%, transparent 100%);
  transition:width .4s var(--ease-out), background .4s ease;
}
.svc-scope__item:hover .svc-scope__icon{
  transform:translateY(-2px);
  filter:drop-shadow(0 0 18px rgba(255,255,255,.28));
}
.svc-scope__item:hover .svc-scope__icon::after{
  width:32px;
  background:linear-gradient(90deg, transparent 0%, rgba(255,255,255,.85) 50%, transparent 100%);
}
.svc-scope__title{
  font-family:var(--ff-display);
  font-size:17px;font-weight:500;
  letter-spacing:-.01em;line-height:1.25;
  color:#fff;
  margin:0;
}
.svc-scope__text{
  font-family:var(--ff-body);
  font-size:13.5px;font-weight:400;
  color:rgba(255,255,255,.72);
  line-height:1.55;
  margin:0;
  max-width:32ch;
}

.svc-packages{
  position:relative;
  background:#000;
  padding:var(--sp-24) 0;
}
.svc-packages__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
  gap:var(--sp-5);
}
.svc-package{
  position:relative;
  display:flex;flex-direction:column;
  gap:var(--sp-3);
  min-height:300px;
  padding:var(--sp-6);
  border-radius:14px;
  background:linear-gradient(180deg, rgba(255,255,255,.04) 0%, rgba(255,255,255,.015) 100%);
  border:1px solid rgba(255,255,255,.08);
  text-decoration:none;color:#fff;
  overflow:hidden;
  transition:transform .5s var(--ease-out), border-color .35s ease, background .35s ease;
}
.svc-package::before{
  content:attr(data-num);
  position:absolute;
  right:-12px;bottom:-58px;
  font-family:var(--ff-display);
  font-size:200px;font-weight:600;
  letter-spacing:-.06em;line-height:.8;
  color:rgba(255,255,255,.04);
  pointer-events:none;
  transition:color .4s ease, transform .6s var(--ease-out);
  z-index:0;
}
.svc-package:hover{
  transform:translateY(-4px);
  border-color:rgba(255,255,255,.22);
  background:linear-gradient(180deg, rgba(255,255,255,.06) 0%, rgba(255,255,255,.02) 100%);
}
.svc-package:hover::before{
  color:rgba(255,255,255,.07);
  transform:translateY(-4px);
}
.svc-package > *{position:relative;z-index:1}
.svc-package__bottom{
  display:flex;flex-direction:column;
  justify-content:space-between;
  gap:var(--sp-5);
  flex:1;
  height:100%;
}
.svc-package__head{
  display:flex;flex-direction:column;
  gap:var(--sp-2);
}

.svc-package__tag{
  align-self:flex-start;
  display:inline-flex;align-items:center;
  margin-top:var(--sp-1);
  padding:5px 11px;
  background:rgba(255,255,255,.95);
  color:#000;
  border-radius:999px;
  font-family:var(--ff-body);
  font-size:10px;font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;
  line-height:1;
}
.svc-package__num{
  font-family:var(--ff-mono);
  font-size:11px;font-weight:500;
  color:rgba(255,255,255,.4);
  letter-spacing:.08em;line-height:1;
}
.svc-package__name{
  font-family:var(--ff-display);
  font-size:22px;font-weight:500;
  letter-spacing:-.02em;line-height:1.18;
  color:#fff;margin:0 0 var(--sp-2);
}
.svc-package__desc{
  font-family:var(--ff-body);
  font-size:12px;font-weight:400;
  color:rgba(255,255,255,.78);
  line-height:1.5;letter-spacing:.005em;
  margin:0;max-width:36ch;
}
.svc-package__foot{
  display:flex;align-items:center;justify-content:space-between;
  gap:var(--sp-3);
  margin-top:var(--sp-2);
  padding-top:10px;
  border-top:1px solid rgba(255,255,255,.16);
}
.svc-package__price{
  font-family:var(--ff-display);
  font-size:15px;font-weight:600;
  letter-spacing:-.005em;
  color:#fff;
}
.svc-package__cta{
  display:inline-flex;align-items:center;gap:7px;
  font-family:var(--ff-body);
  font-size:12px;font-weight:500;
  color:#fff;letter-spacing:.005em;
  text-decoration:none;
  transition:gap .25s var(--ease);
}
.svc-package:hover .svc-package__cta{gap:11px}

.svc-benefits{
  position:relative;
  z-index:2;
  background:#000;
  margin-top:calc(var(--sp-12) * -1);
  padding:0 0 var(--sp-20);
}
.svc-benefits__row{
  list-style:none;
  padding:0;
  margin:0 auto;
  width:fit-content;
  max-width:100%;
  display:flex;flex-wrap:wrap;
  align-items:center;justify-content:center;
  gap:14px var(--sp-10);
}
.svc-benefits__bullet{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--ff-body);
  font-size:13px;font-weight:400;
  color:rgba(255,255,255,.78);
  line-height:1.4;letter-spacing:.005em;
}
.svc-benefits__check{
  width:14px;height:14px;
  flex-shrink:0;
  color:#fff;
}

.svc-process{
  position:relative;
  background:#000;
  padding:var(--sp-24) 0;
}
.svc-process__split{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  column-gap:var(--sp-10);
  row-gap:var(--sp-7);
  align-items:stretch;
}
.svc-process__col{
  display:flex;flex-direction:column;
}
.svc-process__col-eyebrow{
  display:block;
  font-family:var(--ff-mono);
  font-size:11px;font-weight:500;
  color:rgba(255,255,255,.45);
  letter-spacing:.12em;
  margin:0 0 var(--sp-6);
}

.svc-timeline{
  list-style:none;padding:0;margin:0;
  position:relative;
  display:flex;flex-direction:column;
}
.svc-timeline::before{
  content:"";
  position:absolute;
  left:13px;top:30px;bottom:30px;
  width:1px;
  background:linear-gradient(180deg,
    transparent 0%,
    rgba(255,255,255,.18) 8%,
    rgba(255,255,255,.18) 92%,
    transparent 100%);
}
.svc-timeline__item{
  position:relative;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:var(--sp-5);
  align-items:flex-start;
  padding:var(--sp-4) 0;
}
.svc-timeline__dot{
  position:relative;z-index:1;
  width:27px;height:27px;
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;
  background:#000;
  border:1px solid rgba(255,255,255,.25);
  flex-shrink:0;
  margin-top:2px;
  transition:border-color .35s ease, background .35s ease;
}
.svc-timeline__dot-inner{
  width:7px;height:7px;
  border-radius:50%;
  background:rgba(255,255,255,.55);
  transition:background .35s ease, transform .35s var(--ease-out);
}
.svc-timeline__item:hover .svc-timeline__dot{
  border-color:#fff;
  background:#fff;
}
.svc-timeline__item:hover .svc-timeline__dot-inner{
  background:#000;
  transform:scale(1.2);
}
.svc-timeline__body{
  display:flex;flex-direction:column;
  gap:6px;
  padding-top:3px;
}
.svc-timeline__title{
  font-family:var(--ff-display);
  font-size:18px;font-weight:500;
  letter-spacing:-.015em;line-height:1.25;
  color:#fff;
  margin:0;
}
.svc-timeline__desc{
  font-family:var(--ff-body);
  font-size:13.5px;font-weight:400;
  color:rgba(255,255,255,.65);
  line-height:1.6;
  margin:0;max-width:56ch;
}

.svc-process__photo{
  margin:0;
  position:relative;
  border-radius:14px;
  overflow:hidden;
  background:#0a0a0a;
  width:100%;height:100%;
  min-height:430px;max-height:530px;
}
.svc-process__photo img{
  width:100%;height:100%;
  object-fit:cover;object-position:center;
  display:block;
  transition:transform 1400ms var(--ease);
}
.svc-process__photo:hover img{transform:scale(1.04)}

.svc-process__photo-badge{
  position:absolute;
  right:14px;bottom:14px;
  z-index:2;
  display:flex;flex-direction:column;
  gap:6px;
  max-width:240px;
  padding:14px 16px;
  border-radius:10px;
  background:rgba(0,0,0,.55);
  backdrop-filter:blur(12px) saturate(1.05);
  -webkit-backdrop-filter:blur(12px) saturate(1.05);
  border:1px solid rgba(255,255,255,.12);
  pointer-events:none;
}
.svc-process__photo-badge-logo{
  width:auto;max-width:56px;
  height:11px;
  align-self:flex-start;
  object-fit:contain;
  display:block;
  margin-bottom:2px;
  filter:brightness(0) invert(1);
  opacity:.92;
}
.svc-process__photo-badge-title{
  font-family:var(--ff-display);
  font-size:12.5px;font-weight:500;
  letter-spacing:-.005em;line-height:1.25;
  color:#fff;
  margin:0;
}
.svc-process__photo-badge-desc{
  font-family:var(--ff-body);
  font-size:10.5px;font-weight:400;
  color:rgba(255,255,255,.7);
  line-height:1.4;letter-spacing:.005em;
  margin:0;
}
.svc-process__list{
  list-style:none;padding:0;margin:0;
  display:flex;flex-direction:column;
}
.svc-process__item{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:var(--sp-8);
  align-items:flex-start;
  padding:var(--sp-6) 0;
  border-top:1px solid rgba(255,255,255,.1);
  transition:background .25s;
}
.svc-process__item:first-child{border-top:none;padding-top:0}
.svc-process__item:hover{background:rgba(255,255,255,.015)}
.svc-process__num{
  font-family:var(--ff-display);
  font-size:clamp(28px, 2vw + 10px, 44px);
  font-weight:200;
  letter-spacing:-.04em;
  line-height:1;
  color:rgba(255,255,255,.4);
  min-width:80px;
  transition:color .25s;
}
.svc-process__item:hover .svc-process__num{color:#fff}
.svc-process__body{
  display:flex;flex-direction:column;
  gap:var(--sp-2);
  padding-top:6px;
}
.svc-process__title{
  font-family:var(--ff-display);
  font-size:18px;font-weight:500;
  letter-spacing:-.015em;line-height:1.2;
  color:#fff;margin:0;
}
.svc-process__desc{
  font-family:var(--ff-body);
  font-size:14px;font-weight:400;
  color:rgba(255,255,255,.65);
  line-height:1.65;
  margin:0;max-width:80ch;
}

.svc-fit{
  position:relative;
  background:#000;
  padding:var(--sp-24) 0;
}
.svc-fit__split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--sp-12);
}
.svc-fit__col{
  display:flex;flex-direction:column;
  gap:var(--sp-2);
}
.svc-fit__list{
  list-style:none;padding:0;margin:var(--sp-5) 0 0;
  display:flex;flex-direction:column;
  gap:var(--sp-3);
}
.svc-fit__list li{
  display:grid;grid-template-columns:auto 1fr;
  gap:12px;align-items:flex-start;
  font-family:var(--ff-body);
  font-size:14px;font-weight:400;
  color:rgba(255,255,255,.78);
  line-height:1.55;
  padding:var(--sp-3) 0;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.svc-fit__list svg{
  width:16px;height:16px;
  color:#fff;
  flex-shrink:0;
  margin-top:3px;
}

.svc-faq{
  position:relative;
  background:#000;
  padding:var(--sp-24) 0;
}
.svc-faq__list{
  display:flex;flex-direction:column;
}
.svc-faq__item{
  border-bottom:1px solid rgba(255,255,255,.08);
}
.svc-faq__item:first-child{border-top:1px solid rgba(255,255,255,.08)}
.svc-faq__question{
  display:flex;align-items:center;justify-content:space-between;
  gap:var(--sp-4);
  padding:var(--sp-5) 0;
  cursor:pointer;
  list-style:none;
  transition:padding .25s;
}
.svc-faq__question::-webkit-details-marker{display:none}
.svc-faq__item:hover .svc-faq__question{padding-left:4px}
.svc-faq__question > span:first-child{
  flex:1 1 auto;min-width:0;
  font-family:var(--ff-body);
  font-size:18px;font-weight:600;
  color:#fff;
  letter-spacing:-.015em;line-height:1.35;
  white-space:normal;
  word-break:normal;
  overflow-wrap:break-word;
  text-wrap:balance;
}
.svc-faq__icon{
  flex-shrink:0;
  width:24px;height:24px;
  margin-left:auto;
  stroke-width:1.5;
  color:rgba(255,255,255,.5);
  transition:transform .35s var(--ease),color .25s;
}
.svc-faq__item:hover .svc-faq__icon{color:rgba(255,255,255,.85)}
.svc-faq__item[open] .svc-faq__icon{transform:rotate(180deg);color:#fff}
.svc-faq__item.is-closing .svc-faq__icon{transform:rotate(0deg);color:rgba(255,255,255,.5)}
.svc-faq__answer{
  font-family:var(--ff-body);
  font-size:14px;font-weight:400;
  color:rgba(255,255,255,.7);
  line-height:1.65;letter-spacing:.005em;
  margin:0;
  padding:0 0 var(--sp-5);
  max-width:80ch;
}

.svc-leather{
  position:relative;
  background:#000;
  padding:var(--sp-24) 0;
}
.svc-leather::before{
  content:"";
  position:absolute;left:0;right:0;top:0;height:1px;z-index:3;
  background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.1) 25%,rgba(255,255,255,.1) 75%,transparent 100%);
}
.svc-leather__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--sp-16);
  align-items:start;
}
.svc-leather__content{
  display:flex;flex-direction:column;
  gap:var(--sp-8);
}
.svc-leather__lead{
  font-size:16px;color:rgba(255,255,255,.65);
  line-height:1.65;max-width:52ch;
}
.svc-leather__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--sp-7)}
.svc-leather__item{display:flex;gap:var(--sp-4);align-items:flex-start}
.svc-leather__icon{flex-shrink:0;width:18px;height:18px;margin-top:3px;color:rgba(255,255,255,.4)}
.svc-leather__item strong{display:block;font-size:15px;font-weight:500;color:#fff;margin-bottom:5px;letter-spacing:-.01em}
.svc-leather__item p{font-size:14px;color:rgba(255,255,255,.5);line-height:1.65;margin:0}
.svc-leather__photos{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--sp-3);
  align-self:start;
}
.svc-leather__photo{
  margin:0;border-radius:14px;overflow:hidden;
  background:#0a0a0a;
  aspect-ratio:3/2;
}
.svc-leather__photo:first-child{grid-column:1/-1;aspect-ratio:21/9}
.svc-leather__photo img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform 1400ms var(--ease);
}
.svc-leather__photo:hover img{transform:scale(1.04)}
@media(max-width:960px){
  .svc-leather__grid{grid-template-columns:1fr;gap:var(--sp-10)}
  .svc-leather__photo:first-child{aspect-ratio:16/9}
}

.svc-gallery{
  position:relative;
  background:#000;
  padding:var(--sp-24) 0;
}
.svc-gallery::before{
  content:"";
  position:absolute;left:0;right:0;top:0;height:1px;
  z-index:3;
  background:linear-gradient(90deg, transparent 0%, rgba(255,255,255,.1) 25%, rgba(255,255,255,.1) 75%, transparent 100%);
}
.svc-gallery__grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:var(--sp-4);
}
.svc-gallery__item{
  margin:0;
  border-radius:14px;
  overflow:hidden;
  background:#0a0a0a;
  aspect-ratio:4/5;
  position:relative;
}
.svc-gallery__item:nth-child(1){grid-column:span 2;grid-row:span 2;aspect-ratio:1/1}
.svc-gallery__item img{
  width:100%;height:100%;
  object-fit:cover;object-position:center;
  display:block;
  transition:transform 1400ms var(--ease);
}
.svc-gallery__item:hover img{transform:scale(1.05)}

.svc-cta{
  position:relative;
  background:#000;
  padding:var(--sp-20) 0;
  overflow:hidden;
  isolation:isolate;
}
.svc-cta__bg{
  position:absolute;inset:0;z-index:0;
  pointer-events:none;
}
.svc-cta__bg img{
  width:100%;height:100%;
  object-fit:cover;object-position:center 60%;
  filter:brightness(.38) saturate(.85) contrast(1.02);
}
.svc-cta__bg-overlay{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse at 25% 50%, rgba(0,0,0,.4) 0%, transparent 65%),
    linear-gradient(90deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.35) 50%, rgba(0,0,0,.55) 100%);
}
.svc-cta__inner{
  position:relative;z-index:1;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:var(--sp-8);
  flex-wrap:wrap;
}
.svc-cta__text{
  flex:0 1 auto;
  display:flex;flex-direction:column;
  gap:var(--sp-2);
  max-width:60ch;
}
.svc-cta__title{
  font-family:var(--ff-display);
  font-size:clamp(24px, 2vw + 10px, 36px);
  font-weight:300;
  letter-spacing:-.025em;line-height:1.2;
  color:#fff;margin:0;
  text-wrap:balance;
}
.svc-cta__lead{
  font-family:var(--ff-body);
  font-size:14px;font-weight:400;
  color:rgba(255,255,255,.7);
  line-height:1.55;
  margin:0;
}

.svc-cta__form{
  flex:1 1 480px;
  max-width:560px;
  display:flex;align-items:stretch;
  gap:8px;
}
.svc-cta__input{
  flex:1 1 0;min-width:0;
  font-family:var(--ff-body);
  font-size:14px;font-weight:400;
  color:#fff;
  padding:0 14px;
  height:46px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  border-radius:8px;
  outline:none;
  transition:background .25s ease, border-color .25s ease;
}
.svc-cta__input::placeholder{color:rgba(255,255,255,.45)}
.svc-cta__input:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.22)}
.svc-cta__input:focus{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.4)}
.svc-cta__submit{
  flex-shrink:0;
  height:46px;
}
.svc-cta__phone{
  display:inline-flex;align-items:center;gap:10px;
  text-decoration:none;
  color:rgba(255,255,255,.85);
  font-family:var(--ff-body);
  font-size:14px;font-weight:500;
  transition:color .25s;
}
.svc-cta__phone svg{color:rgba(255,255,255,.55);transition:color .25s,transform .25s}
.svc-cta__phone:hover{color:#fff}
.svc-cta__phone:hover svg{color:#fff;transform:rotate(-12deg)}

@media (max-width:1024px){
  .svc-hero{padding:var(--sp-24) 0 var(--sp-20);min-height:50vh}
  .svc-intro,.svc-scope,.svc-packages,.svc-process,.svc-fit,.svc-faq,.svc-gallery{padding:var(--sp-20) 0}
  .svc-gallery__grid{grid-template-columns:repeat(2, 1fr)}
  .svc-gallery__item:nth-child(1){grid-column:span 2;grid-row:auto;aspect-ratio:16/10}
  .svc-intro__split{grid-template-columns:1fr;gap:var(--sp-8)}
  .svc-fit__split{grid-template-columns:1fr;gap:var(--sp-8)}
  .svc-scope__grid{grid-template-columns:repeat(2, 1fr);gap:var(--sp-5)}
  .svc-section__head{align-items:flex-start;gap:var(--sp-6)}
  .svc-section__lead{flex-basis:100%;max-width:none}
  .svc-section__cta{padding-bottom:0}
  .svc-process__split{grid-template-columns:1fr 1fr;gap:var(--sp-6)}
  .svc-process__photo{aspect-ratio:3/4;min-height:0}
}

@media (max-width:780px){
  .svc-scope__grid{grid-template-columns:1fr;gap:var(--sp-5)}
  .svc-packages__grid{grid-template-columns:repeat(auto-fit, minmax(240px, 1fr))}
  .svc-section__head{gap:var(--sp-5)}
  .svc-section__title{font-size:clamp(28px,4.8vw,36px);line-height:1.26;flex-basis:100%}
  .svc-section__lead{font-size:14px;line-height:1.6}
  .svc-process__split{grid-template-columns:1fr;gap:var(--sp-6)}
  .svc-process__photo{aspect-ratio:16/10}
}

@media (max-width:560px){
  .svc-hero{padding:var(--sp-20) 0 var(--sp-16);min-height:auto}
  .svc-intro,.svc-scope,.svc-packages,.svc-process,.svc-fit,.svc-faq,.svc-gallery{padding:var(--sp-16) 0}
  .svc-gallery__grid{grid-template-columns:1fr;gap:var(--sp-3)}
  .svc-gallery__item:nth-child(1){grid-column:auto;aspect-ratio:4/3}
  .svc-cta{padding:var(--sp-12) 0}
  .svc-cta__inner{flex-direction:column;align-items:flex-start;gap:var(--sp-5)}
  .svc-cta__form{flex:1 1 100%;flex-wrap:wrap}
  .svc-cta__input{flex:1 1 100%}
  .svc-cta__submit{flex:1 1 100%;min-width:100%;justify-content:center}
  .svc-hero__meta{gap:var(--sp-3)}
  .svc-hero__meta-divider{display:none}
  .svc-process__item{grid-template-columns:1fr;gap:var(--sp-2);padding:var(--sp-5) 0}
  .svc-process__num{min-width:0;font-size:clamp(24px,7vw,36px)}
  .svc-process__body{padding-top:0}
}

@media (max-width:480px){
  .svc-section__title{font-size:clamp(22px,5.6vw,30px);max-width:none}
  .svc-section__lead{font-size:13.5px}
  .svc-package{padding:var(--sp-5)}
  .svc-package__name{font-size:18px}
  .svc-faq__question{font-size:15px;padding:var(--sp-4) var(--sp-2)}
  .svc-faq__answer{font-size:13.5px;padding:0 var(--sp-2) var(--sp-4)}
}

.port-hero{
  position:relative;
  padding:calc(var(--nav-h) + var(--sp-32) + var(--sp-16)) 0 var(--sp-24);
  background:#000;
  overflow:hidden;
  isolation:isolate;
}
.port-hero__bg{
  position:absolute;inset:0;z-index:0;
  pointer-events:none;
}
.port-hero__bg img{
  display:block;
  width:100%;height:100%;
  object-fit:cover;
  object-position:center 35%;
  filter:contrast(1.05) brightness(.85) saturate(.92);
}
.port-hero__bg-overlay{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,
      rgba(0,0,0,.85) 0%,
      rgba(0,0,0,.55) 30%,
      rgba(0,0,0,.7) 65%,
      rgba(0,0,0,.95) 92%,
      #000 100%
    ),
    linear-gradient(90deg,
      rgba(0,0,0,.55) 0%,
      rgba(0,0,0,.2) 35%,
      rgba(0,0,0,0) 60%,
      rgba(0,0,0,.35) 100%
    );
}
.port-hero__inner{
  position:relative;z-index:1;
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:var(--sp-12);
  align-items:center;
}
.port-hero__main{display:flex;flex-direction:column;gap:var(--sp-6)}
.port-hero__side{
  display:flex;flex-direction:column;
  gap:var(--sp-6);
  align-items:flex-end;
  justify-self:end;
}
.port-hero__title{
  font-family:var(--ff-display);
  font-size:clamp(40px,5.4vw,72px);font-weight:300;
  letter-spacing:-.025em;line-height:1.08;
  color:#fff;margin:0;
  max-width:22ch;
  text-wrap:balance;
}
.port-hero__lead{
  font-family:var(--ff-body);
  font-size:16px;font-weight:400;
  color:rgba(255,255,255,.78);
  line-height:1.65;letter-spacing:.005em;
  margin:0;max-width:62ch;
}

.port-hero__quote{
  position:relative;
  margin:0;
  padding:var(--sp-2) 0 0 var(--sp-6);
  max-width:42ch;
  border-left:1px solid rgba(255,255,255,.18);
  justify-self:end;
}
.port-hero__quote-mark{
  position:absolute;left:-2px;top:-16px;
  width:30px;height:auto;
  pointer-events:none;
}
.port-hero__quote-mark path{fill:rgba(255,255,255,.3)}
.port-hero__quote p{
  font-family:var(--ff-display);
  font-size:clamp(20px,1.8vw,28px);font-weight:300;
  letter-spacing:-.015em;line-height:1.4;
  color:#fff;margin:0;
  text-wrap:balance;
}
.port-hero__quote em{
  font-style:italic;
  color:#fff;
  font-weight:400;
}
.port-hero__quote-sig{
  margin-top:var(--sp-3);
  font-family:var(--ff-body);
  font-size:12px;font-weight:400;
  color:rgba(255,255,255,.5);
  letter-spacing:.005em;
}
.port-hero__cta{
  display:flex;align-items:center;
  gap:var(--sp-5);flex-wrap:wrap;
  justify-content:flex-end;
}

.port{padding:var(--sp-20) 0 var(--sp-24);background:#000}
.port__inner{display:flex;flex-direction:column;gap:var(--sp-12)}
.port__head{
  display:flex;flex-direction:column;
  align-items:center;
  gap:var(--sp-6);
  text-align:center;
  margin:0 auto;
  max-width:80ch;
}
.port__title{
  font-family:var(--ff-display);
  font-size:clamp(22px, 1.8vw + 10px, 36px);
  font-weight:300;
  letter-spacing:-.02em;line-height:1.25;
  color:#fff;margin:0;
  text-wrap:balance;
  max-width:42ch;
  text-align:center;
}
.port__lead{
  font-family:var(--ff-body);
  font-size:15px;font-weight:400;
  color:rgba(255,255,255,.72);
  line-height:1.7;
  margin:0;max-width:80ch;
  text-align:center;
}

.port__filters{
  display:flex;flex-wrap:wrap;
  justify-content:center;
  gap:8px;
  padding-bottom:var(--sp-4);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.port__filter{
  display:inline-flex;align-items:center;gap:8px;
  padding:9px 16px;
  font-family:var(--ff-body);
  font-size:13.5px;font-weight:500;
  color:rgba(255,255,255,.7);
  background:transparent;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  cursor:pointer;
  letter-spacing:.005em;
  transition:color 220ms var(--ease),background 220ms var(--ease),border-color 220ms var(--ease);
}
.port__filter:hover{color:#fff;background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.28)}
.port__filter.is-active{
  color:#000;background:#fff;border-color:#fff;
}
.port__filter-count{
  font-family:var(--ff-mono);
  font-size:11px;font-weight:500;
  padding:2px 7px;
  background:rgba(255,255,255,.08);
  color:rgba(255,255,255,.55);
  border-radius:999px;
  letter-spacing:.04em;
}
.port__filter.is-active .port__filter-count{
  background:rgba(0,0,0,.12);color:rgba(0,0,0,.6);
}

.port__grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:var(--sp-3);
}
.port__item{
  position:relative;
  display:block;
  aspect-ratio:4/5;
  border-radius:var(--r-md);
  overflow:hidden;
  isolation:isolate;
  background:#0a0a0a;
  cursor:zoom-in;
  text-decoration:none;
  transition:transform 400ms var(--ease-out);
}
.port__item img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 600ms var(--ease-out),filter 400ms var(--ease-out);
}
.port__item:hover img{transform:scale(1.06);filter:brightness(.78)}
.port__item-tag{
  position:absolute;left:14px;top:14px;
  padding:5px 10px;
  font-family:var(--ff-mono);
  font-size:10.5px;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;
  color:#fff;
  background:rgba(0,0,0,.55);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  border-radius:999px;
  opacity:0;transform:translateY(-4px);
  transition:opacity 280ms var(--ease-out),transform 280ms var(--ease-out);
}
.port__item-zoom{
  position:absolute;right:14px;bottom:14px;
  width:38px;height:38px;
  display:grid;place-items:center;
  color:#000;background:#fff;
  border-radius:999px;
  opacity:0;transform:scale(.8);
  transition:opacity 280ms var(--ease-out),transform 280ms var(--ease-out);
}
.port__item:hover .port__item-tag,
.port__item:hover .port__item-zoom{opacity:1;transform:none}

.port__item.is-hidden{display:none}

.port__empty{
  padding:var(--sp-12) var(--sp-6);
  text-align:center;
  border:1px dashed rgba(255,255,255,.14);
  border-radius:var(--r-md);
  color:rgba(255,255,255,.65);
  font-family:var(--ff-body);font-size:14.5px;
}
.port__empty p{margin:0}
.port__empty-reset{
  background:none;border:0;padding:0;
  color:#fff;text-decoration:underline;text-underline-offset:3px;
  cursor:pointer;font:inherit;
}

@media (max-width:1100px){
  .port-hero__inner{grid-template-columns:1fr;gap:var(--sp-8)}
  .port-hero__side{align-items:flex-start;justify-self:start}
  .port-hero__quote{justify-self:start;max-width:48ch}
  .port-hero__cta{justify-content:flex-start}
  .port__grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:720px){
  .port-hero{padding:calc(var(--nav-h) + var(--sp-24)) 0 var(--sp-20)}
  .port-hero__inner{gap:var(--sp-5)}
  .port-hero__title{font-size:clamp(32px,8.5vw,48px)}
  .port-hero__lead{font-size:14.5px}
  .port-hero__quote{padding-left:var(--sp-4)}
  .port-hero__quote-mark{font-size:48px;left:6px;top:-2px}
  .port-hero__quote p{font-size:clamp(18px,4.2vw,22px)}
  .port-hero__cta{gap:var(--sp-3)}
  .port{padding:var(--sp-20) 0 var(--sp-16)}
  .port__inner{gap:var(--sp-8)}
  .port__title{font-size:clamp(22px,5.6vw,28px);line-height:1.2;max-width:none}
  .port__lead{font-size:13.5px;line-height:1.65}
  .port__filters{gap:6px}
  .port__filter{padding:8px 12px;font-size:12.5px}
  .port__filter-count{font-size:10.5px;padding:1px 6px}
  .port__grid{grid-template-columns:repeat(2,1fr);gap:8px}
  .port__item{aspect-ratio:3/4}
  .port__item-tag{font-size:9.5px;letter-spacing:.14em;padding:4px 8px;left:8px;top:8px}
  .port__item-zoom{width:32px;height:32px;right:8px;bottom:8px}
}
@media (max-width:480px){
  .port__grid{grid-template-columns:repeat(2,1fr);gap:6px}
  .port__filter-count{display:none}
}

.contact-hero{
  position:relative;
  padding:calc(var(--nav-h) + var(--sp-32) + var(--sp-16)) 0 var(--sp-24);
  background:#000;
  overflow:hidden;
  isolation:isolate;
}
.contact-hero__bg{
  position:absolute;inset:0;z-index:0;
  pointer-events:none;
}
.contact-hero__bg img{
  display:block;
  width:100%;height:100%;
  object-fit:cover;
  object-position:center 50%;
  filter:contrast(1.05) brightness(.85) saturate(.92);
}
.contact-hero__bg-overlay{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,
      rgba(0,0,0,.85) 0%,
      rgba(0,0,0,.55) 30%,
      rgba(0,0,0,.7) 65%,
      rgba(0,0,0,.95) 92%,
      #000 100%
    ),
    linear-gradient(90deg,
      rgba(0,0,0,.55) 0%,
      rgba(0,0,0,.2) 35%,
      rgba(0,0,0,0) 60%,
      rgba(0,0,0,.35) 100%
    );
}
.contact-hero__inner{
  position:relative;z-index:1;
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:var(--sp-12);
  align-items:center;
}
.contact-hero__main{
  display:flex;flex-direction:column;
  gap:var(--sp-6);
}
.contact-hero__side{
  display:flex;flex-direction:column;
  gap:var(--sp-6);
  align-items:flex-end;
  justify-self:end;
}
.contact-hero__title{
  font-family:var(--ff-display);
  font-size:clamp(40px,5.4vw,72px);font-weight:300;
  letter-spacing:-.025em;line-height:1.08;
  color:#fff;margin:0;
  max-width:22ch;
  text-wrap:balance;
}
.contact-hero__lead{
  font-family:var(--ff-body);
  font-size:16px;font-weight:400;
  color:rgba(255,255,255,.78);
  line-height:1.65;letter-spacing:.005em;
  margin:0;max-width:62ch;
}

.contact-hero__quote{
  position:relative;
  margin:0;
  padding:var(--sp-2) 0 0 var(--sp-6);
  max-width:42ch;
  border-left:1px solid rgba(255,255,255,.18);
  justify-self:end;
}
.contact-hero__quote-mark{
  position:absolute;left:-2px;top:-16px;
  width:30px;height:auto;
  pointer-events:none;
}
.contact-hero__quote-mark path{fill:rgba(255,255,255,.3)}
.contact-hero__quote p{
  font-family:var(--ff-display);
  font-size:clamp(20px,1.8vw,28px);font-weight:300;
  letter-spacing:-.015em;line-height:1.4;
  color:#fff;margin:0;
  text-wrap:balance;
}
.contact-hero__quote em{
  font-style:italic;
  color:#fff;
  font-weight:400;
}
.contact-hero__quote-sig{
  margin-top:var(--sp-3);
  font-family:var(--ff-body);
  font-size:12px;font-weight:400;
  color:rgba(255,255,255,.5);
  letter-spacing:.005em;
}
.contact-hero__cta{
  display:flex;align-items:center;
  gap:var(--sp-5);flex-wrap:wrap;
  justify-content:flex-end;
}

.contact__status{
  display:inline-flex;align-items:center;gap:10px;
  padding:8px 14px;
  background:rgba(34,197,94,.08);
  border:1px solid rgba(34,197,94,.22);
  border-radius:999px;
  font-family:var(--ff-body);
  font-size:12.5px;font-weight:500;
  color:rgba(255,255,255,.85);
  width:fit-content;
}
.contact__status-dot{
  width:8px;height:8px;border-radius:999px;flex-shrink:0;
  background:rgba(255,255,255,.3);
}
.contact__status-dot.is-open{
  background:#22c55e;
  box-shadow:0 0 0 3px rgba(34,197,94,.18);
  animation:contactPulse 1.8s ease-in-out infinite;
}
.contact__status-dot.is-closed{background:rgba(255,255,255,.3)}
@keyframes contactPulse{
  0%,100%{box-shadow:0 0 0 3px rgba(34,197,94,.18)}
  50%{box-shadow:0 0 0 6px rgba(34,197,94,.05)}
}

.contact{padding:var(--sp-24) 0;background:#000}
.contact__layout{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:var(--sp-14);
  align-items:start;
}

.contact__info{
  display:flex;flex-direction:column;
  gap:var(--sp-7);
  position:sticky;top:calc(var(--nav-h) + var(--sp-6));
}
.contact__title{
  font-family:var(--ff-display);
  font-size:clamp(26px, 1.6vw + 14px, 38px);
  font-weight:300;
  letter-spacing:-.02em;line-height:1.15;
  color:#fff;margin:0;
  text-wrap:balance;
}
.contact__intro{
  font-family:var(--ff-body);
  font-size:15px;font-weight:400;
  line-height:1.65;color:rgba(255,255,255,.7);
  margin:0;max-width:42ch;
}
.contact__details{
  list-style:none;padding:0;margin:0;
  display:flex;flex-direction:column;
}
.contact__detail{
  display:flex;align-items:flex-start;gap:14px;
  padding:var(--sp-4) 0;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.contact__detail:first-child{padding-top:0}
.contact__detail:last-child{border-bottom:0}
.contact__detail-icon{
  flex-shrink:0;
  width:30px;height:30px;
  display:grid;place-items:center;
  color:rgba(255,255,255,.4);
  margin-top:1px;
}
.contact__detail-body{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
.contact__detail-label{
  font-family:var(--ff-body);
  font-size:12px;font-weight:400;
  color:rgba(255,255,255,.45);
  letter-spacing:.005em;
}
.contact__detail-value{
  font-family:var(--ff-body);
  font-size:15px;font-weight:500;
  color:#fff;
  text-decoration:none;
  letter-spacing:-.005em;
  transition:color 220ms var(--ease);
  word-break:break-word;
}
a.contact__detail-value:hover{color:rgba(255,255,255,.7)}
.contact__detail--meta{
  align-items:center;gap:14px;
  padding:var(--sp-3) 0;
}
.contact__detail--meta .contact__detail-label{margin:0;flex-shrink:0;width:60px}

.contact__hours{
  list-style:none;padding:0;margin:5px 0 0;
  display:flex;flex-direction:column;gap:5px;
}
.contact__hour{
  display:flex;justify-content:space-between;gap:var(--sp-4);
  font-family:var(--ff-body);
  font-size:14px;font-weight:400;
  color:rgba(255,255,255,.7);
  letter-spacing:.005em;
}
.contact__hour > span:last-child{
  color:#fff;font-weight:500;
}

.contact__social{
  display:flex;flex-wrap:wrap;gap:10px;
  margin-top:var(--sp-2);
}
.contact__social-item{
  display:inline-flex;align-items:center;gap:10px;
  padding:10px 16px;
  background:transparent;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  color:rgba(255,255,255,.85);
  font-family:var(--ff-body);font-size:13px;font-weight:500;
  text-decoration:none;
  letter-spacing:-.005em;
  transition:background 220ms var(--ease),border-color 220ms var(--ease),color 220ms var(--ease);
}
.contact__social-item:hover{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.25);color:#fff}
.contact__social-item img{height:13px;width:auto;display:block;flex-shrink:0}
.contact__social-item svg{flex-shrink:0;color:rgba(255,255,255,.65)}

.contact__form-wrap{
  background:transparent;
  border:0;
  padding:0;
}
.contact__form{display:flex;flex-direction:column;gap:var(--sp-5)}
.contact__form-head{
  display:flex;flex-direction:column;gap:var(--sp-3);
  margin-bottom:var(--sp-3);
}
.contact__form-title{
  font-family:var(--ff-display);
  font-size:clamp(24px, 1.4vw + 12px, 34px);
  font-weight:300;
  letter-spacing:-.02em;line-height:1.15;
  color:#fff;margin:0;
}
.contact__form-lead{
  font-family:var(--ff-body);
  font-size:14.5px;font-weight:400;
  line-height:1.6;color:rgba(255,255,255,.65);
  margin:0;max-width:52ch;
}
.contact__form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4)}
.contact__field{display:flex;flex-direction:column;gap:8px}
.contact__field-label{
  font-family:var(--ff-body);
  font-size:13px;font-weight:500;
  color:rgba(255,255,255,.75);
  letter-spacing:-.005em;
}
.contact__field-label span{color:rgba(255,255,255,.4);margin-left:2px;font-weight:400}
.contact__field-input{
  width:100%;
  padding:13px 0;
  font-family:var(--ff-body);
  font-size:15px;font-weight:400;
  color:#fff;
  background:transparent;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.14);
  border-radius:0;
  letter-spacing:-.005em;
  transition:border-color 220ms var(--ease);
  appearance:none;
  -webkit-appearance:none;
}
.contact__field-input::placeholder{color:rgba(255,255,255,.28)}
.contact__field-input:hover{border-bottom-color:rgba(255,255,255,.28)}
.contact__field-input:focus{
  outline:0;
  border-bottom-color:#fff;
}
.contact__field-textarea{
  resize:vertical;min-height:120px;line-height:1.55;
  padding:13px 0;
}
.contact__field-select{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.5)' stroke-width='2'><path d='M6 9l6 6 6-6'/></svg>");
  background-repeat:no-repeat;
  background-position:right 0 center;
  padding-right:24px;
  cursor:pointer;
}
.contact__field-select option{background:#0a0a0a;color:#fff;font-family:var(--ff-body)}

.contact__field-check{
  display:flex;gap:12px;align-items:flex-start;
  font-family:var(--ff-body);
  font-size:13px;font-weight:400;
  line-height:1.55;color:rgba(255,255,255,.6);
  cursor:pointer;
  margin-top:var(--sp-2);
}
.contact__field-check input{
  flex-shrink:0;
  width:16px;height:16px;
  margin-top:2px;
  accent-color:#fff;
  cursor:pointer;
}

.contact__honeypot{
  position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none;
}

.contact__form-actions{
  display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap;
  margin-top:var(--sp-3);
}
.form-msg{
  margin:0;
  font-family:var(--ff-body);font-size:13.5px;
  color:rgba(255,255,255,.55);
}
.form-msg[data-state="ok"]{color:#22c55e}
.form-msg[data-state="err"]{color:#f87171}

.contact__form-note{
  margin:var(--sp-2) 0 0;
  font-family:var(--ff-body);
  font-size:12.5px;font-weight:400;
  line-height:1.6;color:rgba(255,255,255,.42);
}
.contact__form-note a{color:rgba(255,255,255,.7);text-decoration:underline;text-underline-offset:3px}
.contact__form-note a:hover{color:#fff}

/* FAQ */
.contact-faq{
  padding:var(--sp-20) 0 var(--sp-24);
  background:#000;
  border-top:1px solid rgba(255,255,255,.06);
}
.contact-faq__inner{display:flex;flex-direction:column;gap:var(--sp-10)}
.contact-faq__head{
  display:flex;flex-direction:column;align-items:center;
  gap:var(--sp-3);text-align:center;
  margin:0 auto;max-width:60ch;
}
.contact-faq__title{
  font-family:var(--ff-display);
  font-size:clamp(26px, 1.6vw + 14px, 38px);
  font-weight:300;letter-spacing:-.02em;line-height:1.15;
  color:#fff;margin:0;text-wrap:balance;
}
.contact-faq__lead{
  font-family:var(--ff-body);
  font-size:15px;font-weight:400;
  line-height:1.65;color:rgba(255,255,255,.7);
  margin:0;
}
.contact-faq__list{
  list-style:none;padding:0;margin:0;
  display:flex;flex-direction:column;
}
.contact-faq__item{
  border-top:1px solid rgba(255,255,255,.08);
  padding:0;margin:0;
}
.contact-faq__item::before{display:none}
.contact-faq__item:last-child{border-bottom:1px solid rgba(255,255,255,.08)}
.contact-faq__item details{padding:0;margin:0}
.contact-faq__item summary{
  display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);
  padding:var(--sp-5) 0;
  cursor:pointer;
  list-style:none;
  transition:color 220ms var(--ease);
}
.contact-faq__item summary::-webkit-details-marker{display:none}
.contact-faq__q{
  font-family:var(--ff-display);
  font-size:clamp(15px, 0.7vw + 12px, 19px);
  font-weight:400;line-height:1.4;letter-spacing:-.01em;
  color:#fff;
  flex:1;
}
.contact-faq__icon{
  flex-shrink:0;
  width:34px;height:34px;
  display:grid;place-items:center;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);
  border-radius:999px;
  color:rgba(255,255,255,.7);
  transition:transform 320ms var(--ease),background 220ms var(--ease);
}
.contact-faq__item details[open] .contact-faq__icon{
  transform:rotate(45deg);
  background:rgba(255,255,255,.1);
  color:#fff;
}
.contact-faq__a{
  padding:0 0 var(--sp-5);
  font-family:var(--ff-body);
  font-size:14.5px;font-weight:400;
  line-height:1.7;color:rgba(255,255,255,.7);
  max-width:72ch;
}
.contact-faq__a a{
  color:#fff;text-decoration:underline;text-underline-offset:3px;
  text-decoration-color:rgba(255,255,255,.3);
}
.contact-faq__a a:hover{text-decoration-color:#fff}

/* mapa */
.contact-map{
  position:relative;
  width:100%;
  height:480px;
  overflow:hidden;
  isolation:isolate;
  background:#0a0a0a;
  border-top:1px solid rgba(255,255,255,.06);
  content-visibility:auto;
  contain-intrinsic-size:480px;
}
.contact-map__canvas{position:absolute;inset:0;width:100%;height:100%;background:#0a0a0a;z-index:0}
.contact-map__overlay{
  position:absolute;inset:0;z-index:1;
  pointer-events:none;
  background:linear-gradient(180deg, rgba(0,0,0,.35) 0%, transparent 25%, transparent 75%, rgba(0,0,0,.55) 100%);
}
.contact-map__open{
  position:absolute;
  right:24px;bottom:24px;
  z-index:2;
  display:inline-flex;align-items:center;gap:7px;
  padding:11px 18px;
  background:rgba(8,8,8,.92);
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  color:#fff;
  font-family:var(--ff-body);
  font-size:13px;font-weight:500;
  letter-spacing:-.005em;
  text-decoration:none;
  transition:background 220ms var(--ease),border-color 220ms var(--ease);
}
.contact-map__open:hover{background:rgba(20,20,20,.95);border-color:rgba(255,255,255,.3)}

/* responsive */
@media (max-width:1100px){
  .contact-hero__inner{grid-template-columns:1fr;gap:var(--sp-8)}
  .contact-hero__side{align-items:flex-start;justify-self:start}
  .contact-hero__quote{justify-self:start;max-width:48ch}
  .contact-hero__cta{justify-content:flex-start}
  .contact__layout{grid-template-columns:1fr;gap:var(--sp-10)}
  .contact__info{position:static}
}
@media (max-width:720px){
  .contact-hero{padding:calc(var(--nav-h) + var(--sp-20)) 0 var(--sp-14)}
  .contact-hero__inner{gap:var(--sp-5)}
  .contact-hero__title{font-size:clamp(32px,8.5vw,48px)}
  .contact-hero__lead{font-size:14.5px}
  .contact-hero__quote{padding-left:var(--sp-4)}
  .contact-hero__quote-mark{font-size:48px;left:6px;top:-2px}
  .contact-hero__quote p{font-size:clamp(18px,4.2vw,22px)}
  .contact-hero__cta{gap:var(--sp-3)}
  .contact{padding:var(--sp-14) 0}
  .contact__title{font-size:clamp(22px,5.6vw,28px)}
  .contact__intro{font-size:14px}
  .contact__detail{padding:var(--sp-3) 0;gap:12px}
  .contact__detail-icon{width:26px;height:26px}
  .contact__detail-value{font-size:14.5px}
  .contact__hour{font-size:13px}
  .contact__form-title{font-size:24px}
  .contact__form-lead{font-size:13.5px}
  .contact__form-row{grid-template-columns:1fr;gap:var(--sp-4)}
  .contact__field-input{padding:11px 0;font-size:14.5px}
  .contact__field-textarea{min-height:110px}
  .contact-faq{padding:var(--sp-14) 0}
  .contact-faq__inner{gap:var(--sp-7)}
  .contact-faq__title{font-size:clamp(22px,5.6vw,28px)}
  .contact-faq__lead{font-size:14px}
  .contact-faq__item summary{padding:var(--sp-4) 0;gap:var(--sp-3)}
  .contact-faq__icon{width:28px;height:28px}
  .contact-faq__a{font-size:13.5px;padding-bottom:var(--sp-4)}
  .contact-map{height:380px;contain-intrinsic-size:380px}
  .contact-map__open{right:14px;bottom:14px;padding:9px 14px;font-size:12.5px}
}

.ct-hero{
  position:relative;
  padding:calc(var(--nav-h) + var(--sp-32) + var(--sp-16)) 0 var(--sp-24);
  background:#000;
  overflow:hidden;
  isolation:isolate;
}
.ct-hero__bg{position:absolute;inset:0;z-index:0;pointer-events:none}
.ct-hero__bg img{
  display:block;width:100%;height:100%;
  object-fit:cover;object-position:center 40%;
  filter:contrast(1.05) brightness(.85) saturate(.92);
}
.ct-hero__overlay{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(0,0,0,.85) 0%,rgba(0,0,0,.55) 30%,rgba(0,0,0,.7) 65%,rgba(0,0,0,.95) 92%,#000 100%),
    linear-gradient(90deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.2) 35%,rgba(0,0,0,0) 60%,rgba(0,0,0,.35) 100%);
}
.ct-hero__inner{
  position:relative;z-index:1;
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:var(--sp-12);
  align-items:center;
}
.ct-hero__main{display:flex;flex-direction:column;gap:var(--sp-6)}
.ct-hero__side{
  display:flex;flex-direction:column;
  gap:var(--sp-6);
  align-items:flex-end;
  justify-self:end;
}
.ct-hero__title{
  font-family:var(--ff-display);
  font-size:clamp(40px,5.4vw,72px);font-weight:300;
  letter-spacing:-.025em;line-height:1.08;
  color:#fff;margin:0;
  max-width:22ch;
  text-wrap:balance;
}
.ct-hero__lead{
  font-family:var(--ff-body);
  font-size:16px;font-weight:400;
  color:rgba(255,255,255,.78);
  line-height:1.65;letter-spacing:.005em;
  margin:0;max-width:62ch;
}
.ct-hero__cta{display:flex;align-items:center;gap:var(--sp-5);flex-wrap:wrap;justify-content:flex-end}

/* Main grid */
.ct-main{padding:var(--sp-20) 0}
.ct-main__grid{
  display:grid;
  grid-template-columns:1fr 1.5fr;
  gap:var(--sp-20);
  align-items:start;
}

/* aside */
.ct-aside{
  position:sticky;
  top:calc(var(--nav-h) + var(--sp-8));
  display:flex;flex-direction:column;
  gap:var(--sp-8);
}

/* Status */
.ct-status{
  display:inline-flex;align-items:center;gap:10px;
  font-size:13px;color:rgba(255,255,255,.6);
}
.ct-status__dot{
  width:8px;height:8px;border-radius:50%;flex-shrink:0;
}
.ct-status--open .ct-status__dot{
  background:#4ade80;
  box-shadow:0 0 0 3px rgba(74,222,128,.2);
  animation:pulse 2s infinite;
}
.ct-status--closed .ct-status__dot{background:rgba(255,255,255,.25)}

/* Info blocks */
.ct-info-block{display:flex;flex-direction:column;gap:5px}
.ct-info-block__label{
  font-size:12px;letter-spacing:.005em;
  color:rgba(255,255,255,.4);
}
.ct-info-block__value{
  font-size:16px;font-weight:500;color:#fff;
  text-decoration:none;
  transition:color 180ms var(--ease);
  line-height:1.3;
}
a.ct-info-block__value:hover{color:rgba(255,255,255,.65)}

/* Hours */
.ct-hours{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}
.ct-hours__row{
  display:flex;justify-content:space-between;gap:var(--sp-4);
  font-size:13.5px;color:rgba(255,255,255,.55);
}
.ct-hours__row span:last-child{color:rgba(255,255,255,.85);font-weight:500}

/* Socials */
.ct-socials{display:flex;flex-direction:column;gap:8px}
.ct-socials__item{
  display:inline-flex;align-items:center;gap:9px;
  font-size:13px;color:rgba(255,255,255,.5);
  text-decoration:none;
  transition:color 180ms var(--ease);
}
.ct-socials__item:hover{color:#fff}

/* Form */
.ct-form-wrap{
  background:transparent;
  border:0;
  border-radius:0;
  padding:0;
}
.ct-form{display:flex;flex-direction:column;gap:var(--sp-5)}
.ct-form__title{
  font-family:var(--ff-display);
  font-size:clamp(22px,3vw,32px);
  font-weight:500;letter-spacing:-.03em;
  color:#fff;margin-bottom:2px;
}
.ct-form__lead{
  font-size:14px;color:rgba(255,255,255,.45);line-height:1.55;
  margin-bottom:var(--sp-3);
}
.ct-form__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4)}
.ct-field{display:flex;flex-direction:column;gap:6px}
.ct-field__label{
  font-size:12px;letter-spacing:.04em;
  color:rgba(255,255,255,.4);
}
.ct-field__input{
  width:100%;
  padding:13px 0;
  font-family:var(--ff-body);
  font-size:15px;font-weight:400;
  color:#fff;
  background:transparent;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.14);
  border-radius:0;
  letter-spacing:-.005em;
  outline:none;
  transition:border-color 220ms var(--ease);
  appearance:none;-webkit-appearance:none;
}
.ct-field__input::placeholder{color:rgba(255,255,255,.28)}
.ct-field__input:hover{border-bottom-color:rgba(255,255,255,.28)}
.ct-field__input:focus{
  border-bottom-color:#fff;
}
.ct-field__select{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.5)' stroke-width='2'><path d='M6 9l6 6 6-6'/></svg>");
  background-repeat:no-repeat;
  background-position:right 0 center;
  padding-right:24px;
  cursor:pointer;
}
.ct-field__select option{background:#0a0a0a;color:#fff;font-family:var(--ff-body)}
.ct-field__textarea{resize:vertical;min-height:120px;line-height:1.55;padding:13px 0}
.ct-field-check{
  display:flex;align-items:flex-start;gap:10px;
  font-size:12.5px;color:rgba(255,255,255,.4);line-height:1.55;
  cursor:pointer;
}
.ct-field-check input{
  flex-shrink:0;margin-top:2px;
  accent-color:#fff;
  width:15px;height:15px;cursor:pointer;
}
.ct-field-check a{color:rgba(255,255,255,.6);text-underline-offset:3px}
.ct-form__actions{display:flex;align-items:center;gap:var(--sp-5);flex-wrap:wrap}

/* FAQ */
.ct-faq{padding:var(--sp-20) 0;border-top:1px solid rgba(255,255,255,.06)}
.ct-faq__head{margin-bottom:var(--sp-10)}
.ct-faq__title{
  font-family:var(--ff-display);
  font-size:clamp(24px,3.5vw,40px);
  font-weight:500;letter-spacing:-.035em;color:#fff;
}
.ct-faq__list{list-style:none;padding:0;margin:0}
.ct-faq__item details{border-bottom:1px solid rgba(255,255,255,.07)}
.ct-faq__item summary{
  display:flex;justify-content:space-between;align-items:center;
  gap:var(--sp-4);
  padding:var(--sp-5) 0;
  font-size:15px;font-weight:500;color:#fff;
  cursor:pointer;list-style:none;
  transition:color 180ms var(--ease);
}
.ct-faq__item summary::-webkit-details-marker{display:none}
.ct-faq__item summary:hover{color:rgba(255,255,255,.75)}
.ct-faq__item summary svg{
  flex-shrink:0;color:rgba(255,255,255,.3);
  transition:transform 220ms var(--ease);
}
.ct-faq__item details[open] summary svg{transform:rotate(180deg)}
.ct-faq__answer{
  font-size:14px;color:rgba(255,255,255,.5);line-height:1.7;
  padding-bottom:var(--sp-5);
  max-width:65ch;
}

/* Responsive */
@media(max-width:960px){
  .ct-hero__inner{grid-template-columns:1fr;gap:var(--sp-8)}
  .ct-hero__side{align-items:flex-start;justify-self:start}
  .ct-hero__cta{justify-content:flex-start}
  .ct-main__grid{grid-template-columns:1fr;gap:var(--sp-12)}
  .ct-aside{position:static}
}
@media(max-width:640px){
  .ct-hero{padding:calc(var(--nav-h) + var(--sp-24)) 0 var(--sp-16)}
  .ct-hero__title{font-size:clamp(32px,8.5vw,48px)}
  .ct-form__row{grid-template-columns:1fr}
  .ct-field__input{padding:11px 0;font-size:14.5px}
}

.academy-hero{
  position:relative;
  background:#000;
  padding:var(--sp-32) 0 var(--sp-24);
  isolation:isolate;
  overflow:hidden;
  min-height:65vh;
  display:flex;align-items:center;
}
.academy-hero__bg{position:absolute;inset:0;z-index:0;pointer-events:none}
.academy-hero__bg img{
  width:100%;height:100%;object-fit:cover;object-position:center 50%;
  filter:brightness(.4) saturate(.85) contrast(1.05);
}
.academy-hero__bg-overlay{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse at 30% 50%, rgba(0,0,0,.35) 0%, transparent 60%),
    linear-gradient(180deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.4) 50%, #000 100%);
}
.academy-hero__watermark{
  position:absolute;right:-60px;top:50%;
  transform:translateY(-50%);
  width:min(540px, 50vw);
  height:auto;opacity:.05;pointer-events:none;user-select:none;z-index:0;
}
.academy-hero__inner{position:relative;z-index:1}
.academy-hero__content{display:flex;flex-direction:column;gap:var(--sp-6);max-width:840px}
.academy-hero__badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 14px 6px 8px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  width:fit-content;
  font-family:var(--ff-body);
  font-size:12px;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;
  color:#fff;
}
.academy-hero__badge img{height:18px;width:auto;display:block;flex-shrink:0;opacity:.95}
.academy-hero__title{
  font-family:var(--ff-display);
  font-size:clamp(34px, 3vw + 16px, 60px);
  font-weight:300;
  letter-spacing:-.035em;line-height:1.05;
  color:#fff;margin:0;text-wrap:balance;
}
.academy-hero__lead{
  font-family:var(--ff-body);
  font-size:clamp(15px, 0.5vw + 13px, 17px);
  font-weight:400;
  color:rgba(255,255,255,.78);
  line-height:1.65;margin:0;max-width:64ch;
}
.academy-hero__cta{display:flex;align-items:center;gap:var(--sp-5);flex-wrap:wrap;margin-top:var(--sp-2)}

/* Pillars (4 powody) */
.academy-pillars{padding:var(--sp-20) 0;background:#000;border-top:1px solid rgba(255,255,255,.06)}
.academy-pillars__grid{
  display:grid;grid-template-columns:repeat(4, 1fr);
  gap:var(--sp-8);
}
.academy-pillars__item{display:flex;flex-direction:column;gap:var(--sp-3)}
.academy-pillars__num{
  font-family:var(--ff-display);
  font-size:38px;font-weight:300;
  letter-spacing:-.02em;line-height:1;
  color:rgba(255,255,255,.18);
}
.academy-pillars__title{
  font-family:var(--ff-display);
  font-size:20px;font-weight:400;
  letter-spacing:-.015em;line-height:1.2;
  color:#fff;margin:0;
}
.academy-pillars__desc{
  font-family:var(--ff-body);
  font-size:14px;font-weight:400;
  line-height:1.65;color:rgba(255,255,255,.65);
  margin:0;
}

/* Courses */
.academy-courses{padding:var(--sp-20) 0;background:#000;border-top:1px solid rgba(255,255,255,.06)}
.academy-courses__inner{display:flex;flex-direction:column;gap:var(--sp-12)}
.academy-courses__head{
  display:flex;flex-direction:column;align-items:center;
  gap:var(--sp-3);text-align:center;
  margin:0 auto;max-width:60ch;
}
.academy-courses__title{
  font-family:var(--ff-display);
  font-size:clamp(28px, 2.4vw + 12px, 44px);
  font-weight:300;letter-spacing:-.025em;line-height:1.15;
  color:#fff;margin:0;text-wrap:balance;
}
.academy-courses__lead{
  font-family:var(--ff-body);
  font-size:15px;font-weight:400;
  line-height:1.65;color:rgba(255,255,255,.7);
  margin:0;
}
.academy-courses__grid{
  display:grid;grid-template-columns:repeat(3, 1fr);
  gap:var(--sp-5);
}
.academy-course{
  display:flex;flex-direction:column;gap:var(--sp-4);
  padding:var(--sp-7) var(--sp-6);
  background:rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.08);
  border-radius:var(--r-md);
  transition:background 280ms var(--ease),border-color 280ms var(--ease);
}
.academy-course:hover{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.16)}
.academy-course__head{display:flex;flex-direction:column;gap:var(--sp-2)}
.academy-course__num{
  font-family:var(--ff-body);
  font-size:11px;font-weight:600;
  color:rgba(255,255,255,.4);
  letter-spacing:.005em;
}
.academy-course__name{
  font-family:var(--ff-display);
  font-size:19px;font-weight:400;
  letter-spacing:-.015em;line-height:1.2;
  color:#fff;margin:0;
}
.academy-course__desc{
  font-family:var(--ff-body);
  font-size:13.5px;font-weight:400;
  line-height:1.65;color:rgba(255,255,255,.65);
  margin:0;
}
.academy-course__meta{
  list-style:none;padding:0;margin:auto 0 0;
  display:flex;flex-direction:column;gap:6px;
  padding-top:var(--sp-3);
  border-top:1px solid rgba(255,255,255,.06);
}
.academy-course__meta li{
  font-family:var(--ff-body);
  font-size:12.5px;font-weight:400;
  color:rgba(255,255,255,.6);
  letter-spacing:.005em;line-height:1.45;
  padding-left:0;
}
.academy-course__meta li::before{display:none}
.academy-course__meta strong{color:#fff;font-weight:500}
.academy-course--custom{
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.01));
  border-color:rgba(255,255,255,.14);
}

/* formularz */
/* plan dnia */
.academy-day{padding:var(--sp-20) 0;background:#000;border-top:1px solid rgba(255,255,255,.06)}
.academy-day__inner{display:flex;flex-direction:column;gap:var(--sp-12)}
.academy-day__head{display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);text-align:center;margin:0 auto;max-width:60ch}
.academy-day__title{
  font-family:var(--ff-display);
  font-size:clamp(28px, 2.4vw + 12px, 44px);
  font-weight:300;letter-spacing:-.025em;line-height:1.15;
  color:#fff;margin:0;text-wrap:balance;
}
.academy-day__lead{
  font-family:var(--ff-body);
  font-size:15px;font-weight:400;
  line-height:1.65;color:rgba(255,255,255,.7);
  margin:0;
}
.academy-day__timeline{
  display:flex;flex-direction:column;
  max-width:760px;margin:0 auto;width:100%;
  padding-left:var(--sp-2);
  border-left:1px solid rgba(255,255,255,.12);
}
.academy-day__step{
  display:grid;
  grid-template-columns:80px 1fr;
  gap:var(--sp-6);
  padding:var(--sp-5) 0;
  border-bottom:1px solid rgba(255,255,255,.06);
  position:relative;
}
.academy-day__step:last-child{border-bottom:0}
.academy-day__step::before{
  content:"";
  position:absolute;
  left:calc(-1 * var(--sp-2) - 4px);top:calc(var(--sp-5) + 6px);
  width:7px;height:7px;border-radius:999px;
  background:#fff;
}
.academy-day__time{
  font-family:var(--ff-display);
  font-size:18px;font-weight:400;
  letter-spacing:-.01em;line-height:1.2;
  color:rgba(255,255,255,.85);
  padding-top:2px;
}
.academy-day__step-body h3{
  font-family:var(--ff-display);
  font-size:18px;font-weight:400;
  letter-spacing:-.01em;line-height:1.25;
  color:#fff;margin:0 0 6px;
}
.academy-day__step-body p{
  font-family:var(--ff-body);
  font-size:14px;font-weight:400;
  line-height:1.65;color:rgba(255,255,255,.65);
  margin:0;
}

/* Academy BRANDS */
.academy-brands{padding:var(--sp-20) 0;background:#000;border-top:1px solid rgba(255,255,255,.06)}
.academy-brands__inner{display:flex;flex-direction:column;gap:var(--sp-10)}
.academy-brands__head{display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);text-align:center;margin:0 auto;max-width:62ch}
.academy-brands__title{
  font-family:var(--ff-display);
  font-size:clamp(24px, 1.8vw + 12px, 36px);
  font-weight:300;letter-spacing:-.025em;line-height:1.2;
  color:#fff;margin:0;text-wrap:balance;
}
.academy-brands__lead{
  font-family:var(--ff-body);
  font-size:14.5px;font-weight:400;
  line-height:1.65;color:rgba(255,255,255,.65);
  margin:0;
}
.academy-brands__row{
  display:grid;grid-template-columns:repeat(6,1fr);
  gap:var(--sp-6);align-items:center;
  padding-top:var(--sp-4);
  border-top:1px solid rgba(255,255,255,.08);
}
.academy-brands__brand{
  display:grid;place-items:center;
  height:36px;
  filter:brightness(0) invert(1);
  opacity:.55;
  transition:opacity 280ms var(--ease);
}
.academy-brands__brand:hover{opacity:.85}
.academy-brands__brand img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}

/* Academy TESTIMONIALS */
.academy-testimonials{padding:var(--sp-20) 0;background:#000;border-top:1px solid rgba(255,255,255,.10)}
.academy-testimonials__inner{display:flex;flex-direction:column;gap:var(--sp-10)}
.academy-testimonials__head{display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);text-align:center;margin:0 auto;max-width:60ch}
.academy-testimonials__title{
  font-family:var(--ff-display);
  font-size:clamp(26px, 2vw + 12px, 40px);
  font-weight:300;letter-spacing:-.025em;line-height:1.15;
  color:#fff;margin:0;text-wrap:balance;
}
.academy-testimonials__lead{
  font-family:var(--ff-body);
  font-size:15px;font-weight:400;
  line-height:1.65;color:rgba(255,255,255,.7);
  margin:0;
}
.academy-testimonials__grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:var(--sp-5);
}
.academy-testimonial{
  position:relative;
  display:flex;flex-direction:column;
  gap:var(--sp-5);
  padding:var(--sp-7) var(--sp-6);
  background:rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.08);
  border-radius:var(--r-md);
}
.academy-testimonial__mark{
  width:26px;height:auto;
  fill:rgba(255,255,255,.18);
}
.academy-testimonial__text{
  font-family:var(--ff-display);
  font-size:16px;font-weight:300;
  line-height:1.55;letter-spacing:-.005em;
  color:rgba(255,255,255,.88);
  margin:0;flex:1;
}
.academy-testimonial__foot{
  display:flex;flex-direction:column;gap:3px;
  padding-top:var(--sp-4);
  border-top:1px solid rgba(255,255,255,.06);
}
.academy-testimonial__name{
  font-family:var(--ff-body);
  font-size:13.5px;font-weight:600;
  color:#fff;letter-spacing:-.005em;
}
.academy-testimonial__course{
  font-family:var(--ff-body);
  font-size:11.5px;font-weight:400;
  color:rgba(255,255,255,.45);
  letter-spacing:.005em;
}

/* FAQ */
.academy-faq{padding:var(--sp-20) 0;background:#000;border-top:1px solid rgba(255,255,255,.06)}
.academy-faq__inner{display:flex;flex-direction:column;gap:var(--sp-8)}
.academy-faq__head{display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);text-align:center;margin:0 auto;max-width:60ch}
.academy-faq__title{
  font-family:var(--ff-display);
  font-size:clamp(26px, 1.8vw + 12px, 38px);
  font-weight:300;letter-spacing:-.02em;line-height:1.15;
  color:#fff;margin:0;text-wrap:balance;
}
.academy-faq__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}

.academy-form{padding:var(--sp-20) 0 var(--sp-24);background:#000;border-top:1px solid rgba(255,255,255,.06)}
.academy-form__inner{
  display:grid;grid-template-columns:1fr 1.4fr;
  gap:var(--sp-12);align-items:start;
  max-width:960px;margin:0 auto;
}
.academy-form__head{display:flex;flex-direction:column;gap:var(--sp-3);position:sticky;top:calc(var(--nav-h) + var(--sp-6))}
.academy-form__title{
  font-family:var(--ff-display);
  font-size:clamp(26px, 1.6vw + 14px, 38px);
  font-weight:300;letter-spacing:-.02em;line-height:1.15;
  color:#fff;margin:0;
}
.academy-form__lead{
  font-family:var(--ff-body);
  font-size:14.5px;font-weight:400;
  line-height:1.65;color:rgba(255,255,255,.65);
  margin:0;max-width:42ch;
}
.academy-form__form{margin:0}

/* responsive */
@media (max-width:1100px){
  .academy-hero{padding:calc(var(--nav-h) + var(--sp-12)) 0 var(--sp-16);min-height:50vh}
  .academy-hero__watermark{right:-100px;width:min(380px,60vw);opacity:.04}
  .academy-pillars__grid{grid-template-columns:repeat(2,1fr);gap:var(--sp-7)}
  .academy-courses__grid{grid-template-columns:repeat(2,1fr)}
  .academy-brands__row{grid-template-columns:repeat(3,1fr);gap:var(--sp-5)}
  .academy-testimonials__grid{grid-template-columns:1fr;gap:var(--sp-4);max-width:680px;margin:0 auto}
  .academy-form__inner{grid-template-columns:1fr;gap:var(--sp-7)}
  .academy-form__head{position:static}
}
@media (max-width:720px){
  .academy-hero{padding:calc(var(--nav-h) + var(--sp-10)) 0 var(--sp-10)}
  .academy-hero__title{font-size:clamp(28px,7vw,40px)}
  .academy-hero__lead{font-size:14.5px}
  .academy-hero__watermark{display:none}
  .academy-hero__cta{gap:var(--sp-3)}
  .academy-pillars{padding:var(--sp-14) 0}
  .academy-pillars__grid{grid-template-columns:1fr;gap:var(--sp-6)}
  .academy-pillars__num{font-size:32px}
  .academy-pillars__title{font-size:18px}
  .academy-pillars__desc{font-size:13.5px}
  .academy-courses{padding:var(--sp-14) 0}
  .academy-courses__inner{gap:var(--sp-8)}
  .academy-courses__title{font-size:clamp(22px,5.6vw,30px)}
  .academy-courses__lead{font-size:14px}
  .academy-courses__grid{grid-template-columns:1fr;gap:var(--sp-4)}
  .academy-course{padding:var(--sp-5)}
  .academy-course__name{font-size:17px}
  .academy-day{padding:var(--sp-14) 0}
  .academy-day__inner{gap:var(--sp-8)}
  .academy-day__title{font-size:clamp(22px,5.6vw,30px)}
  .academy-day__lead{font-size:14px}
  .academy-day__step{grid-template-columns:60px 1fr;gap:var(--sp-4);padding:var(--sp-4) 0}
  .academy-day__time{font-size:15px}
  .academy-day__step-body h3{font-size:16px}
  .academy-day__step-body p{font-size:13.5px}
  .academy-day__step::before{top:calc(var(--sp-4) + 4px)}
  .academy-brands{padding:var(--sp-14) 0}
  .academy-brands__inner{gap:var(--sp-7)}
  .academy-brands__title{font-size:clamp(20px,5vw,26px)}
  .academy-brands__lead{font-size:13.5px}
  .academy-brands__row{grid-template-columns:repeat(2,1fr);gap:var(--sp-4)}
  .academy-brands__brand{height:30px}
  .academy-testimonials{padding:var(--sp-14) 0}
  .academy-testimonials__inner{gap:var(--sp-7)}
  .academy-testimonials__title{font-size:clamp(22px,5.6vw,30px)}
  .academy-testimonials__lead{font-size:14px}
  .academy-testimonial{padding:var(--sp-5)}
  .academy-testimonial__text{font-size:14.5px}
  .academy-faq{padding:var(--sp-14) 0}
  .academy-faq__inner{gap:var(--sp-5)}
  .academy-faq__title{font-size:clamp(22px,5.6vw,28px)}
  .academy-form{padding:var(--sp-14) 0 var(--sp-16)}
  .academy-form__title{font-size:clamp(22px,5.6vw,28px)}
  .academy-form__lead{font-size:14px}
}

/* =====================================================
   LEGAL
   ===================================================== */
.legal{
  padding:calc(var(--nav-h) + var(--sp-24)) 0 var(--sp-24);
  background:#000;
}
.legal__inner{display:flex;flex-direction:column;gap:var(--sp-10)}
.legal__head{display:flex;flex-direction:column;gap:var(--sp-3)}
.legal__title{
  font-family:var(--ff-display);
  font-size:clamp(32px, 2.4vw + 14px, 48px);
  font-weight:300;letter-spacing:-.025em;line-height:1.1;
  color:#fff;margin:0;
  text-wrap:balance;
}
.legal__updated{
  font-family:var(--ff-body);
  font-size:13px;font-weight:400;
  color:rgba(255,255,255,.45);
  margin:0;
}
.legal__content{
  font-family:var(--ff-body);
  font-size:15px;line-height:1.75;
  color:rgba(255,255,255,.78);
  max-width:72ch;
}
.legal__content h2{
  font-family:var(--ff-display);
  font-size:22px;font-weight:400;
  letter-spacing:-.015em;line-height:1.25;
  color:#fff;
  margin:var(--sp-8) 0 var(--sp-3);
  padding-top:var(--sp-3);
  border-top:1px solid rgba(255,255,255,.08);
}
.legal__content h2:first-child{margin-top:0;padding-top:0;border-top:0}
.legal__content p{
  margin:0 0 var(--sp-3);
  font-size:15px;color:rgba(255,255,255,.78);line-height:1.75;
}
.legal__content p strong{color:#fff;font-weight:500}
.legal__content ul,
.legal__content ol{
  list-style:none;
  margin:0 0 var(--sp-4);
  padding-left:var(--sp-5);
  display:flex;flex-direction:column;gap:6px;
  counter-reset:legal;
}
.legal__content ol{counter-reset:legal-ol}
.legal__content ul li,
.legal__content ol li{
  position:relative;
  font-size:14.5px;line-height:1.7;
  color:rgba(255,255,255,.72);
  padding-left:0;
  margin-bottom:0;
}
.legal__content ul li::before{
  content:"";position:absolute;
  left:-16px;top:.85em;
  width:6px;height:1px;
  background:rgba(255,255,255,.35);
}
.legal__content ol li{counter-increment:legal-ol}
.legal__content ol li::before{
  content:counter(legal-ol)".";
  position:absolute;
  left:-22px;top:0;
  font-family:var(--ff-body);
  font-size:13px;font-weight:500;
  color:rgba(255,255,255,.45);
  background:transparent;
  width:auto;height:auto;
}
.legal__content a{
  color:#fff;text-decoration:underline;text-underline-offset:3px;
  text-decoration-color:rgba(255,255,255,.3);
  transition:text-decoration-color 220ms var(--ease);
}
.legal__content a:hover{text-decoration-color:#fff}

/* responsive */
@media (max-width:720px){
  .legal{padding:calc(var(--nav-h) + var(--sp-12)) 0 var(--sp-16)}
  .legal__title{font-size:clamp(24px,6vw,34px)}
  .legal__content{font-size:14px;line-height:1.7}
  .legal__content h2{font-size:18px;margin-top:var(--sp-6)}
  .legal__content p{font-size:14px}
  .legal__content ul li,
  .legal__content ol li{font-size:13.5px;line-height:1.65}
}

/* =============================================
   404 PAGE
   ============================================= */
.error-page{
  min-height:100vh;
  display:flex;align-items:center;
  padding:calc(var(--nav-h) + var(--sp-16)) 0 var(--sp-20);
}
.error-page__inner{
  display:flex;flex-direction:column;align-items:center;
  text-align:center;gap:var(--sp-8);
}
.error-page__code{
  display:block;
  font-family:var(--ff-head);
  font-size:clamp(100px,20vw,220px);
  font-weight:800;line-height:.85;letter-spacing:-.04em;
  color:rgba(255,255,255,.06);
  user-select:none;
}
.error-page__content{
  display:flex;flex-direction:column;align-items:center;gap:var(--sp-6);
  max-width:520px;
}
.error-page__title{
  font-family:var(--ff-head);
  font-size:clamp(28px,5vw,48px);
  font-weight:700;letter-spacing:-.025em;color:#fff;
}
.error-page__lead{
  font-size:16px;color:rgba(255,255,255,.55);line-height:1.65;
}
.error-page__cta{
  display:flex;align-items:center;gap:var(--sp-5);flex-wrap:wrap;justify-content:center;
}
.error-page__links-title{
  font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(255,255,255,.3);margin-bottom:var(--sp-3);
}
.error-page__links-list{
  list-style:none;padding:0;margin:0;
  display:flex;flex-wrap:wrap;justify-content:center;gap:var(--sp-2) var(--sp-4);
}
.error-page__links-list a{
  font-size:13px;color:rgba(255,255,255,.45);text-decoration:none;
  transition:color 180ms var(--ease);
}
.error-page__links-list a:hover{color:#fff}
