/* ═══════════════════════════════════════════════════════════════
   Singh Security Services — "The Dispatch Log"
   Palette elevated from the real shield: royal blue, gold border,
   navy banner. The template lime is retired.
   ═══════════════════════════════════════════════════════════════ */

:root{
  --ink:      #0A1430;   /* banner navy, deepened — the ground */
  --ink-2:    #101C42;   /* raised panel */
  --ink-3:    #17244F;   /* hairline / raised edge */
  --blue:     #2C4C9B;   /* shield body */
  --blue-lt:  #5D7FD1;
  --gold:     #F2C230;   /* shield border — the ONLY accent */
  --gold-dk:  #C99A12;
  --paper:    #F4F1EA;   /* warm daylight */
  --paper-2:  #E7E2D6;
  --alert:    #C8442E;   /* used once: "no response" */
  --alert-lt: #F0836C;

  --txt-on-ink:   #EEF1F8;
  --txt-on-ink-2: #A8B3CE;   /* bright, never grey-mush */
  --txt-on-paper: #14203F;
  --txt-on-paper-2:#4B5876;

  --f-disp:'Libre Franklin', 'Helvetica Neue', Helvetica, sans-serif;
  --f-mono:'Azeret Mono', ui-monospace, SFMono-Regular, Menlo, monospace;

  --r: 10px;             /* radius lane: precise / authoritative */
  --navh: 84px;

  /* ── THREE-TIER MARGIN HIERARCHY ──
     nav/footer (frame) < hero (stage) < body (column)          */
  --w-nav:  1680px;  --p-nav:  clamp(18px, 3vw, 40px);
  --w-hero: 1500px;  --p-hero: clamp(26px, 5vw, 64px);
  --w-body: 1240px;  --p-body: clamp(34px, 6vw, 96px);

  --sec-y: clamp(72px, 9vw, 148px);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--ink); color:var(--txt-on-ink);
  font:400 17px/1.62 var(--f-disp);
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
h1,h2,h3{margin:0}
p{margin:0}
a{color:inherit}
.mono{font-family:var(--f-mono);font-variant-numeric:lining-nums tabular-nums}

/* containers */
.nav__in,.foot__in{max-width:var(--w-nav);margin-inline:auto;padding-inline:var(--p-nav)}
.hero__in{max-width:var(--w-hero);margin-inline:auto;padding-inline:var(--p-hero);width:100%}
.body{max-width:var(--w-body);margin-inline:auto;padding-inline:var(--p-body)}
.body--narrow{max-width:1040px}

