/* Hallmark · macrostructure: Catalogue + Index-First + Editorial Longform · tone: editorial sport · anchor hue: 98
 * theme: Sport / BST brand palette · nav: N6 masthead · footer: Ft1 mast-headed
 * enrichment: record-specific ski photos + text-led method/reportage pages · display: Barlow Condensed · body: IBM Plex Sans
 * audience: EN ski buyers · purpose: model research and archive feature · inferred from approved product brief
 * pre-emit critique: P5 H4 E5 S5 R5 V5 */
* { box-sizing: border-box; }
html, body { overflow-x: clip; }
html { scroll-behavior: auto; }
body { margin: 0; background: var(--color-paper); color: var(--color-ink); font: 400 var(--text-base)/1.55 var(--font-body); }
a { color: inherit; text-decoration-thickness: var(--rule-hair); text-underline-offset: .25em; }
a:hover { text-decoration-thickness: 2px; }
a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible { outline: 3px solid var(--color-focus); outline-offset: 4px; }
a:active,button:active { opacity: .75; }
a,button,select,summary { -webkit-tap-highlight-color: var(--color-accent); }
button,select { font: inherit; border-radius: var(--radius-none); }
button,a.nav-link,.mast-bottom a,.footer a,.record-nav a,.text-link,.back-link { white-space: nowrap; }
button:disabled { background: var(--color-rule); color: var(--color-ink); cursor: not-allowed; border: 0; }
h1,h2,h3,p,figure,dl,dd { margin: 0; }
h1,h2,h3 { font-family: var(--font-display); font-weight: 700; font-style: normal; overflow-wrap: anywhere; min-width: 0; line-height: 1.06; }
h1 { font-size: var(--text-display); } h2,h3 { font-size: var(--text-heading); }
.wrap { width: min(100% - 2rem, 1248px); margin-inline: auto; }
.skip-link { position: fixed; top: var(--space-md); left: var(--space-md); z-index: 400; padding: var(--space-md); background: var(--color-accent); transform: translateY(-200%); }
.skip-link:focus { transform: none; }
.preview-tools { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--space-sm) var(--space-lg); padding:var(--space-sm) max(1rem,calc((100% - 1248px)/2)); background:var(--color-ink); color:var(--color-inverse); font-size:var(--text-small); }
.preview-tools div { display:flex; flex-wrap:wrap; gap:var(--space-sm) var(--space-md); }
.preview-tools div span { opacity:.8; }
.preview-tools label { display:flex; align-items:center; gap:var(--space-sm); max-width:100%; }
.preview-tools select { max-width:calc(100vw - 6rem); width:238px; min-height:44px; background:var(--color-paper); color:var(--color-ink); border:var(--rule-hair) solid var(--color-rule); padding-inline:var(--space-sm); font-size:var(--text-small); }
.masthead { padding-top:var(--space-lg); border-bottom:3px double var(--color-ink); }
.mast-top { display:flex; justify-content:space-between; gap:var(--space-md); font-size:var(--text-small); letter-spacing:.06em; }
.mast-top span:last-child { text-align:right; }
.brand { display:flex; justify-content:center; align-items:center; gap:var(--space-sm); text-decoration:none; padding-block:var(--space-lg); }
.brand span { font-family:var(--font-display); font-weight:800; font-size:clamp(2rem,5vw,3.75rem); line-height:1; white-space:nowrap; }
.brand img { width:44px; height:44px; object-fit:contain; }
.mast-bottom { display:flex; flex-direction:column; gap:var(--space-sm); padding-bottom:var(--space-sm); }
.mast-bottom p { color:var(--color-muted); font-size:var(--text-small); }
.mast-bottom nav { display:flex; flex-wrap:wrap; column-gap:var(--space-lg); }
.mast-bottom a { display:inline-flex; align-items:center; min-height:44px; font-size:var(--text-small); font-weight:600; text-decoration:none; border-bottom:3px solid var(--color-paper); }
.mast-bottom a[aria-current="page"] { border-bottom-color:var(--color-accent); }
.mast-bottom a:hover { border-bottom-color:var(--color-ink); }
.page-head { padding-block:var(--space-xl); display:grid; gap:var(--space-md); }
.eyebrow { font-size:var(--text-small); letter-spacing:.07em; text-transform:uppercase; font-weight:600; }
.page-head h1 { margin-top:var(--space-sm); }
.intro { color:var(--color-muted); max-width:56ch; margin-top:var(--space-md); }
.collection-meta { display:flex; flex-wrap:wrap; gap:var(--space-sm) var(--space-lg); padding-block:var(--space-md); border-block:var(--rule-hair) solid var(--color-rule); align-items:center; }
.collection-meta span:first-child { font-weight:600; }
.collection-meta span:last-child { color:var(--color-muted); font-size:var(--text-small); }
.product-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:var(--space-xl) var(--space-lg); padding-block:var(--space-lg) var(--space-2xl); }
.product { min-width:0; display:flex; flex-direction:column; }
.photo-placeholder { min-width:0; color:var(--color-muted); text-align:center; }
.photo-placeholder .photo-strip { background:var(--color-surface); border-block:var(--rule-hair) solid var(--color-rule); }
.photo-placeholder svg { width:24px; height:24px; stroke:var(--color-rule-strong); fill:none; stroke-width:1; }
.photo-placeholder p { font-size:var(--text-small); }
.ski-photo { min-width:0; background:var(--color-paper); }
.ski-photo .photo-strip { overflow:hidden; background:var(--color-photo); border-block:var(--rule-hair) solid var(--color-rule); }
.ski-photo img { display:block; width:100%; height:auto; }
.photo-caption { display:flex; justify-content:space-between; gap:var(--space-md); padding-top:var(--space-sm); color:var(--color-muted); font-size:var(--text-small); text-align:left; }
.photo-caption span:last-child { white-space:nowrap; }
.product .brand-label { font-size:var(--text-small); font-weight:600; text-transform:uppercase; letter-spacing:.05em; margin-top:var(--space-lg); }
.product h3 { margin-top:var(--space-xs); min-height:2.15em; }
.mini-spec { display:flex; justify-content:space-between; gap:var(--space-sm); padding-block:var(--space-md); border-bottom:var(--rule-hair) solid var(--color-rule); font-variant-numeric:tabular-nums; }
.mini-spec dt { color:var(--color-muted); font-size:var(--text-small); }
.mini-spec dd { font-weight:500; }
.product .text-link { display:flex; justify-content:space-between; align-items:center; padding-block:var(--space-md); min-height:48px; text-decoration:none; font-weight:600; }
.product .text-link:hover { text-decoration:underline; }
.product .excerpt-note { color:var(--color-muted); font-size:var(--text-small); margin-top:var(--space-md); }
.card-excerpt { color:var(--color-muted); margin-top:var(--space-md); }
.related-test { display:grid; gap:var(--space-lg); padding-block:var(--space-xl); border-top:3px solid var(--color-ink); }
.related-test .text-link { display:inline-flex; gap:var(--space-lg); align-items:center; min-height:44px; font-weight:600; }
.related-test p { max-width:60ch; }
.related-test h2 { margin-top:var(--space-sm); }
.related-test .record-labels { margin-top:var(--space-md); }
.record-labels { display:flex; flex-wrap:wrap; gap:var(--space-sm); }
.tag { font-size:var(--text-small); border:var(--rule-hair) solid var(--color-rule-strong); padding:var(--space-xs) var(--space-sm); white-space:nowrap; }
.tag.accent { border-color:var(--color-accent); background:var(--color-accent); color:var(--color-accent-ink); font-weight:600; }
.back-link { display:inline-flex; align-items:center; gap:var(--space-sm); min-height:48px; margin-top:var(--space-md); font-size:var(--text-small); }
.model-hero { display:grid; gap:var(--space-xl); padding-block:var(--space-md) var(--space-xl); }
.model-title .eyebrow { margin-bottom:var(--space-sm); }
.model-title h1 span { display:block; font:600 var(--text-lead)/1.5 var(--font-body); text-transform:uppercase; letter-spacing:.05em; margin-bottom:var(--space-sm); }
.model-title .record-labels { margin-top:var(--space-lg); }
.model-title .intro { margin-block:var(--space-lg); }

