/* Портал стилистов stylist.elny.shop — стиль из КП v2.3 (спека docs/140, экран = макет
   docs/140_Портал-стилистов-макет.html). ⛔ Внешних шрифтов нет: Golos — /static/fonts (общая
   папка ERP), Cormorant Garamond — /static/site/fonts (OFL); не приехал файл —
   запасной шрифт с засечками. */
/* Cormorant Garamond 5.3.0 (@fontsource, OFL — static/fonts/OFL.txt), два алфавита */
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:500;font-display:swap;src:url(/static/site/fonts/cormorant-garamond-cyrillic-500-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:600;font-display:swap;src:url(/static/site/fonts/cormorant-garamond-cyrillic-600-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:500;font-display:swap;src:url(/static/site/fonts/cormorant-garamond-cyrillic-500-italic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:500;font-display:swap;src:url(/static/site/fonts/cormorant-garamond-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:600;font-display:swap;src:url(/static/site/fonts/cormorant-garamond-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:500;font-display:swap;src:url(/static/site/fonts/cormorant-garamond-latin-500-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{
  --cream:#F5F2EA; --cream-2:#EAE7DF; --paper:#FFFFFF; --line:#DDD7CA; --line-2:#C9C1B0;
  --ink:#2E2E2C; --ink-2:#5E5E5C; --ink-3:#8C8A85;
  --wine:#7A3B3B; --wine-2:#93504F; --wine-soft:#F1E4E1; --sand:#C4B49A; --graphite:#3D3D3B;
  --ok:#2F5D46; --ok-soft:#E3EEE7; --err:#9C3B2E; --err-soft:#F6E2DE;
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:"Golos Text",-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --r:4px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.6 var(--sans);-webkit-text-size-adjust:100%}
button,input,select,textarea{font:inherit;color:inherit}
a{color:var(--wine)}
img{max-width:100%;display:block}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
@media (max-width:480px){.wrap{padding:0 16px}}

/* ── шапка сайта ── */
header.site{background:var(--cream);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:40}
.hd{display:flex;align-items:center;gap:20px;min-height:64px}
.logo{height:30px;width:auto}
.hd nav{display:flex;gap:22px;margin-left:auto;font-size:14px}
.hd nav a{color:var(--ink-2);text-decoration:none}
.hd nav a:hover{color:var(--wine)}
@media (max-width:760px){.hd nav{display:none}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--wine);color:#fff;border:1px solid var(--wine);border-radius:var(--r);padding:12px 22px;font-weight:500;font-size:15px;text-decoration:none;cursor:pointer;letter-spacing:.01em;transition:background .15s}
.btn:hover{background:var(--wine-2)}
.btn.ghost{background:transparent;color:var(--wine)}
.btn.ghost:hover{background:var(--wine-soft)}
.btn.sm{padding:8px 14px;font-size:14px}
.hd .btn{margin-left:0}
@media (max-width:760px){.hd .btn{margin-left:auto}}

/* ── типографика ── */
.eyebrow{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--wine);font-weight:500;margin:0 0 14px}
/* ⚠ у Cormorant цифры по умолчанию «старинные»: 10 читается как IO — везде прописные */
h1,h2,h3,.big10 .n,.rate .n,.sc .no,.st .no,.fs-h .no,.calc .res .v,.idbox .v,.tile .v{font-variant-numeric:lining-nums tabular-nums}
h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:-.005em;margin:0;text-wrap:balance}
h1{font-size:clamp(38px,6.4vw,68px);line-height:1.04}
h2{font-size:clamp(30px,4.4vw,44px);line-height:1.1}
h3{font-size:24px;line-height:1.2}
.lead{font-size:clamp(17px,2vw,19px);color:var(--ink-2);max-width:560px;margin:22px 0 30px}
section{padding:84px 0;border-bottom:1px solid var(--line)}
@media (max-width:640px){section{padding:56px 0}}
.sec-h{margin-bottom:40px;max-width:680px}

/* ── герой ── */
.hero{padding:76px 0 84px}
.hero .g{display:grid;grid-template-columns:1.25fr .75fr;gap:56px;align-items:end}
@media (max-width:860px){.hero .g{grid-template-columns:1fr;gap:40px}}
.ctas{display:flex;gap:12px;flex-wrap:wrap}
.big10{background:var(--wine);color:#fff;padding:34px 30px 30px;border-radius:var(--r)}
.big10 .n{font-family:var(--serif);font-size:clamp(96px,14vw,148px);line-height:.85;font-weight:500}
.big10 .l{font-size:12px;letter-spacing:.2em;text-transform:uppercase;margin:16px 0 8px;opacity:.85}
.big10 p{margin:0;font-size:15px;line-height:1.5;opacity:.95}

/* ── сценарии ── */
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
@media (max-width:860px){.three{grid-template-columns:1fr}}
.sc{background:var(--paper);padding:30px 26px 32px}
.sc .no{font-family:var(--serif);font-size:44px;color:var(--sand);line-height:1}
.sc h3{margin:14px 0 10px}
.sc p{margin:0;color:var(--ink-2);font-size:15px}
.note{display:flex;gap:16px;align-items:flex-start;margin-top:28px;background:var(--paper);border-left:3px solid var(--wine);padding:18px 22px}
.note .t{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--wine);font-weight:600;white-space:nowrap;padding-top:2px}
.note p{margin:0}

/* ── цитата ── */
.quote{background:var(--cream-2);text-align:center}
.quote blockquote{font-family:var(--serif);font-style:italic;font-size:clamp(24px,3.4vw,34px);line-height:1.3;max-width:820px;margin:0 auto;color:var(--graphite)}
.quote .sig{margin-top:24px;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--wine)}

/* ── условия ── */
.terms{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px}
@media (max-width:860px){.terms{grid-template-columns:1fr;gap:28px}}
.rate{border:1px solid var(--line-2);padding:30px;background:var(--paper);align-self:start}
.rate .n{font-family:var(--serif);font-size:96px;line-height:.9;color:var(--wine)}
.rate .l{color:var(--ink-2);margin-top:10px}
ul.dash{list-style:none;margin:0;padding:0}
ul.dash li{position:relative;padding:0 0 18px 30px;margin-bottom:18px;border-bottom:1px solid var(--line)}
ul.dash li:last-child{border-bottom:0;margin-bottom:0}
ul.dash li::before{content:"";position:absolute;left:0;top:13px;width:16px;height:1px;background:var(--wine)}
.calc{margin-top:36px;background:var(--paper);border:1px solid var(--line);padding:26px}
.calc .t{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--wine);font-weight:600;margin-bottom:6px}
.calc .ex{color:var(--ink-2);margin:0 0 18px;font-size:15px}
.calc .row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;align-items:end}
@media (max-width:640px){.calc .row{grid-template-columns:1fr}}
.calc label{display:block;font-size:13px;color:var(--ink-2);margin-bottom:6px}
.calc .res{background:var(--wine-soft);padding:12px 14px;border-radius:var(--r)}
.calc .res .v{font-family:var(--serif);font-size:34px;line-height:1;color:var(--wine);font-weight:600}
.calc .res .s{font-size:12.5px;color:var(--ink-2);margin-top:4px}

/* ── шаги ── */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;counter-reset:s}
@media (max-width:860px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.steps{grid-template-columns:1fr;gap:22px}}
.st{border-top:1px solid var(--graphite);padding-top:18px}
.st .no{font-family:var(--serif);font-size:20px;color:var(--wine)}
.st h3{font-size:22px;margin:6px 0 8px}
.st p{margin:0;color:var(--ink-2);font-size:15px}

