/* ============================================================
   Waspire Studio — Heavy Sleep
   Кинематографичная типографика: тёплая кость по холодной темноте,
   один источник света, никакой декоративной геометрии.
   ============================================================ */

:root{
  --void:#08080a;
  --deep:#0b0b0e;
  --ink:#101014;
  --bone:#ebe7df;          /* заголовки, акценты — 16.2:1 */
  --text:#b0aca4;          /* основной текст — 9.3:1 */
  --ash:#8e8b85;           /* второстепенное — 5.9:1 */
  --dim:#807d75;           /* подписи — 4.9:1, минимум для AA */
  --hair:rgba(235,231,223,.11);
  --hair-lit:rgba(235,231,223,.22);
  --ember:#c8763a;
  --ember-lit:#ffb670;

  --serif:"Cormorant Garamond","Playfair Display",Georgia,"Times New Roman",serif;
  --sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;

  --wrap:min(1160px,100vw - 56px);
  --head-h:80px;

  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-soft:cubic-bezier(.4,0,.2,1);
}

*,*::before,*::after{box-sizing:border-box}

html{scroll-behavior:smooth;scroll-padding-top:100px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{
  margin:0;
  background:var(--void);
  color:var(--text);
  font-family:var(--sans);
  font-size:17px;
  font-weight:400;
  line-height:1.62;
  letter-spacing:.004em;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
ol,ul{list-style:none;margin:0;padding:0}

::selection{background:var(--ember);color:#120a04}

.wrap{width:var(--wrap);margin:0 auto}

/* ---------- зерно плёнки поверх всего ---------- */

.filmgrain{
  position:fixed;inset:-60px;z-index:90;pointer-events:none;
  opacity:.032;mix-blend-mode:screen;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23g)'/%3E%3C/svg%3E");
  animation:grain 1.4s steps(3) infinite;
}
@keyframes grain{
  0%{transform:translate(0,0)}
  33%{transform:translate(-14px,9px)}
  66%{transform:translate(11px,-12px)}
  100%{transform:translate(0,0)}
}
@media (prefers-reduced-motion:reduce){.filmgrain{animation:none;opacity:.02}}

/* ---------- общая типографика ---------- */

.serif{
  font-family:var(--serif);
  font-weight:300;
  letter-spacing:-.008em;
  line-height:1.02;
  margin:0;
}
.is-italic{font-style:italic;color:var(--ash)}
.is-thin{color:transparent;-webkit-text-stroke:.9px rgba(235,231,223,.42)}

.label{
  font-family:var(--sans);font-size:11px;font-weight:400;
  letter-spacing:.2em;text-transform:uppercase;color:var(--dim);
  margin:0 0 28px;display:flex;align-items:center;gap:14px;
}
.label i{font-style:normal;color:var(--ember)}
.label--center{justify-content:center}

.tagline{
  font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--dim);margin:0;display:flex;align-items:center;gap:16px;
}
.tagline em{font-style:normal;color:var(--ash);display:flex;align-items:center;gap:10px}
.tagline em::before{
  content:"";width:5px;height:5px;border-radius:50%;background:var(--ember);
  box-shadow:0 0 12px 2px rgba(255,182,112,.55);
  animation:breathe 3.6s var(--ease-soft) infinite;
}
@keyframes breathe{0%,100%{opacity:1}50%{opacity:.32}}
@media (prefers-reduced-motion:reduce){.tagline em::before{animation:none}}

/* ---------- шапка ---------- */

.head{
  position:fixed;top:0;left:0;right:0;z-index:80;height:var(--head-h);
  display:flex;align-items:center;
  transition:background .5s var(--ease-soft),backdrop-filter .5s var(--ease-soft),border-color .5s var(--ease-soft);
  border-bottom:1px solid transparent;
}
.head.is-lifted{
  background:rgba(8,8,10,.78);
  backdrop-filter:blur(16px) saturate(120%);
  border-bottom-color:var(--hair);
}
.head__inner{width:var(--wrap);margin:0 auto;display:flex;align-items:center;gap:34px}

.mark{display:flex;align-items:center;gap:11px;margin-right:auto}
.mark img{width:30px;height:auto;opacity:.92}
.mark span{
  font-size:13px;letter-spacing:.3em;text-transform:uppercase;font-weight:400;
}

.head__nav{display:flex;gap:34px}
.head__nav a{
  font-size:12.5px;letter-spacing:.14em;color:var(--ash);
  display:flex;align-items:baseline;gap:8px;position:relative;padding:6px 0;
  transition:color .3s var(--ease-soft);
}
.head__nav a i{font-style:normal;font-size:9.5px;letter-spacing:.2em;color:var(--dim);transition:color .3s var(--ease-soft)}
.head__nav a::after{
  content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;
  background:var(--ember);transform:scaleX(0);transform-origin:left;
  transition:transform .45s var(--ease);
}
.head__nav a:hover,.head__nav a.is-here{color:var(--bone)}
.head__nav a:hover i,.head__nav a.is-here i{color:var(--ember)}
.head__nav a:hover::after,.head__nav a.is-here::after{transform:scaleX(1)}

.head__cta{
  font-size:12.5px;letter-spacing:.16em;color:var(--bone);
  border:1px solid var(--hair-lit);padding:11px 22px;border-radius:2px;
  transition:background .4s var(--ease-soft),color .4s var(--ease-soft),border-color .4s var(--ease-soft);
}
.head__cta:hover{background:var(--bone);color:var(--void);border-color:var(--bone)}

.head__burger{display:none;width:40px;height:34px;flex-direction:column;justify-content:center;gap:6px;align-items:flex-end}
.head__burger span{display:block;height:1px;background:var(--bone);transition:width .35s var(--ease),transform .35s var(--ease)}
.head__burger span:nth-child(1){width:22px}
.head__burger span:nth-child(2){width:14px}
.head__burger[aria-expanded="true"] span:nth-child(1){transform:translateY(3.5px) rotate(45deg);width:22px}
.head__burger[aria-expanded="true"] span:nth-child(2){transform:translateY(-3.5px) rotate(-45deg);width:22px}

/* ---------- открытие ---------- */

.opening{
  position:relative;min-height:100svh;display:flex;align-items:center;
  padding:calc(var(--head-h) + 80px) 0 140px;overflow:hidden;
}
.opening__atmos{position:absolute;inset:0;width:100%;height:100%;opacity:.85}
.opening__lamp{
  position:absolute;width:760px;height:760px;left:0;top:0;pointer-events:none;
  margin:-380px 0 0 -380px;
  background:radial-gradient(closest-side,rgba(255,182,112,.09),rgba(255,182,112,.03) 45%,transparent 72%);
  opacity:0;transition:opacity 1.2s var(--ease-soft);will-change:transform;
}
.opening__lamp.is-lit{opacity:1}
.opening__fade{
  position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(130% 100% at 50% 40%,transparent 30%,rgba(8,8,10,.72) 100%),
    linear-gradient(180deg,rgba(8,8,10,.6),transparent 22%,transparent 68%,var(--void));
}

.opening__inner{position:relative;width:var(--wrap);margin:0 auto}

.opening__title{
  font-family:var(--serif);font-weight:300;
  font-size:clamp(72px,14vw,206px);line-height:.84;letter-spacing:-.026em;
  margin:38px 0 0;
}
.opening__title span.rise{display:block}

.opening__ru{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:clamp(21px,3vw,34px);color:var(--ash);
  margin:26px 0 0;letter-spacing:.02em;
}

.opening__note{
  margin:34px 0 0;color:var(--text);font-size:18px;line-height:1.62;max-width:48ch;
  opacity:0;transform:translateY(14px);
  animation:softIn 1.1s var(--ease) 1.15s forwards;
}
@keyframes softIn{to{opacity:1;transform:none}}

.opening__acts{
  display:flex;flex-wrap:wrap;gap:16px;margin-top:48px;
  opacity:0;transform:translateY(14px);
  animation:softIn 1.1s var(--ease) 1.35s forwards;
}

.cta{
  position:relative;overflow:hidden;
  padding:17px 38px;border-radius:2px;background:var(--bone);color:var(--void);
  font-size:13px;letter-spacing:.18em;text-transform:uppercase;
  transition:color .45s var(--ease-soft);
}
.cta span{position:relative;z-index:2}
.cta::before{
  content:"";position:absolute;inset:0;z-index:1;background:var(--ember);
  transform:translateY(101%);transition:transform .5s var(--ease);
}
.cta:hover{color:#120a04}
.cta:hover::before{transform:translateY(0)}

.ghost{
  padding:17px 34px;border:1px solid var(--hair-lit);border-radius:2px;
  font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--ash);
  transition:color .4s var(--ease-soft),border-color .4s var(--ease-soft);
}
.ghost:hover{color:var(--bone);border-color:var(--hair-lit)}

.opening__down{
  position:absolute;left:50%;bottom:42px;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:14px;
  opacity:0;animation:softIn 1.2s var(--ease) 1.8s forwards;
}
.opening__down-line{width:1px;height:52px;background:linear-gradient(180deg,transparent,var(--hair-lit));position:relative;overflow:hidden}
.opening__down-line::after{
  content:"";position:absolute;left:0;top:-50%;width:1px;height:50%;
  background:linear-gradient(180deg,transparent,var(--ember-lit));
  animation:drop 2.6s var(--ease-soft) infinite;
}
@keyframes drop{0%{top:-50%}70%,100%{top:100%}}
.opening__down-word{font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--dim)}
@media (prefers-reduced-motion:reduce){.opening__down-line::after{animation:none}}

