/* Visually hidden controls must not inherit minimum button dimensions. */
.sr-only{min-inline-size:0;min-block-size:0}

/* Shared metadata: the icon accompanies a text line, not a second baseline. */
.resource-meta{align-items:center;line-height:1.5}
.resource-meta>span{display:inline-flex;align-items:center}
.resource-meta .ui-icon{inline-size:1.125em;block-size:1.125em}
.resource-meta .icon-label{line-height:inherit}

/* One module, equal cards. Content can grow without a fixed pixel height. */
.rules-grid{grid-auto-rows:1fr}
.rules-grid>div{display:grid;grid-template-rows:auto 1fr;gap:.75rem}
.rules-grid dt{margin:0;font-size:var(--h3);line-height:1.3}
.rules-grid dd{font-size:var(--body);line-height:1.55}

/* Use the publisher's exact model photo at a consistent, uncropped size. */
.rating-card{grid-template-rows:auto auto auto auto 1fr}
.helmet-photo{height:12rem;display:flex;align-items:center;justify-content:center;background:white}
.helmet-photo img{width:100%;height:100%;object-fit:contain;display:block}
@supports(grid-template-rows:subgrid){.rating-card{grid-row:span 5;grid-template-rows:subgrid}}

/* Compact searchable guide index. */
.guide-library{padding-block:2.5rem 3rem}
.guide-library-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1.5rem;margin-bottom:2rem}
.guide-library-heading h1{max-width:none}
.guide-library-heading p{font-size:var(--body);color:var(--muted)}
.guide-search{margin:0 0 1.5rem}
.guide-search label{font-size:var(--meta);margin-bottom:.5rem}
.guide-search input{max-width:none;width:100%}
.guide-count{font-size:var(--meta);color:var(--muted);margin-bottom:1rem}
.guide-count:empty{display:none}
.guide-list{border-top:1px solid var(--line)}
.guide-row{display:grid;grid-template-columns:minmax(0,1fr) 10rem 1.5rem;align-items:center;gap:1.5rem;padding:1rem .75rem;border-bottom:1px solid var(--line);color:var(--ink);transition:background-color 140ms ease}
.guide-row-copy{min-width:0;display:grid;gap:.375rem}
.guide-row .topic{font-size:var(--meta);font-weight:400;line-height:1.4}
.guide-row h2{font-size:var(--body);line-height:1.4;font-weight:700;text-wrap:initial}
.guide-row-date{font-size:var(--meta);color:var(--muted);text-align:right}
.guide-row-arrow{font-size:var(--h3);color:var(--red);text-align:center;line-height:1}
.guide-row:hover,.guide-row:focus-visible{background:var(--warm);color:var(--ink);text-decoration:none}
.guide-row:focus-visible{outline:3px solid var(--red);outline-offset:-3px}
.guide-row:hover .guide-row-arrow{transform:translateX(2px)}

/* Article detail follows the approved Article reading layout. */
:root{--space-item:1rem;--space-group:1.5rem;--reader-inset:1.5rem}
.category-card .card-action,.tool-card .card-action{justify-content:flex-end;color:var(--red);font-size:var(--h3);line-height:1}
.tool-card{grid-template-rows:auto auto 1fr auto}
@supports(grid-template-rows:subgrid){.tool-card{grid-row:span 4;grid-template-rows:subgrid}}
/* Optional joining facts must not reserve an empty track. */
.organization-card{display:grid;grid-template-rows:auto 1fr auto;grid-row:auto;gap:var(--space-item);padding:var(--space-group)}
.organization-facts{display:flex;flex-direction:column;gap:var(--space-item)}
.organization-facts>*{margin:0}
@supports(grid-template-rows:subgrid){.organization-card{grid-row:span 3;grid-template-rows:subgrid}}
.organization-card>*,.organization-card .joining-details>*{margin:0}
.organization-card .record-actions,.organization-card .team-actions{grid-row:auto;margin-top:0;padding-top:.5rem;align-self:start}
.organization-card .record-note,.organization-card .joining-details{grid-row:auto}
.organization-card .joining-details>*+*{margin-top:.5rem}
.organization-card .organization-heading{gap:var(--space-item)}

