:root {
  --ink:        #0E0D0B;
  --ink-2:      #161412;
  --ink-3:      #221F1C;
  --paper:      #EFEAE0;
  --paper-2:    #C9C2B3;
  --kdb-red:    #C8102E;
  --kdb-red-dk: #9E0B24;
  --warm:       #8A7E6F;
  --hair:       rgba(239,234,224,0.12);
  --hair-2:     rgba(239,234,224,0.22);
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html,body { background:var(--ink); color:var(--paper); font-family:'Inter', sans-serif; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
a { color:inherit; text-decoration:none; }

.narrow { font-family:'Archivo Narrow', sans-serif; letter-spacing:-0.01em; }
.mono   { font-family:'JetBrains Mono', monospace; letter-spacing:0.02em; }

/* ── top bar ──────────────────────────────────── */
.top-bar {
  position:fixed; top:0; left:0; right:0; z-index:100;
  display:flex; justify-content:space-between; align-items:center;
  padding:18px 32px; background:linear-gradient(180deg, rgba(14,13,11,0.85), transparent);
  backdrop-filter:blur(6px);
}
.top-bar--solid { background:var(--ink); border-bottom:1px solid var(--hair-2); backdrop-filter:none; }
.top-bar__brand { display:flex; align-items:center; gap:14px; }
.top-bar__brand img { height:30px; display:block; }
.top-bar__brand .divider { width:1px; height:18px; background:var(--hair-2); }
.top-bar__brand .tag {
  font-family:'JetBrains Mono', monospace; font-size:10px; letter-spacing:2.5px;
  color:var(--paper-2); text-transform:uppercase;
}
.top-bar__brand .tag span { color:var(--kdb-red); }

.top-bar__menu {
  display:flex; gap:28px; font-family:'JetBrains Mono', monospace; font-size:11px;
  letter-spacing:2px; text-transform:uppercase; color:var(--paper-2);
  align-items:center;
}
.top-bar__menu a { transition:color 200ms; }
.top-bar__menu a:hover { color:var(--kdb-red); }
.top-bar__menu a.is-active { color:var(--paper); }
.top-bar__menu a.is-active::after {
  content:""; display:block; height:1px; background:var(--kdb-red); margin-top:4px;
}
.top-bar__cta {
  padding:10px 20px; border:1px solid var(--hair-2); color:var(--paper);
  font-family:'JetBrains Mono', monospace; font-size:10px; letter-spacing:2px;
  text-transform:uppercase; transition:all 200ms;
}
.top-bar__cta:hover { background:var(--kdb-red); border-color:var(--kdb-red); }

/* ── hero ─────────────────────────────────────── */
.hero { position:relative; height:100vh; min-height:780px; overflow:hidden; }
.hero--short { height:auto; min-height:0; padding:180px 40px 96px; display:flex; align-items:flex-end; }
.hero__bg { position:absolute; inset:0; z-index:0; }
.hero__bg img {
  width:100%; height:100%; object-fit:cover;
  filter:grayscale(0.85) contrast(1.12) brightness(0.72) sepia(0.15);
  transform:scale(1.04); animation:slow-zoom 18s ease-in-out infinite alternate;
}
@keyframes slow-zoom { from{transform:scale(1.02);} to{transform:scale(1.12);} }
.hero__vignette {
  position:absolute; inset:0;
  background:
    radial-gradient(ellipse at 35% 50%, transparent 0%, rgba(14,13,11,0.6) 65%, rgba(14,13,11,0.96) 100%),
    linear-gradient(180deg, rgba(14,13,11,0.4) 0%, transparent 25%, rgba(14,13,11,0.9) 100%);
  z-index:1;
}
.hero__grid {
  position:absolute; inset:0; z-index:2;
  background-image:
    linear-gradient(rgba(239,234,224,0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(239,234,224,0.035) 1px, transparent 1px);
  background-size: 64px 64px;
  mix-blend-mode:overlay;
}
.hero__content {
  position:relative; z-index:3; height:100%;
  display:flex; flex-direction:column; justify-content:space-between;
  padding:120px 40px 32px;
}
.hero--short .hero__content { height:auto; padding:0; width:100%; }
.hero__chapter {
  font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:3px;
  color:var(--kdb-red); text-transform:uppercase;
  display:flex; align-items:center; gap:14px;
}
.hero__chapter::before { content:""; width:26px; height:1px; background:var(--kdb-red); }
.hero__chapter--home::after { content:"· Tāmaki Makaurau · Auckland"; color:var(--paper-2); letter-spacing:2.5px; }
.hero__title {
  font-family:'Archivo Narrow', sans-serif; font-weight:700;
  font-size:clamp(72px, 13vw, 220px); line-height:0.85;
  letter-spacing:-0.03em; text-transform:uppercase;
  color:var(--paper); margin-top:18px; max-width:1400px;
}
.hero__title .accent,
.hero__title .period { color:var(--kdb-red); }
.hero--short .hero__title { font-size:clamp(56px, 9vw, 140px); }
.hero__sub {
  margin-top:28px; max-width:680px;
  font-family:'JetBrains Mono', monospace; font-size:13px; line-height:1.65;
  color:var(--paper-2); letter-spacing:0.3px;
}
.hero__sub b { color:var(--paper); font-weight:500; }
.hero__base {
  display:grid; grid-template-columns:1fr auto; gap:40px;
  padding-top:28px; border-top:1px solid var(--hair-2); align-items:end;
}
.credit { font-family:'JetBrains Mono', monospace; font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--paper-2); line-height:1.5; }
.credit b { display:block; color:var(--kdb-red); font-weight:400; margin-bottom:5px; letter-spacing:3px; }
.credit span { color:var(--paper); font-family:'Archivo Narrow', sans-serif; font-size:18px; font-weight:500; letter-spacing:0; text-transform:none; line-height:1.15; display:block; }

/* ── buttons ──────────────────────────────────── */
.btn-red {
  display:inline-flex; align-items:center; gap:10px;
  padding:18px 26px; background:var(--kdb-red); color:var(--paper);
  font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:2.5px;
  text-transform:uppercase; transition:all 220ms; border:1px solid var(--kdb-red);
  cursor:pointer;
}
.btn-red:hover { background:var(--kdb-red-dk); border-color:var(--kdb-red-dk); transform:translateY(-2px); }
.btn-red::after { content:""; width:5px; height:5px; border-radius:50%; background:var(--paper); }
.btn-red[disabled] { opacity:0.55; pointer-events:none; }

.btn-ghost {
  display:inline-flex; align-items:center; gap:10px;
  padding:18px 26px; background:transparent; color:var(--paper);
  font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:2.5px;
  text-transform:uppercase; transition:all 220ms; border:1px solid var(--hair-2);
}
.btn-ghost:hover { border-color:var(--kdb-red); color:var(--kdb-red); }

/* ── process motif ────────────────────────────── */
.process { background:var(--ink-2); padding:72px 40px; border-top:1px solid var(--hair-2); border-bottom:1px solid var(--hair-2); }
.process__head { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:40px; flex-wrap:wrap; gap:24px; }
.process__label { font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:3px; color:var(--kdb-red); text-transform:uppercase; }
.process__title { font-family:'Archivo Narrow', sans-serif; font-weight:600; font-size:48px; line-height:1; letter-spacing:-0.02em; text-transform:uppercase; color:var(--paper); margin-top:10px; }
.process__note { font-family:'JetBrains Mono', monospace; font-size:11px; line-height:1.6; color:var(--paper-2); max-width:360px; letter-spacing:0.2px; }
.process__grid { display:grid; grid-template-columns:repeat(4, 1fr); gap:2px; }
.step { padding:32px 28px; background:var(--ink); position:relative; min-height:220px; display:flex; flex-direction:column; }
.step__no { font-family:'Archivo Narrow', sans-serif; font-weight:700; font-size:64px; line-height:1; color:var(--kdb-red); letter-spacing:-0.03em; }
.step__name { font-family:'Archivo Narrow', sans-serif; font-weight:600; font-size:26px; text-transform:uppercase; letter-spacing:-0.01em; color:var(--paper); margin-top:16px; }
.step__desc { font-family:'Inter', sans-serif; font-size:13px; line-height:1.55; color:var(--paper-2); margin-top:14px; }

/* ── stats ────────────────────────────────────── */
.run-time { padding:64px 40px; display:grid; grid-template-columns:repeat(4,1fr) auto; gap:20px; align-items:center; border-bottom:1px solid var(--hair); }
.rt { padding-right:32px; position:relative; }
.rt + .rt { border-left:1px solid var(--hair-2); padding-left:32px; }
.rt__num { font-family:'Archivo Narrow', sans-serif; font-size:84px; font-weight:600; line-height:0.9; letter-spacing:-0.03em; color:var(--paper); display:block; }
.rt__num sup { color:var(--kdb-red); font-size:28px; vertical-align:top; position:relative; top:8px; font-weight:400; margin-left:4px; }
.rt__lbl { font-family:'JetBrains Mono', monospace; font-size:10px; letter-spacing:2.5px; text-transform:uppercase; color:var(--paper-2); margin-top:6px; display:block; }
.rt-logo { justify-self:end; }
.rt-logo img { height:48px; opacity:0.85; filter:brightness(0.95); }

/* ── trade specs strip ────────────────────────── */
.specs { background:var(--ink-3); padding:22px 40px; display:flex; gap:56px; align-items:center; overflow:hidden; border-bottom:1px solid var(--hair); }
.specs__lbl { font-family:'JetBrains Mono', monospace; font-size:9px; letter-spacing:3px; text-transform:uppercase; color:var(--kdb-red); white-space:nowrap; }
.specs__flow { display:flex; gap:56px; font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:1.5px; color:var(--paper-2); text-transform:uppercase; white-space:nowrap; overflow:hidden; }
.specs__flow span { display:flex; align-items:center; gap:12px; }
.specs__flow span::before { content:"●"; color:var(--kdb-red); font-size:8px; }

/* ── cinematic band ───────────────────────────── */
.band { position:relative; height:68vh; min-height:480px; overflow:hidden; border-top:1px solid var(--hair); border-bottom:1px solid var(--hair); }
.band img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:grayscale(0.75) contrast(1.15) brightness(0.78) sepia(0.12); transform:scale(1.03); animation:band-zoom 22s ease-in-out infinite alternate; }
@keyframes band-zoom { from{transform:scale(1.02);} to{transform:scale(1.12);} }
.band__scrim { position:absolute; inset:0; background: linear-gradient(90deg, rgba(14,13,11,0.85) 0%, rgba(14,13,11,0.25) 45%, transparent 100%), linear-gradient(180deg, rgba(14,13,11,0.35) 0%, transparent 30%, rgba(14,13,11,0.7) 100%); }
.band__content { position:relative; z-index:2; height:100%; display:flex; flex-direction:column; justify-content:center; padding:0 40px; max-width:780px; }
.band__eyebrow { font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:3px; color:var(--kdb-red); text-transform:uppercase; display:flex; align-items:center; gap:14px; }
.band__eyebrow::before { content:""; width:26px; height:1px; background:var(--kdb-red); }
.band__title { font-family:'Archivo Narrow', sans-serif; font-weight:600; font-size:clamp(44px, 6vw, 88px); line-height:0.95; letter-spacing:-0.025em; text-transform:uppercase; color:var(--paper); margin-top:20px; }
.band__title .accent { color:var(--kdb-red); }
.band__q { margin-top:28px; font-family:'Archivo Narrow', sans-serif; font-style:italic; font-size:22px; line-height:1.45; color:var(--paper); max-width:640px; border-left:2px solid var(--kdb-red); padding-left:22px; font-weight:400; }
.band__attr { margin-top:18px; font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:2px; text-transform:uppercase; color:var(--paper-2); padding-left:24px; }

/* ── chapter list ─────────────────────────────── */
.chapters { padding:120px 40px 80px; }
.chapters__head { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:56px; padding-bottom:22px; border-bottom:1px solid var(--hair-2); flex-wrap:wrap; gap:24px; }
.chapters__title { font-family:'Archivo Narrow', sans-serif; font-weight:600; font-size:84px; line-height:0.9; letter-spacing:-0.03em; text-transform:uppercase; }
.chapters__title .accent { color:var(--kdb-red); }
.chapters__meta { font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:2px; text-transform:uppercase; color:var(--paper-2); }
.chapters__meta b { color:var(--kdb-red); }

.case { display:grid; grid-template-columns:70px 160px 1.3fr 2fr auto; gap:32px; padding:28px 0; align-items:center; border-bottom:1px solid var(--hair); transition:background 220ms, padding 220ms; cursor:pointer; position:relative; }
.case__still { width:160px; aspect-ratio:4/3; overflow:hidden; border:1px solid var(--hair-2); position:relative; background:var(--ink-2); }
.case__still img { width:100%; height:100%; object-fit:cover; filter:grayscale(0.7) contrast(1.1) brightness(0.88) sepia(0.1); transition:all 320ms; }
.case:hover .case__still img { filter:grayscale(0) contrast(1.05) brightness(1); transform:scale(1.06); }
.case__still::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg, transparent 65%, rgba(14,13,11,0.6)); }
.case::before { content:""; position:absolute; left:0; top:0; bottom:0; width:0; background:var(--kdb-red); transition:width 220ms; }
.case:hover { background:rgba(200,16,46,0.05); padding-left:20px; }
.case:hover::before { width:3px; }
.case:hover .case__no { color:var(--kdb-red); }
.case:hover .case__arrow { background:var(--kdb-red); border-color:var(--kdb-red); transform:translateX(8px); color:var(--paper); }
.case:hover .case__name { transform:translateX(4px); }
.case__no { font-family:'Archivo Narrow', sans-serif; font-weight:700; font-size:56px; line-height:1; color:var(--paper); transition:color 220ms; }
.case__name { font-family:'Archivo Narrow', sans-serif; font-size:36px; font-weight:500; letter-spacing:-0.02em; line-height:1.0; text-transform:uppercase; color:var(--paper); transition:transform 220ms; }
.case__tag { display:inline-block; margin-top:10px; padding:4px 10px; border:1px solid var(--hair-2); border-radius:999px; font-family:'JetBrains Mono', monospace; font-size:9px; letter-spacing:1.5px; text-transform:uppercase; color:var(--paper-2); }
.case__meta { display:grid; grid-template-columns:1fr 1fr 1fr; gap:24px; font-family:'JetBrains Mono', monospace; font-size:10px; letter-spacing:1.5px; text-transform:uppercase; }
.case__meta > div b { display:block; color:var(--kdb-red); font-weight:400; margin-bottom:5px; letter-spacing:2.5px; }
.case__meta > div span { color:var(--paper); font-family:'Archivo Narrow', sans-serif; font-size:17px; font-weight:500; text-transform:none; letter-spacing:0; }
.case__arrow { width:46px; height:46px; border:1px solid var(--hair-2); display:flex; align-items:center; justify-content:center; border-radius:50%; color:var(--paper); font-size:16px; transition:all 220ms; background:transparent; }
.case[data-pending="true"] .case__arrow::after { content:"·"; }
.case[data-pending="true"] .case__arrow { font-size:20px; opacity:0.35; }
.case[data-pending="true"]:hover .case__arrow { opacity:0.55; background:transparent; border-color:var(--hair-2); transform:none; }
.case[data-pending="true"] .case__name::after { content:" ·"; color:var(--kdb-red); opacity:0.55; font-size:14px; vertical-align:super; }
.case:not([data-pending="true"]) .case__arrow { background:rgba(200,16,46,0.12); border-color:var(--kdb-red); color:var(--kdb-red); }

