/* commercialtracklighting.com, editorial stylesheet.
   Paper ground, warm ink, burnt-orange edit accent, Georgia headlines over a sans body.
   Radius 3px, hairline borders only, hover gated to pointer devices, reduced motion honoured. */

:root{
  --ink:#1c1a17;
  --ink-2:#403c36;
  --muted:#655e54;
  --paper:#f6f3ee;
  --panel:#ffffff;
  --panel-2:#ece8e0;
  --line:#d8d2c6;
  --line-2:#e6e1d6;
  --edit:#9a3412;
  --edit-d:#7c2d12;
  --night:#171512;
  --night-ink:#ece6db;
  --night-muted:#b9b0a2;
  --night-edit:#f0b48f;
  --night-line:#2e2a24;

  --serif:Georgia,"Times New Roman",serif;
  --sans:"Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;

  --fs-h1:clamp(2.1rem,4.6vw,3.6rem);
  --fs-h2:clamp(1.4rem,2.5vw,1.9rem);
  --fs-h3:1.08rem;
  --fs-body:1.0625rem;
  --fs-small:.875rem;
  --measure:68ch;

  --u:8px;
  --section:clamp(48px,7vw,88px);
  --wrap:1180px;
  --gutter:clamp(18px,4vw,40px);
  --toc:200px;
  --col-gap:56px;
  --radius:3px;

  --ease:cubic-bezier(.2,.7,.2,1);
  --dur:160ms;
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:var(--fs-body);line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{display:block;max-width:100%;height:auto}
figure{margin:0}
h1,h2,h3,h4{color:var(--ink);line-height:1.18;margin:0 0 .55em}
h1,h2{font-family:var(--serif);font-weight:400}
h1{font-size:var(--fs-h1);letter-spacing:-.01em;line-height:1.08}
h2{font-size:var(--fs-h2);letter-spacing:-.005em}
h3{font-family:var(--sans);font-size:var(--fs-h3);font-weight:700;letter-spacing:.005em;line-height:1.35}
p{margin:0 0 1.05em}
ul,ol{margin:0 0 1.1em;padding-left:1.25em}
li{margin:0 0 .4em}
a{color:var(--edit-d);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em;transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease),transform var(--dur) var(--ease)}
strong{font-weight:700;color:var(--ink)}
:focus-visible{outline:2px solid var(--edit);outline-offset:2px}
::selection{background:#f3d9c9;color:var(--ink)}
[id]{scroll-margin-top:16px}

.skip{position:absolute;left:-9999px;top:0;z-index:100;padding:10px 14px;background:var(--ink);color:var(--paper);border-radius:var(--radius)}
.skip:focus{left:12px;top:12px}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.7em 1.3em;border:1px solid transparent;border-radius:var(--radius);font:600 .95rem/1.2 var(--sans);letter-spacing:.01em;text-decoration:none;cursor:pointer;transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease)}
.btn-solid{background:var(--edit);border-color:var(--edit);color:#fff}
.btn-line{background:transparent;border-color:var(--night-ink);color:var(--night-ink)}

/* ---------- masthead (site header) ---------- */
.masthead{background:var(--paper);border-bottom:1px solid var(--ink)}
.masthead-in{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:4px 32px;padding-top:16px}
.masthead-brand{display:flex;flex-direction:column;gap:3px;padding-bottom:12px;color:var(--ink);text-decoration:none;line-height:1.1}
.masthead-name{font-family:var(--serif);font-size:1.45rem;letter-spacing:-.01em}
.masthead-sub{font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.masthead-nav{flex:1 1 auto;min-width:0}
.masthead-nav ul{list-style:none;margin:0;padding:0;display:flex;justify-content:flex-end;gap:2px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.masthead-nav ul::-webkit-scrollbar{display:none}
.masthead-nav li{flex:none;margin:0}
.masthead-nav a{display:block;padding:12px 9px 13px;border-bottom:2px solid transparent;font-size:.88rem;color:var(--ink-2);text-decoration:none;white-space:nowrap}
.masthead-nav a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--edit)}
@media (max-width:1100px){
  .masthead-nav{flex-basis:100%}
  .masthead-nav ul{justify-content:flex-start;margin:0 calc(var(--gutter) * -1);padding:0 var(--gutter)}
}
@media (max-width:560px){.masthead-sub{display:none}}

/* ---------- ed- masthead (page head) ---------- */
.ed-masthead{padding:calc(var(--section) * .75) 0 var(--section);border-bottom:1px solid var(--line)}
.ed-masthead-in{display:grid;grid-template-columns:minmax(0,1fr);gap:calc(var(--u) * 4);align-items:end}
@media (min-width:900px){
  .ed-masthead-in{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:calc(var(--u) * 7)}
  .ed-masthead-in > :only-child{grid-column:1 / -1}
}
.ed-masthead h1{max-width:20ch}
.ed-masthead--home h1{max-width:17ch}
.ed-masthead--post{padding-bottom:calc(var(--u) * 4)}
.ed-masthead--post h1{max-width:24ch}
.ed-masthead-text > :last-child{margin-bottom:0}
.ed-masthead-fig img{width:100%;aspect-ratio:3/2;object-fit:cover;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius)}
.ed-masthead-fig figcaption,.ed-figure figcaption,.ed-tease-fig figcaption{margin-top:10px;padding-left:10px;border-left:2px solid var(--edit);font-size:var(--fs-small);line-height:1.5;color:var(--muted)}
.ed-meta{max-width:var(--measure);margin-top:calc(var(--u) * 3);padding-top:10px;border-top:1px solid var(--line);font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}