.record-nav { display:grid; gap:var(--space-xs); margin-top:var(--space-lg); border-top:var(--rule-hair) solid var(--color-rule); padding-top:var(--space-md); }
.record-nav a { display:flex; align-items:center; justify-content:space-between; gap:var(--space-sm); min-height:48px; font-size:var(--text-small); }
.record-nav strong { font-weight:600; }
.record { border-top:3px solid var(--color-ink); padding-block:var(--space-xl) var(--space-2xl); scroll-margin-top:var(--space-lg); }
.record header { display:grid; gap:var(--space-md); }
.record header h2 { font-size:clamp(2rem,4vw,3rem); }
.record-grid { display:grid; gap:var(--space-xl); margin-top:var(--space-xl); }
.spec-sheet { display:grid; align-content:start; }
.spec-sheet > div { display:flex; align-items:baseline; justify-content:space-between; gap:var(--space-md); padding-block:var(--space-md); border-bottom:var(--rule-hair) solid var(--color-rule); }
.spec-sheet dt { color:var(--color-muted); font-size:var(--text-small); }
.spec-sheet dd { font-weight:600; font-variant-numeric:tabular-nums; text-align:right; }
.spec-sheet dd span { font-weight:400; color:var(--color-muted); }
.configuration { border-top:var(--rule-hair) solid var(--color-rule); padding-top:var(--space-md); margin-top:var(--space-lg); }
.configuration p:last-child { margin-top:var(--space-sm); font-weight:500; }
.review-space { display:grid; gap:var(--space-md); align-content:start; }
.review-space h3 { font-size:var(--text-heading); }
.review-copy { display:grid; gap:var(--space-lg); }
.review-copy > p { max-width:68ch; }
.tester-take,.expert-view { margin:var(--space-md) 0 0; padding:var(--space-lg); border-top:3px solid var(--color-ink); background:var(--color-surface); }
.tester-take blockquote,.expert-view blockquote { margin:var(--space-md) 0; font:600 var(--text-lead)/1.45 var(--font-body); }
.tester-take > p,.expert-view > p:last-child { display:grid; gap:var(--space-xs); font-size:var(--text-small); }
.tester-take span,.expert-view span { color:var(--color-muted); }
.expert-view { border-top-color:var(--color-accent-ink); background:var(--color-accent); color:var(--color-accent-ink); }
.expert-view span { color:inherit; opacity:.75; }
.pending-copy { background:var(--color-surface); padding:var(--space-lg); border:var(--rule-hair) dashed var(--color-rule-strong); color:var(--color-muted); min-height:160px; display:grid; align-content:center; gap:var(--space-sm); }
.pending-copy strong { color:var(--color-ink); font-weight:500; }
.pending-copy p { max-width:50ch; }
.editor-note { font-size:var(--text-small); color:var(--color-muted); }
.spec-help { margin-top:var(--space-md); }
.spec-help summary { cursor:pointer; min-height:44px; display:flex; align-items:center; gap:var(--space-sm); font-size:var(--text-small); text-decoration:underline; text-underline-offset:.25em; }
.spec-help summary::before { content:'+'; font-weight:600; }
.spec-help[open] summary::before { content:'−'; }
.spec-help p { font-size:var(--text-small); color:var(--color-muted); margin-top:var(--space-sm); max-width:65ch; }
.pdf-band { display:grid; gap:var(--space-lg); padding:var(--space-xl) var(--space-lg); background:var(--color-surface); margin-bottom:var(--space-xl); border-block:var(--rule-hair) solid var(--color-rule); }
.pdf-band h2 { margin-top:var(--space-sm); }
.pdf-band p:not(.eyebrow) { margin-top:var(--space-md); color:var(--color-muted); max-width:52ch; }
.pdf-band button { width:100%; min-height:48px; padding-inline:var(--space-md); }
.pdf-band .editor-note { margin-top:var(--space-sm); }
.footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:var(--space-lg); border-top:3px double var(--color-ink); padding-block:var(--space-xl); }
.footer p { font-size:var(--text-small); color:var(--color-muted); }
.footer .footer-name { font:800 var(--text-heading)/1.1 var(--font-display); color:var(--color-ink); margin-bottom:var(--space-sm); }
.footer a { display:inline-flex; align-items:center; gap:var(--space-xl); min-height:44px; font-size:var(--text-small); }
.empty { padding-block:var(--space-2xl); display:grid; gap:var(--space-lg); }
@media (min-width:40rem) {
 .wrap { width:min(100% - 4rem,1248px); }
 .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .brand img { width:56px; height:56px; }
 .mast-bottom { flex-direction:row; align-items:center; justify-content:space-between; }
 .mast-bottom p { max-width:36ch; }
 .page-head { padding-block:var(--space-xl); }
 .related-test { grid-template-columns:minmax(0,2fr) minmax(0,1fr); align-items:center; }
 .pdf-band { grid-template-columns:minmax(0,2fr) minmax(0,1fr); align-items:center; }
}
@media (min-width:60rem) {
 .product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }

 .model-hero { padding-block:var(--space-lg) var(--space-xl); }

 .model-title { order:1; }
 .record-grid { grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:var(--space-2xl); }
 .model-title h1 { max-width:17ch; }
 .pdf-band { padding:var(--space-xl); }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }

