/* caredoctor mockup - shared structure. All color/type/shape via CSS variables set in skin-*.css. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:clip}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;background-image:var(--grain);overflow-x:clip}
.container{max-width:var(--maxw,1200px);margin:0 auto;padding:0 clamp(1rem,4vw,2.25rem)}
a{color:var(--link);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%}
h1,h2,h3,h4{font-family:var(--font-display);color:var(--ink);line-height:1.15;font-weight:600;letter-spacing:-.01em}
.num,.tag,.factrow__v,.tr__v,.tr__ul{font-family:var(--font-mono);font-variant-numeric:tabular-nums slashed-zero}
.safety-ink{color:var(--safety)}

.skinflag{background:var(--ink);color:var(--bg);font-family:var(--font-mono);font-size:.72rem;text-align:center;padding:.35rem;letter-spacing:.03em}
.skinflag a{color:var(--accent);text-decoration:underline}

.eyebrow{font-family:var(--font-ui);font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-ink,var(--accent))}
.hero__specimen{display:none}
.mono-tag{font-family:var(--font-mono);font-size:.72rem;color:var(--muted);letter-spacing:.02em;margin:0 0 .5rem}
.mono-tag span{color:var(--hairline-strong,var(--hairline))}
.section-head{max-width:640px;margin-bottom:1.75rem}
.section-head h2{font-size:clamp(1.5rem,3vw,2rem);margin:.35rem 0 .5rem}
.section-head p{color:var(--muted);margin:0}
.section-num{font-family:var(--font-mono);font-size:.8rem;color:var(--accent);letter-spacing:.05em}

/* ---- masthead ---- */
.specbar{background:var(--specbar-bg,var(--surface-2));border-bottom:1px solid var(--hairline);font-family:var(--font-ui);font-size:.73rem}
.specbar__in{display:flex;align-items:center;gap:.6rem;padding-top:.5rem;padding-bottom:.5rem;color:var(--muted);letter-spacing:.02em}
.specbar .dot{color:var(--hairline-strong,var(--hairline))}
.specbar__rev{margin-left:auto;font-family:var(--font-mono);color:var(--faint,var(--muted))}
.masthead{position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid var(--hairline)}
.masthead__util{display:flex;align-items:center;gap:1.5rem;padding-top:1rem;padding-bottom:1rem}
.brand{display:flex;align-items:baseline;gap:.5rem;color:var(--ink)}
.brand:hover{text-decoration:none}
.brand__mark{display:inline-flex;align-items:center}
.brand__mark svg{width:27px;height:27px;display:block}
.colophon__brand .brand__mark svg{width:24px;height:24px}
.brand__wm{font-family:var(--font-display);font-size:1.3rem;font-weight:500;color:var(--ink)}
.brand__wm b{color:var(--brand);font-weight:600}
.brand__tag{font-family:var(--font-ui);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);align-self:center;border-left:1px solid var(--hairline);padding-left:.5rem}
.msearch{margin-left:auto;display:flex;align-items:center;background:var(--surface);border:1px solid var(--hairline-strong,var(--hairline));border-radius:var(--radius-sm);min-width:min(340px,42vw);overflow:hidden}
.msearch input{flex:1;border:0;background:transparent;padding:.55rem .8rem;font-family:var(--font-ui);font-size:.85rem;color:var(--ink)}
.msearch input:focus{outline:none}
.msearch button{border:0;background:var(--brand);color:var(--on-brand);padding:0 .8rem;align-self:stretch;cursor:pointer;display:grid;place-items:center}
.masthead__nav{border-top:1px solid var(--hairline)}
.nav-links{display:flex;align-items:center;gap:1.6rem;height:46px;font-family:var(--font-ui);font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.nav-links__a{color:var(--ink);padding:.2rem 0;border-bottom:2px solid transparent}
.nav-links__a:hover{color:var(--brand);text-decoration:none}
.nav-links__a.is-active{color:var(--brand);border-color:var(--accent)}
.nav-links__source{margin-left:auto;color:var(--muted);text-transform:none;letter-spacing:0;font-weight:500}
/* ---- hamburger + mobile drawer ---- */
.navburger{display:none;margin-left:auto;flex:0 0 auto;width:44px;height:44px;padding:0;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:var(--surface);border:1px solid var(--hairline-strong,var(--hairline));border-radius:var(--radius-sm);cursor:pointer}
.navburger span{display:block;width:20px;height:2px;border-radius:2px;background:var(--ink);transition:transform .25s ease,opacity .18s ease}
.navburger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.navburger[aria-expanded="true"] span:nth-child(2){opacity:0}
.navburger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobnav{position:fixed;inset:0;z-index:60;overflow:hidden;visibility:hidden}
.mobnav.is-open{visibility:visible}
.mobnav__scrim{position:absolute;inset:0;background:rgba(8,16,12,.5);opacity:0;transition:opacity .3s ease;cursor:pointer}
.mobnav.is-open .mobnav__scrim{opacity:1}
.mobnav__panel{position:absolute;top:0;right:0;bottom:0;width:min(86vw,340px);display:flex;flex-direction:column;background:var(--bg);border-left:1px solid var(--hairline);box-shadow:-14px 0 44px rgba(0,0,0,.22);transform:translateX(102%);transition:transform .32s cubic-bezier(.4,0,.2,1);padding:.9rem 1.15rem 1.6rem;overflow-y:auto;overscroll-behavior:contain}
.mobnav.is-open .mobnav__panel{transform:translateX(0)}
.mobnav__head{display:flex;align-items:center;justify-content:space-between;padding-bottom:1rem;margin-bottom:.4rem;border-bottom:1px solid var(--hairline)}
.mobnav__close{width:42px;height:42px;display:grid;place-items:center;background:transparent;border:0;border-radius:var(--radius-sm);color:var(--ink);cursor:pointer}
.mobnav__close:hover{background:var(--surface)}
.mobnav__search{margin:.2rem 0 .4rem;width:100%;min-width:0}
.mobnav__links{display:flex;flex-direction:column}
.mobnav__a{padding:.9rem .25rem;font-family:var(--font-ui);font-weight:700;font-size:1.02rem;letter-spacing:.01em;color:var(--ink);border-bottom:1px solid var(--hairline)}
.mobnav__a:hover,.mobnav__a.is-active{color:var(--brand);text-decoration:none}
.mobnav__source{display:block;margin-top:1rem;font-family:var(--font-ui);font-size:.92rem;font-weight:500;color:var(--muted)}
.mobnav__note{margin-top:auto;padding-top:1.4rem;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.02em;color:var(--faint,var(--muted))}
html.nav-lock{overflow:hidden}

/* ---- hero ---- */
.hero{padding:clamp(2.5rem,6vw,4.5rem) 0 clamp(1.5rem,4vw,2.5rem)}
.hero__grid{display:grid;grid-template-columns:1.35fr .95fr;gap:clamp(1.5rem,4vw,3rem);align-items:start}
.hero__title{font-size:clamp(2rem,4.6vw,3.4rem);margin:.6rem 0 1rem;line-height:1.08}
.hero__sub{font-size:1.08rem;color:var(--muted);max-width:36ch}
.hero__sub b{color:var(--ink);font-weight:600}
.hero__marks{display:flex;flex-wrap:wrap;gap:1.1rem;margin-top:1.4rem;font-family:var(--font-ui);font-size:.8rem;color:var(--muted)}
.hmark{color:var(--brand)}
.toolcard{background:var(--surface);border:1px solid var(--hairline-strong,var(--hairline));border-radius:var(--radius);padding:1.3rem;box-shadow:var(--shadow)}
.toolcard__head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--hairline);padding-bottom:.7rem;margin-bottom:.8rem}
.toolcard__k{font-family:var(--font-display);font-weight:600;font-size:1.15rem;color:var(--brand)}
.toolcard__badge{font-family:var(--font-mono);font-size:.65rem;background:var(--brand);color:var(--on-brand);padding:.15rem .45rem;border-radius:4px;letter-spacing:.05em}
.toolcard__lead{font-size:.9rem;color:var(--muted);margin:.2rem 0 .9rem}
.toolcard__row{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:.6rem}
.toolcard__row--full{grid-template-columns:1fr}
.toolcard label{display:flex;flex-direction:column;gap:.25rem;font-family:var(--font-ui);font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.toolcard select{font-family:var(--font-ui);font-size:.9rem;padding:.45rem .55rem;border:1px solid var(--hairline-strong,var(--hairline));border-radius:var(--radius-sm);background:var(--bg);color:var(--ink)}
.toolcard__result{margin-top:.9rem;border-top:1px solid var(--hairline);padding-top:.8rem;display:grid;gap:.55rem}
.tr{display:grid;grid-template-columns:1fr auto auto;gap:.5rem;align-items:baseline;font-size:.82rem}
.tr__n{font-family:var(--font-ui);font-weight:600}
.tr__v{color:var(--brand)}
.tr__ul{color:var(--safety)}
.tr__v i,.tr__ul i{font-style:normal;font-family:var(--font-ui);font-size:.62rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;display:block}
.toolcard__cta{display:inline-block;margin-top:1rem;font-family:var(--font-ui);font-weight:600;font-size:.85rem;color:var(--brand)}

/* ---- disclaimer band ---- */
.band{display:flex;gap:.85rem;align-items:flex-start;background:var(--band-bg,var(--surface));border:1px solid var(--hairline-strong,var(--hairline));border-left:3px solid var(--accent);border-radius:var(--radius-sm);padding:.95rem 1.1rem;margin:1.4rem 0}
.band__mark{color:var(--accent);font-size:1.1rem;line-height:1.3}
.band p{margin:0;font-size:.9rem;color:var(--muted)}
.band b{color:var(--ink)}

/* ---- A-Z ---- */
.az{padding:clamp(2rem,5vw,3.5rem) 0;border-top:1px solid var(--hairline)}
.az__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1px;background:var(--hairline);border:1px solid var(--hairline);border-radius:var(--radius-sm);overflow:hidden}
.az__item{display:flex;justify-content:space-between;align-items:center;background:var(--surface);padding:.8rem 1rem;color:var(--ink);border-left:3px solid transparent}
.az__item:hover{text-decoration:none;background:var(--bg);border-left-color:var(--accent)}
.az__item--vitamin{border-left-color:var(--brand)}
.az__item--mineral:hover,.az__item--other:hover{border-left-color:var(--accent)}
.az__n{font-family:var(--font-display);font-size:1.02rem;font-weight:500}
.az__go{color:var(--muted);font-family:var(--font-mono)}