/* ── CTA block ────────────────────────────────── */
.cta-block { padding:180px 40px; text-align:center; position:relative; overflow:hidden; background: linear-gradient(180deg, rgba(14,13,11,0.85), rgba(14,13,11,0.65) 40%, rgba(14,13,11,0.9)), url('../img/wordsworth-aerial.jpg') center/cover; }
.cta-block .hero__chapter { justify-content:center; margin-bottom:0; }
.cta-block .hero__chapter::after { content:"· One business day reply"; color:var(--paper-2); letter-spacing:2.5px; }
.cta-block h2 { font-family:'Archivo Narrow', sans-serif; font-weight:700; font-size:clamp(64px, 11vw, 200px); line-height:0.82; letter-spacing:-0.03em; text-transform:uppercase; color:var(--paper); margin-top:20px; }
.cta-block h2 .accent { color:var(--kdb-red); }
.cta-block p { margin-top:32px; font-family:'JetBrains Mono', monospace; font-size:13px; letter-spacing:0.5px; color:var(--paper-2); max-width:560px; margin-left:auto; margin-right:auto; line-height:1.7; }
.cta-block .btn-red { margin-top:44px; }
.cta-block .direct { margin-top:32px; font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:2px; color:var(--paper-2); text-transform:uppercase; }
.cta-block .direct a { color:var(--paper); border-bottom:1px solid var(--hair-2); padding-bottom:2px; }
.cta-block .direct a:hover { color:var(--kdb-red); border-bottom-color:var(--kdb-red); }

