/* 机场22 · An editorial network-life journal. Load after all other styles. */
:root {
  --canvas: #f7f5f0;
  --paper: #fffdf8;
  --ink: #202b2a;
  --muted: #68716b;
  --subtle: #858a7f;
  --line: #d9d9cf;
  --green: #b74d2c;
  --green-dark: #963e23;
  --mint: #f1e9dd;
  --mint-bright: #ead9c6;
  --lime: #ead9c6;
  --radius: 4px;
  --shadow: none;
  --journal-orange: #d85b32;
  --journal-forest: #3b5850;
  background: var(--canvas);
  color: var(--ink);
}
body.layout-wide { background: #f7f5f0; color: #202b2a; }
.layout-wide :is(h1,h2,h3,h4) { color: #202b2a; letter-spacing: -.035em; }
::selection { background: #edd2bc; color: #202b2a; }
:focus-visible { outline: 2px solid #b75a37; outline-offset: 4px; border-radius: 2px; }
.layout-wide .main { max-width: 1280px; padding: 48px 40px 90px; }
.layout-wide .workspace { margin-left: 0; }
.layout-wide .eyebrow { color: #6f786d; font-size: 10px; font-weight: 550; letter-spacing: .14em; }
.layout-wide .eyebrow::before,.layout-wide .eyebrow .dot { width: 5px; height: 5px; border-radius: 0; background: #d85b32; }
.layout-wide .text-link { color: #a34e2d; }
.layout-wide .text-link:hover { color: #a34e2d; }
.layout-wide .button { min-height: 46px; padding: 12px 21px; border-radius: 3px; font-size: 12px; font-weight: 600; box-shadow: none; }
.layout-wide .button-primary { border-color: #b74d2c; background: #b74d2c; color: #fffdf8; box-shadow: none; }
.layout-wide .button-primary:hover { border-color: #b34b29; background: #b34b29; color: #fff; box-shadow: none; transform: translateY(-1px); }
.layout-wide .button-secondary { border-color: #b0aea8; background: transparent; color: #34473b; }
.layout-wide .button-secondary:hover { border-color: #526458; background: #efeee5; color: #202b2a; }
.layout-wide .button-disabled,.layout-wide .button:disabled { border-color: #dfded3; background: #eeede4; color: #6f786d; box-shadow: none; transform: none; }
.layout-wide .tag { padding: 4px 8px; border: 1px solid #dfdfd3; border-radius: 2px; background: transparent; color: #6f786d; font-size: 10px; }
.layout-wide .demo-label { border-color: #dfded2; border-radius: 2px; color: #6f786d; background: #f5f3ea; }
.layout-wide .demo-notice { margin: 15px 0 20px; padding: 10px 0; border: 0; border-bottom: 1px solid #e1dfd2; border-radius: 0; color: #6f786d; background: transparent; font-size: 11px; }

/* A flat masthead, not a floating application bar. */
.layout-wide .topbar { position: relative; width: calc(100% - 80px); max-width: 1200px; min-height: 90px; margin: 0 auto; padding: 20px 0; gap: 30px; border: 0; border-bottom: 1px solid #aab1a5; border-radius: 0; background: transparent; box-shadow: none; }
.layout-wide .header-brand { gap: 12px; color: #202b2a; }
.layout-wide .header-brand img { width: 38px; height: 38px; border-radius: 0; }
.layout-wide .header-brand strong { font-size: 25px; font-weight: 800; letter-spacing: -.06em; }
.layout-wide .header-brand strong>span,.layout-wide .brand-dot,.layout-wide .footer-brand>span { color: #d85b32; }
.layout-wide .desktop-nav { gap: 22px; }
.layout-wide .desktop-nav a { color: #34473b; font-size: 12px; font-weight: 500; }
.layout-wide .desktop-nav a:hover,.layout-wide .desktop-nav a.active { color: #a34e2d; }
.layout-wide .desktop-nav a.active::after { left: 0; right: 0; bottom: -21px; height: 2px; border-radius: 0; background: #d85b32; }
.layout-wide .header-actions { gap: 8px; }
.layout-wide .topbar .search-trigger { min-height: 36px; padding: 8px 9px; border-color: #dadbd0; border-radius: 3px; color: #6f786d; background: transparent; font-size: 11px; }
.layout-wide .search-trigger kbd { border-color: #dedfd4; border-radius: 2px; color: #6f786d; background: #eeeee5; }
.layout-wide .menu-toggle { min-height: 36px; border-color: #dadbd0; border-radius: 3px; color: #34473b; background: transparent; }
.layout-wide .menu-toggle:hover { border-color: #bdbbb5; color: #a34e2d; background: #efece2; }
.layout-wide .sidebar { border-left-color: #c8cdc0; background: #f9f7f0; box-shadow: -16px 0 45px #202b2a0c; }
.layout-wide .brand { color: #202b2a; }
.layout-wide .brand small { color: #6f786d; }
.layout-wide .sidebar-close { border-color: #deded1; border-radius: 2px; color: #6f786d; background: #f1efe5; }
.layout-wide .sidebar-close:hover { color: #a34e2d; background: #ece5d9; }
.layout-wide .nav-overlay { background: #26342933; backdrop-filter: blur(3px); }
.layout-wide .main-nav a { border-radius: 2px; color: #34473b; }
.layout-wide .main-nav a:hover { color: #a34e2d; background: #f0eadf; }
.layout-wide .main-nav a.active { color: #a34e2d; background: #efe5d7; box-shadow: inset 2px 0 #d85b32; }
.layout-wide .main-nav a.active .nav-num { color: #a34e2d; }
.layout-wide .nav-label,.layout-wide .nav-num { color: #6f786d; }
.layout-wide .sidebar-shortcuts { border-color: #dedfd3; }
.layout-wide .sidebar-shortcuts a { border-radius: 2px; color: #6f786d; }
.layout-wide .sidebar-shortcuts a>.icon:last-child { color: #6f786d; }
.layout-wide .sidebar-shortcuts a:hover { color: #a34e2d; background: #eee8dc; }
.layout-wide .sidebar-foot { border-color: #dad8d2; color: #6f786d; }
.layout-wide .sidebar-foot a,.layout-wide .sidebar-compare { color: #6f786d; }
.layout-wide .sidebar-picks .nav-label>span { color: #a34e2d; background: #eee3d2; border-radius: 2px; }
.layout-wide .mini-airport { border-color: #e3e1db; }
.layout-wide .mini-airport strong { color: #34473b; }
.layout-wide .mini-airport small { color: #6f786d; }

/* Cover: centered editorial typography and one full-width route illustration. */
.layout-wide .hero { display: block; min-height: 0; padding: 20px 0 0; text-align: center; }
.layout-wide .hero-copy { max-width: 1040px; margin: 0 auto; }
.hero-wing { display: none; pointer-events: none; user-select: none; }
@media screen and (min-width: 1001px) {
  .hero-cover {
    display: grid;
    grid-template-columns: minmax(0, 1fr) clamp(440px, 35vw, 620px) minmax(0, 1fr);
    align-items: center;
    column-gap: clamp(16px, 1.8vw, 36px);
  }
  .hero-cover .hero-copy { width: 100%; }
  .hero-wing {
    display: block;
    width: 100%;
    max-width: 520px;
    height: auto;
    justify-self: center;
  }
  .hero-wing .flight-plane { offset-distance: 60%; }
  .hero-wing .signal-packet { stroke-dashoffset: -46; }
}
@media screen and (min-width: 1001px) and (prefers-reduced-motion: no-preference) {
  .flight-plane { animation: hero-flight 10s linear -4s infinite; }
  .signal-packet { animation: hero-signal 5.8s linear -2s infinite; }
  .signal-echo { transform-box: fill-box; transform-origin: center; animation: hero-signal-echo 5.8s linear -2s infinite; }
}
body.motion-paused .hero-wing *, body.page-hidden .hero-wing * { animation-play-state: paused; }
@keyframes hero-flight {
  from { offset-distance: 0%; }
  to { offset-distance: 100%; }
}
@keyframes hero-signal {
  from { stroke-dashoffset: 0; }
  to { stroke-dashoffset: -100; }
}
@keyframes hero-signal-echo {
  0% { opacity: .7; transform: scale(.72); }
  20%, 100% { opacity: 0; transform: scale(1.8); }
}
.layout-wide .hero .eyebrow { margin-bottom: 25px; padding: 0; border: 0; border-radius: 0; background: transparent; color: #6f786d; font-size: 10px; letter-spacing: .17em; }
.layout-wide .hero .status-dot { width: 5px; height: 5px; border-radius: 0; background: #d85b32; box-shadow: none; }
.layout-wide .hero h1 { max-width: 100%; margin: 0 auto 26px; font-size: clamp(58px,6.3vw,78px); line-height: 1.2; font-weight: 800; letter-spacing: -.06em; }
.layout-wide .hero h1 em { color: #d85b32; background: none; -webkit-text-fill-color: currentColor; font-style: normal; }
.layout-wide .hero p { max-width: 600px; margin: 0 auto 28px; color: #6f786d; font-size: 15px; line-height: 2; }
.layout-wide .hero-actions { justify-content: center; gap: 12px; }
.layout-wide .hero-footnote { justify-content: center; gap: 12px; margin-top: 25px; color: #6f786d; font-size: 10px; }
.layout-wide .hero-footnote i { width: 3px; height: 3px; border-radius: 0; background: #bfbdb7; }
.layout-wide .hero-art.journey-art { display: block; position: relative; width: 100%; max-width: none; min-height: 0; max-height: none; padding: 0; margin: 42px 0 4px; overflow: hidden; border: 0; border-top: 1px solid #d8d6d0; border-bottom: 1px solid #d8d6d0; border-radius: 0; background: #efeee4; box-shadow: none; text-align: left; }
.layout-wide .hero-art.journey-art::before,.layout-wide .hero-art.journey-art::after { display: none; }
.layout-wide .hero-art.journey-art>svg { width: 100%; max-width: none; max-height: none; }
.layout-wide .motion-toggle { position: static; min-height: 32px; border-color: #dad8d2; border-radius: 2px; color: #6f786d; background: transparent; }
.layout-wide .motion-toggle:hover { color: #a34e2d; background: #e8e7d9; }
.layout-wide .motion-toggle:disabled { color: #6f786d; }

/* Four stations sit above animated paths, like a printed route diagram. */
.layout-wide .journey-topline { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:21px 28px 0; }
.layout-wide .journey-topline>span { display:inline-flex; align-items:center; gap:8px; color: #34473b; font-size:12px; font-weight:550; }
.layout-wide .journey-topline i { width:5px; height:5px; background:#d85b32; }
.layout-wide .journey-topline>small { color: #6f786d; font:9px ui-monospace,monospace; letter-spacing:.12em; }
.layout-wide .journey-scene { position:relative; min-height:218px; isolation:isolate; margin:14px 0 0; }
.layout-wide .journey-scene::before { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; background:repeating-linear-gradient(90deg,transparent 0,transparent calc(8.333% - 1px),#52624b06 calc(8.333% - 1px),#52624b06 8.333%); }
.layout-wide .journey-routes { position:absolute; inset:auto 0 0; width:100%; height:220px; max-width:none; overflow:visible; pointer-events:none; }
.layout-wide .journey-track { stroke:#c5cbbb; stroke-width:1.5; vector-effect:non-scaling-stroke; }
.layout-wide .journey-track-secondary { stroke:#d7ccba; stroke-width:1; }
.layout-wide .journey-flow { stroke:#d85b32; stroke-width:2.4; stroke-linecap:round; stroke-dasharray:38 170; animation:journal-route-flow 8s linear infinite; vector-effect:non-scaling-stroke; }
.layout-wide .journey-flow-secondary { stroke:#61765b; stroke-width:1.8; stroke-dasharray:24 190; animation-duration:11s; animation-direction:reverse; }
.layout-wide .journey-stops { position:relative; z-index:1; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; padding:15px 28px 0; }
.layout-wide .journey-stop { position:relative; display:grid; grid-template-columns:32px minmax(0,1fr) 14px; align-items:center; gap:12px; min-width:0; min-height:88px; padding:18px 15px 18px; border:1px solid #d6d4ce; border-radius:2px; color: #34473b; background:#faf8f1; box-shadow:3px 3px 0 #e2e0da; transition:border-color .18s,background .18s; }
.layout-wide .journey-stop:hover { border-color:#a59a76; background:#fffdf6; }
.layout-wide .journey-stop:focus-visible { outline:2px solid #bc663b; outline-offset:4px; }
.layout-wide .journey-number { position:absolute; left:12px; top:-8px; padding:0 5px; background:#efeee4; color: #6f786d; font:10px ui-monospace,monospace; }
.layout-wide .journey-icon { display:flex; align-items:center; justify-content:center; width:32px; height:32px; color: #a34e2d; }
.layout-wide .journey-icon .icon { width:23px; height:23px; }
.layout-wide .journey-stop:nth-child(2n) .journey-icon { color: #6f786d; }
.layout-wide .journey-label { display:flex; flex-direction:column; gap:4px; min-width:0; }
.layout-wide .journey-label small { color: #6f786d; font-size:10px; line-height:1.5; }
.layout-wide .journey-label strong { color: #34473b; font-size:15px; font-weight:650; line-height:1.5; white-space:nowrap; }
.layout-wide .journey-stop>.icon { width:14px; height:14px; color: #6f786d; }
.layout-wide .journey-footer { display:flex; align-items:center; justify-content:space-between; gap:25px; padding:14px 28px 18px; border-top:1px solid #d8d6d0; }
.layout-wide .journey-mark { display:flex; align-items:center; gap:10px; }
.layout-wide .journey-mark>small { max-width:48px; color: #6f786d; font:8px ui-monospace,monospace; line-height:1.6; letter-spacing:.11em; }
.layout-wide .journey-mark>strong { color: #34473b; font-size:34px; font-weight:800; letter-spacing:-.09em; line-height:1; }
.layout-wide .journey-mark>strong>span { color:#d85b32; }
.layout-wide .journey-mark>span { margin-left:4px; color: #6f786d; font-size:10px; }
.layout-wide .journey-footer>span { color: #6f786d; font-size:11px; }
body.motion-paused .journey-flow,body.page-hidden .journey-flow { animation-play-state:paused !important; }
@keyframes journal-route-flow { from { stroke-dashoffset:416; } to { stroke-dashoffset:0; } }

/* Sections and airport entries are horizontal editorial lists. */
.layout-wide .home-section { margin-top: 54px; }
.layout-wide .section-heading { align-items: flex-end; margin: 0 0 28px; padding-top: 23px; border-top: 1px solid #c3c1bb; }
.layout-wide .section-heading .eyebrow { margin-bottom: 10px; font-size: 9px; }
.layout-wide .section-heading h2 { color: #34473b; font-size: 30px; line-height: 1.45; letter-spacing: -.045em; }
.layout-wide .section-heading>a { color: #a34e2d; font-size: 11px; }
.layout-wide .section-heading>a:hover { color: #a34e2d; }
.layout-wide .airport-grid { grid-template-columns: minmax(0,1fr); gap: 0; border-top: 1px solid #c7c5bf; }
.layout-wide .airport-card { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.2fr) 180px; align-items: center; gap: 28px; padding: 30px 26px; overflow: visible; border: 0; border-bottom: 1px solid #d9d7d1; border-radius: 0; background: #fbfaf4; box-shadow: none; transition: background .2s; }
.layout-wide .airport-card:nth-child(2) { background: #f5f4ec; }
.layout-wide .airport-card::before { display: none; }
.layout-wide .airport-card:hover { border-color: #cac8c2; background: #fffdf7; box-shadow: none; transform: none; }
.layout-wide .provider-identity { min-width: 0; }
.layout-wide .airport-card-top { margin-bottom: 14px; gap: 12px; }
.layout-wide .provider-logo { width: 46px; height: 46px; border: 1px solid #dacdbb; border-radius: 3px; background: #eee2d0; color: #a34e2d; font-size: 24px; font-weight: 750; box-shadow: none; }
.layout-wide .provider-logo.variant-2 { border-color: #d1cfc9; background: #e8e6e0; color: #34473b; }
.layout-wide .mini-airport .provider-logo { width: 32px; height: 32px; border-radius: 2px; font-size: 15px; }
.layout-wide .rank { margin-left: auto; color: #6f786d; font-size: 25px; font-weight: 400; }
.layout-wide .rank>span { color: #6f786d; font-size: 8px; }
.layout-wide .airport-card .provider-heading { display: block; }
.layout-wide .airport-card h3 { margin-bottom: 4px; color: #34473b; font-size: 24px; }
.layout-wide .provider-heading .provider-tagline { color: #6f786d; font-size: 11px; }
.layout-wide .airport-card .tag-row { margin: 13px 0 0; }
.layout-wide .provider-data { min-width: 0; padding: 3px 0 3px 28px; border-left: 1px solid #e1dfd9; }
.layout-wide .airport-facts { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin: 0 0 17px; padding-top: 0; border: 0; }
.layout-wide .airport-facts dt { margin-bottom: 4px; color: #6f786d; font-size: 10px; }
.layout-wide .airport-facts dd { color: #34473b; font-size: 33px; font-weight: 650; letter-spacing: -.045em; }
.layout-wide .airport-facts dd small { color: #6f786d; font-size: 10px; }
.layout-wide .provider-summary { margin: 0; color: #6f786d; font-size: 12px; line-height: 1.95; }
.layout-wide .airport-card>.card-actions { flex-direction: column; align-items: stretch; justify-content: center; gap: 9px; padding: 0 0 0 25px; border-left: 1px solid #e1dfd9; }
.layout-wide .airport-card>.card-actions .button { width: 100%; min-height: 43px; padding: 11px 10px; font-size: 11px; }
.layout-wide .airport-card>.card-actions .text-link { justify-content: center; min-height: 34px; font-size: 11px; }
.layout-wide .intro-strip { margin: 0 0 10px; padding: 23px 0; border-top: 0; border-bottom: 1px solid #dbd9d3; gap: 25px; }
.layout-wide .intro-strip>span { min-width: 0; }
.layout-wide .intro-strip .icon { color: #6f786d; }
.layout-wide .intro-strip>span strong { color: #34473b; font-size: 11px; }
.layout-wide .intro-strip>span small { color: #6f786d; font-size: 10px; }

/* A six-entry index and numbered reading columns replace rounded card grids. */
.layout-wide .category-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; border-top: 1px solid #ceccc6; border-left: 1px solid #dbd9d3; }
.layout-wide .category-card { display: grid; grid-template-columns: 42px minmax(0,1fr) 19px; grid-template-rows: auto auto; align-items: center; gap: 5px 14px; padding: 27px 25px; border: 0; border-right: 1px solid #dbd9d3; border-bottom: 1px solid #dbd9d3; border-radius: 0; background: transparent; text-align: left; box-shadow: none; transition: background .2s; }
.layout-wide .category-card:hover { border-color: #dbd9d3; background: #efece0; transform: none; box-shadow: none; }
.layout-wide .category-card .icon-box,.layout-wide .category-card:nth-child(n) .icon-box { grid-column: 1; grid-row: 1/3; width: 40px; height: 40px; margin: 0; border: 1px solid #ded3bc; border-radius: 2px; color: #a34e2d; background: transparent; transform: none; }
.layout-wide .category-card:nth-child(2n) .icon-box { color: #6f786d; border-color: #d8d6d0; }
.layout-wide .category-card .icon-box .icon { width: 20px; height: 20px; }
.layout-wide .category-card h3 { grid-column: 2; margin: 0; color: #34473b; font-size: 17px; font-weight: 650; }
.layout-wide .category-card p { grid-column: 2; color: #6f786d; font-size: 10px; }
.layout-wide .category-arrow { display: flex; grid-column: 3; grid-row: 1/3; align-items: center; color: #6f786d; }
.layout-wide .category-arrow .icon { width: 16px; height: 16px; }
.layout-wide .article-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; counter-reset: journal-article; border-top: 1px solid #d1cfc9; }
.layout-wide .article-card { counter-increment: journal-article; padding: 27px 25px 24px; border: 0; border-left: 1px solid #dfddd7; border-bottom: 1px solid #dfddd7; border-radius: 0; background: transparent; box-shadow: none; transition: background .2s; }
.layout-wide .article-card:nth-child(3n+1) { border-left: 0; }
.layout-wide .article-card::before { content: counter(journal-article,decimal-leading-zero); position: absolute; top: 27px; right: 24px; color: #6f786d; font: 11px ui-monospace,monospace; letter-spacing: .04em; }
.layout-wide .article-card:hover { border-color: #dfddd7; background: #f0f0e5; transform: none; box-shadow: none; }
.layout-wide .article-card h3 { color: #34473b; font-size: 18px; line-height: 1.7; font-weight: 650; }
.layout-wide .article-card h3 a::after { border-radius: 0; }
.layout-wide .article-card p { color: #6f786d; font-size: 12px; line-height: 1.95; }
.layout-wide .card-category { width: fit-content; max-width: calc(100% - 35px); margin-bottom: 21px; padding: 3px 0; border-bottom: 1px solid #d5a77f; color: #a34e2d; font-size: 10px; }
.layout-wide .card-category .icon { width: 14px; height: 14px; }
.layout-wide .card-bottom { border-color: #e3e1db; color: #6f786d; font-size: 10px; padding-top: 15px; }
.layout-wide .card-bottom .icon { color: #6f786d; }
.layout-wide .category-articles { grid-template-columns: repeat(2,minmax(0,1fr)); }
.layout-wide .category-articles .article-card:nth-child(n) { border-left: 1px solid #dfddd7; }
.layout-wide .category-articles .article-card:nth-child(2n+1) { border-left: 0; }

.layout-wide .category-provider-band {
  margin-top: clamp(20px, 2.25vw, 36px);
  border-top: 2px solid var(--journal-forest);
}
.layout-wide .category-provider-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 6px 18px;
  padding: 12px 0;
}
.layout-wide .category-provider-heading h2 { margin: 0; color: var(--ink); font-size: clamp(19px, 1.5vw, 23px); }
.layout-wide .category-provider-heading .text-link { min-height: 40px; }
.layout-wide .category-provider-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-block: 1px solid var(--line);
  background: #f2f0e8;
}
.layout-wide .category-provider-entry {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 16px;
  min-width: 0;
  padding: 16px clamp(14px, 1.5vw, 24px);
}
.layout-wide .category-provider-entry + .category-provider-entry { border-inline-start: 1px solid var(--line); }
.layout-wide .category-provider-entry .mini-airport { flex: 1 1 11rem; border: 0; padding: 0; }
.layout-wide .category-provider-entry .mini-airport .provider-logo { width: 42px; height: 42px; }
.layout-wide .category-provider-entry .mini-airport strong { font-size: 16px; }
.layout-wide .category-provider-entry .mini-airport small { color: #596459; font-size: 12px; overflow-wrap: anywhere; }
.layout-wide .category-provider-entry .mini-official { display: none; }
.layout-wide .category-provider-entry .provider-actions { flex-wrap: wrap; justify-content: flex-start; gap: 4px 14px; padding: 0; }
.layout-wide .category-provider-entry .provider-actions a { min-height: 44px; }
@media (max-width: 1000px) {
  .layout-wide .content-layout.category-reading-layout > .context-sidebar { display: none; }
}
@media (max-width: 760px) {
  .layout-wide .category-provider-grid { grid-template-columns: minmax(0, 1fr); }
  .layout-wide .category-provider-entry + .category-provider-entry { border-inline-start: 0; border-top: 1px solid var(--line); }
}
.layout-wide .home-bottom { grid-template-columns: 1fr 1fr; gap: 56px; margin-top: 60px; padding-top: 28px; border-top: 1px solid #c5c3bd; }
.layout-wide .reading-path h2 { color: #34473b; font-size: 29px; }
.layout-wide .path-step { padding: 19px 0; border-color: #dddbd5; }
.layout-wide .path-step>span:first-child { color: #6f786d; }
.layout-wide .path-step small { color: #6f786d; font-size: 10px; }
.layout-wide .path-step strong { color: #34473b; font-size: 13px; }
.layout-wide .path-step>.icon:last-child { color: #6f786d; }
.layout-wide .risk-panel { padding: 34px 36px; border: 0; border-left: 3px solid #c87944; border-radius: 0; background: #eeeadc; color: #34473b; }
.layout-wide .risk-panel::after { display: none; }
.layout-wide .risk-orbit { width: 36px; height: 36px; margin-bottom: 18px; border: 0; border-radius: 0; color: #a34e2d; background: none; }
.layout-wide .risk-panel .eyebrow { color: #6f786d; }
.layout-wide .risk-panel h2 { color: #34473b; font-size: 30px; font-weight: 700; }
.layout-wide .risk-panel p { color: #6f786d; font-size: 12px; }
.layout-wide .risk-panel .button-secondary { color: #6f786d; border-color: #ccc4a4; background: transparent; font-size: 11px; }
.layout-wide .risk-panel .button-secondary:hover { background: #e4e1cc; }

/* Reading pages use a warm paper surface and ink, without application chrome. */
.layout-wide .breadcrumbs { color: #6f786d; font-size: 11px; margin-bottom: 34px; }
.layout-wide .page-heading { margin-bottom: 40px; }
.layout-wide .page-heading h1 { color: #34473b; font-size: clamp(32px,3.5vw,46px); }
.layout-wide .page-heading p,.layout-wide .article-heading>p { color: #6f786d; font-size: 14px; line-height: 2; }
.layout-wide .heading-icon { border-radius: 2px; color: #a34e2d; background: #ece7d0; }
.layout-wide .category-intro { gap: 50px; }
.layout-wide .category-intro.section-heading-layout {
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.5fr) clamp(220px, 15vw, 280px);
  column-gap: clamp(20px, 2.6vw, 52px);
}
.layout-wide .category-intro.section-heading-airports {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
}
.section-art {
  width: 100%;
  max-width: 920px;
  min-width: 0;
  justify-self: center;
  display: grid;
  justify-items: end;
  align-content: center;
}
.section-art-drawing {
  display: block;
  width: 100%;
  height: auto;
  max-height: 232px;
  stroke-linejoin: round;
  stroke-linecap: round;
  pointer-events: none;
  background-image: radial-gradient(ellipse at center, rgba(212,217,200,.32), transparent 69%);
}
.section-art .art-ink { fill: none; stroke: #567269; stroke-width: 2; }
.section-art .art-light { fill: none; stroke: #a0b1a1; stroke-width: 1.25; }
.section-art .art-accent { fill: none; stroke: #c45d35; stroke-width: 2.5; }
.section-art .art-paper { fill: var(--canvas); stroke: #526f62; stroke-width: 1.8; }
.section-art .art-tint { fill: #e2e8dc; stroke: #6f8979; stroke-width: 1.7; }
.section-art .art-dot { fill: #c45d35; }
.section-art .art-flow { stroke-dasharray: 10 16; }
.section-art .art-pulse { transform-box: fill-box; transform-origin: center; }
.section-art .art-traveler { offset-distance: 48%; offset-anchor: 0 0; }
.layout-wide .section-art .motion-toggle { min-height: 32px; margin: 2px 4px 0 0; padding: 5px 9px; }
.layout-wide .section-art .motion-toggle[hidden] { display: none; }
@media screen and (prefers-reduced-motion: no-preference) {
  .section-art.can-animate .art-flow { animation: section-ink-flow 2.6s linear infinite; }
  .section-art.can-animate .art-pulse { animation: section-ink-pulse 3.2s ease-in-out infinite; }
  .section-art.can-animate .art-drift { animation: section-ink-drift 5s ease-in-out infinite alternate; }
  .section-art.can-animate .art-traveler { animation: section-ink-travel 6s linear -2.5s infinite; }
  body:is(.motion-paused, .page-hidden) .section-art.can-animate * { animation-play-state: paused; }
}
@keyframes section-ink-flow { to { stroke-dashoffset: -52; } }
@keyframes section-ink-pulse { 50% { transform: scale(1.3); opacity: .55; } }
@keyframes section-ink-drift { from { transform: translateY(2px); } to { transform: translateY(-6px); } }
@keyframes section-ink-travel { from { offset-distance: 0%; } to { offset-distance: 100%; } }
@media (max-width: 1000px) {
  .layout-wide .category-intro.section-heading-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); }
  .section-heading-layout > .topic-panel { grid-column: 1 / -1; }
}
@media (max-width: 680px) {
  .layout-wide .category-intro.section-heading-layout { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .section-art-drawing { max-height: 128px; }
  .layout-wide .section-art .motion-toggle { min-height: 42px; margin-top: 0; }
}
@media print { .section-art { display: none; } }
.layout-wide .topic-panel { padding: 22px; border: 0; border-left: 1px solid #d9d7d1; border-radius: 0; background: transparent; box-shadow: none; }
.layout-wide .topic-panel-heading h2 { color: #6f786d; font-size: 14px; }
.layout-wide .topic-panel-heading>span,.layout-wide .topic-panel>p { color: #6f786d; }
.layout-wide .topic-tags button { min-height: 34px; border-color: #dddbd5; border-radius: 2px; color: #6f786d; background: #f1f1e4; font-size: 10px; }
.layout-wide .topic-tags button:hover { border-color: #c8ba93; color: #a34e2d; background: #eee8d4; }
.layout-wide .content-layout { grid-template-columns: minmax(0,1fr) 260px; gap: 58px; }
.layout-wide .article-heading { max-width: 900px; margin-bottom: 42px; padding-bottom: 30px; border-bottom: 1px solid #d1cfc9; }
.layout-wide .article-heading h1 { color: #34473b; font-size: clamp(30px,3.4vw,44px); line-height: 1.5; }
.layout-wide .article-meta { color: #6f786d; font-size: 11px; }
.layout-wide .author-avatar { border-radius: 2px; color: #a34e2d; background: #eadfc1; }
.layout-wide .prose { max-width: 76ch; color: #34473b; font-size: 16px; line-height: 2.1; }
.layout-wide .prose.info-page-body,
.layout-wide .info-page-heading > p { max-width: none; }
.layout-wide .prose h2 { padding-top: 2px; color: #34473b; font-size: 25px; }
.layout-wide .prose h3 { color: #34473b; font-size: 19px; }
.layout-wide .prose strong { color: #34473b; }
.layout-wide .prose li::marker { color: #a34e2d; }
.layout-wide .prose a { color: #a34e2d; text-decoration-color: #d9c097; }
.layout-wide .prose a:hover { color: #a34e2d; text-decoration-color: #ac703a; }
.layout-wide .prose blockquote { border-color: #c49254; border-radius: 0; background: #eee8d4; color: #6f786d; }
.layout-wide .prose code { border-radius: 2px; color: #a34e2d; background: #eae6d0; }
.layout-wide .prose pre { border-color: #dddbd5; border-radius: 2px; background: #f1efe9; }
.layout-wide .prose th { color: #6f786d; background: #f0eee8; }
.layout-wide .prose th,.layout-wide .prose td { border-color: #e1dfd9; }
.layout-wide .prose td { color: #6f786d; }
.layout-wide .callout { border-color: #d9d8b8; border-radius: 2px; background: #eeebd4; color: #6f786d; }
.layout-wide .details-grid>div { border-color: #dcdad4; border-radius: 2px; background: transparent; }
.layout-wide .toc { padding: 22px 0 22px 21px; border: 0; border-left: 1px solid #d2d0ca; border-radius: 0; background: transparent; }
.layout-wide .toc h2 { color: #6f786d; font-size: 14px; }
.layout-wide .toc-link,.layout-wide .toc nav>a { color: #6f786d; border-color: #e2e0da; font-size: 11px; }
.layout-wide .toc-link.active,.layout-wide .toc nav>a.active { border-left-color: #c88543; color: #a34e2d; background: #eee7cd; }
.layout-wide .context-sidebar { scrollbar-color: #c3cfaa transparent; }
.layout-wide .context-promo { padding: 22px; border: 1px solid #dedcd6; border-radius: 2px; background: #f1efe9; }
.layout-wide .context-promo>h3 { color: #34473b; font-size: 17px; }
.layout-wide .context-promo>p { color: #6f786d; font-size: 11px; }
.layout-wide .context-promo .demo-label { color: #6f786d; border-color: #e2e0da; background: transparent; }
.layout-wide .promo-provider { border-color: #dcdad4; }
.layout-wide .context-promo .provider-actions { gap: 9px; }
.layout-wide .context-promo .provider-actions .button { padding: 9px; font-size: 10px; }
.layout-wide .context-promo .provider-actions .text-link { gap: 4px; font-size: 10px; }
.layout-wide .disclosure-link,.layout-wide .article-end { color: #6f786d; text-decoration-color: #c9d6ad; }
.layout-wide .article-promotion { padding: 27px; border: 1px solid #dbd9d3; border-radius: 2px; background: #f1efe9; }
.layout-wide .article-promotion h2 { color: #34473b; font-size: 23px; }
.layout-wide .article-promotion>p { color: #6f786d; font-size: 12px; }
.layout-wide .related-provider { border-color: #dddbd5; background: #f8f8ed; }
.layout-wide .back-link { color: #a34e2d; }
.layout-wide .mobile-toc { border-color: #dedcd6; border-radius: 2px; color: #6f786d; background: #f3f1eb; }
.layout-wide .mobile-toc a { color: #6f786d; }
.layout-wide .sort-controls,.layout-wide .list-count { color: #6f786d; font-size: 11px; }
.layout-wide .sort-controls select { border-color: #d7d5cf; border-radius: 2px; color: #6f786d; background: #f8f9ee; font-size: 11px; }
.layout-wide .empty-state { border-color: #d2d0ca; border-radius: 2px; color: #6f786d; }
.layout-wide .empty-state h1 { color: #6f786d; }
.layout-wide .error-number { color: #6f786d; }

/* The risk archive remains a ruled list rather than a grid of cards. */
.layout-wide .risk-list-heading { color: #6f786d; border-color: #dbd9d3; background: #f1efe9; }
.layout-wide .risk-record { border-color: #dddbd5; border-radius: 0; background: transparent; box-shadow: none; }
.layout-wide .risk-record>summary:hover,.layout-wide .risk-record[open]>summary { background: #f0eee8; }
.layout-wide .risk-record>summary:focus-visible { outline-color: #b98547; }
.layout-wide .risk-brand strong { color: #6f786d; }
.layout-wide .risk-monogram { border-color: #d7d5cf; border-radius: 2px; color: #a34e2d; background: #eae7cf; }
.layout-wide .risk-period,.layout-wide .risk-type { color: #6f786d; }
.layout-wide .risk-field-label,.layout-wide .risk-toggle,.layout-wide .risk-record-body dt,.layout-wide .risk-archive-note { color: #6f786d; }
.layout-wide .risk-record-body dd { color: #6f786d; }
.layout-wide .risk-guide-row { display: flex; align-items: center; gap: 18px; padding: 22px 3px; border-bottom: 1px solid #dddbd5; border-radius: 0; color: #6f786d; background: transparent; }
.layout-wide .risk-guide-row>span { flex: 1; min-width: 0; }
.layout-wide .risk-guide-row strong { display: block; margin-bottom: 5px; color: #6f786d; font-size: 14px; }
.layout-wide .risk-guide-row small { color: #6f786d; font-size: 11px; line-height: 1.9; }
.layout-wide .risk-guide-row>.icon { width: 18px; height: 18px; color: #a34e2d; }
.layout-wide .risk-guide-row:hover { background: #f3f1eb; }
.layout-wide .risk-record#case-tempest-2020 .risk-logo img { filter: brightness(0); }
.layout-wide .risk-logo img { object-fit: contain; }

/* Compact navigation and search adopt the same paper-and-ink materials. */
.layout-wide .page-controls { border-color: #cbc9c3; border-radius: 3px; background: #faf9f0f5; box-shadow: 0 4px 18px #26372108; backdrop-filter: blur(8px); }
.layout-wide .page-controls>a,.layout-wide .page-controls>button { border-radius: 2px; color: #6f786d; font-size: 10px; }
.layout-wide .page-controls small { color: #6f786d; font-size: 9px; }
.layout-wide .page-controls>a:hover,.layout-wide .page-controls>button:hover { color: #a34e2d; background: #ece8d2; }
.layout-wide .page-controls>button { border-color: #dedcd6; border-radius: 0; }
.layout-wide .footer { width: calc(100% - 80px); max-width: 1200px; margin-top: 10px; padding-top: 31px; border-color: #cbc9c3; color: #6f786d; }
.layout-wide .footer-brand { color: #34473b; font-size: 23px; }
.layout-wide .footer-links a:hover { color: #a34e2d; }
.layout-wide .search-dialog { border-color: #d4d2cc; border-radius: 5px; color: #6f786d; background: #faf9f0; box-shadow: 0 24px 90px #2c422529; }
.layout-wide .search-dialog::backdrop { background: #263b2538; backdrop-filter: blur(4px); }
.layout-wide .search-box { border-color: #e0ded8; }
.layout-wide .search-box>.icon { color: #6f786d; }
.layout-wide .search-box input { color: #6f786d; background: transparent; }
.layout-wide .search-box input::placeholder { color: #6f786d; }
.layout-wide .search-box button { border-color: #dddbd5; border-radius: 2px; color: #6f786d; background: #f1efe9; }
.layout-wide .keyword-heading h2 { color: #6f786d; }
.layout-wide .keyword-heading>span { color: #6f786d; }
.layout-wide .keyword-chip { border-color: #dedcd6; border-radius: 2px; color: #6f786d; background: #f2f0ea; }
.layout-wide .keyword-chip>.icon { color: #6f786d; }
.layout-wide .keyword-chip:hover { border-color: #cbb889; color: #a34e2d; background: #eee7cb; transform: none; }
.layout-wide .search-status,.layout-wide .search-hint { color: #6f786d; }
.layout-wide .search-result { border-radius: 2px; }
.layout-wide .search-result:hover,.layout-wide .search-result:focus-visible { background: #f1efe9; }
.layout-wide .search-result small { color: #a34e2d; }
.layout-wide .search-result strong { color: #6f786d; }
.layout-wide .search-result>span,.layout-wide .search-result p { color: #6f786d; }
.layout-wide .search-hint kbd { border-color: #dddbd5; border-radius: 2px; background: #f1efe9; color: #6f786d; }

/* The comparison keeps all fourteen dimensions; surfaces become printed ledger sheets. */
.layout-wide .compare-section { --compare-line:#d2dcc2; --compare-ink:#506b3d; --compare-muted:#8a9d70; }
.layout-wide .compare-section .compare-heading h2 { color: #34473b; }
.layout-wide .compare-section .compare-heading .eyebrow { color: #6f786d; }
.layout-wide .compare-section .compare-heading p { color: #6f786d; }
.layout-wide .compare-section .compare-toolbar { padding: 0 0 14px; border: 0; border-bottom: 1px solid #d7d5cf; border-radius: 0; background: transparent; box-shadow: none; }
.layout-wide .compare-section .compare-jumps a { border-radius: 2px; color: #6f786d; }
.layout-wide .compare-section .compare-jumps a:nth-child(n) .icon { color: #a34e2d; }
.layout-wide .compare-section .compare-jumps a:hover { color: #a34e2d; border-color: #d4c49b; background: #eee8d0; }
.layout-wide .compare-section .compare-filter { border-color: #dbd9d3; border-radius: 2px; background: #f0eee8; }
.layout-wide .compare-section .compare-filter button { border-radius: 1px; color: #6f786d; }
.layout-wide .compare-section .compare-filter button[aria-pressed="true"] { border-color: #d7d5cf; color: #a34e2d; background: #faf7e9; box-shadow: none; }
.layout-wide .compare-section .compare-scroll-hint { color: #6f786d; }
.layout-wide .compare-section .compare-scroll-hint::before { border-color: #c4c2bc; }
.layout-wide .compare-section .compare-table-wrap { border-color: #d3d1cb; border-radius: 3px; background: #fffdf6; box-shadow: none; scrollbar-color: #c1d0a6 #f1f3e1; }
.layout-wide .compare-section .compare-table th,.layout-wide .compare-section .compare-table td { border-bottom-color: #dce4cc; }
.layout-wide .compare-section .compare-table th+th,.layout-wide .compare-section .compare-table th+td,.layout-wide .compare-section .compare-table td+td { border-left-color: #d9e2c7; }
.layout-wide .compare-section .compare-table thead th:first-child { border-top-color: #b7c8a0; color: #6f786d; background: #f2f0ea; }
.layout-wide .compare-section .compare-table thead th:first-child small { color: #6f786d; }
.layout-wide .compare-section .compare-table thead th:nth-child(2) { border-top-color: #c48b45; background: #f2e9d0; }
.layout-wide .compare-section .compare-table thead th:nth-child(3) { border-top-color: #7e9b5c; background: #edebe5; }
.layout-wide .compare-section .compare-table thead th::after { display: none; }
.layout-wide .compare-section .compare-provider .provider-logo { border-color: #dfcda3; border-radius: 2px; color: #a34e2d; background: #f8f0da; box-shadow: none; }
.layout-wide .compare-section .compare-table thead th:nth-child(3) .provider-logo { border-color: #d2d0ca; color: #6f786d; background: #f3f1eb; box-shadow: none; }
.layout-wide .compare-section .compare-provider strong { color: #a34e2d; }
.layout-wide .compare-section .compare-table thead th:nth-child(3) .compare-provider strong { color: #6f786d; }
.layout-wide .compare-section .compare-provider small { color: #6f786d; }
.layout-wide .compare-section .compare-price { border-top-color: #dfd0ac; }
.layout-wide .compare-section .compare-price strong { color: #a34e2d; }
.layout-wide .compare-section .compare-price small { color: #6f786d; }
.layout-wide .compare-section .compare-table thead th:nth-child(3) .compare-price { border-color: #d5d3cd; }
.layout-wide .compare-section .compare-table thead th:nth-child(3) .compare-price strong { color: #6f786d; }
.layout-wide .compare-section .compare-group-title th,.layout-wide .compare-section #compare-fit .compare-group-title th,.layout-wide .compare-section #compare-terms .compare-group-title th { border-color: #dbd9d3; background: #f0eee8; color: #6f786d; box-shadow: none; }
.layout-wide .compare-section .compare-group-title th>span,.layout-wide .compare-section #compare-fit .compare-group-title th>span,.layout-wide .compare-section #compare-terms .compare-group-title th>span { border-color: #d9d7d1; border-radius: 2px; color: #6f786d; background: #fcfaf4; box-shadow: none; }
.layout-wide .compare-section .compare-group-title strong,.layout-wide .compare-section #compare-fit .compare-group-title strong,.layout-wide .compare-section #compare-terms .compare-group-title strong { color: #6f786d; }
.layout-wide .compare-section .compare-group-title small { color: #6f786d; }
.layout-wide .compare-section .compare-row>th { background: #f7f5ef; }
.layout-wide .compare-section .compare-row>th>strong { color: #6f786d; }
.layout-wide .compare-section .compare-row>th>small { color: #6f786d; }
.layout-wide .compare-section .compare-row>td { background: #fffdf6; }
.layout-wide .compare-section .compare-row:nth-child(2n+1)>td:nth-child(2) { background: #fcf8e9; }
.layout-wide .compare-section .compare-row:nth-child(2n+1)>td:nth-child(3) { background: #f9f7f1; }
.layout-wide .compare-section .compare-row:hover>th { background: #f2f0ea; }
.layout-wide .compare-section .compare-row:hover>td:nth-child(2) { background: #f5ecd2; }
.layout-wide .compare-section .compare-row:hover>td:nth-child(3) { background: #f3f1eb; }
.layout-wide .compare-section .compare-value>strong { color: #a34e2d; }
.layout-wide .compare-section .compare-row>td:nth-child(3) .compare-value>strong { color: #6f786d; }
.layout-wide .compare-section .compare-value>span,.layout-wide .compare-section .compare-value ul { color: #6f786d; }
.layout-wide .compare-section .compare-value>small { color: #6f786d; }
.layout-wide .compare-section .compare-value>a { color: #a34e2d; border-color: #dfd1a5; }
.layout-wide .compare-section .compare-row>td:nth-child(3) .compare-value>a { color: #6f786d; border-color: #dfddd7; }
.layout-wide .compare-section .compare-value li::marker { color: #a34e2d; }
.layout-wide .compare-section .compare-row>td:nth-child(3) .compare-value li::marker { color: #6f786d; }
.layout-wide .compare-section .compare-access th { background: #f2f0ea; color: #6f786d; }
.layout-wide .compare-section .compare-access th small { color: #6f786d; }
.layout-wide .compare-section .compare-access td:nth-child(2) { background: #f4ecd2; }
.layout-wide .compare-section .compare-access td:nth-child(3) { background: #f1efe9; }
.layout-wide .compare-section .compare-access .provider-actions .button { border-radius: 2px; }
.layout-wide .compare-section .compare-access .provider-actions .text-link { color: #a34e2d; }
.layout-wide .compare-section .compare-access td:nth-child(3) .provider-actions .text-link { color: #6f786d; }
.layout-wide .compare-section .compare-access td:nth-child(3) .button-primary:not(:disabled):not(.button-disabled) { border-color: #789953; background: #789953; box-shadow: none; }
.layout-wide .compare-section .compare-note { color: #6f786d; }
.layout-wide .compare-section .compare-empty { border-color: #d5d3cd; border-radius: 2px; background: #f7f5ef; color: #6f786d; }
.layout-wide .compare-section .usage-calculator { border-color: #d5d3cd; border-radius: 3px; background: #f0eee8; box-shadow: none; }
.layout-wide .compare-section .usage-calculator::before { display: none; }
.layout-wide .compare-section .usage-heading h3 { color: #6f786d; }
.layout-wide .compare-section .usage-heading .eyebrow,.layout-wide .compare-section .usage-heading p { color: #6f786d; }
.layout-wide .compare-section .usage-controls>label { color: #6f786d; }
.layout-wide .compare-section .usage-input { border-color: #d3d1cb; border-radius: 2px; background: #fbfbee; box-shadow: none; }
.layout-wide .compare-section .usage-input:focus-within { border-color: #c09952; box-shadow: 0 0 0 3px #e8dfb9; }
.layout-wide .compare-section .usage-input input { color: #6f786d; }
.layout-wide .compare-section .usage-input input[aria-invalid="true"] { color: #a34e2d; }
.layout-wide .compare-section .usage-input span { color: #6f786d; }
.layout-wide .compare-section .usage-presets button { border-color: #dddbd5; border-radius: 2px; color: #6f786d; background: #f9f7f1; }
.layout-wide .compare-section .usage-presets button:hover,.layout-wide .compare-section .usage-presets button[aria-pressed="true"] { border-color: #c9b879; color: #a34e2d; background: #f9f2d8; box-shadow: none; }
.layout-wide .compare-section .usage-result { border-color: #ded2a7; border-radius: 2px; background: #fbf8ea; box-shadow: none; }
.layout-wide .compare-section .usage-result:nth-child(2) { border-color: #d8d6d0; box-shadow: none; }
.layout-wide .compare-section .usage-result::before { left: 0; right: 0; height: 2px; border-radius: 0; background: #c6a461; }
.layout-wide .compare-section .usage-result:nth-child(2)::before { background: #aeaca6; }
.layout-wide .compare-section .usage-result .provider-logo { border-color: #e3d8b5; border-radius: 2px; color: #a34e2d; background: #f4eed8; box-shadow: none; }
.layout-wide .compare-section .usage-result:nth-child(2) .provider-logo { border-color: #e0ded8; color: #6f786d; background: #f4f2ec; }
.layout-wide .compare-section .usage-result>header>strong { color: #a34e2d; }
.layout-wide .compare-section .usage-result:nth-child(2)>header>strong { color: #6f786d; }
.layout-wide .compare-section .usage-state { color: #a34e2d; }
.layout-wide .compare-section .usage-result:nth-child(2) .usage-state { color: #6f786d; }
.layout-wide .compare-section .usage-description { color: #6f786d; }
.layout-wide .compare-section .usage-meter { border-color: #e4ddbc; border-radius: 1px; background: #eee8ce; box-shadow: none; }
.layout-wide .compare-section .usage-meter>[data-usage-meter] { border-radius: 0; background: #c9ac6a; box-shadow: none; }
.layout-wide .compare-section .usage-result:nth-child(2) .usage-meter { border-color: #e5e3dd; background: #f0eee8; }
.layout-wide .compare-section .usage-result:nth-child(2) .usage-meter>[data-usage-meter] { background: #b8b6b0; }
.layout-wide .compare-section .usage-cost { border-color: #e6dfc2; color: #6f786d; }
.layout-wide .compare-section .usage-result:nth-child(2) .usage-cost { border-color: #e7e5df; color: #6f786d; }
.layout-wide .compare-section .usage-result[data-over="true"] .usage-state { color: #a34e2d; }
.layout-wide .compare-section .usage-result[data-over="true"]::before,.layout-wide .compare-section .usage-result[data-over="true"] .usage-meter>[data-usage-meter] { background: #cc9c52; }
.layout-wide .compare-section .usage-calculator>.compare-note { color: #6f786d; }
.layout-wide .compare-section .compare-advice>article:nth-child(n) { border-color: #e2e0da; border-radius: 2px; background: transparent; box-shadow: none; }
.layout-wide .compare-section .compare-advice>article:nth-child(n)>.icon { border-color: #dddbd5; border-radius: 2px; color: #a34e2d; background: #f1efe9; }
.layout-wide .compare-section .compare-advice h3 { color: #6f786d; }
.layout-wide .compare-section .compare-advice p { color: #6f786d; }

/* Final ink hierarchy keeps supporting text readable on the paper canvas. */
.layout-wide :is(.hero h1,.page-heading h1,.article-heading h1,.section-heading h2,.reading-path h2,.article-card h3,.category-card h3) { color:#202b2a; }
.layout-wide .hero h1 em { color:#d85b32; }
.layout-wide .prose { color:#465247; }
.layout-wide .prose :is(h2,h3,strong) { color:#29392f; }
.layout-wide .provider-logo.variant-2 { color:#3b5850; background:#e5e9df; border-color:#cbd3c3; }
.layout-wide .airport-facts dd { color:#2f493e; }
.layout-wide .card-category { color:#a34e2d; border-bottom-color:#d5a77f; }
.layout-wide .compare-section .compare-table thead th:nth-child(2) { border-top-color:#c47747; background:#f3ece0; }
.layout-wide .compare-section .compare-table thead th:nth-child(3) { border-top-color:#5e7a69; background:#eaf0e6; }
.layout-wide .compare-section .compare-price strong { color:#b25830; }
.layout-wide .compare-section .compare-table thead th:nth-child(3) .compare-price strong { color:#3b5850; }
.layout-wide .compare-section .compare-provider strong { color:#874b30; }
.layout-wide .compare-section .compare-table thead th:nth-child(3) .compare-provider strong { color:#344e40; }
.layout-wide .compare-section .compare-table thead th:nth-child(3) .provider-logo { color:#4f6b58; background:#f2f5ec; border-color:#ced8c4; }
.layout-wide .compare-section .compare-row>td:nth-child(3) .compare-value>strong { color:#43664e; }
.layout-wide .compare-section .compare-access td:nth-child(3) .button-primary:not(:disabled):not(.button-disabled) { color:#fff; background:#3b5850; border-color:#3b5850; }
.layout-wide .compare-section .usage-calculator { background:#edece2; border-color:#cdd2c3; }
.layout-wide .compare-section .usage-result { background:#fffdf7; }
.layout-wide .compare-section .usage-state { color:#a75a32; }
.layout-wide .compare-section .usage-result:nth-child(2) .usage-state { color:#3b5850; }
.layout-wide .compare-section .usage-result:nth-child(2)::before,.layout-wide .compare-section .usage-result:nth-child(2) .usage-meter>[data-usage-meter] { background:#6b8868; }
.layout-wide .compare-section .usage-result[data-over="true"] .usage-state { color:#a66a2c; }
.layout-wide .compare-section .usage-result[data-over="true"]::before,.layout-wide .compare-section .usage-result[data-over="true"] .usage-meter>[data-usage-meter] { background:#b4894b; }
.layout-wide .compare-section .usage-description,.layout-wide .compare-section .usage-cost { font-size:12px; }
.layout-wide .compare-section .compare-value>small,.layout-wide .compare-section .compare-row>th>small { font-size:11px; }
.layout-wide .compare-section .compare-note { font-size:11px; }
.layout-wide .provider-summary,.layout-wide .article-card p { font-size:13px; }
.layout-wide .category-card p { font-size:11px; }
.layout-wide .topbar .search-trigger,.layout-wide .menu-toggle,.layout-wide .topic-tags button,.layout-wide .keyword-chip { font-size:12px; }
.layout-wide .sidebar-shortcuts a,.layout-wide .sidebar-foot a,.layout-wide .sidebar-compare { font-size:12px; }
.layout-wide .card-bottom,.layout-wide .card-category,.layout-wide .list-count,.layout-wide .sort-controls { font-size:11px; }

@media (max-width:1180px) {
  .layout-wide .topbar { gap: 22px; }
  .layout-wide .desktop-nav { gap: 17px; }
  .layout-wide .main { padding-left: 30px; padding-right: 30px; }
  .layout-wide .airport-card { grid-template-columns: minmax(0,1fr) minmax(0,1.1fr) 150px; gap: 22px; padding-left: 22px; padding-right: 22px; }
  .layout-wide .provider-data { padding-left: 22px; }
  .layout-wide .airport-card>.card-actions { padding-left: 20px; }
  .layout-wide .content-layout { grid-template-columns: minmax(0,1fr) 250px; gap: 36px; }
  .layout-wide .category-card { padding-left: 20px; padding-right: 20px; }
}
@media (max-width:1000px) {
  .layout-wide .main { padding-top: 40px; }
  .layout-wide .hero h1 { font-size: 64px; }
  .layout-wide .airport-card { grid-template-columns: minmax(0,1fr) minmax(0,1.15fr); gap: 24px; }
  .layout-wide .airport-card>.card-actions { grid-column: 1/-1; flex-direction: row; justify-content: flex-start; align-items: center; padding: 18px 0 0; border-left: 0; border-top: 1px solid #e1dfd9; }
  .layout-wide .airport-card>.card-actions .button { width: auto; min-width: 150px; }
  .layout-wide .airport-card>.card-actions .text-link { min-width: 120px; }
  .layout-wide .content-layout { grid-template-columns: minmax(0,1fr); gap: 34px; }
  .layout-wide .category-intro { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .layout-wide .topic-panel { padding: 18px 0; border-left: 0; border-top: 1px solid #d9d7d1; border-bottom: 1px solid #d9d7d1; }
  .layout-wide .category-card { grid-template-columns: 34px minmax(0,1fr) 15px; gap: 5px 10px; padding: 24px 17px; }
  .layout-wide .category-card .icon-box { width: 32px; height: 35px; }
  .layout-wide .category-card h3 { font-size: 15px; }
  .layout-wide .home-bottom { gap: 32px; }
  .layout-wide .journey-stops { gap:12px; padding-left:20px; padding-right:20px; }
  .layout-wide .journey-stop { gap:8px; grid-template-columns:25px minmax(0,1fr) 12px; padding-left:12px; padding-right:12px; }
  .layout-wide .journey-icon { width:25px; }
  .layout-wide .journey-label strong { font-size:14px; }
}
@media (max-width:760px) {
  .layout-wide .topbar { position: sticky; top: 0; z-index: 40; width: 100%; min-height: 71px; margin: 0; padding: 15px 21px; border-color: #ceccc6; background: #f7f5f0f5; backdrop-filter: blur(10px); }
  .layout-wide .header-brand strong { font-size: 23px; }
  .layout-wide .header-brand img { width: 34px; height: 34px; }
  .layout-wide .main { padding: 32px 22px 65px; }
  .layout-wide .hero { padding-top: 16px; }
  .layout-wide .hero h1 { margin-bottom: 23px; font-size: 53px; line-height: 1.23; }
  .layout-wide .hero p { font-size: 14px; }
  .layout-wide .hero .eyebrow { margin-bottom: 24px; font-size: 9px; }
  .layout-wide .hero-actions { gap: 10px; }
  .layout-wide .hero-actions .button { font-size: 12px; min-height: 44px; padding: 11px 17px; }
  .layout-wide .hero-footnote { font-size: 9px; margin-top: 23px; }
  .layout-wide .hero-art.journey-art { margin-top: 34px; }
  .layout-wide .home-section { margin-top: 39px; }
  .layout-wide .section-heading { padding-top: 19px; margin-bottom: 21px; gap: 15px; }
  .layout-wide .section-heading h2 { font-size: 24px; }
  .layout-wide .section-heading>a { font-size: 10px; }
  .layout-wide .airport-card { padding: 24px 18px; gap: 20px; }
  .layout-wide .airport-card h3 { font-size: 22px; }
  .layout-wide .rank { font-size: 22px; }
  .layout-wide .rank>span { display: none; }
  .layout-wide .airport-facts { gap: 13px; }
  .layout-wide .airport-facts dd { font-size: 28px; }
  .layout-wide .airport-facts dd small { display: block; font-size: 9px; }
  .layout-wide .provider-summary { font-size: 11px; }
  .layout-wide .intro-strip { gap: 17px; padding: 21px 0; }
  .layout-wide .intro-strip>span strong { font-size: 10px; }
  .layout-wide .intro-strip>span small { font-size: 10px; }
  .layout-wide .category-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .layout-wide .category-card { padding: 23px 18px; }
  .layout-wide .article-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .layout-wide .article-card:nth-child(n) { border-left: 1px solid #dfddd7; }
  .layout-wide .article-card:nth-child(2n+1) { border-left: 0; }
  .layout-wide .article-card { padding: 24px 20px 21px; }
  .layout-wide .article-card::before { top: 25px; right: 19px; }
  .layout-wide .article-card h3 { font-size: 16px; }
  .layout-wide .article-card p { font-size: 13px; }
  .layout-wide .home-bottom { grid-template-columns: minmax(0,1fr); gap: 30px; margin-top: 40px; }
  .layout-wide .reading-path h2 { font-size: 26px; }
  .layout-wide .risk-panel { padding: 28px 29px; }
  .layout-wide .risk-panel h2 { font-size: 27px; }
  .layout-wide .page-heading h1 { font-size: 33px; }
  .layout-wide .article-heading { margin-bottom: 30px; padding-bottom: 25px; }
  .layout-wide .article-heading h1 { font-size: 30px; }
  .layout-wide .article-heading>p,.layout-wide .page-heading p { font-size: 13px; }
  .layout-wide .prose { font-size: 15px; line-height: 2.05; }
  .layout-wide .prose h2 { font-size: 23px; }
  .layout-wide .prose h3 { font-size: 18px; }
  .layout-wide .footer { width: calc(100% - 44px); padding-top: 26px; }
  .layout-wide .compare-section .compare-table thead th:first-child { background: #f2f0ea; }
  .layout-wide .compare-section .compare-row>th { background: #f7f5ef; }
  .layout-wide .journey-topline { padding:18px 20px 0; }
  .layout-wide .journey-stops { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 16px; padding:16px 20px 0; }
  .layout-wide .journey-stop { min-height:78px; grid-template-columns:32px minmax(0,1fr) 14px; gap:12px; }
  .layout-wide .journey-scene { min-height:292px; }
  .layout-wide .journey-routes { height:135px; }
  .layout-wide .journey-label small { font-size:11px; }
  .layout-wide .journey-label strong { font-size:15px; }
  .layout-wide .journey-footer { padding:15px 20px; gap:15px; }
  .layout-wide .journey-footer>span { font-size:11px; }
  .layout-wide .journey-mark>span { display:none; }
  .layout-wide .category-card p { font-size:11px; }
  .layout-wide .topic-tags button,.layout-wide .keyword-chip { min-height:40px; font-size:12px; }
  .layout-wide .main-nav a,.layout-wide .sidebar-shortcuts a { font-size:13px; }
  .layout-wide .airport-card>.card-actions .button,.layout-wide .airport-card>.card-actions .text-link { font-size:12px; }
  .layout-wide .button,.layout-wide .text-link { font-size:12px; }
  .layout-wide .section-heading>a { font-size:12px; }
}
@media (max-width:520px) {
  .layout-wide .topbar { padding-left: 17px; padding-right: 17px; gap: 10px; }
  .layout-wide .main { padding-left: 18px; padding-right: 18px; }
  .layout-wide .hero h1 { font-size: clamp(39px,11vw,52px); }
  .layout-wide .hero p { font-size: 14px; }
  .layout-wide .hero-actions .button { padding-left: 13px; padding-right: 13px; font-size: 12px; }
  .layout-wide .hero-footnote { gap: 10px; }
  .layout-wide .airport-card { grid-template-columns: minmax(0,1fr); gap: 20px; padding: 23px 18px; }
  .layout-wide .provider-data { padding: 19px 0 0; border-left: 0; border-top: 1px solid #e1dfd9; }
  .layout-wide .airport-card>.card-actions { grid-column: auto; padding-top: 16px; }
  .layout-wide .airport-card>.card-actions .button { min-width: 0; flex: 1; }
  .layout-wide .airport-card>.card-actions .text-link { min-width: 0; flex: 1; }
  .layout-wide .airport-facts dd { font-size: 34px; }
  .layout-wide .airport-facts dd small { display: inline; }
  .layout-wide .provider-summary { font-size: 12px; }
  .layout-wide .category-card { grid-template-columns: 1fr 17px; gap: 7px 9px; padding: 22px 17px; }
  .layout-wide .category-card .icon-box { grid-column: 1; grid-row: 1; margin-bottom: 8px; }
  .layout-wide .category-card h3 { grid-column: 1; grid-row: 2; font-size: 16px; }
  .layout-wide .category-card p { grid-column: 1; grid-row: 3; font-size: 11px; }
  .layout-wide .category-arrow { grid-column: 2; grid-row: 1; }
  .layout-wide .article-grid,.layout-wide .category-articles { grid-template-columns: minmax(0,1fr); }
  .layout-wide .article-card:nth-child(n),.layout-wide .category-articles .article-card:nth-child(n) { border-left: 0; padding: 25px 5px 23px; }
  .layout-wide .article-card::before { right: 6px; }
  .layout-wide .article-card h3 { font-size: 18px; }
  .layout-wide .article-card p { font-size: 13px; }
  .layout-wide .card-category { margin-bottom: 16px; }
  .layout-wide .section-heading { align-items: flex-start; }
  .layout-wide .section-heading h2 { font-size: 22px; }
  .layout-wide .section-heading>a { padding-top: 27px; font-size: 12px; }
  .layout-wide .intro-strip { gap: 9px; }
  .layout-wide .intro-strip>span small { font-size: 10px; }
  .layout-wide .article-heading h1 { font-size: 27px; }
  .layout-wide .page-heading h1 { font-size: 30px; }
  .layout-wide .related-grid { grid-template-columns: minmax(0,1fr); }
  .layout-wide .footer { width: calc(100% - 36px); }
  .layout-wide .journey-topline { padding-left:16px; padding-right:16px; }
  .layout-wide .journey-topline>small { font-size:7px; letter-spacing:.04em; }
  .layout-wide .journey-topline>span { font-size:11px; }
  .layout-wide .journey-stops { padding-left:14px; padding-right:14px; gap:19px 12px; }
  .layout-wide .journey-stop { grid-template-columns:23px minmax(0,1fr) 11px; gap:7px; padding:16px 9px; }
  .layout-wide .journey-icon { width:23px; }
  .layout-wide .journey-icon .icon { width:20px; height:20px; }
  .layout-wide .journey-label strong { font-size:13px; }
  .layout-wide .journey-label small { font-size:11px; }
  .layout-wide .journey-stop>.icon { width:11px; height:11px; }
  .layout-wide .journey-footer { flex-wrap:wrap; padding:14px 16px; }
  .layout-wide .journey-mark>strong { font-size:30px; }
  .layout-wide .journey-mark>small { font-size:7px; }
  .layout-wide .journey-footer>span { display:none; }
}
@media (prefers-reduced-motion:reduce) {
  .layout-wide .journey-art * { animation: none !important; transition: none !important; }
  .layout-wide .button-primary:hover { transform: none; }
}
@media print {
  body.layout-wide { background: #fff; color: #000; }
  .layout-wide .hero-art.journey-art { display: none !important; }
  .layout-wide .article-card { break-inside: avoid; }
}

/* Final shared accents and readable list labels. */
.layout-wide .card-category .icon-box { color: #a34e2d; background: #eee8dd; border-radius: 2px; }
.layout-wide .hero .eyebrow::before { display: none; }
.layout-wide .risk-brand strong { font-size: 14px; color: #34433c; }
.layout-wide .risk-record-body dd { font-size: 14px; }
@media (min-width: 1181px) {
  .layout-wide .desktop-nav a { font-size: 13px; }
  .layout-wide .risk-period { font-size: 13px; }
  .layout-wide .risk-type { font-size: 12px; }
}

/* Real provider identities and the detailed package ledger. */
.layout-wide .provider-logo.has-image { padding: 3px; overflow: hidden; border-color: #deded4; background: #fff; box-shadow: none; }
.layout-wide .provider-logo.has-image img { display: block; width: 100%; height: 100%; max-width: 100%; border-radius: 0; object-fit: contain; object-position: center; }
.layout-wide .compare-section .compare-provider .provider-logo.has-image,
.layout-wide .compare-section .compare-table thead th:nth-child(3) .provider-logo.has-image,
.layout-wide .compare-section .usage-result .provider-logo.has-image,
.layout-wide .compare-section .usage-result:nth-child(2) .provider-logo.has-image { padding: 3px; border-color: #deded4; background: #fff; box-shadow: none; }
.layout-wide .provider-detail-heading > .provider-logo.has-image { width: 76px; height: 76px; padding: 5px; border-radius: 3px; }
.layout-wide .provider-profile-intro { margin: 0 0 24px; color: #52604f; font-size: 15px; line-height: 2; }
.layout-wide .provider-profile-intro > :last-child { margin-bottom: 0; }
.layout-wide .provider-platforms { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 18px 0 26px; }
.layout-wide .provider-platforms > span { display: inline-flex; align-items: center; gap: 7px; min-height: 35px; padding: 7px 11px; border: 1px solid #dcded2; border-radius: 2px; background: #f1f1e7; color: #5c6a53; font-size: 12px; font-weight: 500; line-height: 1.5; }
.layout-wide .provider-platforms .icon { width: 16px; height: 16px; flex: 0 0 16px; color: #8a805b; }
.layout-wide .provider-plans { min-width: 0; margin: 38px 0; }
.layout-wide .provider-plans > h2 { margin: 0 0 12px; scroll-margin-top: 110px; }
.layout-wide .provider-plans .pricing-note { margin: 0 0 17px; color: #747b6c; font-size: 12px; line-height: 1.9; }
.layout-wide .provider-plan-scroll { width: 100%; max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; border: 1px solid #cfd5c5; border-radius: 2px; background: #fffdf7; scrollbar-width: thin; scrollbar-color: #bfc9af #f1f2e7; }
.layout-wide .provider-plan-scroll:focus-visible { outline: 2px solid #af683c; outline-offset: 4px; }
.layout-wide .provider-plan-table { width: 100%; min-width: 650px; margin: 0; border-collapse: separate; border-spacing: 0; table-layout: fixed; text-align: left; font-size: 13px; line-height: 1.8; }
.layout-wide .provider-plan-table th,.layout-wide .provider-plan-table td { min-width: 0; padding: 14px 15px; border: 0; border-bottom: 1px solid #e0e4d6; vertical-align: top; color: #596950; text-align: left; overflow-wrap: anywhere; }
.layout-wide .provider-plan-table thead th { background: #ecefe1; color: #687b58; font-size: 12px; font-weight: 600; }
.layout-wide .provider-plan-table thead th:first-child { width: 23%; }
.layout-wide .provider-plan-table thead th:nth-child(2) { width: 16%; }
.layout-wide .provider-plan-table thead th:nth-child(3) { width: 15%; }
.layout-wide .provider-plan-table thead th:nth-child(4) { width: 22%; }
.layout-wide .provider-plan-table thead th:nth-child(5) { width: 24%; }
.layout-wide .provider-plan-table tbody th,.layout-wide .provider-plan-table tbody td:first-child { color: #3c5234; font-weight: 600; background: transparent; }
.layout-wide .provider-plan-table tbody td:nth-child(2) { color: #a36938; font-weight: 650; font-variant-numeric: tabular-nums; }
.layout-wide .provider-plan-table tbody td:nth-child(4) { font-variant-numeric: tabular-nums; }
.layout-wide .provider-plan-table tbody tr:nth-child(even) > * { background: #f7f8ed; }
.layout-wide .provider-plan-table tbody tr:last-child > * { border-bottom: 0; }
.layout-wide .provider-plan-table td small { display: block; margin-top: 4px; color: #7c8b6a; font-size: 11px; line-height: 1.8; }
.layout-wide .provider-plan-caption { margin: 12px 1px 0; color: #7c876f; font-size: 12px; line-height: 1.9; }
@media (max-width: 760px) {
  .layout-wide .provider-profile-intro { font-size: 14px; }
  .layout-wide .provider-platforms { gap: 7px; }
  .layout-wide .provider-platforms > span { min-height: 36px; font-size: 12px; }
  .layout-wide .provider-plans { margin: 31px 0; }
  .layout-wide .provider-plan-table th,.layout-wide .provider-plan-table td { padding: 13px 14px; }
  .layout-wide .provider-plans .pricing-note,.layout-wide .provider-plan-caption { font-size: 12px; }
  .layout-wide .provider-detail-heading > .provider-logo.has-image { width: 65px; height: 65px; margin-left: 14px; }
}
@media print {
  .layout-wide .provider-plan-scroll { overflow: visible; }
  .layout-wide .provider-plan-table { min-width: 0; font-size: 9pt; }
  .layout-wide .provider-plan-table th,.layout-wide .provider-plan-table td { padding: 6pt; }
  .layout-wide .provider-plan-table tr { break-inside: avoid; }
}

/* Keep the masthead visible while reading; the drawer and modal remain above it. */
:root { scroll-padding-top: 108px; }
.layout-wide .topbar {
  position: sticky;
  top: 0;
  z-index: 40;
  border-bottom-color: #ceccc6;
  background: #f7f5f0f7;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  box-shadow: none;
}
@media (min-width: 1001px) {
  .layout-wide .context-sidebar { top: 110px; max-height: calc(100dvh - 134px); }
}
@media (max-width: 760px) {
  :root { scroll-padding-top: 90px; }
}

/* Desktop pages use the available screen; long-form reading keeps its own measure. */
@media screen and (min-width: 1001px) {
  .layout-wide { --desktop-gutter: clamp(24px, 3vw, 64px); }
  .layout-wide .main {
    width: 100%;
    max-width: none;
    padding-left: var(--desktop-gutter);
    padding-right: var(--desktop-gutter);
  }
  .layout-wide .topbar,
  .layout-wide .footer {
    width: calc(100% - var(--desktop-gutter) - var(--desktop-gutter));
    max-width: none;
    margin-left: auto;
    margin-right: auto;
  }
  .layout-wide .article-layout {
    width: 100%;
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
  }
  .layout-wide .article-heading {
    width: 100%;
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
  }
  .layout-wide .article-heading h1,
  .layout-wide .article-heading > p { max-width: 940px; }
  .layout-wide .article-layout .prose { max-width: 76ch; }
  .layout-wide .hero-art.journey-art { width: 100%; max-width: none; }
  .layout-wide .journey-scene { width: 100%; max-width: none; min-height: 218px; aspect-ratio: 1200 / 220; }
  .layout-wide .journey-stops { width: 100%; max-width: none; }
  .layout-wide .journey-routes { width: 100%; height: 100%; max-width: none; }
}

/* A quiet discovery line between the page content and the publication footer. */
.layout-wide .footer-discovery { min-width: 0; margin: 56px 0 0; padding: 28px 0; border-top: 1px solid #d2d4c9; background: transparent; }
.layout-wide .footer-discovery-heading { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px 16px; margin: 0 0 18px; }
.layout-wide .footer-discovery-heading > div { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px 16px; min-width: 0; }
.layout-wide .footer-discovery-heading h2 { margin: 0; color: #34473b; font-size: 17px; font-weight: 650; line-height: 1.5; letter-spacing: -.02em; }
.layout-wide .footer-discovery-heading small { color: #7a8372; font-size: 12px; font-weight: 400; line-height: 1.8; }
.layout-wide .footer-discovery-heading > .icon { align-self: center; width: 18px; height: 18px; margin-left: auto; color: #a8794a; }
.layout-wide .footer-keywords { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; min-width: 0; }
.layout-wide .footer-keywords button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-width: 0; max-width: 100%; min-height: 40px; padding: 8px 13px; border: 1px solid #dadcd0; border-radius: 2px; color: #68765d; background: #fbfaf3; font: inherit; font-size: 13px; font-weight: 450; line-height: 1.6; text-align: center; white-space: normal; overflow-wrap: anywhere; cursor: pointer; transition: border-color .18s, background .18s, color .18s; }
.layout-wide .footer-keywords button > .icon { width: 13px; height: 13px; flex: 0 0 13px; color: #9da889; }
.layout-wide .footer-keywords button:hover { border-color: #d5b38a; color: #a45b32; background: #f1e7d7; }
.layout-wide .footer-keywords button:hover > .icon { color: #af7f4c; }
.layout-wide .footer-keywords button:focus-visible { outline: 2px solid #b66c3b; outline-offset: 3px; }
@media (max-width: 760px) {
  .layout-wide .footer-discovery { margin-top: 44px; padding: 25px 0; }
  .layout-wide .footer-discovery-heading { gap: 6px 12px; margin-bottom: 16px; }
  .layout-wide .footer-discovery-heading h2 { font-size: 16px; }
  .layout-wide .footer-keywords button { flex: 1 1 auto; font-size: 12px; }
}
@media (scripting: none), print {
  .layout-wide .footer-discovery { display: none !important; }
}

/* Keep the mobile icon in its own row; match the desktop nth-child specificity. */
@media screen and (max-width: 520px) {
  .layout-wide .category-card {
    grid-template-rows: 40px auto auto;
    align-items: start;
    row-gap: 12px;
    padding: 21px 17px;
  }
  .layout-wide .category-card .icon-box,
  .layout-wide .category-card:nth-child(n) .icon-box {
    grid-column: 1;
    grid-row: 1;
    width: 36px;
    height: 36px;
    margin: 0;
    align-self: start;
  }
  .layout-wide .category-card h3 { grid-row: 2; margin: 0; line-height: 1.5; }
  .layout-wide .category-card p { grid-row: 3; margin: 0; line-height: 1.8; }
  .layout-wide .category-arrow { grid-row: 1; align-self: start; padding-top: 8px; }
}

/* Compact screens keep the complete navigation on a separate, scrollable row. */
@media screen and (max-width: 1100px) {
  :root { scroll-padding-top: 132px; }
  .layout-wide .topbar {
    position: sticky;
    top: 0;
    z-index: 40;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    align-items: center;
    gap: 10px 16px;
    width: 100%;
    max-width: none;
    min-height: 0;
    margin: 0;
    padding: 14px 24px 0;
    border: 0;
    border-bottom: 1px solid #cfcfc3;
    border-radius: 0;
    background: #f7f5f0fa;
    box-shadow: none;
  }
  .layout-wide .topbar .header-brand { grid-column: 1; grid-row: 1; justify-self: start; min-width: 0; gap: 10px; }
  .layout-wide .topbar .header-actions { grid-column: 2; grid-row: 1; min-width: 0; margin: 0; gap: 8px; }
  .layout-wide .topbar .search-trigger,
  .layout-wide .topbar .menu-toggle { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; height: auto; padding: 10px 12px; font-size: 12px; }
  .layout-wide .topbar .search-trigger > span,
  .layout-wide .topbar .menu-toggle > span { display: inline; }
  .layout-wide .topbar .search-trigger kbd { display: none; }
  .layout-wide .topbar .desktop-nav {
    grid-column: 1 / -1;
    grid-row: 2;
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    justify-content: flex-start;
    gap: 4px;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    min-height: 48px;
    margin: 0;
    padding: 0;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    scroll-padding-inline: 8px;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    border-top: 1px solid #e1dfd5;
  }
  .layout-wide .topbar .desktop-nav::-webkit-scrollbar { display: none; }
  .layout-wide .topbar .desktop-nav a {
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 11px 13px 12px;
    border-radius: 2px 2px 0 0;
    color: #64715c;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.6;
    white-space: nowrap;
  }
  .layout-wide .topbar .desktop-nav a:hover { color: #a4512d; background: #f0eadf; }
  .layout-wide .topbar .desktop-nav a.active { color: #a34e2d; background: #f2e9db; font-weight: 650; }
  .layout-wide .topbar .desktop-nav a.active::after { left: 13px; right: 13px; bottom: 0; height: 2px; border-radius: 0; background: #c66b3c; }
  .layout-wide .topbar .desktop-nav a:focus-visible { outline: 2px solid #b76a39; outline-offset: -3px; }
}
@media screen and (min-width: 1001px) and (max-width: 1100px) {
  .layout-wide .context-sidebar { top: 138px; max-height: calc(100dvh - 158px); }
}
@media screen and (max-width: 760px) {
  .layout-wide .topbar { padding-left: 21px; padding-right: 21px; }
}
@media screen and (max-width: 520px) {
  .layout-wide .topbar { padding-left: 17px; padding-right: 17px; column-gap: 12px; }
  .layout-wide .topbar .search-trigger { padding: 10px; }
  .layout-wide .topbar .search-trigger > span { display: none; }
  .layout-wide .topbar .desktop-nav { gap: 2px; }
  .layout-wide .topbar .desktop-nav a { padding-left: 12px; padding-right: 12px; }
  .layout-wide .topbar .desktop-nav a.active::after { left: 12px; right: 12px; }
}

/* Provider profiles share one column grid from the heading through the reading sections. */
.layout-wide .provider-detail-heading,
.layout-wide .provider-detail-layout {
  --profile-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  --profile-gap: clamp(20px, 2.4vw, 44px);
  --profile-sidebar: clamp(205px, 15vw, 260px);
  --profile-sidebar-gap: clamp(24px, 2.5vw, 48px);
}
.layout-wide .provider-detail-heading {
  display: grid;
  grid-template-columns: var(--profile-columns);
  align-items: center;
  gap: var(--profile-gap);
  margin-bottom: clamp(24px, 3vw, 46px);
  padding: 0 calc(var(--profile-sidebar) + var(--profile-sidebar-gap)) 24px 0;
  border-bottom: 1px solid var(--line);
}
.layout-wide .provider-detail-heading::after { content: none; }
.layout-wide .provider-detail-heading .provider-heading-id { min-width: 0; }
.layout-wide .provider-detail-heading .eyebrow { margin-bottom: 12px; }
.layout-wide .provider-detail-heading .provider-heading-name { display: flex; align-items: center; gap: clamp(12px, 1.25vw, 22px); }
.layout-wide .provider-detail-heading .provider-heading-name .provider-logo {
  flex: none;
  width: clamp(48px, 4.8vw, 76px);
  height: clamp(48px, 4.8vw, 76px);
  padding: 4px;
  margin: 0;
}
.layout-wide .provider-detail-heading h1 { min-width: 0; margin: 0; line-height: 1.2; overflow-wrap: anywhere; }
.layout-wide .provider-detail-heading > p { max-width: 48em; margin: 0; color: #536057; }
.layout-wide .provider-detail-layout { grid-template-columns: minmax(0, 1fr) var(--profile-sidebar); gap: var(--profile-sidebar-gap); }
.layout-wide .provider-detail-layout > .provider-detail-body { min-width: 0; width: 100%; max-width: none; }
.layout-wide .provider-detail-body .provider-reading-grid {
  display: grid;
  grid-template-columns: var(--profile-columns);
  align-items: start;
  gap: var(--profile-gap);
}
.layout-wide .provider-detail-body section { min-width: 0; }
.layout-wide .provider-detail-body section > h2 { margin: 0 0 12px; padding: 0; line-height: 1.45; }
.layout-wide .provider-detail-body h2[id] { scroll-margin-top: 8px; } /* The sticky masthead sets scroll-padding on the root. */
.layout-wide .provider-detail-body .provider-profile-intro { margin: 0 0 clamp(20px, 2vw, 32px); }
.layout-wide .provider-detail-body .provider-actions { flex-wrap: wrap; justify-content: flex-start; gap: 16px; }
.layout-wide .provider-detail-body .provider-actions .button-primary { color: #fffdf8; text-decoration: none; }
.layout-wide .provider-takeaways {
  margin: 0 0 clamp(24px, 2.4vw, 38px);
  padding-top: 14px;
  border-top: 2px solid var(--journal-forest);
}
.layout-wide .provider-takeaways > h2 { color: var(--ink); font-size: 20px; }
.layout-wide .provider-takeaway-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2.1vw, 36px);
  margin: 0;
  padding: 0;
  list-style: none;
}
.layout-wide .provider-takeaway-list > li { margin: 0; padding: 0; border-top: 1px solid var(--line); }
.layout-wide .provider-takeaway-list a { display: block; height: 100%; padding: 12px 0 3px; text-decoration: none; }
.layout-wide .provider-takeaway-list .takeaway-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: var(--journal-forest);
  font-size: 15px;
  font-weight: 650;
  line-height: 1.5;
}
.layout-wide .provider-takeaway-list svg { flex: none; width: 15px; height: 15px; color: var(--green); }
.layout-wide .provider-takeaway-list .takeaway-text { display: block; margin-top: 6px; color: #526057; font-size: 14px; line-height: 1.75; }
.layout-wide .provider-takeaway-list a:is(:hover, :focus-visible) .takeaway-label { color: var(--green-dark); text-decoration: underline; text-underline-offset: 4px; }
.layout-wide .provider-takeaway-list a:focus-visible { outline: 2px solid var(--green); outline-offset: 3px; }
@media (max-width: 760px) {
  .layout-wide .provider-takeaway-list { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .layout-wide .provider-takeaway-list a { padding: 12px 0; }
}
.layout-wide .provider-detail-body .provider-specs {
  padding: clamp(16px, 1.5vw, 26px);
  border-top: 2px solid #ae5936;
  background: #f1ede4;
}
.layout-wide .provider-detail-body .provider-specs > h2 { margin-bottom: 4px; font-size: 20px; }
.layout-wide .provider-detail-body .specs-note { margin: 0 0 12px; color: #61665c; font-size: 13px; line-height: 1.7; }
.layout-wide .provider-detail-body .provider-spec-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 28rem), 1fr));
  column-gap: var(--profile-gap);
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: spec;
}
.layout-wide .provider-detail-body .provider-spec-list > li {
  display: grid;
  grid-template-columns: 2ch minmax(4em, auto) minmax(0, 1fr);
  align-items: baseline;
  gap: 10px;
  margin: 0;
  padding: 9px 0;
  border-top: 1px solid #d7d2c5;
  font-size: 14px;
  line-height: 1.6;
  counter-increment: spec;
}
.layout-wide .provider-detail-body .provider-spec-list > li::before {
  content: counter(spec, decimal-leading-zero);
  color: #9b4a2c;
  font: 600 12px/1.6 ui-monospace, monospace;
}
.layout-wide .provider-detail-body .spec-label { color: #596258; }
.layout-wide .provider-detail-body .spec-value { text-align: end; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.layout-wide .provider-detail-body .provider-reading-grid > section { padding-top: 20px; border-top: 1px solid var(--line); }
.layout-wide .provider-detail-body .provider-reading-grid > section > :last-child { margin-bottom: 0; }
@media (max-width: 1000px) {
  .layout-wide .provider-detail-heading { padding-right: 0; }
  .layout-wide .provider-detail-layout { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
  .layout-wide .provider-detail-heading,
  .layout-wide .provider-detail-layout { --profile-columns: minmax(0, 1fr); }
  .layout-wide .provider-detail-heading { gap: 16px; padding-bottom: 20px; }
  .layout-wide .provider-detail-body .provider-spec-list > li { column-gap: 8px; }
}
