/* Токены и стили взяты из макета design/ (замер prodolzhenie-roda.ru). Вне токенов в разметке ничего нет. */
@font-face{font-family:'Poiret One';src:url('/fonts/PoiretOne-Regular.ttf') format('truetype');font-display:swap}
@font-face{font-family:'Ubuntu';font-weight:300;src:url('/fonts/Ubuntu-Light.ttf') format('truetype');font-display:swap}
:root{
  --paper:#ffffff;--ink:#1e1e1e;--muted:#656565;--hairline:#d9d9d9;--accent:#675a51;--cert-paper:#f6f2ec;
  --ghost:.38;
  --display:'Poiret One',cursive;--text:'Ubuntu',sans-serif;--weight-text:300;
  --fs-text:15px;--fs-small:13px;--fs-display:clamp(44px,13vw,64px);--fs-h2:clamp(28px,7vw,34px);
  --tracking-caps:.14em;--radius:0;--line:1px;
  --ease:cubic-bezier(.16,1,.3,1);--dur:.95s;--lift:12px;--gutter:20px;--gap:32px;
}
*{box-sizing:border-box;margin:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--paper);color:var(--ink);font-family:var(--text);font-weight:var(--weight-text);font-size:var(--fs-text);line-height:1.55}
a{color:inherit}
.top{border-bottom:var(--line) solid var(--hairline);padding:22px var(--gutter) 18px;text-align:center}
.top img{width:48px;height:auto;display:block;margin:0 auto 8px}
.top span{font-size:var(--fs-small);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--muted)}
.grid{display:grid;gap:var(--gap);padding:36px var(--gutter) 64px;max-width:1120px;margin:0 auto}
.event{font-size:var(--fs-small);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--muted);margin-bottom:14px}
h1{font-family:var(--display);font-weight:400;font-size:var(--fs-display);line-height:1;margin-bottom:16px}
h2{font-family:var(--display);font-weight:400;font-size:var(--fs-h2);line-height:1.1;margin-bottom:10px}
.sub{max-width:30ch;color:var(--muted);margin-bottom:var(--gap)}
.btn{display:inline-block;width:100%;text-align:center;font:inherit;font-size:var(--fs-small);letter-spacing:var(--tracking-caps);text-transform:uppercase;text-decoration:none;padding:17px 22px;border:var(--line) solid var(--ink);border-radius:var(--radius);background:var(--ink);color:var(--paper);cursor:pointer}
.btn.line{background:transparent;color:var(--ink)}
.btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.or{display:flex;align-items:center;gap:14px;margin:26px 0;font-size:var(--fs-small);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--muted)}
.or::before,.or::after{content:"";flex:1;border-top:var(--line) solid var(--hairline)}
.hint,.tgnote,.note{margin-top:10px;font-size:var(--fs-small);color:var(--muted)}
.error{margin-bottom:18px;padding:12px 14px;border:var(--line) solid var(--accent);color:var(--accent);font-size:var(--fs-small)}
label.f{display:block;font-size:var(--fs-small);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--muted)}
input[type=text],input[type=tel],input[type=date]{width:100%;border:0;border-bottom:var(--line) solid var(--ink);border-radius:var(--radius);background:transparent;font:inherit;font-size:20px;color:var(--ink);padding:10px 0 8px;outline:0}
input[type=text]:focus-visible,input[type=tel]:focus-visible{border-bottom-width:2px;padding-bottom:7px}
.optional{margin-top:18px}
.consent{display:flex;gap:12px;align-items:flex-start;margin:22px 0 26px;font-size:var(--fs-small);color:var(--muted)}
.consent input{margin-top:3px;accent-color:var(--ink);width:16px;height:16px;flex:none}
.cert-wrap{min-width:0}
.cert-img{display:block;width:100%;max-width:720px;height:auto;background:var(--cert-paper)}
.cert-img.ghost{opacity:var(--ghost);transform:translateY(var(--lift))}
/* подпись движения: сертификат проявляется на месте */
.cert-img.reveal{animation:develop var(--dur) var(--ease) both}
@keyframes develop{from{opacity:var(--ghost);transform:translateY(var(--lift))}to{opacity:1;transform:none}}
.after{margin-top:var(--gap);max-width:720px}
.after .row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:var(--gap)}
.guide{display:block;border-top:var(--line) solid var(--hairline);border-bottom:var(--line) solid var(--hairline);padding:18px 0;margin-bottom:var(--gap);text-decoration:none}
.guide small{display:block;font-size:var(--fs-small);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.pin p{color:var(--muted);margin-bottom:18px}
.pin .row{margin-bottom:0}
.pin em{font-style:normal;color:var(--accent)}
.done b{font-weight:400}
.stack-cert{display:grid;gap:14px;max-width:720px}
.stack-cert .cert-img{max-width:none}
.ok-note{margin:0 0 var(--gap);padding:12px 14px;border:var(--line) solid var(--accent);color:var(--accent);font-size:var(--fs-small)}
.edd-form{margin-top:var(--gap);padding-top:22px;border-top:var(--line) solid var(--hairline);max-width:720px}
.edd-form .hint{margin-bottom:14px}
input[type=date]{width:100%;border:0;border-bottom:var(--line) solid var(--ink);border-radius:var(--radius);background:transparent;font:inherit;font-size:20px;color:var(--ink);padding:10px 0 8px;outline:0}
.btn.full{width:100%;margin-top:12px}
.after .save{width:100%;margin-bottom:var(--gap)}
.after .row.one{grid-template-columns:1fr}
@media(min-width:960px){
  .top{padding:26px 40px 22px}
  .grid{grid-template-columns:5fr 7fr;gap:72px;padding-top:72px;align-items:start}
  .offer{position:sticky;top:40px}
  .stack-cert,.after,.edd-form{margin-left:auto}
  .btn{width:auto}
}
@media(prefers-reduced-motion:reduce){.cert-img.reveal{animation:none}}