/* ── footer ───────────────────────────────────── */
footer { background:var(--ink); padding:60px 40px 32px; border-top:1px solid var(--hair-2); display:grid; grid-template-columns:1fr auto; gap:48px; align-items:end; }
footer .f-brand img { height:54px; display:block; margin-bottom:20px; }
footer .f-tag { font-family:'Archivo Narrow', sans-serif; font-size:28px; font-weight:500; color:var(--paper); text-transform:uppercase; letter-spacing:-0.01em; line-height:1.05; }
footer .f-tag span { color:var(--kdb-red); }
footer .f-meta { font-family:'JetBrains Mono', monospace; font-size:11px; line-height:1.7; color:var(--paper-2); letter-spacing:0.3px; text-align:right; }
footer .f-meta a { color:var(--paper); border-bottom:1px solid var(--hair-2); }
footer .f-base { grid-column:1 / -1; margin-top:40px; padding-top:20px; border-top:1px solid var(--hair); display:flex; justify-content:space-between; font-family:'JetBrains Mono', monospace; font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--paper-2); }
footer .f-base .creds { display:flex; gap:24px; }
footer .f-base .creds span::before { content:"●"; color:var(--kdb-red); font-size:7px; margin-right:8px; }

/* ── generic content sections ─────────────────── */
.section { padding:96px 40px; }
.section + .section { border-top:1px solid var(--hair); }
.section__head { max-width:1280px; margin:0 auto 48px; }
.section__eyebrow { font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:3px; color:var(--kdb-red); text-transform:uppercase; }
.section__title { font-family:'Archivo Narrow', sans-serif; font-weight:600; font-size:clamp(40px, 6vw, 72px); line-height:0.95; letter-spacing:-0.025em; text-transform:uppercase; color:var(--paper); margin-top:14px; }
.section__title .accent { color:var(--kdb-red); }
.section__lede { max-width:720px; margin-top:22px; font-family:'Archivo Narrow', sans-serif; font-size:22px; line-height:1.45; color:var(--paper); font-weight:400; letter-spacing:-0.005em; }
.section__body { max-width:1280px; margin:0 auto; }
.prose { max-width:720px; font-family:'Inter', sans-serif; font-size:15px; line-height:1.7; color:var(--paper-2); }
.prose p + p { margin-top:18px; }
.prose b { color:var(--paper); font-weight:500; }