/* ---- guides ---- */
.guides-sec{padding:clamp(2rem,5vw,3.5rem) 0;border-top:1px solid var(--hairline)}
.guides__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:1.1rem}
.gcard{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius);padding:1.2rem;color:var(--ink)}
.gcard:hover{text-decoration:none;border-color:var(--accent);box-shadow:var(--shadow)}
.gcard__eyebrow{font-family:var(--font-ui);font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink,var(--accent))}
.gcard__t{font-size:1.18rem;margin:.5rem 0 .4rem;line-height:1.2}
.gcard__d{font-family:var(--font-body);color:var(--muted);font-size:.92rem;margin:0 0 1rem;flex:1}
.gcard__meta{font-family:var(--font-ui);font-size:.72rem;color:var(--faint,var(--muted));border-top:1px solid var(--hairline);padding-top:.7rem}

/* ---- credibility strip ---- */
.cred{border-top:1px solid var(--hairline);background:var(--surface-2)}
.cred__in{display:flex;flex-wrap:wrap;gap:2rem;align-items:center;padding-top:2rem;padding-bottom:2rem}
.cred__item{display:flex;flex-direction:column}
.cred__big{font-family:var(--font-display);font-size:2.1rem;font-weight:600;color:var(--brand);line-height:1}
.cred__lab{font-family:var(--font-ui);font-size:.78rem;color:var(--muted);max-width:16ch}
.cred__ed{margin-left:auto;text-align:right;font-family:var(--font-ui);font-size:.8rem;color:var(--muted);display:flex;flex-direction:column}
.cred__ed b{color:var(--ink);font-size:.95rem}
.cred__eyebrow{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink,var(--accent))}

