/* Kingsway Business Support (repository Kingsway-Insurance) — site composition. The kit supplies
   tokens and components; this file owns layout and character. Signature: panelled doors — the
   original pair (your cover, your people) meeting at a seam, and the cash-flow door beside them; a
   threshold strip of review moments; two overlapping example sheets; and "another door" at the end
   of each route page. The site's own list marker is the drawn tick box. */

/* Starter 0.1.1 corrections to kit 0.1.0 (kit stays frozen; proposed for kit 0.1.1):
   gold focus ring on every charcoal surface, and preview tags that wrap instead of overflowing phones. */
.k-surface-ink :focus-visible,.k-panel--ink :focus-visible{outline-color:var(--k-focus-on-ink)}
.k-preview-tag{white-space:normal;line-height:1.45;max-width:100%}

/* ---------- Shared details ---------- */
.k-h1 em,.k-h2 em,.k-display em{letter-spacing:-.02em}
.k-num{font-variant-numeric:lining-nums tabular-nums}
.k-link{padding-block:3px}
/* Charcoal header meets a charcoal first screen on these pages: a hairline keeps them apart. */
.page-pmi .k-header{box-shadow:inset 0 -1px 0 var(--k-ink-line)}
/* The charcoal other door stands on the charcoal footer on the business page: same treatment. */
.page-business .k-footer{box-shadow:inset 0 1px 0 var(--k-ink-line)}
.tracked{font:700 13px/1.3 var(--k-font-body);letter-spacing:.16em;text-transform:uppercase}

/* The drawn tick box: Insurance's own marker, used for checklists and "what we talk about" lists. */
.checks__box{position:relative;display:inline-block;flex:none;width:19px;height:19px;border:1.5px solid var(--k-rule-field);background:var(--k-field)}
.is-ticked>.checks__box{border-color:var(--k-gold-ink)}
.is-ticked>.checks__box::after{content:"";position:absolute;left:5px;top:0;width:6px;height:11px;border:solid var(--k-gold-ink);border-width:0 2.5px 2.5px 0;transform:rotate(42deg)}
.k-on-ink .checks__box{border-color:#7D868C;background:transparent}
.k-on-ink .is-ticked>.checks__box{border-color:var(--k-gold)}
.k-on-ink .is-ticked>.checks__box::after{border-color:var(--k-gold)}

/* ---------- Home: hero with three doors (Business Support, 10 Oct 2026) ---------- */
/* The two-doors direction, adapted for three defined reviews: the original pair (your cover, your
   people) still meets at a seam with two handles; the cash-flow door stands beside it, its handle
   facing the pair. The copy runs across the top in two columns so all three doors keep a generous
   width and the first screen still holds the question, the line and the one gold action. */
.hero{background:var(--k-ground)}
.hero__intro{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:24px clamp(32px,5vw,88px);align-items:end;
  width:100%;max-width:calc(var(--k-wrap) + 2 * var(--k-gutter));margin-inline:auto;padding:clamp(44px,5vw,76px) var(--k-gutter) clamp(36px,3.8vw,52px)}
.hero__copy .k-eyebrow{margin-bottom:20px}
.hero__title{font-size:clamp(44px,4.6vw,74px);line-height:1}
.hero__line{display:block}
.hero__aside{padding-bottom:6px}
.hero__lede{max-width:27em}
.hero__actions{margin-top:28px}

/* Three doors on one shared grid (label / upper panel / lock rail / lower panel), so the panels,
   rails and handles line up across the seams whatever the length of each title. */
.doors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto 1fr auto minmax(84px,.45fr);min-height:clamp(340px,29vw,420px)}
.door{display:contents}
/* The wrapper carries the door colour too: it shows on phones (block) and is the surface the inset focus ring is measured against. */
.door--business{background:var(--k-stone-deep)}
.door--people{background:var(--k-ink-raised)}
.door--cash{background:var(--k-gold-wash)}
.door__link{--door-bg:var(--k-stone-deep);--door-line:rgba(20,26,31,.24);--door-line-soft:rgba(20,26,31,.12);--seam:clamp(44px,3.8vw,56px);--side:clamp(24px,2.4vw,36px);--edge:max(var(--k-gutter),calc((100vw - var(--k-wrap)) / 2));
  grid-row:1 / -1;display:grid;grid-template-rows:subgrid;min-width:0;padding:clamp(24px,2.4vw,32px) var(--side);
  background:var(--door-bg);color:inherit;text-decoration:none;transition:background-color .25s var(--k-ease)}
.door--business .door__link{grid-column:1;padding-left:var(--edge);padding-right:var(--seam);color:var(--k-ink)}
.door--people .door__link{grid-column:2;--door-bg:var(--k-ink-raised);--door-line:rgba(251,249,244,.2);--door-line-soft:rgba(251,249,244,.09);
  padding-left:var(--seam);color:var(--k-on-ink)}
.door--cash .door__link{grid-column:3;--door-bg:var(--k-gold-wash);--door-line:rgba(115,90,34,.3);--door-line-soft:rgba(115,90,34,.14);
  padding-left:var(--seam);padding-right:var(--edge);color:var(--k-ink)}