/* two-col layout */
.two-col { display:grid; grid-template-columns:1fr 1fr; gap:48px; max-width:1280px; margin:0 auto; }
.two-col .prose { max-width:none; }

/* value / feature grid */
.features { display:grid; grid-template-columns:repeat(3, 1fr); gap:2px; background:var(--hair); max-width:1280px; margin:0 auto; }
.feature { background:var(--ink); padding:36px 32px; display:flex; flex-direction:column; gap:14px; min-height:220px; }
.feature__no { font-family:'Archivo Narrow', sans-serif; font-weight:700; font-size:42px; line-height:1; color:var(--kdb-red); letter-spacing:-0.03em; }
.feature__name { font-family:'Archivo Narrow', sans-serif; font-weight:600; font-size:22px; text-transform:uppercase; letter-spacing:-0.01em; color:var(--paper); }
.feature__desc { font-family:'Inter', sans-serif; font-size:13.5px; line-height:1.6; color:var(--paper-2); }

/* ── contact form ─────────────────────────────── */
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; max-width:1280px; margin:0 auto; align-items:start; }
.contact-aside { font-family:'JetBrains Mono', monospace; font-size:12px; line-height:1.8; color:var(--paper-2); letter-spacing:0.3px; }
.contact-aside h3 { font-family:'Archivo Narrow', sans-serif; font-weight:600; font-size:32px; text-transform:uppercase; letter-spacing:-0.015em; color:var(--paper); margin-bottom:18px; }
.contact-aside .label { display:block; color:var(--kdb-red); font-size:10px; letter-spacing:2.5px; text-transform:uppercase; margin-top:28px; margin-bottom:6px; }
.contact-aside .value { color:var(--paper); font-family:'Archivo Narrow', sans-serif; font-size:22px; line-height:1.2; font-weight:500; text-transform:none; letter-spacing:0; display:block; }
.contact-aside .value a { color:var(--paper); border-bottom:1px solid var(--hair-2); }
.contact-aside .value a:hover { color:var(--kdb-red); border-bottom-color:var(--kdb-red); }

