/* =========================================================
   HARDELITE — SMM & PR agency
   Палітра, типографіка та сітка керуються змінними нижче.
   ========================================================= */

:root{
  --ink:      #0B0B0C;
  --ink-80:   #33322F;
  --paper:    #F5F3F0;
  --paper-2:  #EDEAE5;
  --card:     #FFFFFF;
  --accent:   #0B0B0C;   /* акцент тексту — чорний */
  --muted:    #8B8681;
  --line:     rgba(11,11,12,.10);
  --line-dark:rgba(245,243,240,.14);

  --r:   22px;
  --r-s: 14px;
  --shadow: 0 18px 50px -28px rgba(11,11,12,.45);

  --sans:   'Manrope', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --serif:  'Playfair Display', Georgia, 'Times New Roman', serif;
  --brand:  'Unbounded', 'Manrope', system-ui, sans-serif;

  --gap: clamp(16px, 2vw, 24px);
  --gutter: clamp(20px, 4vw, 40px);
  --edge: max(var(--gutter), calc(50% - 620px + var(--gutter)));
  --sec: clamp(72px, 9vw, 140px);
  --header-h: 76px;
}

*,*::before,*::after{box-sizing:border-box}

/* =========================================================
   ЗАВАНТАЖЕННЯ
   ========================================================= */

.loader{display:none}
.js .loader{
  position:fixed;
  inset:0;
  z-index:200;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--ink);
  animation:loaderSafety .4s linear 5s forwards;
}
.js body.is-loaded .loader{opacity:0;visibility:hidden;transition:opacity .6s ease,visibility .6s}
@keyframes loaderSafety{to{opacity:0;visibility:hidden}}

.loader__inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  padding:0 24px;
}
.loader__logo{
  font-family:var(--brand);
  font-weight:600;
  font-size:clamp(24px,4.4vw,38px);
  letter-spacing:.04em;
  color:var(--paper);
}
.loader__thin{font-weight:400;opacity:.55}
.loader__sub{
  font-family:var(--brand);
  font-size:8.5px;
  letter-spacing:.36em;
  text-transform:uppercase;
  color:rgba(245,243,240,.45);
}
.loader__bar{
  margin-top:26px;
  width:min(240px,60vw);
  height:2px;
  background:rgba(245,243,240,.16);
  border-radius:2px;
  overflow:hidden;
}
.loader__bar i{
  display:block;
  height:100%;
  width:0%;
  background:var(--paper);
  border-radius:2px;
  transition:width .25s ease-out;
}
.loader__pct{
  margin-top:12px;
  font-family:var(--brand);
  font-size:10px;
  letter-spacing:.2em;
  color:rgba(245,243,240,.5);
  font-variant-numeric:tabular-nums;
}

/* приховані елементи (порожні контакти) ховаємо попри display у компонентах */
[hidden]{display:none !important}

html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px)}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:16px;
  font-weight:400;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3,h4,p,figure,blockquote{margin:0}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}

.container{
  width:100%;
  max-width:1240px;
  margin:0 auto;
  padding:0 var(--gutter);
}

.section{padding:var(--sec) 0}

/* ---------- Типографіка ---------- */

.h2{
  font-family:var(--serif);
  font-weight:500;
  font-size:clamp(34px, 4.6vw, 62px);
  line-height:1.02;
  letter-spacing:-.02em;
}
.h2 em, .hero__title em, .outro__big em{
  font-style:italic;
  font-weight:400;
}
.h2--center{text-align:center}

.eyebrow{
  font-family:var(--brand);
  font-size:11px;
  font-weight:500;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:18px;
}
.eyebrow--center{text-align:center}

.dash{
  display:inline-block;
  width:26px;height:1px;
  background:currentColor;
  vertical-align:middle;
  margin-right:10px;
  opacity:.5;
}

.section__head{margin-bottom:clamp(36px, 5vw, 64px)}
.section__head--split{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:var(--gap);
  align-items:end;
}
.section__head--row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--gap);
  flex-wrap:wrap;
}
.section__note{
  color:var(--muted);
  font-size:15px;
  max-width:52ch;
  margin-top:18px;
}
.section__head--split .section__note{margin-top:0}
.section__actions{display:flex;gap:10px;flex-wrap:wrap}

/* ---------- Кнопки ---------- */

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:17px 34px;
  border-radius:999px;
  font-size:14px;
  font-weight:500;
  letter-spacing:.01em;
  white-space:nowrap;
  transition:transform .25s cubic-bezier(.2,.8,.3,1), background .25s, color .25s, border-color .25s;
}
.btn--dark{background-color:var(--ink);color:var(--paper)}
.btn--dark:hover{transform:translateY(-2px);background-color:#1d1d1f}
.btn--ghost{border:1px solid var(--line);color:var(--ink)}
.btn--ghost:hover{border-color:var(--ink);transform:translateY(-2px)}
.btn--sm{padding:12px 22px;font-size:13px}
.btn--wide{width:100%;padding:19px 34px}

/* помітна цільова кнопка */
.btn--cta{
  padding:21px 40px;
  font-size:15px;
  font-weight:600;
  box-shadow:0 14px 34px -16px rgba(11,11,12,.55);
}
/* стрілка «вилітає» вперед і повертається з-за лівого краю */
.btn--cta .btn__arrow{
  display:inline-block;
  transition:transform .3s cubic-bezier(.2,.8,.3,1);
  animation:arrowRun 2.6s cubic-bezier(.65,0,.35,1) infinite;
}
@keyframes arrowRun{
  0%,  34%  {transform:translateX(0);     opacity:1}
  48%       {transform:translateX(14px);  opacity:0}
  49%       {transform:translateX(-14px); opacity:0}
  63%, 100% {transform:translateX(0);     opacity:1}
}
.btn--cta:hover .btn__arrow{animation:none;transform:translateX(6px)}

/* у кнопці «Далі» стрілка теж жива */
.deck__arrow--next .btn__arrow{
  display:inline-block;
  animation:arrowRun 2.6s cubic-bezier(.65,0,.35,1) infinite;
}
.deck__arrow--next:hover:not(:disabled) .btn__arrow{animation:none;transform:translateX(4px)}
.deck__arrow--next:disabled .btn__arrow{animation:none}
/* м'який відблиск, що пробігає по кнопці */
.btn--shine{
  background-image:linear-gradient(100deg,
    transparent 22%, rgba(255,255,255,.22) 42%, transparent 62%);
  background-size:240% 100%;
  background-repeat:no-repeat;
  animation:btnShine 3.8s ease-in-out infinite;
}
@keyframes btnShine{
  0%{background-position:190% 0}
  55%{background-position:-90% 0}
  100%{background-position:-90% 0}
}
.btn--cta::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  border:1px solid currentColor;
  opacity:0;
  animation:ctaPulse 2.6s ease-out infinite;
  pointer-events:none;
}
.btn--cta{position:relative;overflow:visible}
@keyframes ctaPulse{
  0%{opacity:.5;transform:scale(1)}
  70%{opacity:0;transform:scale(1.12)}
  100%{opacity:0;transform:scale(1.12)}
}

/* курсор-підказка «натисніть сюди» */
.hint{
  position:absolute;
  right:-14px;
  bottom:-16px;
  width:34px;height:34px;
  pointer-events:none;
  color:var(--ink);
}
.hint__cursor{
  position:absolute;
  inset:0;
  width:22px;height:22px;
  animation:hintTap 2.2s ease-in-out infinite;
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.35));
}
.hint__ring{
  position:absolute;
  left:-2px;top:-2px;
  width:26px;height:26px;
  border:1.5px solid currentColor;
  border-radius:50%;
  opacity:0;
  animation:hintRing 2.2s ease-out infinite;
}
@keyframes hintTap{
  0%,100%{transform:translate(6px,6px) scale(1)}
  45%{transform:translate(0,0) scale(.88)}
  60%{transform:translate(0,0) scale(1)}
}
@keyframes hintRing{
  0%,40%{opacity:0;transform:scale(.4)}
  55%{opacity:.85;transform:scale(.7)}
  90%,100%{opacity:0;transform:scale(1.5)}
}
.hint--tab{right:12px;bottom:auto;top:50%;margin-top:-16px;color:var(--paper)}
.hint--team{right:16px;bottom:18px;color:var(--ink)}

.section--dark .btn--ghost{border-color:var(--line-dark);color:var(--paper)}
.section--dark .btn--ghost:hover{border-color:var(--paper)}

/* =========================================================
   HEADER
   ========================================================= */

