/* Главная, вариант A «Живая вёрстка» (концепция Армана).
   Подключается ТОЛЬКО на index.html — site.css и внутренние страницы не трогаем.
   Палитра бренда: бумага #f0ebe1, чернила #16140f, краска #df4f27, печать #1f5d4c. */

/* ——— Hero ——— */
.ha-hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:84px 0 30px}
/* размер строки ограничен и шириной (vw), и высотой (svh) — весь блок влезает в первый экран */
.ha-hero h1{font-family:var(--display);font-weight:800;font-size:clamp(38px,min(7vw,11svh),104px);line-height:.98;letter-spacing:-.03em;margin:0;text-transform:uppercase;hyphens:none;overflow-wrap:normal}
.ha-hero h1 .line{display:block;overflow:hidden}
.ha-hero h1 .line>span{display:inline-block;transform:translateY(112%);animation:haLineRise .75s cubic-bezier(.22,1,.36,1) forwards}
.ha-hero h1 .line:nth-child(2)>span{animation-delay:.09s}
.ha-hero h1 .line:nth-child(3)>span{animation-delay:.18s}
@keyframes haLineRise{to{transform:translateY(0)}}
.ha-outline{-webkit-text-stroke:2.5px var(--ink);color:transparent;transition:color .3s}
.ha-outline:hover{color:var(--accent);-webkit-text-stroke-color:var(--accent)}
@media(max-width:420px){.ha-outline{-webkit-text-stroke:0;color:var(--accent)}}

.ha-bgword{position:absolute;top:8%;left:50%;transform:translateX(-50%);font-family:var(--display);font-weight:800;font-size:28vw;letter-spacing:-.04em;color:var(--ink);opacity:.045;pointer-events:none;white-space:nowrap;will-change:transform}

.ha-dateline{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:22px;font-weight:700;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft)}
.ha-dateline i{font-style:normal;color:var(--accent)}
.ha-hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}
.ha-hero .lead{margin-top:20px;font-size:clamp(16px,1.7vw,20px)}

/* штамп */
.ha-stamp{position:absolute;top:clamp(90px,12vw,130px);right:clamp(14px,5vw,70px);width:clamp(110px,14vw,170px);aspect-ratio:1;pointer-events:none}
.ha-stamp svg{width:100%;height:100%;animation:haSpin 20s linear infinite}
.ha-stamp text{font-family:var(--body);font-weight:700;font-size:11.5px;letter-spacing:.24em;fill:var(--ink);text-transform:uppercase}
.ha-stamp .arrow{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:26px;color:var(--accent)}
@keyframes haSpin{to{transform:rotate(360deg)}}
@media(max-width:700px){.ha-stamp{display:none}}

