.kz-preorder{
    --bg-top:#1e130e;
    --bg-bottom:#140c08;
    --glow:rgba(92,62,42,.55);
    --cream:#f4e3c3;
    --body:#cdb8a2;
    --muted:#9e8a78;
    --gold-700:#a17946;
    --gold-link:#e8c48e;
    --ink:#231511;
    --line:rgba(211,170,116,.35);
    --field:rgba(255,255,255,.06);
    --card:rgba(255,255,255,.05);
    --placeholder:rgba(226,211,194,.6);
  }

  .kz-preorder{
    position:relative;
    overflow:hidden;
    background:
      radial-gradient(ellipse 800px 272px at 61% 50%, var(--glow) 0%, rgba(26,16,12,0) 70%),
      linear-gradient(180deg,var(--bg-top) 0%,var(--bg-bottom) 100%);
    padding:120px 100px;
    font-family:"Manrope",system-ui,sans-serif;
    color:var(--body);
  }
  .kz-preorder__inner{
    max-width:1240px;margin:0 auto;
    display:flex;align-items:center;gap:80px;
  }

  /* ---------- Обложка ---------- */
  .kz-cover{
    flex:0 0 340px;aspect-ratio:340/521;position:relative;border-radius:6px;
    overflow:hidden;
  }
  .kz-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2}
  /* Фолбэк-обложка, если файл картинки не найден */
  .kz-cover__fallback{
    position:absolute;inset:0;
    background:
      radial-gradient(ellipse 45% 30% at 50% 82%,rgba(255,214,150,.45),transparent 70%),
      linear-gradient(180deg,#1b2638 0%,#121a28 100%);
    display:flex;flex-direction:column;align-items:center;padding-top:9%;
    font-family:"STIX Two Text",serif;color:#e2bd84;text-align:center;
  }
  .kz-cover__fallback::before{ /* корешок */
    content:"";position:absolute;left:0;top:0;bottom:0;width:10px;
    background:linear-gradient(90deg,rgba(0,0,0,.45),rgba(255,255,255,.05),transparent);
  }
  .kz-cover__author{font-family:"Manrope",sans-serif;font-size:9px;letter-spacing:.2em;text-transform:uppercase;opacity:.75}
  .kz-cover__title{font-size:42px;line-height:.95;margin-top:12%;letter-spacing:.03em}
  .kz-cover__plane{width:46%;margin-top:9%}

  /* ---------- Текст ---------- */
  .kz-text{width:100%;flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:24px}
  .kz-overline{
    margin:0;font-weight:600;font-size:14px;line-height:1.4;letter-spacing:.06em;
    text-transform:uppercase;color:var(--gold-700);
  }
  .kz-title{
    margin:0;font-family:"STIX Two Text",Georgia,serif;font-weight:400;
    font-size:80px;line-height:1;letter-spacing:-.01em;color:var(--cream);
  }
  .kz-lead{margin:0;font-size:18px;line-height:1.45;color:var(--body);max-width:820px}

  /* ---------- Форма ---------- */
  .kz-form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;max-width:820px}
  .kz-field{flex:1 1 220px;min-width:0;position:relative}
  .kz-input{
    width:100%;height:62px;padding:0 24px;border-radius:40px;
    background:var(--field);border:1px solid var(--line);
    font:400 16px/1.5 "Manrope",sans-serif;color:var(--cream);outline:none;
    transition:border-color .2s,background .2s;
  }
  .kz-input::placeholder{color:var(--placeholder)}
  .kz-input:focus{border-color:rgba(232,196,142,.8);background:rgba(255,255,255,.08)}
  .kz-input[aria-invalid="true"]{border-color:#d9785b}
  .kz-error{
    display:block;margin:6px 24px 0;font-size:13px;line-height:1.4;color:#e59a80;
  }
  .kz-preorder [hidden]{display:none!important}

  .kz-btn{
    flex:0 0 auto;height:58px;margin-top:2px;padding:0 28px;border:0;border-radius:40px;cursor:pointer;
    display:inline-flex;align-items:center;justify-content:center;gap:12px;
    background:linear-gradient(180deg,#ffefd2 0%,#c68c4a 100%);
    font:600 18px/1.2 "Manrope",sans-serif;color:var(--ink);white-space:nowrap;
    transition:filter .2s,transform .2s;
  }
  .kz-btn:hover{filter:brightness(1.06)}
  .kz-btn:active{transform:translateY(1px)}
  .kz-btn:focus-visible{outline:2px solid var(--gold-link);outline-offset:3px}
  .kz-btn[disabled]{opacity:.7;cursor:progress}
  .kz-btn svg{width:22px;height:22px;flex:none}

  .kz-note{margin:0;font-size:14px;line-height:1.45;color:var(--muted)}

  /* ---------- Успех ---------- */
  .kz-success{
    display:none;gap:20px;align-items:flex-start;max-width:820px;
    padding:22px 28px 22px 24px;border-radius:18px;
    background:var(--card);border:1px solid var(--line);
  }
  .kz-success__check{
    flex:none;width:44px;height:44px;border-radius:22px;
    background:linear-gradient(180deg,#fff0d5 0%,#d5b989 100%);
    display:flex;align-items:center;justify-content:center;
  }
  .kz-success__check svg{width:22px;height:22px}
  .kz-success__body{display:flex;flex-direction:column;gap:8px;min-width:0}
  .kz-success__title{margin:0;font-family:"STIX Two Text",serif;font-weight:400;font-size:24px;color:var(--cream)}
  .kz-success__text{margin:0;font-size:16px;line-height:1.5;color:var(--body);overflow-wrap:anywhere}
  .kz-success__link{
    display:inline-flex;align-items:center;gap:8px;padding-top:6px;
    font-weight:600;font-size:15px;color:var(--gold-link);text-decoration:none;width:fit-content;
  }
  .kz-success__link svg{width:18px;height:18px;transition:transform .2s}
  .kz-success__link:hover svg{transform:translateX(3px)}

  /* Переключение состояний */
  .kz-preorder.is-done .kz-form,
  .kz-preorder.is-done .kz-note{display:none}
  .kz-preorder.is-done .kz-success{display:flex;animation:kzIn .45s ease both}
  @keyframes kzIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

  /* ---------- Адаптив ---------- */
  @media (max-width:1180px){
    .kz-preorder{padding:96px 48px}
    .kz-preorder__inner{gap:56px}
    .kz-cover{flex-basis:280px}
    .kz-title{font-size:64px}
  }
  @media (max-width:860px){
    .kz-preorder{padding:72px 24px}
    .kz-preorder__inner{flex-direction:column;align-items:flex-start;gap:40px}
    .kz-cover{flex-basis:auto;width:220px;align-self:center}
    .kz-title{font-size:48px}
    .kz-lead{font-size:16px}
  }
  @media (max-width:560px){
    .kz-preorder{padding:56px 16px}
    .kz-title{font-size:40px}
    .kz-form{flex-direction:column;gap:28px}
    .kz-field{flex:none}
    .kz-field,.kz-btn{width:100%}
    .kz-input{height:56px}
    .kz-btn{height:56px;margin-top:0}
    .kz-success{padding:18px;gap:14px}
    .kz-success__title{font-size:21px}
  }
  @media (prefers-reduced-motion:reduce){
    .kz-preorder,.kz-preorder *{animation:none!important;transition:none!important}
  }