.header{
  position:sticky;
  top:0;
  z-index:60;
  background:rgba(245,243,240,0);
  transition:background .3s, box-shadow .3s, backdrop-filter .3s;
}
.header.is-scrolled{
  background:rgba(245,243,240,.86);
  backdrop-filter:blur(14px);
  box-shadow:0 1px 0 var(--line);
}
.header__inner{
  height:var(--header-h);
  display:flex;
  align-items:center;
  gap:clamp(20px,2.6vw,40px);
}

.logo{display:flex;flex-direction:column;line-height:1}
.logo__mark{
  font-family:var(--brand);
  font-weight:600;
  font-size:17px;
  letter-spacing:.02em;
}
.logo__thin{font-weight:400;opacity:.6}
.logo__sub{
  font-family:var(--brand);
  font-size:8px;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--muted);
  margin-top:5px;
}

.nav{display:flex;gap:clamp(15px,1.5vw,24px)}
.nav a{
  font-size:14px;
  color:var(--ink-80);
  position:relative;
  padding:4px 0;
  transition:color .2s;
}
.nav a::after{
  content:"";
  position:absolute;left:0;bottom:0;
  width:100%;height:1px;
  background:var(--accent);
  transform:scaleX(0);
  transform-origin:right;
  transition:transform .3s cubic-bezier(.2,.8,.3,1);
}
.nav a:hover{color:var(--ink)}
.nav a:hover::after{transform:scaleX(1);transform-origin:left}

.header__actions{display:flex;align-items:center;gap:12px;margin-left:auto}

/* поки шапка прозора, CTA лежить на фото — робимо його світлим */
.header:not(.is-scrolled) .header__actions .btn--dark{
  background:rgba(255,255,255,.95);
  color:var(--ink);
}
.header:not(.is-scrolled) .header__actions .btn--dark:hover{background:#fff}

.burger{
  display:none;
  width:44px;height:44px;
  border-radius:50%;
  border:1px solid var(--line);
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
}
.burger span{
  display:block;width:16px;height:1.4px;
  background:var(--ink);
  transition:transform .3s, opacity .3s;
}
.burger[aria-expanded="true"] span:first-child{transform:translateY(3.2px) rotate(45deg)}
.burger[aria-expanded="true"] span:last-child{transform:translateY(-3.2px) rotate(-45deg)}

/* Mobile menu */
.mobile-menu{
  position:fixed;
  inset:var(--header-h) 0 0 0;
  z-index:55;
  background:var(--paper);
  padding:40px clamp(20px,6vw,40px) 40px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  animation:menuIn .3s ease both;
}
.mobile-menu[hidden]{display:none}
@keyframes menuIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.mobile-menu__nav{display:flex;flex-direction:column;gap:6px}
.mobile-menu__nav a{
  font-family:var(--serif);
  font-size:clamp(28px,8vw,40px);
  line-height:1.25;
  border-bottom:1px solid var(--line);
  padding:10px 0;
}
.mobile-menu__cta{margin-top:32px}

/* =========================================================
   HERO
   ========================================================= */

.hero{
  --hero-pb: clamp(90px,10vw,150px);
  position:relative;
  background:var(--card);
  /* секція заходить під шапку, щоб фото було під нею — як у референсі */
  margin-top:calc(-1 * var(--header-h));
  padding-top:calc(var(--header-h) + clamp(18px,2.4vw,40px));
  padding-bottom:var(--hero-pb);
  overflow:hidden;
}

/* ---------- фото ---------- */

.hero__photo{
  position:absolute;
  z-index:1;
  top:0;
  right:0;
  bottom:0;
  width:clamp(370px, 45%, 820px);
}
.hero__photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:38% 24%;
  filter:brightness(1.1) contrast(.98) saturate(.92);
  animation:photoSettle 1.8s cubic-bezier(.2,.8,.3,1) both;
}
@keyframes photoSettle{from{transform:scale(1.07);opacity:.4}to{transform:none;opacity:1}}
/* легке затемнення згори, щоб світлий текст і нагороди читались на фото */
.hero__photo::after{
  content:"";
  position:absolute;inset:0;
  z-index:1;
  background:linear-gradient(to bottom, rgba(12,10,8,.44) 0%, rgba(12,10,8,.14) 40%, rgba(12,10,8,0) 64%);
  pointer-events:none;
}

/* ---------- текст ---------- */

.hero__grid{
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-items:stretch;
  min-height:clamp(440px,44vw,600px);
}

.hero__copy{
  max-width:min(100%, 600px);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:clamp(10px,2vw,28px) 0 0;
}

.hero__eyebrow{
  font-family:var(--brand);
  font-size:9.5px;
  font-weight:500;
  letter-spacing:.34em;
  text-transform:uppercase;
  color:var(--muted);
}

.hero__title{
  margin-top:clamp(18px,2.4vw,32px);
  font-family:var(--serif);
  font-weight:500;
  font-size:clamp(38px, 4.9vw, 64px);
  line-height:1.02;
  letter-spacing:-.025em;
  display:flex;
  flex-direction:column;
}
.hero__title-2{padding-left:.06em}

/* третій рядок — курсив тієї ж антикви */
.hero__script{
  font-style:italic;
  font-weight:400;
  font-size:1.04em;
  line-height:1.06;
  margin-top:.04em;
  width:fit-content;
}

.hero__lead{
  margin-top:clamp(24px,3vw,38px);
  color:var(--muted);
  font-size:14.5px;
  line-height:1.62;
}
.btn--hero{margin-top:clamp(26px,3.2vw,40px);padding:22px 46px}

/* нижній «маршрут» А → Б заповнює порожній низ колонки */
.hero__route{
  margin-top:auto;
  padding-top:clamp(34px,5vw,64px);
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  max-width:400px;
}
.hero__route-dot{
  flex:none;
  width:26px;height:26px;
  border:1px solid var(--line);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--serif);
  font-size:12px;
  color:var(--ink-80);
}
.hero__route-line{
  flex:1;
  height:1px;
  background:linear-gradient(to right, var(--line), rgba(11,11,12,.32), var(--line));
}
.hero__route-text{
  flex:none;
  font-family:var(--brand);
  font-size:8.5px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--muted);
  margin-left:6px;
}

/* ---------- нагороди (лежать на фото, тому світлі) ---------- */

.hero__awards{
  position:absolute;
  z-index:4;
  top:calc(var(--header-h) + clamp(18px,2.6vw,44px));
  right:var(--edge);
  width:226px;
  display:flex;
  flex-direction:column;
  gap:clamp(10px,1.4vw,18px);
  padding-top:6px;
}
.award{
  display:grid;
  grid-template-columns:24px minmax(0,1fr) 24px;
  align-items:center;
  gap:6px;
  text-align:center;
  color:#fff;
  text-shadow:0 1px 14px rgba(0,0,0,.45);
}
.award__laurel{width:24px;height:60px;color:rgba(255,255,255,.9)}
.award__laurel--flip{transform:scaleX(-1)}
.award__body{display:flex;flex-direction:column;gap:3px;min-width:0}
.award__label{
  font-family:var(--brand);
  font-size:7.5px;
  font-weight:500;
  letter-spacing:.26em;
  text-transform:uppercase;
  color:rgba(255,255,255,.72);
}
.award__title{
  font-family:var(--serif);
  font-size:19px;
  font-weight:500;
  letter-spacing:-.01em;
  line-height:1.15;
}
.award__text{
  font-size:11px;
  line-height:1.4;
  color:rgba(255,255,255,.75);
  text-wrap:balance;
}

/* ---------- картка з місією та плашка на фото ---------- */

.quote-card{
  position:absolute;
  z-index:4;
  right:clamp(150px, 17vw, 260px);
  bottom:clamp(118px, 14vw, 200px);
  width:min(300px, 31vw);
  background:rgba(255,255,255,.95);
  backdrop-filter:blur(8px);
  border-radius:var(--r-s);
  padding:16px 18px 18px;
  box-shadow:0 20px 46px -20px rgba(0,0,0,.5);
}
.quote-card__who{
  display:block;
  font-family:var(--brand);
  font-size:8.5px;
  font-weight:500;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:10px;
}
.quote-card blockquote{
  font-size:12.5px;
  line-height:1.6;
  color:var(--ink-80);
}