/* ---------- пролог ---------- */

.verse{padding:150px 0;position:relative}
.verse::before{
  content:"";position:absolute;left:50%;top:0;transform:translateX(-50%);
  width:1px;height:110px;background:linear-gradient(180deg,var(--hair-lit),transparent);
}
.verse__inner{width:min(880px,100vw - 56px);margin:0 auto;text-align:center}
.verse__line{
  font-family:var(--serif);font-weight:300;
  font-size:clamp(26px,4.4vw,52px);line-height:1.28;letter-spacing:-.01em;
  color:var(--ash);margin:0 0 30px;
}
.verse__line:last-child{margin-bottom:0}
.verse__line span{
  display:inline-block;
  opacity:0;filter:blur(9px);transform:translateY(20px);
  transition:opacity 1.5s var(--ease),filter 1.5s var(--ease),transform 1.5s var(--ease);
}
.verse__line.is-on span{opacity:1;filter:blur(0);transform:none}
.verse__line--turn{color:var(--bone)}
.verse__line--turn span{transition-duration:2s}

/* ---------- глава ---------- */

.chapter{padding:118px 0;position:relative}
.chapter--dark{background:var(--deep);border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}

.chapter__head{max-width:920px;margin-bottom:74px}
.chapter__head--center{max-width:none;text-align:center;margin-bottom:70px}
.chapter__title{font-size:clamp(38px,6vw,82px)}
.chapter__title--big{font-size:clamp(46px,8.4vw,124px)}
.chapter__title span.rise{display:block}
.chapter__lead{margin:30px 0 0;color:var(--text);max-width:54ch;font-size:17.5px}
.chapter__head--center .chapter__lead{margin-left:auto;margin-right:auto}

