:root{
    --mint:#22c7c8;
    --mint-dark:#0b7f87;
    --mint-soft:#e9fbfa;
    --ink:#1b2b3b;
    --text:#36515e;
    --muted:#718691;
    --paper:#ffffff;
    --wash:#f4fbfb;
    --line:#d9ecee;
    --coral:#ff6f7f;
    --yellow:#f4c84f;
    --shadow:0 24px 70px rgba(31,91,101,.12);
    --shadow-soft:0 14px 42px rgba(31,91,101,.09);
    --container-x:clamp(16px,4vw,50px);
    --container:min(calc(100% - var(--container-x) * 2),1180px);
    --section:clamp(70px,9vw,132px);
    --radius:8px;
    --ease:cubic-bezier(.22,1,.36,1);

    /* --- Этап 1: расширенный слой дизайн-токенов (аддитивно; базовые токены выше сохранены) --- */
    /* Семантическая палитра — алиасы на существующую mint-схему, значения не дублируются */
    --color-primary:var(--mint);
    --color-primary-hover:#1fb4b5;
    --color-primary-active:var(--mint-dark);
    --color-primary-soft:var(--mint-soft);
    --color-accent:var(--yellow);
    --color-accent-soft:#fdf3d6;
    --color-text-primary:var(--ink);
    --color-text-secondary:var(--text);
    --color-text-muted:var(--muted);
    --color-text-inverse:#ffffff;
    --color-background:var(--paper);
    --color-background-soft:var(--wash);
    --color-background-accent:var(--mint-soft);
    --color-surface:#ffffff;
    --color-surface-hover:#f4fbfb;
    --color-border:var(--line);
    --color-border-strong:#b7dde0;
    --color-success:#1f9d6b;
    --color-error:var(--coral);
    --color-warning:var(--yellow);

    /* Типографика */
    --font-family-display:"NLFONTS",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    --font-family-body:"NLFONTS",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    --font-weight-regular:400;
    --font-weight-medium:500;
    --font-weight-semibold:700;
    --font-weight-bold:700;
    --font-size-display:clamp(44px,6vw,84px);
    --font-size-h1:clamp(40px,5.4vw,72px);
    --font-size-h2:clamp(32px,4.4vw,56px);
    --font-size-h3:clamp(22px,2.2vw,32px);
    --font-size-body-lg:clamp(18px,1.4vw,22px);
    --font-size-body:clamp(16px,1.1vw,18px);
    --font-size-body-sm:15px;
    --font-size-caption:13px;
    --font-size-button:16px;
    --font-size-overline:13px;
    --line-height-display:1.05;
    --line-height-heading:1.12;
    --line-height-body:1.62;
    --line-height-caption:1.45;

    /* Шкала отступов */
    --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;
    --space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;
    --space-20:80px;--space-24:96px;--space-32:128px;

    /* Радиусы (существующий --radius:8px сохранён) */
    --radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-pill:999px;

    /* Тени — алиасы на существующие */
    --shadow-sm:var(--shadow-soft);
    --shadow-md:var(--shadow);
    --shadow-button:0 16px 36px rgba(34,199,200,.28);

    /* Переходы */
    --transition-fast:.16s var(--ease);
    --transition-base:.24s var(--ease);
    --transition-slow:.5s var(--ease);

    /* Контейнеры (в дополнение к --container:1180px) */
    --container-wide:1440px;
    --container-content:1120px;
    --container-text:760px;
    --container-form:520px;

    /* Высота хедера */
    --header-height-desktop:72px;
    --header-height-mobile:70px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:98px}