.door--business .door__link:hover{--door-bg:#D6CDBC}
.door--people .door__link:hover{--door-bg:#222C33}
.door--cash .door__link:hover{--door-bg:#EADDBF}
.door__link:focus-visible{outline-offset:-8px}
.door__label{grid-row:1;display:flex;align-items:center;gap:12px;padding-bottom:18px;font:700 13px/1.3 var(--k-font-body);letter-spacing:.16em;text-transform:uppercase}
.door__label::before{content:"";flex:none;width:24px;height:1px;background:var(--k-gold-ink)}
.door--people .door__label::before{background:var(--k-gold)}
.door__ring{display:none}
.door__panel{position:relative;border:1px solid var(--door-line);box-shadow:inset 0 0 0 7px var(--door-bg),inset 0 0 0 8px var(--door-line-soft)}
.door__panel--upper{grid-row:2;padding:clamp(22px,2.2vw,32px) clamp(20px,1.9vw,28px)}
.door__title{display:block;font:400 clamp(28px,2.3vw,38px)/1.06 var(--k-font-display);letter-spacing:-.024em;text-wrap:balance}
.door__text{display:block;margin-top:14px;font-size:16px;line-height:1.55;max-width:22em}
.door--business .door__text,.door--cash .door__text{color:var(--k-slate-deep)}
.door--people .door__text{color:var(--k-on-ink-muted)}
.door__rail{grid-row:3;position:relative;height:clamp(36px,3.2vw,48px)}
.door__handle{position:absolute;top:50%;width:5px;height:clamp(60px,5vw,76px);margin-top:calc(clamp(60px,5vw,76px) / -2);border-radius:3px}
.door--business .door__handle{right:calc(var(--seam) * -1 + 16px);background:var(--k-gold-ink)}
.door--people .door__handle{left:calc(var(--seam) * -1 + 16px);background:var(--k-gold)}
.door--cash .door__handle{left:calc(var(--seam) * -1 + 16px);background:var(--k-gold-ink)}
.door__panel--lower{grid-row:4;display:flex;flex-direction:column;justify-content:flex-end;padding:16px clamp(20px,1.9vw,28px) 20px}
.door__go{display:flex;align-items:center;justify-content:space-between;gap:16px;font:700 15px/1.3 var(--k-font-body);text-wrap:balance}
.door__arrow{font:400 24px/1 var(--k-font-body);transition:transform .25s var(--k-ease)}
.door--people .door__arrow{color:var(--k-gold)}
.door--cash .door__arrow{color:var(--k-gold-ink)}
.door__link:hover .door__arrow{transform:translateX(6px)}
/* Limited release (11 Oct 2026): the doors describe what is being built and lead nowhere yet, so they
   are panels, not links. Same doors, no hover change, no arrow and no link text: the lower panel is the
   plain moulded panel of the door (the hero eyebrow and lede say the partnerships are in development). */
.door--static .door__link{cursor:default}
.door--business.door--static .door__link:hover{--door-bg:var(--k-stone-deep)}
.door--people.door--static .door__link:hover{--door-bg:var(--k-ink-raised)}
.door--cash.door--static .door__link:hover{--door-bg:var(--k-gold-wash)}

/* Laptop and tablet: the copy stacks; the three doors stay side by side. */
@media (max-width:1180px){
  .hero__intro{grid-template-columns:minmax(0,1fr);align-items:start;padding-block:clamp(44px,6vw,68px) clamp(32px,4.4vw,48px)}
  .hero__title{font-size:clamp(44px,6.6vw,72px)}
  .hero__aside{padding-bottom:0}
  .hero__lede{max-width:34em}
  .door__link{--seam:40px;--side:22px;padding-block:26px}
}
/* Small tablets and phones: each door becomes a clean full-bleed band; the arrow sits in a gold ring. */
@media (max-width:860px){
  .doors{display:block;min-height:0}
  .door{display:block}
  .door__link,.door--business .door__link,.door--people .door__link,.door--cash .door__link{display:flex;flex-direction:column;padding:24px var(--k-gutter) 28px}
  .door__label{padding-bottom:14px}
  .door__ring{display:grid;place-items:center;margin-left:auto;width:40px;height:40px;border:1px solid var(--k-gold-ink);border-radius:50%;font:400 19px/1 var(--k-font-body);letter-spacing:0}
  .door--people .door__ring{border-color:var(--k-gold);color:var(--k-gold)}
  .door__panel{border:0;box-shadow:none}
  .door__panel--upper{display:block;padding:0}
  .door__title,.door__text{display:block}
  .door__title{font-size:clamp(28px,5vw,34px)}
  .door__text{margin-top:8px;max-width:32em}
  .door__rail,.door__panel--lower{display:none}
}
@media (max-width:600px){
  .hero__title{font-size:clamp(36px,10.6vw,52px)}
  .hero__line{display:inline}
}

/* ---------- Home: threshold strip of review moments ---------- */
.threshold{background:var(--k-paper);border-top:1px solid var(--k-ink);border-bottom:1px solid var(--k-rule)}
.threshold__inner{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,2.3fr);gap:24px clamp(28px,4vw,64px);align-items:center;padding-block:clamp(36px,4vw,56px)}
.threshold__title{font:400 clamp(22px,1.8vw,26px)/1.25 var(--k-font-display);letter-spacing:-.01em;max-width:10em}
.threshold__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.threshold__item{display:grid;gap:12px;align-content:start;padding:4px clamp(18px,2.4vw,36px);border-left:1px solid var(--k-gold)}
.threshold__label{font:700 12px/1.3 var(--k-font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--k-gold-ink)}
.threshold__phrase{font:400 clamp(22px,1.95vw,29px)/1.18 var(--k-font-display);letter-spacing:-.016em;text-wrap:balance}
@media (max-width:1180px){
  .threshold__inner{grid-template-columns:minmax(0,1fr)}
  .threshold__title{max-width:none}
  .threshold__item:first-child{padding-left:0;border-left:0}
}
@media (max-width:700px){
  .threshold__list{grid-template-columns:minmax(0,1fr);border-top:1px solid var(--k-rule)}
  .threshold__item,.threshold__item:first-child{grid-template-columns:6.6em minmax(0,1fr);align-items:baseline;gap:12px;padding:16px 0;border-left:0;border-bottom:1px solid var(--k-rule)}
  .threshold__phrase{font-size:21px}
}

/* ---------- Home: two example sheets, the business and its people ---------- */
.sheets__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px clamp(32px,6vw,96px);align-items:end;margin-bottom:clamp(44px,5vw,76px)}
.sheets__head .k-eyebrow{margin-bottom:20px}
.sheets__lede{font-size:var(--k-text-lg);line-height:1.6;color:var(--k-slate-deep);max-width:28em}
.sheets__link{margin-top:20px}
.sheets__stage{position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:start}
.sheet{position:relative;padding:clamp(24px,3vw,40px)}
.sheet--business{grid-column:1 / 9;grid-row:1;background:var(--k-paper);box-shadow:0 22px 48px rgba(20,26,31,.12),0 1px 0 rgba(20,26,31,.05)}
/* The people card overlaps only the business sheet's margin, never its text. */
.sheet--people{grid-column:9 / 13;grid-row:1;z-index:1;margin-top:clamp(120px,13vw,190px);margin-left:calc(-24px - clamp(14px,1.8vw,26px));background:var(--k-ink);color:var(--k-on-ink);box-shadow:0 26px 56px rgba(20,26,31,.28);transform:rotate(.8deg)}
.sheet__tab{position:absolute;z-index:-1;top:-30px;right:clamp(24px,3vw,40px);display:inline-flex;gap:8px;align-items:baseline;padding:8px 12px 20px;background:var(--k-gold-wash);border:1px solid var(--k-gold-ink);font:700 12px/1 var(--k-font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--k-gold-ink)}
.sheet__tab strong{color:var(--k-ink);letter-spacing:.06em}
.sheet__run{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--k-rule)}
.sheet--people .sheet__run{border-bottom-color:var(--k-ink-line)}
.sheet__who{font:700 12px/1.3 var(--k-font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--k-slate-deep)}
.sheet--people .sheet__who{color:var(--k-gold)}
/* Each example sheet carries one understated label; on charcoal it takes the light gold. */
.sheet--people .k-doc__stamp{border-color:var(--k-gold);color:var(--k-gold)}
.sheet__title{font:400 clamp(27px,2.6vw,38px)/1.1 var(--k-font-display);letter-spacing:-.02em;margin:26px 0 4px;max-width:14em;text-wrap:balance}
.sheet--people .sheet__title{font-size:clamp(25px,2.1vw,31px);margin-bottom:18px}
.checks{list-style:none;margin:22px 0 0;padding:0;border-top:1px solid var(--k-rule)}
.checks li{display:grid;grid-template-columns:30px minmax(6.4em,.32fr) minmax(0,1fr);gap:12px;align-items:baseline;padding:13px 0;border-bottom:1px solid var(--k-rule);font-size:14px;line-height:1.5}
.checks .checks__box{top:3px}
.checks strong{font-size:15px}
.checks li>span:last-child{color:var(--k-slate-deep)}
.checks--ink{margin-top:0;border-top-color:var(--k-ink-line)}
.checks--ink li{grid-template-columns:30px minmax(0,1fr);border-bottom-color:var(--k-ink-line);padding:12px 0}
.checks--ink strong{font:400 19px/1.35 var(--k-font-display);letter-spacing:-.005em}
@media (max-width:860px){
  .sheets__head{grid-template-columns:minmax(0,1fr);align-items:start}
  .sheets__stage{display:block;padding-top:24px}
  .sheet--business{padding-bottom:56px;margin-right:clamp(0px,8vw,64px)}
  .sheet--people{margin:-32px 0 0 clamp(24px,8vw,64px);transform:none}
}
@media (max-width:480px){
  .sheet__run{flex-wrap:wrap}
  .checks li{grid-template-columns:28px minmax(0,1fr);row-gap:2px}
  .checks li>span:last-child{grid-column:2}
  .sheet--business{margin-right:0}
  .sheet--people{margin-left:18px}
}

