  :root{
    --deep:    oklch(0.06 0.015 340);
    --bg:      oklch(0.10 0.022 340);
    --surface: oklch(0.14 0.028 340);
    --surface-2: oklch(0.19 0.032 340);
    --hair:    oklch(0.30 0.03 340 / .35);
    --line:    oklch(0.35 0.02 340 / .16);
    --ink:     oklch(0.97 0.008 340);
    --ink-dim: oklch(0.85 0.012 340);
    --muted:   oklch(0.65 0.016 340);
    --sub:     oklch(0.52 0.018 340);

    --pink:    oklch(0.72 0.235 0);
    --pink-ink: oklch(0.56 0.22 5);
    --gold:    oklch(0.85 0.17 92);
    --gold-ink: oklch(0.70 0.18 78);

    --sp-1: 4px;  --sp-2: 8px;   --sp-3: 12px; --sp-4: 16px;
    --sp-5: 24px; --sp-6: 32px;  --sp-7: 48px; --sp-8: 64px;
    --sp-9: 96px; --sp-10: 144px;

    --display: 'Unbounded', ui-sans-serif, system-ui, sans-serif;
    --tag:     'Caveat Brush', cursive;
    --body:    'Golos Text', ui-sans-serif, system-ui, sans-serif;

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

  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth;overflow-x:clip}
  body{
    background:var(--bg);color:var(--ink);
    font-family:var(--body);font-weight:400;font-size:16px;line-height:1.55;
    -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
    overflow-x:clip;
  }
  img,svg{display:block;max-width:100%}
  a{color:inherit;text-decoration:none}
  button{font:inherit;cursor:pointer;background:0;border:0;color:inherit}
  ::selection{background:var(--pink);color:var(--deep)}

  body::before{
    content:"";position:fixed;inset:0;z-index:2;pointer-events:none;opacity:.09;mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='260' height='260'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.4' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .6 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  }

  #stars{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;
    background:
      radial-gradient(1200px 600px at 80% -10%, oklch(0.18 0.09 340 / .7), transparent 60%),
      radial-gradient(1000px 500px at -10% 110%, oklch(0.16 0.08 340 / .6), transparent 55%),
      radial-gradient(500px 500px at 50% 50%, oklch(0.12 0.04 40 / .35), transparent 70%),
      var(--bg);
  }

  .scribble{
    position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.05;mix-blend-mode:screen;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='900' height='900'><g fill='none' stroke='%23ffffff' stroke-width='1.3' stroke-linecap='round'><path d='M40 820 q120 -80 260 -30 t320 20 q120 10 240 -60'/><path d='M20 120 q180 -40 320 10 t320 -30 q120 -10 220 50'/><path d='M120 430 q220 140 440 0 t420 60'/><text x='60' y='300' font-family='Arial' font-size='150' font-weight='900' fill='%23ffffff' opacity='.4' transform='rotate(-6 60 300)'>★</text><text x='700' y='700' font-family='Arial' font-size='120' font-weight='900' fill='%23ffffff' opacity='.4' transform='rotate(14 700 700)'>$</text></g></svg>");
    background-size:900px 900px;
  }

  .container{max-width:1360px;margin:0 auto;padding:0 clamp(20px, 4vw, 48px);position:relative;z-index:3}

  header.nav{position:fixed;top:0;left:0;right:0;z-index:50;padding:var(--sp-5) 0}
  header.nav::before{content:"";position:absolute;inset:0;opacity:0;transition:opacity .3s;background:color-mix(in oklch, var(--deep) 72%, transparent);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);border-bottom:1px solid var(--line);pointer-events:none;z-index:-1}
  header.nav.scrolled::before{opacity:1}
  .nav-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-5)}
  .brand{display:flex;align-items:center;gap:var(--sp-3)}
  .brand img{width:48px;height:auto;filter:drop-shadow(0 6px 20px oklch(0.72 0.235 0 / .35))}
  .brand-wordmark{font-family:var(--display);font-weight:900;font-size:20px;letter-spacing:.08em;line-height:1}
  .brand-wordmark small{display:block;font-family:var(--body);font-weight:500;font-size:10px;letter-spacing:.32em;color:var(--muted);margin-top:5px}

  nav.menu{display:flex;gap:var(--sp-7);font-size:16px;font-weight:500}
  nav.menu a{position:relative;color:var(--ink-dim);transition:color .24s var(--ease-out)}
  nav.menu a:hover{color:var(--ink)}
  nav.menu a::after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:var(--pink);transition:right .35s var(--ease-out)}
  nav.menu a:hover::after{right:0}

  /* Группа действий справа в шапке: телефон + CTA */
  .nav-actions{display:flex;align-items:center;gap:var(--sp-3)}

  .phone-tag{
    font-family:var(--body);font-weight:700;font-size:15px;letter-spacing:.02em;color:var(--ink);
    display:inline-flex;align-items:center;gap:10px;
    padding:11px 18px 11px 14px;
    background:color-mix(in oklch, var(--gold) 12%, transparent);
    border:1px solid color-mix(in oklch, var(--gold) 45%, var(--line));
    border-radius:999px;white-space:nowrap;
    box-shadow:0 0 0 0 color-mix(in oklch, var(--gold) 50%, transparent);
    transition:transform .3s var(--ease-out), background .3s, border-color .3s, box-shadow .3s, color .3s;
  }
  .phone-tag::before{
    content:"";display:inline-block;width:18px;height:18px;flex:none;
    background:currentColor;
    -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M22 16.92v3a2 2 0 0 1-2.18 2 19.8 19.8 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.8 19.8 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.8 12.8 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.8 12.8 0 0 0 2.81.7 2 2 0 0 1 1.72 2z'/></svg>") center/contain no-repeat;
            mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M22 16.92v3a2 2 0 0 1-2.18 2 19.8 19.8 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.8 19.8 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.8 12.8 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.8 12.8 0 0 0 2.81.7 2 2 0 0 1 1.72 2z'/></svg>") center/contain no-repeat;
    color:var(--gold);
  }
  .phone-tag:hover{
    transform:translateY(-1px);
    background:color-mix(in oklch, var(--gold) 22%, transparent);
    border-color:var(--gold);
    box-shadow:0 8px 24px -10px color-mix(in oklch, var(--gold) 55%, transparent);
  }

  /* CTA «Записаться» в шапке */
  .nav-cta{
    display:inline-flex;align-items:center;gap:8px;
    padding:12px 20px;border-radius:999px;
    background:var(--gold);color:var(--deep);
    font-family:var(--body);font-weight:700;font-size:14px;letter-spacing:.06em;text-transform:uppercase;
    white-space:nowrap;
    box-shadow:
      0 0 0 1px color-mix(in oklch, var(--gold) 40%, transparent),
      0 10px 24px -8px color-mix(in oklch, var(--gold) 55%, transparent);
    transition:transform .3s var(--ease-out), box-shadow .3s, background .3s;
  }
  .nav-cta:hover{
    transform:translateY(-2px);
    background:color-mix(in oklch, var(--gold) 80%, white);
    box-shadow:
      0 0 0 1px var(--gold),
      0 14px 30px -6px color-mix(in oklch, var(--gold) 70%, transparent);
  }
  .nav-cta svg{width:16px;height:16px}

  .burger{display:none;width:44px;height:44px;border-radius:12px;border:1px solid var(--line);color:var(--ink)}
  .burger span{display:block;width:18px;height:2px;margin:4px auto;background:currentColor;border-radius:2px}

  @media (max-width:920px){
    nav.menu{
      position:fixed;left:0;right:0;top:0;bottom:0;z-index:49;
      display:flex;flex-direction:column;align-items:flex-start;justify-content:center;
      gap:var(--sp-5);padding:clamp(80px,18vw,120px) clamp(20px,6vw,40px) var(--sp-7);
      background:color-mix(in oklch, var(--deep) 94%, black);
      backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);
      transform:translateY(-110%);transition:transform .4s var(--ease-out);
      font-size:28px;
    }
    nav.menu.open{transform:translateY(0)}
    nav.menu a{color:var(--ink);font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:.02em;font-size:clamp(28px,7vw,42px)}
    .nav-cta{display:none}
    .phone-tag{padding:9px 14px 9px 12px;font-size:13px;gap:7px}
    .phone-tag::before{width:15px;height:15px}
    .burger{display:inline-grid;place-items:center;position:relative;z-index:51}
    .burger.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
    .burger.open span:nth-child(2){opacity:0}
    .burger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
    .burger span{transition:transform .3s var(--ease-out), opacity .2s}
  }
  @media (max-width:760px){
    .nav-inner{gap:var(--sp-3)}
    .brand{min-width:0;flex:0 1 auto}
    .brand-wordmark{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .brand-wordmark small{display:none}
    .brand img{width:34px}
    .phone-tag{padding:8px 12px 8px 11px;font-size:12px;gap:6px;letter-spacing:.02em;flex:0 0 auto}
    .phone-tag::before{width:13px;height:13px}
    .burger{width:40px;height:40px;flex:0 0 auto}
  }
  @media (max-width:420px){
    .brand-wordmark{font-size:14px}
    .phone-tag{padding:7px 10px 7px 9px;font-size:11px}
    .phone-tag::before{width:12px;height:12px}
  }

  /* HERO */
  .hero{position:relative;padding:clamp(120px, 18vw, 220px) 0 var(--sp-9);min-height:92vh;display:flex;align-items:center;overflow:clip}

  .hero-bleed{
    position:absolute;left:50%;top:4%;width:min(92%, 1520px);aspect-ratio:3.4/1;
    background:url(../img/bg/wall.webp) center center/cover no-repeat;
    opacity:.14;mix-blend-mode:lighten;
    mask-image:
      linear-gradient(90deg, transparent 0%, black 22%, black 78%, transparent 100%),
      linear-gradient(180deg, transparent 0%, black 18%, black 82%, transparent 100%);
    mask-composite:intersect;-webkit-mask-composite:source-in;
    filter:saturate(1.15) contrast(1.1);
    transform:translateX(-50%) rotate(-1.5deg);
    pointer-events:none;z-index:1;
  }
  .hero-bleed-2{
    position:absolute;left:-8%;bottom:-10%;width:min(46%, 620px);aspect-ratio:3/1;
    background:url(../img/bg/wall.webp) left center/cover no-repeat;
    opacity:.08;mix-blend-mode:screen;
    mask-image:
      linear-gradient(90deg, transparent 0%, black 30%, black 85%, transparent 100%),
      linear-gradient(0deg, transparent 0%, black 40%);
    mask-composite:intersect;-webkit-mask-composite:source-in;
    filter:saturate(1.2) contrast(1.05) hue-rotate(-10deg);
    transform:rotate(3deg);
    pointer-events:none;z-index:1;
  }

  .hero-grid{
    display:grid;grid-template-columns:1fr;gap:var(--sp-8);width:100%;position:relative;z-index:3;
    text-align:center;
  }
  .hero-grid .eyebrow{justify-self:center}
  .hero-grid .hero-lede{margin-left:auto;margin-right:auto}
  .hero-grid .hero-cta{justify-self:center;justify-content:center}
  .hero-grid .hero-meta{justify-items:center}

  .eyebrow{
    display:inline-flex;align-items:center;gap:var(--sp-3);
    font-family:var(--body);font-weight:500;font-size:12px;letter-spacing:.26em;text-transform:uppercase;
    color:var(--muted);
  }
  .eyebrow::before{content:"";width:28px;height:1px;background:var(--pink)}
  .eyebrow::after{content:"";width:6px;height:6px;background:var(--pink);border-radius:50%;box-shadow:0 0 14px var(--pink)}

  .hero h1{
    font-family:var(--display);font-weight:900;
    font-size:clamp(44px, 11vw, 148px);
    line-height:.92;letter-spacing:-.035em;
    color:var(--ink);
    margin:var(--sp-6) 0 var(--sp-4);
    text-transform:uppercase;position:relative;
    white-space:nowrap;
  }
  .hero h1 .char{
    display:inline-block;position:relative;will-change:transform,color,text-shadow;
    transition:
      color 1800ms cubic-bezier(.33,0,.25,1),
      text-shadow 1800ms cubic-bezier(.33,0,.25,1),
      transform 500ms cubic-bezier(.16,1,.3,1);
  }
  .hero h1 .char:hover{
    color:oklch(0.95 0.15 60);
    transform:translateY(-14px) rotate(-3deg);
    transition:
      color 1100ms cubic-bezier(.45,0,.3,1),
      text-shadow 1100ms cubic-bezier(.45,0,.3,1),
      transform 320ms cubic-bezier(.16,1,.3,1);
    text-shadow:
      0 0 8px oklch(1 0 0 / .95),
      0 0 20px oklch(0.95 0.15 60 / .95),
      0 0 44px oklch(0.85 0.17 92 / .8),
      0 0 80px oklch(0.72 0.235 0 / .7);
  }
  .hero h1 .char:nth-child(2n):hover,
  .hero h1 .s-dust .char:nth-child(2n):hover{transform:translateY(-14px) rotate(3deg)}
  .hero h1 .s-dust{color:var(--pink);text-shadow:-3px 4px 0 var(--deep)}
  .hero h1 .s-dust .char:hover{color:oklch(0.96 0.13 30)}
  .hero h1 .outlined{color:transparent;-webkit-text-stroke:2px var(--ink)}

  .hero h1 + .tagline{
    font-family:var(--tag);font-size:clamp(18px, 2.4vw, 32px);color:var(--gold);
    transform:rotate(-2.2deg);display:inline-block;margin-top:var(--sp-3);
    text-shadow:0 3px 0 var(--deep), 0 0 32px oklch(0.85 0.17 92 / .4);
  }

  .hero-meta{
    margin-top:var(--sp-7);display:flex;flex-direction:column;
    align-items:center;gap:var(--sp-5);
  }
  .hero-lede{max-width:52ch;font-family:var(--body);font-weight:400;font-size:clamp(16px, 1.25vw, 19px);line-height:1.6;color:var(--ink-dim);letter-spacing:-.005em}
  .hero-lede em{font-style:normal;color:var(--pink);font-family:var(--body);font-weight:600;font-size:1em}
  .hero-lede b{font-weight:600;color:var(--ink)}

  .hero-cta{display:flex;gap:var(--sp-4);flex-wrap:wrap;align-items:center;justify-self:end}
  .btn{
    display:inline-flex;align-items:center;gap:var(--sp-3);
    padding:14px 22px;border-radius:999px;
    font-family:var(--body);font-weight:600;font-size:13px;letter-spacing:.02em;
    transition:transform .3s var(--ease-out), background .3s, border-color .3s, box-shadow .3s, color .3s;
    position:relative;
  }
  .btn-primary{background:var(--pink);color:var(--deep)}
  .btn-primary:hover{transform:translateY(-3px);background:oklch(0.78 0.24 5)}
  .btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
  .btn-ghost:hover{border-color:var(--ink);background:color-mix(in oklch, var(--ink) 6%, transparent)}
  .btn svg{width:18px;height:18px}

  /* HERO CTA — выраженные кнопки */
  .hero-cta .btn{
    padding:20px 34px;font-size:15px;font-weight:700;
    letter-spacing:.06em;text-transform:uppercase;
  }
  .hero-cta .btn svg{width:22px;height:22px}
  .hero-cta .btn-primary{
    box-shadow:
      0 0 0 1px color-mix(in oklch, var(--pink) 50%, transparent),
      0 14px 30px -6px color-mix(in oklch, var(--pink) 55%, transparent),
      0 0 70px -8px color-mix(in oklch, var(--pink) 70%, transparent);
  }
  .hero-cta .btn-primary:hover{
    transform:translateY(-3px);
    box-shadow:
      0 0 0 1px color-mix(in oklch, var(--pink) 65%, transparent),
      0 20px 40px -8px color-mix(in oklch, var(--pink) 70%, transparent),
      0 0 100px -6px color-mix(in oklch, var(--pink) 80%, transparent);
  }
  .hero-cta .btn-ghost{
    color:var(--gold);
    border:2px solid color-mix(in oklch, var(--gold) 70%, transparent);
    background:color-mix(in oklch, var(--gold) 6%, transparent);
    box-shadow:inset 0 0 0 1px color-mix(in oklch, var(--gold) 18%, transparent);
  }
  .hero-cta .btn-ghost:hover{
    transform:translateY(-3px);
    color:var(--deep);
    background:var(--gold);
    border-color:var(--gold);
  }

  .hero-scrolldown{
    position:absolute;left:max(20px, 4vw);bottom:var(--sp-7);z-index:3;
    font-family:var(--body);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);
    display:flex;align-items:center;gap:var(--sp-3);
  }
  .hero-scrolldown::before{content:"";width:30px;height:1px;background:var(--muted);animation:scroll-hint 2.6s var(--ease-out) infinite}
  @keyframes scroll-hint{0%,100%{transform:scaleX(0);transform-origin:left}50%{transform:scaleX(1)}}

  @media (max-width:820px){
    .hero-meta{grid-template-columns:1fr;gap:var(--sp-5)}
    .hero-cta{justify-self:start}
  }

  @media (max-width:760px){
    .hero{padding:140px 0 var(--sp-7);min-height:auto}
    .hero-grid{gap:var(--sp-5)}
    .hero h1{margin:var(--sp-3) 0 var(--sp-2)}
    .hero-meta{margin-top:var(--sp-4);gap:var(--sp-4)}
    .hero-bleed{top:2%}
    .hero-scrolldown{display:none}
    .hero-cta{gap:var(--sp-3);margin-top:var(--sp-5)}
    .hero-cta .btn{padding:13px 22px;font-size:12px;letter-spacing:.05em}
    .hero-cta .btn svg{width:16px;height:16px}
  }

  /* CHARS */
  .char-svg{position:absolute;pointer-events:none;z-index:2;will-change:transform;
    filter:drop-shadow(0 24px 36px oklch(0.05 0.015 340 / .55));
  }
  img.char-svg{display:block;object-fit:contain}
  .char-svg.float{animation:float 7s ease-in-out infinite}
  .char-svg.float-slow{animation:float 11s ease-in-out infinite}
  @keyframes float{0%,100%{transform:translate(0,0) rotate(var(--r,0deg))}50%{transform:translate(0,-14px) rotate(calc(var(--r,0deg) + 3deg))}}

  .char-duck{top:6%;left:3%;width:clamp(130px,14vw,200px);--r:-8deg;transform:rotate(-8deg);opacity:.92}
  .char-mouse{bottom:14%;left:8%;width:clamp(100px,11vw,160px);--r:-12deg;transform:rotate(-12deg);opacity:.18}
  .char-duck-atelier{top:20px;right:3%;width:clamp(110px,11vw,170px);--r:8deg;transform:rotate(8deg);opacity:.92;z-index:2}
  .char-duck-svc{top:-40px;right:4%;width:clamp(100px,10vw,160px);--r:-6deg;transform:rotate(-6deg);opacity:.92;z-index:4}
  .char-muscle-gallery{top:40px;left:3%;width:clamp(110px,11vw,170px);--r:-10deg;transform:rotate(-10deg);opacity:.94;z-index:2}
  .char-dollar-contact{bottom:40px;right:2%;width:clamp(100px,10vw,160px);--r:8deg;transform:rotate(8deg);opacity:.92;z-index:2}

  .bag{
    position:absolute;bottom:2%;right:6%;width:clamp(120px, 14vw, 200px);z-index:2;
    transform:rotate(-10deg);filter:drop-shadow(0 20px 40px oklch(0.72 0.235 0 / .45));
    animation:bob 6s ease-in-out infinite;pointer-events:none;opacity:.18;
  }
  @keyframes bob{0%,100%{transform:rotate(-10deg) translateY(0)}50%{transform:rotate(-7deg) translateY(-12px)}}

  /* MARQUEE */
  .marquee{
    border-top:1px solid var(--line);border-bottom:1px solid var(--line);
    padding:var(--sp-5) 0;overflow:hidden;white-space:nowrap;background:var(--deep);
    font-family:var(--display);font-weight:900;font-size:clamp(22px, 4vw, 48px);
    letter-spacing:.02em;text-transform:uppercase;color:var(--ink);position:relative;z-index:3;
  }
  .marquee .track{display:inline-flex;gap:0;animation:slide 38s linear infinite;will-change:transform}
  .marquee .track > span{display:inline-flex;align-items:center;gap:var(--sp-7);padding-right:var(--sp-7)}
  .marquee .track em{color:var(--pink);font-style:normal;font-family:var(--tag);font-size:.7em;transform:rotate(-2deg);display:inline-block}
  .marquee .track i{color:var(--gold);font-style:normal;font-family:var(--tag);font-size:.7em;transform:rotate(2deg);display:inline-block}
  .marquee .track svg{width:.8em;height:.8em;color:var(--pink)}
  @keyframes slide{to{transform:translateX(-50%)}}

  /* SECTIONS */
  section{padding:clamp(100px, 12vw, 180px) 0;position:relative;z-index:3}
  .sec-head{display:grid;grid-template-columns:2fr 1fr;gap:var(--sp-7);align-items:end;margin-bottom:var(--sp-8)}
  .sec-kicker{
    font-family:var(--tag);font-size:clamp(16px, 1.8vw, 24px);color:var(--pink);
    transform:rotate(-2deg);display:inline-block;margin-bottom:var(--sp-3);
  }
  .sec-title{
    font-family:var(--display);font-weight:900;text-transform:uppercase;
    font-size:clamp(40px, 6.5vw, 96px);line-height:.92;letter-spacing:-.02em;
  }
  .sec-title .outlined{color:transparent;-webkit-text-stroke:2px var(--ink);}
  .sec-note{color:var(--muted);font-size:15px;line-height:1.6;max-width:38ch;justify-self:end;align-self:end}

  @media (max-width:760px){
    .sec-head{grid-template-columns:1fr;gap:var(--sp-4)}
    .sec-note{justify-self:start}
    /* На мобилке чистим — меньше декора, больше дыхания */
    .char-svg.char-duck-svc,
    .char-svg.char-muscle-gallery,
    .char-svg.char-duck-atelier,
    .char-svg.char-dollar-contact,
    .char-svg.char-mouse,
    .char-svg.bag{display:none}
  }

  /* MANIFESTO */
  .manifesto{background:var(--deep);padding:clamp(70px, 7vw, 110px) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;overflow:hidden}
  .manifesto > .container{position:relative;z-index:2}
  .manifesto-grid{display:grid;grid-template-columns:minmax(260px, 1fr) minmax(0, 1.2fr);gap:clamp(var(--sp-6), 5vw, var(--sp-8));align-items:start}
  .manifesto-head{display:flex;flex-direction:column;gap:var(--sp-6);position:sticky;top:calc(var(--sp-7) + 70px)}
  .manifesto h2{font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:clamp(32px,3.8vw,60px);line-height:.92;letter-spacing:-.02em}
  .manifesto h2 em{font-style:normal;font-family:var(--tag);color:var(--pink);font-size:.72em;display:inline-block;transform:rotate(-3deg)}
  .manifesto p{font-size:clamp(16px, 1.15vw, 18px);line-height:1.6;color:var(--ink-dim);max-width:56ch}
  .manifesto p + p{margin-top:var(--sp-4)}
  .manifesto .stamp{
    align-self:flex-start;
    font-family:var(--tag);color:var(--gold);font-size:18px;transform:rotate(-4deg);
    border:2px solid var(--gold);padding:6px 14px 8px;border-radius:4px;
  }
  @media (max-width:860px){
    .manifesto-grid{grid-template-columns:1fr;gap:var(--sp-5)}
    .manifesto-head{position:static;gap:var(--sp-4)}
  }

  /* WALL */
  .wall{position:relative;padding:0;z-index:3;overflow:hidden}
  .wall-canvas{
    position:relative;height:clamp(460px, 70vw, 780px);
    background:url(../img/bg/wall.webp) center/cover no-repeat var(--deep);
    border-top:2px solid var(--deep);border-bottom:2px solid var(--deep);
    overflow:hidden;
  }
  .wall-canvas::before{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:
      radial-gradient(900px 400px at 50% 50%, oklch(0.04 0.015 340 / .88) 0%, oklch(0.05 0.015 340 / .55) 45%, transparent 80%),
      linear-gradient(180deg, oklch(0.05 0.015 340 / .55) 0%, oklch(0.04 0.015 340 / .3) 20%, oklch(0.04 0.015 340 / .3) 80%, oklch(0.05 0.015 340 / .7) 100%);
  }
  .wall-canvas::after{
    content:"";position:absolute;inset:0;pointer-events:none;opacity:.4;mix-blend-mode:multiply;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='2.2' numOctaves='2'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .7 0'/></filter><rect width='100%' height='100%' filter='url(%23g)'/></svg>");
  }
  .wall-headline{
    position:absolute;inset:0;display:grid;place-items:center;text-align:center;z-index:3;
    padding:var(--sp-6);
  }
  .wall-headline h2{
    font-family:var(--tag);color:var(--gold);
    font-size:clamp(42px, 8vw, 130px);line-height:.92;letter-spacing:.01em;
    transform:rotate(-2.5deg);
    text-shadow:
      -3px 3px 0 var(--deep),
      -6px 6px 0 oklch(0.72 0.235 0),
      -9px 9px 0 var(--deep),
      0 0 60px oklch(0.85 0.17 92 / .5);
  }
  .wall-headline h2 b{font-weight:400;color:var(--pink);display:block;font-size:.62em;transform:rotate(4deg);margin-top:-.1em}
  .wall-sticker{
    position:absolute;z-index:4;
    font-family:var(--tag);padding:10px 20px 14px;border-radius:3px;
    box-shadow:0 18px 30px oklch(0.05 0.015 340 / .55);
    transform:rotate(var(--rot, -4deg));
    max-width:280px;line-height:1.15;
  }
  .wall-sticker.pink{background:var(--pink);color:var(--deep);font-size:15px}
  .wall-sticker.gold{background:var(--gold);color:var(--deep);font-size:14px}
  .wall-sticker.black{background:var(--deep);color:var(--ink);border:2px solid var(--pink);font-size:16px}
  .wall-sticker small{display:block;font-family:var(--body);font-weight:600;font-size:10px;letter-spacing:.2em;text-transform:uppercase;opacity:.7;margin-top:2px}
  .wall-sticker.s1{top:8%;left:5%;--rot:-7deg}
  .wall-sticker.s2{top:12%;right:6%;--rot:5deg}
  .wall-sticker.s3{bottom:16%;left:8%;--rot:-3deg}
  .wall-sticker.s4{bottom:10%;right:4%;--rot:4deg}
  .wall-sticker.s5{top:48%;left:3%;--rot:-10deg}
  .wall-chars{position:absolute;inset:0;z-index:4;pointer-events:none}
  .wall-chars .char-svg{position:absolute}
  .wall-chars .wc1{top:14%;left:28%;width:clamp(90px, 9vw, 130px);--r:-6deg;transform:rotate(-6deg)}
  .wall-chars .wc2{bottom:20%;right:30%;width:clamp(80px, 8vw, 120px);--r:8deg;transform:rotate(8deg)}

  @media (max-width:760px){.wall{display:none}}

  /* FOOTER STRIP */
  .footer-strip{
    position:relative;height:clamp(140px, 18vw, 220px);overflow:hidden;
    background:url(../img/bg/wall.webp) center 30%/cover no-repeat var(--deep);
    border-top:1px solid var(--line);border-bottom:1px solid var(--line);
    margin-top:var(--sp-8);
  }
  .footer-strip::before{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(180deg, oklch(0.05 0.015 340 / .75) 0%, oklch(0.05 0.015 340 / .35) 50%, oklch(0.05 0.015 340 / .9) 100%);
  }
  .footer-strip-text{
    position:absolute;inset:0;display:grid;place-items:center;z-index:2;
    font-family:var(--display);font-weight:900;font-size:clamp(36px, 7vw, 104px);
    color:var(--ink);text-transform:uppercase;letter-spacing:-.02em;line-height:.9;
    mix-blend-mode:difference;
  }
  .footer-strip-text em{font-family:var(--tag);color:var(--pink);font-size:.55em;font-style:normal;display:inline-block;transform:rotate(-3deg);margin-left:.2em;vertical-align:.2em}

  /* SERVICES — tiles with soft glow edges + white Milky Way hover */
  .svc-layout{display:block;position:relative}
  .svc-list{
    list-style:none;display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:var(--sp-3) var(--sp-5);
  }
  .svc-list li{
    position:relative;isolation:isolate;
    display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--sp-4);
    padding:clamp(18px, 2vw, 30px) clamp(22px, 2.6vw, 38px);
    border:0;border-radius:0;
    /* минимально заметный ореол — едва читается, без ощущения рамки */
    background:radial-gradient(ellipse 65% 100% at 50% 50%,
      rgba(255,255,255,.018) 0%,
      rgba(255,255,255,.008) 45%,
      transparent 80%);
    cursor:pointer;
    transition:transform .5s var(--ease-out), opacity .4s, filter .4s;
  }
  .svc-list .name{
    position:relative;z-index:2;
    font-family:var(--display);font-weight:900;text-transform:uppercase;
    font-size:clamp(20px, 2vw, 30px);line-height:1.02;letter-spacing:-.01em;
    overflow-wrap:break-word;
    transition:color .4s, text-shadow .4s, transform .5s var(--ease-out);
  }
  .svc-list .price{position:relative;z-index:2;font-family:var(--tag);font-size:clamp(14px, 1.2vw, 19px);color:var(--gold);white-space:nowrap;transform:rotate(-2deg);transition:transform .4s, text-shadow .4s}

  .svc-list .svc-link{position:absolute;inset:0;z-index:10;border-radius:inherit}
  .svc-list li:focus-within{outline:1px solid color-mix(in oklch, var(--gold) 50%, transparent);outline-offset:-1px}
  .svc-list li:hover .num{color:color-mix(in oklch, var(--ink) 80%, transparent)}
  .svc-list li:hover .name{color:var(--ink);transform:translateX(6px)}
  .svc-list li:hover .price{transform:rotate(-2deg) scale(1.03)}

  @media (max-width:1100px){
    .svc-list{gap:var(--sp-3)}
  }
  @media (max-width:760px){
    .svc-list{grid-template-columns:1fr}
    .svc-list li{padding:var(--sp-4) var(--sp-5)}
  }

  /* PRICING POSTERS */
  .pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-5);align-items:stretch}
  .poster{
    position:relative;padding:var(--sp-7) var(--sp-6) var(--sp-6);
    background:var(--surface);border:1px solid var(--line);
    border-radius:6px;overflow:hidden;isolation:isolate;
    display:flex;flex-direction:column;
    transition:transform .5s var(--ease-out);
  }
  .poster::before{
    content:"";position:absolute;inset:0;opacity:.35;pointer-events:none;z-index:-2;
    background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='p'><feTurbulence type='fractalNoise' baseFrequency='2.2' numOctaves='2'/><feColorMatrix values='0 0 0 0 0.08 0 0 0 0 0.08 0 0 0 0 0.1 0 0 0 .6 0'/></filter><rect width='100%' height='100%' filter='url(%23p)'/></svg>");
  }
  /* Бэкграунд-персонаж тарифа — за всем содержимым */
  .poster::after{
    content:"";position:absolute;pointer-events:none;z-index:-1;
    inset:auto -10% -8% auto;
    width:78%;aspect-ratio:1/1;
    background:var(--char) no-repeat center/contain;
    opacity:.14;filter:saturate(.55);
  }
  .poster:nth-child(1){--char:url("../img/chars/dollar_wings.webp")}
  .poster:nth-child(2){--char:url("../img/chars/moneybag.webp");background:var(--ink);color:var(--deep);border-color:var(--deep);z-index:2;box-shadow:0 40px 80px oklch(0.06 0.015 340 / .8)}
  .poster:nth-child(2)::after{opacity:.18;mix-blend-mode:luminosity;filter:saturate(.6) contrast(1.1)}
  .poster:nth-child(3){--char:url("../img/chars/crown.webp")}
  .poster:hover{transform:translateY(-6px)}
  .poster-ribbon{
    position:absolute;top:20px;right:-36px;transform:rotate(34deg);background:var(--gold);color:var(--deep);
    font-family:var(--tag);font-size:14px;padding:6px 50px 8px;letter-spacing:.02em;
  }
  .poster-name{font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:24px;letter-spacing:.04em;line-height:1}
  .poster-sub{font-family:var(--tag);color:var(--gold);font-size:16px;transform:rotate(-2deg);display:inline-block;margin-top:var(--sp-2)}
  .poster:nth-child(2) .poster-sub{color:var(--gold-ink)}
  .poster-price{font-family:var(--display);font-weight:900;font-size:clamp(30px, 3.4vw, 48px);line-height:1.05;margin:var(--sp-5) 0;letter-spacing:-.03em;position:relative;white-space:nowrap}
  .poster-price small{font-family:var(--body);font-weight:500;font-size:14px;color:var(--sub);display:block;letter-spacing:.12em;text-transform:uppercase;margin-top:var(--sp-2);white-space:normal}
  .poster:nth-child(2) .poster-price small{color:color-mix(in oklch, var(--deep) 60%, transparent)}
  .poster ul{list-style:none;padding:0;margin:var(--sp-5) 0 var(--sp-6)}
  .poster li{display:flex;gap:var(--sp-3);padding:10px 0;font-size:14px;color:var(--ink-dim);border-top:1px dashed color-mix(in oklch, var(--ink) 12%, transparent)}
  .poster li:first-child{border-top:0}
  .poster:nth-child(2) li{color:color-mix(in oklch, var(--deep) 85%, transparent);border-top-color:color-mix(in oklch, var(--deep) 25%, transparent)}
  .poster li::before{content:"★";color:var(--gold);flex:none;font-size:12px;padding-top:2px}
  .poster:nth-child(2) li::before{color:var(--gold-ink)}
  .poster .btn{width:100%;justify-content:center;margin-top:auto}
  /* Локальный отказ от розового — кнопка primary в этой секции золотая */
  .poster .btn-primary{background:var(--gold);color:var(--deep)}
  .poster .btn-primary:hover{background:color-mix(in oklch, var(--gold) 80%, white)}

  @media (max-width:900px){.pricing{grid-template-columns:1fr;gap:var(--sp-6)}}

  /* GALLERY */
  .gallery{
    display:grid;grid-template-columns:repeat(12,1fr);
    grid-auto-rows:clamp(72px, 7.2vw, 112px);
    grid-auto-flow:dense;
    gap:var(--sp-3);
  }
  .gallery figure{
    position:relative;overflow:hidden;border-radius:6px;
    background:var(--surface);border:1px solid var(--line);
    transition:transform .5s var(--ease-out);will-change:transform;
  }
  .gallery figure{cursor:zoom-in}
  .gallery figure img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease-out)}
  .gallery figure:hover img{transform:scale(1.06)}
  .gallery figure:hover{transform:translateY(-4px)}
  .gallery figure::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%, oklch(0.05 0.015 340 / .35));opacity:.6;transition:opacity .3s;pointer-events:none}
  .gallery figure:hover::after{opacity:.25}

  /* LIGHTBOX */
  .lightbox{
    position:fixed;inset:0;z-index:200;display:none;
    background:oklch(0.05 0.015 340 / .94);
    backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
    align-items:center;justify-content:center;padding:clamp(12px, 3vw, 48px);
    animation:lb-in .26s var(--ease-out);
  }
  .lightbox.open{display:flex}
  .lightbox-img-wrap{position:relative;max-width:min(1400px,100%);max-height:100%;display:flex;align-items:center;justify-content:center}
  .lightbox img{max-width:100%;max-height:calc(100vh - 96px);object-fit:contain;display:block;border-radius:4px;box-shadow:0 30px 80px -20px oklch(0.05 0.015 340 / .8);user-select:none;-webkit-user-drag:none}
  .lightbox-btn{
    position:absolute;z-index:2;
    width:52px;height:52px;border-radius:999px;
    background:color-mix(in oklch, var(--deep) 60%, transparent);
    border:1px solid color-mix(in oklch, var(--ink) 20%, transparent);
    color:var(--ink);display:grid;place-items:center;
    transition:background .24s, transform .24s, border-color .24s;
    backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  }
  .lightbox-btn:hover{background:color-mix(in oklch, var(--gold) 20%, var(--deep));border-color:var(--gold);color:var(--gold);transform:translateY(-50%) scale(1.06)}
  .lightbox-btn svg{width:22px;height:22px}
  .lightbox-prev{left:clamp(8px, 2vw, 24px);top:50%;transform:translateY(-50%)}
  .lightbox-next{right:clamp(8px, 2vw, 24px);top:50%;transform:translateY(-50%)}
  .lightbox-close{top:clamp(12px, 2vw, 24px);right:clamp(12px, 2vw, 24px);transform:none}
  .lightbox-close:hover{transform:scale(1.06);background:color-mix(in oklch, var(--pink) 20%, var(--deep));border-color:var(--pink);color:var(--pink)}
  .lightbox-counter{
    position:absolute;bottom:clamp(12px, 2vw, 24px);left:50%;transform:translateX(-50%);
    font-family:var(--body);font-size:12px;letter-spacing:.2em;text-transform:uppercase;
    color:var(--muted);background:color-mix(in oklch, var(--deep) 60%, transparent);
    padding:6px 14px;border-radius:999px;
    backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  }
  @keyframes lb-in{from{opacity:0}to{opacity:1}}
  body.lb-open{overflow:hidden}
  @media (max-width:720px){
    .lightbox-btn{width:44px;height:44px}
    .lightbox img{max-height:calc(100vh - 140px)}
  }

  /* Bento layout — без пустых мест.
     12 cols × 10 row units. Две вертикальные «герои» (g1 слева 4×4, g6 справа 4×4),
     остальные плитки 4×2 / 6×2 идеально складываются в строки. */
  .gallery .g1 {grid-column:span 4;grid-row:span 4}
  .gallery .g2 {grid-column:span 4;grid-row:span 2}
  .gallery .g3 {grid-column:span 4;grid-row:span 2}
  .gallery .g4 {grid-column:span 4;grid-row:span 2}
  .gallery .g5 {grid-column:span 4;grid-row:span 2}
  .gallery .g6 {grid-column:span 4;grid-row:span 4}
  .gallery .g7 {grid-column:span 4;grid-row:span 2}
  .gallery .g8 {grid-column:span 4;grid-row:span 2}
  .gallery .g9 {grid-column:span 4;grid-row:span 2}
  .gallery .g10{grid-column:span 4;grid-row:span 2}
  .gallery .g11{grid-column:span 6;grid-row:span 2}
  .gallery .g12{grid-column:span 6;grid-row:span 2}
  .gallery .gw8{grid-column:span 8;grid-row:span 2}

  @media (max-width:900px){
    .gallery{grid-template-columns:repeat(6,1fr);grid-auto-rows:clamp(80px, 16vw, 130px)}
    .gallery figure{grid-column:span 3 !important;grid-row:span 2 !important}
    .gallery .g1,.gallery .g6{grid-column:span 6 !important;grid-row:span 3 !important}
  }

  /* Скрытые партии и кнопка «Показать ещё» */
  .gallery figure.is-hidden{display:none}
  .gallery figure.just-revealed{animation:g-fade .6s var(--ease-out) both}
  @keyframes g-fade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
  .gallery-more-wrap{display:flex;justify-content:center;margin-top:var(--sp-7)}
  .gallery-more{
    display:inline-flex;align-items:center;gap:var(--sp-3);
    padding:16px 34px;border-radius:999px;
    background:transparent;color:var(--ink);
    border:1.5px solid color-mix(in oklch, var(--gold) 60%, var(--line));
    font-family:var(--body);font-weight:600;font-size:14px;letter-spacing:.08em;text-transform:uppercase;
    cursor:pointer;
    transition:transform .3s var(--ease-out), background .3s, border-color .3s, color .3s;
  }
  .gallery-more:hover{transform:translateY(-2px);background:var(--gold);color:var(--deep);border-color:var(--gold)}
  .gallery-more svg{width:18px;height:18px;transition:transform .3s var(--ease-out)}
  .gallery-more:hover svg{transform:translateY(2px)}

  /* ATELIER */
  .atelier{position:relative}
  .stat-row{
    display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-6);
    margin-top:var(--sp-8);padding-top:var(--sp-7);border-top:1px solid var(--line)
  }
  .stat-kicker{display:block;font-family:var(--body);font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
  .stat b{font-family:var(--display);font-weight:900;font-size:clamp(48px, 6vw, 86px);line-height:1.05;letter-spacing:-.03em;color:var(--ink);display:block}
  .stat b sup{font-size:.36em;color:var(--pink);font-family:var(--tag);vertical-align:top;margin-left:4px}
  .stat span{font-family:var(--body);font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);display:block;margin-top:var(--sp-3)}
  @media (max-width:760px){.stat-row{grid-template-columns:1fr 1fr}}

  .brands{margin-top:var(--sp-8);display:flex;flex-wrap:wrap;gap:var(--sp-5) var(--sp-7);align-items:center;opacity:.8;border-top:1px solid var(--line);padding-top:var(--sp-6)}
  .brands small{font-family:var(--body);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--sub);margin-right:var(--sp-4)}
  .brands .b-item{font-family:var(--display);font-weight:700;letter-spacing:.1em;color:var(--ink-dim);font-size:18px;text-transform:uppercase}

  /* CONTACT */
  .contact{padding-bottom:var(--sp-9)}
  .contact-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:var(--sp-8);align-items:start}
  .contact h2{font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:clamp(30px,4.6vw,64px);line-height:.95;letter-spacing:-.03em;word-break:keep-all;overflow-wrap:normal;white-space:nowrap}
  .contact h2 em{font-style:normal;font-family:var(--tag);color:var(--gold);font-size:.62em;display:inline-block;transform:rotate(-3deg);margin-left:.2em}
  .contact-lede{font-size:clamp(16px,1.3vw,19px);color:var(--ink-dim);margin:var(--sp-5) 0;max-width:48ch;line-height:1.55}
  .info-block{display:grid;gap:var(--sp-4);margin-top:var(--sp-6)}
  .info-line{display:grid;grid-template-columns:130px 1fr;gap:var(--sp-4);padding-top:var(--sp-4);border-top:1px solid var(--line)}
  .info-line small{font-family:var(--body);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--sub);padding-top:6px}
  .info-line strong{font-family:var(--body);font-weight:500;font-size:17px;color:var(--ink);line-height:1.4}
  .info-line a{color:var(--ink);transition:color .2s}
  .info-line a:hover{color:var(--gold)}

  /* FORM — на граффити-подложке, чтобы не сливалась с фоном секции */
  .form{
    position:relative;isolation:isolate;
    scroll-margin-top:90px;
    padding:clamp(20px, 2.5vw, 36px);
    border-radius:10px;
    background:
      linear-gradient(180deg,
        color-mix(in oklch, var(--deep) 88%, transparent) 0%,
        color-mix(in oklch, var(--deep) 94%, transparent) 100%),
      url("../img/bg/wall.webp") center/cover no-repeat;
    box-shadow:
      0 0 0 1px color-mix(in oklch, var(--gold) 18%, var(--line)),
      0 30px 80px -20px oklch(0.05 0.015 340 / .8);
  }
  .form::before{
    content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;
    background:radial-gradient(120% 80% at 100% 0%, color-mix(in oklch, var(--gold) 18%, transparent) 0%, transparent 55%);
    pointer-events:none;
  }
  .form h3{font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:22px;letter-spacing:.01em;margin-bottom:6px}
  .form small.hint{font-family:var(--tag);color:var(--gold);font-size:16px;transform:rotate(-2deg);display:inline-block;margin-bottom:var(--sp-5)}
  .field{display:block;position:relative;margin-bottom:var(--sp-4)}
  .field label{display:block;font-family:var(--body);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
  .field input,.field select{
    width:100%;background:transparent;color:var(--ink);font-family:var(--body);font-size:16px;
    border:0;border-bottom:1px solid color-mix(in oklch, var(--ink) 18%, transparent);
    padding:12px 2px;outline:none;
    transition:border-color .3s, box-shadow .3s;
  }
  .field input:focus,.field select:focus{
    border-bottom-color:var(--gold);
    box-shadow:0 1px 0 0 var(--gold);
  }
  .field select{appearance:none}
  .field select option{background:var(--surface-2);color:var(--ink)}
  .form .btn-primary{
    width:100%;justify-content:center;padding:18px;margin-top:var(--sp-4);
    font-family:var(--display);font-size:14px;letter-spacing:.1em;text-transform:uppercase;
    border-radius:6px;background:var(--gold);color:var(--deep);
  }
  .form .btn-primary:hover{background:color-mix(in oklch, var(--gold) 80%, white);transform:translateY(-2px)}
  .form .privacy{font-size:11px;color:var(--sub);margin-top:var(--sp-3);line-height:1.5}

  @media (max-width:900px){.contact-grid{grid-template-columns:1fr}}

  /* FOOTER */
  footer{padding:var(--sp-7) 0 var(--sp-6);border-top:1px solid var(--line);margin-top:var(--sp-8);position:relative;z-index:3;overflow:hidden}
  footer::before{content:"";position:absolute;inset:0;background-image:url('https://stardustspb.ru/images/stardust-footer.png');background-repeat:no-repeat;background-position:center center;background-size:190px 230px;opacity:.2;pointer-events:none;z-index:-1}
  .foot-nav{
    display:grid;grid-template-columns:repeat(4, 1fr);gap:var(--sp-6);
    padding-bottom:var(--sp-7);margin-bottom:var(--sp-6);
    border-bottom:1px solid var(--line);
  }
  .foot-col h4{
    font-family:var(--display);font-weight:900;text-transform:uppercase;
    font-size:13px;letter-spacing:.08em;color:var(--ink);
    margin-bottom:var(--sp-4);
  }
  .foot-col ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
  .foot-col a{
    font-family:var(--body);font-size:14px;color:var(--ink-dim);
    transition:color .2s, transform .2s;
    display:inline-block;
  }
  .foot-col a:hover{color:var(--gold);transform:translateX(3px)}
  @media (max-width:900px){.foot-nav{grid-template-columns:repeat(2,1fr);gap:var(--sp-5)}}
  @media (max-width:520px){.foot-nav{grid-template-columns:1fr}}

  .foot{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-5);flex-wrap:wrap}
  .foot small{color:var(--sub);font-size:12px;letter-spacing:.1em}
  .foot .socials{display:flex;gap:var(--sp-2)}
  .foot .socials a{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line);transition:all .2s}
  .foot .socials a:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-3px)}

  /* REVEAL */
  .reveal{opacity:0;transform:translateY(32px);transition:opacity .9s var(--ease-out), transform .9s var(--ease-out)}
  .reveal.in{opacity:1;transform:none}
  .reveal-stagger > *{opacity:0;transform:translateY(20px);transition:opacity .8s var(--ease-out), transform .8s var(--ease-out)}
  .reveal-stagger.in > *{opacity:1;transform:none}
  .reveal-stagger.in > *:nth-child(1){transition-delay:0ms}
  .reveal-stagger.in > *:nth-child(2){transition-delay:80ms}
  .reveal-stagger.in > *:nth-child(3){transition-delay:160ms}
  .reveal-stagger.in > *:nth-child(4){transition-delay:240ms}
  .reveal-stagger.in > *:nth-child(5){transition-delay:320ms}
  .reveal-stagger.in > *:nth-child(6){transition-delay:400ms}
  .reveal-stagger.in > *:nth-child(7){transition-delay:480ms}
  .reveal-stagger.in > *:nth-child(8){transition-delay:560ms}

  @media (prefers-reduced-motion:reduce){
    *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important;animation-iteration-count:1 !important}
    .reveal,.reveal-stagger > *{opacity:1;transform:none}
  }

  /* ============ COMET CURSOR ============ */
  .hero h1{cursor:none}
  .comet{
    position:fixed;top:0;left:0;z-index:60;pointer-events:none;
    width:0;height:0;
  }
  .comet-head{
    position:absolute;top:0;left:0;width:18px;height:18px;border-radius:50%;
    background:radial-gradient(circle, #fff 0%, oklch(0.95 0.12 60) 28%, oklch(0.85 0.17 92) 55%, oklch(0.72 0.235 0) 80%);
    box-shadow:
      0 0 16px oklch(0.95 0.15 60 / .9),
      0 0 32px oklch(0.85 0.17 92 / .7),
      0 0 60px oklch(0.72 0.235 0 / .6);
    transform:translate(-50%,-50%);
    will-change:transform;
  }
  .comet-trail{
    position:absolute;top:0;left:0;width:14px;height:14px;border-radius:50%;
    background:radial-gradient(circle, oklch(0.92 0.14 60 / .9), oklch(0.72 0.235 0 / .3) 60%, transparent 85%);
    transform:translate(-50%,-50%);
    will-change:transform,opacity;
  }
  @media (hover:none), (prefers-reduced-motion:reduce){
    .comet{display:none}
    .hero h1{cursor:auto}
  }

  /* REVIEWS */
  .reviews{padding-top:var(--sp-8);padding-bottom:var(--sp-8);position:relative}
  .reviews-external{
    color:var(--gold);text-decoration:underline;text-underline-offset:3px;
    text-decoration-color:color-mix(in oklch, var(--gold) 40%, transparent);
    white-space:nowrap;margin-left:4px;transition:text-decoration-color .2s;
  }
  .reviews-external:hover{text-decoration-color:var(--gold)}

  .reviews-badge{
    display:inline-grid;grid-template-columns:auto auto;column-gap:var(--sp-4);row-gap:2px;
    align-items:center;padding:var(--sp-4) var(--sp-5);border-radius:10px;
    background:color-mix(in oklch, var(--gold) 10%, transparent);
    border:1px solid color-mix(in oklch, var(--gold) 35%, transparent);
    margin-bottom:var(--sp-6);
    transition:transform .3s var(--ease-out), background .3s, border-color .3s, box-shadow .3s;
  }
  .reviews-badge:hover{
    transform:translateY(-2px);
    background:color-mix(in oklch, var(--gold) 18%, transparent);
    border-color:color-mix(in oklch, var(--gold) 60%, transparent);
    box-shadow:0 12px 32px -10px color-mix(in oklch, var(--gold) 45%, transparent);
  }
  .reviews-badge-score{
    grid-row:span 2;font-family:var(--display);font-weight:900;font-size:48px;
    line-height:1;color:var(--gold);letter-spacing:-.02em;
  }
  .reviews-badge-stars{
    font-family:var(--display);font-size:20px;color:var(--gold);letter-spacing:.06em;
    filter:drop-shadow(0 0 10px color-mix(in oklch, var(--gold) 60%, transparent));
  }
  .reviews-badge-label{font-family:var(--body);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-dim)}
  .reviews-badge-label b{color:var(--ink);font-weight:600}

  /* CSS masonry — компактные блоки без пустых мест */
  .reviews-grid{
    column-count:3;
    column-gap:var(--sp-3);
  }
  .review{
    position:relative;isolation:isolate;overflow:hidden;
    display:flex;flex-direction:column;gap:10px;
    padding:14px 16px;
    margin:0 0 var(--sp-3);
    background:color-mix(in oklch, var(--ink) 4%, transparent);
    border:1px solid color-mix(in oklch, var(--ink) 8%, transparent);
    border-radius:8px;
    break-inside:avoid;-webkit-column-break-inside:avoid;
    transition:transform .4s var(--ease-out), border-color .3s, background .3s;
  }
  .review:hover{
    transform:translateY(-2px);
    border-color:color-mix(in oklch, var(--gold) 30%, var(--line));
    background:color-mix(in oklch, var(--ink) 7%, transparent);
  }
  .review-stars{
    font-family:var(--display);font-size:14px;color:var(--gold);letter-spacing:.03em;
    filter:drop-shadow(0 0 6px color-mix(in oklch, var(--gold) 45%, transparent));
  }
  .review-text{
    font-family:var(--body);font-size:14px;line-height:1.5;color:var(--ink-dim);margin:0;
  }
  .review-meta{
    display:flex;justify-content:space-between;align-items:baseline;gap:var(--sp-3);
    padding-top:8px;border-top:1px solid color-mix(in oklch, var(--ink) 8%, transparent);
  }
  .review-author{font-family:var(--display);font-weight:700;font-size:12px;letter-spacing:.03em;color:var(--ink);text-transform:uppercase}
  .review-date{font-family:var(--body);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--sub)}

  @media (max-width:1100px){.reviews-grid{column-count:2}}
  @media (max-width:640px){.reviews-grid{column-count:1}}

  /* Хлебные крошки — общий стиль */
  .breadcrumbs{
    display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:2px 4px;
    position:relative;padding-bottom:22px !important;
  }
  .breadcrumbs::before{
    content:"";position:absolute;left:50%;bottom:8px;width:56px;height:1px;
    transform:translateX(-50%);
    background:linear-gradient(90deg, transparent, color-mix(in oklch, var(--gold) 75%, transparent) 50%, transparent);
    opacity:.7;
  }
  .breadcrumbs > span:last-child{color:var(--gold) !important;font-weight:600}
  .breadcrumbs a{transition:color .3s, border-color .3s}
  .breadcrumbs a:hover{color:var(--ink) !important;border-bottom-color:var(--gold) !important}
  @media (max-width:560px){
    .breadcrumbs{font-size:11px !important;gap:0 2px}
    .breadcrumbs span[style*="margin:0 10px"]{margin:0 4px !important}
  }