/* ---- colophon ---- */
.colophon{border-top:1px solid var(--hairline);background:var(--footer-bg,var(--surface-2));margin-top:2rem}
.colophon__in{display:grid;grid-template-columns:1.4fr 2fr;gap:2rem;padding-top:2.5rem;padding-bottom:1.5rem}
.colophon__mission{color:var(--muted);font-size:.9rem;max-width:34ch;margin:.7rem 0 .5rem}
.colophon__ed{color:var(--faint,var(--muted));font-size:.82rem;max-width:34ch}
.colophon__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.colophon__cols h4{font-family:var(--font-ui);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 .7rem}
.colophon__cols a{display:block;color:var(--ink);font-size:.88rem;padding:.2rem 0}
.colophon__fine{border-top:1px solid var(--hairline);padding-top:1.1rem;padding-bottom:2rem;font-size:.76rem;color:var(--faint,var(--muted));line-height:1.6}

/* ---- reference page ---- */
.crumb{display:flex;gap:.5rem;align-items:center;font-family:var(--font-ui);font-size:.76rem;color:var(--muted);padding:1.2rem 0 .3rem}
.crumb span[aria-current]{color:var(--ink)}
.article{display:grid;grid-template-columns:1fr 340px;gap:clamp(1.5rem,4vw,3rem);padding:1rem 0 2rem;align-items:start}
/* let grid items shrink below content min-width so wide children (tables) scroll instead of overflowing */
.article__main{min-width:0}
.rail{min-width:0}
.article__h1{font-size:clamp(1.9rem,4vw,2.9rem);margin:.4rem 0 .6rem;max-width:20ch}
.article__dek{font-size:1.15rem;color:var(--muted);max-width:60ch;margin:0 0 1rem;font-family:var(--font-body)}
.byline{display:flex;flex-wrap:wrap;gap:.5rem;font-family:var(--font-ui);font-size:.82rem;color:var(--muted);align-items:center}
.byline b{color:var(--ink)}
.byline__dot{color:var(--hairline-strong,var(--hairline))}
.shortans{background:var(--brand);color:var(--on-brand);border-radius:var(--radius);padding:1.1rem 1.3rem;margin:1.4rem 0}
.shortans__k{font-family:var(--font-ui);font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;opacity:.85}
.shortans p{margin:.35rem 0 0;font-size:1.02rem;line-height:1.55}
.sec{padding-top:1.8rem;margin-top:1.8rem;border-top:1px solid var(--hairline)}
.sec>h2{font-size:clamp(1.4rem,2.6vw,1.85rem);margin:.3rem 0 .8rem}
.sec h3{font-size:1.1rem;margin:1.4rem 0 .5rem}
.prose{max-width:68ch;color:var(--ink)}
.ul{max-width:66ch;padding-left:1.1rem;color:var(--ink)}
.ul li{margin:.4rem 0}
.ul--cols{columns:2;column-gap:2rem}
.dtable{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.92rem}
.dtable th{font-family:var(--font-ui);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:left;padding:.6rem .7rem;border-bottom:2px solid var(--ink)}
.dtable td{padding:.6rem .7rem;border-bottom:1px solid var(--hairline)}
.dtable td.num{text-align:left;color:var(--ink)}
.dtable td.tag{font-size:.72rem;color:var(--muted)}
.dtable tr:hover td{background:var(--surface)}
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1rem 0}
.tablewrap .dtable{margin:0}