/* ── icons: one hand-authored stroke family, 1.8px, round joins ── */
.ic{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;
    stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* ═══════════ BUTTONS — mechanics per craft floor ═══════════ */
.btn{
  --pad-y:14px; --pad-x:28px;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:var(--pad-y) var(--pad-x);min-height:48px;
  border-radius:var(--r);text-decoration:none;cursor:pointer;
  font:600 15px/1 var(--f-disp);letter-spacing:.01em;
  transition:transform .12s ease, box-shadow .12s ease, background .12s ease, border-color .12s ease;
}
.btn--lg{--pad-y:17px;--pad-x:34px;font-size:16px;min-height:56px}
.btn--full{width:100%}
.btn--gold{
  background:var(--gold);color:#231A00;
  border:1px solid color-mix(in oklab,#fff 34%,var(--gold)); /* ONE tactile cue */
  box-shadow:0 1px 2px rgb(0 0 0/.28);
}
.btn--gold:hover{background:color-mix(in oklab,#000 7%,var(--gold));box-shadow:0 4px 14px rgb(242 194 48/.26)}
.btn--gold:active{transform:translateY(1px);box-shadow:0 1px 1px rgb(0 0 0/.3)}
.btn--ghost{
  background:transparent;color:var(--txt-on-ink);
  border:1px solid color-mix(in oklab,var(--txt-on-ink) 32%, transparent);
}
.btn--ghost:hover{border-color:var(--gold);color:var(--gold)}
.btn--ghost:active{transform:translateY(1px)}
.btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.sec--prem .prem__card--res .btn--ghost{color:var(--txt-on-paper);border-color:color-mix(in oklab,var(--txt-on-paper) 26%,transparent)}
.sec--prem .prem__card--res .btn--ghost:hover{border-color:var(--blue);color:var(--blue)}

/* ═══════════ NAV — the frame ═══════════ */
.nav{position:fixed;inset:0 0 auto;z-index:60;height:var(--navh);
  background:color-mix(in oklab,var(--ink) 86%,transparent);
  backdrop-filter:blur(12px);
  border-bottom:1px solid color-mix(in oklab,#fff 9%,transparent)}
.nav__in{height:100%;display:flex;align-items:center;gap:32px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;margin-right:auto}
.brand__shield{width:46px;height:auto;filter:drop-shadow(0 2px 7px rgb(0 0 0/.55))}
.brand__txt{display:flex;flex-direction:column;line-height:1}
.brand__name{font-weight:900;font-size:22px;letter-spacing:-.015em}
.brand__sub{font-size:9.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold);margin-top:3px}
.nav__links{display:flex;gap:30px}
.nav__links a{text-decoration:none;font-size:14.5px;font-weight:500;color:var(--txt-on-ink-2);
  transition:color .15s}
.nav__links a:hover{color:var(--gold)}
.nav__cta{--pad-y:11px;--pad-x:20px;min-height:44px;font-size:14.5px}

/* ═══════════ HERO — the stage ═══════════ */
.hero{
  position:relative;overflow:hidden;
  min-height:calc(100dvh - var(--navh));margin-top:var(--navh);
  display:flex;flex-direction:column;
  background:
    radial-gradient(120% 90% at 78% 8%, rgba(44,76,155,.42), transparent 62%),
    radial-gradient(80% 70% at 8% 96%, rgba(242,194,48,.09), transparent 60%),
    var(--ink);
}
.hero__grid{
  position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(color-mix(in oklab,#fff 5%,transparent) 1px, transparent 1px),
    linear-gradient(90deg, color-mix(in oklab,#fff 5%,transparent) 1px, transparent 1px);
  background-size:76px 76px;
  mask-image:radial-gradient(78% 68% at 62% 40%, #000 30%, transparent 78%);
}
.hero__in{position:relative;flex:1;
  display:grid;grid-template-columns:minmax(0,1.24fr) minmax(0,.76fr);
  gap:clamp(40px,4vw,72px);align-items:center;
  padding-block:40px calc(var(--striph) + 40px)}
.hero__stack{max-width:820px;min-width:0}

/* ── the interval, running (ambient) ── */
.zone{
  --r-card:18px;
  justify-self:end;width:100%;max-width:440px;
  border-radius:var(--r-card);overflow:hidden;
  background:color-mix(in oklab,#000 30%,var(--ink-2));
  border:1px solid var(--ink-3);
  box-shadow:0 30px 70px -40px rgb(0 0 0/.9);
  transition:border-color .5s ease}
.zone.is-verified{border-color:color-mix(in oklab,var(--gold) 52%,transparent)}
.zone__bar{display:flex;justify-content:space-between;align-items:center;
  padding:15px 20px;border-bottom:1px solid var(--ink-3);
  background:color-mix(in oklab,#000 22%,transparent)}
.zone__live{display:inline-flex;align-items:center;gap:9px;font-size:10.5px;font-weight:600;
  letter-spacing:.15em;text-transform:uppercase;color:var(--txt-on-ink-2)}
.zone__live i{width:7px;height:7px;border-radius:50%;background:var(--alert-lt);
  animation:blink 1.15s steps(1) infinite}
.zone__clock{font-size:19px;font-weight:600;color:var(--txt-on-ink);letter-spacing:.06em}
.zone.is-verified .zone__clock{color:var(--gold)}
.zone__list{list-style:none;margin:0;padding:8px}
.zone__row{display:flex;align-items:center;gap:12px;padding:13px 12px;border-radius:11px;
  opacity:.32;transition:opacity .45s ease,background .45s ease}
.zone__row.is-live{opacity:1;background:color-mix(in oklab,var(--blue) 18%,transparent)}
.zone__chip{flex:none;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  padding:5px 9px;border-radius:5px;
  background:color-mix(in oklab,#fff 9%,transparent);color:var(--txt-on-ink-2)}
.zone__row.is-live .zone__chip{background:var(--gold);color:#231A00}
.zone__what{flex:1;font-size:13.5px;color:var(--txt-on-ink-2);min-width:0}
.zone__row.is-live .zone__what{color:var(--txt-on-ink)}
.zone__t{flex:none;font-size:12.5px;color:var(--txt-on-ink-2);letter-spacing:.04em}
.zone__status{margin:0;padding:15px 20px;border-top:1px solid var(--ink-3);
  font-size:10.5px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;
  color:var(--alert-lt);background:color-mix(in oklab,var(--alert) 10%,transparent);
  transition:color .45s ease,background .45s ease}
.zone__status[data-ok="1"]{color:var(--gold);background:color-mix(in oklab,var(--gold) 12%,transparent)}

.eyebrow{display:inline-flex;align-items:center;gap:10px;
  font:500 11.5px/1 var(--f-mono);letter-spacing:.15em;text-transform:uppercase;
  color:var(--gold);
  border:1px solid color-mix(in oklab,var(--gold) 30%,transparent);
  background:color-mix(in oklab,var(--gold) 8%,transparent);
  padding:9px 14px;border-radius:999px}
.eyebrow__dot{width:6px;height:6px;border-radius:50%;background:var(--gold);
  box-shadow:0 0 0 0 rgb(242 194 48/.6);animation:pulse 2.4s ease-out infinite}
@keyframes pulse{70%{box-shadow:0 0 0 9px rgb(242 194 48/0)}100%{box-shadow:0 0 0 0 rgb(242 194 48/0)}}

.h1{
  margin:26px 0 0;
  font-weight:900;letter-spacing:-.028em;line-height:.98;
  font-size:clamp(40px, 5.1vw, 78px);
  text-wrap:balance;
}
.lede{
  margin:26px 0 0;max-width:60ch;
  font-size:clamp(16.5px,1.28vw,19.5px);line-height:1.58;
  color:var(--txt-on-ink-2);text-wrap:pretty;
}
.hero__cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}

/* fold strip — bar is full-bleed; its content starts on the HERO tier and
   runs off the right edge, so the log emerges from the text column.        */
.strip{
  --striph:56px;
  --hero-inset:calc(max(0px, (100vw - var(--w-hero)) / 2) + var(--p-hero));
  position:absolute;left:0;right:0;bottom:0;width:100%;height:var(--striph);
  display:flex;align-items:center;overflow:hidden;
  padding-left:var(--hero-inset);
  background:color-mix(in oklab,#000 34%,var(--ink));
  border-top:1px solid color-mix(in oklab,var(--gold) 26%,transparent);
}
.hero{--striph:56px}
.strip__label{
  flex:none;display:inline-flex;align-items:center;gap:9px;height:100%;
  padding:0 20px;background:var(--gold);color:#231A00;
  font:600 10.5px/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;
  white-space:nowrap;z-index:2}
.strip__pulse{width:7px;height:7px;border-radius:50%;background:#231A00;animation:blink 1.3s steps(1) infinite}
@keyframes blink{50%{opacity:.15}}
.strip__vp{flex:1;overflow:hidden;
  mask-image:linear-gradient(90deg,#000 0,#000 90%,transparent)}
.strip__track{display:flex;gap:0;width:max-content;animation:slide 46s linear infinite}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.strip__i{display:inline-flex;align-items:center;gap:12px;padding:0 24px;white-space:nowrap;
  font:400 11.8px/1 var(--f-mono);color:var(--txt-on-ink-2);letter-spacing:-.005em}
.strip__i b{color:var(--txt-on-ink);font-weight:500}
.strip__i.is-hit b{color:var(--gold)}
.strip__i::after{content:"";width:4px;height:4px;border-radius:50%;
  background:color-mix(in oklab,var(--txt-on-ink) 30%,transparent);margin-left:14px}

/* ═══════════ SECTION FURNITURE ═══════════ */
.sec{padding-block:var(--sec-y)}
.kicker{font:600 11.5px/1 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;
  color:var(--blue-lt);margin-bottom:18px}
.kicker--gold{color:var(--gold-dk)}
.h2{font-weight:900;letter-spacing:-.024em;line-height:1.03;
  font-size:clamp(31px,3.7vw,55px);text-wrap:balance;max-width:20ch}
.h2--sm{font-size:clamp(28px,2.9vw,42px)}
.prose{margin-top:20px;max-width:64ch;color:var(--txt-on-ink-2);
  font-size:17.5px;line-height:1.62;text-wrap:pretty}
.prose--tight{max-width:46ch;margin-top:0}
.sechead{margin-bottom:clamp(40px,4.4vw,68px)}
.sechead--split{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:end}

/* ═══════════ 01 — THE 30 MINUTES ═══════════ */
.sec--thirty{background:
  linear-gradient(180deg,var(--ink),color-mix(in oklab,#000 16%,var(--ink)))}
.sim{display:grid;grid-template-columns:.92fr 1.08fr;gap:22px;align-items:stretch}
.sim__panel{
  --r-card:20px; --gap-card:26px;
  background:var(--ink-2);border:1px solid var(--ink-3);
  border-radius:var(--r-card);padding:var(--gap-card);
}
.sim__panel .btn{border-radius:calc(var(--r-card) - var(--gap-card) + 14px)} /* concentric */

.ctl+.ctl{margin-top:30px;padding-top:30px;border-top:1px solid var(--ink-3)}
.ctl__lab{display:block;font:600 11px/1 var(--f-mono);letter-spacing:.15em;
  text-transform:uppercase;color:var(--txt-on-ink-2)}
.ctl__val{float:right;font-size:19px;font-weight:600;color:var(--gold);margin-top:-4px}

.dial{position:relative;margin-top:22px;height:28px}
.dial__band{position:absolute;top:11px;height:6px;border-radius:3px;
  left:29.17%;width:41.67%;                       /* 07:00 → 17:00 */
  background:repeating-linear-gradient(45deg,
    color-mix(in oklab,var(--alert) 42%,transparent) 0 5px,
    transparent 5px 10px);
  opacity:0;transition:opacity .28s ease}
.sim.is-com .dial__band{opacity:.5}          /* the dead zone only exists for business premises */
.sim.is-blackout .dial__band{opacity:1}
.dial input[type=range]{
  position:relative;width:100%;height:28px;margin:0;background:none;
  -webkit-appearance:none;appearance:none;cursor:ew-resize}
.dial input[type=range]::-webkit-slider-runnable-track{
  height:6px;margin-top:11px;border-radius:3px;
  background:color-mix(in oklab,#fff 12%,transparent)}
.dial input[type=range]::-moz-range-track{height:6px;border-radius:3px;
  background:color-mix(in oklab,#fff 12%,transparent)}
.dial input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;width:22px;height:22px;border-radius:50%;
  margin-top:-8px;background:var(--gold);border:2px solid var(--ink-2);
  box-shadow:0 2px 8px rgb(0 0 0/.45)}
.dial input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;
  background:var(--gold);border:2px solid var(--ink-2);box-shadow:0 2px 8px rgb(0 0 0/.45)}
.dial input[type=range]:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:6px}
.dial__ticks{display:flex;justify-content:space-between;margin-top:8px;
  font-size:10.5px;color:color-mix(in oklab,var(--txt-on-ink-2) 70%,transparent);letter-spacing:.1em}

.seg{display:flex;gap:6px;margin-top:16px;padding:6px;border-radius:14px;
  background:color-mix(in oklab,#000 26%,transparent)}
.seg__b{flex:1;padding:12px 10px;border:0;border-radius:8px;cursor:pointer;
  background:transparent;color:var(--txt-on-ink-2);
  font:600 14px/1 var(--f-disp);transition:background .15s,color .15s}
.seg__b:hover{color:var(--txt-on-ink)}
.seg__b.is-on{background:var(--blue);color:#fff}
.seg__b:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

.opts{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:2px}
.opt{display:flex;gap:13px;align-items:flex-start;padding:11px 10px;border-radius:10px;
  cursor:pointer;transition:background .15s}
.opt:hover{background:color-mix(in oklab,#fff 4%,transparent)}
/* visually hidden but still focusable + in the a11y tree */
.opt input{position:absolute;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}
.opt__box{flex:none;width:19px;height:19px;margin-top:2px;border-radius:5px;
  border:1.6px solid color-mix(in oklab,#fff 30%,transparent);
  background:color-mix(in oklab,#000 22%,transparent);
  display:grid;place-items:center;transition:background .15s,border-color .15s}
.opt__box::after{content:"";width:9px;height:5px;border-left:2px solid #231A00;
  border-bottom:2px solid #231A00;transform:rotate(-45deg) scale(0);transition:transform .16s;
  margin-top:-2px}
.opt input:checked + .opt__box{background:var(--gold);border-color:var(--gold)}
.opt input:checked + .opt__box::after{transform:rotate(-45deg) scale(1)}
.opt input:focus-visible + .opt__box{outline:2px solid var(--gold);outline-offset:2px}
.opt__t{font-size:14.5px;font-weight:500;line-height:1.4}
.opt__t em{display:block;font:400 10.8px/1.45 var(--f-mono);font-style:normal;
  color:color-mix(in oklab,var(--txt-on-ink-2) 82%,transparent);margin-top:3px;letter-spacing:.04em}

.sim__out{display:grid;grid-template-rows:auto 1fr;gap:22px;background:none;border:0;padding:0}
.verdict{
  --r-card:20px;--gap-card:28px;
  border-radius:var(--r-card);padding:var(--gap-card);
  border:1px solid;transition:background .3s,border-color .3s}
.verdict[data-state=go]{background:linear-gradient(160deg,color-mix(in oklab,var(--gold) 15%,var(--ink-2)),var(--ink-2));
  border-color:color-mix(in oklab,var(--gold) 46%,transparent)}
.verdict[data-state=no]{background:linear-gradient(160deg,color-mix(in oklab,var(--alert) 20%,var(--ink-2)),var(--ink-2));
  border-color:color-mix(in oklab,var(--alert) 55%,transparent)}
.verdict[data-state=maybe]{background:var(--ink-2);border-color:var(--ink-3)}
.verdict__top{display:flex;justify-content:space-between;align-items:center}
.verdict__badge{font-size:10.5px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;
  padding:7px 12px;border-radius:999px}
.verdict[data-state=go] .verdict__badge{background:var(--gold);color:#231A00}
.verdict[data-state=no] .verdict__badge{background:var(--alert);color:#fff}
.verdict[data-state=maybe] .verdict__badge{background:color-mix(in oklab,#fff 14%,transparent);color:var(--txt-on-ink)}
.verdict__clock{font-size:15px;color:var(--txt-on-ink-2);letter-spacing:.06em}
.verdict__head{margin-top:20px;font-size:clamp(23px,2.1vw,31px);font-weight:800;
  letter-spacing:-.018em;line-height:1.14;text-wrap:balance}
.verdict__sub{margin-top:11px;color:var(--txt-on-ink-2);font-size:15.5px;line-height:1.55;max-width:44ch;text-wrap:pretty}
.quote{margin:22px 0 0;padding:16px 20px;border-left:3px solid var(--alert);
  background:color-mix(in oklab,#000 26%,transparent);border-radius:0 10px 10px 0}
.quote p{font-size:14.5px;line-height:1.55;font-style:italic}
.quote cite{display:block;margin-top:9px;font:400 11px/1 var(--f-mono);font-style:normal;
  letter-spacing:.08em;color:var(--txt-on-ink-2);text-transform:uppercase}

.log{background:color-mix(in oklab,#000 30%,var(--ink-2));border:1px solid var(--ink-3);
  border-radius:20px;padding:24px 26px}
.log__cap{font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--txt-on-ink-2);margin-bottom:14px}
.log__list{list-style:none;margin:0;padding:0;display:grid;gap:9px;min-height:132px}
.log__list li{display:flex;gap:14px;font-size:12.2px;line-height:1.55;letter-spacing:-.005em;
  color:var(--txt-on-ink-2);animation:logIn .3s ease both}
.log__list li b{flex:none;color:var(--gold);font-weight:500;letter-spacing:.03em}
.log__list li.is-bad b{color:var(--alert-lt)}
.log__list li span{color:var(--txt-on-ink)}
@keyframes logIn{from{opacity:0;transform:translateY(5px)}}

.fineprint{margin-top:34px;max-width:78ch;font-size:13.5px;line-height:1.6;
  color:color-mix(in oklab,var(--txt-on-ink-2) 76%,transparent)}

/* ═══════════ 02 — ROUTES ═══════════ */
.sec--routes{background:var(--ink)}
.routes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.route{--r-card:20px;position:relative;padding:30px 28px 28px;border-radius:var(--r-card);
  background:var(--ink-2);border:1px solid var(--ink-3);
  display:flex;flex-direction:column;
  transition:transform .18s ease, border-color .18s ease}
.route:hover{transform:translateY(-3px)}
.route--own:hover{border-color:color-mix(in oklab,var(--gold) 48%,transparent)}
.route__n{position:absolute;top:26px;right:26px;font-size:12px;letter-spacing:.12em;
  color:color-mix(in oklab,var(--txt-on-ink-2) 62%,transparent)}
.route__ic{width:26px;height:26px;fill:none;stroke:var(--gold);stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round;
  padding:9px;box-sizing:content-box;border-radius:12px;
  background:color-mix(in oklab,var(--gold) 11%,transparent)}
.route--other .route__ic{stroke:var(--blue-lt);background:color-mix(in oklab,var(--blue-lt) 12%,transparent)}
.route h3{margin-top:20px;font-size:20.5px;font-weight:800;letter-spacing:-.015em;line-height:1.22;text-wrap:balance}
.route p{margin-top:12px;font-size:15px;line-height:1.58;color:var(--txt-on-ink-2);text-wrap:pretty}
.route p em{font-style:italic;color:var(--txt-on-ink)}
.route__tag{align-self:flex-start;margin-top:auto;padding-top:6px;font-size:10.5px;font-weight:600;
  letter-spacing:.13em;text-transform:uppercase;padding:6px 11px;border-radius:6px}
.route p{margin-bottom:24px}
.route--own .route__tag{background:color-mix(in oklab,var(--gold) 15%,transparent);color:var(--gold)}
.route--other .route__tag{background:color-mix(in oklab,#fff 8%,transparent);color:var(--txt-on-ink-2)}

/* ═══════════ 03 — PREMISES ═══════════ */
.sec--prem{background:var(--paper);color:var(--txt-on-paper)}
.sec--prem .h2{color:var(--txt-on-paper)}
.sec--prem .kicker{color:var(--blue)}
.prem{display:grid;grid-template-columns:1.12fr .88fr;gap:22px;align-items:stretch}
.prem__card{--r-card:22px;--gap-card:clamp(28px,2.6vw,44px);
  border-radius:var(--r-card);padding:var(--gap-card);
  display:flex;flex-direction:column}
.prem__card .btn{align-self:flex-start;margin-top:auto}
.prem__card .ticks{margin-bottom:34px}
.prem__card--com{background:var(--ink);color:var(--txt-on-ink);
  border:1px solid color-mix(in oklab,var(--gold) 24%,transparent)}
.prem__card--res{background:#fff;border:1px solid var(--paper-2)}
.prem__eyebrow{font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.prem__card--com .prem__eyebrow{color:var(--gold)}
.prem__card--res .prem__eyebrow{color:var(--blue)}
.prem__h{margin-top:16px;font-size:clamp(24px,2.2vw,32px);font-weight:800;
  letter-spacing:-.02em;line-height:1.13;text-wrap:balance}
.prem__card p{margin-top:16px;font-size:16px;line-height:1.6;text-wrap:pretty;max-width:52ch}
.prem__card--com p{color:var(--txt-on-ink-2)}
.prem__card--res p{color:var(--txt-on-paper-2)}
.prem__card--com strong{color:var(--gold);font-weight:700}
.ticks{list-style:none;margin:26px 0 30px;padding:0;display:grid;gap:11px}
.ticks li{position:relative;padding-left:28px;font-size:15px;line-height:1.5}
.ticks li::before{content:"";position:absolute;left:0;top:6px;width:13px;height:7px;
  border-left:2px solid var(--gold);border-bottom:2px solid var(--gold);
  transform:rotate(-45deg)}
.prem__card--res .ticks li::before{border-color:var(--blue)}
.prem__card--res .ticks li{color:var(--txt-on-paper)}

/* ═══════════ 04 — INSTALL ═══════════ */
.sec--install{background:var(--paper);color:var(--txt-on-paper);padding-top:0}
.install{display:grid;grid-template-columns:.86fr 1.14fr;gap:clamp(36px,4.4vw,76px);align-items:center}
.install__fig{margin:0;position:relative}
.install__fig img{border-radius:20px;aspect-ratio:4/3;object-fit:cover;
  box-shadow:0 24px 60px -30px rgb(10 20 48/.5)}
.install__fig figcaption{margin-top:14px;font-size:11.5px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--txt-on-paper-2)}
.sec--install .kicker{color:var(--blue)}
.sec--install .h2{color:var(--txt-on-paper)}
.sec--install .prose{color:var(--txt-on-paper-2)}
.kit{list-style:none;margin:34px 0 0;padding:0;
  display:grid;grid-template-columns:1fr 1fr;gap:20px 26px}
.kit li{display:flex;gap:14px;align-items:flex-start}
.ic--tile{width:20px;height:20px;stroke:var(--blue);stroke-width:1.8;
  padding:9px;box-sizing:content-box;border-radius:10px;
  background:color-mix(in oklab,var(--blue) 9%,transparent);flex:none;
  transition:background .16s}
.kit li:hover .ic--tile{background:color-mix(in oklab,var(--blue) 17%,transparent)}
.kit li span{font-size:14.5px;line-height:1.45;color:var(--txt-on-paper-2);text-wrap:balance}
.kit li strong{display:block;font-size:15.5px;font-weight:700;color:var(--txt-on-paper);margin-bottom:3px}

/* ═══════════ 05 — OWNER ═══════════ */
.sec--owner{background:var(--ink)}
.owner{display:grid;grid-template-columns:.58fr 1.42fr;gap:clamp(36px,4.4vw,72px);align-items:center}
.owner__mark{display:grid;place-items:center;padding:clamp(24px,2.4vw,38px);
  border-radius:24px;
  border:1px solid color-mix(in oklab,var(--gold) 34%,transparent);
  background:radial-gradient(120% 100% at 50% 0%, #FFFDF7, var(--paper) 62%, var(--paper-2));
  box-shadow:0 30px 70px -40px rgb(0 0 0/.8)}
.owner__mark img{width:min(238px,86%);filter:drop-shadow(0 10px 20px rgb(10 20 48/.22))}
.facts{margin:34px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:22px 34px}
.facts dt{font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--txt-on-ink-2)}
.facts dd{margin:7px 0 0;font-size:16.5px;font-weight:600;color:var(--txt-on-ink)}

/* ═══════════ 06 — BOOK ═══════════ */
.sec--book{background:var(--paper);color:var(--txt-on-paper)}
.book{--r-card:26px;--gap-card:clamp(30px,3.4vw,60px);
  background:#fff;border:1px solid var(--paper-2);border-radius:var(--r-card);
  padding:var(--gap-card);box-shadow:0 30px 80px -50px rgb(10 20 48/.45)}
.sec--book .h2{color:var(--txt-on-paper)}
.sec--book .prose{color:var(--txt-on-paper-2);max-width:60ch}
.form{margin-top:34px;display:grid;gap:16px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fld{display:grid;gap:7px}
.fld span{font:600 11px/1 var(--f-mono);letter-spacing:.13em;text-transform:uppercase;
  color:var(--txt-on-paper-2)}
.fld input,.fld select{
  width:100%;padding:14px 15px;border-radius:calc(var(--r) + 1px);
  border:1.5px solid var(--paper-2);background:var(--paper);
  font:400 16px/1.2 var(--f-disp);color:var(--txt-on-paper)}
.fld input:focus,.fld select:focus{outline:2px solid var(--blue);outline-offset:1px;
  border-color:transparent;background:#fff}
.book .btn--gold{margin-top:8px}
.form__note{margin-top:4px;text-align:center;font-size:14.5px;color:var(--txt-on-paper-2);
  text-wrap:balance;max-width:34ch;margin-inline:auto}
.form__note a{font-weight:700;color:var(--blue);text-underline-offset:3px}
.form.is-sent{opacity:.55;pointer-events:none}

/* ═══════════ FOOTER — the frame ═══════════ */
.foot{background:color-mix(in oklab,#000 22%,var(--ink));
  border-top:1px solid var(--ink-3);padding-block:clamp(56px,5vw,84px) 34px}
.foot__top{display:flex;justify-content:space-between;align-items:center;gap:32px;
  padding-bottom:38px;border-bottom:1px solid var(--ink-3)}
.brand--foot .brand__shield{width:46px}
.foot__line{font-size:clamp(18px,1.9vw,26px);font-weight:800;letter-spacing:-.02em;
  color:var(--gold);text-align:right}
.foot__cols{display:grid;grid-template-columns:1.25fr .85fr .85fr 1.05fr;gap:40px;
  padding-block:44px}
.foot__col{display:flex;flex-direction:column;gap:11px}
.foot__cap{font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold);margin-bottom:5px}
.foot__col a,.foot__col span,.foot__col p{font-size:15px;line-height:1.55;
  color:var(--txt-on-ink-2);text-decoration:none;transition:color .15s}
.foot__col a:hover{color:var(--gold)}
.foot__col--note p{font-size:14px;max-width:34ch}
.foot__base{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;
  padding-top:28px;border-top:1px solid var(--ink-3);
  font-size:11.8px;color:color-mix(in oklab,var(--txt-on-ink-2) 70%,transparent)}

/* ═══════════ RESPONSIVE ═══════════ */
@media (max-width:1080px){
  .hero__in{display:flex;align-items:center}
  .zone{display:none}          /* ambient only — the hero reads without it */
  .hero__stack{max-width:none}
  .sim{grid-template-columns:1fr}
  .routes{grid-template-columns:1fr}
  .prem{grid-template-columns:1fr}
  .install{grid-template-columns:1fr}
  .install__fig{max-width:520px}
  .owner{grid-template-columns:1fr}
  .owner__mark{max-width:340px}
  .sechead--split{grid-template-columns:1fr;gap:24px;align-items:start}
  .foot__cols{grid-template-columns:1fr 1fr;gap:34px}
}
@media (max-width:860px){
  .nav__links{display:none}
  .nav__cta span{display:none}
  .nav__cta{--pad-x:14px}
  .h1{font-size:clamp(34px,8.6vw,52px)}
  .kit{grid-template-columns:1fr}
  .foot__top{flex-direction:column;align-items:flex-start;gap:20px}
  .foot__line{text-align:left}
}
@media (max-width:640px){
  :root{--sec-y:clamp(56px,13vw,84px);--navh:74px}
  .eyebrow__long{display:none}
  .eyebrow{font-size:10.5px;letter-spacing:.12em}
  .hero__in{padding-block:28px calc(var(--striph) + 26px)}
  .lede{font-size:16.5px}
  .hero__cta .btn{width:100%}
  .row{grid-template-columns:1fr}
  .facts{grid-template-columns:1fr}
  .foot__cols{grid-template-columns:1fr}
  .strip__label{padding:0 13px;font-size:9.5px}
  .verdict__sub,.prem__card p{max-width:none}
}

/* ═══════════ REDUCED MOTION — the log renders resolved and still ═══════════ */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .strip__track{animation:none;transform:none}
  .route:hover{transform:none}
}