/* ---------- Home: hand-off line ---------- */
.handoff{background:var(--k-paper)}
.handoff__row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px 56px}
.handoff__title{font:400 clamp(26px,2.5vw,38px)/1.16 var(--k-font-display);letter-spacing:-.018em;max-width:22em}

/* ---------- Route pages: hero and plaque ---------- */
.route-hero{padding-block:clamp(56px,7vw,104px)}
.route-hero--business{background:var(--k-stone)}
.route-hero__grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(40px,6vw,104px);align-items:center}
.route-hero__title{max-width:12em}
.route-hero__lede{margin-top:28px;max-width:31em}
.route-hero__actions{margin-top:36px}
.plaque{position:relative;padding:clamp(28px,2.8vw,40px)}
.plaque::before{content:"";position:absolute;top:0;left:clamp(28px,2.8vw,40px);width:48px;height:3px;background:var(--k-gold-ink)}
.plaque--business{background:var(--k-paper);box-shadow:0 18px 40px rgba(20,26,31,.08)}
.plaque--people{background:var(--k-ink-panel);color:var(--k-on-ink)}
.plaque--people::before{background:var(--k-gold)}
.plaque__label{font:700 13px/1.3 var(--k-font-body);letter-spacing:.16em;text-transform:uppercase}
.plaque__title{margin-top:14px;font:400 clamp(21px,1.7vw,25px)/1.25 var(--k-font-display);letter-spacing:-.01em;color:var(--k-slate-deep)}
.plaque--people .plaque__title{margin-top:16px;font-size:clamp(26px,2.2vw,32px);line-height:1.15;color:var(--k-on-ink)}
.plaque__list{list-style:none;margin:20px 0 0;padding:0;border-top:1px solid var(--k-rule-strong)}
.plaque__list li{padding:9px 0 10px;border-bottom:1px solid var(--k-rule);font:400 clamp(26px,2.4vw,34px)/1.15 var(--k-font-display);letter-spacing:-.018em}
.plaque__list--people{border-top-color:var(--k-ink-line)}
.plaque__list--people li{border-bottom-color:var(--k-ink-line);font-size:clamp(21px,1.7vw,24px);font-style:italic;color:var(--k-on-ink)}
.plaque__foot{margin-top:16px;font-size:14px;line-height:1.5;color:var(--k-on-ink-muted)}
@media (max-width:900px){
  .route-hero__grid{grid-template-columns:minmax(0,1fr);align-items:start}
  .plaque{max-width:560px}
}
/* Phones and small tablets: the business plaque condenses to one inline row under the lede. */
@media (max-width:860px){
  .plaque--business{padding:22px 22px 20px;box-shadow:none}
  .plaque--business::before{left:22px}
  .plaque--business .plaque__title{margin-top:8px;font:700 15px/1.4 var(--k-font-body);letter-spacing:0}
  .plaque--business .plaque__list{display:flex;flex-wrap:wrap;gap:2px 0;margin-top:10px;padding-top:12px;border-top:1px solid var(--k-rule)}
  .plaque--business .plaque__list li{padding:0;border:0;font-size:21px;font-style:italic;line-height:1.4}
  .plaque--business .plaque__list li:not(:last-child)::after{content:"·";margin:0 .45em;font-style:normal;color:var(--k-gold-ink)}
}
@media (max-width:420px){
  .route-hero{padding-block:40px 56px}
  .route-hero__title{font-size:clamp(34px,10.4vw,42px)}
  .route-hero__lede{margin-top:20px;font-size:17px}
  .route-hero__actions{margin-top:26px}
}