/* дрожь — «аномалия» в тексте */

.shiver{position:relative;display:inline-block}
.shiver::before,.shiver::after{
  content:attr(data-text);position:absolute;left:0;top:0;pointer-events:none;
  opacity:0;
}
.shiver::before{color:var(--ember);animation:shiverA 9s steps(1) infinite}
.shiver::after{color:#6d8bb0;animation:shiverB 9s steps(1) infinite}
@keyframes shiverA{
  0%,92%{opacity:0;transform:translate(0,0)}
  93%{opacity:.5;transform:translate(-3px,1px)}
  94%{opacity:0}
  96%{opacity:.4;transform:translate(2px,-1px)}
  97%,100%{opacity:0}
}
@keyframes shiverB{
  0%,92.5%{opacity:0;transform:translate(0,0)}
  93.5%{opacity:.42;transform:translate(3px,-1px)}
  95%{opacity:0}
  96.5%{opacity:.34;transform:translate(-2px,1px)}
  97.5%,100%{opacity:0}
}
@media (prefers-reduced-motion:reduce){.shiver::before,.shiver::after{animation:none}}

/* ---------- три идеи ---------- */

.ideas{border-top:1px solid var(--hair)}
.idea{
  display:grid;grid-template-columns:88px 1fr 120px;gap:40px;align-items:start;
  padding:44px 0;border-bottom:1px solid var(--hair);position:relative;
}
.idea::after{
  content:"";position:absolute;left:-24px;right:-24px;top:0;bottom:0;z-index:-1;
  background:linear-gradient(90deg,rgba(235,231,223,.035),transparent 70%);
  opacity:0;transition:opacity .6s var(--ease-soft);
}
.idea:hover::after{opacity:1}
.idea__no{
  font-family:var(--serif);font-size:34px;color:var(--dim);line-height:1;padding-top:6px;
  transition:color .5s var(--ease-soft);
}
.idea:hover .idea__no{color:var(--ember)}
.idea__body h3{font-size:clamp(25px,3vw,36px);margin:0 0 16px}
.idea__body p{margin:0;color:var(--text);max-width:58ch}
.idea__tag{
  justify-self:end;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--dim);border:1px solid var(--hair);padding:7px 14px;border-radius:2px;white-space:nowrap;
}

