/* OTAS Live site v3 (TEST). Tokens: Brand Guide v2.2 Part 7.1 and Brand Lock v2.2 (in force 17 Oct 2026).
   Secondary text on ink uses #D1D1D1 from the v2.3 DRAFT instead of #C9D2DE (leans blue). */
@font-face{font-family:"Source Sans Pro";src:url(fonts/SourceSansPro-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Source Sans Pro";src:url(fonts/SourceSansPro-It.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Source Sans Pro";src:url(fonts/SourceSansPro-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
:root{
  --otas-ink:#2C2B30;--otas-ivory:#F7F4EF;--otas-white:#FFFFFF;--otas-black:#000000;
  --otas-body:#2C2B30;--otas-slate:#3C414D;--otas-grey:#4A4950;--otas-card:#E8E2D6;--otas-rule:#C9CDD4;--otas-tile:#201F24;
  --otas-on-dark-2:#D1D1D1;--otas-magenta:#E3008C;
  --otas-tac:#00D4C8;--otas-tac-on:#2C2B30; /* ink on Tactical bright (7.5:1) instead of navy #102A43: no blue tints */
  --otas-caution:#F59E0B;--otas-on-caution:#2C2B30;
  --otas-font:"Source Sans Pro","Source Sans 3",Arial,Helvetica,sans-serif;
  --otas-size-body:1.125rem;--otas-size-small:1rem;--otas-size-h1:2.5rem;--otas-size-h2:1.75rem;--otas-size-h3:1.375rem;
  --otas-leading:1.5;--otas-measure:70ch;
  --otas-focus:3px solid var(--otas-ink);--otas-focus-offset:2px;--otas-target-min:44px;--otas-radius:4px;
  --otas-bg:var(--otas-ivory);--otas-surface:var(--otas-white);--otas-text:var(--otas-body);--otas-link:var(--otas-ink);
  color-scheme:light;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--otas-bg);color:var(--otas-text);font-family:var(--otas-font);font-size:var(--otas-size-body);line-height:var(--otas-leading)}
img{max-width:100%;height:auto;display:block}
a{color:var(--otas-link);text-decoration:underline;text-underline-offset:.15em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:var(--otas-focus);outline-offset:var(--otas-focus-offset)}
.on-ink :focus-visible,.site-head :focus-visible,.site-foot :focus-visible,.hero :focus-visible{outline-color:var(--otas-ivory)}
h1,h2,h3{line-height:1.2;color:var(--otas-ink);margin:0 0 .5em}
h1{font-size:var(--otas-size-h1)}h2{font-size:var(--otas-size-h2);margin-top:0}h3{font-size:var(--otas-size-h3);color:var(--otas-slate)}
p,li,dd{max-width:var(--otas-measure)}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-9999px;top:0;background:var(--otas-ivory);color:var(--otas-ink);padding:12px 16px;z-index:10}
.skip:focus{left:8px;top:8px}
/* test banner: semantic caution fill with a word, never colour alone */
.test-banner{background:var(--otas-caution);color:var(--otas-on-caution);font-size:var(--otas-size-small);padding:8px 0;border-bottom:2px solid var(--otas-ink)}
.test-banner p{margin:0;max-width:none}
.test-banner strong{letter-spacing:.04em}
/* header: A3 horizontal reversed on an ink bar. Not sticky (WCAG 2.4.11) */
.site-head{background:var(--otas-ink);color:var(--otas-ivory)}
.site-head .bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}
.site-head .logo{display:inline-flex;align-items:center;min-height:var(--otas-target-min)}
.site-head .logo img{height:52px;width:auto}
.site-head nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:2px 4px}
.site-head nav a{display:inline-flex;align-items:center;min-height:var(--otas-target-min);padding:0 10px;color:var(--otas-ivory);font-size:var(--otas-size-small)}
.site-head nav a[aria-current=page]{font-weight:700;text-decoration-thickness:3px}
/* r8: KILO DELTA mark, right-aligned, apart from the OTAS logo (mirrors .kd-otas). White lockup on ink ≥3:1 graphic. */
.site-head .nav-kd{display:inline-flex;align-items:center;margin-left:auto;padding-left:16px;border-left:1px solid rgba(247,244,239,.28);min-height:var(--otas-target-min);text-decoration:none}
.site-head .nav-kd img{height:40px;width:auto;opacity:.95}
.site-head .nav-kd:hover img{opacity:1}
@media (max-width:700px){
  .site-head .nav-kd{border-left:none;padding-left:0;margin-left:0;width:100%;justify-content:flex-end}
  .site-head .nav-kd img{height:34px}
}
/* hero: ink band, text left, framed photo right */
.hero{background:var(--otas-ink);color:var(--otas-ivory);padding:28px 0 40px}
.hero .grid{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center}
.hero h1{color:var(--otas-ivory)}
.hero .lead{font-size:1.25rem;margin:0 0 .8em}
.hero .tag{color:var(--otas-on-dark-2);margin:0 0 .8em}
.hero .price{display:inline-block;border:2px solid var(--otas-ivory);border-radius:var(--otas-radius);padding:4px 12px;font-weight:700;margin:0 0 1em}
.hero a{color:var(--otas-ivory)}
.crumbs{font-size:var(--otas-size-small);color:var(--otas-on-dark-2);margin:0 0 14px}
.crumbs a{color:var(--otas-ivory)}
.ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--otas-target-min);min-width:var(--otas-target-min);padding:8px 18px;border-radius:var(--otas-radius);background:var(--otas-ink);color:var(--otas-ivory);border:2px solid var(--otas-ink);font-weight:700;text-decoration:none}
.btn:hover{text-decoration:underline}
.btn.secondary{background:var(--otas-white);color:var(--otas-ink)}
.hero .btn{background:var(--otas-ivory);color:var(--otas-ink);border-color:var(--otas-ivory)}
.hero .btn.secondary{background:transparent;color:var(--otas-ivory)}
/* Marked Site frame on photos: ivory corner brackets, magenta corner device bottom right */
.frame{position:relative;margin:0;padding:14px}
.frame img{border-radius:2px}
.frame::before,.frame::after{content:"";position:absolute;width:44px;height:44px;border:4px solid var(--otas-ivory)}
.frame::before{top:0;right:0;border-left:0;border-bottom:0}
.frame::after{bottom:0;left:0;border-right:0;border-top:0}
.frame .corner{position:absolute;right:14px;bottom:14px;width:28px;height:28px}
.frame.on-light::before,.frame.on-light::after{border-color:var(--otas-ink)}
/* sections */
main section{padding:48px 0}
main section.alt{background:var(--otas-white)}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.card{background:var(--otas-surface);border:1px solid var(--otas-rule);border-radius:var(--otas-radius);padding:20px}
section.alt .card{background:var(--otas-ivory)}
.card h3{margin-top:0}
.card .price{font-weight:700;margin:.4em 0 0}
.callout{background:var(--otas-card);border-left:4px solid var(--otas-ink);padding:16px 20px;border-radius:0 var(--otas-radius) var(--otas-radius) 0;margin:20px 0}
.callout p{margin:.3em 0}
.muted{color:var(--otas-grey)}
small,.small{font-size:var(--otas-size-small)}
table{border-collapse:collapse;width:100%;background:var(--otas-white);font-size:var(--otas-size-small)}
th,td{border:1px solid var(--otas-rule);padding:10px 12px;text-align:left;vertical-align:top}
thead th{background:var(--otas-ink);color:var(--otas-ivory)}
td.r,th.r{text-align:right;white-space:nowrap}
.table-scroll{overflow-x:auto}
/* level labels: word plus discs. Level brights only on levelled products (the handbook card) */
.auth{display:inline-block;border:2px solid var(--otas-ink);border-radius:var(--otas-radius);padding:2px 10px;font-weight:700;font-size:var(--otas-size-small)}
.funcs{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:none}
.funcs li{background:var(--otas-white);border:1px solid var(--otas-rule);border-radius:var(--otas-radius);padding:12px;max-width:none}
.funcs b{display:block}.funcs small{color:var(--otas-grey)}
dl.facts{display:grid;grid-template-columns:200px 1fr;gap:10px 20px;margin:20px 0}
dl.facts dt{font-weight:700}dl.facts dd{margin:0}
ul.tidy{padding-left:1.2em}ul.tidy li{margin:.3em 0}
details{background:var(--otas-white);border:1px solid var(--otas-rule);border-radius:var(--otas-radius);margin:10px 0;max-width:var(--otas-measure)}
details summary{cursor:pointer;padding:12px 16px;min-height:var(--otas-target-min);font-weight:700}
details p{padding:0 16px 12px;margin:0}
.photo-band{margin:0}
.photo-band img{width:100%}
figcaption{font-size:var(--otas-size-small);color:var(--otas-grey);margin-top:6px}
/* handbook card (levelled product: Tactical bar with word and discs) */
.book{display:grid;grid-template-columns:320px 1fr;gap:32px;background:var(--otas-white);border:1px solid var(--otas-rule);border-radius:var(--otas-radius);overflow:hidden}
.book .cover{background:var(--otas-ivory);display:flex;align-items:center;justify-content:center;padding:12px}
.book .body{padding:24px 24px 24px 0}
.levelbar{background:var(--otas-tac);color:var(--otas-tac-on);padding:6px 12px;border-radius:var(--otas-radius);display:inline-flex;gap:8px;align-items:center;font-weight:700;margin-bottom:10px}
.book .buy{font-size:1.5rem;font-weight:700;margin:.2em 0}
.soon{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px;max-width:none}
.soon li{border:1px dashed var(--otas-grey);border-radius:var(--otas-radius);padding:10px 14px;max-width:none;background:var(--otas-ivory)}
.soon span{display:block;font-size:var(--otas-size-small);color:var(--otas-grey)}
.x-panel{background:var(--otas-ink);color:var(--otas-ivory);border-radius:var(--otas-radius);padding:28px}
.x-panel h2,.x-panel h3{color:var(--otas-ivory)}
.x-panel a{color:var(--otas-ivory)}
.x-panel .btn{background:var(--otas-ivory);color:var(--otas-ink);border-color:var(--otas-ivory)}
.draft{border:3px solid var(--otas-ink);background:var(--otas-card);padding:14px 18px;border-radius:var(--otas-radius);margin-bottom:24px}
.draft p{margin:.2em 0}
/* footer */
.site-foot{background:var(--otas-ink);color:var(--otas-on-dark-2);padding:40px 0 28px;font-size:var(--otas-size-small)}
.site-foot h2{color:var(--otas-ivory);font-size:1.1rem;margin-bottom:.6em}
.site-foot a{color:var(--otas-ivory);display:inline-block;min-height:32px;padding:4px 0}
.site-foot .cols{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:28px}
.site-foot ul{list-style:none;padding:0;margin:0}
.site-foot .legal{border-top:1px solid #4A4950;margin-top:28px;padding-top:16px;color:var(--otas-on-dark-2);max-width:none}
@media (max-width:900px){
  .hero .grid,.split,.book{grid-template-columns:1fr}
  .book .body{padding:0 20px 20px}
  .grid3,.funcs{grid-template-columns:repeat(2,1fr)}
  .site-foot .cols{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
  :root{--otas-size-h1:2rem;--otas-size-h2:1.5rem}
  .wrap{padding:0 18px}
  .grid2,.grid3,.funcs,.soon{grid-template-columns:1fr}
  dl.facts{grid-template-columns:1fr}
  .site-foot .cols{grid-template-columns:1fr}
  .site-head .logo img{height:44px}
  .site-head nav a{padding:0 8px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media print{.test-banner,.site-head nav{display:none}}
main section.table-scroll{padding:0}
/* ===== v3.1 (18 Oct): depth of colour. Ink full-bleed sections, photo bands with ink overlay,
   level colours as section accents (always with the level word and discs). Magenta: logo, corner device, one live point. ===== */
:root{--otas-op:#FD802E;--otas-strat:#F5C518;--otas-overlay:rgba(44,43,48,.76)}
section.ink{background:var(--otas-ink);color:var(--otas-ivory)}
section.ink h2,section.ink h3{color:var(--otas-ivory)}
section.ink a{color:var(--otas-ivory)}
section.ink :focus-visible{outline-color:var(--otas-ivory)}
section.ink .card{background:var(--otas-tile);border-color:#4A4950;color:var(--otas-ivory)}
section.ink .soft,.soft{color:var(--otas-on-dark-2);margin-top:18px}
.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-weight:700;font-size:var(--otas-size-small);color:var(--otas-on-dark-2);margin:0 0 .4em}
section:not(.ink):not(.band) .eyebrow{color:var(--otas-grey)}
/* level marks: see .lvm (handbook levelmark) */
.lvl-card{border-top-width:8px;border-top-style:solid}
.lc-op{border-top-color:var(--otas-op)!important}.lc-tac{border-top-color:var(--otas-tac)!important}.lc-strat{border-top-color:var(--otas-strat)!important}
tr.row-op th{border-left:6px solid var(--otas-op)}tr.row-tac th{border-left:6px solid var(--otas-tac)}tr.row-strat th{border-left:6px solid var(--otas-strat)}
thead th.th-op,thead th.th-tac,thead th.th-strat{background:#fff;color:var(--otas-ink);border-bottom:4px solid}thead th.th-op{border-bottom-color:var(--otas-op)}thead th.th-tac{border-bottom-color:var(--otas-tac)}thead th.th-strat{border-bottom-color:var(--otas-strat)}
/* round 4: the three-level stripe under every hero was removed (level colours only with the level word and discs, Brand Lock decision on level bands) */
/* photo band: full-bleed real photo, ink overlay at 76% so ivory text stays at AA or better over any pixel */
section.band{position:relative;overflow:hidden;color:var(--otas-ivory);padding:72px 0;background:var(--otas-ink)}
.band-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
section.band::before{content:"";position:absolute;inset:0;background:var(--otas-overlay)}
.band-inner{position:relative}
section.band h2,section.band h3{color:var(--otas-ivory)}
section.band a{color:var(--otas-ivory)}
section.band p, section.band .big{color:var(--otas-ivory)}
section.band :focus-visible{outline-color:var(--otas-ivory)}
.usps h3{margin-bottom:.3em}
/* rate card form */
section.rate{border-top:8px solid var(--otas-tile)} /* #201F24; not teal - B3 / Lock decision 1 */
.rc-form{background:var(--otas-white);color:var(--otas-ink);border-radius:var(--otas-radius);padding:24px}
.rc-form :focus-visible{outline-color:var(--otas-ink)}
.rc-form a{color:var(--otas-ink)}
.field{margin-bottom:14px}
.field label{display:block;font-weight:700;margin-bottom:4px}
.field input{width:100%;min-height:var(--otas-target-min);padding:8px 12px;font:inherit;color:var(--otas-ink);background:var(--otas-white);border:2px solid var(--otas-ink);border-radius:var(--otas-radius)}
.check{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start;margin:14px 0}
.check input{width:24px;height:24px;margin:2px 0 0;accent-color:var(--otas-ink)}
.check label{font-size:var(--otas-size-small)}
.req,.opt{font-weight:400;color:var(--otas-grey);font-size:var(--otas-size-small)}
.rc-form .btn{margin-top:6px}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.rate .split{align-items:center}
/* the one live point per page (Brand Lock: magenta point for the live or current item) */
.live-point{display:inline-block;width:14px;height:14px;border-radius:50%;background:var(--otas-magenta);margin-right:10px;vertical-align:middle}
/* library: 30 handbooks by level */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hb-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;margin-top:20px}
.hb-card{background:var(--otas-white);color:var(--otas-ink);border:1px solid var(--otas-rule);border-top:8px solid;border-radius:var(--otas-radius);padding:12px;display:flex;flex-direction:column}
section.ink .hb-card{border-color:#4A4950}
.hb-card a{color:var(--otas-ink)}
.hb-card a.btn{color:var(--otas-ivory)} /* B2: buy button on ink cards */
.hb-card :focus-visible{outline-color:var(--otas-ink)}
.hb-card h3{font-size:1.05rem;line-height:1.25;margin:.3em 0;color:var(--otas-ink)}
.hb-cover img{width:100%;height:auto;display:block;box-shadow:0 2px 8px rgba(44,43,48,.25)}
.hb-code{font-size:var(--otas-size-small);font-weight:700;color:var(--otas-grey);margin:.6em 0 0}
.hb-hook{font-size:var(--otas-size-small);margin:.2em 0 .6em;flex:1}
.hb-card .buy{font-size:1.2rem;font-weight:700;margin:0}
.hb-card .btn{padding:8px 12px;font-size:var(--otas-size-small)}
.soon-tag{display:inline-block;align-self:flex-start;margin:0;padding:2px 10px;border:2px solid var(--otas-ink);border-radius:var(--otas-radius);font-weight:700;font-size:var(--otas-size-small)}
.feat-title{color:var(--otas-ink);font-size:1.6rem}
.book .cover img{width:100%;max-width:300px;height:auto}
.hb-detail{align-items:start}
.hb-detail-cover img{width:100%;max-width:420px;height:auto;box-shadow:0 4px 16px rgba(44,43,48,.25)}
.hb-desc h2{font-size:1.25rem;margin-top:1.2em}
.sib li{margin:.4em 0}
@media (max-width:1100px){.hb-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:700px){.hb-grid{grid-template-columns:repeat(2,1fr);gap:12px}}
section.ink .hb-card a:not(.btn),section.ink .hb-card h3,section.ink .hb-card,section.ink .rc-form a{color:var(--otas-ink)}
section.ink .hb-card a.btn{color:var(--otas-ivory)}
section.ink .hb-card :focus-visible{outline-color:var(--otas-ink)}
/* photo band v2: solid ink behind the text, the photo opens up on the right */
section.band::before{background:linear-gradient(90deg,rgba(44,43,48,.95) 0%,rgba(44,43,48,.93) 58%,rgba(44,43,48,.55) 80%,rgba(44,43,48,.3) 100%)}
section.band .band-inner>*{max-width:62%}
section.band .band-inner>.grid2{max-width:62%}
@media (max-width:900px){section.band::before{background:rgba(44,43,48,.9)}section.band .band-inner>*,section.band .band-inner>.grid2{max-width:none}}
section.band{isolation:isolate}.band-bg{z-index:0}section.band::before{z-index:1}.band-inner{z-index:2}
.field textarea{width:100%;padding:8px 12px;font:inherit;color:var(--otas-ink);background:var(--otas-white);border:2px solid var(--otas-ink);border-radius:var(--otas-radius);resize:vertical}
.form-privacy{margin:12px 0 0}

/* B1: text-only cover tile when cover_src is null */
.hb-soon{aspect-ratio:2/3;background:var(--otas-ink);color:var(--otas-ivory);display:flex;flex-direction:column;justify-content:space-between;padding:16px 14px;border-radius:var(--otas-radius);box-shadow:0 2px 8px rgba(44,43,48,.25)}
.hb-soon-code{font-size:var(--otas-size-small);letter-spacing:.04em;margin:0;color:#D1D1D1}
.hb-soon-title{font-size:1.05rem;font-weight:700;line-height:1.25;margin:.4em 0;color:var(--otas-ivory)}
.hb-soon-level{margin:0}
.hb-soon-tag{margin:0;font-size:var(--otas-size-small);color:#D1D1D1}
.hb-cover .hb-soon,.hb-detail-cover .hb-soon,.cover .hb-soon{width:100%}

/* ===== ROUND 4 (18 Oct 2026): depth pass. Full-bleed photo hero, stronger type scale, ink and tile rhythm,
   fewer flat card walls. Company colours only: ink #2C2B30, tile #201F24, ivory, white. Level colours only with the level word and discs.
   Magenta only on the logo, the one corner device per surface and the one live point. ===== */
button{font:inherit}
.btn{font-weight:700}
:root{--otas-size-h1:clamp(2.25rem,1.55rem + 2.2vw,3.25rem);--otas-size-h2:clamp(1.75rem,1.35rem + 1.3vw,2.5rem);--otas-size-h3:1.375rem;--otas-pad:clamp(56px,7vw,96px)}
h1{letter-spacing:-.01em;line-height:1.1}
h2{letter-spacing:-.005em;line-height:1.15}
main section{padding:var(--otas-pad) 0}
main section.table-scroll{padding:0}
.eyebrow{letter-spacing:.12em;margin-bottom:.8em}
/* hero: plain (ink to tile) and photo (full bleed, ink overlay) */
.hero{background:linear-gradient(180deg,var(--otas-ink) 0%,var(--otas-tile) 100%);padding:56px 0 64px}
.hero-inner{position:relative;width:100%}
.hero-copy{max-width:780px}
.hero .lead{font-size:clamp(1.2rem,1.05rem + .5vw,1.45rem);line-height:1.45}
.hero-note{color:var(--otas-on-dark-2);max-width:62ch}
.hero-photo{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:flex-end;min-height:440px;padding:80px 0 64px;background:var(--otas-ink)}
.hero-xl{min-height:min(80vh,720px);padding-top:120px}
.hero-xl h1{font-size:clamp(2.5rem,1.35rem + 3.7vw,4.25rem);line-height:1.04;max-width:16ch}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero-photo::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(0deg,rgba(32,31,36,.92) 0%,rgba(32,31,36,0) 45%),linear-gradient(90deg,rgba(44,43,48,.95) 0%,rgba(44,43,48,.92) 55%,rgba(44,43,48,.62) 75%,rgba(44,43,48,.28) 100%)}
.hero-copy .lead{max-width:30em}
.hero-xl .hero-bg{object-position:50% 85%} /* round 5, r4 minor 3: show the red-lit tent in K24 */
.hero-xl.hero-photo::before{background:linear-gradient(0deg,rgba(32,31,36,.6) 0%,rgba(32,31,36,0) 45%),linear-gradient(90deg,rgba(44,43,48,.95) 0%,rgba(44,43,48,.92) 55%,rgba(44,43,48,.62) 75%,rgba(44,43,48,.28) 100%)} /* round 5b, r5 minor 1: bottom stop .92 to .6 */
.hero-corner{position:absolute;right:24px;bottom:24px;width:28px;height:28px}
.hero .ctas{margin-top:20px}
.hero .btn{padding:10px 22px}
/* stats band (tile) */
section.stats{background:var(--otas-tile);color:var(--otas-ivory);padding:0}
.stat-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);max-width:none}
/* round 6c: plain 2x2 on every width, DOM order 3, 7, 10, 30 */
.stat-list{grid-template-columns:repeat(2,1fr)}.stat-list li:nth-child(odd){border-left:0}.stat-list li:nth-child(even){border-left:1px solid #4A4950}.stat-list li:nth-child(n+3){border-top:1px solid #4A4950}
.stat-list li{max-width:none;border-left:1px solid #4A4950}
.stat-list li:first-child{border-left:0}
.stat-list a,.stat-list li>span:first-child{display:block}
.stat-list a{color:var(--otas-ivory);text-decoration:none;padding:32px 24px;min-height:100%}
.stat-list li>.stat-n{padding:32px 24px 0}
.stat-list a:hover .stat-l{text-decoration:underline}
.stat-list :focus-visible{outline-color:var(--otas-ivory);outline-offset:-4px}
.stat-n{display:block;font-size:clamp(2.5rem,2rem + 1.8vw,3.5rem);font-weight:700;line-height:1;color:var(--otas-ivory)}
.stat-l{display:block;margin-top:10px;color:var(--otas-on-dark-2);font-size:var(--otas-size-small);max-width:24ch}
/* intro */
.display{font-size:clamp(2rem,1.4rem + 2vw,3rem);line-height:1.1}
.big{font-size:1.3rem;line-height:1.5;color:var(--otas-ink)}
.soft-lead{color:var(--otas-on-dark-2)}
/* eight functions on ink */
section.ink .funcs li{background:var(--otas-tile);border:1px solid #4A4950;color:var(--otas-ivory);padding:20px}
.funcs{gap:16px;margin-top:28px}
.fn-n{display:block;font-weight:700;color:var(--otas-on-dark-2);font-size:var(--otas-size-small);letter-spacing:.08em;margin-bottom:8px}
section.ink .funcs small{color:var(--otas-on-dark-2)}
.funcs .fn-do,.funcs .fn-get{margin:8px 0 0;font-size:var(--otas-size-small);line-height:1.45;font-weight:400}
.funcs .fn-do{color:inherit}
.funcs .fn-get{opacity:.85}
section.ink .funcs .fn-get{color:var(--otas-on-dark-2);opacity:1}
/* section heads */
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:12px}
.sec-head h2{margin-bottom:0}
.sec-head p{margin:0}
.arrow{font-weight:700}
.arrow::after{content:" \2192"}
/* numbered service list (replaces the card wall) */
.svc-list{list-style:none;margin:16px 0 0;padding:0;max-width:none;border-bottom:1px solid var(--otas-rule)}
.svc-list li{display:grid;grid-template-columns:72px 1fr auto;gap:8px 24px;align-items:start;padding:26px 0;border-top:1px solid var(--otas-rule);max-width:none}
.svc-n{font-size:1.75rem;font-weight:700;line-height:1;color:var(--otas-grey);padding-top:2px}
.svc-list h3{margin:0 0 .3em;font-size:1.5rem;color:var(--otas-ink)}
.svc-list h3 a{text-decoration:none}
.svc-list h3 a:hover{text-decoration:underline}
.svc-list p{margin:0}
.svc-q{display:inline-flex;align-items:center;min-height:var(--otas-target-min);padding:6px 16px;border:2px solid var(--otas-ink);border-radius:var(--otas-radius);font-weight:700;text-decoration:none;white-space:nowrap}
.svc-q:hover{text-decoration:underline}
/* cards: no grey outline walls; ink top rule and soft depth */
.card{border:0;border-top:4px solid var(--otas-ink);box-shadow:0 1px 2px rgba(44,43,48,.08),0 10px 28px rgba(44,43,48,.08)}
section.ink .card{box-shadow:none;border:1px solid #4A4950;border-top-width:8px}
details{border:0;border-left:4px solid var(--otas-ink);box-shadow:0 1px 2px rgba(44,43,48,.08)}
/* feature (case study) */
.feature{display:grid;grid-template-columns:1.1fr 1fr;background:var(--otas-white);box-shadow:0 1px 2px rgba(44,43,48,.08),0 16px 40px rgba(44,43,48,.10);margin-top:24px}
.feature-media,.feature-media figure{margin:0;height:100%}
.feature-media img{width:100%;height:100%;object-fit:cover}
.feature-body{padding:clamp(24px,3vw,48px)}
.feature-title{font-size:clamp(1.5rem,1.2rem + 1vw,2rem);color:var(--otas-ink)}
.case-client{text-transform:uppercase;letter-spacing:.1em;font-size:.875rem;font-weight:700;color:var(--otas-grey);margin:0 0 .6em}
/* case study hub */
.case-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:28px;margin-top:24px}
.case-card{background:var(--otas-white);box-shadow:0 1px 2px rgba(44,43,48,.08),0 10px 28px rgba(44,43,48,.08);display:flex;flex-direction:column}
.case-card figure{margin:0}
.case-body{padding:24px}
.case-body h3{color:var(--otas-ink)}
/* Level mark, matched to the handbook levelmark: book.typ L43-53, Interior Spec v1.21 s8.1 and s13, Brand Lock v2.2 A3 */
.lvm{display:inline-flex;align-items:baseline;gap:.556em;font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;line-height:1.2;white-space:nowrap;color:inherit}
.lvm-d{width:3.2em;height:.8703em;vertical-align:-.05em;flex:none;overflow:visible;align-self:center}
.lvm-op .lvm-d{color:#FD802E}.lvm-tac .lvm-d{color:#00D4C8}.lvm-strat .lvm-d{color:#F5C518}
/* round 6b: empty rings on ink grounds in K25 #D1D1D1; on light grounds they stay in the level colour (handbook geometry). Filled discs always in the level colour. */
.stats .lvm-d circle[fill="none"],.lvl-card .lvm-d circle[fill="none"],.hb-soon .lvm-d circle[fill="none"],.ink .lvm-d circle[fill="none"]{stroke:#D1D1D1}
/* minor 7: no ligatures or synthetic kerning gaps inside the tracked level word */
.lvm-w{font-variant-ligatures:none;font-kerning:normal}
/* minor 1: 7 nav items on one row at 390 */
@media (max-width:480px){.site-head .bar{gap:4px 12px}.site-head nav ul{gap:0}.site-head nav a{padding:0 4px;font-size:.875rem}}
.stat-leg{display:flex;flex-direction:column;gap:6px;margin-top:12px;color:var(--otas-ivory)}
.chips{display:flex;flex-wrap:wrap;gap:6px}
/* insights */
.ins-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:24px}
.ins-grid.two{grid-template-columns:repeat(2,1fr)}
.ins-card{background:var(--otas-ivory);border-top:4px solid var(--otas-ink);padding:24px;display:flex;flex-direction:column}
section:not(.alt) .ins-card{background:var(--otas-white);box-shadow:0 1px 2px rgba(44,43,48,.08),0 10px 28px rgba(44,43,48,.08)}
.ins-card h3{color:var(--otas-ink);font-size:1.3rem}
.ins-card p:last-child{margin-top:auto}
.article-wrap .article{max-width:780px}
.article p,.article li{font-size:1.1875rem;line-height:1.6}
.article h2{margin-top:1.6em}
.article h3{margin-top:1.2em;color:var(--otas-ink)}
.art-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;color:var(--otas-grey);font-size:var(--otas-size-small)}
.art-meta span{font-size:var(--otas-size-small)}
.say{background:var(--otas-card);border-left:4px solid var(--otas-ink);padding:14px 18px;font-weight:700}
.art-source{background:var(--otas-white);border-top:4px solid var(--otas-ink);padding:24px;margin:36px 0 20px;box-shadow:0 1px 2px rgba(44,43,48,.08)}
.share{font-weight:700}
.article table{margin:16px 0}
/* where we work */
.where{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;max-width:none}
.where li{border-top:3px solid var(--otas-ink);padding-top:16px;max-width:none}
.where h3{font-size:1.2rem;color:var(--otas-ink)}
/* closing CTA band (tile) */
section.cta-band{background:var(--otas-tile);color:var(--otas-ivory)}
section.cta-band h2{color:var(--otas-ivory)}
section.cta-band a{color:var(--otas-ivory)}
section.cta-band :focus-visible{outline-color:var(--otas-ivory)}
section.cta-band .btn{background:var(--otas-ivory);color:var(--otas-ink);border-color:var(--otas-ivory)}
section.cta-band .btn.secondary{background:transparent;color:var(--otas-ivory)}
/* proof sections (render only from approved items in proof.json) */
.worked{padding:28px 0!important;background:var(--otas-white)}
.eyebrow-h{font-size:var(--otas-size-small);text-transform:uppercase;letter-spacing:.12em;color:var(--otas-grey)}
.worked-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:12px 36px;max-width:none}
.worked-list li{font-weight:700;font-size:1.15rem;color:var(--otas-ink)}
.worked-list span{display:block;font-weight:400;font-size:.875rem;color:var(--otas-grey)}
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-top:20px}
.quote{margin:0;background:var(--otas-tile);border:1px solid #4A4950;padding:28px}
.quote blockquote{margin:0}
.quote blockquote p{font-size:1.25rem;line-height:1.5;color:var(--otas-ivory)}
.quote figcaption{color:var(--otas-on-dark-2)}
.cred-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;max-width:none}
.cred-list li{border-top:3px solid var(--otas-ink);padding-top:12px;max-width:none}
.cred-list span{display:block;color:var(--otas-grey);font-size:var(--otas-size-small)}
.role-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px}
.role-card{background:var(--otas-white);border-top:4px solid var(--otas-ink);padding:20px;box-shadow:0 1px 2px rgba(44,43,48,.08)}
.role-meta{color:var(--otas-grey);font-weight:700}
/* forms */
.form-notice{margin:14px 0}
.rc-form{box-shadow:0 16px 40px rgba(0,0,0,.25)}
@media (max-width:900px){
  .stat-list{grid-template-columns:repeat(2,1fr)}
  .stat-list li:nth-child(odd){border-left:0}
  .stat-list li:nth-child(n+3){border-top:1px solid #4A4950}
  .feature,.ins-grid,.ins-grid.two{grid-template-columns:1fr}
  .where{grid-template-columns:repeat(2,1fr)}
  .hero-photo::before,.hero-xl.hero-photo::before{background:rgba(44,43,48,.8)} /* round 5: was .88; worst case ivory on white-through-.8-ink is 6.9:1 */
}
@media (max-width:600px){
  .hero-photo,.hero-xl{min-height:0;padding:56px 0 48px}
  .hero-xl h1{font-size:2.35rem}
  .svc-list li{grid-template-columns:44px 1fr}
  .svc-q{grid-column:2}
  .svc-n{font-size:1.35rem}
  .where{grid-template-columns:1fr}
  .stat-list a{padding:24px 18px}
  .hero-corner{right:14px;bottom:14px}
}
.lib-teaser{display:grid;grid-template-columns:150px 1fr;gap:28px;align-items:start}
.lib-cover img{width:150px;height:auto;box-shadow:0 10px 28px rgba(44,43,48,.3)}
@media (max-width:600px){.lib-teaser{grid-template-columns:1fr}.lib-cover{display:none}}
main section.cta-band:not(.ink) .eyebrow,main section.stats:not(.ink) .eyebrow{color:var(--otas-on-dark-2)}
/* round 4: no sideways scroll on small screens in the library grid */
.hb-card{min-width:0}
@media (max-width:700px){.hb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hb-soon{padding:12px 10px}.hb-soon .lvm{white-space:normal}}
/* ===== ROUND 5 (18 Oct 2026): process strips, who-it-is-for box, proof and questions band, reversed feature ===== */
.process{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:16px;max-width:none;counter-reset:none}
.process.p3{grid-template-columns:repeat(3,1fr)}.process.p4{grid-template-columns:repeat(4,1fr)}.process.p5{grid-template-columns:repeat(5,1fr)}
.process li{max-width:none;border-top:4px solid var(--otas-ink);background:var(--otas-white);padding:18px 18px 20px}
.process li h3{margin:.2em 0 .35em;color:var(--otas-ink)}
.process li p{margin:0;font-size:var(--otas-size-small)}
.pr-n{display:block;font-weight:700;font-size:var(--otas-size-small);letter-spacing:.08em;color:var(--otas-grey)}
section.ink .process li{background:var(--otas-tile);border-top-color:var(--otas-ivory);color:var(--otas-ivory)}
section.ink .process li h3{color:var(--otas-ivory)}
section.ink .pr-n{color:var(--otas-on-dark-2)}
.process-h{margin-top:40px}
.for-box{background:var(--otas-white);border-left:6px solid var(--otas-ink);padding:24px 28px}
.for-box h2{font-size:var(--otas-size-h3)}
.proof-faq{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.proof-faq .callout{margin-top:8px}
.proof-faq h3{margin-top:28px}
.proof-faq details{max-width:none}
.feature-rev{grid-template-columns:1fr 1.1fr}
.feature-title a{color:var(--otas-ink)}
.quote.light{background:var(--otas-card);border-color:var(--otas-card)}
.quote.light blockquote p{color:var(--otas-ink)}.quote.light figcaption{color:var(--otas-ink)}
@media (max-width:900px){
  .process,.process.p4,.process.p5{grid-template-columns:repeat(2,1fr)}
  .process.p3{grid-template-columns:1fr}
  .proof-faq,.feature-rev{grid-template-columns:1fr;gap:28px}
  .feature-rev .feature-media{order:-1}
}
@media (max-width:600px){.process,.process.p4,.process.p5{grid-template-columns:1fr}}
/* round 6b: Meet the Team (founder profile, neutral photo placeholder, swappable for an approved photo via proof.json) */
.founder{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:48px;align-items:start}
.founder-media img{width:100%;height:auto;border-radius:var(--otas-radius)}
.founder-photo-tile{aspect-ratio:4/5;background:#201F24;border-radius:var(--otas-radius);display:flex;align-items:center;justify-content:center;padding:24px}
.founder-photo-text{color:var(--otas-ivory);font-size:var(--otas-size-small);text-align:center}
.founder-role{font-weight:700;color:var(--otas-ink);margin-top:-4px}
.founder-body h3{margin-top:28px}
@media (max-width:900px){.founder{grid-template-columns:1fr;gap:28px}.founder-photo-tile{max-width:360px;aspect-ratio:1/1}}
/* ===== Round 7 (18 Oct 2026): bolder hero, home gallery, method and deliverables. Brand Lock v2.2/v2.3 colours only. ===== */
.hero-xl{min-height:min(88vh,760px)}
.hero-xl h1{font-size:clamp(2.4rem,1.4rem + 3.6vw,4.4rem);line-height:1.04;letter-spacing:-.015em;max-width:15ch}
.hero-photo h1{text-wrap:balance}
.hero-xl .lead{font-size:clamp(1.15rem,1rem + .6vw,1.55rem);max-width:40ch}
.hero-xl .hero-copy{max-width:860px}
.gallery-sec{background:var(--otas-tile);padding:0}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.gallery figure{margin:0;position:relative;overflow:hidden;aspect-ratio:3/2}
.gallery img{width:100%;height:100%;object-fit:cover;display:block}
.gallery figcaption{position:absolute;left:0;bottom:0;padding:10px 16px;color:var(--otas-ivory);background:rgba(32,31,36,.82);font-weight:700;font-size:.95rem}
.deliv-sec{padding:72px 0}
.deliv-split{display:grid;grid-template-columns:5fr 7fr;gap:48px;align-items:start}
.deliv-media img{width:100%;height:auto;display:block;border-radius:var(--otas-radius)}
.deliv{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.deliv li{border-top:3px solid var(--otas-ink);padding-top:12px}
.deliv h3{margin:0 0 6px;font-size:1.08rem}
.deliv p{margin:0;color:var(--otas-grey)}
@media (max-width:900px){.deliv-split{grid-template-columns:1fr;gap:28px}.deliv-sec{padding:48px 0}}
@media (max-width:700px){.gallery{grid-template-columns:1fr 1fr}.gallery figure:nth-child(3){display:none}.deliv{grid-template-columns:1fr}
  .hero-xl{min-height:auto}}
/* Round 7: shorter home page at phone widths (390). Nothing is removed from the HTML, and every hidden item stays one tap away. */
@media (max-width:700px){
  section.ink .funcs li{padding:12px}.funcs{gap:8px;margin-top:18px}
  .process{gap:10px}.process li{padding:14px 14px 16px}
  .svc-list li{padding:18px 0}.svc-list h3{font-size:1.25rem}.svc-list .svc-q{display:none}
  .home-ins .ins-card:nth-child(n+2){display:none}
  .home-x{display:none}
  .where{gap:14px}.where li p{display:none}.where li{padding-top:10px}
  .deliv-sec{padding:40px 0}
  .site-foot .cols{grid-template-columns:1fr 1fr;gap:20px}
  .site-foot .cols>div:first-child{grid-column:1/-1}
}
.home-proc-link{display:none}
@media (max-width:700px){.home-proc{display:none}.home-proc-link{display:block;margin-top:18px}}
section.ink .home-proc-link a{color:var(--otas-ivory)}

/* r8.13 Batch 1 F09: WCAG 1.4.10 reflow at 320 px, level marks may wrap below 400 px */
@media (max-width:400px){.lvm{white-space:normal;flex-wrap:wrap}}

/* r8.14 Batch 2 F24: compact mobile header below 480 px. Services, Library and Contact stay in the bar; the rest sit in a no-JS <details> Menu. the KD mark is hidden in the bar and listed in the Menu instead. */
.site-head .nav-more-li{display:none}
@media (max-width:480px){
  .site-head .bar{flex-wrap:nowrap;gap:8px;padding-top:6px;padding-bottom:6px}
  .site-head .logo img{height:36px}
  .site-head nav{margin-left:auto}
  .site-head nav ul{flex-wrap:nowrap}
  .site-head nav .nav-x,.site-head .nav-kd{display:none}
  .site-head .nav-more-li{display:block;position:relative}
  .site-head .nav-more{background:transparent;border:0;border-radius:0;box-shadow:none;margin:0;max-width:none}
  .site-head .nav-more summary{display:inline-flex;align-items:center;min-height:var(--otas-target-min);padding:0 8px;cursor:pointer;color:var(--otas-ivory);font-size:.875rem;font-weight:400;text-decoration:underline;list-style:none}
  .site-head .nav-more summary::-webkit-details-marker{display:none}
  .site-head .nav-more summary::after{content:" \25BE"}
  .site-head .nav-more[open] summary::after{content:" \25B4"}
  .site-head .nav-more ul{display:block;position:absolute;right:0;top:100%;z-index:20;min-width:12rem;padding:6px 0;background:var(--otas-ink);border:1px solid rgba(247,244,239,.28)}
  .site-head .nav-more li{display:block}
  .site-head .nav-more a{display:flex;width:100%;padding:0 14px;font-size:1rem}
}
/* ===== r8.15 mobile pass. Phone header: logo + one Menu button (no JS, <details>) holding every nav link,
   44 px+ targets, no underlines. Phone type scale and spacing. Footer and form targets 44 px at every width. Brand Lock v2.2 colours only. ===== */
.site-head{position:relative}
.site-foot a{display:inline-flex;align-items:center;min-height:var(--otas-target-min);min-width:var(--otas-target-min);padding:0}
.site-foot ul li{margin:0}
.case-client{font-size:1rem}
.field select{width:100%;min-height:var(--otas-target-min);padding:8px 12px;font:inherit;color:var(--otas-ink);background:var(--otas-white);border:2px solid var(--otas-ink);border-radius:var(--otas-radius)}
.field input,.field textarea,.field select{font-size:max(1rem,1em)}
.check{min-height:var(--otas-target-min)}
.table-scroll{-webkit-overflow-scrolling:touch;max-width:100%}
/* title links in cards and lists: 44 px hit area without moving the layout */
main h2 a,main h3 a{display:inline-block;padding-block:12px;margin-block:-12px}
@media (max-width:900px){
  .site-head .bar{flex-wrap:nowrap;gap:12px;padding-top:8px;padding-bottom:8px;min-height:60px}
  .site-head .logo img{height:40px}
  .site-head nav{margin-left:auto}
  .site-head nav>ul{flex-wrap:nowrap}
  .site-head nav>ul>li:not(.nav-more-li),.site-head .nav-kd{display:none}
  .site-head .nav-more-li{display:block;position:static}
  .site-head .nav-more{background:transparent;border:0;border-radius:0;box-shadow:none;margin:0;max-width:none}
  .site-head .nav-more summary{display:inline-flex;align-items:center;gap:10px;min-height:var(--otas-target-min);min-width:var(--otas-target-min);padding:0 14px;border:2px solid rgba(247,244,239,.55);border-radius:var(--otas-radius);color:var(--otas-ivory);font-size:1rem;font-weight:700;text-decoration:none;list-style:none;cursor:pointer;user-select:none}
  .site-head .nav-more summary::-webkit-details-marker{display:none}
  .site-head .nav-more summary::after,.site-head .nav-more[open] summary::after{content:none}
  .site-head .nav-more[open] summary{background:var(--otas-ivory);color:var(--otas-ink);border-color:var(--otas-ivory)}
  .site-head .nav-more[open] summary:focus-visible{outline-color:var(--otas-ivory)}
  .nav-burger{position:relative;display:inline-block;width:18px;height:2px;background:currentColor;flex:none}
  .nav-burger::before,.nav-burger::after{content:"";position:absolute;left:0;width:18px;height:2px;background:currentColor}
  .nav-burger::before{top:-6px}.nav-burger::after{top:6px}
  .nav-more[open] .nav-burger{background:transparent}
  .nav-more[open] .nav-burger::before{top:0;transform:rotate(45deg)}
  .nav-more[open] .nav-burger::after{top:0;transform:rotate(-45deg)}
  .site-head .nav-more ul{display:block;position:absolute;left:0;right:0;top:100%;z-index:20;min-width:0;margin:0;padding:6px 0 14px;background:var(--otas-ink);border-top:1px solid rgba(247,244,239,.28);box-shadow:0 18px 32px rgba(0,0,0,.35)}
  .site-head .nav-more li{display:block;max-width:none}
  .site-head .nav-more a{display:flex;align-items:center;width:100%;min-height:52px;padding:0 24px;font-size:1.125rem;text-decoration:none;border-bottom:1px solid rgba(247,244,239,.12)}
  .site-head .nav-more li:last-child a{border-bottom:0}
  .site-head .nav-more a:hover{text-decoration:underline}
  .site-head .nav-more a[aria-current=page]{font-weight:700;box-shadow:inset 4px 0 0 var(--otas-ivory)}
}
@media (max-width:600px){
  :root{--otas-size-h1:clamp(1.875rem,1.3rem + 2.4vw,2.25rem);--otas-size-h2:clamp(1.5rem,1.2rem + 1.4vw,1.75rem);--otas-pad:clamp(40px,11vw,56px)}
  .site-head .nav-more a{padding:0 18px}
  .hero{padding:36px 0 44px}
  .hero-photo,.hero-xl{padding:40px 0 40px}
  .hero-xl h1{font-size:clamp(1.95rem,1.2rem + 3.3vw,2.35rem);line-height:1.08;max-width:none}
  .hero .lead,.hero-xl .lead{font-size:1.125rem;line-height:1.5}
  .hero .ctas{margin-top:16px;gap:10px}
  .display{font-size:clamp(1.75rem,1.3rem + 2vw,2rem)}
  .big{font-size:1.15rem}
  .stat-n{font-size:2.125rem}
  .stat-list a{padding:20px 16px}
  .stat-list li>.stat-n{padding:20px 16px 0}
  .stat-l{margin-top:6px}
  .rc-form{padding:20px 16px}
  .rc-form .btn,form .btn[type=submit],form button.btn{width:100%}
}
/* r8.15 rate card v4.2 price tables: two columns, reflow-safe at 320 px, scroll inside their own box if needed */
.price-scroll{margin:18px 0 8px;max-width:820px}
.price-table{font-size:1rem}
.price-table th[scope=row]{font-weight:400}
.price-table td.r{font-weight:700;white-space:nowrap}
.price-note{max-width:70ch;margin:.6em 0}
@media (max-width:600px){.price-table th,.price-table td{padding:10px 8px}.price-table td.r{white-space:normal;text-align:right;min-width:7.5em}}

/* r8.16 estimator (/services/estimate/) */
.est [hidden]{display:none!important}
.est-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start}
.est-form fieldset{background:var(--otas-white);border:1px solid var(--otas-rule);border-radius:var(--otas-radius);padding:16px 18px 8px;margin:0 0 18px;min-width:0}
.est-form legend{font-weight:700;font-size:1.25rem;color:var(--otas-ink);padding:0 6px}
.est-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
.field .hint{display:block;font-size:var(--otas-size-small);color:var(--otas-grey);margin:0 0 4px}
.field select{width:100%;max-width:100%;text-overflow:ellipsis;min-height:var(--otas-target-min);padding:8px 12px;font:inherit;color:var(--otas-ink);background:var(--otas-white);border:2px solid var(--otas-ink);border-radius:var(--otas-radius)}
.est-form .check{min-height:var(--otas-target-min);align-items:center;margin:2px 0}
.est-form .check input{margin:0}
.est-form .check label{font-size:var(--otas-size-body)}
.est-docs{border-top:1px solid var(--otas-rule);margin-top:8px;padding-top:6px}
.est-err{font-size:var(--otas-size-small);font-weight:700;color:var(--otas-ink);border-left:4px solid var(--otas-magenta);padding-left:8px;margin:6px 0 0}
.field input[aria-invalid="true"]{border-color:var(--otas-magenta);border-width:3px}
.est-result{background:var(--otas-white);border:1px solid var(--otas-rule);border-top:8px solid var(--otas-ink);border-radius:var(--otas-radius);padding:20px;position:sticky;top:16px}
.est-result h2:focus{outline:var(--otas-focus);outline-offset:4px}
.est-total{font-size:1.375rem;font-weight:700;color:var(--otas-ink);line-height:1.35}
.est-team{margin:8px 0 12px}
.est-warn{border-left:4px solid var(--otas-caution);padding-left:10px;font-weight:700}
.est-quote{margin-top:40px;max-width:720px}
.est-quote textarea[readonly]{background:var(--otas-ivory)}
/* M1: the team table fits a phone (no sideways scroll) */
.est-team{table-layout:auto;width:100%}
.est-team th[scope=row]{overflow-wrap:anywhere}
.price-table.est-team td.r,.price-table.est-team th.r{min-width:0;width:1%;white-space:nowrap;text-align:right}
@media (max-width:600px){.price-table.est-team th,.price-table.est-team td{padding:8px 6px}.price-table.est-team td.r{min-width:0}}
@media (max-width:900px){.est-cols{grid-template-columns:minmax(0,1fr)}.est-result{position:static}}
@media (max-width:480px){.est-grid{grid-template-columns:minmax(0,1fr)}.est-form fieldset{padding:12px 12px 6px}.est-result{padding:16px}}
/* r8.19.3 insights start: managed by _build/insight_build.py (do not edit by hand). r8.19.6: mobile filters (two selects), one-line level tags, badge group, full summaries, type-scale headings, all 3 home cards; v2: featured card padding and one-line tags on mobile, Work with OTAS heading at the h3 size. Work with OTAS CTA, Insight cards, Insights hub, level tags. Brand Lock v2.2 tokens. */
.cta{background:var(--otas-white);border:1px solid var(--otas-ink);border-left:11px solid var(--otas-ink);border-radius:0;padding:14px 18px;margin:36px 0 24px;color:var(--otas-ink);line-height:1.35}
.cta p{color:var(--otas-ink);margin:0 0 6px}
.cta p.cta-h{font-size:var(--otas-size-h3);line-height:1.25;font-weight:700}
.cta p.cta-q{font-weight:400}
.cta p.cta-a{font-weight:700;margin:0}
.cta p.cta-a a{color:var(--otas-ink);text-decoration:underline;display:inline-flex;align-items:center;min-height:var(--otas-target-min)}
.cta a:focus-visible{outline-color:var(--otas-ink)}
.art-meta .lvm,.ih-tags .lvm{white-space:nowrap;flex-wrap:nowrap}
.ih-tags{display:flex;flex-wrap:wrap;gap:4px 10px;margin:0 0 12px;color:var(--otas-ink)}
.ih-tags .lvm{font-size:.8125rem;letter-spacing:.02em;text-transform:none;gap:.35em}
.ih-tags .lvm-d{width:2.4em;height:.653em}
.ih-section{padding:40px 0}
.ih-section h2{color:var(--otas-ink)}
.ih-featured{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);background:var(--otas-white);border-top:4px solid var(--otas-ink);box-shadow:0 1px 2px rgba(44,43,48,.08),0 10px 28px rgba(44,43,48,.08)}
.ih-featured .ih-media{margin:0;min-height:240px;background:var(--otas-ink)}
.ih-featured .ih-media img{display:block;width:100%;height:100%;object-fit:cover}
.ih-featured .ih-body{padding:28px;display:flex;flex-direction:column}
.ih-featured h3{font-size:var(--otas-size-h3);color:var(--otas-ink);margin:0 0 10px}
.ih-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:24px;margin:24px 0 0;padding:0;list-style:none}
.ih-card{background:var(--otas-white);border-top:4px solid var(--otas-ink);box-shadow:0 1px 2px rgba(44,43,48,.08),0 10px 28px rgba(44,43,48,.08);padding:24px;display:flex;flex-direction:column;height:100%;box-sizing:border-box}
.ih-card h3{font-size:var(--otas-size-h3);line-height:1.25;color:var(--otas-ink);margin:0 0 10px}
.ih-card h3 a,.ih-featured h3 a{color:var(--otas-ink);text-decoration:none}
.ih-card h3 a:hover,.ih-featured h3 a:hover{text-decoration:underline}
.ih-card h3 a::after{content:"";position:absolute;inset:0}
.ih-card{position:relative}
.ih-sum{margin:0 0 16px;color:var(--otas-text)}
.ih-meta{margin:auto 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:var(--otas-size-small);color:var(--otas-ink)}
.ih-meta time{white-space:nowrap}
.ih-badges{display:inline-flex;flex-wrap:nowrap;gap:6px}
.ih-badge{display:inline-block;border:1px solid var(--otas-ink);padding:1px 8px;font-weight:700;letter-spacing:.04em;line-height:1.5}
.ih-filters{margin:16px 0 0;display:grid;gap:12px}
.ih-filters[hidden],.ih-grid [hidden],.ih-more[hidden]{display:none!important}
.ih-fgroup{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:0;border:0}
.ih-fgroup .ih-flabel{font-weight:700;margin-right:6px;color:var(--otas-ink)}
.ih-chip{min-height:var(--otas-target-min);padding:6px 14px;line-height:1.2;border:2px solid var(--otas-ink);background:var(--otas-white);color:var(--otas-ink);font:inherit;font-weight:700;border-radius:var(--otas-radius);cursor:pointer}
.ih-chip[aria-pressed="true"]{background:var(--otas-ink);color:var(--otas-ivory)}
.ih-chip:hover{background:var(--otas-ivory)}
.ih-chip[aria-pressed="true"]:hover{background:var(--otas-ink)}
.ih-chip:focus-visible{outline:var(--otas-focus);outline-offset:3px}
.ih-fsels{display:none}
.ih-fsel label{display:block;font-weight:700;color:var(--otas-ink);margin:0 0 4px}
.ih-fsel select{display:block;width:100%;max-width:100%;min-height:var(--otas-target-min);padding:8px 10px;font:inherit;font-size:max(1rem,1em);color:var(--otas-ink);background:var(--otas-white);border:2px solid var(--otas-ink);border-radius:var(--otas-radius);text-overflow:ellipsis}
.ih-fsel select:focus-visible{outline:var(--otas-focus);outline-offset:2px}
@media (max-width:800px){.ih-fsels{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.ih-filters .ih-fgroup{display:none}}
.ih-status{margin:16px 0 0;font-size:var(--otas-size-small);color:var(--otas-ink)}
.ih-grid>li{display:flex}
.ih-grid>li>.ih-card{width:100%}
.ih-grid .ih-dup{display:none}
.ih-grid.ih-filtering .ih-dup{display:flex}
.ih-more{margin-top:24px}
.ih-x{padding:28px 0;border-top:1px solid #D1D1D1}
.ih-x h2{font-size:var(--otas-size-h3);color:var(--otas-ink);margin:0 0 6px}
.ih-x p{margin:0 0 6px}
@media (max-width:800px){.ih-featured{grid-template-columns:1fr}.ih-featured .ih-media{min-height:0;aspect-ratio:16/9}.ih-featured .ih-body{padding:24px}.ih-featured .ih-tags{flex-wrap:nowrap}}
.article ol.refs{overflow-wrap:anywhere}
.article p,.article li{overflow-wrap:break-word}
.pdf-dl{margin:24px 0;padding:18px 20px;background:var(--otas-white);border-top:4px solid var(--otas-ink)}
.pdf-dl h2{margin-top:0}
.pdf-dl .ctas{flex-wrap:wrap}
.sub-box{margin:28px 0;padding:18px 20px;background:var(--otas-white);border:1px solid var(--otas-ink)}
.sub-box h2{margin-top:0}
.sub-box label{font-weight:700}
.sub-box input[type=email]{display:block;width:100%;max-width:420px;min-height:var(--otas-target-min);padding:8px 10px;border:2px solid var(--otas-ink);font:inherit;box-sizing:border-box}
.sub-consent{display:flex;gap:10px;align-items:flex-start}
.sub-consent input{width:24px;height:24px;margin:2px 0 0;flex:none}
.sub-consent label{font-weight:400}
.sub-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@media (max-width:380px){.ih-card,.ih-featured .ih-body{padding:16px 14px}.ih-tags{gap:4px 8px}.ih-tags .lvm{font-size:.75rem;letter-spacing:0;gap:.3em}.ih-tags .lvm-d{width:2em;height:.544em}}
/* r8.19.3 insights end */