/* ---------- Business: when a specialist review is useful ---------- */
.when{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.62fr);gap:clamp(32px,6vw,96px);align-items:start}
.when__head .k-h2{max-width:9em}
.when__intro{margin-top:20px;font-size:var(--k-text-lg);color:var(--k-slate-deep);max-width:18em}
.ledger{margin:0;border-top:1px solid var(--k-ink)}
.ledger__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:10px 44px;padding:26px 0 28px;border-bottom:1px solid var(--k-rule)}
.ledger__row dt{font:400 clamp(23px,2vw,29px)/1.2 var(--k-font-display);letter-spacing:-.014em}
.ledger__row dd{margin:0;padding-top:5px;font-size:16px;line-height:1.6;color:var(--k-slate-deep)}
@media (max-width:860px){
  .when{grid-template-columns:minmax(0,1fr)}
  .ledger__row{grid-template-columns:minmax(0,1fr)}
  .ledger__row dd{padding-top:0}
}

/* ---------- Business: what a first conversation covers ---------- */
.agenda{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,3.6vw,56px)}
.agenda__item{border-top:1px solid var(--k-ink);padding-top:24px}
.agenda__title{display:flex;align-items:center;gap:14px;font:400 clamp(24px,2.1vw,30px)/1.18 var(--k-font-display);letter-spacing:-.014em}
.agenda__questions{list-style:none;margin:20px 0 0;padding:0}
.agenda__questions li{padding:11px 0;border-top:1px dashed var(--k-rule-strong);font:italic 400 19px/1.4 var(--k-font-display);color:var(--k-ink)}
.agenda__note{margin-top:clamp(32px,3.6vw,48px);padding-top:18px;border-top:1px solid var(--k-rule);font-size:15px;color:var(--k-slate-deep)}
@media (max-width:860px){
  .agenda{grid-template-columns:minmax(0,1fr);gap:32px}
}

/* ---------- Route pages: how the next step works (email landing routes) ---------- */
/* Three short numbered steps above the two routes: the short enquiry and, when a destination is
   confirmed, booking a conversation. Same rule-and-gold rhythm as the contact page steps. */
.nextsteps{list-style:none;margin:26px 0 0;padding:0;max-width:31em;border-top:1px solid var(--k-rule-strong);counter-reset:step}
.nextsteps li{position:relative;padding:13px 0 13px 42px;border-bottom:1px solid var(--k-rule);font-size:16px;line-height:1.5;color:var(--k-slate-deep);counter-increment:step}
.nextsteps li::before{content:"0" counter(step);position:absolute;left:0;top:13px;font:700 13px/24px var(--k-font-body);letter-spacing:.08em;color:var(--k-gold-ink)}
.nextsteps strong{font-weight:700;color:var(--k-ink)}
.otherdoor__both{margin-top:24px;font-size:15px;color:var(--k-slate-deep)}
.otherdoor__both .k-link{margin-left:4px}

/* ---------- Route pages: the other door ---------- */
/* Columns: left gutter | copy | door | right gutter. The copy lines up with .k-wrap; the door runs
   from the copy to the right edge of the window, its handle facing the copy. */
.otherdoor{display:grid;grid-template-columns:minmax(var(--k-gutter),1fr) minmax(0,calc(var(--k-wrap) * .58)) minmax(0,calc(var(--k-wrap) * .42)) minmax(var(--k-gutter),1fr);background:var(--k-ground)}
.otherdoor__main{grid-column:2;align-self:center;padding:clamp(64px,7vw,108px) clamp(32px,5vw,80px) clamp(64px,7vw,108px) 0}
.otherdoor__title{max-width:12em}
.otherdoor__text{margin-top:18px;font-size:var(--k-text-lg);color:var(--k-slate-deep)}
.otherdoor__actions{margin-top:30px}
.otherdoor__door{--door-bg:var(--k-ink-raised);--door-line:rgba(251,249,244,.2);--door-line-soft:rgba(251,249,244,.09);
  grid-column:3 / 5;position:relative;display:flex;flex-direction:column;padding:clamp(28px,3vw,40px) clamp(28px,3vw,40px) clamp(28px,3vw,40px) clamp(52px,4.4vw,64px);
  background:var(--door-bg);color:var(--k-on-ink);text-decoration:none;transition:background-color .25s var(--k-ease)}