.hero__plate{
  position:absolute;
  z-index:2;
  left:clamp(18px,2vw,30px);
  bottom:clamp(18px,2.4vw,32px);
  display:flex;
  flex-direction:column;
  gap:5px;
  padding:15px 22px 16px;
  border-radius:var(--r-s);
  background:rgba(255,255,255,.95);
  backdrop-filter:blur(8px);
  box-shadow:0 20px 46px -20px rgba(0,0,0,.5);
}
.hero__plate-name{
  font-family:var(--serif);
  font-size:clamp(17px,1.5vw,20px);
  font-weight:500;
  letter-spacing:-.01em;
  color:var(--ink);
}
.hero__plate-role{
  font-family:var(--sans);
  font-size:12.5px;
  font-weight:400;
  letter-spacing:0;
  color:var(--muted);
}
.hero__plate-ig{
  margin-top:2px;
  font-family:var(--sans);
  font-size:12px;
  font-weight:400;
  color:var(--ink-80);
  border-bottom:1px solid var(--line);
  width:fit-content;
  transition:border-color .2s;
}
.hero__plate-ig:hover{border-color:var(--ink)}

/* ---------- поява першого екрана ---------- */

.hero__eyebrow,
.hero__title-1,
.hero__title-2,
.hero__script,
.hero__lead,
.btn--hero,
.hero__route,
.hero__awards,
.quote-card,
.hero__plate{
  animation:heroIn .85s cubic-bezier(.2,.8,.3,1) both;
}
.hero__eyebrow{animation-delay:.05s}
.hero__title-1{animation-delay:.14s}
.hero__title-2{animation-delay:.22s}
.hero__script{animation-delay:.3s}
.hero__lead{animation-delay:.4s}
.btn--hero{animation-delay:.48s}
.hero__route{animation-delay:.56s}
.hero__awards{animation-delay:.5s}
.quote-card{animation-delay:.62s}
.hero__plate{animation-delay:.72s}
@keyframes heroIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

/* ---------- хвиля на стику з наступною секцією ---------- */

.hero__curve{
  position:absolute;
  z-index:3;
  left:0;
  right:0;
  bottom:-1px;
  width:100%;
  height:clamp(56px,7.5vw,116px);
  display:block;
}
.hero__curve path{fill:var(--paper)}

/* ---------- Плейсхолдери фото та справжні знімки ---------- */

.ph{
  position:relative;
  overflow:hidden;
  border-radius:var(--r);
  background:
    radial-gradient(130% 100% at 18% 8%, #DAD4CC 0%, #B4ADA5 42%, #6E6963 78%, #47443F 100%);
  display:flex;
  align-items:center;
  justify-content:center;
  isolation:isolate;
}
.ph::before{
  content:"";
  position:absolute;inset:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");
  opacity:.24;
  mix-blend-mode:overlay;
  pointer-events:none;
}
.ph::after{
  content:attr(data-ph);
  position:absolute;
  left:0;right:0;bottom:0;
  padding:34px 16px 14px;
  font-size:10.5px;
  letter-spacing:.05em;
  text-align:center;
  color:rgba(255,255,255,.9);
  background:linear-gradient(transparent, rgba(0,0,0,.5));
  pointer-events:none;
}
.ph__label{
  position:relative;
  z-index:1;
  width:74px;height:74px;
  border:1px dashed rgba(255,255,255,.6);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--brand);
  font-size:9px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:rgba(255,255,255,.85);
}

.ph--founder{aspect-ratio:3/4}
.ph--contact{aspect-ratio:3/4;height:100%}

/* справжні фото використовують ті самі класи, що й плейсхолдери */
img.ph{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
img.ph--founder{object-position:52% 34%}
img.ph--contact{object-position:50% 18%;filter:grayscale(1) contrast(1.04)}

/* =========================================================
   MARQUEE
   ========================================================= */

.marquee{
  border-bottom:1px solid var(--line);
  overflow:hidden;
  padding:10px 0 20px;
  background:var(--paper);
}
.marquee__track{
  display:flex;
  width:max-content;
  animation:marquee 32s linear infinite;
}
.marquee__group{display:flex;align-items:center;gap:26px;padding-right:26px}
.marquee__group span{
  font-family:var(--serif);
  font-size:clamp(20px,2.6vw,32px);
  font-style:italic;
  white-space:nowrap;
}
.marquee__group i{color:var(--accent);font-size:12px;font-style:normal}
@keyframes marquee{to{transform:translateX(-50%)}}

/* =========================================================
   ПОВНИЙ ЦИКЛ — рядок під переліком послуг
   ========================================================= */

.full-cycle{
  margin-top:clamp(34px,4.4vw,60px);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  font-family:var(--serif);
  font-size:clamp(18px,2.1vw,27px);
  letter-spacing:-.01em;
  text-align:center;
  text-wrap:balance;
}
.full-cycle em{font-style:italic}
.full-cycle .dash{flex:1;max-width:110px;margin:0;opacity:.35}

/* =========================================================
   ABOUT — про агенцію
   ========================================================= */

.about{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,.92fr);
  gap:clamp(28px,5vw,72px);
  align-items:center;
}
/* інфографіка повного циклу */
.cycle{
  --r: clamp(108px, 15vw, 158px);
  --n: clamp(76px, 10.5vw, 100px);
  position:relative;
  width:100%;
  max-width:calc(var(--r) * 2 + var(--n) + 16px);
  aspect-ratio:1;
  margin-inline:auto;
}
.cycle__ring{
  position:absolute;
  left:50%;top:50%;
  width:calc(var(--r) * 2);
  height:calc(var(--r) * 2);
  margin:calc(var(--r) * -1) 0 0 calc(var(--r) * -1);
  border:1px dashed var(--line);
  border-radius:50%;
  /* тонкі промені від центру до кожного вузла */
  background:repeating-conic-gradient(from -90deg,
    rgba(11,11,12,.14) 0 .35deg, transparent .35deg 60deg);
}
.cycle__ring::after{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:50%;
  border:1.5px solid transparent;
  border-top-color:var(--ink);
  animation:cycleSpin 9s linear infinite;
}
@keyframes cycleSpin{to{transform:rotate(360deg)}}

.cycle__center{
  position:absolute;
  left:50%;top:50%;
  transform:translate(-50%,-50%);
  width:calc(var(--n) * 1.42);
  height:calc(var(--n) * 1.42);
  border-radius:50%;
  background:var(--paper);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  text-align:center;
}
.cycle__center b{
  font-family:var(--brand);
  font-size:clamp(13px,1.35vw,16px);
  font-weight:600;
  letter-spacing:.02em;
  line-height:1;
}
.cycle__center b span{font-weight:400;opacity:.55}
.cycle__center i{
  font-family:var(--brand);
  font-style:normal;
  font-size:8px;
  letter-spacing:.26em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:5px;
}

.cycle__node{
  position:absolute;
  left:50%;top:50%;
  width:var(--n);
  height:var(--n);
  margin:calc(var(--n) / -2) 0 0 calc(var(--n) / -2);
  border-radius:50%;
  background:var(--card);
  border:1px solid var(--line);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  font-size:clamp(11.5px,1.2vw,13.5px);
  line-height:1.15;
  text-align:center;
  transform:
    rotate(calc(var(--a) * 60deg))
    translateY(calc(var(--r) * -1))
    rotate(calc(var(--a) * -60deg));
  transition:background .3s, border-color .3s, box-shadow .3s;
  animation:cycleNode .5s cubic-bezier(.2,.8,.3,1) backwards;
  animation-delay:calc(var(--a) * .09s);
}
@keyframes cycleNode{from{opacity:0;transform:
    rotate(calc(var(--a) * 60deg))
    translateY(calc(var(--r) * -.72))
    rotate(calc(var(--a) * -60deg)) scale(.8)}}
.cycle__node:hover{
  background:var(--ink);
  color:var(--paper);
  border-color:var(--ink);
  box-shadow:var(--shadow);
}
.cycle__node i{
  font-family:var(--brand);
  font-style:normal;
  font-size:8px;
  letter-spacing:.16em;
  color:var(--muted);
}
.cycle__node:hover i{color:rgba(245,243,240,.7)}

