
:root{--bg:#000;--panel:#171717;--line:#353535;--orange:#ff4e00;--text:#fff;--soft:#aaa9a6;--input:#202020;--edge:20px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);margin:0;font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:#ff9a6e}a:focus-visible,button:focus-visible,.upload:focus-visible{outline:3px solid var(--focus);outline-offset:4px}button{cursor:pointer;font:inherit}button:disabled{cursor:progress;opacity:.55}
.container{width:min(1120px,calc(100% - 64px));margin:0 auto}.top{height:81px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff24}.brand{font-size:24px;font-weight:900;letter-spacing:-1.2px}.brand span{color:var(--orange);font-weight:600;margin:0 6px}.brand small{font-size:17px}.tag{color:#a6a6a6;font-size:11px;font-weight:700;letter-spacing:2px}.hero{padding:75px 0 52px;border-bottom:1px solid #ffffff1f}.hero>.container{display:grid;grid-template-columns:1.06fr .94fr;gap:40px;align-items:center}.eyebrow{font-size:12px;font-weight:800;letter-spacing:2.7px;color:var(--orange);text-transform:uppercase}.hero h1{font-size:clamp(53px,6.5vw,104px);line-height:.93;letter-spacing:-.066em;margin:19px 0 21px;font-weight:900}.hero h1 em{color:var(--orange);font-style:normal}.hero p{color:#c4c2bf;font-size:19px;line-height:1.5;max-width:570px}.heroimg{width:100%;min-height:295px;align-self:stretch;border-radius:4px;position:relative;overflow:hidden;background:url('hero-dark.webp') center 52%/cover no-repeat;background-color:#1a1715}.facts{display:flex;gap:24px;margin-top:32px}.facts div{border-left:2px solid var(--orange);padding-left:13px}.facts b{font-size:22px;display:block}.facts span{color:#999;font-size:12px}
.formarea{padding:51px 0 90px;display:grid;grid-template-columns:245px minmax(0,1fr);gap:64px}.side{padding-top:12px}.side p{color:var(--soft);font-size:14px;line-height:1.6;margin-top:12px}.aside-heading{color:var(--orange);font-size:12px;font-weight:900;letter-spacing:2px}.sidetitle{font-size:28px;font-weight:900;line-height:1.12;letter-spacing:-1.1px;margin:22px 0}.side-note{margin-top:27px;padding:17px 0;border-top:1px solid #ffffff2b;font-size:13px;color:#aba8a5;line-height:1.5}.side-note b{color:var(--text)}
.form{background:var(--panel);border:1px solid #343434;padding:34px 40px 36px;border-radius:9px;box-shadow:0 24px 75px #0009;min-width:0}.formtop{display:flex;align-items:center;justify-content:space-between;gap:10px}.formtop h2{font-size:28px;line-height:1.1;letter-spacing:-.7px;margin:0}.formtop span{font-size:12px;color:#bbb;white-space:nowrap}.track{display:flex;gap:7px;margin:23px 0 31px}.track div{height:4px;flex:1;background:#454545;border-radius:5px}.track div.active{background:var(--orange)}.panel{display:none;animation:rise .22s ease both}.panel.active{display:block}@keyframes rise{from{opacity:.7;transform:translateY(7px)}to{opacity:1;transform:none}}.supertitle{font-size:11px;font-weight:800;letter-spacing:2px;color:var(--orange)}.panel h3{font-size:26px;letter-spacing:-.8px;margin:7px 0 6px}.panel .sub{font-size:14px;line-height:1.5;color:#aaa;margin:0 0 23px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field.wide{grid-column:1/-1}.field label{display:block;font-size:13px;font-weight:700;margin-bottom:8px}.req{color:#ff6b2a}input:not([type=checkbox]):not([type=file]),select,textarea{display:block;width:100%;min-width:0;min-height:50px;padding:14px;background:var(--input);color:white;border:1px solid #464646;border-radius:5px;outline:none;font-family:Arial,Helvetica,sans-serif;font-size:16px;transition:border-color .15s}input:focus,select:focus,textarea:focus{border-color:var(--orange)!important}input::placeholder,textarea::placeholder{color:#797979}textarea{resize:vertical;min-height:105px;line-height:1.5}select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#aaa 50%),linear-gradient(135deg,#aaa 50%,transparent 50%);background-size:6px 6px;background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-repeat:no-repeat}.note{font-size:12px;color:#a7a7a7;line-height:1.5;margin-top:9px}.upload{display:block;border:1px dashed #777;text-align:center;padding:27px 12px;background:#202020;border-radius:7px;cursor:pointer}.upload.isdrag,.upload:hover{border-color:var(--orange)}.upload-ico{font-size:26px;color:var(--orange)}.upload strong{display:block;margin:7px auto 8px;font-size:16px;max-width:400px}.upload small{display:block;color:#aaa;line-height:1.6;font-size:12px}.filenames{margin-top:9px;font-size:13px;white-space:pre-line;color:#ffd0c1}.consent{margin-top:25px;display:grid;gap:17px}.consent label{display:flex;align-items:start;gap:11px;line-height:1.55;color:#c6c6c6;font-size:13px}.consent input{margin:2px 0 0;flex-shrink:0;height:19px;width:19px;accent-color:var(--orange)}.navbuttons{display:flex;gap:12px;align-items:center;justify-content:flex-end;margin-top:30px;border-top:1px solid #363636;padding-top:25px}.btn{border:0;min-height:51px;padding:15px 22px;border-radius:5px;font-size:15px;font-weight:800}.primary{background:var(--orange);color:white;min-width:195px}.secondary{background:#2a2a2a;color:#ddd;border:1px solid #454545}.primary:hover{background:#e74500}.status{color:#ffad93;font-size:13px;line-height:1.4;margin-top:13px;min-height:0}.final-note{font-size:12px;color:#aaa;line-height:1.5;margin-top:14px}.sent{padding:35px 24px;border:1px solid #445747;background:#15231c;border-radius:6px}.sent b{font-size:25px;display:block;margin-bottom:14px}.sent p{line-height:1.5;color:#bcd2c3}.footer{border-top:1px solid #ffffff25;color:#999;font-size:12px;padding:30px 0 40px;display:flex;justify-content:space-between;gap:15px}.hp{position:absolute;left:-99999px;opacity:0;pointer-events:none}
@media(max-width:950px){.container{width:calc(100% - 44px)}.formarea{grid-template-columns:1fr;gap:22px;padding-top:28px}.side{display:none}.hero{padding:44px 0 29px}.hero>.container{display:block}.heroimg{display:block;height:240px;min-height:0;margin-top:28px}.hero h1{font-size:clamp(52px,8vw,82px)}.form{padding:29px}.fields{gap:15px}}
@media(max-width:600px){.container{width:calc(100% - 30px)}.top{height:65px}.brand{font-size:20px}.brand small{font-size:14px}.tag{letter-spacing:.7px;font-size:9px}.hero{padding:31px 0 23px}.hero h1{font-size:clamp(48px,12vw,64px);margin:11px 0 16px}.hero p{font-size:15px;line-height:1.5;margin:0}.eyebrow{font-size:10px}.facts{margin-top:23px;gap:11px;justify-content:space-between}.facts div{padding-left:9px;flex:1}.facts b{font-size:17px}.facts span{font-size:10px;line-height:1.3;display:block}.formarea{padding:18px 0 40px}.form{padding:21px 16px 25px;border-radius:7px}.formtop h2{font-size:21px}.formtop span{font-size:11px}.track{margin:20px 0 23px}.panel h3{font-size:23px}.panel .sub{font-size:13px}.fields{grid-template-columns:1fr;gap:15px}.field.wide{grid-column:auto}.field label{font-size:13px}.navbuttons{margin-top:24px;padding-top:22px}.btn{font-size:15px;flex:1;padding:12px}.primary{min-width:0}.upload{padding:20px 9px}.footer{font-size:10px;padding:24px 0;display:flex;flex-direction:column;gap:2px;line-height:1.7}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.panel{animation:none}}

/* Progressive enhancement and keyboard accessibility. */
button:disabled{cursor:not-allowed}
.form:not(.enhanced) .panel{display:block;margin-bottom:30px}
.form:not(.enhanced) [data-next],.form:not(.enhanced) [data-previous]{display:none}
.upload{display:none}.enhanced .upload{display:block}
.enhanced input[type=file]{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.tag{max-width:48%;overflow-wrap:anywhere;text-align:right}
.panel h3:focus{outline:none}.empty-state{padding:70px 0;min-height:55vh}
.errorlist,[data-file-error]{color:#ffad93;font-size:13px}

.fields>.consent{margin-top:7px}.fields>.consent label{margin-bottom:0;font-weight:400}

.captcha-container{min-height:100px;margin-top:25px;max-width:100%}
[data-submit-status]:empty{display:none}

.sidetitle span { color: var(--orange); }

/* Avoid awkward headline wrapping. */
.hero h1 { font-size: clamp(42px, 4vw, 56px); }
@media (max-width: 600px) {
  .hero h1 { font-size: clamp(36px, 11.5vw, 64px); }
}


/* One aligned brand lockup, shared with the light theme. */
.brand { display: inline-flex; align-items: center; gap: 12px; font-size: 24px; line-height: 1; }
.brand span { color: inherit; margin: 0; font: inherit; letter-spacing: inherit; }
.brand .brand-divider { width: 1px; height: 1em; background: currentColor; opacity: .25; }
@media (max-width: 600px) {
  .brand { gap: 8px; font-size: 20px; }
}

/* Dodo Russia: white text on dark backgrounds; beige belongs to light surfaces.
   https://shift.dodobrands.io/graphic-design/visual-style-dodo-pizza */
:root {
  color-scheme: dark;
  --focus: #50d7ff;
  --muted: #c4c2bf;      /* body copy on dark */
  --field-line: #6c6a66; /* 3.4:1 to the card, visible input and upload borders */
  --placeholder: #8f8c88;
}
.form { border-color: var(--line); }
.tag, .facts span, .panel .sub, .note, .upload small, .final-note, .footer { color: var(--soft); }
.hero p, .formtop span, .consent label { color: var(--muted); }
input:not([type=checkbox]):not([type=file]), select, textarea {
  color: var(--text);
  border-color: var(--field-line);
}
input::placeholder, textarea::placeholder { color: var(--placeholder); }
select {
  background-image:
    linear-gradient(45deg, transparent 50%, var(--soft) 50%),
    linear-gradient(135deg, var(--soft) 50%, transparent 50%);
}
.track div { background: #55524f; }
.upload { border-color: var(--field-line); }
.secondary { color: var(--text); border-color: var(--field-line); }

/* Narrow screens keep the participation conditions: form first, then the side text. */
@media (max-width: 950px) {
  .formarea > .form { order: 1; }
  .formarea > .side {
    order: 2;
    display: block;
    padding-top: 8px;
  }
  .sidetitle { margin: 14px 0; }
}
/* Use the full-resolution image on tablets and a tighter crop on phones. */
@media (max-width: 600px) {
  .heroimg {
    display: block;
    height: 170px;
    min-height: 0;
    margin-top: 24px;
    background:
      url('hero-dark.webp') center 52% / cover no-repeat;
    background-color: #1a1715;
  }
  .sidetitle { font-size: 24px; }
}
.deadline { display: inline-flex; align-items: center; gap: 10px; margin-top: 26px; padding: 10px 16px; border: 1px solid var(--line); border-radius: 5px; background: var(--panel); color: var(--text); font-size: 14px; font-weight: 700; line-height: 1.4; }
.deadline::before { content: ""; flex-shrink: 0; width: 8px; height: 8px; border-radius: 50%; background: var(--orange); }