.otherdoor--to-business .otherdoor__door{--door-bg:var(--k-stone-deep);--door-line:rgba(20,26,31,.24);--door-line-soft:rgba(20,26,31,.12);color:var(--k-ink)}
.otherdoor__door:hover{--door-bg:#222C33}
.otherdoor--to-business .otherdoor__door:hover{--door-bg:#D6CDBC}
.otherdoor__door:focus-visible{outline-offset:-8px}
/* The kit's light focus colour matches only elements INSIDE .k-on-ink. A link that is itself on ink
   (the dark door on the business insurance page, its ring drawn inside it) needs it too: #C9A961 on the door
   is 7:1, the default #735A22 only 2.4:1. */
.k-on-ink:focus-visible{outline-color:var(--k-focus-on-ink)}
.otherdoor__label{display:flex;align-items:center;gap:12px;padding-bottom:18px;font:700 13px/1.3 var(--k-font-body);letter-spacing:.16em;text-transform:uppercase}
.otherdoor__label::before{content:"";width:24px;height:1px;background:var(--k-gold)}
.otherdoor--to-business .otherdoor__label::before{background:var(--k-gold-ink)}
.otherdoor__panel{flex:1;display:flex;flex-direction:column;justify-content:space-between;gap:28px;padding:clamp(24px,2.4vw,34px);border:1px solid var(--door-line);box-shadow:inset 0 0 0 7px var(--door-bg),inset 0 0 0 8px var(--door-line-soft)}
.otherdoor__name{font:400 clamp(28px,2.6vw,40px)/1.1 var(--k-font-display);letter-spacing:-.022em;max-width:9em;text-wrap:balance}
.otherdoor__go{align-self:flex-end;font:400 28px/1 var(--k-font-body);color:var(--k-gold);transition:transform .25s var(--k-ease)}
.otherdoor--to-business .otherdoor__go{color:var(--k-gold-ink)}
.otherdoor__door:hover .otherdoor__go{transform:translateX(6px)}
.otherdoor__handle{position:absolute;left:18px;top:50%;width:5px;height:72px;margin-top:-36px;border-radius:3px;background:var(--k-gold)}
.otherdoor--to-business .otherdoor__handle{background:var(--k-gold-ink)}
@media (max-width:860px){
  .otherdoor{grid-template-columns:minmax(0,1fr)}
  .otherdoor__main{grid-column:1;padding:clamp(56px,10vw,80px) var(--k-gutter) 48px}
  .otherdoor__door{grid-column:1;min-height:0;margin:0 var(--k-gutter) clamp(56px,10vw,80px);padding:22px 22px 24px 44px}
  .otherdoor__handle{left:17px;height:56px;margin-top:-28px}
  .otherdoor__name{font-size:clamp(26px,6vw,32px)}
}

/* ---------- PMI: reasons (titles and texts aligned across columns) ---------- */
.reasons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:auto 1fr;gap:0;border-top:1px solid var(--k-ink)}
.reason{display:grid;grid-row:span 2;grid-template-rows:subgrid;row-gap:12px;align-content:start;padding:26px clamp(18px,2.2vw,32px) 8px 0}
.reason+.reason{padding-left:clamp(18px,2.2vw,32px);border-left:1px solid var(--k-rule)}
.reason__title{font:400 clamp(22px,1.9vw,27px)/1.2 var(--k-font-display);letter-spacing:-.012em;align-self:start}
.reason p{font-size:16px;line-height:1.6;color:var(--k-slate-deep)}
@media (max-width:1100px){
  .reasons{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto auto auto}
  .reason:nth-child(3){padding-left:0;border-left:0}
  .reason:nth-child(n+3){border-top:1px solid var(--k-rule);margin-top:26px}
}
@media (max-width:620px){
  .reasons{grid-template-columns:minmax(0,1fr);grid-template-rows:none}
  .reason{grid-row:auto;grid-template-rows:none}
  .reason,.reason+.reason{padding:22px 0 4px;border-left:0}
  .reason+.reason{border-top:1px solid var(--k-rule);margin-top:22px}
}

/* ---------- PMI: first conversation brief ---------- */
.brief{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,6vw,96px);align-items:start}
.brief__intro{margin-top:20px;font-size:16px;color:var(--k-slate-deep);max-width:26em}
/* The PMI page's one statement that medical information isn't needed. */
.brief__intro strong{color:var(--k-ink)}
.brief__link{margin-top:26px}
.brief__rows{margin:0;background:var(--k-paper);padding:clamp(8px,1.4vw,16px) clamp(22px,3vw,40px);box-shadow:0 14px 34px rgba(20,26,31,.07)}
.brief__row{display:grid;grid-template-columns:minmax(13em,.55fr) minmax(0,1fr);gap:12px 28px;padding:24px 0;border-bottom:1px solid var(--k-rule)}
.brief__row:last-child{border-bottom:0}
.brief__row dt{display:flex;align-items:center;gap:14px;align-self:start;padding-top:4px;font:700 15px/1.4 var(--k-font-body)}
.brief__row dd{margin:0;font-size:16px;line-height:1.6;color:var(--k-slate-deep)}
.brief__row dd strong{display:block;margin-bottom:4px;font:400 clamp(21px,1.8vw,25px)/1.25 var(--k-font-display);color:var(--k-ink)}
@media (max-width:860px){
  .brief{grid-template-columns:minmax(0,1fr)}
  .brief__row{grid-template-columns:minmax(0,1fr)}
}

/* ---------- How it works ---------- */
.how-hero{padding-block:clamp(56px,7vw,104px) clamp(48px,6vw,88px)}
.how-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:end}
.how-hero__actions{margin-top:30px}
@media (max-width:860px){.how-hero__grid{grid-template-columns:minmax(0,1fr)}}

.process__title{margin-bottom:clamp(32px,4vw,56px)}
.process__title em{display:block}
.process{list-style:none;margin:0;padding:0;border-top:1px solid var(--k-ink)}
.process__step{display:grid;grid-template-columns:clamp(64px,8vw,120px) minmax(0,1.5fr) minmax(0,.8fr);gap:16px clamp(24px,3.6vw,56px);align-items:start;padding:clamp(26px,3vw,40px) 0;border-bottom:1px solid var(--k-rule)}
.process__num{font:700 clamp(40px,4.4vw,64px)/.9 var(--k-font-mark);color:var(--k-gold-ink);letter-spacing:.01em}
.process__name{font:400 clamp(25px,2.4vw,34px)/1.15 var(--k-font-display);letter-spacing:-.018em;margin-bottom:10px}
.process__main p{font-size:16px;line-height:1.6;color:var(--k-slate-deep);max-width:34em}
.process__aside{padding:14px 0 0 18px;border-left:2px solid var(--k-gold);font-size:15px;line-height:1.5;color:var(--k-ink)}
.process__tag{display:block;margin-bottom:4px;font:700 12px/1.3 var(--k-font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--k-gold-ink)}
@media (max-width:860px){
  .process__step{grid-template-columns:56px minmax(0,1fr);row-gap:14px}
  .process__aside{grid-column:2;padding-top:4px}
  .process__num{font-size:38px}
}