/* Programmatic landmark focus must not draw a border around the whole page. */
#main:focus { outline:none; }
select:hover { border-color:var(--color-ink); }
select:active { background:var(--color-surface); }
select:disabled { cursor:not-allowed; opacity:.55; }
summary:active { opacity:.75; }
.preview-tools select:focus-visible { outline-color:var(--color-accent); }

/* Each landscape photo belongs to the adjacent seasonal test configuration. */
.photo-strip { width:100%; aspect-ratio:40/7; display:grid; place-items:center; }
.photo-placeholder .photo-strip { grid-auto-flow:column; justify-content:center; gap:var(--space-sm); padding-inline:var(--space-sm); }
.record > :is(.photo-placeholder,.ski-photo) { margin-top:var(--space-lg); }
.photo-caption { overflow-wrap:anywhere; }
.record-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:var(--space-lg); }
.selection-badges { flex:0 0 auto; display:flex; flex-wrap:wrap; justify-content:flex-end; gap:var(--space-sm); }
.selection-badge { display:grid; gap:.12rem; width:min(12.5rem,42vw); padding:.7rem .85rem .75rem; border:2px solid var(--color-ink); color:var(--color-accent-ink); box-shadow:4px 4px 0 var(--color-ink); transform:rotate(-1deg); text-decoration:none; }
.selection-badge.is-kasia { background:var(--color-accent); }
.selection-badge.is-tomasz { background:var(--color-ink); color:var(--color-inverse); box-shadow:4px 4px 0 var(--color-accent); transform:rotate(1deg); }
.selection-badge span,.selection-badge small { font-size:.66rem; line-height:1.1; text-transform:uppercase; letter-spacing:.08em; }
.selection-badge strong { font:800 1.25rem/.95 var(--font-display); text-transform:uppercase; }
.selection-badge small { margin-top:.18rem; font-weight:600; }