.about__claim{
  margin-top:6px;
  font-family:var(--serif);
  font-size:clamp(26px,3.4vw,44px);
  line-height:1.08;
  letter-spacing:-.02em;
  text-wrap:balance;
}
.about__text{
  margin-top:20px;
  font-size:16px;
  line-height:1.62;
  color:var(--ink-80);
  max-width:46ch;
}
.about__list{
  margin-top:26px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.about__list li{
  border:1px solid var(--line);
  border-radius:999px;
  padding:9px 18px;
  font-size:13px;
  color:var(--ink-80);
  background:var(--card);
}

.team{
  margin-top:clamp(44px,5vw,72px);
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:var(--gap);
}
.team__hint{
  margin-top:clamp(40px,4.6vw,64px);
  margin-bottom:-14px;
  text-align:center;
  font-family:var(--brand);
  font-size:9px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--muted);
}
.team__item{
  background:var(--card);
  border-radius:var(--r);
  transition:transform .35s cubic-bezier(.2,.8,.3,1), box-shadow .35s;
}
.team__item:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.team__head{
  position:relative;
  display:block;
  width:100%;
  text-align:left;
  padding:26px 24px 24px;
  border-radius:var(--r);
}
.team__head:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.team__toggle{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-top:16px;
  font-family:var(--brand);
  font-size:8.5px;
  font-weight:500;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--muted);
  transition:color .25s;
}
.team__head:hover .team__toggle{color:var(--ink)}
.team__toggle i{
  position:relative;
  width:18px;height:18px;
  border-radius:50%;
  border:1px solid var(--line);
  flex:none;
  transition:background .3s, border-color .3s;
}
.team__toggle i::before,
.team__toggle i::after{
  content:"";
  position:absolute;
  left:50%;top:50%;
  width:8px;height:1.3px;
  background:var(--ink);
  transform:translate(-50%,-50%);
  transition:transform .35s cubic-bezier(.2,.8,.3,1), background .3s;
}
.team__toggle i::after{transform:translate(-50%,-50%) rotate(90deg)}
.team__item.is-open .team__toggle i{background:var(--ink);border-color:var(--ink)}
.team__item.is-open .team__toggle i::before,
.team__item.is-open .team__toggle i::after{background:var(--paper)}
.team__item.is-open .team__toggle i::after{transform:translate(-50%,-50%) rotate(180deg)}

.team__body{
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows .45s cubic-bezier(.2,.8,.3,1);
}
.team__item.is-open .team__body{grid-template-rows:1fr}
.team__body > div{overflow:hidden}
.team__num{
  font-family:var(--brand);
  font-size:10px;
  letter-spacing:.18em;
  color:var(--muted);
}
.team__item h3{
  margin-top:14px;
  font-family:var(--serif);
  font-size:21px;
  font-weight:500;
  letter-spacing:-.01em;
}
.team__item p{margin-top:9px;font-size:13.5px;line-height:1.55;color:var(--muted)}
.team__item ul{
  margin:0 24px;
  padding:14px 0 26px;
  border-top:1px solid var(--line);
  display:grid;
  gap:9px;
}
.team__item li{
  position:relative;
  padding-left:18px;
  font-size:13px;
  line-height:1.45;
  color:var(--ink-80);
}
.team__item li::before{
  content:"";
  position:absolute;left:0;top:8px;
  width:9px;height:1px;
  background:var(--ink);
  opacity:.4;
}

.about__closing{
  margin-top:clamp(34px,4vw,56px);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  font-family:var(--serif);
  font-size:clamp(17px,2vw,25px);
  line-height:1.35;
  text-align:center;
  text-wrap:balance;
}
.about__closing em{font-style:italic}
.about__closing .dash{flex:1;max-width:90px;margin:0;opacity:.35}

/* =========================================================
   AUDIENCE — для кого ми працюємо
   ========================================================= */

.audience{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--gap);
}
.aud{
  background:var(--card);
  border-radius:var(--r);
  padding:16px;
  display:grid;
  grid-template-columns:minmax(0,.62fr) minmax(0,1fr);
  gap:18px;
  align-items:start;
  transition:transform .35s cubic-bezier(.2,.8,.3,1), box-shadow .35s;
}
.aud:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.aud__ph{aspect-ratio:3/4;border-radius:calc(var(--r) - 8px)}
.aud__body{padding:6px 6px 6px 0;display:flex;flex-direction:column}
.aud h3{
  font-family:var(--serif);
  font-size:24px;
  font-weight:500;
  letter-spacing:-.01em;
}
.aud__sub{margin-top:3px;font-size:12.5px;color:var(--muted)}
.aud__label{
  margin-top:18px;
  font-family:var(--brand);
  font-size:8px;
  font-weight:500;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--muted);
}
.aud__pain{
  margin-top:7px;
  font-size:13.5px;
  line-height:1.55;
  color:var(--ink-80);
}
.aud__list{margin-top:9px;display:grid;gap:6px}
.aud__list li{
  position:relative;
  padding-left:18px;
  font-size:13px;
  line-height:1.45;
  color:var(--ink-80);
}
.aud__list li::before{
  content:"";
  position:absolute;left:0;top:9px;
  width:9px;height:1px;
  background:var(--ink);
  opacity:.45;
}
.aud__result{
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid var(--line);
  font-family:var(--serif);
  font-size:15px;
  line-height:1.4;
  letter-spacing:-.01em;
}
.aud__result span{
  display:block;
  margin-bottom:5px;
  font-family:var(--brand);
  font-size:8px;
  font-weight:500;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--muted);
}

/* =========================================================
   DECK — інтерактивні слайди системи
   ========================================================= */