form.contact-form { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
form.contact-form .row { grid-column:1 / -1; }
.field { display:flex; flex-direction:column; gap:6px; }
.field label { font-family:'JetBrains Mono', monospace; font-size:10px; letter-spacing:2.5px; text-transform:uppercase; color:var(--kdb-red); }
.field label .opt { color:var(--paper-2); font-size:9px; margin-left:6px; letter-spacing:1.5px; }
.field input, .field select, .field textarea {
  width:100%; padding:14px 16px; background:var(--ink-2); border:1px solid var(--hair-2); color:var(--paper);
  font-family:'Inter', sans-serif; font-size:14px; line-height:1.4;
  transition:border-color 200ms, background 200ms;
  appearance:none; border-radius:0;
}
.field select { cursor:pointer; background-image:linear-gradient(45deg, transparent 50%, var(--paper-2) 50%), linear-gradient(135deg, var(--paper-2) 50%, transparent 50%); background-position: calc(100% - 18px) 20px, calc(100% - 13px) 20px; background-size: 5px 5px, 5px 5px; background-repeat: no-repeat; padding-right:40px; }
.field textarea { min-height:160px; resize:vertical; font-family:'Inter', sans-serif; }
.field input:focus, .field select:focus, .field textarea:focus { outline:none; border-color:var(--kdb-red); background:var(--ink-3); }
.field input::placeholder, .field textarea::placeholder { color:rgba(239,234,224,0.35); }

.form-actions { grid-column:1 / -1; display:flex; justify-content:space-between; align-items:center; margin-top:12px; gap:24px; flex-wrap:wrap; }
.form-note { font-family:'JetBrains Mono', monospace; font-size:10px; letter-spacing:1.5px; text-transform:uppercase; color:var(--paper-2); }
.form-status { grid-column:1 / -1; padding:18px 22px; border:1px solid var(--hair-2); font-family:'JetBrains Mono', monospace; font-size:12px; line-height:1.6; letter-spacing:0.3px; }
.form-status.ok { border-color:var(--kdb-red); color:var(--paper); background:rgba(200,16,46,0.08); }
.form-status.err { border-color:#e2b21f; color:#f3d06b; background:rgba(226,178,31,0.06); }

/* ── responsive ───────────────────────────────── */
@media (max-width: 1100px) {
  .process__grid { grid-template-columns:repeat(2, 1fr); }
  .run-time { grid-template-columns:repeat(2, 1fr); }
  .rt:nth-child(3) { border-left:none; padding-left:0; }
  .contact-grid { grid-template-columns:1fr; gap:40px; }
  .two-col { grid-template-columns:1fr; gap:28px; }
  .features { grid-template-columns:repeat(2, 1fr); }
  .case { grid-template-columns:60px 140px 1fr auto; }
  .case__meta { display:none; }
}
@media (max-width: 760px) {
  .top-bar { padding:14px 20px; flex-wrap:wrap; gap:12px; }
  .top-bar__menu { gap:14px; font-size:10px; width:100%; justify-content:flex-end; overflow-x:auto; }
  .top-bar__brand img { height:24px; }
  .top-bar__cta { padding:8px 14px; }
  .hero__content { padding:110px 22px 22px; }
  .hero__title { font-size:clamp(52px, 14vw, 110px); }
  .hero__sub { font-size:12px; }
  .hero__base { grid-template-columns:1fr; gap:20px; }
  .process, .run-time, .band__content, .chapters, .cta-block, .section, .specs, footer { padding-left:22px; padding-right:22px; }
  .process__grid { grid-template-columns:1fr; }
  .run-time { grid-template-columns:1fr 1fr; padding-top:40px; padding-bottom:40px; }
  .rt__num { font-size:60px; }
  .specs { flex-direction:column; align-items:flex-start; gap:16px; }
  .specs__flow { flex-wrap:wrap; gap:16px; white-space:normal; }
  .case { grid-template-columns:50px 1fr auto; gap:16px; padding:18px 0; }
  .case__still { display:none; }
  .case__name { font-size:24px; }
  .case__no { font-size:36px; }
  .chapters__title { font-size:48px; }
  .cta-block { padding:110px 22px; }
  .cta-block h2 { font-size:clamp(44px, 14vw, 96px); }
  footer { grid-template-columns:1fr; }
  footer .f-meta { text-align:left; }
  footer .f-base { flex-direction:column; gap:12px; }
  form.contact-form { grid-template-columns:1fr; }
  .features { grid-template-columns:1fr; }
  .band__content { padding:0 22px; }
  .band__title { font-size:clamp(38px, 10vw, 72px); }
}