.group-index { border-top:3px solid var(--color-ink); margin-bottom:var(--space-2xl); }
.group-row { display:flex; align-items:center; justify-content:space-between; gap:var(--space-md); min-height:72px; border-bottom:var(--rule-hair) solid var(--color-rule); text-decoration:none; white-space:nowrap; }
.group-row strong { font:700 var(--text-heading)/1 var(--font-display); }
.group-row span { display:flex; align-items:center; gap:var(--space-md); color:var(--color-muted); font-size:var(--text-small); }
.group-row b { color:var(--color-ink); font-weight:500; }
.group-row:hover { background:var(--color-surface); }
.group-head,.season-head { grid-template-columns:minmax(0,1fr); align-items:end; }
.group-count { display:flex; flex-direction:column; align-items:flex-start; padding-top:var(--space-lg); border-top:var(--rule-hair) solid var(--color-rule); }
.group-count strong { font:800 var(--text-display)/1 var(--font-display); }
.group-count span { color:var(--color-muted); font-size:var(--text-small); }
.copy-pending { max-width:65ch; margin-top:var(--space-lg); padding:var(--space-lg); background:var(--color-surface); border:var(--rule-hair) dashed var(--color-rule-strong); }
.copy-pending p { margin-top:var(--space-sm); color:var(--color-muted); }
.group-description { max-width:65ch; margin-top:var(--space-lg); font-size:var(--text-lead); white-space:pre-line; }
.group-guide { display:grid; gap:var(--space-md); max-width:76ch; padding-block:var(--space-xl) var(--space-2xl); border-top:3px solid var(--color-ink); }
.group-guide .eyebrow { margin-bottom:var(--space-sm); }
.season-section { padding-top:var(--space-xl); border-top:3px solid var(--color-ink); }
.season-section > header { display:flex; align-items:end; justify-content:space-between; gap:var(--space-md); }
.season-section > header h2 { margin-top:var(--space-xs); }
.season-section > header > p:last-child { color:var(--color-muted); font-size:var(--text-small); white-space:nowrap; }
.tested-config { margin-top:var(--space-sm); color:var(--color-muted); font-size:var(--text-small); min-height:3em; }
.season-directory { padding-block:var(--space-lg) var(--space-xl); }
.season-feature { display:flex; align-items:center; justify-content:space-between; gap:var(--space-lg); padding:var(--space-lg); background:var(--color-accent); color:var(--color-accent-ink); text-decoration:none; }
.season-feature > span { display:grid; gap:var(--space-xs); }
.season-feature strong { font:800 var(--text-heading)/1 var(--font-display); }
.season-feature > span > span:last-child { font-size:var(--text-small); }
.season-feature > b { font-size:var(--text-heading); }
.season-features { display:grid; gap:var(--space-md); }
.season-feature.is-dark { background:var(--color-ink); color:var(--color-inverse); }
.season-feature.is-dark .eyebrow { color:var(--color-accent); }
.method-links { display:grid; margin-block:var(--space-xl); border-block:3px solid var(--color-ink); }
.method-links header { padding:var(--space-lg) 0; }
.method-links header h2 { margin-top:var(--space-xs); }
.method-links > a { display:flex; align-items:center; justify-content:space-between; gap:var(--space-lg); min-height:92px; padding-block:var(--space-md); border-top:var(--rule-hair) solid var(--color-rule); text-decoration:none; }
.method-links > a:hover { background:var(--color-surface); }
.method-links > a span { display:grid; gap:var(--space-xs); min-width:0; }
.method-links > a strong { font:700 var(--text-lead)/1.05 var(--font-display); overflow-wrap:anywhere; }
.method-links > a small { color:var(--color-muted); }
.method-links > a b { flex:0 0 auto; font-size:var(--text-heading); }
.season-directory > h2 { margin-bottom:var(--space-lg); }
.brand-directory { padding-block:var(--space-xl); border-top:3px solid var(--color-ink); }
.brand-directory header { display:grid; gap:var(--space-sm); max-width:65ch; }
.brand-directory header p { color:var(--color-muted); }
.brand-directory ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); list-style:none; padding:0; margin:var(--space-xl) 0 0; border-top:var(--rule-hair) solid var(--color-rule); }
.brand-directory li { padding-block:var(--space-sm); border-bottom:var(--rule-hair) solid var(--color-rule); font-weight:500; }