/* ---------- день / ночь ---------- */

.twin{display:grid;grid-template-columns:1fr 1px 1fr;gap:0;align-items:stretch}
.twin__seam{background:linear-gradient(180deg,transparent,var(--hair-lit) 22%,var(--hair-lit) 78%,transparent)}
.twin__side{padding:14px 56px}
.twin__side:first-child{padding-left:0}
.twin__side:last-child{padding-right:0}
.twin__when{
  font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);margin:0 0 22px;
}
.twin__side--night .twin__when{color:var(--ember)}
.twin__side h3{font-size:clamp(24px,3vw,34px);margin:0 0 20px}
.twin__side p{margin:0;color:var(--text);max-width:52ch}
.twin__side--night h3{color:var(--bone)}

/* ---------- трейлер ---------- */

.reel{padding:128px 0;text-align:center;position:relative;overflow:hidden}
.reel::before{
  content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(900px,110vw);height:420px;
  background:radial-gradient(closest-side,rgba(255,182,112,.07),transparent 72%);
}
.reel__inner{position:relative}
.reel__pulse{
  display:block;width:9px;height:9px;border-radius:50%;background:var(--ember);
  margin:0 auto 34px;position:relative;
}
.reel__pulse::after{
  content:"";position:absolute;inset:0;border-radius:50%;border:1px solid var(--ember);
  animation:ripple 3s var(--ease-soft) infinite;
}
@keyframes ripple{
  0%{transform:scale(1);opacity:.7}
  100%{transform:scale(6);opacity:0}
}
@media (prefers-reduced-motion:reduce){.reel__pulse::after{animation:none}}
.reel__title{font-size:clamp(40px,7vw,96px);margin-bottom:24px}
.reel__note{margin:0 auto;color:var(--text);max-width:46ch}

/* ---------- студия ---------- */

.studio{display:grid;grid-template-columns:.8fr 1.2fr;gap:88px;align-items:start}
.studio__logo{position:relative;padding-top:70px}
.studio__logo img{width:100%;filter:invert(1) brightness(1.04);opacity:.94}
.prose{margin-top:38px}
.prose p{margin:0 0 20px;color:var(--text);max-width:58ch}
.prose p:last-child{margin-bottom:0}