.deck__intro{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:18px;
  padding:clamp(38px,6vw,74px) clamp(20px,4vw,40px);
  border:1px solid rgba(245,243,240,.22);
  border-radius:var(--r);
  overflow:hidden;
  background:
    radial-gradient(120% 140% at 50% -20%, rgba(245,243,240,.13) 0%, rgba(245,243,240,0) 60%);
}
.deck__intro::before{
  content:"";
  position:absolute;
  inset:-40% -10% auto -10%;
  height:80%;
  background:radial-gradient(50% 60% at 50% 50%, rgba(245,243,240,.10), transparent 70%);
  animation:deckGlow 6s ease-in-out infinite;
  pointer-events:none;
}
@keyframes deckGlow{0%,100%{opacity:.6;transform:translateY(0)}50%{opacity:1;transform:translateY(10px)}}
.deck__cta{position:relative;display:inline-flex}
.deck__cta .hint{color:var(--paper);right:-18px;bottom:-18px}
.deck__tip{
  font-family:var(--brand);
  font-size:9px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(245,243,240,.42);
  margin-top:2px;
}
.deck__badge{
  position:relative;
  font-family:var(--brand);
  font-size:8.5px;
  font-weight:500;
  letter-spacing:.26em;
  text-transform:uppercase;
  color:rgba(245,243,240,.55);
  border:1px solid var(--line-dark);
  border-radius:999px;
  padding:8px 16px;
}
.deck__lead{
  max-width:44ch;
  font-family:var(--serif);
  font-size:clamp(19px,2.3vw,27px);
  line-height:1.3;
  letter-spacing:-.01em;
  color:var(--paper);
}
.btn--light{background:var(--paper);color:var(--ink)}
.btn--light:hover{background:#fff;transform:translateY(-2px)}

.deck__stage{animation:deckIn .5s cubic-bezier(.2,.8,.3,1)}
@keyframes deckIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

.deck__top{
  display:flex;
  align-items:center;
  gap:16px;
}
.deck__label{
  font-family:var(--brand);
  font-size:8.5px;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:rgba(245,243,240,.45);
  flex:none;
}
.deck__close{
  flex:none;
  font-size:12px;
  color:rgba(245,243,240,.5);
  border-bottom:1px solid rgba(245,243,240,.25);
  transition:color .25s, border-color .25s;
}
.deck__close:hover{color:var(--paper);border-color:var(--paper)}
.deck__bar{
  flex:1;
  height:3px;
  background:rgba(245,243,240,.14);
  border-radius:3px;
  overflow:hidden;
}
.deck__bar i{
  display:block;
  height:100%;
  width:14%;
  background:var(--paper);
  border-radius:3px;
  transition:width .5s cubic-bezier(.2,.8,.3,1);
}

/* слайд — світла картка на темному тлі, її неможливо не помітити */
.deck__viewport{overflow:hidden;margin-top:18px;border-radius:var(--r)}
.deck__track{display:flex;align-items:stretch;transition:transform .5s cubic-bezier(.2,.8,.3,1)}
.slide{
  flex:0 0 100%;
  min-width:0;
  background:var(--paper);
  color:var(--ink);
  border-radius:var(--r);
  padding:clamp(26px,3.4vw,46px);
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  grid-template-areas:
    "ico num"
    "ico title"
    "ico sub"
    "list list";
  gap:0 22px;
  align-content:start;
}
.slide__ico{
  grid-area:ico;
  align-self:start;
  width:60px;height:60px;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--ink);
  border:0;
  color:var(--paper);
}
.slide__ico svg{width:26px;height:26px}
.slide__num{
  grid-area:num;
  align-self:end;
  font-family:var(--brand);
  font-size:9px;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--muted);
}
.slide__title{
  grid-area:title;
  margin-top:7px;
  font-family:var(--serif);
  font-size:clamp(26px,3.4vw,42px);
  font-weight:500;
  letter-spacing:-.02em;
  line-height:1.04;
}
.slide__sub{
  grid-area:sub;
  margin-top:7px;
  font-size:14.5px;
  color:var(--muted);
}
.slide__list{
  grid-area:list;
  margin-top:clamp(24px,2.8vw,34px);
  padding-top:clamp(20px,2.4vw,28px);
  border-top:1px solid var(--line);
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px 30px;
}
.slide__list li{
  display:flex;
  gap:12px;
  align-items:flex-start;
  font-size:15px;
  line-height:1.5;
  color:var(--ink-80);
}
.slide.is-active .slide__list li{animation:slideItem .5s cubic-bezier(.2,.8,.3,1) backwards}
.slide.is-active .slide__list li:nth-child(1){animation-delay:.10s}
.slide.is-active .slide__list li:nth-child(2){animation-delay:.17s}
.slide.is-active .slide__list li:nth-child(3){animation-delay:.24s}
.slide.is-active .slide__list li:nth-child(4){animation-delay:.31s}
@keyframes slideItem{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.slide__list li::before{
  content:"";
  flex:none;
  margin-top:3px;
  width:17px;height:17px;
  border-radius:50%;
  background:var(--ink);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.3 2.3L9.5 3.8' fill='none' stroke='%23F5F3F0' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-size:11px;
  background-repeat:no-repeat;
  background-position:center;
}
.slide__cta{grid-area:list;margin-top:26px;justify-self:start}

.deck__swipe{
  display:none;
  margin-top:12px;
  text-align:center;
  font-family:var(--brand);
  font-size:8.5px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(245,243,240,.4);
}
.deck__swipe span{
  display:inline-block;
  animation:swipeHint 1.8s ease-in-out infinite;
}
@keyframes swipeHint{0%,100%{transform:translateX(0);opacity:.4}50%{transform:translateX(6px);opacity:1}}

.deck__nav{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  margin-top:18px;
}
.deck__center{display:flex;flex-direction:column;align-items:center;gap:10px}
.deck__counter{
  font-family:var(--brand);
  font-size:10px;
  letter-spacing:.2em;
  color:rgba(245,243,240,.45);
  font-variant-numeric:tabular-nums;
}
.deck__counter b{color:var(--paper);font-weight:500}
.deck__arrow{
  display:inline-flex;
  align-items:center;
  gap:9px;
  border:1px solid rgba(245,243,240,.28);
  border-radius:999px;
  padding:15px 26px;
  font-size:14px;
  font-weight:500;
  color:var(--paper);
  transition:background .25s, border-color .25s, opacity .25s, transform .25s;
}
.deck__arrow:hover:not(:disabled){background:rgba(245,243,240,.1);border-color:rgba(245,243,240,.5);transform:translateY(-2px)}
.deck__arrow:disabled{opacity:.28;cursor:default}
.deck__arrow--next{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.deck__arrow--next:hover:not(:disabled){background:#fff}
.deck__arrow--next .btn__arrow{transition:transform .3s cubic-bezier(.2,.8,.3,1)}
.deck__dots{display:flex;gap:7px}
.deck__dots button{
  width:8px;height:8px;
  border-radius:50%;
  background:rgba(245,243,240,.22);
  transition:background .25s, width .25s;
}
.deck__dots button.is-active{background:var(--paper);width:26px;border-radius:999px}

/* =========================================================
   SCOPE — послуги з вкладками
   ========================================================= */

.section--scope{background:var(--paper-2)}
.scope{
  display:grid;
  grid-template-columns:minmax(0,.44fr) minmax(0,1fr);
  gap:clamp(24px,4vw,56px);
  align-items:start;
}
.scope__tabs{display:flex;flex-direction:column;gap:8px}
.scope__tip{
  font-family:var(--brand);
  font-size:9px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:6px;
  display:flex;
  align-items:center;
  gap:8px;
}
.scope__tip-arrow{animation:tipArrow 1.8s ease-in-out infinite;font-size:13px}
@keyframes tipArrow{0%,100%{transform:translateY(0);opacity:.5}50%{transform:translateY(4px);opacity:1}}
.scope__tab{position:relative}
.scope__tab{
  display:flex;
  align-items:center;
  gap:14px;
  padding:18px 22px;
  border-radius:var(--r-s);
  border:1px solid transparent;
  background:transparent;
  font-family:var(--serif);
  font-size:clamp(17px,1.8vw,21px);
  font-weight:500;
  letter-spacing:-.01em;
  text-align:left;
  color:var(--ink-80);
  transition:background .3s, color .3s, border-color .3s, transform .3s cubic-bezier(.2,.8,.3,1);
}
.scope__tab:hover{background:var(--card);transform:translateX(4px)}
.scope__tab.is-active{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.scope__tab-num{
  font-family:var(--brand);
  font-size:9.5px;
  font-weight:500;
  letter-spacing:.16em;
  opacity:.55;
  flex:none;
}

.scope__panels{
  background:var(--card);
  border-radius:var(--r);
  padding:clamp(26px,3.4vw,44px);
  min-height:340px;
}
.scope__panel-title{
  font-family:var(--serif);
  font-size:clamp(19px,2.1vw,25px);
  font-weight:500;
  letter-spacing:-.01em;
  line-height:1.2;
  padding-bottom:18px;
  margin-bottom:20px;
  border-bottom:1px solid var(--line);
}
.scope__panel[hidden]{display:none}
.scope__panel ul{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px 28px;
}
.scope__panel li{
  position:relative;
  padding-left:26px;
  font-size:14.5px;
  line-height:1.5;
  color:var(--ink-80);
}
.scope__panel.is-active li{animation:scopeItem .5s cubic-bezier(.2,.8,.3,1) backwards;animation-delay:calc(var(--i, 0) * .035s)}
@keyframes scopeItem{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.scope__panel li::before{
  content:"";
  position:absolute;left:0;top:11px;
  width:14px;height:1px;
  background:var(--ink);
  opacity:.45;
}

.scope__cta{
  margin-top:clamp(30px,3.6vw,48px);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:20px;
  flex-wrap:wrap;
}
.scope__cta p{font-family:var(--serif);font-size:clamp(18px,2vw,24px)}

/* =========================================================
   VS — AI чи агенція
   ========================================================= */

.section--vs{background:var(--paper)}
.section__note--center{margin-left:auto;margin-right:auto;text-align:center}
.vs{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(12px,1.6vw,20px);
  align-items:stretch;
}
.vs__card{
  border-radius:var(--r);
  padding:clamp(26px,3vw,38px);
  display:flex;
  flex-direction:column;
}
.vs__card--ai,
.vs__card--free{
  background:var(--card);
  border:1px solid var(--line);
  color:var(--muted);
}
.vs__card--free{background:var(--paper-2)}
.vs__card--we{
  background:var(--ink);
  color:var(--paper);
  box-shadow:0 30px 60px -34px rgba(11,11,12,.8);
}
.vs__badge{
  display:inline-block;
  font-family:var(--brand);
  font-size:9px;
  font-weight:500;
  letter-spacing:.24em;
  text-transform:uppercase;
  padding:8px 15px;
  border-radius:999px;
}
.vs__card--ai .vs__badge,
.vs__card--free .vs__badge{background:rgba(11,11,12,.06);color:var(--muted)}
.vs__card--we .vs__badge{background:rgba(245,243,240,.14);color:var(--paper)}
.vs__card h3{
  margin-top:16px;
  font-family:var(--serif);
  font-size:clamp(20px,2.1vw,27px);
  font-weight:500;
  line-height:1.12;
  letter-spacing:-.02em;
}
.vs__card--ai h3,
.vs__card--free h3{color:var(--ink-80)}
.vs__card ul{
  margin-top:clamp(22px,2.6vw,32px);
  display:grid;
  gap:14px;
}
.vs__card li{
  display:flex;
  gap:12px;
  align-items:flex-start;
  font-size:14px;
  line-height:1.5;
}
.vs__mark{
  flex:none;
  width:24px;height:24px;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:12px;
  line-height:1;
}
.vs__card--ai .vs__mark,
.vs__card--free .vs__mark{background:rgba(11,11,12,.07);color:var(--muted)}
.vs__card--we .vs__mark{background:var(--paper);color:var(--ink);font-weight:700}
.vs__note{
  margin-top:clamp(26px,3vw,40px);
  text-align:center;
  font-family:var(--serif);
  font-size:clamp(17px,2vw,24px);
  letter-spacing:-.01em;
}

/* =========================================================
   EXPERT REELS DAY
   ========================================================= */

.section--reels{background:var(--paper-2)}
.reels{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1fr);
  gap:clamp(28px,5vw,72px);
  align-items:center;
}
.reels__copy .h2{margin-top:4px;line-height:1}
.reels__claim{
  margin-top:20px;
  font-family:var(--serif);
  font-size:clamp(20px,2.3vw,28px);
  line-height:1.25;
  letter-spacing:-.01em;
}
.reels__claim em{font-style:italic;color:var(--muted)}
.reels__sub{
  margin-top:30px;
  padding-bottom:10px;
  border-bottom:1px solid var(--line);
  font-family:var(--brand);
  font-size:9px;
  font-weight:500;
  letter-spacing:.26em;
  text-transform:uppercase;
  color:var(--muted);
}
.reels__list{margin-top:4px;display:grid}
.reels__list li{
  display:flex;
  align-items:center;
  gap:12px;
  padding:13px 0;
  border-bottom:1px solid var(--line);
  font-size:15px;
  color:var(--ink-80);
}
.reels__list li::before{
  content:"";
  flex:none;
  width:18px;height:18px;
  border-radius:50%;
  background-color:var(--ink);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.3 2.3L9.5 3.8' fill='none' stroke='%23F5F3F0' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-size:12px;
  background-repeat:no-repeat;
  background-position:center;
}
.reels .btn{margin-top:30px}
.ph--reels{aspect-ratio:4/3}

/* =========================================================
   VIDEO REVIEWS
   ========================================================= */

.section--video{background:var(--paper-2)}
.videos{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:var(--gap);
}
.vrev{display:flex;flex-direction:column;gap:14px}
.vrev__play{
  position:relative;
  display:block;
  width:100%;
  border-radius:var(--r);
  overflow:hidden;
  transition:transform .35s cubic-bezier(.2,.8,.3,1), box-shadow .35s;
}
.vrev__play:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.vrev__ph{aspect-ratio:9/16;display:flex;border-radius:0}
.vrev__btn{
  position:absolute;
  left:50%;top:50%;
  transform:translate(-50%,-50%);
  width:60px;height:60px;
  border-radius:50%;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(6px);
  transition:transform .35s cubic-bezier(.2,.8,.3,1);
}
.vrev__btn::before{
  content:"";
  position:absolute;
  left:53%;top:50%;
  transform:translate(-50%,-50%);
  border-left:15px solid var(--ink);
  border-top:9px solid transparent;
  border-bottom:9px solid transparent;
}
.vrev__play:hover .vrev__btn{transform:translate(-50%,-50%) scale(1.1)}
.vrev__meta{display:flex;flex-direction:column;gap:3px;padding-left:2px}
.vrev__meta b{
  font-family:var(--serif);
  font-size:17px;
  font-weight:500;
  letter-spacing:-.01em;
}
.vrev__meta span{font-size:12.5px;color:var(--muted)}

/* =========================================================
   CALC — калькулятор вартості
   ========================================================= */

.section--calc{background:var(--paper-2)}
.calc{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.6fr);
  gap:clamp(18px,2.4vw,32px);
  align-items:start;
}

.calc__form{
  background:var(--card);
  border-radius:var(--r);
  padding:clamp(24px,3vw,40px);
  display:grid;
  gap:0;
}
.calc__step + .calc__step{
  margin-top:clamp(22px,2.6vw,32px);
  padding-top:clamp(22px,2.6vw,32px);
  border-top:1px solid var(--line);
}
.calc__label{
  display:flex;
  align-items:center;
  gap:12px;
  font-family:var(--serif);
  font-size:clamp(19px,2vw,24px);
  font-weight:500;
  letter-spacing:-.01em;
  margin-bottom:16px;
}
.calc__label > span{
  font-family:var(--brand);
  font-size:9px;
  letter-spacing:.18em;
  color:var(--paper);
  background:var(--ink);
  border-radius:50%;
  width:26px;height:26px;
  display:flex;align-items:center;justify-content:center;
  flex:none;
}
.calc__count{
  margin-left:auto;
  font-family:var(--brand);
  font-size:11px;
  font-weight:500;
  color:var(--muted);
  background:var(--paper-2);
  border-radius:999px;
  padding:5px 11px;
  font-variant-numeric:tabular-nums;
}

.calc__chips{display:flex;flex-wrap:wrap;gap:9px}
.calc__chip{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
  border:1px solid var(--line);
  border-radius:var(--r-s);
  background:var(--card);
  padding:13px 18px 13px 44px;
  font-size:14px;
  color:var(--ink-80);
  transition:border-color .25s, background .25s, color .25s, transform .2s cubic-bezier(.2,.8,.3,1);
}
.calc__chip::before{
  content:"";
  position:absolute;
  left:16px;top:50%;
  transform:translateY(-50%);
  width:18px;height:18px;
  border:1.4px solid var(--line);
  border-radius:6px;
  background:var(--card);
  transition:background .2s, border-color .2s;
}
.calc__chip::after{
  content:"";
  position:absolute;
  left:21px;top:50%;
  width:8px;height:4px;
  border-left:1.7px solid var(--paper);
  border-bottom:1.7px solid var(--paper);
  transform:translateY(-70%) rotate(-45deg) scale(.4);
  opacity:0;
  transition:opacity .2s, transform .2s cubic-bezier(.2,.8,.3,1);
}
.calc__chip:hover{border-color:var(--ink);transform:translateY(-2px)}
.calc__chip.is-on{border-color:var(--ink);background:var(--paper-2)}
.calc__chip.is-on::before{background:var(--ink);border-color:var(--ink)}
.calc__chip.is-on::after{opacity:1;transform:translateY(-70%) rotate(-45deg) scale(1)}
.calc__chips[data-single] .calc__chip::before{border-radius:50%}
.calc__note{font-size:11px;color:var(--muted)}
.calc__chip.is-on .calc__note{color:var(--muted)}

/* права панель — як чек */
.calc__result{
  position:sticky;
  top:calc(var(--header-h) + 20px);
  background:var(--ink);
  color:var(--paper);
  border-radius:var(--r);
  padding:clamp(24px,2.8vw,34px);
}
.calc__tape{
  height:8px;
  margin:-6px -6px 20px;
  border-radius:99px;
  background:
    radial-gradient(circle at 6px 0, transparent 5px, rgba(245,243,240,.16) 5px) 0 0/14px 8px repeat-x;
}
.calc__result-label{
  font-family:var(--brand);
  font-size:9px;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:rgba(245,243,240,.5);
}
.calc__picked{
  margin-top:16px;
  display:grid;
  gap:0;
  min-height:120px;
}
.calc__picked li{
  display:flex;
  align-items:baseline;
  gap:10px;
  font-size:13.5px;
  color:rgba(245,243,240,.78);
  padding:10px 0;
  border-bottom:1px dashed rgba(245,243,240,.16);
  animation:pickIn .35s cubic-bezier(.2,.8,.3,1) backwards;
}
@keyframes pickIn{from{opacity:0;transform:translateX(-6px)}to{opacity:1;transform:none}}
.calc__picked li::before{
  content:"";
  flex:none;
  width:6px;height:6px;
  border-radius:50%;
  background:rgba(245,243,240,.5);
}
.calc__empty{color:rgba(245,243,240,.35)!important;font-style:italic;border-bottom:0!important}
.calc__empty::before{display:none}

.calc__total{
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid rgba(245,243,240,.3);
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:14px;
}
.calc__total-label{
  font-family:var(--brand);
  font-size:10px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:rgba(245,243,240,.55);
}
.calc__sum{
  font-family:var(--serif);
  font-size:clamp(26px,3.2vw,40px);
  font-weight:500;
  letter-spacing:-.02em;
  line-height:1;
  font-variant-numeric:tabular-nums;
  text-align:right;
}
.calc__hint{margin-top:12px;font-size:12.5px;color:rgba(245,243,240,.55);line-height:1.5}
.calc__result .btn{margin-top:20px;background:var(--paper);color:var(--ink);box-shadow:none}
.calc__result .btn:hover{background:#fff}
.calc__disclaimer{
  margin-top:12px;
  font-size:11.5px;
  line-height:1.5;
  color:rgba(245,243,240,.4);
}

/* =========================================================
   ТЕМНА СЕКЦІЯ
   ========================================================= */

.section--dark{
  background:var(--ink);
  color:var(--paper);
  border-radius:clamp(24px,3vw,40px);
  margin:0 clamp(0px,1.5vw,20px);
}
.section--dark .section__note{color:rgba(245,243,240,.62)}
.section--dark .eyebrow{color:rgba(245,243,240,.5)}
.section--dark .h2 em{color:var(--paper)}

/* =========================================================
   FOUNDER
   ========================================================= */

.founder{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(0,1fr);
  gap:clamp(28px,5vw,80px);
  align-items:start;
}
.founder__media{position:relative}
.founder__stamp{
  position:absolute;
  right:-18px;bottom:-18px;
  width:106px;height:106px;
  border-radius:50%;
  background:var(--card);
  box-shadow:var(--shadow);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  font-family:var(--brand);
  font-size:9px;
  letter-spacing:.14em;
  text-transform:uppercase;
  text-align:center;
  line-height:1.9;
  color:var(--muted);
}
.founder__stamp b{color:var(--ink);font-weight:600}

.founder__copy .h2{margin-bottom:14px}
.founder__copy .h2 em{color:var(--accent)}
.founder__role{
  font-size:14px;
  color:var(--muted);
  padding-bottom:22px;
  margin-bottom:22px;
  border-bottom:1px solid var(--line);
}
.founder__copy p + p{margin-top:16px}
.founder__copy > p{font-size:15.5px;color:var(--ink-80)}
.founder__sub{margin-top:26px !important;font-weight:600;color:var(--ink) !important}

.founder__list{margin-top:14px;display:grid;gap:9px}
.founder__list li{
  position:relative;
  padding-left:24px;
  font-size:15px;
  color:var(--ink-80);
}
.founder__list li::before{
  content:"";
  position:absolute;left:0;top:11px;
  width:12px;height:1px;
  background:var(--accent);
}

.principle{
  margin-top:32px;
  border-left:2px solid var(--accent);
  padding:6px 0 6px 22px;
}
.principle p{
  font-family:var(--serif);
  font-style:italic;
  font-size:clamp(18px,2.1vw,23px);
  line-height:1.4;
}
.principle figcaption{
  margin-top:12px;
  font-size:12px;
  letter-spacing:.06em;
  color:var(--muted);
}

/* =========================================================
   CONTACT
   ========================================================= */

.contact{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,.86fr);
  gap:clamp(24px,4vw,56px);
  align-items:stretch;
  background:var(--paper-2);
  border-radius:clamp(24px,3vw,36px);
  padding:clamp(26px,4vw,52px);
}
.contact__sub{
  margin-top:16px;
  color:var(--muted);
  font-size:15px;
  max-width:44ch;
}
.contact .h2 em{color:var(--accent)}

.form{margin-top:32px;display:grid;gap:12px}

.field{position:relative}
.field input,
.field select{
  width:100%;
  border:1px solid var(--line);
  background:var(--card);
  border-radius:var(--r-s);
  padding:24px 18px 10px;
  font-family:var(--sans);
  font-size:15px;
  color:var(--ink);
  outline:none;
  transition:border-color .25s, box-shadow .25s;
  appearance:none;
}
.field select{cursor:pointer}
.field input:focus,
.field select:focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(11,11,12,.05)}
.field.is-error input,
.field.is-error select{border-color:var(--accent)}

.field label{
  position:absolute;
  left:19px;top:17px;
  font-size:15px;
  color:var(--muted);
  pointer-events:none;
  transition:transform .2s cubic-bezier(.2,.8,.3,1), font-size .2s, color .2s;
  transform-origin:left top;
}
.field input:focus + label,
.field input:not(:placeholder-shown) + label,
.field select:valid + label,
.field select:focus + label{
  transform:translateY(-10px) scale(.72);
  color:var(--muted);
}

.field--select::after{
  content:"";
  position:absolute;
  right:20px;top:50%;
  width:7px;height:7px;
  border-right:1.4px solid var(--muted);
  border-bottom:1.4px solid var(--muted);
  transform:translateY(-70%) rotate(45deg);
  pointer-events:none;
}

.form .btn{margin-top:8px}
.form__hint{
  font-size:12px;
  color:var(--muted);
  text-align:center;
  line-height:1.5;
  max-width:42ch;
  margin:2px auto 0;
}
.form__alt{
  display:flex;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
  font-size:13px;
  color:var(--muted);
  margin-top:6px;
}
.form__alt a{
  color:var(--ink);
  border-bottom:1px solid var(--line);
  transition:border-color .2s;
}
.form__alt a:hover{border-color:var(--ink)}

.contact__media{display:flex}
.contact__media .ph{width:100%}

/* =========================================================
   OUTRO + FOOTER
   ========================================================= */

.outro{
  padding:clamp(70px,9vw,130px) 0;
  text-align:center;
}
.outro__small{
  font-family:var(--brand);
  font-size:11px;
  letter-spacing:.42em;
  text-transform:uppercase;
  color:var(--muted);
}
.outro__big{
  margin-top:26px;
  font-family:var(--serif);
  font-size:clamp(28px,4.4vw,58px);
  line-height:1.14;
  letter-spacing:-.02em;
}
.outro__big em{color:var(--accent)}
.outro__tag{
  margin-top:28px;
  font-family:var(--brand);
  font-size:10.5px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--muted);
}

.footer{
  background:var(--ink);
  color:var(--paper);
  padding:clamp(46px,5vw,70px) 0 26px;
}
.footer__grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1.1fr;
  gap:clamp(24px,3vw,40px);
}
.footer__brand p{
  margin-top:14px;
  font-size:13px;
  color:rgba(245,243,240,.5);
  line-height:1.6;
}
.footer__col{display:flex;flex-direction:column;gap:10px}
.footer__col h4{
  font-family:var(--brand);
  font-size:9px;
  font-weight:500;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:rgba(245,243,240,.42);
  margin-bottom:6px;
}
.footer__col a{
  font-size:14px;
  color:rgba(245,243,240,.82);
  width:fit-content;
  transition:color .2s;
}
.footer__col a:hover{color:#fff}

.footer__socials{display:flex;gap:10px;margin-bottom:6px}
.footer__socials a{
  width:40px;height:40px;
  border:1px solid var(--line-dark);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  transition:background .25s, border-color .25s;
}
.footer__socials a:hover{background:rgba(245,243,240,.1);border-color:rgba(245,243,240,.35)}
.footer__socials svg{width:19px;height:19px}
.footer__cta{margin-top:4px}

.footer__bottom{
  margin-top:clamp(36px,5vw,64px);
  padding-top:22px;
  border-top:1px solid var(--line-dark);
  display:flex;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  font-size:12px;
  color:rgba(245,243,240,.42);
}

/* пастка для спам-ботів — людина її не бачить */
.form__trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}