.all-tested-skis { padding-block:var(--space-xl) var(--space-2xl); border-top:12px solid var(--color-accent); }
.all-tested-skis > header { display:grid; gap:var(--space-lg); align-items:end; }
.all-tested-skis > header h2 { margin-top:var(--space-xs); font-size:clamp(3.5rem,9vw,7rem); line-height:.85; }
.all-tested-skis > header div > p:last-child { max-width:62ch; margin-top:var(--space-md); color:var(--color-muted); }
.all-tested-skis > header > p { color:var(--color-muted); font-size:var(--text-small); }
.directory-tools { display:grid; gap:var(--space-lg); margin-block:var(--space-xl); padding:var(--space-lg); background:var(--color-ink); color:var(--color-inverse); }
.directory-tools fieldset { display:flex; flex-wrap:wrap; gap:var(--space-sm); margin:0; padding:0; border:0; }
.directory-tools legend { width:100%; margin-bottom:var(--space-xs); font-size:var(--text-small); }
.directory-tools button { min-height:44px; padding-inline:var(--space-md); border:var(--rule-hair) solid var(--color-inverse); background:transparent; color:var(--color-inverse); font-weight:600; }
.directory-tools button:hover { background:var(--color-surface); color:var(--color-ink); }
.directory-tools button[aria-pressed="true"] { border-color:var(--color-accent); background:var(--color-accent); color:var(--color-accent-ink); }
.directory-tools label { display:grid; gap:var(--space-xs); font-size:var(--text-small); }
.directory-tools input { width:100%; min-height:46px; padding-inline:var(--space-md); border:0; border-radius:var(--radius-none); background:var(--color-paper); color:var(--color-ink); font:inherit; }
.directory-tools input:focus-visible { outline:3px solid var(--color-focus); outline-offset:4px; }
.season-ski-results { border-top:3px solid var(--color-ink); }
.season-ski-group > header { display:flex; align-items:baseline; justify-content:space-between; gap:var(--space-lg); padding:var(--space-xl) 0 var(--space-sm); border-bottom:var(--rule-hair) solid var(--color-rule-strong); }
.season-ski-group > header h3 { font-size:var(--text-heading); }
.season-ski-group > header span { color:var(--color-muted); font-size:var(--text-small); white-space:nowrap; }
.season-ski-row { display:grid; grid-template-columns:minmax(7rem,9rem) minmax(0,1fr); gap:var(--space-sm) var(--space-md); min-height:92px; align-items:center; padding:var(--space-md) 0 var(--space-md) var(--space-sm); border-left:4px solid transparent; border-bottom:var(--rule-hair) solid var(--color-rule); background:var(--color-photo); text-decoration:none; }
.season-ski-row:hover { border-left-color:var(--color-accent); }
.season-ski-row:hover strong { text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:.25em; }
.season-ski-row strong { font-weight:600; overflow-wrap:anywhere; }
.season-ski-thumb { grid-row:1 / 3; display:grid; place-items:center; align-self:stretch; min-width:0; padding:var(--space-xs); overflow:hidden; background:var(--color-photo); }
.season-ski-thumb img { display:block; width:100%; height:auto; }
.season-ski-meta > span { color:var(--color-muted); font-size:var(--text-small); }
.season-ski-meta { display:flex; flex-wrap:wrap; justify-content:space-between; gap:var(--space-xs) var(--space-md); align-items:center; min-width:0; }
.season-ski-meta b { flex:0 0 auto; font-size:var(--text-small); font-weight:600; white-space:nowrap; }
.season-ski-meta i { margin-left:var(--space-sm); font-style:normal; }
.directory-empty { padding-block:var(--space-xl); color:var(--color-muted); }