/* ---------- ed- voice ---------- */
.ed-kicker{display:inline-flex;align-items:center;gap:10px;margin:0 0 1.1em;font-family:var(--mono);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--edit)}
.ed-kicker::before{content:"";width:28px;height:1px;background:var(--edit)}
.ed-standfirst{max-width:60ch;margin:0 0 1.2em;font-family:var(--serif);font-size:clamp(1.15rem,1.8vw,1.35rem);line-height:1.5;color:var(--ink-2)}

/* ---------- essay layout + table of contents ---------- */
.ed-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:calc(var(--u) * 3);padding-top:var(--section);padding-bottom:calc(var(--u) * 2)}
.toc{max-width:var(--measure);padding-top:12px;border-top:2px solid var(--ink);font-size:.92rem}
.toc-label{margin-bottom:.5em;font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.toc-list{list-style:none;counter-reset:toc;margin:0;padding:0}
.toc-list li{counter-increment:toc;margin:0;border-top:1px solid var(--line-2)}
.toc-list li:first-child{border-top:0}
.toc-list a{display:flex;gap:10px;padding:8px 0;color:var(--ink-2);text-decoration:none}
.toc-list a::before{content:counter(toc,decimal-leading-zero);padding-top:.2em;font-family:var(--mono);font-size:.76rem;color:var(--edit)}
.ed-after{padding-bottom:var(--section)}
.ed-after > *{max-width:860px}
@media (min-width:1000px){
  .ed-layout{grid-template-columns:var(--toc) minmax(0,1fr);gap:var(--col-gap);align-items:start}
  .ed-layout > :only-child{grid-column:1 / -1}
  .ed-layout .toc{position:sticky;top:24px}
  .ed-after{padding-left:calc(var(--gutter) + var(--toc) + var(--col-gap))}
  .order .ed-after{padding-left:var(--gutter)}
}

/* ---------- essay ---------- */
.ed-essay{max-width:var(--measure);min-width:0}
.ed-essay > h2{margin-top:1.6em}
.ed-sec + .ed-sec{margin-top:calc(var(--u) * 6);padding-top:calc(var(--u) * 4);border-top:1px solid var(--line)}
.ed-sec > h2{margin-bottom:.6em}
.ed-essay > .ed-sec:first-child > h2 + p::first-letter{float:left;padding:.06em .1em 0 0;font-family:var(--serif);font-size:3.3em;line-height:.85;color:var(--edit)}
.ed-figure{margin:calc(var(--u) * 4) 0}
.ed-figure img{width:100%;border:1px solid var(--line);border-radius:var(--radius)}

.ed-pull{max-width:var(--measure);margin:calc(var(--u) * 5) 0;padding:calc(var(--u) * 3) calc(var(--u) * 3) calc(var(--u) * 3) calc(var(--u) * 4);background:var(--panel-2);border-left:3px solid var(--edit);border-radius:0 var(--radius) var(--radius) 0}
.ed-pull p{margin:0;font-family:var(--serif);font-size:clamp(1.25rem,2.2vw,1.6rem);line-height:1.4;color:var(--ink)}

.ed-list{padding-left:1.2em}
.ed-list li::marker{color:var(--edit)}
.ed-list--num{list-style:none;counter-reset:num;padding:0;border-top:1px solid var(--line)}
.ed-list--num li{counter-increment:num;position:relative;margin:0;padding:12px 0 12px 3em;border-bottom:1px solid var(--line)}
.ed-list--num li::before{content:counter(num,decimal-leading-zero);position:absolute;left:0;top:13px;font-family:var(--mono);font-size:.82rem;color:var(--edit)}

/* ---------- what usually goes wrong ---------- */
.ed-wrong{max-width:var(--measure);margin:calc(var(--u) * 5) 0;border-top:2px solid var(--ink)}
.ed-wrong-title{margin:.7em 0 .3em;font-size:var(--fs-h2)}
.ed-wrong-list{list-style:none;counter-reset:wrong;margin:0;padding:0}
.ed-wrong-list li{counter-increment:wrong;position:relative;margin:0;padding:14px 0 14px 3.2em;border-bottom:1px solid var(--line)}
.ed-wrong-list li::before{content:counter(wrong,decimal-leading-zero);position:absolute;left:0;top:15px;font-family:var(--mono);font-size:.8rem;letter-spacing:.06em;color:var(--edit)}

/* ---------- decision table ---------- */
.ed-table-wrap{margin:calc(var(--u) * 5) 0;overflow-x:auto;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}
.ed-table{width:100%;min-width:560px;border-collapse:collapse;font-size:.95rem}
.ed-table caption{caption-side:top;padding:14px 16px;border-bottom:1px solid var(--line);text-align:left;font-family:var(--serif);font-size:1.15rem;color:var(--ink)}
.ed-table th,.ed-table td{padding:12px 16px;border-bottom:1px solid var(--line-2);text-align:left;vertical-align:top}
.ed-table thead th{background:var(--panel-2);border-bottom:1px solid var(--line);font-family:var(--mono);font-size:.74rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.ed-table tbody th{width:24%;font-weight:700;color:var(--ink)}
.ed-table tbody tr:last-child th,.ed-table tbody tr:last-child td{border-bottom:0}

/* ---------- route card (always last) ---------- */
.ed-route{max-width:var(--measure);margin:calc(var(--u) * 6) 0 0;padding:calc(var(--u) * 4);background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--edit);border-radius:var(--radius)}
.ed-route-mark{margin-bottom:.8em;font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--edit)}
.ed-route h2{margin-bottom:.4em;font-size:1.5rem}
.ed-route > p{color:var(--ink-2)}
.ed-route-links{list-style:none;margin:0 0 1em;padding:0;border-top:1px solid var(--line-2)}
.ed-route-links li{display:grid;gap:2px;margin:0;padding:12px 0;border-bottom:1px solid var(--line-2)}
.ed-route-links a{justify-self:start;font-weight:600}
.ed-route-links span{font-size:.93rem;color:var(--muted)}
.ed-route-sub{margin:1.4em 0 .5em;font-family:var(--mono);font-size:.74rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.ed-route-confirm{margin:0;padding-left:1.15em}
.ed-route-confirm li::marker{color:var(--edit)}

/* ---------- home: this issue ---------- */
.issue{padding:var(--section) 0;border-bottom:1px solid var(--line)}
.issue h2{max-width:24ch}
.issue-intro{max-width:var(--measure);margin-bottom:calc(var(--u) * 4);color:var(--ink-2)}
.ed-issue{display:grid;grid-template-columns:minmax(0,1fr);gap:calc(var(--u) * 5)}
@media (min-width:860px){.ed-issue{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);gap:calc(var(--u) * 4)}}
.ed-tease{display:flex;flex-direction:column;padding-top:calc(var(--u) * 2);border-top:2px solid var(--ink)}
.ed-tease-media{display:block;margin-bottom:calc(var(--u) * 2);text-decoration:none}
.ed-tease-fig img{width:100%;aspect-ratio:3/2;object-fit:cover;border:1px solid var(--line);border-radius:var(--radius);transition:border-color var(--dur) var(--ease)}
.ed-tease .ed-kicker{margin-bottom:.6em}
.ed-tease h3{margin:0 0 .5em;font-family:var(--serif);font-weight:400;font-size:1.4rem;line-height:1.25}
.ed-tease h3 a{color:var(--ink);text-decoration:none}
.ed-tease p{font-size:.98rem;color:var(--ink-2)}
.ed-tease .ed-more{margin-top:auto;margin-bottom:0}
.ed-more a{font-weight:600}
.ed-more a::after{content:" \2192"}