.numberline{margin:1.6rem 0 .5rem;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius);padding:1.6rem 1.3rem 1.1rem}
.numberline figcaption{font-family:var(--font-ui);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:2rem}
.nl{position:relative;height:8px;border-radius:5px;background:var(--hairline);margin:0 0 2.4rem}
.nl__seg{position:absolute;top:0;bottom:0}
.nl__seg--ok{left:0;width:15%;background:var(--brand);border-radius:5px 0 0 5px}
.nl__seg--amber{left:15%;width:85%;background:linear-gradient(90deg,var(--rbar-fill,#e0c9a0),var(--accent))}
.nl__marker{position:absolute;top:-6px;transform:translateX(-50%);text-align:center}
.nl__marker::after{content:"";position:absolute;top:0;left:50%;width:2px;height:20px;background:var(--ink);transform:translateX(-50%)}
.nl__marker b{display:block;font-family:var(--font-mono);font-size:.8rem;position:absolute;top:22px;left:50%;transform:translateX(-50%);white-space:nowrap;color:var(--ink)}
.nl__marker span{display:block;font-family:var(--font-ui);font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);position:absolute;top:38px;left:50%;transform:translateX(-50%);white-space:nowrap}
.nl__marker--ul::after{background:var(--safety)}
.nl__marker--ul b{color:var(--safety)}
.numberline__note{font-size:.85rem;color:var(--muted);margin:.4rem 0 0}

.risk{margin-top:1rem;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-sm);padding:1rem 1.2rem}
.risk h3{margin:0 0 .5rem;font-size:1rem}
.caution{display:flex;gap:.8rem;background:var(--safety-bg,#fbeeea);border:1px solid var(--safety);border-radius:var(--radius-sm);padding:1rem 1.2rem;margin:.6rem 0}
.caution__mark{color:var(--safety);font-size:.9rem}
.caution p{margin:0;font-size:.94rem;color:var(--ink)}
.evgrid{display:grid;gap:.7rem;margin-top:1rem}
.ev{display:flex;gap:1rem;align-items:flex-start;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-sm);padding:.9rem 1.1rem}
.ev__lvl{font-family:var(--font-ui);font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.25rem .5rem;border-radius:4px;white-space:nowrap;margin-top:.15rem}
.ev__lvl--strong{background:var(--brand);color:var(--on-brand)}
.ev__lvl--moderate{background:var(--accent);color:#fff}
.ev__lvl--limited{background:var(--hairline);color:var(--muted)}
.ev b{font-size:.98rem}
.ev p{margin:.2rem 0 0;color:var(--muted);font-size:.9rem}

.sec--ledger .ledger{list-style:none;padding:0;margin:1rem 0;display:grid;gap:.6rem}
.src{display:flex;flex-wrap:wrap;gap:.5rem .8rem;align-items:flex-start;border-left:3px solid var(--link);padding:.7rem .9rem;background:var(--surface)}
.src>*{min-width:0}
.src__id{font-family:var(--font-mono);font-size:.72rem;color:var(--link);background:var(--bg);border:1px solid var(--hairline);padding:.15rem .4rem;border-radius:4px}
.src__pill{font-family:var(--font-ui);font-size:.6rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--brand);border:1px solid var(--brand);border-radius:20px;padding:.1rem .5rem;align-self:center}
.src__b{display:flex;flex-direction:column}
.src__b b{font-size:.9rem}
.src__b span{font-size:.84rem;color:var(--muted)}
.src__rev{font-family:var(--font-mono);font-size:.72rem;color:var(--faint,var(--muted));overflow-wrap:anywhere}
.src__b span,.prose a{overflow-wrap:anywhere}
.ledger__note{font-size:.84rem;color:var(--muted);margin-top:.8rem}

/* ---- rail ---- */
.rail{position:sticky;top:120px;display:grid;gap:1rem}
.factbox{background:var(--surface);border:1px solid var(--ink);border-radius:var(--radius-sm);overflow:hidden}
.factbox__top{background:var(--ink);color:var(--bg);font-family:var(--font-display);font-weight:600;font-size:1.15rem;padding:.6rem 1rem;border-bottom:4px solid var(--brand)}
.factbox__sub{padding:.6rem 1rem .4rem;font-family:var(--font-display);font-weight:600}
.factbox__sub span{font-family:var(--font-ui);font-weight:400;font-size:.72rem;color:var(--muted);display:block}
.lifestage{padding:.5rem 1rem;border-top:1px solid var(--hairline);border-bottom:2px solid var(--ink);display:flex;flex-direction:column;gap:.4rem}
.lifestage>span{font-family:var(--font-ui);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.lifestage__opts{display:flex;gap:.3rem;flex-wrap:wrap}
.lifestage__opts button{font-family:var(--font-ui);font-size:.74rem;font-weight:600;padding:.3rem .6rem;border:1px solid var(--hairline-strong,var(--hairline));background:var(--bg);color:var(--muted);border-radius:var(--radius-sm);cursor:pointer}
.lifestage__opts button.is-active{background:var(--brand);color:var(--on-brand);border-color:var(--brand)}
.factrow{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.55rem 1rem;border-bottom:1px solid var(--hairline)}
.factrow--head{font-family:var(--font-ui);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--ink)}
.factrow__n{font-family:var(--font-ui);font-size:.82rem;font-weight:500}
.factrow__v{font-size:.9rem;text-align:right;color:var(--ink)}
.factrow__v i{font-style:normal;font-size:.68rem;color:var(--muted);display:block}
.factrow--ul{background:var(--safety-bg,#fbeeea)}
.factrow--ul .factrow__v{color:var(--safety)}
.factrow--bar{display:block;padding:.7rem 1rem}
.rbar{position:relative;display:block;height:7px;border-radius:4px;background:var(--rbar-track,var(--hairline));margin-top:.5rem}
.rbar__fill{position:absolute;left:0;top:0;bottom:0;background:var(--brand);border-radius:4px}
.rbar__tick{position:absolute;top:-3px;width:2px;height:13px;background:var(--ink);transform:translateX(-1px)}
.factbox__src{padding:.55rem 1rem;font-family:var(--font-mono);font-size:.66rem;color:var(--muted);background:var(--surface-2)}
.railcard{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-sm);padding:1rem 1.1rem}
.railcard h4{font-family:var(--font-ui);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 .6rem}
.railcard ul{margin:0;padding-left:1.1rem;font-size:.88rem;color:var(--ink)}
.railcard ul li{margin:.3rem 0}
.railcard--related a{display:block;font-size:.9rem;padding:.3rem 0;border-bottom:1px solid var(--hairline)}
.railcard--related a:last-child{border-bottom:0}

/* ================= editorial homepage components (structure; effects in skin-*) ================= */
.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-ui);font-weight:600;font-size:.92rem;padding:.72rem 1.35rem;border-radius:var(--radius);text-decoration:none;transition:transform .16s,box-shadow .22s,background .2s;border:1px solid transparent;cursor:pointer}
.btn:hover{text-decoration:none;transform:translateY(-2px)}
.btn--glow{background:var(--brand);color:var(--on-brand)}
.btn--ghost2{background:transparent;color:var(--ink);border-color:var(--hairline-strong,var(--hairline))}

.xhero{position:relative;overflow:hidden;padding:clamp(3.5rem,9vw,7rem) 0 clamp(3rem,6vw,5rem);background:var(--bg)}
.xhero__bg,.xhero__caps{position:absolute;inset:0;pointer-events:none;z-index:0}
.xhero__caps{z-index:1}
.xhero__in{position:relative;z-index:2;max-width:940px}
.xhero__eyebrow{font-family:var(--font-ui);font-size:.75rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--accent-ink,var(--accent));margin:0 0 1.1rem}
.xhero__title{font-family:var(--font-display);font-size:clamp(2.6rem,7vw,5.6rem);line-height:1.03;margin:0 0 1.3rem;letter-spacing:-.02em;color:var(--ink)}
.xhero__sub{font-size:1.14rem;color:var(--muted);max-width:52ch;margin:0 0 2rem}
.xhero__cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:1.7rem}
.xhero__chips{display:flex;flex-wrap:wrap;gap:1.3rem;font-family:var(--font-ui);font-size:.82rem;color:var(--muted)}