.favourites { padding-bottom:var(--space-2xl); }
.favourites-hero { display:grid; grid-template-columns:minmax(0,1fr); gap:var(--space-xl); padding-block:var(--space-lg) var(--space-xl); border-bottom:3px solid var(--color-ink); }
.favourites-title { min-width:0; align-self:end; }
.favourites-title h1 { max-width:10ch; font-size:clamp(4rem,12vw,8rem); line-height:.82; letter-spacing:-.035em; }
.favourites-subtitle { margin-top:var(--space-lg); max-width:28ch; font:700 clamp(1.5rem,4vw,2.25rem)/1.05 var(--font-display); text-transform:uppercase; }
.author-byline { display:grid; gap:var(--space-xs); max-width:52ch; margin-top:var(--space-xl); padding-top:var(--space-md); border-top:var(--rule-hair) solid var(--color-rule); }
.author-byline span { color:var(--color-muted); font-size:var(--text-small); }
.author-photo,.author-photo-placeholder { min-width:0; width:100%; max-width:100%; aspect-ratio:3/2; min-height:0; margin:0; overflow:hidden; }
.author-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.author-photo-placeholder { display:grid; align-content:end; gap:var(--space-xs); padding:var(--space-lg); background:var(--color-ink); color:var(--color-inverse); }
.author-photo-placeholder span,.author-photo-placeholder p { color:var(--color-inverse); opacity:.65; font-size:var(--text-small); }
.author-photo-placeholder strong { font:700 var(--text-heading)/1.05 var(--font-display); }
.favourites-note { display:grid; gap:var(--space-sm); margin-block:var(--space-xl); padding:var(--space-lg); background:var(--color-accent); color:var(--color-accent-ink); }
.favourites-note p:last-child { max-width:70ch; font-weight:500; }
.favourites-intro { display:grid; gap:var(--space-lg); max-width:70ch; font-size:var(--text-lead); padding-block:var(--space-lg) var(--space-xl); }
.favourites-author { display:grid; margin-bottom:var(--space-xl); border-block:3px solid var(--color-ink); }
.favourites-author img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; align-self:start; }
.favourites-author div { display:grid; align-content:center; gap:var(--space-md); padding:var(--space-lg); background:var(--color-accent); color:var(--color-accent-ink); }
.favourites-author h2 { font-size:var(--text-heading); }
.favourites-author div p:not(.eyebrow) { max-width:46ch; }
.fierce-action-photo { align-self:center; background:var(--color-ink); }
.fierce-action-photo img { object-position:50% 52%; transform:scale(2.5); transform-origin:50% 52%; }
.fierce-author { display:grid; gap:var(--space-md); margin-bottom:var(--space-xl); padding:var(--space-lg); border:3px solid var(--color-ink); background:var(--color-accent); }
.fierce-author h2 { font-size:var(--text-heading); }
.fierce-author p:not(.eyebrow) { max-width:68ch; }
.fierce-mark { display:grid; place-items:center; width:4.5rem; aspect-ratio:1; background:var(--color-accent); color:var(--color-accent-ink); font:800 .75rem/1 var(--font-display); letter-spacing:.08em; text-transform:uppercase; transform:rotate(-2deg); }
.fierce-closing { display:grid; gap:var(--space-md); padding:var(--space-xl); border-top:12px solid var(--color-accent); background:var(--color-ink); color:var(--color-inverse); font-size:var(--text-lead); }
.favourites-index { display:grid; border-top:3px solid var(--color-ink); margin-bottom:var(--space-2xl); }
.favourites-index a { display:grid; grid-template-columns:6rem minmax(0,1fr); gap:var(--space-md); min-height:56px; align-items:center; border-bottom:var(--rule-hair) solid var(--color-rule); text-decoration:none; }
.favourites-index a:hover { background:var(--color-surface); }
.favourites-index span { color:var(--color-muted); font-size:var(--text-small); }
.favourites-index strong { font-weight:600; overflow-wrap:anywhere; }
.favourite-entry { padding-block:var(--space-xl) var(--space-2xl); border-top:3px solid var(--color-ink); scroll-margin-top:var(--space-lg); }
.favourite-entry > header { display:grid; grid-template-columns:4.5rem minmax(0,1fr); gap:var(--space-md); align-items:start; }
.favourite-number { font:800 clamp(3rem,8vw,6rem)/.8 var(--font-display); color:var(--color-accent-ink); }
.favourite-entry h2 { margin-top:var(--space-xs); font-size:clamp(2.25rem,6vw,4.75rem); max-width:18ch; }
.favourite-entry h2 span { display:block; margin-bottom:var(--space-xs); font:600 var(--text-small)/1.2 var(--font-body); letter-spacing:.08em; text-transform:uppercase; }
.favourite-ski { margin-top:var(--space-xl); }
.favourite-ski .photo-strip { overflow:hidden; background:var(--color-photo); border-block:var(--rule-hair) solid var(--color-rule); }
.favourite-ski img { display:block; width:100%; height:auto; }
.favourite-ski figcaption { display:flex; flex-wrap:wrap; justify-content:space-between; gap:var(--space-xs) var(--space-md); padding-top:var(--space-sm); color:var(--color-muted); font-size:var(--text-small); }
.favourite-image-note { max-width:70ch; margin-top:var(--space-md); padding-left:var(--space-md); border-left:4px solid var(--color-accent); color:var(--color-muted); font-size:var(--text-small); }
.favourite-copy { display:grid; gap:var(--space-lg); max-width:70ch; margin-top:var(--space-xl); }
.favourite-test-link { display:inline-flex; justify-content:space-between; gap:var(--space-xl); min-height:48px; align-items:center; margin-top:var(--space-lg); font-weight:600; }
.favourite-entry.is-bonus { border-top:12px solid var(--color-accent); }
.favourite-entry.is-bonus .favourite-number { color:var(--color-accent); text-shadow:1px 1px 0 var(--color-ink); }