.facts{display:flex;flex-wrap:wrap;gap:0;margin:52px 0 0;border-top:1px solid var(--hair)}
.facts div{flex:1;min-width:130px;padding:26px 26px 0 0}
.facts dt{font-family:var(--serif);font-size:34px;line-height:1;margin:0 0 10px}
.facts dd{margin:0;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}

/* ---------- путь ---------- */

.steps{position:relative;padding-left:44px}
.steps__rail{position:absolute;left:4px;top:14px;bottom:14px;width:1px;background:var(--hair)}
.steps__rail i{
  display:block;width:100%;height:100%;transform-origin:top;transform:scaleY(0);
  background:linear-gradient(180deg,var(--ember),rgba(200,118,58,.15));
}
.step{position:relative;padding:0 0 52px}
.step:last-child{padding-bottom:0}
.step__dot{
  position:absolute;left:-44px;top:9px;width:9px;height:9px;border-radius:50%;
  background:var(--void);border:1px solid var(--hair-lit);transform:translateX(0);
}
.step--now .step__dot{background:var(--ember);border-color:var(--ember);box-shadow:0 0 16px 3px rgba(255,182,112,.4)}
.step__when{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);margin:0 0 12px}
.step--now .step__when{color:var(--ember)}
.step h3{font-size:clamp(23px,2.6vw,31px);margin:0 0 12px}
.step p{margin:0;color:var(--text);max-width:56ch}

/* ---------- список ожидания ---------- */

.join{position:relative;padding:132px 0 120px;text-align:center;overflow:hidden;background:var(--deep);border-top:1px solid var(--hair)}
.join__halo{
  position:absolute;left:50%;top:-14%;transform:translateX(-50%);
  width:min(1100px,130vw);height:820px;pointer-events:none;
  background:radial-gradient(closest-side,rgba(255,182,112,.1),transparent 70%);
}
.join__inner{position:relative}
.join__title{font-size:clamp(42px,7.4vw,104px)}
.join__title span.rise{display:block}
.join__lead{margin:30px auto 0;color:var(--text);max-width:48ch;font-size:17.5px}

.signup{max-width:600px;margin:56px auto 0}
.signup__row{display:flex;align-items:center;gap:0;border-bottom:1px solid var(--hair-lit);transition:border-color .4s var(--ease-soft)}
.signup__row:focus-within{border-bottom-color:var(--ember)}
.signup__row input[type=email]{
  flex:1;background:none;border:0;outline:none;color:var(--bone);
  font-family:var(--serif);font-size:27px;font-weight:300;padding:16px 4px;letter-spacing:.01em;
}
.signup__row input::placeholder{color:var(--dim);font-style:italic}
.signup__row button{
  font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--bone);
  padding:16px 6px 16px 26px;position:relative;white-space:nowrap;
  transition:color .4s var(--ease-soft),opacity .4s var(--ease-soft);
}
.signup__row button::after{
  content:"";position:absolute;left:26px;right:6px;bottom:12px;height:1px;background:var(--ember);
  transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease);
}
.signup__row button:hover::after{transform:scaleX(1);transform-origin:left}
.signup__row button:disabled{opacity:.45;cursor:default}
.signup__row button:disabled::after{display:none}

.signup__consent{
  display:flex;align-items:center;justify-content:center;gap:12px;
  margin-top:24px;font-size:13.5px;color:var(--ash);cursor:pointer;text-align:left;
}
.signup__consent input{position:absolute;opacity:0;width:0;height:0}
.signup__box{
  width:15px;height:15px;border:1px solid var(--hair-lit);border-radius:2px;flex:0 0 auto;
  position:relative;transition:border-color .3s var(--ease-soft),background .3s var(--ease-soft);
}
.signup__box::after{
  content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;
  border:solid var(--void);border-width:0 1.5px 1.5px 0;transform:rotate(45deg) scale(0);
  transition:transform .3s var(--ease);
}
.signup__consent input:checked ~ .signup__box{background:var(--ember);border-color:var(--ember)}
.signup__consent input:checked ~ .signup__box::after{transform:rotate(45deg) scale(1)}
.signup__consent input:focus-visible ~ .signup__box{border-color:var(--ember)}