.ticker{overflow:hidden;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);background:var(--surface-2);padding:.6rem 0;white-space:nowrap}
.ticker__track{display:inline-flex;align-items:center;gap:1.2rem;animation:tickmove 45s linear infinite;font-family:var(--font-ui);font-size:.82rem;font-weight:600;letter-spacing:.05em;color:var(--muted);will-change:transform}
.tick__dot{width:4px;height:4px;border-radius:50%;background:var(--accent);opacity:.55;display:inline-block}
.acard__tex{position:absolute;inset:0;pointer-events:none}
.xhero__chips .chip{position:relative;padding-left:1.05rem}
.xhero__chips .chip::before{content:"";position:absolute;left:0;top:.4em;width:.5rem;height:.5rem;border-radius:50%;background:currentColor}
@keyframes tickmove{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.edito{padding:clamp(2.5rem,6vw,4rem) 0}
.section-head--row{display:flex;justify-content:space-between;align-items:flex-end;max-width:none;margin-bottom:1.6rem}
.section-head--row h2{font-size:clamp(1.6rem,3vw,2.1rem);margin:.3rem 0 0}
.seeall{font-family:var(--font-ui);font-weight:600;font-size:.85rem;color:var(--brand);white-space:nowrap}
.edito__grid{display:grid;grid-template-columns:1.7fr 1fr;gap:1.5rem;align-items:stretch}
.latest{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius);padding:1.1rem 1.4rem}
.latest__h{font-family:var(--font-ui);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 .3rem;font-weight:700}
.latest__item{display:flex;gap:.9rem;align-items:flex-start;padding:.85rem 0;border-bottom:1px solid var(--hairline)}
.latest__item:last-child{border-bottom:0}
.latest__n{font-family:var(--font-mono);font-size:.8rem;color:var(--muted)}
.latest__cat{display:block;font-family:var(--font-ui);font-size:.64rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink,var(--accent));margin-bottom:.15rem}
.latest__t{font-family:var(--font-display);font-size:1.02rem;line-height:1.25;color:var(--ink)}
.latest__item:hover{text-decoration:none}
.latest__item:hover .latest__t{color:var(--brand)}