.editorial-longform { padding-bottom:var(--space-2xl); }
.editorial-hero { display:grid; gap:var(--space-xl); padding-block:var(--space-xl); border-bottom:12px solid var(--color-accent); }
.editorial-hero h1 { max-width:12ch; margin-top:var(--space-sm); font-size:clamp(4rem,12vw,8rem); line-height:.82; letter-spacing:-.035em; }
.editorial-deck { max-width:35ch; margin-top:var(--space-lg); font:700 clamp(1.4rem,4vw,2.25rem)/1.08 var(--font-display); text-transform:uppercase; }
.fact-rail { display:grid; align-content:end; background:var(--color-ink); color:var(--color-inverse); }
.fact-rail div { display:grid; grid-template-columns:minmax(6rem,1fr) minmax(0,2fr); gap:var(--space-md); align-items:baseline; padding:var(--space-lg); border-bottom:var(--rule-hair) solid var(--color-rule-strong); }
.fact-rail div:last-child { border-bottom:0; }
.fact-rail dt { font:800 var(--text-heading)/1 var(--font-display); color:var(--color-accent); }
.fact-rail dd { font-size:var(--text-small); }
.editorial-principle { display:grid; gap:var(--space-md); margin-block:var(--space-xl); padding:var(--space-lg); background:var(--color-accent); color:var(--color-accent-ink); }
.editorial-principle p:last-child { max-width:70ch; font-weight:600; }
.method-video { display:grid; gap:var(--space-xl); padding-block:var(--space-xl) var(--space-2xl); border-bottom:3px solid var(--color-ink); }
.method-video header { display:grid; align-content:start; gap:var(--space-md); }
.method-video header h2 { max-width:14ch; font-size:clamp(2.5rem,6vw,4.75rem); line-height:.92; }
.method-video header > p:last-child { max-width:48ch; color:var(--color-muted); }
.video-frame { position:relative; aspect-ratio:16/9; overflow:hidden; background:var(--color-ink); }
.video-frame iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.video-meta { display:flex; flex-wrap:wrap; justify-content:space-between; gap:var(--space-sm) var(--space-lg); margin-top:var(--space-sm); color:var(--color-muted); font-size:var(--text-small); }
.video-meta a { color:var(--color-ink); font-weight:600; white-space:nowrap; }
.editorial-opening { display:grid; gap:var(--space-lg); max-width:72ch; padding-block:var(--space-lg) var(--space-2xl); font-size:var(--text-lead); }
.editorial-index { display:grid; margin-bottom:var(--space-2xl); border-top:3px solid var(--color-ink); }
.editorial-index a { display:grid; grid-template-columns:3rem minmax(0,1fr); gap:var(--space-md); align-items:center; min-height:64px; border-bottom:var(--rule-hair) solid var(--color-rule); text-decoration:none; }
.editorial-index a:hover { background:var(--color-surface); }
.editorial-index span { color:var(--color-muted); font-variant-numeric:tabular-nums; }
.editorial-section { display:grid; gap:var(--space-xl); padding-block:var(--space-xl) var(--space-2xl); border-top:3px solid var(--color-ink); scroll-margin-top:var(--space-lg); }
.editorial-section > header { display:grid; grid-template-columns:4rem minmax(0,1fr); gap:var(--space-md); align-content:start; }
.editorial-section > header > span { font:800 var(--text-heading)/1 var(--font-display); color:var(--color-accent-ink); }
.editorial-section h2 { max-width:15ch; font-size:clamp(2.75rem,7vw,5.5rem); line-height:.9; }
.editorial-copy { display:grid; gap:var(--space-lg); max-width:70ch; }
.editorial-copy p { font-size:1.0625rem; }
.source-note { display:grid; gap:var(--space-xs); padding:var(--space-lg); border-top:12px solid var(--color-accent); background:var(--color-ink); color:var(--color-inverse); }
.source-note span { max-width:72ch; color:var(--color-inverse); opacity:.72; font-size:var(--text-small); }
.tester-hero { background:var(--color-ink); color:var(--color-inverse); padding-inline:var(--space-lg); }
.tester-hero .author-byline span { color:var(--color-inverse); opacity:.72; }
.six-days { display:flex; align-items:flex-end; gap:var(--space-md); align-self:end; color:var(--color-accent); }
.six-days strong { font:800 clamp(9rem,26vw,18rem)/.65 var(--font-display); }
.six-days span { font:700 var(--text-lead)/.95 var(--font-display); text-transform:uppercase; }
.day-journey { display:grid; margin-bottom:var(--space-2xl); border-block:3px solid var(--color-ink); }
.day-journey a { display:grid; grid-template-columns:3rem minmax(0,1fr); gap:var(--space-xs) var(--space-md); min-height:84px; align-content:center; border-bottom:var(--rule-hair) solid var(--color-rule); text-decoration:none; }
.day-journey a:last-child { border-bottom:0; }
.day-journey a > span { grid-row:1 / 3; align-self:center; color:var(--color-muted); }
.day-journey strong { text-transform:uppercase; }
.day-journey small { color:var(--color-muted); }
.day-section > header { grid-template-columns:4rem minmax(0,1fr); }
.day-section > header .eyebrow,.day-section > header h2 { grid-column:2; }
.day-section > header > span { grid-row:1 / 3; }
@media (min-width:40rem) {
 .group-head,.season-head { grid-template-columns:minmax(0,3fr) minmax(0,1fr); gap:var(--space-xl); }
 .group-count { border-top:0; border-left:var(--rule-hair) solid var(--color-rule); padding:0 0 0 var(--space-lg); }
 .brand-directory ul { grid-template-columns:repeat(4,minmax(0,1fr)); column-gap:var(--space-lg); }
 .all-tested-skis > header { grid-template-columns:minmax(0,3fr) minmax(12rem,1fr); }
 .all-tested-skis > header > p { text-align:right; }
 .directory-tools { grid-template-columns:minmax(0,1fr) minmax(16rem,1fr); align-items:end; }
 .season-ski-row { grid-template-columns:minmax(10rem,1fr) minmax(0,2fr) minmax(14rem,1fr); gap:var(--space-xl); }
 .season-ski-thumb { grid-row:auto; }
 .favourites-note { grid-template-columns:minmax(10rem,1fr) minmax(0,3fr); }
 .favourites-author { grid-template-columns:minmax(0,7fr) minmax(18rem,5fr); }
 .fierce-author { grid-template-columns:minmax(12rem,1fr) minmax(0,2fr); align-items:start; }
 .fierce-author .eyebrow,.fierce-author h2 { grid-column:1; }
 .fierce-author p:not(.eyebrow) { grid-column:2; }
 .favourites-index { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:var(--space-xl); }
 .favourite-entry > header { grid-template-columns:8rem minmax(0,1fr); }
 .favourite-copy,.favourite-image-note,.favourite-test-link { margin-left:calc(8rem + var(--space-md)); }
 .method-links { grid-template-columns:minmax(12rem,1fr) repeat(2,minmax(0,1fr)); }
 .method-links header { padding-right:var(--space-lg); }
 .method-links > a { min-height:150px; padding:var(--space-lg); border-top:0; border-left:var(--rule-hair) solid var(--color-rule); }
 .editorial-principle { grid-template-columns:minmax(10rem,1fr) minmax(0,3fr); }
 .method-video { grid-template-columns:minmax(14rem,4fr) minmax(0,8fr); }
 .editorial-index { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:var(--space-xl); }
 .day-journey { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .day-journey a { padding-inline:var(--space-md); border-right:var(--rule-hair) solid var(--color-rule); }
}
@media (max-width:32rem) {
 .record-heading { display:grid; }
 .selection-badges { justify-content:flex-start; }
 .selection-badge { width:100%; max-width:18rem; }
}
@media (min-width:60rem) {
 .favourites-hero { grid-template-columns:minmax(0,5fr) minmax(0,7fr); align-items:stretch; min-height:560px; }
 .favourites-index { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .favourite-entry > header { grid-template-columns:12rem minmax(0,1fr); }
 .favourite-copy,.favourite-image-note,.favourite-test-link { margin-left:calc(12rem + var(--space-md)); }
 .favourite-copy { font-size:1.0625rem; }
 .editorial-hero { grid-template-columns:minmax(0,7fr) minmax(22rem,5fr); min-height:590px; }
 .editorial-index { grid-template-columns:repeat(4,minmax(0,1fr)); column-gap:var(--space-lg); }
 .editorial-section { grid-template-columns:minmax(18rem,4fr) minmax(0,8fr); }
 .editorial-copy { padding-top:var(--space-xs); }
 .day-journey { grid-template-columns:repeat(6,minmax(0,1fr)); }
 .day-journey a { grid-template-columns:1fr; }
 .day-journey a > span { grid-row:auto; }
}

/* Longer public wordmark: preserve the masthead at the narrowest mobile widths. */
@media (max-width: 359px) {
 .masthead .brand span, body.is-home .masthead .brand span { font-size: calc(var(--text-heading) * .75); }
}