.signup__done{
  font-family:var(--serif);font-size:27px;font-weight:300;font-style:italic;
  color:var(--ember-lit);margin:0;padding:16px 4px;
}
.signup__note{margin:20px 0 0;font-size:13.5px;color:var(--dim);min-height:22px}
.signup__note.is-bad{color:#e08a72}
.signup__note.is-good{color:var(--ember-lit)}

.links{display:flex;justify-content:center;flex-wrap:wrap;gap:0;margin-top:72px}
.links a{
  padding:0 34px;border-left:1px solid var(--hair);
  display:flex;flex-direction:column;align-items:center;gap:5px;
  transition:color .35s var(--ease-soft);
}
.links a:first-child{border-left:0}
.links a span{font-size:13px;letter-spacing:.16em;color:var(--bone)}
.links a i{font-style:normal;font-size:11.5px;color:var(--dim);transition:color .35s var(--ease-soft)}
.links a:hover i{color:var(--ember)}

/* ---------- подвал ---------- */

.foot{padding:40px 0;border-top:1px solid var(--hair)}
.foot__inner{display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;align-items:center}
.foot p{margin:0;font-size:12.5px;color:var(--dim)}
.foot nav{display:flex;gap:28px}
.foot a{font-size:12.5px;color:var(--dim);transition:color .3s var(--ease-soft)}
.foot a:hover{color:var(--bone)}

/* ---------- анимации появления ---------- */

/* строки, выезжающие из-под маски */
.motion .rise{display:block;overflow:hidden;padding:.14em 0;margin:-.14em 0}
.motion .rise > span{
  display:inline-block;
  transform:translateY(110%);
  transition:transform 1.05s var(--ease);
}
.motion .rise.is-on > span{transform:none}
.motion .rise:nth-child(2) > span{transition-delay:.1s}
.motion .rise:nth-child(3) > span{transition-delay:.2s}

/* мягкое проявление блоков */
.motion .fade{opacity:0;transform:translateY(24px);transition:opacity .95s var(--ease),transform .95s var(--ease)}
.motion .fade.is-on{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  .motion .rise > span,.motion .fade{transition:none;transform:none;opacity:1}
  .opening__note,.opening__acts,.opening__down,.specs{animation:none;opacity:1;transform:none}
  .verse__line span{transition:none;opacity:1;filter:none;transform:none}
}

/* ---------- фокус с клавиатуры ---------- */

:focus-visible{
  outline:2px solid var(--ember-lit);
  outline-offset:3px;
  border-radius:2px;
}

.skip{
  position:absolute;left:16px;top:-70px;z-index:100;
  background:var(--bone);color:var(--void);
  padding:12px 20px;border-radius:2px;font-size:13px;
  transition:top .25s var(--ease);
}
.skip:focus{top:16px}

/* ---------- характеристики на первом экране ---------- */

.specs{
  display:flex;flex-wrap:wrap;gap:0;margin:54px 0 0;max-width:660px;
  border-top:1px solid var(--hair);
  opacity:0;transform:translateY(14px);
  animation:softIn 1.1s var(--ease) 1.55s forwards;
}
.specs div{flex:1 1 auto;min-width:132px;padding:20px 26px 0 0}
.specs dt{
  font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--dim);margin:0 0 7px;
}
.specs dd{margin:0;font-size:14.5px;color:var(--bone);line-height:1.35}

/* ---------- вопросы ---------- */

