/* Климдом — прототип v3. Монохром: белый и тёмный из палитры SOD (swiss.module.css), шрифт Inter Tight.
   Скруглённые панели, светлые и тёмные блоки чередуются. Правила в DESIGN.md */
:root{
  --paper:#e9e8e5;      /* фон страницы */
  --white:#f6f5f2;      /* светлые панели */
  --paper-3:#dedcd8;    /* плитки на светлом */
  --ink:#111110; --ink-2:#4f4d49; --ink-3:#85827c;
  --night:#171614; --night-2:#211f1c; --night-3:#2b2925;
  --cream:#eeebe6; --cream-2:#a8a39b;
  --line:#d6d3ce; --line-d:#34312d;
  --r:30px; --r-sm:20px; --gap:10px;
  --pad:clamp(22px,3.6vw,60px);
  --font:'Inter Tight', 'Helvetica Neue', Arial, sans-serif;
  --hand:'Caveat', 'Segoe Print', cursive;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip;background:var(--paper)}
body{font-family:var(--font);font-size:17px;line-height:1.5;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;padding:var(--gap)}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
ul,ol{list-style:none}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.dark :focus-visible{outline-color:var(--cream)}

/* ---------- типографика ---------- */
h1,h2,h3{font-weight:500;letter-spacing:-.04em}
h1{font-size:clamp(38px,4.1vw,72px);line-height:1.02}
h2{font-size:clamp(32px,3.6vw,58px);line-height:1.02;max-width:16ch}
h3{font-size:22px;line-height:1.15;letter-spacing:-.025em}
.soft{color:var(--ink-3)}
.dark .soft{color:var(--cream-2)}
.lead{font-size:18px;line-height:1.5;color:var(--cream-2);max-width:44ch;margin-top:20px}
.strong{color:var(--ink);font-weight:500}
.muted{font-size:14px;color:var(--ink-3)}

