/* Portal templates. The ivory and green Explorer theme stays in styles.css. */
.portal h1{font-size:clamp(40px,6.4vw,92px);max-width:14ch}
.crumbs{padding:18px var(--space) 0}
.crumbs ol{display:flex;flex-wrap:wrap;gap:8px 0;list-style:none;margin:0;padding:0;font-size:12px;letter-spacing:.04em}
.crumbs li{color:var(--muted)}
.crumbs li:not(:last-child):after{content:' / ';color:var(--accent)}
.crumbs a{text-decoration:underline;text-underline-offset:3px}
.mast{padding:28px var(--space) 10px}
.mast-plain,.mast figure{min-height:220px}
.mast figure{margin:0 0 28px;position:relative}
.mast figure img{height:420px}
.mast figcaption,.image-note{font-size:12px;color:var(--muted);margin-top:8px;max-width:68ch}
.mast-plain{display:flex;align-items:flex-end;padding:28px;background:#153b32;color:#f1f0e9;margin-bottom:28px}
.mast-plain strong{font-family:var(--serif);font-weight:400;font-size:clamp(28px,4vw,48px);letter-spacing:-.03em;max-width:18ch}
.mast .kicker{color:var(--accent)}
.mast-plain + .kicker{margin-top:8px}
.dek{font-size:clamp(17px,1.5vw,20px);max-width:62ch;margin-top:16px}
.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:48px;padding:10px var(--space) var(--space);align-items:start}
.prose h2{font-size:clamp(28px,4vw,44px);margin:34px 0 10px}
.prose h3{font-size:clamp(22px,2.4vw,30px);margin:22px 0 8px}
.prose p,.prose li{max-width:68ch}
.prose ul,.prose ol{margin:8px 0 0;padding-left:1.15em;color:var(--muted)}
.prose li{margin:8px 0}
.prose a,.source-list a,.related a{text-decoration:underline;text-underline-offset:3px}
.decision{border:1px solid var(--line);padding:18px 18px 6px;position:sticky;top:18px}
.decision h2{font-size:22px;margin-bottom:8px}
.decision section{border-top:1px solid var(--line);padding:14px 0}
.decision h3{font-size:15px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.decision p{font-size:14px;color:var(--muted);margin-top:6px}
.callout{border-left:3px solid var(--accent);padding:4px 0 4px 16px;margin:22px 0}
.home-rows a,.entry{display:grid;gap:12px 18px;border-top:1px solid var(--line);padding:20px 0;align-items:start}
.home-rows a{grid-template-columns:72px minmax(0,1fr) auto}
.home-rows{padding:0 var(--space) 10px}
.home-rows span,.entry .meta{color:var(--accent);font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.entry{grid-template-columns:88px minmax(0,1fr)}
.entry p{color:var(--muted);font-size:15px;margin-top:6px}
.catalog-tools,.band-note{padding:8px var(--space) 0}
.catalog-tools label{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin:18px 0 8px}
#guide-search{max-width:520px}
.related{padding:10px var(--space) var(--space)}
.related ol{margin:12px 0 0;padding:0;list-style:none}
.related li{border-top:1px solid var(--line);padding:14px 0}
.source-list{padding:0 var(--space) var(--space);font-size:14px}
.source-list li{margin:8px 0}
.compare-row{display:grid;grid-template-columns:160px minmax(0,1fr);gap:12px;border-top:1px solid var(--line);padding:14px 0}
.feature-split{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.feature-split .visual{height:460px;position:relative}
.links-only{padding-bottom:20px}
.action{margin:18px 0;padding:14px 16px;border:1px solid var(--line)}
.action strong{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-weight:400;margin-bottom:6px}
.banner-note{margin:0 var(--space);padding:14px 16px;background:#153b32;color:#f1f0e9;font-size:14px}
.banner-note a{color:#f1f0e9;text-decoration:underline;text-underline-offset:3px}
.module-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.module-list article{border-top:1px solid var(--line);padding-top:12px}
.module-list p{font-size:14px;color:var(--muted);margin-top:8px}
@media(max-width:900px){
  .article-layout,.feature-split,.home-rows a{grid-template-columns:1fr}
  .decision{position:static;order:-1}
  .mast figure img,.feature-split .visual{height:280px}
  .module-list{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .portal h1{font-size:clamp(34px,11vw,64px)}
  .compare-row,.entry{grid-template-columns:1fr}
  .module-list{grid-template-columns:1fr}
  .mast,.article-layout,.home-rows,.catalog-tools,.related,.source-list{padding-left:var(--space);padding-right:var(--space)}
}
@media(prefers-reduced-motion:reduce){.decision{position:static}}