.qa{border-top:1px solid var(--hair);max-width:880px}
.qa__item{border-bottom:1px solid var(--hair)}
.qa__item summary{
  list-style:none;cursor:pointer;
  display:flex;align-items:center;gap:24px;
  padding:26px 0;
}
.qa__item summary::-webkit-details-marker{display:none}
.qa__item summary h3{
  font-family:var(--serif);font-weight:400;font-size:clamp(20px,2.4vw,26px);
  line-height:1.25;margin:0;margin-right:auto;color:var(--bone);
  transition:color .3s var(--ease-soft);
}
.qa__item summary:hover h3{color:var(--ember-lit)}

.qa__sign{
  position:relative;width:13px;height:13px;flex:0 0 auto;
}
.qa__sign::before,.qa__sign::after{
  content:"";position:absolute;background:var(--dim);
  transition:transform .35s var(--ease),background .3s var(--ease-soft);
}
.qa__sign::before{left:0;top:6px;width:13px;height:1px}
.qa__sign::after{left:6px;top:0;width:1px;height:13px}
.qa__item[open] .qa__sign::after{transform:scaleY(0)}
.qa__item[open] .qa__sign::before{background:var(--ember)}

.qa__answer{padding:0 0 28px;max-width:64ch}
.qa__answer p{margin:0;color:var(--text)}
.qa__answer a{color:var(--ember-lit);border-bottom:1px solid rgba(255,182,112,.3)}

/* Раскрытие без скачка: анимируем сетку, а не высоту. */
.qa__item[open] .qa__answer{animation:qaOpen .45s var(--ease)}
@keyframes qaOpen{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.qa__item[open] .qa__answer{animation:none}}

/* ---------- адаптив ---------- */

@media (max-width:1000px){
  :root{--wrap:min(1160px,100vw - 40px)}

  .head__nav{
    position:fixed;top:var(--head-h);left:0;right:0;
    flex-direction:column;gap:0;padding:10px 0 18px;
    background:rgba(8,8,10,.97);backdrop-filter:blur(18px);
    border-bottom:1px solid var(--hair);
    display:none;
  }
  .head__nav.is-open{display:flex}
  .head__nav a{padding:15px 28px;font-size:14px}
  .head__nav a::after{display:none}
  .head__cta{display:none}
  .head__burger{display:flex}

  .idea{grid-template-columns:60px 1fr;gap:26px}
  .idea__tag{grid-column:2;justify-self:start;margin-top:4px}
  .idea__no{font-size:26px}

  .twin{grid-template-columns:1fr;gap:0}
  .twin__seam{height:1px;width:100%;background:var(--hair);margin:48px 0}
  .twin__side{padding:0}

  .studio{grid-template-columns:1fr;gap:52px}
  .studio__logo{padding-top:0;max-width:420px}

  .links{gap:26px 0}
  .links a{padding:0 24px}
}

@media (max-width:620px){
  :root{--wrap:min(1160px,100vw - 32px);--head-h:70px}

  .specs{margin-top:40px}
  .specs div{flex:0 0 50%;min-width:0;padding-right:16px}
  .qa__item summary{padding:22px 0;gap:16px}
  .qa__answer{padding-bottom:22px}

  .chapter{padding:104px 0}
  .verse{padding:130px 0}
  .join{padding:120px 0 104px}
  .reel{padding:114px 0}

  .chapter__head{margin-bottom:62px}
  .opening{padding-bottom:120px}
  .opening__note{font-size:16px}
  .opening__acts{gap:12px}
  .cta,.ghost{padding:15px 26px;font-size:12px}

  .idea{grid-template-columns:1fr;gap:14px;padding:40px 0}
  .idea__no{padding-top:0}
  .idea__tag{grid-column:1}

  .signup__row{flex-wrap:wrap}
  .signup__row input[type=email]{font-size:22px;flex-basis:100%}
  .signup__row button{padding-left:0;margin-top:6px}
  .signup__row button::after{left:0}
  .signup__consent{align-items:flex-start}
  .signup__box{margin-top:4px}

  .links a{border-left:0;padding:0 18px}
  .facts div{padding-right:16px;min-width:104px}
  .facts dt{font-size:27px}
}