.roles__title{margin-bottom:clamp(32px,4vw,56px)}
.roles{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:clamp(24px,3.6vw,56px);align-items:stretch}
.roles__side{background:var(--k-paper);padding:clamp(24px,3vw,40px)}
.roles__side:last-child{background:var(--k-ink);color:var(--k-on-ink)}
.roles__side:last-child .k-list>li{border-color:var(--k-ink-line)}
.roles__side:last-child .k-list>li::before{background:var(--k-gold)}
.roles__name{font:400 clamp(24px,2.2vw,32px)/1.15 var(--k-font-display);letter-spacing:-.016em;margin-bottom:18px}
/* What Kingsway doesn't do, beside what it does. The role sentence itself is the footer's standing line. */
.roles__note{margin-top:24px;padding:2px 0 2px 18px;border-left:2px solid var(--k-gold-ink);font-size:15px;line-height:1.55;color:var(--k-ink)}
.roles__side .k-list{border-top:1px solid var(--k-rule)}
.roles__side:last-child .k-list{border-top-color:var(--k-ink-line)}
.roles__seam{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:clamp(96px,9vw,132px);text-align:center}
.roles__arrow{display:grid;place-items:center;width:52px;height:52px;border:1px solid var(--k-gold-ink);border-radius:50%;font:400 22px/1 var(--k-font-body);color:var(--k-gold-ink)}
.roles__seam-text{font:700 12px/1.4 var(--k-font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--k-gold-ink)}
@media (max-width:860px){
  .roles{grid-template-columns:minmax(0,1fr);gap:0}
  .roles__seam{flex-direction:row;justify-content:flex-start;width:auto;padding:18px 0;text-align:left}
  .roles__arrow{width:40px;height:40px;transform:rotate(90deg)}
}

.questions__link{margin-top:22px}
.k-faq__body .k-preview-tag{margin-top:2px}

/* ---------- Contact ---------- */
.contact{background:var(--k-ground);padding-top:clamp(48px,6vw,88px)}
.contact__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px clamp(32px,6vw,96px);align-items:end;margin-bottom:clamp(36px,4.4vw,56px)}
.contact__head .k-eyebrow{grid-column:1 / -1;margin-bottom:0}
.contact__intro{padding-bottom:8px}
.contact__lede{max-width:24em}
.contact__grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,.7fr);gap:clamp(28px,4.6vw,72px);align-items:start}
.contact__form{background:var(--k-paper);padding:clamp(24px,3.6vw,52px);border-top:3px solid var(--k-ink)}
.contact__form .k-form,.contact__form .k-outcome{max-width:none}
.contact__form .k-outcome{background:transparent;padding:6px 0 6px 24px}
/* Only "Received" keeps the gold bar. Not confirmed, Not sent, Please wait and Unavailable take the
   error red (7.3:1 on paper), bar and label, so a skim never reads them as success; and while one of
   them shows, "What happens next" (which promises a reply) steps aside. Visual review, 10 Oct 2026. */
.contact__form .k-outcome:has(> [data-outcome-state]:not([data-outcome-state="received"]):not([data-outcome-state="preview"]):not([hidden])){border-left-color:var(--k-error)}
.contact__form .k-outcome > [data-outcome-state]:not([data-outcome-state="received"]):not([data-outcome-state="preview"]) .k-outcome__label{color:var(--k-error)}
.contact:has(.k-outcome:not([hidden]) > [data-outcome-state]:not([data-outcome-state="received"]):not([data-outcome-state="preview"]):not([hidden])) .contact__aside{display:none}
/* The one action the journey leads to matches every gold action before it. */
.contact__form .k-form [type="submit"]{background:var(--k-gold);color:var(--k-ink);border-color:var(--k-gold-ink)}
.contact__form .k-form [type="submit"]:hover{background:var(--k-gold-bright)}
.contact__form .k-form [type="submit"] .k-btn__arrow{color:inherit}
.contact__privacy{margin-top:26px;padding-top:18px;border-top:1px solid var(--k-rule)}
.contact__aside{display:grid;gap:clamp(24px,3vw,36px);position:sticky;top:24px}
.contact__heading{font:700 13px/1.3 var(--k-font-body);letter-spacing:.16em;text-transform:uppercase;margin-bottom:16px}
.contact__steps{list-style:none;margin:0;padding:0;border-top:1px solid var(--k-rule-strong)}
.contact__steps li{position:relative;padding:14px 0 14px 28px;border-bottom:1px solid var(--k-rule);font-size:15px;line-height:1.5}
.contact__steps li::before{content:"";position:absolute;left:0;top:1.55em;width:14px;height:1px;background:var(--k-gold-ink)}
/* "What happens next" is the page's one charcoal panel (refinement review: it replaced the
   "Not needed" panel, whose list now lives in the note's hint at the point of entry). */
.contact__next{background:var(--k-ink);color:var(--k-on-ink);padding:clamp(22px,2.6vw,32px)}
.contact__next .contact__heading{color:var(--k-gold)}
.contact__next .contact__steps{border-top-color:var(--k-ink-line)}
.contact__next .contact__steps li{padding:12px 0 12px 28px;border-bottom-color:var(--k-ink-line);font:400 clamp(19px,1.6vw,21px)/1.35 var(--k-font-display)}
.contact__next .contact__steps li:last-child{border-bottom:0;padding-bottom:2px}
.contact__next .contact__steps li::before{top:calc(12px + .7em);background:var(--k-gold)}
.contact__booking{margin-top:14px;font-size:15px}
/* Limited release (11 Oct 2026): the paper panel holds the two Kingsway Brokerage routes and the brand
   address instead of a form. */
.contact__route + .contact__route{margin-top:clamp(26px,3vw,36px);padding-top:clamp(26px,3vw,36px);border-top:1px solid var(--k-rule)}
.contact__route-title{font:400 clamp(24px,2.1vw,30px)/1.15 var(--k-font-display);letter-spacing:-.016em}
.contact__route-text{margin-top:10px;max-width:32em}
.contact__route .k-actions{margin-top:20px}
.contact__email{margin-top:clamp(26px,3vw,36px);padding-top:18px;border-top:1px solid var(--k-rule);font-size:15px}
.contact__email + .contact__privacy{margin-top:14px;padding-top:0;border-top:0}
/* Launch preparation (9 Oct 2026). The hidden "website" honeypot: off-screen, out of the
   accessibility tree (wrapper aria-hidden) and out of the tab order (tabindex=-1). Absolutely
   positioned, so it takes no cell in the form grid and adds no gap. */
