/* Encino Velodrome — site stylesheet.
   Paper and concrete; the three painted lines of the track (black measuring line,
   red sprinters' line, blue stayers' line) are the structure, not decoration.
   Anton only where the club's own banners used it, Newsreader for the story,
   Archivo for the body, Plex Mono for times, tables and anything counted. */
:root{
  color-scheme:light;
  --paper:#f5f3ee;--paper-2:#ecebe5;--concrete:#d8d5ce;--concrete-2:#cbc8c0;
  --ink:#15171a;--muted:#5f6266;--rule:#b9b6ae;--rule-2:#d3d0c8;
  --black:#111111;--red:#c8102e;--red-2:#a30d25;--blue:#1f4fa3;--azur:#bcd7ee;--azur-ink:#173b66;
  --ok:#1e7b4a;--warn:#b45309;
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"Archivo","Helvetica Neue",Arial,sans-serif;
  --mono:"IBM Plex Mono","Courier New",monospace;
  --banner:"Anton","Arial Narrow",Impact,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 var(--sans);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:var(--red)}
a:hover{color:var(--red)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--paper);padding:8px 12px;z-index:100}
.skip:focus{left:8px}
.wrap{max-width:1180px;margin:0 auto;padding-inline:20px}
main{display:block}
main>.wrap{padding-block:36px 8px}
.muted{color:var(--muted)}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.serif{font-family:var(--serif)}
h1,h2,h3,h4{margin:0;text-wrap:balance}
p{margin:0 0 14px}
.body,.prose{max-width:66ch}
.prose p{margin-bottom:16px}
.prose{font-family:var(--serif);font-size:18px;line-height:1.55}
.prose p{max-width:66ch}
.lede{font-family:var(--serif);font-size:20px;line-height:1.4;max-width:62ch;margin:12px 0 10px}
.lede b{font-weight:600}
.hint{font-size:13px;color:var(--muted)}
hr{border:0;border-top:1px solid var(--rule);margin:26px 0}

/* the three painted lines */
.lines{display:grid;gap:5px;padding:0}
.lines i{display:block;height:3px}
.lines .b{background:var(--black)} .lines .r{background:var(--red)} .lines .u{background:var(--blue)}
.linenote{font-family:var(--mono);font-size:12px;color:var(--muted);letter-spacing:.04em;margin-top:8px}

/* masthead */
.mast{display:grid;grid-template-columns:1fr auto;align-items:end;gap:14px 24px;padding-block:18px 0}
.mast .logo{display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit}
.mast .logo:hover{color:inherit}
.mast .logo img{width:78px;height:auto;flex:none}
.mast .name{font-family:var(--banner);font-size:30px;line-height:1;letter-spacing:.02em;text-transform:uppercase}
.mast .name small{display:block;font-family:var(--serif);font-style:italic;font-weight:400;font-size:17px;letter-spacing:0;text-transform:none;color:var(--muted);margin-top:4px;text-wrap:balance}
.mast .now{font-family:var(--mono);font-size:13px;text-align:right;color:var(--muted);line-height:1.45;font-variant-numeric:tabular-nums}
.mast .now b{color:var(--ink);font-weight:500}
.mast nav{grid-column:1 / -1;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:8px 0;margin-top:4px;display:flex;flex-wrap:wrap;gap:2px 22px;font-size:15px}
.mast nav a{text-decoration:none;padding:6px 0;border-bottom:2px solid transparent}
.mast nav a:hover,.mast nav a:focus-visible{border-color:var(--red);color:inherit;outline:none}
.mast nav a[aria-current="page"]{border-color:var(--black);font-weight:500}
.mast nav a.cta{color:var(--red);font-weight:700}
@media (max-width:560px){.mast .now{display:none}.mast .logo img{width:56px}.mast .name{font-size:24px}.mast .name small{font-size:15px}.mast nav{gap:0 14px;font-size:14px}}