/* =========================================================
   TOAST
   ========================================================= */

.toast{
  position:fixed;
  left:50%;
  bottom:28px;
  transform:translate(-50%, 24px);
  z-index:90;
  background:var(--ink);
  color:var(--paper);
  padding:14px 24px;
  border-radius:999px;
  font-size:13.5px;
  box-shadow:0 18px 40px -18px rgba(0,0,0,.6);
  opacity:0;
  pointer-events:none;
  transition:opacity .3s, transform .3s cubic-bezier(.2,.8,.3,1);
  max-width:calc(100vw - 40px);
  text-align:center;
}
.toast.is-visible{opacity:1;transform:translate(-50%,0)}

/* =========================================================
   SCROLL-ANIMATION
   ========================================================= */

[data-anim]{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .7s cubic-bezier(.2,.8,.3,1), transform .7s cubic-bezier(.2,.8,.3,1);
}
[data-anim].is-in{opacity:1;transform:none}

/* =========================================================
   АДАПТИВ
   ========================================================= */

/* ---- проміжні десктопні ширини ---- */
@media (max-width: 1180px){
  .nav{gap:16px;font-size:13px}
  .hero__photo{width:clamp(310px, 39%, 560px)}
  .hero__copy{max-width:min(100%, 490px)}
  .hero__title{font-size:clamp(34px, 4.3vw, 52px)}
  .hero__awards{width:200px}
  .award__title{font-size:17px}
  .award__laurel{width:21px;height:54px}
  .quote-card{width:min(248px, 26vw)}
  .videos{grid-template-columns:repeat(3,minmax(0,1fr))}
  .team{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ---- планшети: перший екран стає вертикальним ---- */
@media (max-width: 1024px){
  :root{--header-h:68px}
  .nav{display:none}
  .burger{display:flex}
  .header__actions .btn--sm{display:none}
  .header:not(.is-scrolled) .header__actions .btn--dark{background:var(--ink);color:var(--paper)}

  .hero{
    margin-top:0;
    padding-top:clamp(20px,4vw,40px);
    padding-bottom:clamp(56px,9vw,90px);
    display:flex;
    flex-direction:column;
  }
  .hero__grid{order:1;min-height:0}
  .hero__copy{max-width:none;padding-top:0}
  .hero__title{font-size:clamp(36px,5.6vw,52px)}
  .hero__route{max-width:340px;padding-top:clamp(26px,4vw,38px)}
  .hero__lead br{display:none}
  .hero__lead{max-width:48ch}

  .hero__photo{
    order:2;
    position:relative;
    inset:auto;
    width:auto;
    margin:clamp(24px,4vw,40px) clamp(20px,4vw,40px) 0;
    aspect-ratio:16/10;
    border-radius:var(--r);
    overflow:hidden;
  }
  .hero__photo img{object-position:40% 22%}
  .hero__plate{left:clamp(16px,3vw,26px);bottom:clamp(16px,3vw,26px)}
  .hero__photo::after{background:linear-gradient(to bottom, rgba(12,10,8,.38) 0%, rgba(12,10,8,0) 55%)}

  .hero__awards{
    order:3;
    position:relative;
    top:auto;right:auto;
    width:auto;
    flex-direction:row;
    flex-wrap:wrap;
    justify-content:center;
    gap:18px 30px;
    margin-top:clamp(30px,5vw,48px);
    padding:0 clamp(20px,4vw,40px);
    color:var(--ink);
    text-shadow:none;
  }
  .award{flex:0 1 240px;color:var(--ink);text-shadow:none}
  .award__laurel{width:24px;height:60px;color:var(--muted)}
  .award__label,.award__text{color:var(--muted)}

  .quote-card{
    order:4;
    position:static;
    width:min(360px, 88%);
    margin:clamp(24px,4vw,36px) auto 0;
    box-shadow:var(--shadow);
  }

  .hero__curve{display:none}

  .section__head--split{grid-template-columns:minmax(0,1fr)}
  .section__head--split .section__note{margin-top:18px}
  .founder{grid-template-columns:minmax(0,1fr)}
  .founder__media{max-width:440px}
  .contact{grid-template-columns:minmax(0,1fr)}
  .contact__media{order:-1;max-height:360px;overflow:hidden;border-radius:var(--r)}
  .contact__media .ph{aspect-ratio:auto;min-height:360px}

  .about{grid-template-columns:minmax(0,1fr)}
  .about__media{max-width:420px;width:100%;justify-self:center}
  .reels{grid-template-columns:minmax(0,1fr)}
  .reels__media{order:-1;max-width:none}
  .reels__copy{order:1}
  .audience{grid-template-columns:minmax(0,1fr)}
  .team{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vs{grid-template-columns:minmax(0,1fr)}
  .videos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .calc{grid-template-columns:minmax(0,1fr)}
  .calc__result{position:static}
  .calc__picked{min-height:0}
  .scope{grid-template-columns:minmax(0,1fr)}
  .scope__tabs{flex-direction:row;flex-wrap:wrap}
  .scope__tab{flex:1 1 240px;padding:14px 18px;font-size:17px}
  .scope__panels{min-height:0}
  .vs__head,.vs__row{grid-template-columns:minmax(0,1fr)}
  .vs__topic{padding-bottom:6px;font-size:19px}
  .vs__cell{border-left:0}
  .vs__head{display:none}
  .vs__cell--ai::after{content:"тільки AI";margin-left:auto;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
  .vs__cell--we::after{content:"HardElite";margin-left:auto;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
}

@media (max-width: 900px){
  .full-cycle{display:block}
  .full-cycle .dash{display:none}
  .footer__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
}

@media (max-width: 620px){
  /* ---- перший екран ---- */
  .hero{padding-bottom:clamp(48px,10vw,72px)}
  .hero__title{font-size:clamp(38px,9.4vw,52px);line-height:1.03}
  .hero__lead{font-size:15px}
  .btn--hero{width:100%;padding:20px 32px}
  .hero__route{max-width:none;padding-top:30px}
  .hero__route-text{font-size:8px;letter-spacing:.16em}

  /* фото на всю ширину екрана — головний акцент мобільної версії */
  .hero__photo{
    margin-inline:0;
    border-radius:0;
    aspect-ratio:4/5;
  }
  .hero__photo img{object-position:42% 20%}
  .hero__plate{
    left:var(--gutter);
    bottom:var(--gutter);
    padding:13px 18px 14px;
  }
  .hero__plate-name{font-size:18px}

  .hero__awards{gap:20px}
  .award{flex:1 1 100%;max-width:290px}
  .quote-card{width:min(340px,92%)}

  /* ---- послуги: один стовпчик ---- */
  .full-cycle{font-size:19px;margin-top:30px}


  /* ---- решта ---- */
  .audience{gap:12px}
  .aud{grid-template-columns:minmax(0,1fr);padding:12px}
  .aud__ph{aspect-ratio:4/3}
  .aud__body{padding:4px 6px 10px}
  .team{grid-template-columns:minmax(0,1fr)}
  .videos{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .vrev__btn{width:46px;height:46px}
  .vrev__btn::before{border-left-width:12px;border-top-width:7px;border-bottom-width:7px}
  .hint{display:none}
  .scope__panel ul{grid-template-columns:minmax(0,1fr)}
  .scope__tab{flex:1 1 100%}
  .slide{grid-template-columns:minmax(0,1fr);grid-template-areas:"ico" "num" "title" "sub" "list";gap:0}
  .slide__ico{width:50px;height:50px}
  .slide__num{margin-top:18px}
  .slide__title{margin-top:8px}
  .slide__list{grid-template-columns:minmax(0,1fr);gap:12px}
  .slide{padding:22px 20px 26px}
  .deck__swipe{display:block}

  /* навігація у два ряди — великі зони натискання */
  .deck__nav{
    grid-template-columns:auto minmax(0,1fr);
    grid-template-areas:
      "center center"
      "prev    next";
    gap:16px 10px;
    margin-top:14px;
    padding-top:16px;
    border-top:1px solid var(--line-dark);
  }
  .deck__center{grid-area:center}
  #deckPrev{
    grid-area:prev;
    width:56px;height:56px;
    padding:0;
    justify-content:center;
    font-size:17px;
  }
  #deckNext{
    grid-area:next;
    justify-content:center;
    padding:18px 20px;
    font-size:15px;
  }
  .deck__close{display:none}
  .deck__label{display:none}

  /* чекбокси більше не наїжджають на текст */
  .calc__chip{padding:13px 16px 13px 44px;font-size:13.5px}
  .calc__chips[data-multi]{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
  .calc__chips[data-multi] .calc__chip{width:100%}
  .calc__chips[data-single] .calc__chip{flex:1 1 calc(50% - 5px)}
  .about__claim{font-size:clamp(24px,6.6vw,32px)}
  .about__closing{display:block}
  .about__closing .dash{display:none}
  .stepper{padding-left:0}
  .stepper__rail{left:19px}
  .step__head{grid-template-columns:40px minmax(0,1fr) 20px;gap:14px;padding:12px 12px 12px 0}
  .step__dot{width:40px;height:40px}
  .step__dot svg{width:19px;height:19px}
  .step__body ul{margin-left:54px;font-size:14px}
  .founder__stamp{width:84px;height:84px;right:-8px;bottom:-12px;font-size:8px}
  .section--dark{border-radius:20px;margin:0}
  .footer__bottom{justify-content:flex-start;flex-direction:column;gap:8px}
  .section__actions{width:100%}
  .section__actions .btn{flex:1 1 100%}
}

@media (prefers-reduced-motion: reduce){
  .hero__eyebrow,.hero__title-1,.hero__title-2,.hero__script,.hero__lead,
  .btn--hero,.hero__route,.hero__awards,.quote-card,.hero__plate,
  .hero__photo img{animation:none}
  *{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
  html{scroll-behavior:auto}
  [data-anim]{opacity:1;transform:none}
  .reveal-text .w{color:var(--ink)}
}