/* ---------- home: decision order ---------- */
.order{border-bottom:1px solid var(--line)}

/* ---------- home: range strip (after the editorial substance) ---------- */
.range-strip{padding:var(--section) 0;background:var(--panel);border-bottom:1px solid var(--line)}
.range-strip p{max-width:var(--measure);color:var(--ink-2)}
.range-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(var(--u) * 2);margin:calc(var(--u) * 3) 0}
@media (min-width:760px){.range-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.range-thumb{display:flex;flex-direction:column;gap:2px;padding-bottom:14px;overflow:hidden;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);text-decoration:none}
.range-thumb img{width:100%;aspect-ratio:4/3;object-fit:contain;margin-bottom:10px;background:#fff;border-bottom:1px solid var(--line)}
.range-thumb-t{padding:0 14px;font-family:var(--serif);font-size:1.12rem}
.range-thumb-d{padding:0 14px;font-size:.88rem;color:var(--muted)}

/* ---------- home: OEM band ---------- */
.oem-band{padding:var(--section) 0;border-bottom:1px solid var(--line)}
.oem-band-in{display:grid;grid-template-columns:minmax(0,1fr);gap:0 calc(var(--u) * 6)}
.oem-band-in p{max-width:var(--measure);color:var(--ink-2)}
@media (min-width:860px){
  .oem-band-in{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}
  .oem-band-in h2{grid-row:1 / span 2}
}

/* ---------- guides ---------- */
.guides{padding:var(--section) 0}
.guides p{max-width:var(--measure);color:var(--ink-2)}
.guides-list{list-style:none;max-width:880px;margin:calc(var(--u) * 3) 0 0;padding:0;border-top:1px solid var(--ink)}
.guides-list li{display:grid;gap:4px;margin:0;padding:calc(var(--u) * 2.5) 0;border-bottom:1px solid var(--line)}
.guides-list a{font-family:var(--serif);font-size:1.3rem;line-height:1.3;color:var(--ink);text-decoration:none}
.guides-list span{font-size:.95rem;color:var(--muted)}
.guides-list--index{margin-top:var(--section);margin-bottom:var(--section)}
.guides-item time{font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.guides-item h2{margin:0;font-size:1.5rem}
.guides-item h2 a{font-size:inherit}
.guides-item p{margin:0;color:var(--ink-2)}

/* ---------- projects guide steps ---------- */
.steps{list-style:none;counter-reset:step;margin:calc(var(--u) * 4) 0;padding:0;border-top:1px solid var(--ink)}
.steps-item{counter-increment:step;position:relative;margin:0;padding:calc(var(--u) * 3) 0 calc(var(--u) * 3) 3.4em;border-bottom:1px solid var(--line)}
.steps-item::before{content:counter(step,decimal-leading-zero);position:absolute;left:0;top:calc(var(--u) * 3 + .4em);font-family:var(--mono);font-size:.85rem;color:var(--edit)}
.steps-item h2{margin:0 0 .4em;font-size:1.4rem}
.steps-dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 16px;margin:0;font-size:.95rem}
.steps-dl dt{padding-top:.25em;font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.steps-dl dd{margin:0;color:var(--ink-2)}

/* ---------- about fact sheet ---------- */
.facts{display:grid;grid-template-columns:minmax(0,1fr);margin:calc(var(--u) * 2) 0;border-top:1px solid var(--ink)}
.facts dt{padding-top:12px;font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.facts dd{margin:0;padding:2px 0 12px;border-bottom:1px solid var(--line)}
@media (min-width:700px){
  .facts{grid-template-columns:180px minmax(0,1fr)}
  .facts dt{padding:12px 16px 12px 0;border-bottom:1px solid var(--line)}
  .facts dd{padding:12px 0}
}

/* ---------- enquiry form ---------- */
.enq{display:grid;gap:18px;max-width:640px;margin:calc(var(--u) * 2) 0;padding:calc(var(--u) * 4);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}
.enq-row{display:grid;gap:6px}
.enq label{font-size:.92rem;font-weight:600}
.enq-opt{font-weight:400;color:var(--muted)}
.enq input,.enq select,.enq textarea{width:100%;min-height:44px;padding:11px 12px;font:inherit;font-size:1rem;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);transition:border-color var(--dur) var(--ease)}
.enq textarea{min-height:150px;resize:vertical}
.enq input:focus-visible,.enq select:focus-visible,.enq textarea:focus-visible{outline:2px solid var(--edit);outline-offset:1px;border-color:var(--edit)}
.enq .btn{justify-self:start}
.enq-note{margin:0;font-size:var(--fs-small);color:var(--muted)}
.enq-hp{display:none}

/* ---------- full range index ---------- */
.fr-intro{padding-top:calc(var(--u) * 5)}
.fr-intro p{max-width:var(--measure);color:var(--ink-2)}
.fr-body{padding-bottom:var(--section)}
.fr-group{margin-top:calc(var(--u) * 6)}
.fr-group > h2{padding-bottom:10px;border-bottom:1px solid var(--ink)}
.fr-group > p{max-width:var(--measure);color:var(--ink-2)}
.fr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:calc(var(--u) * 2.5);margin-top:calc(var(--u) * 3)}
.fr-card{display:flex;flex-direction:column;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);transition:border-color var(--dur) var(--ease)}
.fr-media{aspect-ratio:4/3;background:#fff;border-bottom:1px solid var(--line)}
.fr-media img{width:100%;height:100%;object-fit:contain}
.fr-noimg{display:flex;align-items:center;justify-content:center;height:100%;padding:16px;background:var(--panel-2);font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;text-align:center;color:var(--muted)}
.fr-card h3{margin:16px 18px .35em;font-family:var(--serif);font-weight:400;font-size:1.15rem}
.fr-card p{margin:0 18px .9em;font-size:.93rem;color:var(--ink-2)}
.fr-card .fr-cta{margin-top:auto;padding-bottom:16px}
.fr-cta a{display:inline-block;font-weight:600}

/* ---------- blog post ---------- */
.ed-post{padding-bottom:calc(var(--u) * 2)}
.ed-post-body{padding-top:calc(var(--u) * 5);padding-bottom:calc(var(--u) * 3)}
.ed-post-body > *{max-width:var(--measure)}
.ed-post-body h2{margin-top:1.8em;padding-top:.6em;border-top:1px solid var(--line)}
.ed-post-body h3{margin-top:1.4em}
.ed-post-body blockquote{margin:1.8em 0;padding:4px 0 4px 20px;border-left:3px solid var(--edit);font-family:var(--serif);font-size:1.25rem;line-height:1.45;color:var(--ink)}
.ed-post-body blockquote p:last-child{margin:0}
.ed-post-body table{width:100%;margin:1.6em 0;border-collapse:collapse;font-size:.95rem;background:var(--panel);border:1px solid var(--line)}
.ed-post-body th,.ed-post-body td{padding:10px 14px;border-bottom:1px solid var(--line-2);text-align:left;vertical-align:top}
.ed-post-body th{background:var(--panel-2)}
@media (max-width:640px){.ed-post-body table{display:block;overflow-x:auto}}
.ed-related{padding-bottom:var(--section)}
.ed-related h2{max-width:var(--measure);padding-top:.8em;border-top:2px solid var(--ink);font-size:1.3rem}
.ed-related ul{list-style:none;max-width:var(--measure);margin:0;padding:0}
.ed-related li{margin:0;padding:9px 0;border-bottom:1px solid var(--line-2)}

/* ---------- utility pages ---------- */
.ed-plain{min-height:50vh;padding-top:var(--section);padding-bottom:var(--section)}
.ed-plain h1{max-width:20ch}
.ed-plain p{max-width:var(--measure)}

/* ---------- closing band ---------- */
.closing{padding:var(--section) 0;background:var(--night);color:var(--night-ink)}
.closing h2{max-width:24ch;font-size:clamp(1.6rem,3vw,2.3rem);color:#fff}
.closing p{max-width:var(--measure);color:var(--night-muted)}
.closing a:not(.btn){color:var(--night-edit)}
.closing-in > :last-child{margin-bottom:0}
.closing-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:calc(var(--u) * 3)}

/* ---------- colophon (footer) ---------- */
.colophon{padding:calc(var(--u) * 7) 0 calc(var(--u) * 4);background:var(--night);color:var(--night-muted);border-top:1px solid var(--night-line);font-size:.92rem}
.colophon-in{display:grid;grid-template-columns:minmax(0,1fr);gap:calc(var(--u) * 4)}
@media (min-width:860px){.colophon-in{grid-template-columns:1.3fr 1fr 1.2fr}}
.colophon p{margin:0 0 .5em}
.colophon-brand,.colophon-lines{min-width:0}
.colophon-name{font-family:var(--serif);font-size:1.35rem;color:#fff}
.colophon a{color:var(--night-ink);text-decoration:none}
.colophon-nav ul{list-style:none;margin:0;padding:0;columns:2;column-gap:24px}
.colophon-nav li{margin:0 0 .45em}
.colophon-small{grid-column:1 / -1;margin-top:calc(var(--u) * 2);padding-top:calc(var(--u) * 2.5);border-top:1px solid var(--night-line);font-size:.82rem}

/* ---------- hover (pointer devices only) ---------- */
@media (hover:hover){
  a:hover{color:var(--edit)}
  .btn-solid:hover{background:var(--edit-d);border-color:var(--edit-d);color:#fff}
  .btn-line:hover{background:var(--night-ink);border-color:var(--night-ink);color:var(--night)}
  .masthead-brand:hover{color:var(--ink)}
  .masthead-nav a:hover{color:var(--ink);border-bottom-color:var(--line)}
  .masthead-nav a[aria-current="page"]:hover{border-bottom-color:var(--edit)}
  .toc-list a:hover{color:var(--edit-d)}
  .ed-tease-media:hover img{border-color:var(--ink-2)}
  .ed-tease h3 a:hover{color:var(--edit-d)}
  .range-thumb:hover{border-color:var(--ink-2);color:var(--ink)}
  .fr-card:hover{border-color:var(--ink-2)}
  .guides-list a:hover{color:var(--edit-d)}
  .closing a:not(.btn):hover{color:#fff}
  .colophon a:hover{color:#fff;text-decoration:underline}
}

/* ---------- press feedback ---------- */
.btn:active,.range-thumb:active,.masthead-nav a:active,.toc-list a:active,.fr-cta a:active,.ed-route-links a:active{transform:scale(.97)}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none !important;animation:none !important}
  .btn:active,.range-thumb:active,.masthead-nav a:active,.toc-list a:active,.fr-cta a:active,.ed-route-links a:active{transform:none}
}

/* ---------- print ---------- */
@media print{
  .masthead-nav,.toc,.closing,.colophon-nav,.skip{display:none}
  body{background:#fff}
  a{color:inherit}
}