.k-hp{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0}
/* Worker transport: the polite "Sending…" beside Send while one request is in flight. Kept in
   the layout when empty so screen readers announce it reliably. */
.k-form__status{margin:0;font-size:15px;line-height:1.4;color:var(--k-slate-deep)}
.k-form[aria-busy="true"] [type="submit"]{cursor:progress}
/* Topic as cards */
.k-fieldset:has(input[name="topic"]) .k-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.k-fieldset:has(input[name="topic"]) .k-choice{display:flex}
.k-fieldset:has(input[name="topic"]) .k-choice label{flex:1;min-height:66px;padding:14px 18px;font-size:16px;font-weight:700}
.k-fieldset:has(input[name="topic"]) legend{margin-bottom:4px}
.k-form>.k-fieldset:has(input[name="topic"]){padding-bottom:26px;border-bottom:1px solid var(--k-rule)}
.k-form .k-field:has(.k-check){padding-top:4px}
.k-form .k-field:has(.k-check) .k-hint{padding-left:36px}
@media (max-width:980px){
  .contact__head{grid-template-columns:minmax(0,1fr)}
  .contact__intro{padding-bottom:0}
  .contact__grid{grid-template-columns:minmax(0,1fr)}
  .contact__aside{position:static}
}
@media (max-width:620px){
  /* Full-bleed panel whose fields line up with the page text above and below it. */
  .contact__form{margin-inline:calc(var(--k-gutter) * -1);padding:26px var(--k-gutter) 30px}
}
@media (max-width:400px){
  .k-fieldset:has(input[name="topic"]) .k-choices{grid-template-columns:minmax(0,1fr)}
  .k-fieldset:has(input[name="topic"]) .k-choice label{min-height:54px}
}

/* ---------- Privacy and 404 ---------- */
.privacy__tag{margin-bottom:22px}
.privacy__lede{margin-top:22px}
.privacy__body{margin-top:40px;padding-top:8px;border-top:1px solid var(--k-rule)}
.notfound__grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(32px,6vw,96px);align-items:end}
.notfound__lede{margin-top:22px}
.notfound__actions{margin-top:32px}
.notfound__routes{list-style:none;margin:0;padding:0;border-top:1px solid var(--k-ink)}
.notfound__routes a{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:16px;padding:18px 0 20px;border-bottom:1px solid var(--k-rule);text-decoration:none;font:400 clamp(22px,2vw,28px)/1.2 var(--k-font-display)}
.notfound__routes a:hover{text-decoration:underline;text-decoration-thickness:1px}
.notfound__who{grid-column:1 / -1;margin-bottom:6px;font:700 12px/1.3 var(--k-font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--k-slate-deep)}
.notfound__arrow{grid-column:2;grid-row:2;font:400 22px/1 var(--k-font-body);color:var(--k-gold-ink);align-self:center}
@media (max-width:860px){.notfound__grid{grid-template-columns:minmax(0,1fr)}}

/* ---------- Articles (preview briefs) ---------- */
.article__status{margin-bottom:22px}
.article__title{margin-bottom:22px}
.article__meta{display:flex;flex-wrap:wrap;gap:10px 32px;margin:30px 0 40px;padding:16px 0;border-block:1px solid var(--k-rule);font-size:14px}
.article__meta dt{color:var(--k-slate)}
.article__meta dd{font-weight:700}
.article__sources,.article__related{margin-top:48px}
.article__sources ol{margin:14px 0 0;padding-left:1.2em}
.article__related .k-list{margin-top:14px}
.article__cta{margin-top:56px}
.article__cta .k-actions{margin-top:22px}
.article__sources a,.article__related a{display:inline-block;padding-block:3px}

/* ---------- Invoice finance: hero and plaque (10 Oct 2026) ---------- */
.route-hero--cash{background:var(--k-gold-wash)}
.plaque--cash{background:var(--k-paper);box-shadow:0 18px 40px rgba(20,26,31,.08)}
.plaque__terms{margin:18px 0 0;border-top:1px solid var(--k-rule-strong)}
.plaque__terms>div{padding:14px 0 15px;border-bottom:1px solid var(--k-rule)}
.plaque__terms dt{font:400 clamp(25px,2.2vw,31px)/1.15 var(--k-font-display);letter-spacing:-.016em}
.plaque__terms dd{margin:6px 0 0;font-size:15px;line-height:1.5;color:var(--k-slate-deep)}
@media (max-width:860px){
  .plaque--cash{padding:22px 22px 18px;box-shadow:none}
  .plaque--cash::before{left:22px}
  .plaque--cash .plaque__title{margin-top:8px;font:700 15px/1.4 var(--k-font-body);letter-spacing:0}
  .plaque__terms dt{font-size:23px}
}

/* ---------- Elsewhere at Kingsway: one or two related services on another Kingsway website ---------- */
/* Built from the vendored route manifest. Each card says plainly that it leads to another Kingsway
   website (label, domain and the link's accessible name). In production only ready destinations render. */
.related{background:var(--k-paper);border-top:1px solid var(--k-rule);border-bottom:1px solid var(--k-rule)}
.related__inner{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,2.2fr);gap:24px clamp(28px,4vw,64px);align-items:start;padding-block:clamp(44px,5vw,72px)}
.related__eyebrow{font:700 12px/1.3 var(--k-font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--k-gold-ink);margin-bottom:12px}
.related__title{font:400 clamp(24px,2.2vw,32px)/1.18 var(--k-font-display);letter-spacing:-.014em;max-width:11em}
.related__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:20px}
.related__item{display:flex;flex-direction:column;gap:10px;padding:22px 24px 20px;background:var(--k-ground);border:1px solid var(--k-rule);border-top:3px solid var(--k-ink)}
.related__site{display:flex;align-items:center;gap:8px;font:700 12px/1.4 var(--k-font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--k-gold-ink);overflow-wrap:anywhere}
.related__mark{display:inline-grid;place-items:center;flex:none;width:22px;height:22px;border:1px solid var(--k-gold-ink);border-radius:50%;font:400 12px/1 var(--k-font-body);letter-spacing:0}
.related__name{font:400 clamp(22px,1.8vw,26px)/1.2 var(--k-font-display);letter-spacing:-.012em}
.related__why{font-size:16px;line-height:1.55;color:var(--k-slate-deep);max-width:30em}
.related__go{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 12px;margin-top:auto;padding-top:6px}
.related__link{padding-block:4px 2px;font:700 15px/1.4 var(--k-font-body);color:var(--k-ink);text-decoration:underline;text-underline-offset:3px}
.related__domain{font-size:13px;color:var(--k-slate-deep);overflow-wrap:anywhere}
.related__arrow{display:inline-block;margin-left:4px;transition:transform .25s var(--k-ease)}
.related__link:hover .related__arrow{transform:translateX(4px)}
@media (max-width:980px){.related__inner{grid-template-columns:minmax(0,1fr)}.related__title{max-width:none}}