.editorial-article .article-header{padding-bottom:2rem}
.editorial-article .article-header h1{font-size:clamp(2rem,2.5vw,2.25rem);max-width:34ch}
.editorial-article .article-layout{grid-template-columns:minmax(0,13rem) minmax(0,1fr) minmax(0,11rem);gap:2rem;align-items:start}
.editorial-article .article-aside{border:0;padding:0;line-height:1.6;grid-column:1;grid-row:1}
.article-summary{margin-bottom:1.75rem}
.article-summary h2,.contents-links h2{font-size:var(--body);line-height:1.4;margin:0 0 .5rem}
.article-aside .contents-links a{display:block;padding:.35rem .5rem;border-left:2px solid transparent;color:var(--muted);text-decoration:none}
.article-aside .contents-links a:hover,.article-aside .contents-links a:focus-visible,.article-aside .contents-links a[aria-current="location"]{background:var(--warm);color:var(--red);border-left-color:var(--red)}
.article-aside .contents-links ul,.article-aside .contents-links ol{display:block;list-style:none;padding:0;margin:0}
.article-aside .contents-links li+li{margin-top:.35rem}
.article-reading{min-width:0;grid-column:2;grid-row:1}
.editorial-article .article-body{max-width:70ch;width:100%}
.editorial-article .article-cover{margin:0 0 2rem}
.editorial-article .article-cover img{display:block;width:100%;height:auto;max-height:none;border-radius:.5rem}
.article-meta{grid-column:3;grid-row:1;min-width:0;font-size:var(--meta);line-height:1.6}
.article-meta dl{margin:0;display:grid;gap:1.5rem}
.article-meta dt{font-weight:700;margin-bottom:.5rem}
.article-meta dd{margin:0;color:var(--muted)}
.article-share{margin-top:1.5rem}.article-share .button{font-size:var(--meta);padding:.5rem .75rem}
.article-share .share-status{margin:.5rem 0 0;font-size:var(--meta)}.share-status:empty{display:none}
.about-contact{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem;background:var(--warm);border:1px solid var(--line);border-radius:.375rem;padding:var(--space-group);margin-top:2rem}
.about-contact h2{font-size:var(--h3);margin:0 0 .5rem}.about-contact p{font-size:var(--meta);margin:0}
.contact-email{font-size:var(--body);font-weight:700;border-bottom:2px solid transparent;padding:.5rem 0;overflow-wrap:anywhere}
.contact-email:hover,.contact-email:focus-visible{border-bottom-color:var(--red)}
@media(min-width:75rem){.editorial-article :is(.article-aside,.article-meta){position:sticky;top:var(--reader-inset);align-self:start;max-height:calc(100dvh - 2 * var(--reader-inset));overflow:auto;scrollbar-width:thin}}
/* Match the reference's reading focus; pointer or keyboard focus restores a rail. */
@media(min-width:75rem) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 html:has(.editorial-article){scroll-behavior:smooth}
 .editorial-article :is(.article-aside,.article-meta){transition:opacity .2s ease}
 .editorial-article.is-reading :is(.article-aside,.article-meta):not(:hover):not(:focus-within){opacity:.17}
}
@media(max-width:74.999rem){.editorial-article .article-layout{grid-template-columns:minmax(0,12rem) minmax(0,1fr)}.article-meta{grid-column:1/-1;grid-row:1}.editorial-article .article-aside,.article-reading{grid-row:2}.article-meta dl{display:flex;flex-wrap:wrap;gap:1rem 2rem}.article-meta dt{margin-bottom:.25rem}.article-share{margin-top:1rem}}
@media(max-width:48rem){.guide-library{padding-top:2rem}.guide-library-heading{display:block}.guide-library-heading p{margin-top:1rem}.guide-row{grid-template-columns:minmax(0,1fr) 1.5rem;gap:.5rem 1rem;padding:1rem .5rem}.guide-row-copy{grid-column:1}.guide-row-date{grid-column:1;text-align:left}.guide-row-date:empty{display:none}.guide-row-arrow{grid-column:2;grid-row:1/3}.editorial-article .article-layout{grid-template-columns:minmax(0,1fr);gap:1.5rem}.article-meta{grid-row:1;grid-column:1}.editorial-article .article-aside{grid-column:1;grid-row:2}.article-reading{grid-column:1;grid-row:3}.editorial-article .article-aside .contents-links a{border-block:0;border-right:0;padding:.45rem .5rem}.rules-grid{grid-auto-rows:auto}.helmet-photo{height:11rem}.organization-card{padding:1.25rem}.about-contact{padding:1.25rem}.contact-email{font-size:var(--meta)}}
@media print{.guide-search,.article-aside,.article-share{display:none}.editorial-article .article-layout{display:block}.article-meta{margin-bottom:1rem;position:static;max-height:none;overflow:visible;opacity:1!important}.helmet-photo{height:7rem}.guide-row{break-inside:avoid}.rating-card{display:block}.organization-card{display:block}.organization-card>*+*{margin-top:1rem}}
@media(prefers-reduced-motion:reduce){.guide-row{transition:none}.guide-row:hover .guide-row-arrow{transform:none}.editorial-article :is(.article-aside,.article-meta){opacity:1!important;transition:none}}
@media screen{.article-body table{overflow-wrap:normal}}