body{
    min-width:320px;
    font-family:"NLFONTS",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    color:var(--ink);
    background:
        linear-gradient(180deg,#f7ffff 0,#fff 34%,#f5fbfb 70%,#fff 100%);
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
}
body.menu-open{overflow:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button{border:0;background:none;cursor:pointer}
p,li{color:var(--text);line-height:1.62;overflow-wrap:break-word;text-wrap:pretty}
h1,h2,h3{font-weight:700;line-height:1.05;letter-spacing:0;text-wrap:balance;overflow-wrap:normal;word-break:normal;hyphens:none}
h1{
    max-width:760px;
    font-family:"NLFONTS",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    font-size:clamp(40px,5.2vw,70px);
}
h2{
    font-family:"NLFONTS",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    font-size:clamp(36px,5.2vw,72px);
}
h3{font-size:clamp(22px,2.2vw,32px)}
.container{width:var(--container);margin-inline:auto}
.section{padding:var(--section) 0}
.js .reveal{opacity:0;transform:translateY(22px)}
.reveal.in{opacity:1;transform:none;transition:opacity .7s var(--ease),transform .7s var(--ease)}
.eyebrow{
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-bottom:18px;
    color:var(--mint-dark);
    font-size:13px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.eyebrow::before{
    content:"";
    width:28px;
    height:2px;
    border-radius:99px;
    background:var(--mint);
}
.btn{
    min-height:54px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    border-radius:999px;
    padding:0 24px;
    font-weight:700;
    line-height:1.12;
    text-align:center;
    transition:transform .22s var(--ease),box-shadow .22s var(--ease),background .22s ease;
}
.btn:hover{transform:translateY(-3px)}
.btn:focus-visible,
a:focus-visible,
button:focus-visible,
input:focus-visible{
    outline:4px solid rgba(34,199,200,.30);
    outline-offset:4px;
}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
.btn-primary{color:#fff;background:linear-gradient(135deg,var(--mint),#0b8d93);box-shadow:0 16px 36px rgba(34,199,200,.28)}
.btn-secondary{color:var(--ink);background:#fff;border:1px solid rgba(34,199,200,.32);box-shadow:var(--shadow-soft)}
.btn-wide{width:100%}

.site-header{
    position:sticky;
    top:14px;
    z-index:50;
    width:var(--container);
    margin:14px auto 0;
    border:1px solid rgba(217,236,238,.86);
    border-radius:999px;
    background:rgba(255,255,255,.86);
    box-shadow:0 18px 54px rgba(31,91,101,.08);
    backdrop-filter:blur(18px);
}
.header-inner{min-height:72px;display:flex;align-items:center;gap:22px;padding:0 12px;width:100%}
.brand{display:flex;align-items:center;flex:0 0 auto}
.brand img{width:70px}
.header-nav{display:flex;align-items:center;justify-content:center;gap:8px;flex:1}
.header-nav a{
    padding:10px 14px;
    border-radius:999px;
    color:#2c4c58;
    font-size:15px;
    font-weight:850;
}
.header-nav a:hover{background:var(--mint-soft);color:var(--mint-dark)}
.header-cta{min-height:52px;padding-inline:22px}
.burger{display:none;width:50px;height:50px;border-radius:50%;background:var(--mint-soft);align-items:center;justify-content:center;flex-direction:column;gap:5px}
.burger span{width:22px;height:2px;border-radius:2px;background:var(--mint-dark)}

.hero{position:relative;padding-top:clamp(56px,7vw,96px);padding-bottom:0;overflow:hidden}
.hero::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:0;
    height:72%;
    background:
        linear-gradient(120deg,rgba(34,199,200,.12),transparent 34%),
        linear-gradient(240deg,rgba(244,200,79,.15),transparent 35%);
    pointer-events:none;
}
.hero-grid{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,.96fr) minmax(380px,540px);
    gap:clamp(28px,5vw,76px);
    align-items:center;
}
.hero-copy{min-width:0;max-width:640px}
.hero-title{font-size:clamp(40px,5.2vw,70px);line-height:1.02}
.hero-title__line{display:block}
.hero-subtitle{margin-top:20px;color:#31515b;font-size:clamp(20px,2.1vw,30px);font-weight:700}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.hero-marks{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:24px;list-style:none}
.hero-marks li{position:relative;padding-left:22px;color:var(--muted);font-size:14px;font-weight:850}
.hero-marks li::before{content:"";position:absolute;left:0;top:50%;width:13px;height:13px;transform:translateY(-50%);border-radius:50%;background:var(--mint-soft);box-shadow:inset 0 0 0 2px var(--mint)}

/* Hero background decor */
.hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;user-select:none}
.hero-blob{position:absolute;border-radius:50%;filter:blur(64px)}
.hero-blob--a{width:520px;height:520px;left:-130px;top:-90px;background:radial-gradient(circle at 32% 32%,rgba(34,199,200,.5),transparent 70%);animation:blobDrift 22s var(--ease) infinite alternate}
.hero-blob--b{width:460px;height:460px;right:-110px;top:110px;background:radial-gradient(circle at 60% 40%,rgba(244,200,79,.42),transparent 70%);animation:blobDrift2 27s var(--ease) infinite alternate}
.hero-grid-lines{position:absolute;inset:0;opacity:.5;background-image:linear-gradient(rgba(34,199,200,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(34,199,200,.06) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:radial-gradient(circle at 72% 26%,#000,transparent 68%);mask-image:radial-gradient(circle at 72% 26%,#000,transparent 68%)}

/* Hero visual composition */
.hero-visual{position:relative;min-height:560px;isolation:isolate}
.hero-stage{position:absolute;inset:0}
.hero-card{position:absolute;overflow:hidden;border-radius:22px;background:#dff6f4;border:6px solid #fff;box-shadow:var(--shadow);will-change:transform,translate}
.hero-card img{width:100%;height:100%;object-fit:cover;display:block}
.hero-card--main{left:3%;top:34px;width:74%;height:66%;transform:rotate(-1.6deg);animation:floatY 7s var(--ease) infinite alternate}
.hero-card--small{right:0;bottom:22px;width:47%;height:45%;z-index:2;transform:rotate(2.6deg);animation:floatY 6s var(--ease) infinite alternate-reverse}
.hero-orbit{position:absolute;border-radius:50%;border:1.5px dashed rgba(34,199,200,.4)}
.hero-orbit--lg{width:340px;height:340px;left:6%;top:8%;animation:spin 58s linear infinite}
.hero-orbit--sm{width:150px;height:150px;right:5%;bottom:6%;border-style:solid;border-color:rgba(244,200,79,.45);animation:spin 40s linear infinite reverse}
.hero-orbit::after{content:"";position:absolute;top:-6px;left:50%;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:var(--mint)}
.hero-orbit--sm::after{background:var(--yellow)}
.hero-spark{position:absolute;border-radius:50%;background:var(--mint);box-shadow:0 0 0 6px rgba(34,199,200,.12);animation:pulse 3.6s ease-in-out infinite}
.hero-spark--1{width:14px;height:14px;left:1%;top:26%}
.hero-spark--2{width:9px;height:9px;right:14%;top:6%;background:var(--yellow);box-shadow:0 0 0 5px rgba(244,200,79,.18);animation-delay:.9s}
.hero-spark--3{width:11px;height:11px;left:32%;bottom:3%;animation-delay:1.7s}
.hero-chip{position:absolute;z-index:3;display:flex;align-items:center;gap:9px;padding:12px 16px;border-radius:16px;background:rgba(255,255,255,.74);border:1px solid rgba(255,255,255,.85);box-shadow:0 18px 40px rgba(31,91,101,.18);backdrop-filter:blur(14px);animation:floatY 5.5s var(--ease) infinite alternate}
.hero-chip--stat{right:-1%;top:12%;flex-direction:column;align-items:flex-start;gap:2px}
.hero-chip--stat strong{font-family:"NLFONTS",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:26px;line-height:1;color:var(--ink)}
.hero-chip--stat span{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--mint-dark)}
.hero-chip--tag{left:-3%;bottom:15%;color:var(--mint-dark);font-weight:700;font-size:14px;animation-delay:1.2s}
.hero-chip--tag svg{color:var(--mint);flex:0 0 auto}

/* Counter — отдельная секция под hero */
.counter-section{padding:clamp(30px,4.5vw,60px) 0 clamp(6px,1.5vw,18px)}
.signature-panel{
    display:grid;
    grid-template-columns:1.05fr .95fr;
    align-items:center;
    gap:clamp(28px,4vw,64px);
    padding:clamp(30px,3.8vw,52px) clamp(28px,4vw,56px);
    border-radius:28px;
    background:
        radial-gradient(120% 140% at 100% 0%,rgba(34,199,200,.10),transparent 55%),
        linear-gradient(120deg,rgba(255,255,255,.97),rgba(233,251,250,.82));
    border:1px solid var(--line);
    box-shadow:var(--shadow);
}
.signature-lead{display:grid;gap:16px;padding-right:clamp(20px,3vw,48px);border-right:1px solid var(--line)}
.signature-live{display:inline-flex;align-items:center;gap:8px;color:#0f9d63;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.signature-live i{width:9px;height:9px;border-radius:50%;background:#20c07a;box-shadow:0 0 0 0 rgba(32,192,122,.5);animation:livePulse 2.2s ease-out infinite}
.signature-figure{display:grid;gap:4px}
.signature-count{font-family:"NLFONTS",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:clamp(52px,7vw,88px);line-height:.9;color:var(--ink)}
.signature-sub{color:var(--text);font-size:clamp(15px,1.3vw,18px);font-weight:700;max-width:18em}
.signature-marks{display:flex;flex-wrap:wrap;gap:8px 10px;margin-top:4px}
.signature-marks li{display:inline-flex;align-items:center;gap:7px;padding:7px 14px 7px 12px;border-radius:999px;background:var(--mint-soft);color:var(--mint-dark);font-size:13px;font-weight:700}
.signature-marks li::before{content:"";width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 2px var(--mint);position:relative}
.signature-action{display:grid;gap:16px;justify-items:start}
.signature-note{color:var(--ink);font-size:clamp(17px,1.5vw,21px);font-weight:700;line-height:1.4;text-wrap:pretty;max-width:20em}
.signature-action .btn{margin-top:2px}
.signature-hint{color:var(--muted);font-size:14px;font-weight:700}
@keyframes livePulse{0%{box-shadow:0 0 0 0 rgba(32,192,122,.5)}70%{box-shadow:0 0 0 9px rgba(32,192,122,0)}100%{box-shadow:0 0 0 0 rgba(32,192,122,0)}}
.ticker{
    position:relative;
    margin-top:clamp(24px,3vw,40px);
    padding:14px 0;
    border-block:1px solid rgba(34,199,200,.16);
    overflow:hidden;
    color:var(--muted);
    background:rgba(255,255,255,.55);
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
    mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
}
.ticker div{display:flex;gap:30px;width:max-content;animation:ticker 44s linear infinite}
.ticker span{display:inline-flex;align-items:center;gap:12px;white-space:nowrap;font-size:14px;font-weight:700}
.ticker span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--mint);flex:0 0 auto}
@keyframes ticker{to{transform:translateX(-50%)}}

.intro{background:#fff}
.intro-grid{display:grid;grid-template-columns:minmax(260px,.86fr) minmax(0,1.14fr);gap:clamp(34px,6vw,96px);align-items:start}
.intro-title{position:sticky;top:120px}
.intro-text{display:grid;gap:20px;font-size:clamp(17px,1.35vw,21px)}
.intro-call{
    padding:26px;
    border-left:5px solid var(--mint);
    background:var(--mint-soft);
    color:var(--ink);
    font-size:clamp(24px,2.6vw,38px);
    font-weight:700;
    line-height:1.16;
}

.section-head{max-width:880px;margin:0 auto 44px;text-align:center}
.section-head p:not(.eyebrow){margin-top:14px;font-size:20px}
.section-head-left{text-align:left;margin:0}
.rights{background:linear-gradient(180deg,var(--wash),#fff)}
/* Две независимые колонки: слева карточки 1,3 (первая раскрыта по умолчанию),
   справа 2,4,5. Раскрытая первая карточка выравнивает высоту колонок естественно. */
.rights-list{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,2.6vw,38px);align-items:start}
.rights-col{display:flex;flex-direction:column;gap:clamp(20px,2.6vw,38px)}
.right-card{
    position:relative;
    border:1px solid var(--line);
    border-radius:20px;
    background:#fff;
    box-shadow:var(--shadow-soft);
    overflow:hidden;
    transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base);
}
.right-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:var(--color-border-strong)}
.right-card[open]{border-color:rgba(34,199,200,.5)}
.right-card summary{
    display:grid;
    align-content:start;
    gap:12px;
    min-height:190px;
    padding:clamp(24px,2.6vw,34px);
    list-style:none;
    cursor:pointer;
}
.right-card summary::-webkit-details-marker{display:none}
.right-number{font-family:"NLFONTS",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:clamp(40px,3.4vw,58px);line-height:.9;color:rgba(34,199,200,.5)}
.right-card strong{display:block;color:var(--ink);font-size:clamp(23px,2.2vw,32px);line-height:1.06}
.right-card em{display:block;margin-top:8px;color:var(--text);font-style:normal;font-size:clamp(16px,1.15vw,18px);line-height:1.5}
.right-card summary b{
    justify-self:start;
    margin-top:6px;
    display:inline-flex;
    align-items:center;
    gap:9px;
    padding:11px 18px;
    border-radius:999px;
    background:var(--mint-soft);
    color:var(--mint-dark);
    font-size:14px;
    transition:background var(--transition-base);
}
.right-card summary b::after{content:"→";transition:transform var(--transition-base)}
.right-card[open] summary b::after{transform:rotate(90deg)}
.right-card:hover summary b{background:#d5f5f4}
.right-details{
    display:grid;
    gap:12px;
    padding:0 clamp(24px,2.6vw,34px) clamp(24px,2.6vw,34px);
}
.right-details p{color:var(--ink);font-weight:700}
.right-details ul{display:grid;gap:10px;list-style:none}
.right-details li{position:relative;padding-left:24px;color:var(--text);line-height:1.55}
.right-details li::before{content:"";position:absolute;left:0;top:.7em;width:12px;height:3px;border-radius:99px;background:var(--mint)}

.principle{padding-top:0;background:#fff}
.principle-photo-wrap{
    position:relative;
    min-height:clamp(520px,68vw,760px);
    overflow:hidden;
}
.principle-photo-wrap img{
    width:100%;
    height:100%;
    min-height:inherit;
    object-fit:cover;
    object-position:66% 42%;
}
.principle-photo-wrap::after{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(180deg,rgba(10,31,39,0) 30%,rgba(10,31,39,.5) 74%,rgba(10,31,39,.82) 100%),
        linear-gradient(90deg,rgba(10,31,39,.5),rgba(10,31,39,.06) 46%,transparent 68%);
}
.principle-label{
    position:absolute;
    left:0;
    right:0;
    bottom:clamp(34px,7vw,92px);
    z-index:2;
    margin-inline:auto;
    max-width:760px;
    padding-inline:var(--container-x);
    text-align:center;
    color:#fff;
}
.principle-label p{margin-bottom:16px;color:#bff5f2;font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}
.principle-label h2{color:#fff;text-shadow:0 10px 36px rgba(0,0,0,.25)}
.principle-copy{display:grid;justify-items:center;gap:22px;max-width:760px;margin-inline:auto;padding-top:56px;text-align:center}
.principle-copy p{font-size:clamp(18px,1.45vw,22px)}
.principle-copy strong{display:block;color:var(--ink);font-size:clamp(24px,2.7vw,38px);line-height:1.18;text-wrap:balance}
.principle-copy .btn{justify-self:center;margin-top:6px}

.sign{background:linear-gradient(180deg,var(--wash),#fff)}
.sign-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(440px,1.1fr);gap:34px;align-items:start}
.sign-copy{position:sticky;top:120px}
.sign-copy>p:not(.eyebrow){margin-top:18px;font-size:21px}
.sign-trust{margin-top:26px;padding:clamp(22px,2.4vw,30px);border-radius:20px;background:linear-gradient(135deg,var(--mint-soft),#fff);border:1px solid var(--line);box-shadow:var(--shadow-soft)}
.sign-trust__title{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:700;font-size:18px}
.sign-trust__title svg{color:var(--mint-dark);flex:0 0 auto}
.sign-trust>p{margin-top:12px;color:var(--text);font-size:16px;line-height:1.55}
.sign-trust ul{display:grid;gap:10px;margin-top:16px;list-style:none}
.sign-trust li{position:relative;padding-left:28px;color:var(--ink);font-weight:700;font-size:15px}
.sign-trust li::before{content:"";position:absolute;left:0;top:2px;width:18px;height:18px;border-radius:50%;background:var(--mint-soft);box-shadow:inset 0 0 0 2px var(--mint)}
.sign-trust li::after{content:"";position:absolute;left:6px;top:8px;width:6px;height:3px;border-left:2px solid var(--mint-dark);border-bottom:2px solid var(--mint-dark);transform:rotate(-45deg)}
.form-card{
    padding:clamp(24px,4vw,46px);
    border-radius:8px;
    background:#fff;
    border:1px solid var(--line);
    box-shadow:var(--shadow);
}
.form-card-head{margin-bottom:24px}
.form-card-head p:not(.eyebrow){margin-top:10px}
.petition-form{display:grid;gap:18px}
.form-field{display:grid;gap:8px}
.form-field label{font-weight:700;color:var(--ink)}
.form-field label span{color:var(--coral)}
.form-field label span.field-optional{color:var(--muted);font-weight:400;font-size:.85em}
.form-field input{
    width:100%;
    min-height:58px;
    border:2px solid var(--line);
    border-radius:8px;
    padding:14px 16px;
    color:var(--ink);
    background:#fbffff;
}
.form-field input:hover{border-color:#a8e2e4}
.form-field input.is-invalid{border-color:var(--coral);background:#fff7f8}
.consent-block{display:grid;gap:14px}
.consent-wrap{display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:start;color:#2d4e59;font-size:14px;line-height:1.45}
.consent-wrap input{width:22px;height:22px;margin-top:3px;accent-color:var(--mint)}
.consent-wrap a{color:var(--mint-dark);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;font-weight:700}
.form-result{min-height:26px}
.form-actions .btn-primary{min-height:60px;font-size:18px}
.err{display:block;padding:13px 15px;border-radius:8px;color:#8b1e3c;background:#fff0f3;font-weight:700}
.form-success{padding:28px;border-radius:8px;background:var(--mint-soft);border:1px solid var(--line)}
.form-success strong{display:block;margin-bottom:8px;font-size:26px;color:var(--ink)}

.initiatives{background:#fff;padding-top:0}
.initiative-carousel{position:relative}
.initiative-carousel::after{content:"";position:absolute;top:0;bottom:24px;right:0;width:clamp(40px,6vw,90px);z-index:2;pointer-events:none;background:linear-gradient(270deg,#fff 12%,rgba(255,255,255,0));border-radius:0 8px 8px 0}
.initiative-track{
    display:flex;
    gap:18px;
    overflow-x:auto;
    padding:4px 4px 24px;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
}
.initiative-track::-webkit-scrollbar{display:none}
.initiative-card{
    flex:0 0 min(420px,84vw);
    min-height:310px;
    scroll-snap-align:start;
    display:grid;
    align-content:start;
    gap:18px;
    padding:30px;
    border-radius:8px;
    background:
        linear-gradient(135deg,rgba(34,199,200,.14),rgba(255,255,255,.92)),
        #fff;
    border:1px solid var(--line);
    box-shadow:var(--shadow-soft);
}
.initiative-card span{font-family:"NLFONTS",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:54px;line-height:1;color:rgba(34,199,200,.50)}
.initiative-card h3{font-size:26px}
.carousel-btn{
    position:absolute;
    top:50%;
    z-index:3;
    width:52px;
    height:52px;
    border-radius:50%;
    color:#fff;
    background:var(--mint-dark);
    box-shadow:var(--shadow-soft);
    font-size:40px;
    line-height:1;
    transform:translateY(-50%);
}
.carousel-prev{left:-18px}.carousel-next{right:-18px}

.initiators{background:linear-gradient(180deg,var(--wash),#fff)}
.initiators-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(24px,4vw,54px);align-items:stretch}
.initiators-photo{margin:0;border-radius:24px;overflow:hidden;box-shadow:var(--shadow);min-height:clamp(320px,32vw,440px)}
.initiators-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.initiators-body{display:grid;gap:clamp(20px,2.4vw,30px)}
.initiators-copy{max-width:640px}
.initiators-copy p:not(.eyebrow){margin-top:12px;font-size:clamp(18px,1.6vw,22px);color:var(--muted);font-weight:700}
.initiator-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:stretch}
.initiator-card{
    display:flex;
    flex-direction:column;
    gap:10px;
    padding:26px;
    border-radius:16px;
    background:#fff;
    border:1px solid var(--line);
    box-shadow:var(--shadow-soft);
}
.initiator-card h3{font-size:clamp(18px,1.3vw,20px);line-height:1.25;letter-spacing:-.01em}
.initiator-card p{font-size:15px;line-height:1.5;color:var(--text)}
.initiator-card .btn{align-self:start;margin-top:auto}

.faq-grid{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:34px;align-items:start}
.faq-list{display:grid;gap:14px}
.faq-item{border-radius:8px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-soft);overflow:hidden}
.faq-question{width:100%;min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 24px;color:var(--ink);font-size:17px;font-weight:700;text-align:left}
.faq-question span{flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:var(--mint-soft);position:relative}
.faq-question span::before,
.faq-question span::after{content:"";position:absolute;left:8px;right:8px;top:15px;height:2px;border-radius:2px;background:var(--mint-dark)}
.faq-question span::after{transform:rotate(90deg);transition:transform .24s var(--ease)}
.faq-question[aria-expanded="true"] span::after{transform:rotate(0)}
.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s var(--ease)}
.faq-item.is-open .faq-answer{grid-template-rows:1fr}
.faq-answer>div{overflow:hidden}
.faq-answer p{padding:0 24px 24px;font-size:16px}

.site-footer{padding:clamp(54px,8vw,96px) 0 28px;background:#102f3a;color:#fff}
.site-footer p,.site-footer li{color:rgba(255,255,255,.78)}
.footer-inner{display:grid;gap:34px}
.footer-cta-panel{max-width:920px}
.footer-cta-panel h2{color:#fff}
.footer-cta-panel>p:not(.eyebrow){margin-top:16px;font-size:clamp(18px,2vw,25px)}
.footer-cta-panel>p strong{color:#fff}
.share-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.share-btn{
    min-height:50px;
    padding:0 20px;
    border-radius:999px;
    background:rgba(255,255,255,.10);
    border:1px solid rgba(255,255,255,.20);
    color:#fff;
    font-weight:700;
}
.share-btn:hover{background:rgba(255,255,255,.18)}
.footer-cta{margin-top:24px}
.footer-bottom{margin-top:clamp(40px,6vw,72px);padding-top:30px;border-top:1px solid rgba(255,255,255,.14)}
.footer-bottom__top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 48px}
.footer-brand{display:inline-flex;align-items:center;gap:12px;font-weight:700;color:#fff}
.footer-brand img{width:52px;filter:brightness(0) invert(1)}
.footer-nav{display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:flex-end}
.footer-nav a{color:rgba(255,255,255,.72);font-size:15px;font-weight:700;text-decoration:none;transition:color .2s ease}
.footer-nav a:hover{color:#fff}
.footer-copy{margin-top:26px;padding-top:22px;border-top:1px solid rgba(255,255,255,.08);color:rgba(255,255,255,.5);font-size:14px;font-weight:700}
.footer-imprint{margin-top:10px;color:#fff;opacity:.5;font-size:16px;line-height:1.5;font-weight:400}
.mobile-sign-cta{display:none}

@media (prefers-reduced-motion:reduce){
    *,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
    .js .reveal,.reveal{opacity:1;transform:none}
}

@media (max-width:1080px){
    .site-header{top:0;width:100%;margin:0;border-radius:0;border-left:0;border-right:0}
    .header-inner{padding-inline:20px}
    .header-nav{
        position:fixed;
        top:76px;
        left:16px;
        right:16px;
        display:grid;
        gap:8px;
        padding:18px;
        max-height:calc(100dvh - 100px);
        overflow-y:auto;
        overscroll-behavior:contain;
        border-radius:8px;
        background:#fff;
        box-shadow:var(--shadow);
        transform:translateY(-16px);
        opacity:0;
        pointer-events:none;
        transition:opacity .22s var(--ease),transform .22s var(--ease);
    }
    body.menu-open .header-nav{opacity:1;transform:none;pointer-events:auto}
    .header-nav a{font-size:17px;padding:12px 14px;font-weight:700}
    .menu-cta{font-size:16px}
    .header-cta{margin-left:auto}
    .burger{display:flex}
    .hero-grid,.intro-grid,.sign-grid,.faq-grid{grid-template-columns:1fr}
    .hero-visual{min-height:520px;max-width:600px;width:100%;justify-self:center}
    .intro-title,.sign-copy{position:relative;top:auto}
    /* Hero H1: «Поддержите Зоозащитный» / «кодекс» */
    .hero-title__line:nth-child(1),.hero-title__line:nth-child(2){display:inline}
    .hero-title__line:nth-child(3){display:block}
}

@media (max-width:760px){
    :root{--container-x:16px}
    html{scroll-padding-top:84px}
    body{padding-bottom:78px}
    .section{padding:62px 0}
    .brand img{width:58px}
    .header-inner{min-height:70px;gap:10px;padding-inline:14px;justify-content:space-between}
    .header-cta{display:none}
    h1{font-size:clamp(34px,9.2vw,47px);line-height:1.04;overflow-wrap:normal;word-break:normal;hyphens:none}
    h2{font-size:clamp(36px,10vw,54px)}
    .initiatives{overflow-x:clip}
    .hero{padding-top:36px}
    .hero-actions{gap:12px}
    .hero-actions .btn{width:100%}
    .hero-marks{gap:8px 18px;margin-top:20px}
    .hero-visual{min-height:360px;max-width:440px}
    .hero-orbit--lg,.hero-spark--3{display:none}
    .hero-card--main{top:20px;width:76%;height:70%}
    .hero-card--small{bottom:10px;width:50%;height:46%}
    .hero-chip--stat{right:0;top:4%;padding:9px 12px}
    .hero-chip--stat strong{font-size:21px}
    .hero-chip--tag{left:0;bottom:6%;font-size:13px;padding:9px 12px}
    .hero-blob{filter:blur(44px);opacity:.42}
    .signature-panel{grid-template-columns:1fr;gap:24px;padding:24px}
    .signature-lead{padding-right:0;padding-bottom:22px;border-right:0;border-bottom:1px solid var(--line)}
    .signature-action{justify-items:stretch;text-align:left}
    .signature-count{font-size:clamp(44px,13vw,62px)}
    .ticker{margin-top:22px}
    .intro-text{gap:16px}
    .intro-call{padding:20px;font-size:25px}
    .section-head{margin-bottom:32px}
    /* Hero H1: «Поддержите» / «Зоозащитный кодекс» */
    .hero-title__line:nth-child(1){display:block}
    .hero-title__line:nth-child(2),.hero-title__line:nth-child(3){display:inline}
    /* Права: одна колонка, порядок 1–5 */
    .rights-list{display:flex;flex-direction:column;gap:16px}
    .rights-col{display:contents}
    .rights-col--b{margin-top:0}
    .right-card summary{min-height:0;padding:22px}
    .right-number{font-size:44px}
    .right-card strong{font-size:26px}
    .right-details{padding:0 22px 24px}
    .principle-photo-wrap{min-height:480px}
    .principle-photo-wrap::after{background:linear-gradient(180deg,rgba(10,31,39,.08),rgba(10,31,39,.78))}
    .principle-label{bottom:30px;padding-inline:16px}
    .principle-copy{padding-top:30px}
    .form-card{padding:22px}
    .consent-wrap{font-size:15px}
    .carousel-btn{display:none}
    .initiative-card{flex-basis:86vw;min-height:300px;padding:24px}
    .initiators-grid{grid-template-columns:1fr}
    .initiators-photo{aspect-ratio:16/10;min-height:0}
    .initiator-cards{grid-template-columns:1fr}
    .footer-bottom__top{flex-direction:column;align-items:flex-start;gap:22px}
    .footer-nav{justify-content:flex-start;gap:12px 20px}
    .mobile-sign-cta{
        position:fixed;
        left:16px;
        right:16px;
        bottom:14px;
        z-index:60;
        min-height:54px;
        display:grid;
        place-items:center;
        border-radius:999px;
        color:#fff;
        background:linear-gradient(135deg,var(--mint),#0b8d93);
        box-shadow:0 14px 32px rgba(34,199,200,.28);
        font-weight:700;
        opacity:0;
        pointer-events:none;
        transform:translateY(14px);
        transition:opacity .22s ease,transform .22s ease;
    }
    .mobile-sign-cta.is-visible{opacity:1;pointer-events:auto;transform:none}
}

@media (max-width:380px){
    .share-btn{padding-inline:14px;font-size:14px}
    .initiative-card h3{font-size:23px}
}

/* ============================================================
   Этап 1 — фундамент дизайн-системы (аддитивные утилиты).
   Базовые компоненты для текущего лендинга и будущих страниц.
   Не переопределяют существующие секции; используются по мере надобности.
   ============================================================ */

/* Skip-link «Перейти к содержанию» */
.skip-link{
    position:fixed;
    top:-120px;
    left:16px;
    z-index:200;
    padding:12px 20px;
    border-radius:var(--radius);
    background:var(--color-primary-active);
    color:#fff;
    font-weight:var(--font-weight-bold);
    box-shadow:var(--shadow-soft);
    transition:top var(--transition-base);
}
.skip-link:focus{top:16px}

/* Контейнеры (в дополнение к базовому .container) */
.container-wide{width:min(calc(100% - var(--container-x) * 2),var(--container-wide));margin-inline:auto}
.container-content{width:min(calc(100% - var(--container-x) * 2),var(--container-content));margin-inline:auto}
.container-text{width:min(calc(100% - var(--container-x) * 2),var(--container-text));margin-inline:auto}
.container-form{width:min(calc(100% - var(--container-x) * 2),var(--container-form));margin-inline:auto}

/* Типографические утилиты */
.display-title{font-family:var(--font-family-display);font-weight:var(--font-weight-bold);font-size:var(--font-size-display);line-height:var(--line-height-display);text-wrap:balance}
.page-title{font-family:var(--font-family-display);font-weight:var(--font-weight-bold);font-size:var(--font-size-h1);line-height:var(--line-height-heading);text-wrap:balance}
.section-title{font-family:var(--font-family-display);font-weight:var(--font-weight-bold);font-size:var(--font-size-h2);line-height:var(--line-height-heading);text-wrap:balance}
.card-title{font-weight:var(--font-weight-bold);font-size:var(--font-size-h3);line-height:1.15}
.body-large{font-size:var(--font-size-body-lg);line-height:var(--line-height-body);color:var(--color-text-secondary)}
.body-text{font-size:var(--font-size-body);line-height:var(--line-height-body);color:var(--color-text-secondary)}
.text-small{font-size:var(--font-size-body-sm);line-height:var(--line-height-caption);color:var(--color-text-muted)}
.overline{display:inline-flex;align-items:center;gap:10px;color:var(--color-primary-active);font-size:var(--font-size-overline);font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}
.text-link{color:var(--color-primary-active);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;font-weight:var(--font-weight-semibold)}
.text-link:hover{color:var(--color-primary)}

/* Кнопки — дополнительные варианты, размеры и состояние загрузки
   (базовые .btn/.btn-primary/.btn-secondary/.btn-wide уже определены выше) */
.btn-ghost{color:var(--color-primary-active);background:transparent;border:1px solid transparent}
.btn-ghost:hover{background:var(--color-primary-soft)}
.btn-text{min-height:auto;padding:0;border-radius:0;color:var(--color-primary-active);background:none;font-weight:var(--font-weight-bold)}
.btn-text:hover{transform:none;text-decoration:underline;text-underline-offset:4px}
.btn-sm{min-height:44px;padding:0 18px;font-size:15px}
.btn-md{min-height:52px;padding:0 22px}
.btn-lg{min-height:60px;padding:0 30px;font-size:18px}
.btn.is-loading{position:relative;color:transparent!important;pointer-events:none}
.btn.is-loading::after{content:"";position:absolute;width:20px;height:20px;border-radius:50%;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;animation:btn-spin .7s linear infinite}
.btn-secondary.is-loading::after,.btn-ghost.is-loading::after,.btn-text.is-loading::after{border-color:rgba(11,141,147,.35);border-top-color:var(--color-primary-active)}
@keyframes btn-spin{to{transform:rotate(360deg)}}

/* Формы — визуальный слой для будущих полей
   (текущая форма использует .form-field/.form-field input, они сохранены выше) */
.form-textarea{width:100%;min-height:120px;border:2px solid var(--color-border);border-radius:var(--radius);padding:14px 16px;color:var(--color-text-primary);background:#fbffff;resize:vertical;font-size:16px}
.form-select{width:100%;min-height:58px;border:2px solid var(--color-border);border-radius:var(--radius);padding:14px 16px;color:var(--color-text-primary);background:#fbffff;font-size:16px}
.form-textarea:hover,.form-select:hover{border-color:var(--color-border-strong)}
.form-textarea:focus-visible,.form-select:focus-visible{border-color:var(--color-primary)}
.form-textarea.is-invalid,.form-select.is-invalid{border-color:var(--color-error);background:#fff7f8}
.form-hint{color:var(--color-text-muted);font-size:var(--font-size-body-sm)}
.form-status{min-height:26px}

/* Базовые секции — модификаторы фона и вертикального ритма */
.section--light{background:var(--color-surface)}
.section--soft{background:linear-gradient(180deg,var(--color-background-soft),var(--color-surface))}
.section--accent{background:var(--color-background-accent)}
.section--dark{background:#102f3a;color:#fff}
.section--dark p,.section--dark li{color:rgba(255,255,255,.8)}
.section--compact{padding:clamp(48px,6vw,80px) 0}
.section--large{padding:clamp(88px,11vw,160px) 0}
.section-header{max-width:820px;display:grid;gap:14px}
.section-header.is-center{margin-inline:auto;text-align:center;justify-items:center}
.section-description{font-size:var(--font-size-body-lg);line-height:var(--line-height-body);color:var(--color-text-secondary)}
.section-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px}

/* CTA внутри мобильного меню — показывается только на узких экранах */
.menu-cta{display:none}

@media (max-width:760px){
    .menu-cta{display:inline-flex;margin-top:6px}
}

/* ============================================================
   Этап 2 — motion keyframes, stagger, полировка
   ============================================================ */
@keyframes floatY{from{translate:0 0}to{translate:0 -14px}}
@keyframes spin{to{rotate:360deg}}
@keyframes pulse{0%,100%{transform:scale(1);opacity:.85}50%{transform:scale(1.28);opacity:.45}}
@keyframes blobDrift{from{translate:0 0;scale:1}to{translate:40px 30px;scale:1.12}}
@keyframes blobDrift2{from{translate:0 0;scale:1}to{translate:-36px 26px;scale:1.08}}
@keyframes countUpFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* Stagger появления карточек прав */
.rights-list .right-card:nth-child(2){transition-delay:.06s}
.rights-list .right-card:nth-child(3){transition-delay:.12s}
.rights-list .right-card:nth-child(4){transition-delay:.16s}
.rights-list .right-card:nth-child(5){transition-delay:.2s}

/* Полировка кнопок */
.btn-primary:hover{box-shadow:0 22px 46px rgba(34,199,200,.36)}
.btn-secondary:hover{border-color:var(--mint);background:var(--mint-soft)}

/* Footer share hint */
.footer-share-hint{margin-top:14px}
.footer-share-hint strong{color:#fff}

/* ============================================================
   Этап 2.1 — Floating SVG Animal Decor Layer
   Тонкий line-art декор (лапы / усы / кот / хвост). pointer-events:none.
   ============================================================ */
:root{
    --decor-primary:rgba(24,181,184,.6);
    --decor-ink:rgba(22,43,58,.5);
    --decor-light:rgba(255,255,255,.6);
    --decor-warm:rgba(244,200,79,.7);
}
.decor-sprite{position:absolute;width:0;height:0;overflow:hidden}
.decor-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.decor{position:absolute;pointer-events:none;user-select:none;color:var(--decor-primary);line-height:0}
.decor svg{display:block;width:100%;height:100%}
.decor--ink{color:var(--decor-ink)}
.decor--light{color:var(--decor-light)}
.decor--warm{color:var(--decor-warm)}
/* контент всегда над декором */
.hero .container,.intro .container,.rights .container,.site-footer .container{position:relative;z-index:1}
.intro,.rights,.site-footer{position:relative;overflow:hidden}

@keyframes decorFloat{0%,100%{transform:translate3d(0,0,0) rotate(var(--dr,0deg))}50%{transform:translate3d(0,var(--dy,-14px),0) rotate(calc(var(--dr,0deg) + 2deg))}}
@keyframes decorDrift{0%,100%{transform:translate3d(0,0,0) rotate(var(--dr,0deg))}50%{transform:translate3d(var(--dx,16px),var(--dy,-12px),0) rotate(var(--dr,0deg))}}
@keyframes decorPulse{0%,100%{opacity:var(--omin,.1)}50%{opacity:var(--omax,.22)}}
.decor--float{animation:decorFloat var(--ddur,11s) var(--ease) infinite}
.decor--drift{animation:decorDrift var(--ddur,15s) var(--ease) infinite}
.decor--pulse{animation:decorPulse var(--ddur,6s) ease-in-out infinite}
/* line-draw для контурных элементов */
.decor--draw svg [stroke]{stroke-dasharray:var(--len,600);stroke-dashoffset:var(--len,600);transition:stroke-dashoffset 1400ms var(--ease)}
.reveal.in .decor--draw svg [stroke],.decor--draw.in svg [stroke]{stroke-dashoffset:0}

@media (max-width:760px){
    .decor--hide-mobile{display:none}
}

/* ============================================================
   Этап 2.2 — Wide desktop polish (≥1600px): убрать пустоты,
   усилить hero, дать контенту осмысленную площадь.
   ============================================================ */
@media (min-width:1600px){
    :root{--container:min(calc(100% - var(--container-x) * 2),1320px)}
    .hero-grid{grid-template-columns:minmax(0,1fr) minmax(460px,600px);gap:clamp(60px,5vw,96px)}
    .hero-visual{min-height:640px}
    .hero-title{font-size:clamp(70px,4.6vw,80px)}
    .hero-copy{max-width:680px}
    .principle-label{left:max(var(--container-x),calc((100vw - 1320px)/2))}
}
@media (min-width:2100px){
    :root{--container:min(calc(100% - var(--container-x) * 2),1440px)}
    .principle-label{left:max(var(--container-x),calc((100vw - 1440px)/2))}
}

/* ============================================================
   КОДЕКС ИНКЛЮЗИИ — компоненты (аддитивно поверх движка).
   Палитра: бренд «Новые люди» (mint/teal) + акцент на карточку через --accent.
   ============================================================ */

/* Hero — крупный декоративный заголовок */
.hero-title .hero-title__line{display:block}
.hero-title__accent{position:relative;color:var(--mint-dark);width:max-content;max-width:100%}
.hero-title__accent::after{
    content:"";position:absolute;left:-.06em;right:-.06em;bottom:.08em;height:.34em;z-index:-1;
    background:linear-gradient(120deg,rgba(34,199,200,.32),rgba(244,200,79,.34));
    border-radius:.2em;transform:rotate(-1.2deg);
}
.hero-lead{margin-top:16px;max-width:34em;color:var(--muted);font-size:clamp(16px,1.25vw,19px);font-weight:700;line-height:1.5}
.hero-subtitle{max-width:15em}
.hero-card__ph{display:block;width:100%;height:100%;background:linear-gradient(135deg,var(--mint-soft),#dff6f4)}

/* Прогресс-бар подписей к цели сбора */
.signature-progress{display:grid;gap:10px;margin-top:6px}
.signature-progress__track{position:relative;height:12px;border-radius:999px;background:#e2f2f2;overflow:hidden;box-shadow:inset 0 1px 3px rgba(31,91,101,.12)}
.signature-progress__bar{position:absolute;inset:0 auto 0 0;width:var(--progress,4%);border-radius:999px;background:linear-gradient(90deg,var(--mint),#0b8d93);transition:width 1.5s var(--ease)}
.signature-progress__bar::after{content:"";position:absolute;right:0;top:50%;width:16px;height:16px;transform:translate(45%,-50%);border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(34,199,200,.35),0 4px 10px rgba(31,91,101,.25)}
.signature-progress__scale{display:flex;justify-content:space-between;gap:14px;color:var(--muted);font-size:13px;font-weight:700}
.signature-progress__scale b{color:var(--mint-dark)}

/* Блок 2 — Реальность сегодня */
.reality{background:#fff}
.reality-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(28px,4vw,64px);align-items:center}
.reality-intro{display:grid;gap:18px;font-size:clamp(18px,1.5vw,23px);line-height:1.5;color:var(--text)}
.reality-intro b{color:var(--mint-dark);font-weight:700;white-space:nowrap}
.reality-stats{display:grid;gap:16px}
.stat-card{padding:clamp(22px,2.6vw,32px);border-radius:20px;background:linear-gradient(135deg,var(--mint-soft),#fff);border:1px solid var(--line);box-shadow:var(--shadow-soft)}
.stat-card--accent{background:linear-gradient(135deg,#fff5da,#fff);border-color:#f2e0ac}
.stat-card__num{display:block;font-family:"NLFONTS",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:clamp(46px,6vw,72px);line-height:.92;color:var(--mint-dark)}
.stat-card--accent .stat-card__num{color:#c98a12}
.stat-card__num i{font-style:normal;font-size:.42em;font-family:var(--font-family-body);font-weight:700}
.stat-card__label{display:block;margin-top:10px;color:var(--text);font-size:clamp(15px,1.2vw,17px);font-weight:700;line-height:1.4}
.reality-cases{margin-top:clamp(40px,5vw,68px)}
.reality-cases__title{font-size:clamp(26px,3.4vw,42px);margin-bottom:clamp(22px,2.6vw,32px)}
.case-list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.case-card{position:relative;display:grid;gap:16px;padding:clamp(24px,2.4vw,30px);border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-soft);border-top:4px solid var(--mint)}
.case-card:nth-child(2){border-top-color:#f0a92e}
.case-card:nth-child(3){border-top-color:#e857a8}
.case-card__icon{display:inline-flex;width:52px;height:52px;border-radius:14px;align-items:center;justify-content:center;background:var(--mint-soft);color:var(--mint-dark)}
.case-card:nth-child(2) .case-card__icon{background:#fdf0d8;color:#c98a12}
.case-card:nth-child(3) .case-card__icon{background:#fce4f1;color:#c23a86}
.case-card__icon svg{width:28px;height:28px}
.case-card p{color:var(--ink);font-size:clamp(15px,1.15vw,17px);line-height:1.5;font-weight:600}
.reality-call{margin-top:clamp(40px,5vw,64px);max-width:940px}
.reality-call__strong{padding:clamp(24px,3vw,38px);border-radius:22px;border-left:6px solid var(--mint);background:linear-gradient(120deg,var(--mint-soft),#fff);color:var(--ink);font-size:clamp(21px,2.3vw,32px);font-weight:700;line-height:1.28;text-wrap:pretty}
.reality-call__text{margin-top:24px;font-size:clamp(17px,1.4vw,21px);color:var(--text)}
.reality-call__text b{color:var(--mint-dark)}
.reality-call .btn{margin-top:26px}

/* Блок 3 — 7 принципов */
.principles{background:linear-gradient(180deg,var(--wash),#fff);position:relative;overflow:hidden}
.principles .container{position:relative;z-index:1}
.principle-list{display:grid;gap:16px;max-width:1000px;margin-inline:auto}
.principle-card{
    --accent:var(--mint);
    border:1px solid var(--line);
    border-radius:20px;
    background:#fff;
    box-shadow:var(--shadow-soft);
    overflow:hidden;
    transition:box-shadow var(--transition-base),border-color var(--transition-base),transform var(--transition-base);
}
.principle-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.principle-card[open]{border-color:color-mix(in srgb,var(--accent) 55%,#fff)}
.principle-card summary{
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:clamp(14px,1.8vw,22px);
    padding:clamp(18px,2.2vw,26px) clamp(18px,2.4vw,30px);
    cursor:pointer;
    list-style:none;
}
.principle-card summary::-webkit-details-marker{display:none}
.principle-card__icon{
    display:inline-flex;width:clamp(48px,4vw,60px);height:clamp(48px,4vw,60px);
    align-items:center;justify-content:center;flex:0 0 auto;
    border-radius:16px;
    background:color-mix(in srgb,var(--accent) 14%,#fff);
    color:var(--accent);
}
.principle-card__icon svg{width:56%;height:56%}
.principle-card__head{min-width:0;display:grid;gap:4px}
.principle-card__num{color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.principle-card__head strong{color:var(--ink);font-size:clamp(17px,1.7vw,23px);line-height:1.18;font-weight:700}
.principle-card__toggle{position:relative;width:34px;height:34px;flex:0 0 auto;border-radius:50%;background:color-mix(in srgb,var(--accent) 12%,#fff)}
.principle-card__toggle::before,.principle-card__toggle::after{content:"";position:absolute;left:9px;right:9px;top:16px;height:2.4px;border-radius:2px;background:var(--accent)}
.principle-card__toggle::after{transform:rotate(90deg);transition:transform .26s var(--ease)}
.principle-card[open] .principle-card__toggle::after{transform:rotate(0)}
.principle-card__body{
    display:grid;gap:18px;
    padding:0 clamp(18px,2.4vw,30px) clamp(24px,2.6vw,32px) clamp(18px,2.4vw,30px);
}
@media (min-width:820px){
    .principle-card__body{grid-template-columns:1fr 1fr;padding-left:clamp(76px,7vw,104px)}
    .principle-block--solution{grid-row:span 2}
    .principle-block--problem{align-self:start}
}
.principle-block__label{display:inline-flex;align-items:center;gap:8px;margin-bottom:8px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.principle-block__label::before{content:"";width:16px;height:3px;border-radius:99px;background:currentColor}
.principle-block--problem .principle-block__label{color:var(--coral)}
.principle-block--solution .principle-block__label{color:var(--accent)}
.principle-block--who .principle-block__label{color:var(--mint-dark)}
.principle-block--problem{padding:16px 18px;border-radius:14px;background:#fff5f6;border:1px solid #ffdfe4}
.principle-block--problem p{color:#7a3a44;font-size:15px;line-height:1.5}
.principle-block--who{padding:16px 18px;border-radius:14px;background:var(--mint-soft);border:1px solid var(--line)}
.principle-block--who p{color:var(--ink);font-size:15px;line-height:1.5;font-weight:600}
.principle-block--solution ul{display:grid;gap:11px;list-style:none}
.principle-block--solution li{position:relative;padding-left:24px;color:var(--text);font-size:15px;line-height:1.5}
.principle-block--solution li::before{content:"";position:absolute;left:0;top:.55em;width:12px;height:12px;border-radius:4px;background:color-mix(in srgb,var(--accent) 22%,#fff);box-shadow:inset 0 0 0 2px var(--accent)}
.principle-block--solution li b{color:var(--ink);font-weight:700}

/* Showcase — фотоплитки */
.showcase{padding-top:0;background:#fff}
.showcase-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(18px,2.4vw,28px)}
.showcase-card{position:relative;margin:0;border-radius:22px;overflow:hidden;box-shadow:var(--shadow);isolation:isolate;min-height:clamp(280px,32vw,380px)}
.showcase-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.showcase-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,31,39,0) 42%,rgba(10,31,39,.82) 100%)}
.showcase-card figcaption{position:relative;z-index:1;display:flex;flex-direction:column;gap:6px;height:100%;justify-content:flex-end;padding:clamp(22px,2.4vw,30px);color:#fff;font-size:clamp(15px,1.2vw,17px);line-height:1.45}
.showcase-card figcaption b{font-family:"NLFONTS",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:clamp(22px,2.2vw,28px);font-weight:700}

/* Блок 4 — Манифест, во всю ширину с фото */
.manifesto{position:relative;overflow:hidden;padding:clamp(72px,10vw,140px) 0;background:#0c2b34;color:#fff}
.manifesto-photo{position:absolute;inset:0;z-index:0}
.manifesto-photo img{width:100%;height:100%;object-fit:cover;object-position:center 40%}
.manifesto::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(9,32,40,.94),rgba(9,32,40,.78) 52%,rgba(9,32,40,.5))}
.manifesto-inner{position:relative;z-index:2;max-width:820px}
.manifesto-inner h2{color:#fff;font-size:clamp(30px,4.4vw,58px);text-shadow:0 10px 40px rgba(0,0,0,.35)}
.manifesto-text{display:grid;gap:16px;margin-top:26px;max-width:640px}
.manifesto-text p{color:rgba(255,255,255,.86);font-size:clamp(17px,1.5vw,21px);line-height:1.55}
.manifesto-text__accent{color:#fff!important;font-weight:700}
.manifesto-inner .btn{margin-top:32px}
.eyebrow--light{color:#bff5f2}
.eyebrow--light::before{background:#7fe4e2}

/* Блок 5 — Инициаторы (карусель) */
.initiators{background:linear-gradient(180deg,var(--wash),#fff)}
.initiator-carousel{position:relative}
.initiator-carousel::after{content:"";position:absolute;top:0;bottom:24px;right:0;width:clamp(40px,6vw,90px);z-index:2;pointer-events:none;background:linear-gradient(270deg,#fff 12%,rgba(255,255,255,0));border-radius:0 8px 8px 0}
.initiator-track{display:flex;gap:18px;overflow-x:auto;padding:4px 4px 24px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.initiator-track::-webkit-scrollbar{display:none}
.initiator-slide{
    --accent:var(--mint);
    flex:0 0 min(360px,82vw);
    scroll-snap-align:start;
    display:flex;flex-direction:column;gap:14px;
    padding:clamp(26px,2.6vw,32px);
    border-radius:22px;
    background:#fff;
    border:1px solid var(--line);
    box-shadow:var(--shadow-soft);
    border-top:5px solid var(--accent);
}
.initiator-slide__top{display:flex;align-items:center;justify-content:space-between}
.initiator-avatar{
    display:inline-flex;width:64px;height:64px;align-items:center;justify-content:center;
    border-radius:50%;
    background:color-mix(in srgb,var(--accent) 16%,#fff);
    color:var(--accent);
    font-family:"NLFONTS",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:26px;font-weight:700;
}
.initiator-avatar--photo{overflow:hidden;padding:0;background:color-mix(in srgb,var(--accent) 16%,#fff);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 40%,#fff)}
.initiator-avatar--photo img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.initiator-slide__no{font-family:"NLFONTS",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:40px;line-height:1;color:color-mix(in srgb,var(--accent) 40%,#fff)}
.initiator-slide h3{font-size:clamp(20px,1.7vw,24px);line-height:1.2}
.initiator-slide p{flex:1;color:var(--text);font-size:15px;line-height:1.5}
.initiator-slide .btn{align-self:start}
.initiator-slide__tag{align-self:start;padding:8px 14px;border-radius:999px;background:var(--mint-soft);color:var(--mint-dark);font-size:13px;font-weight:700}

/* Footer — ссылки на партию */
.footer-party{display:flex;flex-wrap:wrap;gap:12px 26px;margin-top:24px}
.footer-party__link{position:relative;padding-left:24px;color:#bff5f2;font-weight:700;font-size:15px}
.footer-party__link::before{content:"";position:absolute;left:0;top:50%;width:15px;height:15px;transform:translateY(-50%);border-radius:50%;background:rgba(127,228,226,.18);box-shadow:inset 0 0 0 2px #7fe4e2}
.footer-party__link:hover{color:#fff}

/* Stagger принципов */
.principle-list .principle-card:nth-child(2){transition-delay:.05s}
.principle-list .principle-card:nth-child(3){transition-delay:.1s}
.principle-list .principle-card:nth-child(4){transition-delay:.14s}

@media (max-width:1080px){
    .reality-grid{grid-template-columns:1fr}
    .reality-stats{grid-template-columns:1fr 1fr}
}
@media (max-width:820px){
    .case-list{grid-template-columns:1fr}
}
@media (max-width:760px){
    .hero-lead{margin-top:14px}
    .reality-stats{grid-template-columns:1fr}
    .stat-card{display:flex;align-items:baseline;gap:16px}
    .stat-card__num{font-size:clamp(40px,15vw,58px)}
    .stat-card__label{margin-top:0}
    .reality-call__strong{padding:22px;font-size:22px}
    .principle-card summary{grid-template-columns:auto 1fr auto;gap:12px}
    .principle-card__head strong{font-size:18px}
    .carousel-btn{display:none}
    .initiator-slide{flex-basis:84vw}
    .manifesto::after{background:linear-gradient(180deg,rgba(9,32,40,.72),rgba(9,32,40,.92))}
    .manifesto-photo img{object-position:center}
}
@media (max-width:400px){
    .stat-card{display:block}
}