/* hero (home) */
.hero{position:relative;background:#1a1c1f;color:#fff;min-height:440px;display:flex;align-items:flex-end;overflow:hidden}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 40%}
.hero .in{position:relative;width:100%;padding-block:40px 26px;background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.58) 100%)}
.hero .slogan{font-family:var(--banner);font-size:clamp(34px,6.4vw,84px);line-height:.95;letter-spacing:.01em;text-transform:uppercase;max-width:14ch;text-shadow:0 2px 24px rgba(0,0,0,.55);margin:0}
.hero .under{display:flex;flex-wrap:wrap;gap:8px 26px;align-items:baseline;margin-top:18px;font-size:15px}
.hero .under .serif{font-size:19px;font-style:italic}
.hero .under .mono{font-size:14px}
.hero .credit{position:absolute;right:20px;top:14px}
.hero a{color:#fff}
@media (max-width:560px){.hero{min-height:360px}}
.credit{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.credit.pending{color:var(--warn)}
.hero .credit,.hero .credit.pending{color:#fff;background:rgba(0,0,0,.45);padding:4px 8px}

/* page and section heads */
.eyebrow{font-family:var(--sans);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 10px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.eyebrow::before{content:"";display:inline-block;width:26px;height:3px;background:var(--red);flex:none}
.eyebrow.b::before{background:var(--black)} .eyebrow.u::before{background:var(--blue)} .eyebrow.j::before{background:var(--azur-ink)}
.eyebrow a{text-decoration:none}
.h{font-family:var(--serif);font-weight:600;font-size:clamp(30px,4vw,46px);line-height:1.06;letter-spacing:-.01em}
h2.h{font-size:clamp(26px,3.2vw,36px)}
h3.h{font-size:clamp(21px,2.4vw,26px)}
.sec{margin-top:44px}
.sec:first-child{margin-top:0}
h3.sub{font-family:var(--sans);font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;margin:32px 0 10px;padding-top:10px;border-top:1px solid var(--rule)}
h3.sub:first-of-type{margin-top:26px}
.display{font-family:var(--banner);font-weight:400;text-transform:uppercase;letter-spacing:.01em;line-height:.95;text-wrap:balance}
h1.display{font-size:clamp(30px,5vw,54px);margin:6px 0 14px}
.pop{color:var(--red)}
.cta{display:inline-block;margin-top:10px;font-weight:700;text-decoration:none;border-bottom:2px solid var(--red);padding-bottom:1px}
.cta:hover{color:var(--red)}
.ctarow{display:flex;flex-wrap:wrap;gap:6px 28px;margin-top:6px}
.btnrow{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.btn{display:inline-block;padding:11px 18px;font-weight:600;text-decoration:none;border:1px solid var(--ink);background:var(--ink);color:var(--paper);font-size:14.5px;cursor:pointer;font-family:var(--sans);line-height:1.2}
.btn:hover{background:var(--red);border-color:var(--red);color:#fff}
.btn.red{background:var(--red);border-color:var(--red);color:#fff}
.btn.red:hover{background:var(--red-2);border-color:var(--red-2)}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.btn.sm{padding:7px 12px;font-size:13px}
.btn.danger{background:transparent;color:var(--red);border-color:var(--red)}
.btn.danger:hover{background:var(--red);color:#fff}
.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
form.inline{display:inline}

/* concrete bands and asides */
.concrete{background:var(--concrete);padding-block:30px 34px;margin-top:40px}
.concrete .wrap{padding-block:0}
.concrete.flush{margin-top:0}
.aside{border-top:3px solid var(--black);padding:16px 0 4px;margin:28px 0;max-width:70ch}
.aside.red{border-color:var(--red)} .aside.blue{border-color:var(--blue)}
.aside h3{font-family:var(--serif);font-weight:600;font-size:22px;margin:0 0 8px}
.aside p{max-width:66ch;font-size:15.5px}
.aside p:last-child{margin:0}
.notice{border-left:3px solid var(--blue);background:var(--paper-2);padding:12px 16px;margin:16px 0;max-width:70ch;font-size:15px}
.notice.ok{border-left-color:var(--ok)}.notice.warn{border-left-color:var(--warn)}.notice.err{border-left-color:var(--red)}
.notice p:last-child{margin:0}
.pill{display:inline-block;font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border:1px solid var(--rule);color:var(--muted);white-space:nowrap;vertical-align:middle}
.pill.red{border-color:var(--red);color:var(--red)}.pill.blue{border-color:var(--blue);color:var(--blue)}
.pill.ok{border-color:var(--ok);color:var(--ok)}.pill.warn{border-color:var(--warn);color:var(--warn)}

/* lists */
ul.clean{margin:8px 0 0;padding-left:20px;max-width:68ch}
ul.clean li{margin:7px 0}ul.clean li::marker{color:var(--red)}
ol.steps{counter-reset:s;list-style:none;padding:0;margin:14px 0 0;max-width:68ch}
ol.steps li{position:relative;padding:0 0 14px 44px}
ol.steps li::before{counter-increment:s;content:counter(s);position:absolute;left:0;top:-2px;font-family:var(--serif);font-weight:600;font-size:26px;color:var(--red);line-height:1}
.people{display:grid;gap:0 28px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));margin-top:10px;max-width:900px}
.people div{padding:9px 0;border-bottom:1px solid var(--rule)}
.people b{display:block}.people span{color:var(--muted);font-size:13.5px}
.timeline{list-style:none;padding:0;margin:18px 0;max-width:620px}
.timeline li{display:grid;grid-template-columns:84px 1fr;gap:14px;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--rule-2)}
.timeline .y{font-family:var(--mono);font-weight:500;font-size:15px}

/* tariff: prices as a printed list, not cards */
dl.tariff{margin:12px 0 0;display:grid;grid-template-columns:1fr auto;gap:0 20px;font-size:16px;max-width:640px}
dl.tariff dt,dl.tariff dd{margin:0;padding:11px 0;border-bottom:1px solid var(--rule)}
dl.tariff dt{padding-right:12px}
dl.tariff dt small{display:block;color:var(--muted);font-size:13.5px}
dl.tariff dd{font-family:var(--mono);text-align:right;font-weight:500;white-space:nowrap;font-variant-numeric:tabular-nums}
dl.tariff dt:last-of-type,dl.tariff dd:last-of-type{border-bottom:0}
dl.tariff.wide{max-width:none}
.tariff-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:28px;align-items:start}
.tariff-row h2{font-family:var(--serif);font-weight:600;font-size:30px;line-height:1.1}
.tariff-row p{max-width:48ch;font-size:15.5px;margin:10px 0 0}
@media (max-width:760px){.tariff-row{grid-template-columns:1fr}}

/* timetable */
.week-h{font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;display:flex;flex-wrap:wrap;gap:8px 22px;align-items:baseline;margin:0}
.week-h span{font-weight:400;letter-spacing:0;text-transform:none;color:var(--muted);font-size:14px}
.week{display:grid;grid-template-columns:repeat(6,1fr);gap:0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin-top:14px}
.week.w7{grid-template-columns:repeat(7,1fr)}
.day{padding:14px 12px 16px;border-right:1px solid var(--rule);min-height:140px;min-width:0}
.day:last-child{border-right:0}
.day h3{font-size:13px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;margin-bottom:10px}
.day h3 em{font-style:normal;color:var(--muted);font-weight:400;margin-left:6px}
.day .none{font-size:13px;color:var(--muted)}
.s{position:relative;padding-left:12px;margin-bottom:12px}
.s::before{content:"";position:absolute;left:0;top:3px;bottom:3px;width:3px;background:var(--black)}
.s.open::before{background:var(--blue)} .s.race::before{background:var(--red)} .s.jr::before{background:var(--azur-ink)}
.s .t{font-size:14px;line-height:1.3;font-weight:500}
.s .m{font-size:12.5px;color:var(--muted);margin-top:2px}
.s .m.mono{font-size:12.5px}
.s .t a{text-decoration:none}
.key{display:flex;flex-wrap:wrap;gap:6px 22px;margin-top:12px;font-size:12.5px;color:var(--muted)}
.key i{display:inline-block;width:14px;height:3px;vertical-align:middle;margin-right:7px;background:var(--black)}
.key .open i{background:var(--blue)} .key .race i{background:var(--red)} .key .jr i{background:var(--azur-ink)}
@media (max-width:980px){.week,.week.w7{grid-template-columns:repeat(3,1fr)}.day:nth-child(3n){border-right:0}.day{border-bottom:1px solid var(--rule)}}
@media (max-width:560px){.week,.week.w7{grid-template-columns:1fr 1fr}.day:nth-child(3n){border-right:1px solid var(--rule)}.day:nth-child(2n){border-right:0}.day{min-height:0}}

/* programme: dated events as rows */
.programme{list-style:none;margin:14px 0 0;padding:0;border-top:1px solid var(--rule);max-width:900px}
.programme li{display:grid;grid-template-columns:84px 1fr auto;gap:8px 18px;padding:14px 0;border-bottom:1px solid var(--rule);align-items:start}
.programme .when{font-family:var(--mono);font-size:13px;line-height:1.35;font-variant-numeric:tabular-nums}
.programme .when b{display:block;font-family:var(--serif);font-weight:600;font-size:26px;line-height:1;margin-bottom:3px}
.programme .when.race b{color:var(--red)} .programme .when.junior b{color:var(--azur-ink)} .programme .when.training b{color:var(--blue)}
.programme h3{font-size:17px;font-weight:600;margin:0 0 3px;line-height:1.25}
.programme h3 a{text-decoration:none}
.programme p{margin:0;color:var(--muted);font-size:14.5px;max-width:60ch}
.programme .meta{font-family:var(--mono);font-size:12.5px;margin-top:5px;color:var(--ink)}
.programme .act a{font-size:14px;white-space:nowrap}
@media (max-width:560px){.programme li{grid-template-columns:70px 1fr}.programme .act{grid-column:2}}

/* editorial two-column body */
.cols{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:48px;padding-block:8px 0}
.cols>aside{min-width:0}
@media (max-width:980px){.cols{grid-template-columns:1fr;gap:34px}}
.grid{display:grid;gap:22px 32px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-top:20px}
.grid.g2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.card,.panel{padding:14px 0 0;border-top:3px solid var(--black)}
.card[data-line="red"],.panel[data-line="red"]{border-color:var(--red)}
.card[data-line="blue"],.panel[data-line="blue"]{border-color:var(--blue)}
.card h3,.panel h3{margin:0 0 6px;font-family:var(--serif);font-weight:600;font-size:21px}
.card p,.panel p{color:var(--muted);font-size:15px;margin:0 0 8px}
.card p:last-child,.panel p:last-child{margin-bottom:0}
.card .k,.panel .k{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.card .big{font-family:var(--mono);font-size:30px;line-height:1;color:var(--ink);margin:2px 0 8px}

/* figures */
figure{margin:0}
.fig img,.histpic img{display:block;width:100%;height:auto}
.fig figcaption,.histpic figcaption{font-family:var(--serif);font-style:italic;font-size:14.5px;color:var(--muted);margin-top:8px}
.histpic{margin:0}
.histpic.vid video{display:block;width:100%;aspect-ratio:16/9;background:#000}
.wideshot{margin:20px 0 0}
.wideshot img{display:block;width:100%;height:auto}
.wideshot figcaption{font-family:var(--serif);font-style:italic;font-size:14.5px;color:var(--muted);margin-top:8px}
.gal{display:grid;gap:22px 18px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));margin-top:18px}
.gal figure{margin:0}
.gal img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}
.gal figcaption{font-size:13.5px;color:var(--muted);margin-top:7px;line-height:1.4}
.gal figcaption .credit,.wideshot figcaption .credit,.vid figcaption .credit{display:block;margin-top:4px}
.vids{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-top:18px;align-items:start}
.vid{margin:0}
.vid video{display:block;width:100%;background:#000;aspect-ratio:16/9}
.vid.tall video{aspect-ratio:9/16;max-height:560px}
.vid figcaption{font-size:14px;margin-top:8px}
.embed{border:1px solid var(--rule);background:var(--paper-2);margin:14px 0}
.embed iframe{display:block;border:0;width:100%}

/* tables and ledgers */
.tablewrap{overflow-x:auto;margin:14px 0 18px;border-top:1px solid var(--rule)}
table{border-collapse:collapse;width:100%;font-size:14.5px}
th{font-family:var(--sans);font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;text-align:left;color:var(--muted);padding:9px 10px 8px 0;border-bottom:1px solid var(--rule);white-space:nowrap}
td{padding:8px 10px 8px 0;border-bottom:1px solid var(--rule-2);vertical-align:top}
td.n,th.n{text-align:right;font-family:var(--mono);font-size:13.5px;white-space:nowrap;font-variant-numeric:tabular-nums}
td.t{font-family:var(--mono);white-space:nowrap;font-size:13.5px}
td a{text-decoration:none}
td a:hover{text-decoration:underline}
table.compact td,table.compact th{padding:6px 10px 6px 0}
tr.hl td{background:var(--paper-2)}
.ledger{position:relative;overflow:hidden;background:var(--paper-2);border:1px solid var(--rule);padding:4px 18px 8px}
.ledger .scan{position:absolute;right:-40px;top:-10px;width:300px;opacity:.14;transform:rotate(2deg);pointer-events:none;filter:grayscale(1)}
.ledger table{position:relative}

/* results */
.search{display:flex;gap:8px;max-width:520px;margin:18px 0 6px}
.search input{flex:1;font:inherit;padding:10px 12px;border:1px solid var(--ink);background:#fff;color:var(--ink);min-width:0}
.yearnav{display:flex;gap:4px 6px;flex-wrap:wrap;margin:14px 0 4px}
.yearnav a{font-family:var(--mono);font-size:13px;text-decoration:none;color:var(--ink);border:1px solid var(--rule);padding:5px 11px;background:transparent}
.yearnav a:hover{border-color:var(--ink);color:inherit}
.yearnav a[aria-current]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.racelist{list-style:none;padding:0;margin:12px 0 0;border-top:1px solid var(--rule);max-width:900px}
.racelist li{padding:12px 0;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;gap:8px 18px;flex-wrap:wrap;align-items:baseline}
.racelist a{font-family:var(--serif);font-weight:600;text-decoration:none;font-size:19px}
.racelist a:hover{color:var(--red)}
.racelist .meta{font-family:var(--mono);font-size:12.5px;color:var(--muted)}
.evnav{display:flex;gap:4px 6px;flex-wrap:wrap;margin:14px 0 4px}
.evnav a{font-size:13px;text-decoration:none;color:var(--ink);border:1px solid var(--rule);padding:4px 9px;background:transparent}
.evnav a:hover{border-color:var(--ink);color:inherit}
.recgrid{display:grid;gap:26px 32px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:20px}
.rec{border-top:3px solid var(--black)}
.rec h3{margin:0;padding:10px 0 4px;font-family:var(--sans);font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;display:flex;justify-content:space-between;gap:12px}
.rec h3 span+span{color:var(--muted);font-weight:500}
.rec .r{padding:9px 0;border-top:1px solid var(--rule-2);display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:baseline}
.rec .rank{font-family:var(--serif);font-weight:600;font-size:19px;color:var(--red)}
.rec .who{font-weight:500}.rec .who small{display:block;font-weight:400;color:var(--muted);font-size:12.5px}
.rec .tm{font-family:var(--mono);font-weight:500;font-size:15px;font-variant-numeric:tabular-nums}

/* forms */
form.f{max-width:620px}
.f label{display:block;font-weight:600;font-size:14px;margin:14px 0 5px}
.f label small{font-weight:400;color:var(--muted)}
.f input,.f select,.f textarea,.search input{width:100%;font:inherit;padding:10px 12px;border:1px solid var(--ink);background:#fff;color:var(--ink);border-radius:0}
.f textarea{min-height:120px}
.f .row{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.f .hint{font-size:13px;color:var(--muted);margin:5px 0 0}
.f button{margin-top:18px}
.f .hp{position:absolute;left:-9999px;top:-9999px}
.f .inline-form{display:flex;gap:10px;flex-wrap:wrap;align-items:end}

/* glossary */
dl.gloss{margin:14px 0 0;max-width:72ch}
dl.gloss .g{border-top:1px solid var(--rule-2);padding:12px 0}
dl.gloss dt{font-family:var(--serif);font-weight:600;font-size:19px;margin:0 0 4px}
dl.gloss dt .anchor{color:var(--rule);text-decoration:none;font-weight:400;margin-left:6px;font-family:var(--sans);font-size:14px}
dl.gloss .g:hover dt .anchor,dl.gloss .g:target dt .anchor{color:var(--red)}
dl.gloss .g:target{background:var(--paper-2);margin-inline:-12px;padding-inline:12px}
dl.gloss dd{margin:0;color:var(--muted);font-size:15.5px;line-height:1.55}
.sec-note{font-family:var(--serif);font-size:17px;color:var(--muted);max-width:64ch}

/* benefits */
.slogans{display:flex;flex-wrap:wrap;gap:8px 20px;margin:20px 0 6px}
.slogans span{font-family:var(--banner);text-transform:uppercase;letter-spacing:.02em;font-size:17px;color:var(--ink)}
.slogans span::before{content:"";display:inline-block;width:14px;height:3px;background:var(--red);vertical-align:middle;margin-right:10px}
.benefit{margin-top:36px;max-width:70ch}
.benefit .k{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--red)}
.benefit h2{font-family:var(--serif);font-weight:600;font-size:clamp(23px,3vw,30px);margin:4px 0 8px}
.suits{list-style:none;padding:0;margin:12px 0 0;max-width:70ch}
.suits li{padding:10px 0;border-bottom:1px solid var(--rule-2)}
.suits b{font-family:var(--serif);font-weight:600;font-size:18px;display:block}
.suits span{color:var(--muted);font-size:15px}

/* the gazette (blog) */
.gazette-h{font-family:var(--banner);font-size:22px;letter-spacing:.03em;text-transform:uppercase;line-height:1;margin:0}
.gazette-h small{display:block;font-family:var(--serif);font-style:italic;font-weight:400;font-size:15px;text-transform:none;letter-spacing:0;color:var(--muted);margin-top:4px}
.gazette{border-top:3px solid var(--black);padding-top:14px}
h1.gazette-h{font-size:clamp(34px,5vw,56px)}
h1.gazette-h small{font-size:18px;margin-top:8px;max-width:60ch}
.post h2 a:hover,.post h3 a:hover{color:var(--red)}
.postlist{margin-top:14px;border-top:1px solid var(--rule);max-width:820px}
.post{padding:16px 0;border-bottom:1px solid var(--rule);display:grid;gap:4px 22px;grid-template-columns:1fr}
.post.withcover{grid-template-columns:150px 1fr}
.post .cov img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}
.post .d{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.post h2,.post h3{font-family:var(--serif);font-weight:600;font-size:22px;line-height:1.2;margin:2px 0 6px}
.post h2 a,.post h3 a{text-decoration:none}
.post p{margin:0;font-size:15px;color:var(--muted);max-width:66ch}
.post a:hover h2,.post a:hover h3{color:var(--red)}
@media (max-width:560px){.post.withcover{grid-template-columns:1fr}}
.article .meta{font-family:var(--mono);font-size:13px;color:var(--muted);margin:0 0 18px}
.post-body{font-family:var(--serif);font-size:18.5px;line-height:1.6;max-width:66ch}
.post-body h2,.post-body h3,.post-body h4{font-family:var(--serif);font-weight:600;margin:30px 0 10px}
.post-body h2{font-size:28px}.post-body h3{font-size:23px}.post-body h4{font-size:19px}
.post-body blockquote{border-left:3px solid var(--red);margin:20px 0;padding:4px 18px;color:var(--muted);font-style:italic}
.post-body img{display:block;margin:14px 0}
.post-body ul,.post-body ol{padding-left:22px}.post-body li{margin:6px 0}
.post-body hr{border:0;border-top:1px solid var(--rule);margin:30px 0}
.post-body em:first-child{color:var(--muted)}

/* training: session by session */
.session{max-width:70ch;padding:12px 0;border-bottom:1px solid var(--rule-2)}
.session h4{font-family:var(--serif);font-weight:600;font-size:19px;margin:0 0 2px}
.session .m{font-family:var(--mono);font-size:13px;color:var(--muted);margin:0 0 6px}
.session p{margin:0;font-size:15.5px}

/* gear chart */
.gear{margin:26px 0 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:12px 0}
.gear summary{cursor:pointer;font-size:15px}
.gearchart th.n{text-align:right}

/* footer */
footer.foot{margin-top:56px;padding-block:0 36px;font-size:14px;color:var(--muted)}
footer .cols4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:20px}
footer .cols4 b{display:block;color:var(--ink);font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}
footer a{text-decoration:none;display:block;padding:2px 0;color:var(--ink)}
footer a.i{display:inline}
footer .note{margin-top:22px;font-size:13px}
footer p{margin:0 0 6px}
@media (max-width:760px){footer .cols4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:420px){footer .cols4{grid-template-columns:1fr}}

/* admin (kept functional in the same materials) */
header.top{border-bottom:1px solid var(--rule);background:var(--paper-2)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:10px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.brand img{width:48px;height:auto}
.brand-text{display:flex;flex-direction:column;line-height:1.15}
.brand-name{font-family:var(--banner);font-size:18px;letter-spacing:.03em;text-transform:uppercase}
.brand-tag{font-size:12px;color:var(--muted)}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:2px 16px;flex-wrap:wrap}
.nav a{display:block;padding:8px 0;text-decoration:none;color:var(--ink);font-size:14.5px}
.navtoggle{display:none}
.trackline{display:grid;gap:5px}
.trackline span{display:block;height:3px}
.tl-black{background:var(--black)}.tl-red{background:var(--red)}.tl-blue{background:var(--blue)}
.admin{display:grid;grid-template-columns:220px 1fr;min-height:70vh}
.admin .side{background:var(--paper-2);border-right:1px solid var(--rule);padding:18px 14px}
.admin .side a{display:block;padding:8px 10px;text-decoration:none;color:var(--ink);font-size:14.5px;border-left:3px solid transparent}
.admin .side a[aria-current]{border-color:var(--red);font-weight:600;background:var(--paper)}
.admin .side .who{font-family:var(--mono);font-size:11px;color:var(--muted);padding:8px 10px 14px;word-break:break-all}
.admin .main{padding:26px 28px 40px;min-width:0}
.admin .panel{min-width:0;overflow:hidden}
.admin .panel>table{width:100%;table-layout:fixed}
.admin .panel>table td{overflow-wrap:anywhere}
.admin .panel>table td.t{white-space:normal}
.admin h1{font-size:clamp(28px,4vw,40px);margin:0 0 6px}
.stats{display:flex;gap:10px 28px;flex-wrap:wrap;margin:16px 0 22px}
.stat{border-top:3px solid var(--black);padding:10px 0 0;min-width:130px;flex:1 1 130px}
.stat .n{font-family:var(--mono);font-size:28px;line-height:1;color:var(--ink);display:block}
.stat .l{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);display:block;margin-top:6px}
.admin .tablewrap{border-top:0}
@media (max-width:760px){.admin{grid-template-columns:1fr}.admin .side{border-right:0;border-bottom:1px solid var(--rule);display:flex;flex-wrap:wrap;gap:2px}.admin .side .who{width:100%}}
@media print{.mast nav,.lines,footer.foot,.btnrow,.search,.hero{display:none}body{font-size:12px}}
@media (prefers-reduced-motion:no-preference){a,.btn{transition:color .15s,background-color .15s,border-color .15s}}