/* ---------- кнопки, чипы ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:0 24px;border-radius:999px;font-size:16px;font-weight:500;white-space:nowrap;transition:transform .25s var(--ease),background .25s,color .25s,border-color .25s}
.btn:hover{transform:translateY(-1px)}
.btn-ink{background:var(--ink);color:var(--cream)}
.btn-ink:hover{background:#2a2825}
.btn-cream{background:var(--cream);color:var(--ink)}
.btn-cream:hover{background:#fff}
.btn-line{border:1px solid var(--line);color:var(--ink)}
.btn-line:hover{border-color:var(--ink)}
.btn-ghost-d{background:var(--night-2);color:var(--cream)}
.btn-ghost-d:hover{background:var(--night-3)}
.btn-lg{min-height:58px;padding:0 8px 0 26px;font-size:17px}
.btn-lg:not(:has(.arw)){padding:0 28px}
.btn-sm{min-height:44px;padding:0 20px;font-size:15px}
.btn-wide{width:100%}
.arw{width:42px;height:42px;border-radius:50%;background:var(--cream);color:var(--ink);display:grid;place-items:center;font-size:16px;transition:transform .3s var(--ease)}
.arw-ink{background:var(--ink);color:var(--cream)}
.btn:hover .arw{transform:rotate(45deg)}
.arw-round{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--ink);color:var(--cream);font-size:16px;transition:transform .3s var(--ease)}
.arw-light{background:var(--cream);color:var(--ink)}
a.arw-round:hover,button.arw-round:hover{transform:rotate(45deg)}
.arw-corner{position:absolute;right:18px;bottom:18px;z-index:4;width:58px;height:58px;background:var(--white);color:var(--ink);font-size:20px}
.eyebrow{display:inline-flex;align-items:center;gap:9px;padding:8px 15px;border-radius:999px;background:var(--paper);font-size:14px;font-weight:500}
.eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ink)}
.eyebrow-d{background:var(--night-2);color:var(--cream)}
.eyebrow-d::before{background:var(--cream)}
.chip{display:inline-flex;align-items:center;min-height:30px;padding:0 13px;border-radius:999px;font-size:13px;font-weight:500;background:var(--white);color:var(--ink)}
.chip-glass{background:rgba(255,255,255,.18);color:#fff;backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);border:1px solid rgba(255,255,255,.3)}

/* ---------- шапка ---------- */
.nav{position:sticky;top:var(--gap);z-index:40;display:flex;align-items:center;gap:28px;background:rgba(246,245,242,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:999px;padding:8px 8px 8px 22px;margin-bottom:var(--gap);border:1px solid rgba(214,211,206,.6)}
.brand{display:flex;align-items:center;gap:10px;font-size:21px;font-weight:600;letter-spacing:-.04em}
.mark{width:30px;height:30px;border-radius:50%;background:var(--ink);position:relative;flex:none}
.mark::before,.mark::after{content:"";position:absolute;left:7px;right:7px;height:2px;border-radius:2px;background:var(--cream)}
.mark::before{top:11px}.mark::after{top:17px;opacity:.55}
.brand-d .mark{background:var(--cream)}
.brand-d .mark::before,.brand-d .mark::after{background:var(--ink)}
.links{display:flex;gap:26px;margin-left:auto;font-size:15px;color:var(--ink-2)}
.links a:hover{color:var(--ink)}
.nav-tel{font-size:15px;font-weight:500}
.burger,.mnav,.mob-cta{display:none}

/* ---------- панели ---------- */
.page{display:flex;flex-direction:column;gap:var(--gap)}
.panel{border-radius:var(--r);padding:var(--pad);position:relative;overflow:hidden}
.light{background:var(--white)}
.dark{background:var(--night);color:var(--cream)}
.head{display:grid;grid-template-columns:1.35fr 1fr;gap:48px;align-items:end;margin-bottom:44px}
.head p{font-size:17px;color:var(--ink-3);max-width:44ch}
.head p + p{margin-top:12px}
.dark .head p{color:var(--cream-2)}

/* ---------- 1. первый экран ---------- */
.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:var(--gap);min-height:calc(100svh - 96px)}
.hero-text{background:var(--white);display:flex;flex-direction:column;justify-content:space-between;gap:40px;padding:var(--pad) var(--pad) calc(var(--pad)*.8)}
.hero-text h1{margin-top:26px;max-width:13ch}
.hero-bottom p{font-size:18px;color:var(--ink-2);max-width:42ch}
.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:28px}
.photo{position:relative;border-radius:var(--r);overflow:hidden;background:var(--night-2)}
.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.photo:hover img{transform:scale(1.02)}
.photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,10,9,.62) 0%,rgba(10,10,9,0) 46%);pointer-events:none;z-index:1}
.hero-photo{min-height:560px}
.glass{position:absolute;z-index:3;display:flex;flex-direction:column;gap:3px;padding:14px 18px;border-radius:20px;background:rgba(255,255,255,.16);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);border:1px solid rgba(255,255,255,.3);color:#fff}
.glass b{font-size:30px;font-weight:500;letter-spacing:-.045em;line-height:1}
.glass span{font-size:13px;opacity:.85}
.gl-1{left:20px;top:20px}
.gl-2{left:20px;top:112px}
.gl-tag{right:34%;top:19%;padding:7px 13px;font-size:13px;font-weight:500;border-radius:999px;opacity:0;transform:translateY(6px);transition:opacity .6s var(--ease) 1.8s,transform .6s var(--ease) 1.8s}
.plan.on ~ .gl-tag{opacity:1;transform:none}
/* вырез в углу фото, в котором стоит карточка */
.notch{position:absolute;right:0;bottom:0;z-index:3;width:300px;height:132px;background:var(--paper);border-top-left-radius:var(--r)}
.notch::before,.notch::after{content:"";position:absolute;width:var(--r);height:var(--r);background:transparent}
.notch::before{right:0;top:calc(var(--r) * -1);border-bottom-right-radius:var(--r);box-shadow:10px 10px 0 10px var(--paper)}
.notch::after{left:calc(var(--r) * -1);bottom:0;border-bottom-right-radius:var(--r);box-shadow:10px 10px 0 10px var(--paper)}
.note{position:absolute;right:0;bottom:0;z-index:4;width:290px;height:122px;background:var(--white);border-radius:24px;padding:18px 20px;display:flex;flex-direction:column;justify-content:space-between;transition:background .3s}
.note:hover{background:#fff}
.note b{font-size:16px;font-weight:500;letter-spacing:-.02em;line-height:1.25;max-width:20ch}
.note small{font-size:13px;color:var(--ink-3)}
.note .arw-round{position:absolute;right:14px;bottom:14px}
.note:hover .arw-round{transform:rotate(45deg)}

/* чертёж трасс */
.plan{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}
.plan path{fill:none;stroke:#fff;stroke-width:1.6;stroke-linecap:round;opacity:.9}
.plan .node{fill:rgba(17,17,16,.7);stroke:#fff;stroke-width:1.6;opacity:0;transition:opacity .6s var(--ease) 1.6s}
.draw{stroke-dasharray:var(--len,2000);stroke-dashoffset:var(--len,2000);transition:stroke-dashoffset 2.4s var(--ease)}
.d2{transition-delay:.5s}
.plan.on .draw{stroke-dashoffset:0}
.plan.on .node{opacity:1}

/* ---------- плитки ---------- */
.tiles{display:grid;gap:var(--gap)}
.tile{border-radius:var(--r);padding:28px;display:flex;flex-direction:column;justify-content:space-between;gap:28px;min-height:230px;position:relative;overflow:hidden}
.tile > span{font-size:15px;line-height:1.4}
.t-white{background:var(--white)}
.t-paper{background:var(--paper-3)}
.t-dark{background:var(--night);color:var(--cream)}
.t-white > span,.t-paper > span{color:var(--ink-2)}
.t-dark > span{color:var(--cream-2)}
.num{font-size:clamp(46px,4.6vw,76px);font-weight:500;letter-spacing:-.055em;line-height:.9}
.num-sm{font-size:clamp(30px,2.7vw,46px);letter-spacing:-.045em}
.huge{font-size:clamp(90px,11vw,180px);font-weight:500;letter-spacing:-.065em;line-height:.8}
.facts{grid-template-columns:1fr 1fr 1fr 1.5fr}
.t-photos{background:var(--white);padding:8px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.t-photos div{position:relative;border-radius:22px;overflow:hidden}
.t-photos img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lbl{position:absolute;left:10px;bottom:10px;z-index:2;background:rgba(246,245,242,.92);border-radius:999px;padding:6px 11px;font-size:12px;font-weight:500}
.t-wide{grid-column:1/-1;flex-direction:row;align-items:center;min-height:0;padding:24px 30px}
.logos{display:flex;flex-wrap:wrap;gap:10px 56px;align-items:center}
.logos span{font-size:clamp(22px,2vw,30px);font-weight:600;letter-spacing:-.045em;color:#a29e97}

/* ---------- 3. форма ---------- */
.ask-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.ask h2{margin-top:22px;max-width:13ch}
.pm{display:flex;align-items:center;gap:16px;margin-top:36px}
.pm b{display:block;font-size:17px;font-weight:500}
.pm span{font-size:15px;color:var(--cream-2)}
.ava{border-radius:50%;background:var(--paper-3);display:grid;place-items:center;flex:none;overflow:hidden;width:72px;height:72px}
.ava span{font-size:22px;font-weight:500;letter-spacing:-.04em;color:var(--ink-3)}
.ava-d{background:var(--night-3)}
.ava-d span{color:var(--cream-2)}
.next{margin-top:40px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.next li{background:var(--night-2);border-radius:var(--r-sm);padding:18px;display:flex;flex-direction:column;gap:4px}
.next b{font-weight:500;font-size:16px}
.next span{font-size:14px;color:var(--cream-2)}
.form{background:var(--night-2);border-radius:var(--r);padding:30px;display:grid;gap:16px}
.field{display:grid;gap:8px}
.field > span{font-size:13px;font-weight:500;color:var(--cream-2)}
.field input,.field select{font:inherit;font-size:17px;color:var(--cream);background:var(--night-3);border:1px solid transparent;border-radius:16px;padding:15px 16px;width:100%;appearance:none;-webkit-appearance:none;transition:border-color .2s}
.field input::placeholder{color:#7d786f}
.field select{background:var(--night-3) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23a8a39b' stroke-width='1.6'/%3E%3C/svg%3E") right 16px center no-repeat}
.field select option{color:var(--ink)}
.field input:focus,.field select:focus{outline:0;border-color:var(--cream-2)}
.field.err input{border-color:#d0573f}
.seg{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:var(--night-3);border-radius:999px}
.seg label{position:relative;cursor:pointer}
.seg input{position:absolute;opacity:0;inset:0}
.seg span{display:block;text-align:center;padding:11px;border-radius:999px;font-size:16px;font-weight:500;color:var(--cream-2);transition:background .25s,color .25s}
.seg input:checked + span{background:var(--cream);color:var(--ink)}
.seg input:focus-visible + span{outline:2px solid var(--cream)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form .btn{margin-top:6px}
.form-ok{font-size:15px;color:var(--cream);background:#2c3a31;padding:12px 16px;border-radius:14px}
.form-fine{font-size:13px;color:#7d786f}
.form-fine a{text-decoration:underline;text-underline-offset:3px}

/* ---------- 4. что делаем ---------- */
.svc-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;grid-template-rows:auto auto;gap:var(--gap)}
.spot{grid-row:1 / span 2;min-height:580px}
.svc{min-height:280px}
.svc p{font-size:15px;line-height:1.45;color:var(--ink-2);margin-top:-12px}
.svc.t-dark p{color:var(--cream-2)}
.svc-tag{align-self:flex-start;font-size:13px!important;font-weight:500;padding:7px 12px;border-radius:999px;background:var(--white);color:var(--ink-2)!important}
.svc .arw-round{align-self:flex-end}
.cap{position:absolute;left:24px;right:90px;bottom:24px;z-index:3;color:#fff;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.cap b{font-size:clamp(22px,2.2vw,32px);font-weight:500;letter-spacing:-.035em;line-height:1.05;max-width:20ch}
.pin{position:absolute;left:var(--x);top:var(--y);z-index:3;width:38px;height:38px;margin:-19px 0 0 -19px;border-radius:50%;background:rgba(255,255,255,.28);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1.5px solid #fff}
.pin::before{content:"";position:absolute;inset:11px;border-radius:50%;background:#fff;transition:transform .3s var(--ease)}
.pin::after{content:"";position:absolute;inset:-8px;border-radius:50%;border:1.5px solid rgba(255,255,255,.75);opacity:0;animation:ring 3s var(--ease) infinite}
@keyframes ring{0%{transform:scale(.6);opacity:.8}100%{transform:scale(1.5);opacity:0}}
.pin span{position:absolute;left:50%;top:calc(100% + 12px);width:250px;transform:translate(-50%,-6px);background:var(--white);color:var(--ink);font-size:14px;line-height:1.4;text-align:left;padding:12px 14px;border-radius:16px;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s var(--ease);box-shadow:0 16px 40px -16px rgba(0,0,0,.35)}
.pin:hover span,.pin:focus-visible span,.pin.open span{opacity:1;transform:translate(-50%,0)}
.pin:hover::before,.pin.open::before{transform:scale(1.3)}

/* ---------- 5. страхи ---------- */
.fear-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap)}
.fear{background:var(--night-2);border-radius:var(--r-sm);padding:28px;min-height:340px;display:flex;flex-direction:column;justify-content:space-between;gap:32px}
.fear q{font-size:clamp(22px,1.9vw,28px);font-weight:500;letter-spacing:-.035em;line-height:1.1;quotes:"«" "»"}
.fear p{font-size:15px;color:var(--cream-2);line-height:1.45}
.fear-light{background:var(--cream);color:var(--ink)}
.fear-light p{color:var(--ink-2)}

/* ---------- 6. объекты ---------- */
.cases{display:grid;gap:var(--gap)}
.case{min-height:460px}
.case-xl{min-height:600px}
.case-cap{position:absolute;left:30px;right:340px;bottom:30px;z-index:3;color:#fff;display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.case-cap h3{font-size:clamp(28px,3.2vw,52px);font-weight:500;line-height:1;letter-spacing:-.045em;max-width:17ch}
.case-row .case-cap{right:100px}
.case-row .case-cap h3{font-size:clamp(24px,2.2vw,34px)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.case-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}
.designers{flex-direction:row;align-items:center;justify-content:space-between;min-height:0;padding:34px 40px}
.designers h3{font-size:clamp(26px,2.4vw,36px);letter-spacing:-.04em}
.designers p{margin-top:10px;max-width:60ch;color:var(--ink-2)}

/* ---------- 7. этапы ---------- */
.gantt{position:relative;background:var(--night-2);border-radius:var(--r-sm);padding:20px 0 28px;overflow:hidden}
.g-cols{display:grid;grid-template-columns:repeat(5,1fr);position:absolute;inset:0;pointer-events:none}
.g-cols span{border-left:1px solid var(--line-d);padding:18px 16px;font-size:14px;font-weight:500;color:#7d786f}
.g-cols span:first-child{border-left:0}
.g-rows{position:relative;display:grid;gap:12px;padding:64px 12px 0}
.g-bar{margin-left:calc(var(--s) / 5 * 100%);width:calc((var(--e) - var(--s)) / 5 * 100%);min-width:max-content;min-height:58px;border-radius:18px;background:var(--cream);color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 20px;clip-path:inset(0 100% 0 0 round 18px);transition:clip-path 1.1s var(--ease)}
.g-bar b{font-size:16px;font-weight:500;letter-spacing:-.02em;white-space:nowrap}
.g-bar small{font-size:13px;color:var(--ink-3);white-space:nowrap}
.g-line{background:transparent;color:var(--cream);box-shadow:inset 0 0 0 1.5px var(--cream-2)}
.gantt.in .g-bar{clip-path:inset(0 0 0 0 round 18px)}
.gantt.in .g-bar:nth-child(2){transition-delay:.12s}.gantt.in .g-bar:nth-child(3){transition-delay:.24s}.gantt.in .g-bar:nth-child(4){transition-delay:.36s}.gantt.in .g-bar:nth-child(5){transition-delay:.48s}.gantt.in .g-bar:nth-child(6){transition-delay:.6s}
.g-note{position:absolute;right:32px;top:64px;z-index:2}
.sticky{display:block;width:230px;padding:20px 20px 26px;background:var(--cream);color:#2d2a25;font-family:var(--hand);font-size:22px;line-height:1.15;transform:rotate(-3deg);box-shadow:0 18px 30px -18px rgba(0,0,0,.6);border-radius:3px 3px 18px 3px}
.process-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;margin-top:28px}
.process-foot p{color:var(--cream-2)}

/* ---------- 8. команда ---------- */
.team-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--gap)}
.team-video{min-height:560px}
.people{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}
.people li{background:var(--paper);border-radius:var(--r-sm);padding:18px;display:flex;flex-direction:column;gap:4px}
.people .ava{width:100%;height:auto;aspect-ratio:1;border-radius:16px;margin-bottom:12px;background:var(--paper-3)}
.people .ava span{font-size:48px}
.people b{font-size:16px;font-weight:500}
.people small{font-size:13px;color:var(--ink-3)}

/* ---------- 9. гарантия ---------- */
.warranty{grid-template-columns:1.25fr 1fr;grid-template-rows:auto auto}
.w-main{grid-row:1 / span 2;min-height:520px}
.w-main h3{font-size:clamp(28px,2.6vw,40px);font-weight:500;letter-spacing:-.04em}
.ticks{display:grid;gap:10px;margin-top:22px}
.ticks li{display:flex;gap:12px;align-items:flex-start;font-size:16px;color:var(--cream-2)}
.ticks li::before{content:"";flex:none;width:22px;height:22px;margin-top:1px;border-radius:50%;background:var(--cream) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 12.5l3 3 7-7' fill='none' stroke='%23111110' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
.brands{display:flex;flex-direction:column}
.brands span{font-size:clamp(28px,2.7vw,42px);font-weight:500;letter-spacing:-.045em;line-height:1.08}
.docs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.doc{aspect-ratio:3/4;border-radius:14px;background:var(--white);padding:12px;display:flex;align-items:flex-end;text-align:left;font-size:13px;font-weight:500;line-height:1.3;color:var(--ink-2);position:relative;transition:transform .35s var(--ease),box-shadow .35s}
.doc::before{content:"";position:absolute;left:12px;right:12px;top:14px;height:46%;background:repeating-linear-gradient(0deg,transparent 0 9px,var(--paper-3) 9px 11px)}
.doc:hover{transform:translateY(-4px) rotate(-1deg);box-shadow:0 16px 30px -18px rgba(0,0,0,.35)}

/* ---------- 10. вопросы ---------- */
.faq-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:56px;align-items:start}
.faq-side{margin-top:18px;color:var(--ink-3);max-width:32ch}
.faq-list{display:grid;gap:8px}
details{background:var(--paper);border-radius:22px;transition:background .3s}
details[open]{background:var(--paper-3)}
summary{list-style:none;cursor:pointer;padding:22px 72px 22px 26px;font-size:19px;font-weight:500;letter-spacing:-.02em;position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:14px;top:50%;width:42px;height:42px;margin-top:-21px;border-radius:50%;background:var(--white);display:grid;place-items:center;font-size:22px;font-weight:400;transition:transform .3s var(--ease),background .3s,color .3s}
details[open] summary::after{transform:rotate(45deg);background:var(--ink);color:var(--cream)}
details p{padding:0 26px 24px;color:var(--ink-2);max-width:62ch}

/* ---------- 11. финал ---------- */
.final-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:56px;align-items:center}
.final h2{max-width:15ch}
.ftr{display:flex;flex-wrap:wrap;align-items:center;gap:12px 32px;margin-top:72px;padding-top:24px;border-top:1px solid var(--line-d);font-size:14px;color:var(--cream-2)}
.ftr .brand{font-size:19px;color:var(--cream)}
.muted-d{margin-left:auto;color:#6e6a63}

/* ---------- появление ---------- */
.rise{opacity:0;transform:translateY(20px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rise.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .rise{opacity:1;transform:none}
  .draw{stroke-dashoffset:0}.plan .node,.gl-tag{opacity:1;transform:none}
  .g-bar{clip-path:none}
}

/* ---------- планшет ---------- */
@media (max-width:1180px){
  .links,.nav-tel{display:none}
  .nav{gap:10px}
  .nav-cta{margin-left:auto}
  .burger{display:block;width:44px;height:44px;border-radius:50%;background:var(--paper);position:relative;flex:none}
  .burger span{position:absolute;left:14px;right:14px;height:1.6px;background:var(--ink);transition:transform .3s var(--ease)}
  .burger span:first-child{top:18px}.burger span:last-child{top:25px}
  .burger[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}
  .burger[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .mnav{position:fixed;left:var(--gap);right:var(--gap);top:78px;z-index:39;background:var(--white);border-radius:24px;padding:12px;flex-direction:column;gap:2px;box-shadow:0 30px 60px -30px rgba(0,0,0,.4)}
  .mnav.open{display:flex}
  .mnav a{padding:14px;font-size:18px;font-weight:500;border-radius:14px}
  .mnav a:hover{background:var(--paper)}
  .mnav .btn{margin-top:8px}
  .hero{grid-template-columns:1fr;min-height:0}
  .hero-photo{min-height:520px}
  .head,.ask-grid,.final-grid,.faq-grid,.team-grid{grid-template-columns:1fr;gap:24px}
  .facts{grid-template-columns:1fr 1fr 1fr}
  .t-photos{grid-column:1/-1;min-height:260px}
  .svc-grid{grid-template-columns:1fr 1fr}
  .spot{grid-column:1/-1;grid-row:auto;min-height:500px}
  .fear-grid{grid-template-columns:1fr 1fr}
  .g-note{display:none}
}

/* ---------- телефон ---------- */
@media (max-width:720px){
  :root{--r:24px;--r-sm:18px;--gap:8px}
  body{font-size:16px}
  .nav{padding:6px 6px 6px 16px}
  .brand{font-size:19px}
  .nav-cta{display:none}
  .burger{margin-left:auto}
  .panel{padding:28px 18px}
  .hero-text{padding:28px 20px 24px;gap:28px}
  h1{font-size:clamp(32px,9vw,42px)}
  h2{font-size:clamp(28px,8vw,36px)}
  .hero-bottom p{font-size:16px}
  .row .btn,.process-foot .btn,.designers .btn{width:100%}
  .btn-lg{white-space:normal;text-align:left;line-height:1.25}
  .hero-photo{min-height:460px}
  .glass b{font-size:24px}
  .gl-2{top:96px}
  .gl-tag{right:12%;top:8%}
  .notch{width:250px;height:118px}
  .note{width:240px;height:108px;padding:14px 16px}
  .note b{font-size:15px}
  .tile{padding:22px;min-height:180px;gap:20px}
  .num{font-size:44px}
  .huge{font-size:92px}
  .facts{grid-template-columns:1fr 1fr}
  .facts .t-paper{grid-column:1/-1;min-height:0}
  .t-wide{flex-direction:column;align-items:flex-start;padding:22px}
  .logos{gap:6px 24px}
  .next{grid-template-columns:1fr}
  .form{padding:20px}
  .row2{grid-template-columns:1fr}
  .head{margin-bottom:28px}
  .svc-grid{grid-template-columns:1fr}
  .spot{min-height:440px}
  .svc{min-height:0}
  .pin span{width:220px}
  .fear-grid{grid-template-columns:1fr}
  .fear{min-height:0;gap:20px;padding:24px}
  .case,.case-xl{min-height:440px}
  .case-xl{min-height:520px}
  .case-cap,.case-row .case-cap{left:18px;right:18px;bottom:auto;top:18px}
  .case-row .case-cap{top:auto;bottom:20px;right:90px}
  .case-row{grid-template-columns:1fr}
  .designers{flex-direction:column;align-items:flex-start;gap:20px;padding:24px}
  .gantt{padding:12px 0 16px}
  .g-cols{display:none}
  .g-rows{padding:4px 10px 0;gap:8px}
  .g-bar{margin-left:calc(var(--s) / 5 * 40%);width:auto;min-width:0;flex-wrap:wrap;min-height:52px;padding:10px 16px;row-gap:2px}
  .g-bar b{white-space:normal}
  .team-video{min-height:340px}
  .people .ava span{font-size:34px}
  .warranty{grid-template-columns:1fr}
  .w-main{grid-row:auto;min-height:0}
  summary{font-size:17px;padding:18px 64px 18px 20px}
  details p{padding:0 20px 20px}
  .muted-d{margin-left:0}
  .mob-cta{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:30;min-height:56px;transform:translateY(150%);transition:transform .4s var(--ease);box-shadow:0 14px 30px -12px rgba(0,0,0,.5)}
  .mob-cta.show{transform:none}
  .final{padding-bottom:96px}
}