/* The restrained route back to Kingsway Brokerage, in the footer. */
.k-footer__family{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin:0 0 28px;padding:18px 0 0;border-top:1px solid var(--k-ink-line);font-size:15px;line-height:1.5}
.k-footer__family-label{font:700 12px/1.4 var(--k-font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--k-gold)}
.k-footer__family-link{display:inline-block;padding-block:4px;color:var(--k-on-ink);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.k-footer__family-domain{flex-basis:100%;font-size:13px;color:var(--k-on-ink-muted)}

/* ---------- Booking CTAs (launch release, 10 Oct 2026) ----------
   A booking link goes straight to the brand's Zoho Bookings service. Under it, one quiet line says
   how long the call is and how it happens. Preview builds without a link show an honest tag
   instead, which wraps (the kit's tag is nowrap) so it never overflows a phone. */
.k-cta__meta{margin-top:10px;font-size:14px;line-height:1.5;color:var(--k-slate-deep)}
.k-cta__alt{margin-top:14px;font-size:15px}
.k-on-ink .k-cta__meta,.k-surface-ink .k-cta__meta{color:var(--k-on-ink-muted)}
.k-cta__note{margin-top:12px;max-width:30em}
.k-cta__note .k-preview-tag{white-space:normal;line-height:1.45;letter-spacing:.04em}
.handoff__cta{display:grid;justify-items:start}
.contact__booking-meta{display:block;margin-top:4px;font-size:14px;color:var(--k-slate-deep)}
.k-outcome .k-outcome__alt{margin-top:12px}
.privacy__version{margin-top:28px;font-size:14px;color:var(--k-slate-deep)}
.k-footer__operator{max-width:74ch}

/* ---------- Print ---------- */
@media print{
  /* Actions are dead on paper: hide them, and the sections that exist only to carry one. */
  .k-actions,.k-cta__meta,.k-cta__alt,.k-cta__note,.handoff,.otherdoor,.related,.k-footer__family,.door__rail,.door__panel--lower,.door__ring,.sheet__tab,.contact__privacy,.questions__link,.sheets__link,.agenda__note,.brief__link{display:none!important}
  .k-btn--ink{background:#fff!important;color:#141A1F!important}
  .hero{display:block;min-height:0}
  .hero__intro{padding:0 0 12pt}
  .hero__intro{display:block}
  .doors{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:none;gap:8pt;min-height:0}
  .door{display:block}
  .door__link,.door--business .door__link,.door--people .door__link,.door--cash .door__link{display:block;padding:12pt;background:#fff!important;color:#141A1F!important;border:1px solid #A89E8E}
  .door__panel{border:0;box-shadow:none;padding:6pt 0 0!important}
  .door__label::before,.door__handle,.otherdoor__handle{display:none}
  .threshold{border-color:#A89E8E}
  .sheets__stage{display:block}
  .sheet,.plaque,.contact__next,.roles__side,.brief__rows,.contact__form{background:#fff!important;color:#141A1F!important;box-shadow:none!important;border:1px solid #A89E8E;transform:none!important}
  .sheet--people{margin:10pt 0 0}
  .sheet,.plaque,.brief__rows,.process__step,.agenda__item,.ledger__row,.reason,.roles__side{break-inside:avoid}
  .door__text,.plaque__title,.plaque__foot,.plaque__list--people li,.sheet__who,.k-on-ink,.k-surface-ink *{color:#141A1F!important}
  .sheet--people .k-doc__stamp{border-color:#735A22!important;color:#735A22!important}
  .contact__next .contact__heading{color:#735A22!important}
  /* Printed backgrounds are off, so rules drawn as backgrounds become borders. */
  .k-eyebrow::before,.k-list>li::before,.contact__steps li::before{background:none!important;height:0;border-top:1px solid #735A22}
  .k-header,.k-footer{box-shadow:none!important}
  .plaque__list--people,.plaque__list--people li,.checks--ink,.checks--ink li,.k-surface-ink .k-list,.k-surface-ink .k-list>li,.roles__side .k-list,.roles__side .k-list>li,.contact__next .contact__steps,.contact__next .contact__steps li{border-color:#D8D1C2!important}
  .route-hero{padding-block:12pt}
  /* The header already carries the lockup; on paper the footer is just the role note. */
  .k-footer{padding-block:6pt 0;break-inside:avoid}
  .k-footer__top{display:none}
  .k-footer__base{border-top:1px solid #A89E8E;padding-top:8pt}
}

/* Lead fix (5 Oct 2026) for kit 0.1.0: opening the phone menu wrapped the header row and dropped
   its vertical centring, so the logo and Menu button jumped 16px. Pad the row instead of relying
   on min-height so the first line stays put. Proposed for kit 0.1.1. */
@media (max-width:900px){.k-header__row{min-height:0;padding-block:16px;align-content:flex-start}}
/* Business Support (10 Oct 2026): the longer "Business Support" descriptor and the Menu button no
   longer fit one row at 320px, which pushed Menu onto a second line. On the narrowest phones the
   button keeps its accessible name "Menu" but shows only the bars. */
@media (max-width:360px){
  .k-menu-btn{padding-inline:12px}
  .k-menu-btn__label{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}