/* ── вопросы ── */
.faq{max-width:820px}
.faq details{border-bottom:1px solid var(--line);padding:4px 0}
.faq summary{list-style:none;cursor:pointer;padding:16px 36px 16px 0;position:relative;font-family:var(--serif);font-size:23px;font-weight:500}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:12px;font-family:var(--sans);font-size:24px;color:var(--wine);font-weight:300}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:0 0 18px;color:var(--ink-2);max-width:700px}

/* ── финал ── */
.final{background:var(--graphite);color:#F1EEE6;border-bottom:0;text-align:center}
.final h2{color:#fff;max-width:760px;margin:0 auto 28px}
.final .btn{background:#fff;color:var(--graphite);border-color:#fff}
.final .btn:hover{background:var(--cream)}
.final small{display:block;margin-top:22px;opacity:.7;font-size:13.5px}
footer{background:var(--graphite);color:#B8B4AA;font-size:13.5px;border-top:1px solid #545450}
footer .wrap{display:flex;gap:20px;flex-wrap:wrap;justify-content:space-between;padding-top:22px;padding-bottom:26px}
footer a{color:#DCD8CF}

/* ── анкета ── */
.form-page{padding:44px 0 80px}
.form-wrap{max-width:760px;margin:0 auto}
.back{font-size:14px;text-decoration:none;color:var(--ink-2)}
.form-wrap h1{font-size:clamp(36px,5vw,52px);margin:16px 0 8px}
.form-wrap .sub{color:var(--ink-2);margin:0 0 30px}
.fs{background:var(--paper);border:1px solid var(--line);margin-bottom:18px}
.fs-h{display:flex;align-items:baseline;gap:14px;background:var(--wine);color:#fff;padding:12px 22px}
.fs-h .no{font-family:var(--serif);font-size:24px;line-height:1}
.fs-h .ti{font-weight:500;letter-spacing:.02em}
.fs-h .hi{font-size:13px;opacity:.8;margin-left:auto}
@media (max-width:520px){.fs-h .hi{display:none}}
.fs-b{padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:18px 18px}
@media (max-width:640px){.fs-b{grid-template-columns:1fr;padding:18px 16px}}
.f{display:flex;flex-direction:column;gap:6px;min-width:0}
.f.full{grid-column:1/-1}
.f > label,.f > .lab{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);font-weight:500}
.f > label .req,.lab .req{color:var(--wine)}
.f input[type=text],.f input[type=tel],.f input[type=url],.f select,.f textarea{width:100%;border:1px solid var(--line-2);background:#fff;border-radius:var(--r);padding:11px 12px;font-size:16px;outline:none}
.f input:focus,.f select:focus,.f textarea:focus{border-color:var(--wine);box-shadow:0 0 0 3px var(--wine-soft)}
.f textarea{min-height:104px;resize:vertical}
.f .hint{font-size:13px;color:var(--ink-3)}
.f.bad input{border-color:var(--err);background:#FFFBFA}
.f .err{font-size:13px;color:var(--err);display:none}
.f.bad .err{display:block}
.f.good .okm{display:block}
.okm{display:none;font-size:13px;color:var(--ok)}
.pair{display:grid;grid-template-columns:150px 1fr;gap:8px}
@media (max-width:420px){.pair{grid-template-columns:1fr}}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative}
.chip input{position:absolute;opacity:0;pointer-events:none}
.chip span{display:inline-block;border:1px solid var(--line-2);border-radius:999px;padding:7px 13px;font-size:14px;cursor:pointer;background:#fff;user-select:none}
.chip input:checked + span{background:var(--wine);border-color:var(--wine);color:#fff}
.chip input:focus-visible + span{outline:2px solid var(--wine);outline-offset:2px}
.radios{display:flex;gap:10px;flex-wrap:wrap}
.opt{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line-2);border-radius:var(--r);padding:12px 14px;cursor:pointer;background:#fff;flex:1 1 220px}
.opt input{accent-color:var(--wine);width:18px;height:18px;margin:2px 0 0;flex:none}
.opt:has(input:checked){border-color:var(--wine);background:var(--wine-soft)}
.opt b{font-weight:500;display:block}
.opt small{color:var(--ink-2);font-size:13px}
.checks{display:flex;flex-direction:column;gap:8px}
.links{display:flex;flex-direction:column;gap:8px}
.addlink{align-self:flex-start;background:none;border:0;color:var(--wine);padding:2px 0;cursor:pointer;font-size:14px;text-decoration:underline;text-underline-offset:3px}
.ip-only{display:none}
.is-ip .ip-only{display:flex}
.consent{background:var(--paper);border:1px solid var(--line);padding:18px 22px;display:flex;flex-direction:column;gap:12px;margin-bottom:22px}
.consent label{display:flex;gap:12px;align-items:flex-start;font-size:15px;cursor:pointer}
.consent input{accent-color:var(--wine);width:18px;height:18px;margin:3px 0 0;flex:none}
.submit-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.submit-row .hint{font-size:13px;color:var(--ink-3)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.alert{padding:12px 16px;border-radius:var(--r);margin-bottom:18px;font-size:15px}
.alert.err{background:var(--err-soft);color:var(--err)}

/* ── готово ── */
.done{padding:90px 0 110px;text-align:center}
.done .mark{width:64px;height:64px;border-radius:50%;border:1px solid var(--wine);display:flex;align-items:center;justify-content:center;margin:0 auto 26px;color:var(--wine)}
.done h1{font-size:clamp(36px,5vw,54px)}
.done p{color:var(--ink-2);max-width:520px;margin:18px auto 0}
.done .next{max-width:560px;margin:36px auto 30px;text-align:left;background:var(--paper);border:1px solid var(--line);padding:22px 24px}
.done .next ol{margin:8px 0 0;padding-left:20px;color:var(--ink-2)}
.done .next li{margin-bottom:6px}
.variant{max-width:560px;margin:46px auto 0;padding-top:24px;border-top:1px dashed var(--line-2);text-align:left;font-size:14px;color:var(--ink-3)}

/* ── документы: правила программы и согласие на обработку ПДн ── */
.doc h2{font-size:26px;margin:30px 0 10px}
.doc p{margin:0 0 12px;color:var(--ink)}
.doc ul.dash li{padding-bottom:10px;margin-bottom:10px}
.doc ul.dash li::before{top:12px}
.doc .steps-list{margin:0 0 12px;padding-left:22px}
.doc .steps-list li{margin-bottom:8px}
.doc .example{background:var(--paper);border-left:3px solid var(--wine);padding:12px 16px}