.acard{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius);overflow:hidden;color:var(--ink);transition:transform .2s,box-shadow .25s,border-color .2s}
.acard:hover{text-decoration:none;transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--hairline-strong,var(--hairline))}
.acard__cover{position:relative;aspect-ratio:16/7;display:flex;align-items:flex-end;padding:1rem;background:var(--brand);overflow:hidden}
.acard__glyph{position:absolute;top:-.32em;right:.1em;font-size:5.5rem;opacity:.26;color:#fff;line-height:1}
.acard__badge{position:relative;font-family:var(--font-ui);font-size:.64rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:rgba(0,0,0,.24);padding:.28rem .62rem;border-radius:40px}
.acard__body{padding:1.1rem 1.2rem 1.3rem;display:flex;flex-direction:column;flex:1}
.acard__kicker{font-family:var(--font-ui);font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink,var(--accent));margin-bottom:.4rem}
.acard__t{font-family:var(--font-display);font-size:1.28rem;line-height:1.2;margin:0 0 .5rem}
.acard__d{font-family:var(--font-body);color:var(--muted);font-size:.94rem;margin:0 0 1rem;flex:1}
.acard__meta{font-family:var(--font-ui);font-size:.75rem;color:var(--faint,var(--muted));border-top:1px solid var(--hairline);padding-top:.7rem}
.acard__meta b{color:var(--ink);font-weight:600}
.acard__dot{margin:0 .4rem;color:var(--hairline-strong,var(--hairline))}
.acard--lead .acard__cover{aspect-ratio:16/8}
.acard--lead .acard__t{font-size:clamp(1.55rem,2.4vw,2.15rem)}
.acard--lead .acard__glyph{font-size:9rem}
.acard--lead .acard__d{font-size:1.02rem}
.feed{padding:clamp(1rem,3vw,2rem) 0 clamp(2.5rem,6vw,4rem)}
.feed__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.4rem}