/* ——— Двойной marquee ——— */
.ha-mq{overflow:hidden;border-top:1px solid var(--line)}
.ha-mq .track{display:flex;gap:44px;width:max-content;padding:16px 0;animation:haMq 36s linear infinite}
.ha-mq.rev .track{animation:haMqRev 30s linear infinite}
.ha-mq span{font-family:var(--display);font-weight:700;font-size:clamp(20px,2.8vw,34px);white-space:nowrap}
.ha-mq span i{font-style:normal;color:var(--accent)}
.ha-mq.ink{background:var(--accent);border:0}
.ha-mq.ink span{color:#fff}
.ha-mq.ink span i{color:var(--ink)}
.ha-mq:hover .track{animation-play-state:paused}
@keyframes haMq{to{transform:translateX(-50%)}}
@keyframes haMqRev{from{transform:translateX(-50%)}to{transform:translateX(0)}}

/* ——— Чернильная секция кейсов ——— */
.ha-ink{background:var(--ink);color:var(--bg);border-radius:26px;margin:26px clamp(8px,1.5vw,22px);padding:clamp(50px,7vw,100px) 0}
.ha-ink .kicker{color:var(--accent)}
.ha-ink h2{color:var(--bg)}
.ha-case{position:relative;display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(24px,4vw,60px);align-items:center;padding:clamp(30px,4.5vw,60px) 0;border-top:1px solid rgba(240,235,225,.14)}
.ha-case:first-of-type{border-top:0}
.ha-case.flip{grid-template-columns:1fr 1.15fr}
.ha-case.flip .ha-shot{order:2}
.ha-num{position:absolute;top:6px;right:-10px;font-family:var(--display);font-weight:800;font-size:clamp(72px,13vw,180px);line-height:1;-webkit-text-stroke:2px rgba(240,235,225,.22);color:transparent;pointer-events:none}
/* у перевёрнутых кейсов (02, 04) скрин справа — номер уводим влево, чтобы не перекрывался */
.ha-case.flip .ha-num{right:auto;left:-10px}
.ha-shot{position:relative;border-radius:18px;overflow:hidden;background:#000;border:1px solid rgba(240,235,225,.14)}
.ha-shot img{width:100%;aspect-ratio:16/10.5;object-fit:cover;object-position:top;display:block;transition:transform .5s ease-out}
.ha-case:hover .ha-shot img{transform:scale(1.04)}
.ha-shot .flag{position:absolute;left:0;right:0;bottom:0;background:var(--accent);color:#fff;font-weight:700;font-size:14.5px;text-align:center;padding:12px;transform:translateY(102%);transition:transform .35s cubic-bezier(.22,1,.36,1)}
.ha-case:hover .flag{transform:none}
.ha-case-body .ptag{color:var(--accent);font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.ha-case-body h3{font-family:var(--display);font-weight:700;font-size:clamp(22px,2.6vw,34px);color:var(--bg);margin:10px 0 12px}
.ha-case-body p{color:#cfc8ba;font-size:16px;line-height:1.55;max-width:44ch}
.ha-case-body .note{display:inline-block;margin-top:12px;font-size:13px;color:#9c9484;border:1px solid rgba(240,235,225,.2);border-radius:100px;padding:5px 13px}
@media(max-width:820px){
  .ha-case,.ha-case.flip{grid-template-columns:1fr}
  .ha-case.flip .ha-shot{order:0}
  .ha-shot .flag{transform:none}
  .ha-num{font-size:88px;right:0;top:-8px}
}

/* ——— Услуги — карточки каталога ——— */
.ha-svc{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.ha-svc .card{border-top:3px solid var(--line);border-radius:14px;transition:transform .35s,box-shadow .35s,border-color .35s}
.ha-svc .card:hover{transform:rotate(.6deg) translateY(-6px);border-top-color:var(--accent)}
.ha-svc .idx{font-family:var(--display);font-weight:800;font-size:15px;color:var(--accent)}
.ha-svc h3{margin:12px 0 8px;font-size:21px}
.ha-svc p{color:var(--muted);font-size:15px;line-height:1.5}
.ha-svc .go{display:inline-block;margin-top:14px;font-weight:700;font-size:14px;color:var(--ink)}

/* ——— Цифры — зелёная печать ——— */
.ha-nums{background:var(--accent-2,#1f5d4c);color:var(--bg);padding:clamp(44px,6vw,80px) 0;margin:26px 0}
.ha-nums .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:30px}
.ha-nums b{display:block;font-family:var(--display);font-weight:800;font-size:clamp(48px,7vw,104px);line-height:1}
.ha-nums span{display:block;margin-top:8px;color:rgba(240,235,225,.75);font-size:15px}

/* ——— Процесс ——— */
.ha-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:26px}
.ha-step .n{font-family:var(--display);font-weight:800;font-size:clamp(44px,6vw,72px);-webkit-text-stroke:2px var(--ink);color:transparent;transition:color .3s,-webkit-text-stroke-color .3s}
.ha-step.in .n{color:var(--accent);-webkit-text-stroke-color:var(--accent)}
.ha-step h3{margin:12px 0 6px}
.ha-step p{color:var(--muted);font-size:15px;line-height:1.5}
.ha-paylegal{margin-top:38px;font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}
.ha-paylegal i{font-style:normal;color:var(--accent)}

/* ——— Манифест ——— */
.ha-manifest{max-width:760px}
.ha-manifest p{font-size:clamp(18px,2.1vw,23px);line-height:1.6;color:var(--ink-soft)}

/* ——— Мостик к ценам ——— */
.ha-bridge{background:var(--surface);border:1.5px solid var(--line);border-radius:22px;padding:clamp(30px,4vw,50px);display:flex;align-items:center;justify-content:space-between;gap:26px;flex-wrap:wrap}
.ha-bridge p{color:var(--muted);max-width:52ch;margin-top:10px}

/* ——— FAQ ——— */
.ha-faq{max-width:820px}
.ha-faq details{border-top:1px solid var(--line);padding:4px 0}
.ha-faq details:last-child{border-bottom:1px solid var(--line)}
.ha-faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px 0;font-family:var(--display);font-weight:700;font-size:clamp(16px,1.8vw,20px)}
.ha-faq summary::-webkit-details-marker{display:none}
.ha-faq summary::after{content:"+";font-family:var(--display);font-weight:400;font-size:26px;color:var(--accent);transition:transform .3s;flex:0 0 auto}
.ha-faq details[open] summary::after{transform:rotate(45deg)}
.ha-faq .a{padding:0 0 22px;color:var(--muted);line-height:1.6;max-width:60ch}

/* ——— Финальный CTA — чернила ——— */
.ha-final{position:relative;background:var(--ink);color:var(--bg);border-radius:26px;margin:26px clamp(8px,1.5vw,22px) 40px;padding:clamp(60px,9vw,130px) 0;overflow:hidden;text-align:center}
.ha-final .ghostline{position:absolute;top:50%;left:0;transform:translateY(-50%);font-family:var(--display);font-weight:800;font-size:16vw;white-space:nowrap;color:var(--bg);opacity:.05;pointer-events:none;animation:haMq 60s linear infinite;width:max-content}
.ha-final h2{position:relative;color:var(--bg);font-size:clamp(38px,7vw,96px);font-weight:800;max-width:none}
.ha-final .btns{position:relative;display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:40px}
.ha-final .btns .btn{font-size:clamp(16px,1.8vw,20px);padding:clamp(18px,2.4vw,28px) clamp(28px,3.5vw,46px)}
.ha-final .fast{position:relative;margin-top:22px;color:#9c9484;font-size:14px}

/* ——— Reveal ——— */
.js .reveal{opacity:0;transform:translateY(40px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}
.js .reveal.in{opacity:1;transform:none}

@media (prefers-reduced-motion: reduce){
  .ha-hero h1 .line>span{animation:none;transform:none}
  .ha-stamp svg,.ha-mq .track,.ha-final .ghostline{animation:none}
  .js .reveal{opacity:1;transform:none;transition:none}
}