.spectrum{padding:clamp(2rem,5vw,3.5rem) 0;border-top:1px solid var(--hairline)}
.spectrum__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem}
.ctile{position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:196px;padding:1.3rem;border-radius:var(--radius);color:#fff;background:var(--brand);text-decoration:none;transition:transform .2s,box-shadow .25s}
.ctile:hover{text-decoration:none;transform:translateY(-4px);box-shadow:var(--shadow)}
.ctile__glyph{font-size:2rem;opacity:.92}
.ctile__label{font-family:var(--font-display);font-size:1.4rem;font-weight:600;margin-top:auto}
.ctile__count{font-family:var(--font-mono);font-size:.76rem;opacity:.9;margin-top:.35rem}
.ctile__note{font-family:var(--font-ui);font-size:.8rem;opacity:.82;margin-top:.15rem}

.toolsec{padding:clamp(2.5rem,6vw,4rem) 0;border-top:1px solid var(--hairline)}
.toolsec__in{display:grid;grid-template-columns:1fr 420px;gap:clamp(1.5rem,4vw,3.5rem);align-items:center}
.toolsec__copy h2{font-size:clamp(1.7rem,3.2vw,2.3rem);margin:.4rem 0 .8rem}
.toolsec__copy p{color:var(--muted);max-width:48ch}
.toolsec__pts{list-style:none;padding:0;margin:1.2rem 0 0;display:grid;gap:.6rem}
.toolsec__pts li{position:relative;padding-left:1.6rem;font-size:.94rem}
.toolsec__pts li::before{content:"\2713";position:absolute;left:0;color:var(--brand);font-weight:700}

@media(max-width:900px){
  .edito__grid{grid-template-columns:1fr}
  .toolsec__in{grid-template-columns:1fr}
  .xhero__title{font-size:clamp(2.4rem,9vw,3.6rem)}
}

/* ---- responsive ---- */
@media(max-width:920px){
  .hero__grid{grid-template-columns:1fr}
  .article{grid-template-columns:1fr}
  .rail{position:static;grid-template-columns:1fr 1fr;display:grid}
  .factbox{grid-column:1/-1}
  .colophon__in{grid-template-columns:1fr}
}
/* header collapses to the hamburger drawer before the horizontal nav gets cramped */
@media(max-width:760px){
  .masthead__util .msearch{display:none}
  .masthead__nav{display:none}
  .navburger{display:flex}
  .masthead__util{gap:1rem;padding-top:.85rem;padding-bottom:.85rem}
  .specbar__rev{display:none}
}
@media(max-width:640px){
  body{font-size:16px}
  .ul--cols{columns:1}
  .rail{grid-template-columns:1fr}
  .colophon__cols{grid-template-columns:1fr 1fr;gap:1.4rem 1rem}
  .cred__ed{margin-left:0;text-align:left}
  .dtable{font-size:.85rem}
  .dtable th,.dtable td{padding:.5rem .45rem}
  /* keep the numberline's end labels from being clipped at the screen edge */
  .nl__marker--rda b,.nl__marker--rda span{left:0;transform:none;text-align:left}
  .nl__marker--ul b,.nl__marker--ul span{left:auto;right:0;transform:none;text-align:right}
}
@media(max-width:480px){
  .specbar__src,.specbar__dot2{display:none}
  .brand__tag{display:none}
  .colophon__cols{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
