.translation-note { max-width: 76rem; margin: 1rem auto; padding: .8rem 1rem; border-inline-start: 3px solid #b48312; background: #fff8e6; color: #344944; font-size: .9rem; line-height: 1.5; }
[data-source-fallback="true"] { unicode-bidi: isolate; }

:root {
  --canvas: #f2f0eb;
  --ceramic: #edebe9;
  --surface: #ffffff;
  --ink: rgba(0, 0, 0, .87);
  --muted: rgba(0, 0, 0, .61);
  --border: rgba(30, 57, 50, .18);
  --brand: #0a5b55;
  --accent: #c44b2c;
  --house: #123b3a;
  --uplift: #255653;
  --mint: #dcebe7;
  --signal: #8a4b00;
  --danger: #b9332a;
  --font: "Segoe UI Variable", "Segoe UI", Roboto, Arial, sans-serif;
  --mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --shell: min(1440px, calc(100vw - 64px));
  --ease: cubic-bezier(.2, 0, 0, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--canvas); color: var(--ink); font: 400 16px/1.55 var(--font); letter-spacing: -.005em; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
button, input { font: inherit; }
button { cursor: pointer; }
.primary-button, .secondary-button, .hero-search button, .feedback-panel button, .payment-reserve button, .load-more-panel button, .app-filter button, .search-input button, .suggested button, #retry-search, .back-to-top, .search-filters button, .wf-copy { display: inline-flex; align-items: center; justify-content: center; text-align: center; line-height: 1.2; letter-spacing: .01em; }
.wf-copy { min-height: 44px; }
a:focus-visible, button:focus-visible, input:focus-visible, summary:focus-visible { outline: 3px solid #fff; outline-offset: 2px; box-shadow: 0 0 0 6px #4a2100; }
.skip-link { position: fixed; z-index: 1000; inset-block-start: 8px; inset-inline-start: 8px; transform: translateY(-140%); padding: 10px 16px; border-radius: 50px; background: var(--surface); }
.skip-link:focus { transform: translateY(0); }
.eyebrow, .section-label, .status-row, .article-actions > span { font: 600 11px/1.2 var(--mono); letter-spacing: .09em; text-transform: uppercase; }

.topbar { position: relative; z-index: 20; background: var(--surface); box-shadow: 0 1px 3px rgba(0,0,0,.1), 0 2px 2px rgba(0,0,0,.06), 0 0 2px rgba(0,0,0,.07); }
.topbar-inner { width: var(--shell); height: 82px; margin: auto; display: grid; grid-template-columns: 260px 1fr auto; align-items: center; gap: 24px; }
.wordmark { min-height: 44px; display: flex; align-items: center; gap: 9px; color: var(--house); letter-spacing: -.02em; }
.waymark { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: var(--house); color: #fff; }
.wordmark b { font-size: 16px; font-weight: 700; }
.wordmark em { padding-inline-start: 8px; border-inline-start: 1px solid var(--border); color: var(--brand); font-size: 12px; font-style: normal; font-weight: 600; letter-spacing: .08em; }
.desktop-nav { display: flex; justify-content: center; gap: clamp(20px, 3vw, 46px); }
.desktop-nav a { position: relative; min-height: 44px; display: grid; place-items: center; font-size: 14px; font-weight: 600; }
.desktop-nav a::after { content: ""; position: absolute; left: 50%; right: 50%; bottom: 5px; height: 2px; background: var(--accent); transition: left 150ms var(--ease), right 150ms var(--ease); }
.desktop-nav a:hover::after { left: 0; right: 0; }
.nav-actions { display: flex; align-items: center; gap: 10px; }
.language-switcher { position: relative; flex: 0 0 auto; }
.language-switcher-trigger { min-width: 48px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 0 13px; border: 1px solid var(--border); border-radius: 999px; background: var(--surface); color: var(--house); font: 700 12px/1 var(--font); cursor: pointer; }
.language-switcher-trigger strong { max-width: 92px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.language-switcher-trigger::after { content: "⌄"; margin-inline-start: 7px; color: var(--muted); font-size: 12px; transition: transform 150ms var(--ease); }
.language-switcher.is-open .language-switcher-trigger::after { transform: rotate(180deg); }
.language-switcher-menu { position: absolute; z-index: 60; inset-block-start: calc(100% + 8px); inset-inline-end: 0; width: 218px; max-height: min(520px,70vh); margin: 0; padding: 8px; overflow: auto; border: 1px solid var(--border); border-radius: 16px; background: var(--surface); box-shadow: 0 18px 46px rgba(18,59,58,.18); list-style: none; }
.language-switcher-menu[hidden] { display: none; }
.language-switcher-menu a { min-height: 42px; display: flex; align-items: center; padding: 8px 11px; border-radius: 10px; color: var(--house); font-size: 14px; font-weight: 600; text-align: start; }
.language-switcher-menu a:hover, .language-switcher-menu a:focus-visible { background: var(--fog); }
.language-switcher-menu a[aria-current="true"] { background: var(--mint); color: var(--house); }
.access-action, .search-action, .sos-action { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 50px; font-size: 13px; font-weight: 600; transition: transform 150ms var(--ease), background 150ms var(--ease); }
.access-action { padding: 0 16px; border: 1px solid var(--house); background: var(--house); color: #fff; }
.search-action { padding: 0 16px; border: 1px solid var(--border); }
.sos-action { min-width: 62px; padding: 0 16px; background: var(--danger); color: #fff; }
.search-action:active, .sos-action:active, .primary-button:active, .secondary-button:active, .hero-search button:active { transform: scale(.95); }

html[dir="rtl"] body { letter-spacing: normal; }
html[dir="rtl"] .eyebrow, html[dir="rtl"] .section-label, html[dir="rtl"] [class*="kicker"], html[dir="rtl"] [class*="meta"] { letter-spacing: 0; }
html[dir="rtl"] input[type="email"], html[dir="rtl"] input[type="tel"], html[dir="rtl"] input[inputmode="numeric"], html[dir="rtl"] input[inputmode="decimal"], html[dir="rtl"] input[autocomplete="one-time-code"], html[dir="rtl"] code, html[dir="rtl"] .mono { direction: ltr; text-align: left; unicode-bidi: isolate; }
html[dir="rtl"] [translate="no"], html[dir="rtl"] [data-bidi="ltr"], html[dir="rtl"] .access-code { direction: ltr; unicode-bidi: isolate; }
html[dir="rtl"] .progress-grid a::before { right: auto; left: -34px; }
html[dir="rtl"] .progress-grid a::after { right: auto; left: 21px; content: "↖"; }
html[dir="rtl"] .cover-copy { left: auto; right: 0; }
html[dir="rtl"] .cover-art { right: auto; left: 0; }
html[dir="rtl"] .premium-pass::before { align-self: flex-start; margin-inline: -78px 0; }
#main-content { min-height: 65vh; }
.os-hero { width: var(--shell); margin: 28px auto 0; }
.hero-main { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(420px, .9fr); min-height: 520px; overflow: hidden; border-radius: 24px; background: var(--house); color: #fff; box-shadow: 0 1px 1px rgba(0,0,0,.14), 0 18px 40px rgba(30,57,50,.15); }
.hero-copy { align-self: center; padding: clamp(48px, 4.5vw, 70px); }
.live-dot { display: inline-block; width: 7px; height: 7px; margin-inline-end: 5px; border-radius: 50%; background: #59d499; box-shadow: 0 0 0 4px rgba(89,212,153,.12); }
.hero-copy h1 { max-width: none; margin: 24px 0; font-size: clamp(52px, 4.15vw, 60px); font-weight: 600; line-height: .98; letter-spacing: -.045em; white-space: nowrap; }
.hero-copy > p { max-width: 57ch; margin: 0 0 34px; color: rgba(255,255,255,.72); font-size: 18px; }
.hero-search { max-width: 610px; }
.hero-search > label { display: block; margin-bottom: 8px; color: rgba(255,255,255,.72); font: 600 11px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.hero-search > div { min-height: 62px; display: grid; grid-template-columns: 28px 1fr auto; gap: 10px; align-items: center; padding-block: 7px; padding-inline: 18px 7px; border-radius: 50px; background: var(--surface); color: var(--ink); }
.hero-search input { min-width: 0; border: 0; outline: 0; background: transparent; font-size: 16px; }
.hero-search input:focus-visible, .search-input input:focus-visible { outline: 0; box-shadow: none; }
.hero-search > div:focus-within, .search-input:focus-within { outline: 3px solid #fff; outline-offset: 2px; box-shadow: 0 0 0 6px #4a2100; }
.hero-search button, .primary-button { min-height: 48px; padding: 0 22px; border: 0; border-radius: 50px; background: var(--accent); color: #fff; font-weight: 600; transition: transform 150ms var(--ease); }
.hero-map { position: relative; min-width: 0; overflow: hidden; }
.hero-map > img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.72) contrast(1.05); }
.hero-map::after { content: ""; position: absolute; inset: 0; background: rgba(30,57,50,.18); pointer-events: none; }
.topo-grid { position: absolute; z-index: 1; inset: 0; opacity: .32; background-image: repeating-radial-gradient(ellipse at 75% 25%, transparent 0 34px, rgba(255,255,255,.35) 35px 36px, transparent 37px 58px); }
.map-pin { position: absolute; z-index: 2; display: flex; align-items: center; gap: 7px; padding: 7px 10px; border-radius: 50px; background: rgba(255,255,255,.92); color: var(--house); font: 600 10px/1 var(--mono); letter-spacing: .06em; }
.map-pin i { width: 8px; height: 8px; border: 2px solid var(--accent); border-radius: 50%; }
.pin-a { top: 21%; right: 13%; }
.pin-b { top: 52%; left: 18%; }
.map-readout { position: absolute; z-index: 3; right: 24px; bottom: 24px; left: 24px; padding: 18px 20px; border-radius: 14px; background: rgba(30,57,50,.92); backdrop-filter: blur(8px); }
.map-readout span, .map-readout small { display: block; color: rgba(255,255,255,.65); font: 500 10px/1.4 var(--mono); letter-spacing: .08em; }
.map-readout b { display: block; margin: 7px 0; font-size: 19px; font-weight: 600; }
.quick-dock { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 14px; gap: 12px; }
.quick-dock > a { min-height: 112px; display: grid; grid-template-columns: 30px 1fr 22px; gap: 12px; align-items: center; padding: 18px; border-radius: 14px; background: var(--surface); box-shadow: 0 0 .5px rgba(0,0,0,.14), 0 1px 1px rgba(0,0,0,.18); }
.quick-dock > a > span { font: 600 11px/1 var(--mono); color: var(--brand); }
.quick-dock small { display: block; margin-bottom: 7px; color: var(--muted); font: 600 9px/1 var(--mono); letter-spacing: .08em; }
.quick-dock b { font-size: 15px; font-weight: 600; }
.quick-dock .urgent { background: var(--danger); color: #fff; }
.quick-dock .urgent > span, .quick-dock .urgent small { color: #fff; }

.trip-progress, .content-zone, .archive-source, .feedback-zone, .payment-reserve, .path-zone, .value-band, .trust-home, .section-page, .article-page, .search-page, .emergency-page, .dead-page { width: var(--shell); margin-inline: auto; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 28px; }
.secondary-button { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; padding: 0 22px; border: 1px solid var(--house); border-radius: 50px; color: var(--house); font-weight: 600; }
.secondary-button.inverse { border-color: rgba(255,255,255,.48); color: #fff; }
.path-zone { padding: 100px 0 20px; }
.path-zone > header { max-width: 820px; margin-bottom: 34px; }
.path-zone h2, .trust-home h2, .value-band h2 { margin: 0; color: var(--house); font-size: clamp(38px,4.5vw,60px); font-weight: 600; line-height: 1.02; letter-spacing: -.03em; }
.path-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.path-grid > a { min-height: 300px; display: flex; flex-direction: column; padding: 28px; border-radius: 14px; background: var(--surface); box-shadow: 0 0 .5px rgba(0,0,0,.14), 0 1px 1px rgba(0,0,0,.18); }
.path-grid span { color: var(--brand); font: 600 10px/1 var(--mono); letter-spacing: .08em; }
.path-grid h3 { margin: 48px 0 12px; color: var(--house); font-size: 28px; font-weight: 600; }
.path-grid p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.55; }
.path-grid b { display: flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 28px; color: var(--brand); font-size: 12px; }
.value-band { display: grid; grid-template-columns: minmax(0,1fr) minmax(420px,.9fr); gap: 70px; align-items: center; margin-bottom: 100px; padding: 70px; border-radius: 22px; background: var(--mint); }
.value-band > div:first-child > p { max-width: 58ch; color: var(--muted); line-height: 1.6; }
.value-list a { display: grid; grid-template-columns: 36px 1fr; align-items: center; min-height: 70px; border-bottom: 1px solid rgba(30,57,50,.15); }
.value-list span { color: var(--brand); font: 600 10px/1 var(--mono); }
.value-list b { color: var(--house); font-size: 15px; }
.trust-home { display: grid; grid-template-columns: minmax(0,.9fr) minmax(500px,1.1fr); gap: 80px; align-items: start; padding: 100px 0; }
.trust-points { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.trust-points p { min-height: 190px; margin: 0; padding: 22px; border-radius: 12px; background: var(--surface); }
.trust-points b, .trust-points span { display: block; }
.trust-points b { margin-bottom: 56px; color: var(--house); font-size: 15px; }
.trust-points span { color: var(--muted); font-size: 12px; line-height: 1.5; }
.trip-progress { padding: 110px 0; }
.section-label { margin-bottom: 22px; color: var(--brand); }
.progress-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.progress-grid a { position: relative; min-height: 190px; display: flex; flex-direction: column; padding: 22px; overflow: hidden; border: 1px solid rgba(18,59,58,.12); border-radius: 14px; background: #efe0ad; box-shadow: 0 0 .5px rgba(0,0,0,.14), 0 1px 1px rgba(0,0,0,.18); transition: transform 160ms var(--ease), box-shadow 160ms var(--ease); }
.progress-grid a:nth-child(2) { background: #cfe3e6; }
.progress-grid a:nth-child(3) { background: #d6e2d2; }
.progress-grid a:nth-child(4) { background: #e1c3b8; }
.progress-grid a::before { content: ""; position: absolute; width: 142px; height: 142px; top: -58px; right: -34px; border: 1px solid currentColor; border-radius: 50%; opacity: .18; box-shadow: 0 0 0 22px rgba(18,59,58,.06), 0 0 0 44px rgba(18,59,58,.035); }
.progress-grid a::after { content: "↗"; position: absolute; top: 19px; right: 21px; color: var(--house); font-size: 17px; }
.progress-grid a:hover { transform: translateY(-3px); box-shadow: 0 14px 32px rgba(30,57,50,.12); }
.progress-grid i, .progress-grid span, .progress-grid b { position: relative; z-index: 1; }
.progress-grid i { width: max-content; padding: 6px 8px; border: 1px solid rgba(18,59,58,.22); border-radius: 50px; color: var(--house); font: 700 10px/1 var(--mono); font-style: normal; }
.progress-grid span { margin: auto 0 8px; color: var(--house); font-size: 25px; font-weight: 600; letter-spacing: -.02em; }
.progress-grid b { color: rgba(18,59,58,.68); font-size: 12px; font-weight: 500; }
.content-zone { padding: 80px 0; }
.content-zone > header { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 34px; }
.content-zone h2 { max-width: 780px; margin: 0; font-size: clamp(34px,4vw,54px); font-weight: 600; line-height: 1.03; letter-spacing: -.025em; }
.content-zone > header > a { display: flex; align-items: center; gap: 10px; min-height: 44px; font-size: 13px; font-weight: 600; }
.dark-zone { width: 100%; padding-inline: max(32px, calc((100vw - min(1440px, calc(100vw - 64px)))/2)); background: var(--house); color: #fff; }
.dark-zone .section-label { color: #7ed4ac; }
.dark-zone .index-card { background: var(--uplift); color: #fff; }
.dark-zone .index-card p, .dark-zone .status-row { color: rgba(255,255,255,.68); }
.dark-zone .card-link { color: #fff; }
.archive-source { padding: 110px 0; }
.original-hero { background: #e9dfcb; }
.original-hero > img { object-fit: contain; object-position: center; filter: none; }
.original-hero::after { display: none; }

.feedback-zone { padding: 90px 0; }
.feedback-zone > header { display: flex; justify-content: space-between; align-items: end; gap: 28px; margin-bottom: 28px; }
.feedback-zone h2 { max-width: 760px; margin: 0; color: var(--house); font-size: clamp(34px,4vw,54px); font-weight: 600; line-height: 1.03; letter-spacing: -.025em; }
.feedback-state { flex: none; padding: 10px 14px; border: 1px solid var(--border); border-radius: 50px; color: var(--muted); font: 600 10px/1 var(--mono); letter-spacing: .07em; }
.feedback-panel { display: grid; grid-template-columns: minmax(260px,.8fr) minmax(0,1.5fr) auto; gap: 28px; align-items: center; padding: 30px; border-radius: 18px; background: var(--surface); box-shadow: 0 0 .5px rgba(0,0,0,.14), 0 8px 30px rgba(30,57,50,.08); }
.feedback-summary > span { color: var(--brand); font: 600 10px/1 var(--mono); letter-spacing: .08em; }
.feedback-summary strong { display: block; margin: 12px 0 8px; color: var(--house); font-size: 30px; font-weight: 600; }
.feedback-summary p { margin: 0; color: var(--muted); font-size: 13px; }
.feedback-criteria { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.feedback-criteria > div { min-height: 130px; padding: 17px; border-radius: 12px; background: var(--mint); }
.feedback-criteria span, .feedback-criteria b, .feedback-criteria small { display: block; }
.feedback-criteria span { color: var(--brand); font: 600 10px/1 var(--mono); }
.feedback-criteria b { margin: 26px 0 6px; color: var(--house); font-size: 14px; }
.feedback-criteria small { color: var(--muted); font-size: 11px; line-height: 1.4; }
.feedback-panel button, .payment-reserve button { min-height: 48px; padding: 0 20px; border: 1px solid var(--border); border-radius: 50px; background: #eceae4; color: var(--muted); font-weight: 600; cursor: not-allowed; }
.payment-reserve { display: flex; justify-content: space-between; align-items: center; gap: 40px; margin-bottom: 90px; padding: 42px; border-radius: 18px; background: var(--house); color: #fff; }
.payment-reserve .section-label { color: #7ed4ac; }
.payment-reserve h2 { margin: 0 0 10px; font-size: clamp(30px,3vw,44px); font-weight: 600; letter-spacing: -.025em; }
.payment-reserve p { max-width: 58ch; margin: 0; color: rgba(255,255,255,.68); }
.payment-reserve button { flex: none; border-color: rgba(255,255,255,.18); background: rgba(255,255,255,.08); color: rgba(255,255,255,.58); }
.payment-reserve .secondary-button { flex: 0 0 auto; white-space: nowrap; }
.payment-reserve-actions { display: flex; flex: none; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.payment-reserve-actions .primary-button, .payment-reserve-actions .secondary-button { white-space: nowrap; }

.premium-page { width: var(--shell); margin: 28px auto 120px; }
.premium-hero { min-height: 620px; display: grid; grid-template-columns: minmax(0,1.35fr) minmax(320px,.65fr); overflow: hidden; border-radius: 24px; background: var(--house); color: #fff; box-shadow: 0 18px 42px rgba(18,59,58,.16); }
.premium-hero > div { align-self: center; padding: clamp(46px,6vw,86px); }
.premium-hero h1 { max-width: 820px; margin: 24px 0; font-size: clamp(54px,6.2vw,88px); font-weight: 600; line-height: .98; letter-spacing: -.04em; }
.premium-hero p { max-width: 62ch; margin: 0 0 30px; color: rgba(255,255,255,.72); font-size: 18px; }
.premium-hero small { display: block; max-width: 68ch; margin-top: 18px; color: rgba(255,255,255,.54); font-size: 11px; }
.premium-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.premium-hero-actions form { margin: 0; }
.premium-hero-actions button { cursor: pointer; }
.premium-hero .secondary-button { border-color: rgba(255,255,255,.5); color: #fff; }
.premium-preview-link { width: fit-content; min-height: 44px; display: inline-flex; align-items: center; margin-top: 10px; color: #fff; font-size: 12px; font-weight: 700; text-underline-offset: 4px; }
.premium-pass { min-width: 0; display: flex; flex-direction: column; justify-content: flex-end; padding: 46px; background: #e6d3a2; color: var(--house); }
.premium-pass::before { content: ""; width: 160px; height: 160px; align-self: flex-end; margin: 0 -78px auto 0; border: 1px solid currentColor; border-radius: 50%; opacity: .28; box-shadow: 0 0 0 28px rgba(18,59,58,.07), 0 0 0 56px rgba(18,59,58,.035); }
.premium-pass > span { font: 700 10px/1 var(--mono); letter-spacing: .09em; }
.premium-pass > strong { margin: 22px 0 2px; font: 500 clamp(82px,9vw,132px)/.8 var(--font); letter-spacing: -.06em; }
.premium-pass > b { font-size: 18px; }
.premium-pass > p { margin: 18px 0 0; color: rgba(18,59,58,.7); font-size: 13px; }
.premium-benefits { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; padding: 90px 0; }
.premium-benefits > div { position: relative; min-height: 290px; display: flex; flex-direction: column; overflow: hidden; padding: 28px; border: 1px solid var(--border); border-radius: 16px; background: var(--surface); }
.premium-benefits > div:nth-child(1) { background: #dcebe5; }
.premium-benefits > div:nth-child(2) { background: #ead7a4; }
.premium-benefits > div:nth-child(3) { background: #d7e3e7; }
.premium-benefits > div::before, .premium-benefits > div::after { content: ""; position: absolute; pointer-events: none; }
.premium-benefits > div::before { width: 118px; height: 118px; top: 38px; right: 36px; border: 1px solid rgba(18,59,58,.5); border-radius: 50%; box-shadow: 0 0 0 18px rgba(18,59,58,.05), 0 0 0 36px rgba(18,59,58,.03); }
.premium-benefits > div::after { width: 82px; height: 1px; top: 98px; right: 54px; background: var(--house); transform: rotate(-24deg); box-shadow: 0 12px 0 rgba(18,59,58,.55); }
.premium-benefits > div:nth-child(2)::before { width: 108px; height: 108px; border-radius: 24px; transform: rotate(9deg); box-shadow: 17px 15px 0 rgba(18,59,58,.07); }
.premium-benefits > div:nth-child(2)::after { width: 34px; height: 34px; top: 77px; right: 73px; border: 1px solid var(--house); border-radius: 50%; background: transparent; box-shadow: 0 0 0 12px rgba(18,59,58,.04); transform: none; }
.premium-benefits > div:nth-child(3)::before { width: 104px; height: 104px; border-radius: 10px; background: repeating-linear-gradient(90deg,transparent 0 11px,rgba(18,59,58,.16) 11px 13px),repeating-linear-gradient(0deg,transparent 0 11px,rgba(18,59,58,.16) 11px 13px); box-shadow: none; }
.premium-benefits > div:nth-child(3)::after { width: 26px; height: 26px; top: 78px; right: 75px; border: 7px solid var(--house); background: #fff; transform: none; box-shadow: none; }
.premium-benefits span { color: var(--brand); font: 700 10px/1 var(--mono); }
.premium-benefits h2 { margin: auto 0 12px; color: var(--house); font-size: 27px; line-height: 1.08; }
.premium-benefits p { margin: 0; color: var(--muted); font-size: 13px; }
.premium-boundary { margin-bottom: 90px; padding: 56px; border: 1px solid var(--border); border-radius: 22px; background: var(--surface); }
.premium-boundary > header { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(280px,.85fr); gap: 32px 70px; align-items: end; margin-bottom: 32px; }
.premium-boundary > header > span, .premium-library > header span, .premium-boundary article > span, .premium-library-card > span { color: var(--brand); font: 700 10px/1.25 var(--mono); letter-spacing: .09em; }
.premium-boundary > header > span { grid-column: 1 / -1; }
.premium-boundary h2, .premium-library > header h2 { margin: 0; color: var(--house); font-size: clamp(36px,4vw,56px); line-height: 1.02; letter-spacing: -.035em; }
.premium-boundary > header p, .premium-library > header p { max-width: 62ch; margin: 0; color: var(--muted); }
.premium-boundary-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.premium-boundary article { min-height: 330px; display: flex; flex-direction: column; padding: 30px; border: 1px solid var(--border); border-radius: 16px; background: #f4f1e9; }
.premium-boundary article.full { border-color: var(--house); background: var(--house); color: #fff; }
.premium-boundary article.full > span { color: #8eddb6; }
.premium-boundary h3 { max-width: 24ch; margin: 20px 0 18px; color: inherit; font-size: 28px; line-height: 1.08; letter-spacing: -.02em; }
.premium-boundary ul { margin: 0 0 24px; padding-inline-start: 20px; color: var(--muted); }
.premium-boundary .full ul { color: rgba(255,255,255,.7); }
.premium-boundary li { margin: 8px 0; }
.premium-boundary article > a { width: fit-content; min-height: 44px; display: inline-flex; align-items: center; gap: 8px; margin-top: auto; color: var(--brand); font-size: 13px; font-weight: 700; text-underline-offset: 4px; }
.premium-boundary .full > a { color: #fff; }
.premium-library { margin-bottom: 90px; }
.premium-library > header { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(300px,.9fr); gap: 48px; align-items: end; margin-bottom: 30px; }
.premium-library > header span { display: block; margin-bottom: 14px; }
.premium-library-grid { counter-reset: premium-guide; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.premium-library-card { counter-increment: premium-guide; position: relative; min-width: 0; min-height: 310px; display: flex; flex-direction: column; overflow: hidden; padding: 28px; border: 1px solid var(--border); border-top: 6px solid #c8ad66; border-radius: 14px; background: #f6f1e4; color: var(--house); text-decoration: none; transition: transform 150ms var(--ease), box-shadow 150ms var(--ease), border-color 150ms var(--ease); }
.premium-library-card[href*="/02-on-arrival/"] { border-top-color: #7fa4b0; background: #e7eef0; }
.premium-library-card[href*="/03-daily-survival/"] { border-top-color: #78a093; background: #e6efeb; }
.premium-library-card::after { content: counter(premium-guide, decimal-leading-zero); position: absolute; inset-inline-end: 24px; bottom: 20px; color: rgba(18,59,58,.16); font: 600 54px/.8 var(--font); letter-spacing: -.06em; }
.premium-library-card:hover { border-color: var(--house); box-shadow: 0 16px 34px rgba(18,59,58,.12); transform: translateY(-3px); }
.premium-library-card:focus-visible { outline: 3px solid var(--house); outline-offset: 3px; }
.premium-library-card h3 { max-width: 25ch; margin: 20px 0 14px; font-size: 25px; line-height: 1.08; letter-spacing: -.025em; }
.premium-library-card ul { margin: 0 0 24px; padding-inline-start: 18px; color: var(--muted); font-size: 13px; }
.premium-library-card li { margin: 7px 0; }
.premium-library-card > b { position: relative; z-index: 1; min-height: 44px; display: inline-flex; align-items: center; gap: 8px; margin-top: auto; font-size: 12px; }
.premium-flow { display: grid; grid-template-columns: minmax(260px,.8fr) minmax(0,1.2fr); gap: 70px; padding: 70px; border-radius: 22px; background: var(--mint); }
.premium-flow header span, .access-code-panel > div > span, .premium-gate-copy > span, .purchase-status > span { color: var(--brand); font: 700 10px/1 var(--mono); letter-spacing: .09em; }
.premium-flow h2, .access-code-panel h2 { margin: 14px 0 0; color: var(--house); font-size: clamp(34px,4vw,54px); line-height: 1.03; letter-spacing: -.03em; }
.premium-flow ol { margin: 0; padding: 0; list-style: none; }
.premium-flow li { display: grid; grid-template-columns: 44px 1fr; gap: 16px; padding: 20px 0; border-bottom: 1px solid rgba(18,59,58,.15); }
.premium-flow li > b { width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid var(--house); border-radius: 50%; font: 700 10px/1 var(--mono); }
.premium-flow strong { color: var(--house); font-size: 16px; }
.premium-flow p { margin: 5px 0 0; color: var(--muted); font-size: 13px; }
.access-code-panel { display: grid; grid-template-columns: minmax(0,.95fr) minmax(360px,1.05fr); gap: 70px; align-items: center; margin-top: 24px; padding: 70px; border-radius: 22px; background: var(--surface); box-shadow: 0 10px 30px rgba(18,59,58,.08); }
.access-code-panel > div > p { max-width: 58ch; color: var(--muted); }
.access-code-panel form { display: grid; gap: 10px; padding: 26px; border: 1px solid var(--border); border-radius: 16px; background: #f6f3eb; }
.access-code-panel label { color: var(--house); font-size: 13px; font-weight: 700; }
.access-code-panel input { width: 100%; min-height: 54px; padding: 0 16px; border: 1px solid rgba(18,59,58,.28); border-radius: 10px; background: #fff; color: var(--house); font: 700 16px/1 var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.access-code-panel button { width: 100%; cursor: pointer; }
.access-code-link { display: grid; gap: 12px; align-content: center; min-height: 164px; padding: 26px; border: 1px solid var(--border); border-radius: 16px; background: #f6f3eb; }
.access-code-link .primary-button { width: 100%; }
.form-note { margin: 4px 0 0; color: var(--muted); font-size: 11px; }
.purchase-status { margin-bottom: 18px; padding: 26px 30px; border: 1px solid #8eaa9f; border-radius: 16px; background: #e3f1eb; }
.purchase-status h2 { margin: 10px 0 6px; color: var(--house); font-size: 28px; }
.purchase-status p { margin: 0; color: var(--muted); }
.source-content .premium-text-sample, .source-content .premium-gate { max-width: none; }
.premium-text-sample { padding: 28px; border: 1px solid var(--border); border-radius: 16px; background: #f7f4ed; }
.premium-gate { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(280px,.8fr); gap: 42px; margin-top: 24px; padding: 36px; border-radius: 18px; background: var(--house); color: #fff; }
.premium-gate h2 { margin: 12px 0 14px; color: #fff; font-size: 32px; }
.premium-gate p, .premium-gate li { color: rgba(255,255,255,.68); }
.premium-gate ul { margin-bottom: 0; }
.premium-gate-actions { display: flex; flex-direction: column; justify-content: center; gap: 12px; padding: 22px; border: 1px solid rgba(255,255,255,.16); border-radius: 14px; background: rgba(255,255,255,.07); }
.premium-gate-actions > div { display: grid; gap: 6px; }
.premium-gate-actions > div span { color: #8eddb6; font: 700 9px/1 var(--mono); letter-spacing: .08em; }
.premium-gate-actions > div strong { font-size: 18px; }
.premium-gate-actions > div small { color: rgba(255,255,255,.58); font-size: 10px; }
.source-content .premium-gate-actions a { text-decoration: none; }
.premium-gate-actions .text-link { min-height: 44px; display: grid; place-items: center; color: #fff; font-size: 12px; }
.destination-preview-brief { display: grid; grid-template-columns: minmax(0,1fr) minmax(320px,.9fr); gap: 30px; align-items: end; padding: 28px; border: 1px solid var(--border); border-radius: 16px; background: #f7f4ed; }
.destination-preview-brief > div > span,
.destination-preview-judgment > span,
.destination-preview-sample > span,
.destination-preview-outline > div > span { color: var(--brand); font: 700 9px/1 var(--mono); letter-spacing: .1em; }
.source-content .destination-preview-brief h2,
.source-content .destination-preview-judgment h2,
.source-content .destination-preview-sample h2,
.source-content .destination-preview-outline h2 { margin: 10px 0 12px; }
.destination-chinese-name { margin: 0; color: var(--muted); font-size: 15px; }
.destination-preview-brief dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; margin: 0; overflow: hidden; border: 1px solid var(--border); border-radius: 12px; background: var(--border); }
.destination-preview-brief dl div { min-width: 0; padding: 16px 14px; background: #fff; }
.destination-preview-brief dt { color: var(--muted); font: 700 8px/1 var(--mono); letter-spacing: .08em; }
.destination-preview-brief dd { margin: 8px 0 0; color: var(--house); font-size: 12px; font-weight: 700; line-height: 1.35; overflow-wrap: anywhere; }
.destination-preview-judgment,
.destination-preview-sample { padding: 30px; border-inline-start: 3px solid var(--brand); background: #f2f7f4; }
.destination-preview-judgment ul { margin-bottom: 0; }
.destination-preview-sample { border-inline-start-color: #d2a843; background: #fbf5e6; }
.destination-preview-sample p { margin-bottom: 0; font-size: 17px; line-height: 1.75; }
.destination-preview-outline { display: grid; grid-template-columns: minmax(240px,.75fr) minmax(0,1.25fr); gap: 34px; padding: 30px; border: 1px solid var(--border); border-radius: 16px; }
.destination-preview-outline ol { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 22px; margin: 0; padding: 0; list-style: none; }
.destination-preview-outline li { display: grid; grid-template-columns: 28px 1fr; gap: 10px; align-items: baseline; padding: 11px 0; border-bottom: 1px solid var(--border); }
.destination-preview-outline li span { color: var(--brand); font: 700 9px/1 var(--mono); }
.destination-preview-outline li b { color: var(--house); font-size: 12px; line-height: 1.4; }
.destination-premium-gate { margin-top: 0; }
.access-unlocked-banner { width: var(--shell); display: flex; flex-wrap: wrap; gap: 10px 20px; align-items: center; margin: 24px auto -34px; padding: 14px 18px; border: 1px solid #7da895; border-radius: 12px; background: #e1f1e9; color: var(--house); }
.access-unlocked-banner span { color: var(--brand); font: 700 9px/1 var(--mono); letter-spacing: .08em; }
.access-unlocked-banner b { font-size: 13px; }
.access-unlocked-banner a { margin-inline-start: auto; color: var(--brand); font-size: 12px; font-weight: 700; }

.status-row { display: flex; flex-wrap: wrap; gap: 8px; color: var(--muted); }
.status-row span { display: inline-flex; align-items: center; min-height: 24px; padding: 0 9px; border: 1px solid currentColor; border-radius: 50px; }
.index-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.stage-index-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.compact-grid { grid-template-columns: repeat(4,1fr); }
.index-card { min-width: 0; display: flex; flex-direction: column; overflow: hidden; border: 1px solid transparent; border-radius: 14px; background: var(--surface); box-shadow: 0 0 .5px rgba(0,0,0,.14), 0 1px 1px rgba(0,0,0,.18); transition: border-color 150ms var(--ease), box-shadow 150ms var(--ease), transform 150ms var(--ease); }
.index-card:hover { border-color: rgba(10,91,85,.34); box-shadow: 0 1px 2px rgba(0,0,0,.12), 0 12px 28px rgba(30,57,50,.1); transform: translateY(-2px); }
.index-card:focus-within { border-color: var(--house); }
.index-card-hit { min-height: 100%; display: flex; flex: 1; flex-direction: column; }
.index-card-hit:focus-visible { outline: 0; box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 6px #4a2100; }
.index-card[hidden] { display: none; }
.load-more-panel { display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 42px 0 10px; }
.load-more-panel p { margin: 0; color: var(--muted); font: 600 11px/1 var(--mono); letter-spacing: .06em; }
.load-more-panel button { min-height: 48px; padding: 0 22px; border: 1px solid var(--house); border-radius: 50px; background: var(--surface); color: var(--house); font-weight: 600; }
.index-card > img, .card-visual { width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.card-visual { position: relative; display: flex; flex-direction: column; justify-content: space-between; padding: 18px; overflow: hidden; background: var(--mint); color: var(--house); }
.card-visual > div:first-child { position: relative; z-index: 5; display: flex; justify-content: space-between; font: 600 11px/1 var(--mono); letter-spacing: .07em; }
.visual-symbol { position: relative; min-height: 76px; display: flex; align-items: center; justify-content: center; }
.card-visual-prepare { background: #e8e2d4; }
.card-visual-prepare .visual-symbol { align-items: stretch; flex-direction: column; gap: 10px; padding: 5px 16%; }
.card-visual-prepare .visual-symbol i { display: block; height: 1px; background: rgba(30,57,50,.36); }
.card-visual-prepare .visual-symbol i::before { content: ""; display: block; width: 7px; height: 7px; transform: translate(-16px,-3px); border: 1px solid var(--house); }
.card-visual-arrival { background: #dce9e4; }
.card-visual-arrival .visual-symbol::before { content: ""; position: absolute; width: 68%; height: 42px; border-bottom: 2px solid var(--brand); border-radius: 0 0 50% 50%; transform: rotate(-7deg); }
.card-visual-arrival .visual-symbol i { position: absolute; left: 17%; top: 12px; width: 10px; height: 10px; border-radius: 50%; background: var(--brand); }
.card-visual-arrival .visual-symbol b { position: absolute; right: 13%; bottom: 0; font: 600 10px/1 var(--mono); letter-spacing: .08em; }
.card-visual-daily { background: #d4e9e2; }
.card-visual-daily .visual-symbol::before { content: ""; position: absolute; left: 14%; right: 14%; top: 50%; height: 2px; background: var(--brand); }
.card-visual-daily .visual-symbol i { z-index: 1; width: 13px; height: 13px; margin: 0 7%; border: 3px solid var(--brand); border-radius: 50%; background: #d4e9e2; }
.card-visual-urgent { background: var(--danger); color: #fff; }
.card-visual-urgent .visual-symbol b { font-size: 72px; font-weight: 300; line-height: .8; }
.card-visual-tool { background: #efe9dc; }
.card-visual-tool .visual-symbol { gap: 8px; }
.card-visual-tool .visual-symbol i { min-width: 86px; padding: 13px 10px; border: 1px solid rgba(30,57,50,.4); border-radius: 6px; font: 600 9px/1 var(--mono); font-style: normal; text-align: center; letter-spacing: .08em; }
.card-visual-tool .visual-symbol i + i { background: var(--house); color: #fff; }
.card-visual-entry { background: #e7dfd0; }
.card-visual-entry .visual-symbol { gap: 12px; }
.card-visual-entry .visual-symbol i { width: 48px; height: 62px; border: 1px solid var(--house); background: rgba(255,255,255,.46); }
.card-visual-entry .visual-symbol i + i { margin-left: -28px; transform: translateY(10px); }
.card-visual-entry .visual-symbol b { width: 28px; height: 28px; display: grid; place-items: center; margin-left: -24px; border-radius: 50%; background: var(--accent); color: #fff; }
.card-visual-payment { background: #eadfca; }
.card-visual-payment .visual-symbol { gap: 22px; }
.card-visual-payment .visual-symbol b { font-size: 58px; font-weight: 500; }
.card-visual-payment .visual-symbol i { width: 62px; height: 42px; border: 1px solid var(--house); border-radius: 7px; box-shadow: inset 0 -10px rgba(10,91,85,.12); }
.card-visual-network { background: #d7e8e8; }
.card-visual-network .visual-symbol { gap: 11px; align-items: end; }
.card-visual-network .visual-symbol i { width: 9px; background: var(--brand); }
.card-visual-network .visual-symbol i:nth-child(1) { height: 20px; }
.card-visual-network .visual-symbol i:nth-child(2) { height: 42px; }
.card-visual-network .visual-symbol i:nth-child(3) { height: 66px; }
.card-visual-transit { background: #dce5df; }
.card-visual-transit .visual-symbol::before { content: ""; position: absolute; left: 14%; right: 14%; height: 2px; background: var(--brand); }
.card-visual-transit .visual-symbol i { z-index: 1; width: 18px; height: 18px; margin: 0 14%; border: 4px solid var(--brand); border-radius: 50%; background: #dce5df; }
.card-visual-transit .visual-symbol b { position: absolute; right: 11%; bottom: 0; font: 600 10px/1 var(--mono); }
.card-visual-food { background: #efe0d2; }
.card-visual-food .visual-symbol i { width: 76px; height: 38px; border: 2px solid var(--accent); border-top: 0; border-radius: 0 0 48px 48px; }
.card-visual-food .visual-symbol b { margin-left: 18px; font-size: 34px; }
.card-visual-tool-convert, .card-visual-tool-card { background: #eee7da; }
.card-visual-tool-convert .visual-symbol, .card-visual-tool-card .visual-symbol { gap: 7px; }
.card-visual-tool-convert .visual-symbol i, .card-visual-tool-card .visual-symbol i { min-width: 48px; padding: 15px 10px; border: 1px solid var(--border); border-radius: 7px; background: rgba(255,255,255,.55); font: 600 13px/1 var(--mono); font-style: normal; text-align: center; }
.card-visual-tool-card .visual-symbol i + i { background: var(--house); color: #fff; }
.card-visual-semantic { --card-bg: #d8e4df; --card-ink: #173d38; background: var(--card-bg); color: var(--card-ink); }
.card-visual-semantic.tone-gold { --card-bg: #ead8a8; --card-ink: #41351f; }
.card-visual-semantic.tone-peach { --card-bg: #e5c8b8; --card-ink: #482f27; }
.card-visual-semantic.tone-blue { --card-bg: #c9dce2; --card-ink: #153743; }
.card-visual-semantic.tone-aqua { --card-bg: #c8e1dc; --card-ink: #153d38; }
.card-visual-semantic.tone-sage { --card-bg: #d3ddce; --card-ink: #2e3d2d; }
.card-visual-semantic.tone-rose { --card-bg: #d9b8ad; --card-ink: #482b26; }
.card-visual-semantic .visual-symbol,
.card-visual-app .visual-symbol,
.card-visual-place .visual-symbol { position: absolute; inset: 0; min-height: 0; display: grid; place-items: center; padding: 0 18px; isolation: isolate; pointer-events: none; }
.card-visual-semantic .semantic-icon { position: relative; z-index: 3; width: 86px; height: 86px; display: grid; place-items: center; border: 1px solid currentColor; background: color-mix(in srgb, var(--card-bg) 76%, white); box-shadow: 8px 8px 0 color-mix(in srgb, var(--card-ink) 9%, transparent); }
.card-visual-semantic .semantic-icon svg { width: 54px; height: 54px; display: block; }
.scene-family-ledger + .semantic-icon { border-radius: 11px; }
.scene-family-grid + .semantic-icon { border-radius: 19px; }
.scene-family-route + .semantic-icon, .scene-family-orbit + .semantic-icon { border-radius: 50%; }
.scene-family-object + .semantic-icon { border-radius: 15px; }
.scene-art { position: absolute; inset: 19% 5% 8%; z-index: 1; color: currentColor; opacity: .34; }
.scene-art i { position: absolute; display: none; box-sizing: border-box; }

/* Field-guide scenery: the surrounding diagram describes the task instead of
   using the same decorative slash behind every pictogram. */
.scene-family-ledger i:nth-child(1) { left: 4%; top: 15%; width: 24%; height: 67%; display: block; border: 1px solid currentColor; border-radius: 3px; transform: rotate(-4deg); }
.scene-family-ledger i:nth-child(2) { right: 4%; top: 24%; width: 22%; height: 55%; display: block; border: 1px solid currentColor; border-radius: 3px; transform: rotate(3deg); }
.scene-family-ledger i:nth-child(3) { left: 9%; top: 33%; width: 14%; display: block; border-top: 1px solid currentColor; box-shadow: 0 11px 0 currentColor, 0 22px 0 currentColor; }
.scene-family-ledger i:nth-child(4) { right: 10%; top: 37%; width: 14px; height: 14px; display: block; border: 1px solid currentColor; border-radius: 50%; box-shadow: 0 24px 0 -4px currentColor; }
.scene-family-grid i:nth-child(1), .scene-family-grid i:nth-child(2) { top: 22%; width: 25%; height: 57%; display: block; border: 1px solid currentColor; border-radius: 5px; }
.scene-family-grid i:nth-child(1) { left: 4%; }
.scene-family-grid i:nth-child(2) { right: 4%; }
.scene-family-grid i:nth-child(3), .scene-family-grid i:nth-child(4) { top: 31%; width: 8px; height: 8px; display: block; background: currentColor; box-shadow: 14px 0 0 currentColor, 0 14px 0 currentColor, 14px 14px 0 currentColor; }
.scene-family-grid i:nth-child(3) { left: 9%; }
.scene-family-grid i:nth-child(4) { right: 17%; }
.scene-family-route i:nth-child(1) { left: 4%; right: 4%; top: 50%; display: block; border-top: 2px solid currentColor; transform: rotate(-6deg); }
.scene-family-route i:nth-child(2), .scene-family-route i:nth-child(3) { width: 13px; height: 13px; display: block; border: 2px solid currentColor; border-radius: 50%; background: var(--card-bg); }
.scene-family-route i:nth-child(2) { left: 8%; top: 30%; }
.scene-family-route i:nth-child(3) { right: 8%; bottom: 24%; }
.scene-family-route i:nth-child(4) { left: 22%; right: 22%; top: 67%; display: block; border-top: 1px solid currentColor; transform: rotate(4deg); }
.scene-family-orbit i:nth-child(1), .scene-family-orbit i:nth-child(2) { display: block; border: 1px solid currentColor; border-radius: 50%; }
.scene-family-orbit i:nth-child(1) { inset: 8% 4%; transform: rotate(-7deg); }
.scene-family-orbit i:nth-child(2) { inset: 23% 16%; transform: rotate(10deg); }
.scene-family-orbit i:nth-child(3), .scene-family-orbit i:nth-child(4) { width: 10px; height: 10px; display: block; border: 2px solid currentColor; border-radius: 50%; background: var(--card-bg); }
.scene-family-orbit i:nth-child(3) { left: 5%; top: 49%; }
.scene-family-orbit i:nth-child(4) { right: 6%; bottom: 24%; }
.scene-family-object i:nth-child(1), .scene-family-object i:nth-child(2) { bottom: 15%; width: 23%; height: 58%; display: block; border: 1px solid currentColor; border-radius: 8px; }
.scene-family-object i:nth-child(1) { left: 4%; transform: rotate(-3deg); }
.scene-family-object i:nth-child(2) { right: 4%; transform: rotate(3deg); }
.scene-family-object i:nth-child(3), .scene-family-object i:nth-child(4) { top: 35%; width: 11%; display: block; border-top: 1px solid currentColor; box-shadow: 0 10px 0 currentColor; }
.scene-family-object i:nth-child(3) { left: 10%; }
.scene-family-object i:nth-child(4) { right: 10%; }

/* Route-specific variations make all 25 guide plates and 16 tool plates read
   as individual micro-scenes while preserving one disciplined visual system. */
.scene-departure-checklist i:nth-child(1), .scene-document-desk i:nth-child(1) { height: 72%; }
.scene-departure-checklist i:nth-child(4) { border-radius: 2px; transform: rotate(45deg); }
.scene-app-board i:nth-child(1) { transform: rotate(-3deg); }
.scene-app-board i:nth-child(2) { transform: rotate(4deg); }
.scene-qr-counter i:nth-child(3), .scene-qr-counter i:nth-child(4) { width: 7px; height: 7px; box-shadow: 10px 0 0 currentColor, 0 10px 0 currentColor, 20px 10px 0 currentColor; }
.scene-signal-gate i:nth-child(1) { inset: 2% 7% 14%; border-width: 0 1px 1px; border-radius: 0 0 50% 50%; }
.scene-document-desk i:nth-child(2) { right: 2%; top: 18%; height: 68%; transform: rotate(7deg); }
.scene-runway i:nth-child(1), .scene-rail-platform i:nth-child(1) { box-shadow: 0 12px 0 currentColor; }
.scene-runway i:nth-child(2), .scene-runway i:nth-child(3) { border-radius: 2px; }
.scene-arrival-board i:nth-child(1), .scene-arrival-board i:nth-child(2) { height: 45%; bottom: 23%; border-radius: 2px; }
.scene-transfer-map i:nth-child(1) { left: 7%; right: 55%; top: 28%; height: 49%; border: solid currentColor; border-width: 1px 1px 0 0; border-radius: 0 48px 0 0; transform: none; }
.scene-room-key i:nth-child(1) { left: 5%; width: 27%; height: 43%; bottom: 24%; border-radius: 4px; }
.scene-room-key i:nth-child(2) { right: 8%; width: 17%; height: 64%; border-radius: 40px 40px 7px 7px; }
.scene-form-stamp i:nth-child(4), .scene-border-stamp i:nth-child(4) { width: 34px; height: 34px; right: 6%; top: 39%; border-width: 2px; }
.scene-sim-tray i:nth-child(1), .scene-sim-tray i:nth-child(2) { width: 19%; border-radius: 11px 11px 4px 4px; }
.scene-delivery-route i:nth-child(1) { border-top-style: dashed; transform: rotate(5deg); }
.scene-table-setting i:nth-child(1), .scene-table-setting i:nth-child(2) { width: 24%; height: 56%; border-radius: 50%; }
.scene-map-fold i:nth-child(1), .scene-map-fold i:nth-child(2) { width: 22%; border-radius: 0; transform: skewY(-7deg); }
.scene-pickup-point i:nth-child(1) { top: 55%; border-radius: 50%; transform: rotate(-11deg); }
.scene-receipt-bag i:nth-child(1) { height: 76%; border-bottom-style: dashed; }
.scene-receipt-bag i:nth-child(2) { top: 31%; height: 48%; border-radius: 18px 18px 3px 3px; }
.scene-transit-diagram i:nth-child(1) { box-shadow: 0 16px 0 currentColor; transform: none; }
.scene-transit-diagram i:nth-child(4) { left: 14%; right: auto; top: 19%; bottom: 12%; width: 0; border-top: 0; border-left: 1px solid currentColor; transform: none; }
.scene-chat-thread i:nth-child(1), .scene-chat-thread i:nth-child(2) { height: 42%; border-radius: 14px 14px 14px 3px; }
.scene-chat-thread i:nth-child(2) { top: 38%; border-radius: 14px 14px 3px 14px; }
.scene-triage-board i:nth-child(1), .scene-triage-board i:nth-child(2) { height: 48%; bottom: 22%; border-radius: 3px; }
.scene-blister-pack i:nth-child(1), .scene-blister-pack i:nth-child(2) { border-radius: 20px; }
.scene-blister-pack i:nth-child(3), .scene-blister-pack i:nth-child(4) { border-radius: 50%; }
.scene-phrase-card i:nth-child(1), .scene-phrase-deck i:nth-child(1) { transform: rotate(-8deg); }
.scene-phrase-card i:nth-child(2), .scene-phrase-deck i:nth-child(2) { transform: rotate(8deg); }
.scene-emergency-beacon i:nth-child(1) { inset: 0 15%; border-width: 2px; }
.scene-emergency-beacon i:nth-child(2) { inset: 18% 26%; }
.scene-daily-compass i:nth-child(1), .scene-daily-compass i:nth-child(2) { border-radius: 2px; transform: rotate(45deg); }
.scene-field-kit i:nth-child(1), .scene-field-kit i:nth-child(2) { height: 45%; bottom: 22%; border-radius: 4px; }
.scene-field-kit i:nth-child(3), .scene-field-kit i:nth-child(4) { top: 30%; box-shadow: none; }
.scene-safety-card i:nth-child(1), .scene-safety-card i:nth-child(2) { height: 46%; top: 29%; border-radius: 6px; }
.scene-order-slip i:nth-child(1) { height: 76%; border-bottom-style: dashed; }
.scene-exchange-ledger i:nth-child(1), .scene-exchange-ledger i:nth-child(2), .scene-price-tags i:nth-child(1), .scene-price-tags i:nth-child(2) { border-radius: 50%; }
.scene-dual-clock i:nth-child(1), .scene-dual-clock i:nth-child(2) { inset: auto; top: 29%; width: 26%; height: 48%; }
.scene-dual-clock i:nth-child(1) { left: 4%; }
.scene-dual-clock i:nth-child(2) { right: 4%; }
.scene-gate-grid i:nth-child(1), .scene-gate-grid i:nth-child(2) { border-radius: 0; box-shadow: inset 0 14px 0 transparent; }
.scene-calendar-board i:nth-child(1), .scene-calendar-board i:nth-child(2) { border-radius: 3px; border-top-width: 5px; }
.scene-balance-board i:nth-child(1) { inset: 48% 4% auto; border-width: 1px 0 0; border-radius: 0; transform: none; }
.scene-balance-board i:nth-child(2) { inset: 26% 24% 18%; border-width: 0 1px; border-radius: 0; transform: none; }
.scene-dial-panel i:nth-child(3), .scene-dial-panel i:nth-child(4), .scene-socket-board i:nth-child(3), .scene-socket-board i:nth-child(4) { border-radius: 50%; box-shadow: 14px 0 0 currentColor; }
.scene-device-stack i:nth-child(1), .scene-device-stack i:nth-child(2) { width: 17%; border-radius: 9px; }
.scene-measurement-grid i:nth-child(1), .scene-measurement-grid i:nth-child(2) { height: 20%; top: 46%; border-radius: 2px; }
.scene-fare-meter i:nth-child(1) { top: 61%; box-shadow: 0 -10px 0 currentColor; transform: none; }
.scene-wayfinding-sign i:nth-child(1) { top: 34%; height: 26%; border: 1px solid currentColor; transform: none; }
.scene-wayfinding-sign i:nth-child(4) { left: 50%; right: auto; top: 58%; bottom: 7%; width: 0; border-top: 0; border-left: 1px solid currentColor; transform: none; }
.scene-bottle-shelf i:nth-child(1), .scene-bottle-shelf i:nth-child(2) { width: 15%; height: 62%; border-radius: 9px 9px 4px 4px; }
.scene-bottle-shelf i:nth-child(3), .scene-bottle-shelf i:nth-child(4) { top: auto; bottom: 14%; width: 20%; box-shadow: none; }
.card-visual-semantic.tool-boba-tea-builder .semantic-icon,
.card-visual-semantic.tool-laundry-decoder .semantic-icon,
.card-visual-semantic.tool-phone-guide .semantic-icon,
.card-visual-semantic.tool-water-picker .semantic-icon { border-radius: 18px; }
.card-visual-semantic.tool-holiday-radar .semantic-icon,
.card-visual-semantic.guide-essential-apps .semantic-icon { transform: rotate(-3deg); border-radius: 20px; }
.card-visual-semantic.tool-currency-converter .semantic-icon,
.card-visual-semantic.tool-jin-converter .semantic-icon,
.card-visual-semantic.tool-taxi-price-estimator .semantic-icon { border-radius: 8px; }
.card-visual-app { background: #cfe4dc; }
.card-visual-app .visual-symbol { isolation: isolate; }
.card-visual-app .app-icon-shell { position: relative; z-index: 2; width: 88px; height: 88px; display: block; overflow: hidden; border: 1px solid rgba(30,57,50,.22); border-radius: 21px; background: #fff; box-shadow: 8px 8px 0 rgba(18,59,58,.08), 0 10px 24px rgba(18,59,58,.12); }
.card-visual-app .app-icon-shell img { width: 100%; height: 100%; object-fit: cover; }
.card-visual-app .visual-symbol i { position: absolute; display: block; border: 1px solid currentColor; opacity: .35; }
.card-visual-app .visual-symbol i:first-of-type { width: 118px; height: 118px; border-radius: 50%; }
.card-visual-app .visual-symbol i:last-of-type { width: 160px; height: 1px; border-width: 1px 0 0; transform: rotate(-18deg); }
.card-visual-app.app-payment { background: #ead8ae; color: #41351f; }
.card-visual-app.app-payment .visual-symbol i:first-of-type { width: 150px; height: 76px; border-radius: 8px; transform: rotate(-6deg); }
.card-visual-app.app-map { background: #c9dfd7; color: #153d38; }
.card-visual-app.app-map .visual-symbol i:first-of-type { width: 105px; height: 105px; box-shadow: 0 0 0 20px rgba(21,61,56,.05); }
.card-visual-app.app-social { background: #dfc6bb; color: #472f27; }
.card-visual-app.app-social .visual-symbol i:first-of-type { border-radius: 28px 28px 28px 6px; }
.card-visual-app.app-transit { background: #c9d9de; color: #173743; }
.card-visual-app.app-transit .visual-symbol i:first-of-type { width: 165px; height: 44px; border-radius: 50%; }
.card-visual-app.app-travel { background: #d8d0c2; color: #34352e; }
.card-visual-app.app-travel .visual-symbol i:last-of-type { width: 180px; transform: rotate(-28deg); }
.card-visual-app.app-language { background: #d0d8c5; color: #2f3e2d; }
.card-visual-app.app-language .visual-symbol i:first-of-type { border-radius: 4px; transform: rotate(8deg); }
.card-visual-app.app-network { background: #bedbd9; color: #123b3a; }
.card-visual-app.app-network .visual-symbol i:first-of-type { box-shadow: 0 0 0 16px rgba(18,59,58,.06), 0 0 0 32px rgba(18,59,58,.04); }
.card-visual-app.app-utility { background: #deddd5; color: #303a35; }
.card-visual-article { isolation: isolate; justify-content: flex-start; gap: 16px; padding: 18px 20px 20px; background: #e8e1d4; }
.card-visual-article::after { content: ""; position: absolute; inset: auto 0 0; z-index: -1; height: 34%; background: rgba(255,255,255,.18); border-top: 1px solid currentColor; opacity: .28; }
.card-visual-article > div:first-child { position: relative; z-index: 2; }
.card-visual-article .visual-symbol { position: relative; display: block; min-height: 0; flex: 1; }
.cover-copy { position: absolute; left: 0; bottom: 0; z-index: 2; width: 55%; height: 78px; display: grid; grid-template-rows: minmax(0,1fr) 12px; align-items: end; min-width: 0; }
.cover-copy b, .cover-copy small { display: block; }
.cover-copy b { max-width: none; font-family: Georgia, "Times New Roman", serif; font-size: clamp(34px,3.4vw,48px); font-weight: 400; line-height: .86; letter-spacing: -.045em; white-space: nowrap; }
.cover-copy small { overflow: hidden; font: 600 10px/1 var(--mono); letter-spacing: .09em; text-overflow: clip; white-space: nowrap; }
.cover-copy-long, .cover-copy-wide { width: 55%; }
.cover-copy-long b { font-size: clamp(24px,2.25vw,34px); letter-spacing: -.035em; }
.cover-copy-wide b { font-size: clamp(19px,1.75vw,27px); letter-spacing: -.025em; }
.cover-art { position: absolute; top: 0; right: 0; bottom: 0; width: 36%; min-width: 0; }
.cover-art i { position: absolute; display: block; }

.card-visual-article.cover-rail { background: #163f3c; color: #f4efe5; }
.cover-rail .cover-art { border-bottom: 3px double currentColor; }
.cover-rail .cover-art i { left: 4%; right: 2%; height: 1px; background: currentColor; }
.cover-rail .cover-art i:nth-child(1) { top: 28%; transform: rotate(-11deg); }
.cover-rail .cover-art i:nth-child(2) { top: 54%; transform: rotate(-11deg); }
.cover-rail .cover-art i:nth-child(3), .cover-rail .cover-art i:nth-child(4) { width: 12px; height: 12px; border: 3px solid currentColor; border-radius: 50%; background: #163f3c; }
.cover-rail .cover-art i:nth-child(3) { left: 12%; top: 17%; }
.cover-rail .cover-art i:nth-child(4) { left: 72%; top: 36%; }

.card-visual-article.cover-journey { background: #a94732; color: #fff8ee; }
.cover-journey .cover-art::before { content: ""; position: absolute; inset: 13% 10% 8%; border: 1px solid currentColor; border-radius: 50%; transform: rotate(14deg); }
.cover-journey .cover-art i { width: 11px; height: 11px; border: 3px solid currentColor; border-radius: 50%; background: #a94732; }
.cover-journey .cover-art i:nth-child(1) { left: 18%; top: 18%; }
.cover-journey .cover-art i:nth-child(2) { right: 15%; bottom: 12%; }
.cover-journey .cover-art i:nth-child(3) { left: 49%; top: 44%; width: 16px; height: 14px; border: 0; border-radius: 9px 9px 3px 3px; background: currentColor; transform: rotate(45deg); }
.cover-journey .cover-art i:nth-child(4) { display: none; }

.card-visual-article.cover-air { background: #c8d8de; color: #122f3a; }
.cover-air .cover-art::before { content: ""; position: absolute; left: 2%; right: -16%; top: 50%; height: 2px; background: currentColor; transform: rotate(-18deg); transform-origin: left; }
.cover-air .cover-art i:nth-child(1) { left: 24%; top: 7%; width: 28px; height: 74px; border: solid currentColor; border-width: 0 2px 2px 0; transform: skew(-27deg) rotate(35deg); }
.cover-air .cover-art i:nth-child(2) { right: 2%; top: 24%; width: 13px; height: 13px; border: 2px solid currentColor; border-radius: 50%; }
.cover-air .cover-art i:nth-child(3), .cover-air .cover-art i:nth-child(4) { display: none; }

.card-visual-article.cover-entry { background: #dfd1b8; color: #342f28; }
.cover-entry .cover-art::before { content: ""; position: absolute; inset: 8% 2% 2% 18%; border: 1px solid currentColor; background: rgba(255,255,255,.22); transform: rotate(-5deg); }
.cover-entry .cover-art i:nth-child(1) { left: 38%; top: 30%; width: 40px; height: 40px; border: 1px solid currentColor; border-radius: 50%; }
.cover-entry .cover-art i:nth-child(2) { left: 22%; right: 3%; bottom: 18%; height: 1px; background: currentColor; }
.cover-entry .cover-art i:nth-child(3), .cover-entry .cover-art i:nth-child(4) { display: none; }

.card-visual-article.cover-money { background: #ead6a5; color: #3d3422; }
.cover-money .cover-art { display: grid; grid-template-columns: repeat(4,1fr); grid-template-rows: repeat(4,1fr); gap: 5px; padding: 9% 3% 2% 22%; }
.cover-money .cover-art::before, .cover-money .cover-art::after { content: ""; border: 7px double currentColor; }
.cover-money .cover-art::before { grid-area: 1/1/3/3; }
.cover-money .cover-art::after { grid-area: 3/3/5/5; }
.cover-money .cover-art i { position: static; background: currentColor; }
.cover-money .cover-art i:nth-child(1) { grid-area: 1/4; }
.cover-money .cover-art i:nth-child(2) { grid-area: 3/1; }
.cover-money .cover-art i:nth-child(3) { grid-area: 4/2; }
.cover-money .cover-art i:nth-child(4) { grid-area: 2/4; }

.card-visual-article.cover-money-compare { background: linear-gradient(90deg,#ead6a5 0 50%,#bfd8d2 50%); color: #30372f; }
.cover-money-compare .cover-copy b { max-width: none; }
.cover-money-compare .cover-art::before, .cover-money-compare .cover-art::after { content: ""; position: absolute; top: 14%; bottom: 10%; width: 32%; border: 2px solid currentColor; }
.cover-money-compare .cover-art::before { left: 2%; }
.cover-money-compare .cover-art::after { right: 2%; border-radius: 50%; }
.cover-money-compare .cover-art i:nth-child(1) { left: 49%; top: 17%; bottom: 13%; width: 1px; background: currentColor; }
.cover-money-compare .cover-art i:nth-child(n+2) { display: none; }

.card-visual-article.cover-map { background: #cce0d9; color: #153d38; }
.cover-map .cover-art::before, .cover-map .cover-art::after { content: ""; position: absolute; border: 1px solid currentColor; border-radius: 50%; }
.cover-map .cover-art::before { inset: 4% -5% 1% 12%; }
.cover-map .cover-art::after { inset: 25% 12% 18% 30%; }
.cover-map .cover-art i { left: 60%; top: 36%; width: 19px; height: 19px; border: 5px solid currentColor; border-radius: 50% 50% 50% 0; background: #cce0d9; transform: rotate(-45deg); }
.cover-map .cover-art i:nth-child(n+2) { display: none; }

.card-visual-article.cover-food { background: #e6c4a5; color: #432f22; }
.cover-food .cover-art::before { content: ""; position: absolute; left: 9%; right: 4%; bottom: 8%; height: 45%; border: 2px solid currentColor; border-top: 0; border-radius: 0 0 80px 80px; }
.cover-food .cover-art::after { content: ""; position: absolute; left: 12%; right: 0; top: 18%; height: 2px; background: currentColor; transform: rotate(-12deg); }
.cover-food .cover-art i { width: 1px; height: 24px; top: 4%; background: currentColor; opacity: .55; }
.cover-food .cover-art i:nth-child(1) { left: 30%; }
.cover-food .cover-art i:nth-child(2) { left: 49%; }
.cover-food .cover-art i:nth-child(3) { left: 68%; }
.cover-food .cover-art i:nth-child(4) { display: none; }

.card-visual-article.cover-health { background: #b8d8d2; color: #153d38; }
.cover-health .cover-art::before, .cover-health .cover-art::after { content: ""; position: absolute; left: 50%; top: 50%; background: currentColor; transform: translate(-50%,-50%); }
.cover-health .cover-art::before { width: 72%; height: 18px; }
.cover-health .cover-art::after { width: 18px; height: 86%; }
.cover-health .cover-art i { display: none; }

.card-visual-article.cover-safety { background: #d5c0b6; color: #3f2b25; }
.cover-safety .cover-art::before, .cover-safety .cover-art::after { content: ""; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); }
.cover-safety .cover-art::before { width: 74px; height: 86px; border: 2px solid currentColor; border-radius: 50% 50% 42% 42%; }
.cover-safety .cover-art::after { width: 34px; height: 34px; border: 1px solid currentColor; border-radius: 50%; box-shadow: 0 0 0 9px rgba(63,43,37,.08); }
.cover-safety .cover-art i { display: none; }

.card-visual-article.cover-family { background: #e4cfbf; color: #44312a; }
.cover-family .cover-art i { bottom: 8%; width: 24px; border: 2px solid currentColor; border-radius: 50% 50% 5px 5px; }
.cover-family .cover-art i:nth-child(1) { left: 16%; height: 58%; }
.cover-family .cover-art i:nth-child(2) { left: 45%; height: 76%; }
.cover-family .cover-art i:nth-child(3) { right: 2%; height: 46%; }
.cover-family .cover-art i:nth-child(4) { display: none; }

.card-visual-article.cover-stay { background: #d7d0c3; color: #31352f; }
.cover-stay .cover-art { border: 1px solid currentColor; border-bottom-width: 5px; }
.cover-stay .cover-art i { width: 19%; height: 25%; border: 1px solid currentColor; }
.cover-stay .cover-art i:nth-child(1) { left: 14%; top: 14%; }
.cover-stay .cover-art i:nth-child(2) { right: 14%; top: 14%; }
.cover-stay .cover-art i:nth-child(3) { left: 39%; bottom: 0; width: 26%; height: 44%; border-bottom: 0; }
.cover-stay .cover-art i:nth-child(4) { display: none; }

.card-visual-article.cover-digital { background: #bcd7d5; color: #123b3a; }
.cover-digital .cover-art::before { content: ""; position: absolute; inset: 2% 12% 2% 24%; border: 2px solid currentColor; border-radius: 12px; }
.cover-digital .cover-art i { bottom: 13%; width: 7px; background: currentColor; }
.cover-digital .cover-art i:nth-child(1) { left: 39%; height: 18%; }
.cover-digital .cover-art i:nth-child(2) { left: 51%; height: 34%; }
.cover-digital .cover-art i:nth-child(3) { left: 63%; height: 50%; }
.cover-digital .cover-art i:nth-child(4) { left: 75%; height: 66%; }

.card-visual-article.cover-plan { background: #e1d8c8; color: #34372f; }
.cover-plan .cover-art { top: 7%; right: 0; bottom: 2%; width: 36%; border: 1px solid currentColor; background: repeating-linear-gradient(90deg,transparent 0 22%,currentColor 22% 23%); }
.cover-plan .cover-art::before { content: ""; position: absolute; left: 0; right: 0; top: 25%; height: 1px; background: currentColor; }
.cover-plan .cover-art i { width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.cover-plan .cover-art i:nth-child(1) { left: 14%; top: 48%; }
.cover-plan .cover-art i:nth-child(2) { left: 60%; top: 70%; }
.cover-plan .cover-art i:nth-child(n+3) { display: none; }

.card-visual-article.cover-language { background: #ced7c4; color: #2c3d2d; }
.cover-language .cover-art::before { content: "“"; position: absolute; left: 9%; top: -18%; font-family: Georgia, "Times New Roman", serif; font-size: 112px; font-weight: 400; line-height: 1; }
.cover-language .cover-art i { left: 22%; right: 3%; height: 2px; background: currentColor; }
.cover-language .cover-art i:nth-child(1) { top: 44%; }
.cover-language .cover-art i:nth-child(2) { top: 62%; right: 20%; }
.cover-language .cover-art i:nth-child(3) { top: 80%; right: 42%; }
.cover-language .cover-art i:nth-child(4) { display: none; }

.card-visual-article.cover-culture { background: #d6b6a5; color: #3c2923; }
.cover-culture .cover-art::before { content: ""; position: absolute; left: 5%; right: 0; bottom: 6%; height: 58%; border: 2px solid currentColor; border-bottom-width: 7px; }
.cover-culture .cover-art::after { content: ""; position: absolute; left: 0; right: -5%; top: 21%; height: 2px; background: currentColor; transform: skewY(-8deg); }
.cover-culture .cover-art i { bottom: 6%; width: 1px; height: 48%; background: currentColor; }
.cover-culture .cover-art i:nth-child(1) { left: 28%; }
.cover-culture .cover-art i:nth-child(2) { left: 54%; }
.cover-culture .cover-art i:nth-child(3) { left: 80%; }
.cover-culture .cover-art i:nth-child(4) { display: none; }

.card-visual-article.cover-outdoors { background: #bfcfc2; color: #263b32; }
.cover-outdoors .cover-art { overflow: hidden; }
.cover-outdoors .cover-art::before, .cover-outdoors .cover-art::after { content: ""; position: absolute; bottom: -27%; width: 82px; height: 82px; border: 2px solid currentColor; transform: rotate(45deg); }
.cover-outdoors .cover-art::before { left: 1%; }
.cover-outdoors .cover-art::after { right: -15%; bottom: -8%; }
.cover-outdoors .cover-art i { right: 12%; top: 9%; width: 20px; height: 20px; border: 1px solid currentColor; border-radius: 50%; }
.cover-outdoors .cover-art i:nth-child(n+2) { display: none; }

.card-visual-article.cover-place { background: #c6d5d0; color: #213b36; }
.cover-place .cover-art { border-bottom: 2px solid currentColor; }
.cover-place .cover-art::before { content: ""; position: absolute; left: 4%; right: 2%; bottom: 0; height: 64%; background: repeating-linear-gradient(90deg,currentColor 0 1px,transparent 1px 21px); clip-path: polygon(0 74%,12% 38%,24% 67%,36% 8%,49% 55%,61% 27%,74% 72%,86% 16%,100% 56%,100% 100%,0 100%); opacity: .85; }
.cover-place .cover-art i { right: 8%; top: 2%; width: 20px; height: 20px; border: 1px solid currentColor; border-radius: 50%; }
.cover-place .cover-art i:nth-child(n+2) { display: none; }

.card-visual-article.cover-shop { background: #e5c4ad; color: #422f27; }
.cover-shop .cover-art::before { content: ""; position: absolute; inset: 10% 4% 9% 17%; border: 2px solid currentColor; transform: skewY(-6deg); }
.cover-shop .cover-art::after { content: ""; position: absolute; left: 28%; top: 2%; width: 40%; height: 27%; border: 2px solid currentColor; border-bottom: 0; border-radius: 30px 30px 0 0; }
.cover-shop .cover-art i { display: none; }

.card-visual-article.cover-story { background: #d9ddd5; color: #253b36; }
.cover-story .cover-art::before { content: ""; position: absolute; inset: 5% 2% 3% 13%; border: 1px solid currentColor; box-shadow: -10px 10px 0 -1px #d9ddd5, -10px 10px 0 0 currentColor; }
.cover-story .cover-art i { left: 28%; right: 10%; height: 1px; background: currentColor; }
.cover-story .cover-art i:nth-child(1) { top: 30%; }
.cover-story .cover-art i:nth-child(2) { top: 48%; }
.cover-story .cover-art i:nth-child(3) { top: 66%; right: 34%; }
.cover-story .cover-art i:nth-child(4) { display: none; }
.card-visual-place { --place-bg: #dbe7e2; --place-ink: #173d38; background: var(--place-bg); color: var(--place-ink); }
.card-visual-place .visual-symbol { isolation: isolate; overflow: hidden; }
.card-visual-place .semantic-icon { position: relative; z-index: 2; width: 92px; height: 92px; display: grid; place-items: center; }
.card-visual-place .semantic-icon svg { width: 72px; height: 72px; display: block; }
.card-visual-place .visual-symbol > i { position: absolute; width: 150px; height: 150px; border: 1px solid currentColor; border-radius: 50%; opacity: .18; }
.card-visual-place.place-water { background: #c7dbe1; color: #173b47; }
.card-visual-place.place-heritage { background: #dfcfba; color: #3f3327; }
.card-visual-place.place-urban { background: #d4d8d2; color: #293a35; }
.card-visual-place.place-city { background: #cbdcd7; color: #173d38; }
.card-visual-guide { background: var(--mint); }
.index-card-body { min-height: 220px; display: flex; flex: 1; flex-direction: column; padding: 20px; }
.card-access { width: max-content; margin-bottom: 10px; padding: 5px 7px; border-radius: 50px; font: 700 8px/1 var(--mono); letter-spacing: .08em; }
.card-access-premium { border: 1px solid #d2a843; background: #fbf0ce; color: #6b4700; }
.card-access-free { border: 1px solid #8bb4a5; background: #e5f2ed; color: var(--brand); }
.index-card h2 { min-height: 3.45em; margin: 0 0 10px; font-size: 22px; font-weight: 600; line-height: 1.15; letter-spacing: -.015em; overflow-wrap: anywhere; }
.index-card p { min-height: 57px; margin: 0 0 18px; color: var(--muted); font-size: 13px; line-height: 19px; }
.card-link { display: inline-flex; align-items: center; gap: 8px; min-height: 36px; margin-top: auto; color: var(--brand); font-size: 12px; font-weight: 600; }

.section-page { padding: 70px 0 120px; }
.section-hero { min-height: 420px; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 60px; align-items: end; padding: clamp(40px,7vw,90px); border-radius: 24px; background: var(--house); color: #fff; }
.section-hero .eyebrow { color: #7ed4ac; }
.section-hero h1 { max-width: 950px; margin: 28px 0 22px; font-size: clamp(50px,6vw,82px); font-weight: 600; line-height: .98; letter-spacing: -.035em; }
.section-hero p { max-width: 60ch; margin: 0; color: rgba(255,255,255,.7); font-size: 18px; }
.section-stat { align-self: end; min-width: 170px; padding: 20px; border-radius: 14px; background: rgba(255,255,255,.08); }
.section-stat strong { display: block; font-size: 64px; font-weight: 500; line-height: 1; letter-spacing: -.04em; }
.section-stat span { color: rgba(255,255,255,.65); font: 600 10px/1 var(--mono); letter-spacing: .08em; }
.filter-bar { min-height: 74px; display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: center; margin: 24px 0; padding: 0 6px; border-bottom: 1px solid var(--border); color: var(--muted); font: 600 11px/1 var(--mono); letter-spacing: .07em; }
.filter-bar a { display: flex; align-items: center; gap: 8px; color: var(--brand); }
.filter-bar a { min-height: 44px; justify-self: end; }
.collection-filter { min-width: min(420px, 45vw); display: grid; grid-template-columns: auto minmax(180px,1fr); gap: 12px; align-items: center; }
.collection-filter input { width: 100%; min-height: 44px; padding: 0 15px; border: 1px solid var(--border); border-radius: 50px; background: var(--surface); color: var(--ink); }
.original-archive { padding-top: 100px; }

.article-page { display: grid; grid-template-columns: 210px minmax(0,820px) 250px; gap: clamp(24px,4vw,60px); align-items: start; padding: 62px 0 120px; }
.article-rail, .article-actions { position: sticky; top: 24px; }
.back-link { display: inline-flex; min-height: 44px; align-items: center; color: var(--brand); font-size: 13px; font-weight: 600; }
.mini-route { position: relative; margin: 24px 0; padding-block: 10px; padding-inline-start: 26px; border-inline-start: 1px solid var(--border); }
.mini-route > * { display: block; }
.mini-route b { margin-bottom: 36px; font-size: 13px; }
.mini-route small { color: var(--muted); font-size: 11px; }
.route-dot { position: absolute; inset-inline-start: -5px; bottom: 8px; width: 9px; height: 9px; border: 2px solid var(--brand); border-radius: 50%; background: var(--canvas); }
.route-dot.active { top: 10px; bottom: auto; background: var(--brand); }
.offline-control { display: flex; align-items: center; gap: 10px; padding: 14px; border-radius: 12px; background: var(--surface); box-shadow: 0 0 .5px rgba(0,0,0,.14), 0 1px 1px rgba(0,0,0,.18); }
.offline-control b, .offline-control small { display: block; }
.offline-control b { font-size: 12px; }
.offline-control small { margin-top: 3px; color: var(--muted); font-size: 10px; }
.article-card { min-width: 0; overflow: hidden; border-radius: 20px; background: var(--surface); box-shadow: 0 0 .5px rgba(0,0,0,.14), 0 10px 30px rgba(30,57,50,.08); }
.article-heading { padding: clamp(32px,5vw,64px); background: var(--house); color: #fff; }
.article-heading .status-row { color: rgba(255,255,255,.66); }
.article-heading h1 { margin: 28px 0 20px; font-size: clamp(44px,5vw,70px); font-weight: 600; line-height: 1; letter-spacing: -.035em; overflow-wrap: anywhere; }
.article-heading > p { max-width: 62ch; margin: 0; color: rgba(255,255,255,.72); font-size: 18px; }
.source-content { padding: clamp(32px,5vw,64px); font-size: 17px; line-height: 1.65; }
.source-content > * { max-width: 65ch; }
.source-content h1, .source-content h2, .source-content h3, .source-content h4 { color: var(--house); font-family: var(--font); font-weight: 600; line-height: 1.15; letter-spacing: -.02em; scroll-margin-top: 28px; }
.source-content h1 { margin: 56px 0 20px; font-size: 40px; }
.source-content h2 { margin: 52px 0 18px; font-size: 32px; }
.source-content h3 { margin: 38px 0 14px; font-size: 23px; }
.source-content h4 { margin: 28px 0 12px; font-size: 18px; }
.source-content p { margin: 0 0 22px; }
.source-content ul, .source-content ol { margin: 0 0 26px; padding-inline-start: 24px; }
.source-content li { margin: 8px 0; }
.source-content a { color: var(--brand); text-decoration: underline; text-underline-offset: 3px; }
.source-content .premium-gate h2 { margin: 12px 0 14px; color: #fff; font-size: 32px; }
.source-content .premium-gate-copy > span { color: #8eddb6; }
.source-content .premium-gate-actions .primary-button { color: #fff; text-decoration: none; }
.source-content a:has(h3, h4, p) { display: block; margin: 18px 0; padding: 18px 20px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); color: var(--ink); text-decoration: none; }
.source-content a:has(h3, h4, p):hover { border-color: var(--brand); box-shadow: 0 8px 22px rgba(18,59,58,.08); }
.source-content img { width: auto; max-width: 100%; height: auto; margin: 26px 0 34px; border-radius: 12px; }
.source-content table { display: block; max-width: 100%; margin: 30px 0; border-collapse: collapse; overflow-x: auto; font-size: 14px; }
.source-content th, .source-content td { min-width: 130px; padding: 12px 14px; border-bottom: 1px solid var(--border); text-align: start; vertical-align: top; }
.source-content th { color: var(--brand); font: 600 11px/1.3 var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.source-content blockquote { max-width: none; margin: 34px 0; padding: 22px; border-radius: 12px; background: var(--mint); color: var(--house); }
.official-source-panel { max-width: 65ch; margin: 34px 0; padding: 22px 24px; border-inline-start: 4px solid var(--brand); border-radius: 12px; background: var(--mint); color: var(--house); }
.official-source-panel strong { display: block; margin-bottom: 8px; font: 600 11px/1.3 var(--mono); letter-spacing: .07em; text-transform: uppercase; }
.official-source-panel p:last-child { margin-bottom: 0; }
.workflow-board { max-width: none !important; margin: 0 0 46px; overflow: hidden; border: 1px solid var(--border); border-radius: 18px; background: var(--house); color: #fff; }
.workflow-board figcaption { display: flex; justify-content: space-between; gap: 24px; align-items: end; padding: 24px 26px; border-bottom: 1px solid rgba(255,255,255,.16); }
.workflow-board figcaption > div { display: flex; flex-direction: column; gap: 7px; }
.workflow-board figcaption span { color: #7ed4ac; font: 700 10px/1.2 var(--mono); letter-spacing: .09em; }
.workflow-board figcaption small { color: rgba(255,255,255,.54); font: 600 8px/1.35 var(--mono); letter-spacing: .05em; }
.workflow-board figcaption strong { max-width: 520px; text-align: end; font-size: 22px; line-height: 1.12; }
.workflow-board ol { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); margin: 0; padding: 0; list-style: none; }
.workflow-board li { min-width: 0; min-height: 190px; display: flex; flex-direction: column; gap: 34px; margin: 0; padding: 22px 18px; border-inline-end: 1px solid rgba(255,255,255,.14); }
.workflow-board li:last-child { border-inline-end: 0; }
.workflow-board li > span { color: #7ed4ac; font: 700 11px/1 var(--mono); }
.workflow-board li strong { display: block; font-size: 14px; line-height: 1.3; }
.workflow-board li p { margin: 8px 0 0; color: rgba(255,255,255,.68); font-size: 11px; line-height: 1.5; }
.task-sequence { max-width: none !important; margin: 0 0 54px; }
.task-sequence-heading { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(260px,.95fr); gap: 34px; align-items: end; margin-bottom: 16px; padding: 28px; border-radius: 18px; background: var(--house); color: #fff; }
.task-sequence-heading span { color: #7ed4ac; font: 700 10px/1.2 var(--mono); letter-spacing: .1em; }
.source-content .task-sequence-heading h2 { margin: 10px 0 0; color: #fff; font-size: 30px; }
.task-sequence-heading p { margin: 0; color: rgba(255,255,255,.72); font-size: 13px; line-height: 1.65; }
.task-sequence-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.task-sequence-step { min-height: 190px; display: grid; grid-template-columns: 106px minmax(0,1fr); gap: 24px; align-items: start; margin: 0 !important; padding: 26px; border: 1px solid rgba(18,59,58,.18); border-radius: 16px; background: #fffdf8; box-shadow: 0 8px 24px rgba(18,59,58,.06); }
.task-sequence-step:nth-child(4n+2), .task-sequence-step:nth-child(4n+3) { background: #edf5f1; }
.task-sequence-step > span { display: inline-flex; align-items: center; justify-content: center; min-height: 34px; padding: 0 10px; border-radius: 999px; background: var(--house); color: #fff; font: 700 9px/1 var(--mono); letter-spacing: .06em; white-space: nowrap; }
.task-sequence-step strong { display: block; margin: 2px 0 9px; color: var(--house); font-size: 19px; line-height: 1.2; }
.task-sequence-step small { display: block; min-height: 38px; color: #00705f; font: 700 10px/1.5 var(--mono); letter-spacing: .02em; }
.source-content .task-sequence-step p { margin: 14px 0 0; color: var(--muted); font-size: 13px; line-height: 1.65; }
.task-sequence-note { margin: 14px 0 0 !important; padding: 16px 18px; border-inline-start: 3px solid var(--accent); border-radius: 0 10px 10px 0; background: #f4efe4; color: var(--muted); font-size: 12px !important; line-height: 1.65 !important; }
.milestone-grid, .branch-grid, .comparison-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; max-width: none !important; margin: 26px 0 34px; }
.comparison-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.milestone-grid > div, .branch-grid > div, .comparison-grid > div { min-width: 0; padding: 20px; border: 1px solid var(--border); border-radius: 14px; background: #f6f5f1; }
.milestone-grid span, .branch-grid span, .comparison-grid span { display: block; margin-bottom: 22px; color: var(--brand); font: 700 10px/1 var(--mono); letter-spacing: .08em; }
.milestone-grid strong, .branch-grid strong, .comparison-grid strong { display: block; color: var(--house); font-size: 16px; line-height: 1.3; }
.milestone-grid p, .branch-grid p, .comparison-grid p { margin: 8px 0 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.caution-panel { max-width: 65ch; margin: 30px 0; padding: 22px 24px; border: 1px solid rgba(166,61,31,.35); border-radius: 14px; background: #fff3ec; color: #54281c; }
.caution-panel strong { display: block; margin-bottom: 8px; font-size: 16px; }
.caution-panel p:last-child { margin-bottom: 0; }
.evidence-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; max-width: none !important; margin: 48px 0 0; padding-top: 28px; border-top: 1px solid var(--border); }
.evidence-grid > div { min-width: 0; padding: 18px; border-radius: 12px; background: var(--mint); }
.evidence-grid strong { display: block; color: var(--brand); font: 700 10px/1.3 var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.evidence-grid p { margin: 10px 0 0; color: var(--house); font-size: 12px; line-height: 1.5; }
.source-content details { max-width: 65ch; padding: 16px 0; border-bottom: 1px solid var(--border); }
.source-content summary { min-height: 44px; padding-block: 8px; cursor: pointer; font-weight: 600; line-height: 1.4; }
.source-static-label, .source-related-label { color: var(--muted); font: inherit; }
.source-content [id^="related-tools-in-the-kit"] + div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.source-content [id^="related-tools-in-the-kit"] + div > .source-related-label,
.source-content [id^="related-tools-in-the-kit"] + div > .source-related-link { min-width: 0; display: block; padding: 14px; border: 1px solid var(--border); border-radius: 10px; background: #f6f5f1; color: var(--house); }
.source-content [id^="related-tools-in-the-kit"] + div p { margin: 3px 0; font-size: 13px; }
.source-related-link:hover { border-color: var(--brand); }
.source-content #tags + div { display: flex; flex-wrap: wrap; gap: 8px; }
.source-content #tags + div > span { min-height: 32px; display: inline-flex; align-items: center; padding: 0 10px; border: 1px solid var(--border); border-radius: 50px; white-space: nowrap; }
.source-content > :first-child:is(h1,h2,h3,h4),
.source-content > section:first-child > :first-child:is(h1,h2,h3,h4),
.source-content > section:first-child > div:first-child > :first-child:is(h1,h2,h3,h4) { margin-top: 0; }
.map-access-note { display: block; max-width: 52ch; margin-top: 10px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.place-review-note { max-width: none !important; margin: 0 0 42px; padding: 24px 26px; border: 1px solid #c8d8d2; border-radius: 16px; background: linear-gradient(135deg,#edf6f2 0%,#f8f5ea 100%); }
.place-review-note > div { max-width: 64ch; }
.place-review-note span { display: block; margin-bottom: 10px; color: var(--brand); font: 700 10px/1.2 var(--mono); letter-spacing: .09em; }
.place-review-note h2 { margin: 0 0 9px; font-size: 22px; }
.place-review-note p { margin: 0; color: #395452; font-size: 14px; line-height: 1.6; }
.place-map-section { max-width: none !important; margin: 0 0 42px; }
.place-map-section > h2 { margin-top: 0; }
.place-map-actions { padding: 24px; border: 1px solid #bdd2cb; border-radius: 16px; background: #f3f7f4; }
.place-map-actions > p { max-width: 62ch; margin-bottom: 18px; color: #395452; font-size: 14px; }
.place-map-actions > div { display: flex; flex-wrap: wrap; gap: 10px; }
.place-map-actions a, .place-copy-button { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; padding: 0 16px; border: 1px solid #9cb9af; border-radius: 999px; background: var(--surface); color: var(--house) !important; font: 650 13px/1 var(--font); text-decoration: none !important; cursor: pointer; }
.place-map-actions a:hover, .place-copy-button:hover { border-color: var(--brand); box-shadow: 0 6px 16px rgba(18,59,58,.08); }
.resource-correction { padding: clamp(26px,5vw,52px); border: 1px solid #c8d8d2; border-radius: 18px; background: linear-gradient(135deg,#edf6f2 0%,#f8f5ea 100%); }
.resource-correction > span { color: var(--brand); font: 700 10px/1.2 var(--mono); letter-spacing: .09em; }
.resource-correction h2 { max-width: 18ch; margin: 18px 0 14px; color: var(--house); font-size: clamp(30px,4vw,48px); line-height: 1.02; }
.resource-correction p { max-width: 62ch; color: #395452; line-height: 1.65; }
.resource-correction > div { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.resource-correction a { min-height: 46px; display: inline-flex; align-items: center; padding: 0 16px; border: 1px solid #9cb9af; border-radius: 999px; color: var(--house) !important; font-size: 13px; font-weight: 650; text-decoration: none !important; }
.place-copy-button[data-copied="true"] { background: var(--house); color: #fff !important; }
.source-content h3[id^="tools-you-need-for-"] + div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; max-width: none; }
.source-content .place-app-card { min-width: 0; display: grid !important; grid-template-columns: 64px minmax(0,1fr); grid-template-rows: auto 1fr; gap: 2px 14px; align-items: center; margin: 0 !important; padding: 16px !important; }
.source-content .place-app-card .place-app-icon { grid-row: 1 / 3; width: 64px; height: 64px; margin: 0; border: 1px solid rgba(18,59,58,.15); border-radius: 15px; object-fit: cover; }
.source-content .place-app-card > div { min-width: 0; }
.source-content .place-app-card > div:first-of-type span { color: var(--brand); font: 700 9px/1.2 var(--mono); letter-spacing: .07em; text-transform: uppercase; }
.source-content .place-app-card h4 { margin: 2px 0 4px; font-size: 17px; }
.source-content .place-app-card p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.4; }
.archive-access { width: var(--shell); display: flex; justify-content: space-between; gap: 32px; align-items: center; margin: -72px auto 100px; padding: 32px; border: 1px solid var(--border); border-radius: 18px; background: var(--mint); }
.archive-access span { color: var(--brand); font: 700 10px/1.2 var(--mono); letter-spacing: .08em; }
.archive-access h2 { margin: 9px 0 8px; font-size: 28px; }
.archive-access p { max-width: 68ch; margin: 0; color: var(--muted); }
.archive-page { width: var(--shell); margin-inline: auto; padding: 64px 0 120px; }
.archive-page > .dead-page { width: 100%; margin: 0; }
.archive-capture { margin-top: 24px; padding: 26px; border: 1px solid var(--border); border-radius: 18px; background: var(--surface); }
.archive-capture details > summary { min-height: 48px; display: flex; align-items: center; cursor: pointer; color: var(--house); font-size: 17px; font-weight: 700; }
.archive-capture-warning { margin: 16px 0 0; padding: 18px 20px; border-inline-start: 4px solid var(--danger); border-radius: 12px; background: #fff2ec; color: #54281c; line-height: 1.55; }
.archive-capture .source-content { padding-inline: 0; }
.source-download-install, .source-app-catalog { max-width: none !important; margin: 42px 0; padding: 28px; border-radius: 18px; background: var(--mint); }
.source-download-install > div:not([class]), .source-app-catalog article > div:not([class]) { display: flex; flex-wrap: wrap; gap: 10px; }
.source-download-install > div:not([class]) > a, .source-app-catalog article > div:not([class]) > a { min-height: 48px; display: inline-flex; align-items: center; padding: 0 18px; border: 1px solid var(--border); border-radius: 50px; background: var(--surface); color: var(--house); font-weight: 600; text-decoration: none; }
.source-app-catalog > div:not([class]) { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.source-app-catalog article { min-width: 0; padding: 20px; border: 1px solid var(--border); border-radius: 14px; background: var(--surface); }
.source-app-catalog article h3 { margin: 16px 0 8px; }
.official-downloads { max-width: none !important; margin: 48px -18px 54px; padding: 30px; border-radius: 18px; background: var(--mint); }
.official-downloads > div:not([class]), .official-downloads > .store-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.official-downloads .store-button { min-height: 72px; display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 12px; align-items: center; justify-content: stretch; padding: 14px 16px; border-radius: 12px; }
.official-downloads .store-button > small { min-width: 0; }
.official-downloads .store-button > strong { min-width: 0; text-align: start; }
.official-downloads .store-button > span { position: static; font-size: 14px; line-height: 1; text-align: end; }
.store-region, .source-app-catalog a[data-storefront] small { min-width: 48px; display: inline-flex; align-items: center; justify-content: center; padding: 6px 8px; border-radius: 999px; background: var(--house); color: #fff; font: 700 9px/1 var(--mono); letter-spacing: .08em; }
.source-app-catalog a[data-storefront] { gap: 7px; }
.source-app-catalog a[data-storefront] small { min-width: 0; padding: 4px 6px; }
.download-copy > span, .app-stack-browser > header > span { color: var(--brand); font: 700 10px/1 var(--mono); letter-spacing: .09em; }
.official-downloads .download-copy h2, .app-stack-browser > header h2 { margin: 12px 0 10px; font-size: clamp(28px,4vw,40px); }
.official-downloads .download-copy p { max-width: 56ch; margin-bottom: 24px; color: var(--muted); font-size: 14px; }
.store-actions { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.store-button { position: relative; min-width: 0; min-height: 76px; display: flex; flex-direction: column; justify-content: center; padding-block: 13px; padding-inline: 16px 42px; border: 1px solid rgba(30,57,50,.22); border-radius: 12px; background: var(--surface); color: var(--house) !important; text-decoration: none !important; transition: transform 150ms var(--ease), border-color 150ms var(--ease), box-shadow 150ms var(--ease); }
.store-button:hover { transform: translateY(-2px); border-color: var(--brand); box-shadow: 0 8px 20px rgba(30,57,50,.10); }
.store-button small, .store-button strong { display: block; overflow-wrap: normal; }
.store-button small { color: var(--muted); font: 600 10px/1.2 var(--mono); }
.store-button strong { margin-top: 6px; font-size: 15px; }
.store-button > span { position: absolute; inset-inline-end: 15px; top: 50%; transform: translateY(-50%); font-size: 18px; }
.app-stack-browser { max-width: none !important; margin: -10px -18px 70px; }
.app-stack-browser > header { max-width: 680px; margin-bottom: 28px; }
.app-stack-browser > header p { color: var(--muted); }
.app-filter { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }
.app-filter button { min-height: 44px; padding: 0 16px; border: 1px solid var(--border); border-radius: 50px; background: transparent; color: var(--muted); font-size: 13px; font-weight: 600; }
.app-filter button.active { border-color: var(--house); background: var(--house); color: #fff; }
.filter-bar:has(.app-index-filter) { grid-template-columns: minmax(0,1fr) auto; gap: 18px; padding-block: 14px; }
.app-index-filter { min-width: 0; margin: 0; }
.app-index-filter button { transition: border-color 150ms var(--ease), background 150ms var(--ease), color 150ms var(--ease), transform 150ms var(--ease); }
.app-index-filter button:hover { border-color: var(--brand); color: var(--house); }
.app-index-filter button:active { transform: scale(.97); }
.app-index-filter button.active:hover { color: #fff; }
.filter-result { justify-self: end; min-width: max-content; padding: 8px 11px; border: 1px solid var(--border); border-radius: 50px; background: rgba(255,255,255,.52); color: var(--house); font: 700 10px/1 var(--mono); letter-spacing: .07em; text-transform: uppercase; }
.app-stack-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.app-stack-card { min-width: 0; min-height: 260px; display: flex; flex-direction: column; padding: 22px; border: 1px solid var(--border); border-radius: 16px; background: #fbfaf7; }
.app-stack-card[hidden] { display: none; }
.app-card-top { display: flex; align-items: center; justify-content: space-between; }
.app-card-top span { color: var(--brand); font: 700 10px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.app-card-top img { width: 52px; height: 52px; display: block; flex: 0 0 52px; object-fit: cover; border: 1px solid rgba(30,57,50,.18); border-radius: 13px; background: #fff; box-shadow: 0 6px 16px rgba(18,59,58,.10); }
.app-stack-card h3 { margin: 30px 0 8px; font-size: 24px; }
.app-stack-card h3 a { color: var(--house); text-decoration: none; }
.app-stack-card p { margin: 0 0 22px; color: var(--muted); font-size: 13px; }
.mini-store-actions { display: flex; gap: 7px; margin-top: auto; }
.mini-store-actions .store-button { flex: 1; min-height: 52px; padding-block: 9px; padding-inline: 11px 28px; }
.mini-store-actions .store-button small { display: none; }
.mini-store-actions .store-button strong { margin: 0; font-size: 11px; }
.mini-store-actions .store-button > span { inset-inline-end: 10px; font-size: 14px; }
.source-reference { max-width: 65ch; }
.source-step-gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; max-width: 100%; margin: 28px 0 44px; }
.source-step-gallery figure { margin: 0; }
.source-step-gallery img { width: 100%; margin: 0; }
.source-step-gallery figcaption { padding: 9px 2px; color: var(--muted); font: 600 11px/1.4 var(--mono); }
.original-guide-visual { max-width: none !important; margin: 0 0 42px; }
.source-content .original-guide-visual img { width: 100%; margin: 0; border-radius: 14px; }
.original-guide-visual figcaption { padding-top: 10px; color: var(--muted); font: 600 11px/1.5 var(--mono); }
.app-detail-icon { width: 88px; height: 88px; display: block; object-fit: cover; margin: 0 0 28px; border: 1px solid rgba(255,255,255,.28); border-radius: 22px; background: #fff; box-shadow: 0 12px 30px rgba(0,0,0,.18); }
.commerce-disabled { display: inline-flex; min-height: 42px; align-items: center; padding: 0 16px; border: 1px solid var(--border); border-radius: 50px; color: var(--muted); font-size: 12px; font-weight: 600; }
.source-note { display: flex; justify-content: space-between; gap: 20px; margin: 0 64px; padding: 24px 0 40px; border-top: 1px solid var(--border); font: 600 10px/1.4 var(--mono); letter-spacing: .06em; }
.source-note a { display: flex; min-height: 36px; align-items: center; gap: 8px; color: var(--brand); }
.action-card, .safety-card { padding: 18px; border-radius: 12px; background: var(--surface); box-shadow: 0 0 .5px rgba(0,0,0,.14), 0 1px 1px rgba(0,0,0,.18); }
.action-card > span { color: var(--muted); font: 600 10px/1 var(--mono); letter-spacing: .08em; }
.action-card nav { margin-top: 12px; }
.action-card a { min-height: 44px; display: flex; align-items: center; padding: 8px 0; border-bottom: 1px solid var(--border); color: var(--muted); font-size: 12px; line-height: 1.35; }
.action-card a[data-depth="3"] { padding-inline-start: 12px; }
.safety-card { display: flex; gap: 10px; margin-top: 12px; background: var(--mint); color: var(--house); }
.safety-card b { font-size: 12px; }
.safety-card p { margin: 5px 0 0; font-size: 11px; }
.mobile-safety-card { display: none; }

.search-page, .emergency-page, .dead-page { padding: 70px 0 120px; }
.search-page > header h1, .dead-page h1 { max-width: 920px; margin: 28px 0 48px; color: var(--house); font-size: clamp(50px,6vw,82px); font-weight: 600; line-height: .98; letter-spacing: -.035em; }
.search-panel { padding: clamp(28px,5vw,60px); border-radius: 20px; background: var(--surface); box-shadow: 0 0 .5px rgba(0,0,0,.14), 0 10px 30px rgba(30,57,50,.08); }
.search-panel > label { display: block; margin-bottom: 10px; font: 600 11px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.search-input { min-height: 70px; display: grid; grid-template-columns: 30px 1fr auto; gap: 12px; align-items: center; padding: 7px 7px 7px 20px; border: 2px solid var(--house); border-radius: 50px; }
.search-input input { min-width: 0; border: 0; outline: 0; background: transparent; font-size: 19px; }
.search-input button, .suggested button, #retry-search { min-height: 44px; padding: 0 16px; border: 1px solid var(--border); border-radius: 50px; background: transparent; }
.search-input button[hidden] { display: none; }
#search-status { padding: 16px 4px; color: var(--muted); font-size: 13px; }
.suggested { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding-bottom: 20px; }
.suggested > span { margin-inline-end: 7px; font: 600 10px/1 var(--mono); letter-spacing: .08em; }
#search-results { border-top: 1px solid var(--border); }
#search-results > a { min-height: 100px; display: grid; grid-template-columns: 130px 1fr auto; gap: 24px; align-items: center; border-bottom: 1px solid var(--border); }
#search-results > a > span, #search-results i { font: 600 10px/1 var(--mono); font-style: normal; letter-spacing: .08em; }
#search-results > a > span em { width: max-content; display: block; margin-top: 7px; padding: 4px 6px; border-radius: 50px; background: #fbf0ce; color: #6b4700; font: 700 8px/1 var(--mono); font-style: normal; }
#search-results b { display: block; font-size: 17px; }
#search-results p { margin: 5px 0 0; color: var(--muted); font-size: 13px; }

.emergency-page > header { padding: clamp(42px,7vw,90px); border-radius: 24px; background: var(--house); color: #fff; }
.emergency-page > header .eyebrow { color: #ffb4aa; }
.emergency-page > header h1 { max-width: 950px; margin: 28px 0 22px; font-size: clamp(54px,7vw,96px); font-weight: 600; line-height: .92; letter-spacing: -.04em; }
.emergency-page > header p { max-width: 60ch; color: rgba(255,255,255,.72); font-size: 18px; }
.call-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin: 14px 0 80px; }
.call-grid a { min-height: 150px; display: grid; grid-template-columns: 36px 1fr auto; gap: 16px; align-items: center; padding: 24px; border-radius: 14px; background: var(--danger); color: #fff; }
.call-grid span { font: 600 10px/1 var(--mono); letter-spacing: .08em; }
.call-grid strong { display: block; margin-top: 8px; font-size: 54px; font-weight: 500; line-height: .9; }
.call-grid > a > b { font-size: 11px; }
.situation-list > a { min-height: 118px; display: grid; grid-template-columns: 44px 1fr 24px; gap: 20px; align-items: center; padding: 16px 4px; border-bottom: 1px solid var(--border); }
.situation-list > a > span { color: var(--brand); font: 600 11px/1 var(--mono); }
.situation-list small { color: var(--muted); font: 600 9px/1 var(--mono); letter-spacing: .08em; }
.situation-list b { display: block; margin: 7px 0; font-size: 20px; }
.situation-list p { margin: 0; color: var(--muted); font-size: 13px; }
.emergency-disclaimer { display: flex; gap: 12px; margin-top: 50px; padding: 22px; border-radius: 12px; background: var(--mint); color: var(--house); }
.emergency-disclaimer p { margin: 0; }
.dead-page { min-height: 70vh; align-content: center; }

.destination-hold-page { max-width: 980px; }
.destination-hold-page > h1 { margin-bottom: 24px; }
.destination-hold-page > p { max-width: 760px; color: var(--ink-soft); font-size: 18px; line-height: 1.7; }
.destination-hold-page > section { margin-top: 34px; padding: 28px; border: 1px solid var(--line); border-radius: 24px; background: var(--paper); }
.destination-hold-page > section h2 { margin: 0 0 18px; color: var(--house); font-size: 22px; }
.destination-hold-page > section ul { display: grid; gap: 10px; margin: 0; padding-left: 21px; color: var(--ink-soft); line-height: 1.55; }
.destination-hold-name { display: grid; gap: 8px; margin-top: 28px; padding: 22px 24px; border-radius: 20px; background: var(--mint); }
.destination-hold-name span { color: var(--house); font: 700 11px/1.2 var(--mono); letter-spacing: .12em; }
.destination-hold-name b { color: var(--house); font-size: 20px; }
.destination-hold-name em { color: var(--ink-soft); font-size: 17px; font-style: normal; }
.destination-hold-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }

.footer { padding: 80px 0 110px; background: var(--house); color: #fff; }
.footer-inner { width: var(--shell); margin: auto; display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 70px; }
.wordmark-light { color: #fff; }
.wordmark-light em { color: #7ed4ac; border-color: rgba(255,255,255,.2); }
.footer-inner > div > span { font: 600 10px/1 var(--mono); letter-spacing: .08em; }
.footer p { max-width: 43ch; color: rgba(255,255,255,.65); font-size: 13px; }
.footer-inner a:not(.wordmark) { display: flex; width: max-content; min-height: 44px; align-items: center; color: rgba(255,255,255,.76); font-size: 13px; }
.mobile-dock { display: none; }
.mobile-toc { display: none; }
.back-to-top { position: fixed; z-index: 31; inset-inline-end: 22px; bottom: 22px; min-height: 46px; padding: 0 17px; border: 0; border-radius: 50px; background: var(--accent); color: #fff; font-weight: 600; box-shadow: 0 0 6px rgba(0,0,0,.2), 0 8px 12px rgba(0,0,0,.12); }
.back-to-top[hidden] { display: none; }
.desktop-nav a[aria-current="page"] { color: var(--brand); font-weight: 700; }
.search-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.search-filters button { min-height: 44px; padding: 0 15px; border: 1px solid var(--border); border-radius: 50px; background: transparent; color: var(--muted); }
.search-filters button.active { border-color: var(--brand); background: var(--mint); color: var(--house); }
.trust-panel { margin: 18px clamp(24px,6vw,64px) 0; color: var(--house); }
.trust-disclosure { overflow: hidden; border: 1px solid rgba(18,59,58,.22); border-radius: 14px; background: #f5f2ea; }
.trust-disclosure > summary { min-height: 76px; display: grid; grid-template-columns: auto minmax(0,1fr) auto auto; gap: 14px; align-items: center; padding: 14px 16px; cursor: pointer; list-style: none; }
.trust-disclosure > summary::-webkit-details-marker { display: none; }
.trust-disclosure > summary:focus-visible { outline: 3px solid var(--accent); outline-offset: -3px; }
.trust-status { padding: 7px 10px; border-radius: 50px; background: var(--house); color: #fff; font: 700 10px/1.2 var(--mono); letter-spacing: .03em; }
.trust-topic { min-width: 0; display: grid; gap: 4px; }
.trust-topic strong { font-size: 13px; }
.trust-topic small { color: var(--muted); font-size: 11px; line-height: 1.35; overflow-wrap: anywhere; }
.trust-reviewed { color: var(--muted); font: 600 10px/1.3 var(--mono); white-space: nowrap; }
.trust-toggle { min-width: 112px; color: var(--brand); font-size: 12px; font-weight: 700; text-align: end; }
.trust-toggle::after { content: "+"; display: inline-block; margin-inline-start: 7px; font-size: 17px; font-weight: 400; vertical-align: -1px; }
.trust-disclosure[open] .trust-toggle::after { content: "−"; }
.trust-panel-body { display: grid; grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr); gap: 28px; padding: 24px; border-top: 1px solid var(--border); }
.trust-panel-body h2, .trust-panel-body h3 { margin: 0 0 8px; color: var(--house); font-size: 18px; }
.trust-panel-body p, .trust-panel-body li { color: var(--muted); font-size: 13px; line-height: 1.55; }
.trust-panel-body ul { margin: 0; padding-inline-start: 18px; }
.trust-panel-body a { min-height: 44px; display: inline-flex; align-items: center; color: var(--brand); font-size: 12px; font-weight: 700; }
.trust-panel-superseded .trust-disclosure { border-color: rgba(166,61,31,.42); background: #fff2ea; }
.trust-panel-superseded .trust-status { background: #a63d1f; }

/* Destination field guides: real photography, route-first editorial layout. */
.destination-card-photo { position: relative; width: 100%; aspect-ratio: 16/9; margin: 0; overflow: hidden; background: var(--house); isolation: isolate; }
.destination-card-photo img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.9) contrast(1.03); transition: transform 240ms var(--ease), filter 240ms var(--ease); }
.destination-card-shade { position: absolute; z-index: 1; inset: 0; background: linear-gradient(180deg,rgba(9,30,28,.46) 0%,transparent 40%,rgba(9,30,28,.12) 65%,rgba(9,30,28,.72) 100%); }
.destination-card-photo figcaption { position: absolute; z-index: 2; inset: 0; display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto 1fr auto; gap: 8px; padding: 18px; color: #fff; }
.destination-card-photo figcaption span, .destination-card-photo figcaption b, .destination-card-photo figcaption i { text-shadow: 0 1px 8px rgba(0,0,0,.4); }
.destination-card-photo figcaption span { font: 700 10px/1.2 var(--mono); letter-spacing: .09em; }
.destination-card-photo figcaption i { justify-self: end; font: 700 10px/1.2 var(--mono); font-style: normal; }
.destination-card-photo figcaption b { grid-column: 1/-1; align-self: end; width: max-content; max-width: 100%; padding: 7px 9px; border: 1px solid rgba(255,255,255,.42); border-radius: 999px; background: rgba(18,59,58,.58); backdrop-filter: blur(7px); font: 700 9px/1 var(--mono); letter-spacing: .07em; }
.index-card:hover .destination-card-photo img { transform: scale(1.025); filter: saturate(1) contrast(1.04); }

.source-content > .destination-hero-photo,
.source-content > .destination-review-strip,
.source-content > .destination-route-map,
.source-content > .destination-longform { max-width: none; }
.destination-hero-photo { position: relative; aspect-ratio: 16/10; margin: 0 0 28px; overflow: hidden; border-radius: 16px; background: var(--house); }
.source-content .destination-hero-photo img { width: 100%; height: 100%; margin: 0; border-radius: 0; object-fit: cover; filter: saturate(.94) contrast(1.03); }
.destination-hero-photo figcaption { position: absolute; inset-inline: 16px; bottom: 16px; display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: center; padding: 12px 14px; border: 1px solid rgba(255,255,255,.26); border-radius: 11px; background: rgba(13,45,42,.84); color: #fff; backdrop-filter: blur(9px); }
.destination-hero-photo figcaption span { color: #8eddb6; font: 700 9px/1 var(--mono); letter-spacing: .09em; }
.destination-hero-photo figcaption b { font-size: 12px; letter-spacing: .04em; }
.destination-hero-photo figcaption small { color: rgba(255,255,255,.68); font-size: 10px; text-align: end; }
.destination-review-strip { display: grid; grid-template-columns: minmax(190px,.42fr) minmax(0,1fr); gap: 26px; align-items: center; margin: 0 0 28px; padding: 20px 22px; border: 1px solid #c8d8d2; border-radius: 14px; background: #edf5f1; color: var(--house); }
.destination-review-strip span, .destination-section-label { color: var(--brand); font: 700 9px/1.25 var(--mono); letter-spacing: .09em; }
.destination-review-strip p { margin: 0; color: #395452; font-size: 13px; line-height: 1.55; }
.destination-route-map { margin: 0 0 54px; padding: 28px; border-radius: 18px; background: var(--house); color: #fff; overflow: hidden; }
.destination-route-heading { display: grid; grid-template-columns: minmax(0,1fr) minmax(220px,.65fr); gap: 24px; align-items: end; margin: 10px 0 32px; }
.source-content .destination-route-heading h2 { margin: 0; color: #fff; font-size: 30px; }
.destination-route-heading p { margin: 0; color: rgba(255,255,255,.62); font-size: 12px; line-height: 1.55; }
.destination-route-map ol { position: relative; display: grid; grid-template-columns: repeat(auto-fit,minmax(90px,1fr)); gap: 0; margin: 0; padding: 0; list-style: none; }
.destination-route-map ol::before { content: ""; position: absolute; top: 18px; inset-inline: 5%; height: 1px; background: rgba(142,221,182,.44); }
.destination-route-map li { position: relative; z-index: 1; min-width: 0; margin: 0; padding: 0 8px; text-align: center; }
.destination-route-map li > span { width: 37px; height: 37px; display: grid; place-items: center; margin: 0 auto 14px; border: 1px solid rgba(142,221,182,.72); border-radius: 50%; background: var(--house); color: #8eddb6; font: 700 9px/1 var(--mono); }
.destination-route-map li b { display: block; color: rgba(255,255,255,.9); font-size: 11px; font-weight: 600; line-height: 1.35; overflow-wrap: anywhere; }
.destination-route-map--elevation ol { display: block; max-width: 720px; margin: 0 auto; }
.destination-route-map--elevation ol::before { top: 0; bottom: 0; inset-inline-start: 50%; inset-inline-end: auto; width: 1px; height: auto; }
.destination-route-map--elevation li { width: 50%; min-height: 78px; padding: 0 52px 22px 0; text-align: end; }
.destination-route-map--elevation li:nth-child(even) { margin-inline-start: 50%; padding: 0 0 22px 52px; text-align: start; }
.destination-route-map--elevation li > span { position: absolute; top: 0; inset-inline-end: -18px; margin: 0; }
.destination-route-map--elevation li:nth-child(even) > span { inset-inline-start: -18px; inset-inline-end: auto; }
.destination-route-map--elevation li b { padding-top: 10px; font-size: 12px; }
.destination-longform { max-width: 68ch !important; }
.destination-longform > h2:first-child { margin-top: 0; }
.destination-longform code { padding: 2px 5px; border-radius: 4px; background: #edf1ee; color: var(--house); font: 500 .86em/1.4 var(--mono); overflow-wrap: anywhere; }
.destination-table-wrap { width: 100%; max-width: 100%; margin: 28px 0 34px; overflow-x: auto; border: 1px solid var(--border); border-radius: 12px; background: #fbfaf7; }
.source-content .destination-table-wrap table { display: table; width: 100%; min-width: 560px; margin: 0; }
.destination-table-wrap thead { background: #e5efeb; }
.destination-table-wrap th, .destination-table-wrap td { min-width: 120px; padding: 13px 14px; border-bottom: 1px solid var(--border); }
.destination-table-wrap tr:last-child td { border-bottom: 0; }
.destination-longform .destination-list { padding-inline-start: 22px; }
.destination-longform .destination-list li::marker { color: var(--brand); font-weight: 700; }

@media (max-width: 1120px) {
  :root { --shell: min(100% - 40px, 1020px); }
  .topbar-inner { grid-template-columns: 220px 1fr auto; }
  .desktop-nav { gap: 18px; }
  .hero-main { grid-template-columns: 1.15fr .85fr; }
  .quick-dock { grid-template-columns: repeat(2,1fr); }
  .compact-grid { grid-template-columns: repeat(2,1fr); }
  .article-page { grid-template-columns: 170px minmax(0,1fr); }
  .article-actions { display: none; }
  .mobile-safety-card { display: block; padding: 0 clamp(24px,6vw,64px); }
  .mobile-safety-card .safety-card { margin: 22px 0 0; }
  .mobile-toc { display: block; padding: 4px 14px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); }
  .mobile-toc summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; color: var(--house); font-size: 13px; font-weight: 600; }
  .mobile-toc summary::after { content: "+"; margin-inline-start: auto; font-size: 18px; font-weight: 400; }
  .mobile-toc[open] summary::after { content: "−"; }
  .mobile-toc nav { margin-top: 10px; }
  .mobile-toc a { min-height: 44px; display: flex; align-items: center; padding: 7px 0; color: var(--muted); font-size: 12px; }
  .value-band, .trust-home { grid-template-columns: 1fr; }
  .path-grid { grid-template-columns: 1fr; }
  .premium-flow, .access-code-panel { gap: 38px; padding: 48px; }
  .premium-library-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .destination-route-map { padding: 24px 20px; }
  .destination-route-map ol { overflow-x: auto; grid-template-columns: repeat(7,minmax(105px,1fr)); padding-bottom: 10px; }
}

@media (max-width: 1200px) and (min-width: 781px) {
  .section-page .index-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 820px) {
  :root { --shell: calc(100% - 32px); }
  .language-switcher-trigger strong { max-width: none; font-size: 0; }
  .language-switcher-trigger strong::before { content: attr(data-short-code); font-size: 12px; line-height: 1; }
  html { scroll-behavior: auto; scroll-padding-bottom: calc(92px + env(safe-area-inset-bottom)); }
  body { padding-bottom: calc(72px + env(safe-area-inset-bottom)); }
  a, button, input, summary, [tabindex] { scroll-margin-bottom: calc(92px + env(safe-area-inset-bottom)); }
  .topbar-inner { height: 68px; grid-template-columns: 1fr auto; }
  .desktop-nav, .search-action span { display: none; }
  .hero-main { grid-template-columns: 1fr; }
  .hero-map { min-height: 440px; }
  .progress-grid { grid-template-columns: repeat(2,1fr); }
  .index-grid, .place-grid { grid-template-columns: repeat(2,1fr); }
  .article-page { grid-template-columns: 1fr; }
  .article-rail { position: static; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
  .back-link { grid-column: 1/-1; }
  .mini-route { display: none; }
  .section-hero { grid-template-columns: 1fr; }
  .section-stat { width: 180px; }
  .footer-inner { grid-template-columns: 1.5fr 1fr; }
  .footer-inner > div:last-child { grid-column: 1/-1; }
  .feedback-panel { grid-template-columns: 1fr; }
  .feedback-panel button { width: max-content; }
  .payment-reserve { align-items: flex-start; flex-direction: column; }
  .payment-reserve-actions { justify-content: flex-start; }
  .premium-hero { min-height: 0; grid-template-columns: 1fr; }
  .premium-pass { min-height: 360px; }
  .premium-benefits { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .premium-boundary { padding: 42px; }
  .premium-boundary > header, .premium-library > header { grid-template-columns: 1fr; gap: 18px; }
  .premium-boundary-grid { grid-template-columns: 1fr; }
  .premium-flow, .access-code-panel { grid-template-columns: 1fr; }
  .premium-gate { grid-template-columns: 1fr; }
  .destination-preview-brief,
  .destination-preview-outline { grid-template-columns: 1fr; }
  .footer { padding-bottom: calc(190px + env(safe-area-inset-bottom)); }
  .mobile-dock { position: fixed; z-index: 30; inset-inline: 10px; bottom: max(10px, env(safe-area-inset-bottom)); height: 62px; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); padding: 5px; overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: 18px; background: rgba(30,57,50,.96); box-shadow: 0 8px 24px rgba(0,0,0,.2); backdrop-filter: blur(12px); }
  .mobile-dock a { min-width: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; overflow: hidden; color: rgba(255,255,255,.75); font-size: 9px; }
  .mobile-dock a[aria-current="page"] { border-radius: 12px; background: rgba(255,255,255,.13); color: #fff; }
  .back-to-top { inset-inline-end: 14px; bottom: calc(82px + env(safe-area-inset-bottom)); width: 48px; min-width: 48px; padding: 0; font-size: 0; }
  .back-to-top::before { content: "↑"; font-size: 18px; line-height: 1; }
}

@media (max-width: 780px) {
  .section-page .index-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  :root { --shell: calc(100% - 24px); }
  html, body { max-width: 100%; overflow-x: clip; }
  .topbar-inner { width: 100%; padding-inline: 12px; gap: 8px; }
  .nav-actions .search-action { display: none; }
  .language-switcher-trigger { width: 54px; min-width: 54px; padding: 0 8px; }
  .language-switcher-trigger strong { max-width: 31px; }
  .language-switcher-trigger::after { margin-inline-start: 3px; }
  .language-switcher-menu { position: fixed; inset: 76px 12px auto; width: auto; max-height: calc(100vh - 92px); display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4px; }
  .language-switcher-menu[hidden] { display: none; }
  .wordmark b { font-size: 14px; }
  .wordmark em { display: none; }
  .waymark { width: 34px; height: 34px; }
  .sos-action { min-width: 54px; }
  .topbar { overflow-x: clip; }
  .os-hero { margin-top: 12px; }
  .hero-main { border-radius: 18px; }
  .hero-copy { padding: 42px 24px; }
  .hero-copy h1 { font-size: 47px; white-space: normal; }
  .hero-copy > p { font-size: 16px; }
  .hero-actions { display: grid; grid-template-columns: 1fr; }
  .hero-actions .primary-button, .hero-actions .secondary-button { width: 100%; }
  .hero-search > div { grid-template-columns: 24px 1fr; padding: 12px 16px; border-radius: 16px; }
  .hero-search button { grid-column: 1/-1; }
  .hero-map { min-height: 350px; }
  .hero-map.original-hero { min-height: 240px; }
  .quick-dock { grid-template-columns: 1fr; gap: 8px; }
  .quick-dock > a { min-height: 86px; }
  .trip-progress { padding: 78px 0; }
  .progress-grid, .index-grid, .place-grid, .compact-grid { grid-template-columns: 1fr; }
  .progress-grid a { min-height: 132px; }
  .content-zone { padding: 62px 0; }
  .content-zone > header { align-items: start; flex-direction: column; }
  .section-page .index-grid, .source-content .place-app-grid { grid-template-columns: 1fr; }
  .index-card h2, .index-card p { min-height: 0; }
  .archive-access { align-items: flex-start; flex-direction: column; }
  .feedback-zone > header, .payment-reserve { align-items: start; flex-direction: column; }
  .value-band { gap: 36px; padding: 38px 24px; }
  .trust-home { gap: 34px; }
  .trust-points { grid-template-columns: 1fr; }
  .trust-points p { min-height: 130px; }
  .trust-points b { margin-bottom: 28px; }
  .feedback-criteria { width: 100%; grid-template-columns: 1fr; }
  .feedback-criteria > div { min-height: 104px; }
  .feedback-criteria b { margin-top: 20px; }
  .payment-reserve { padding: 30px 24px; }
  .payment-reserve-actions { width: 100%; display: grid; grid-template-columns: 1fr; }
  .payment-reserve-actions a { width: 100%; }
  .destination-preview-brief,
  .destination-preview-judgment,
  .destination-preview-sample,
  .destination-preview-outline { padding: 24px 20px; }
  .destination-preview-brief dl,
  .destination-preview-outline ol { grid-template-columns: 1fr; }
  .premium-page { width: calc(100% - 24px); margin-top: 12px; }
  .premium-hero { border-radius: 18px; }
  .premium-hero > div { padding: 42px 24px; }
  .premium-hero h1 { font-size: 46px; }
  .premium-hero-actions { display: grid; grid-template-columns: 1fr; }
  .premium-hero-actions form, .premium-hero-actions button, .premium-hero-actions a { width: 100%; }
  .premium-pass { min-height: 310px; padding: 30px 24px; }
  .premium-benefits { grid-template-columns: 1fr; padding: 62px 0; }
  .premium-benefits > div { min-height: 220px; }
  .premium-boundary { margin-bottom: 62px; padding: 30px 20px; border-radius: 18px; }
  .premium-boundary h2, .premium-library > header h2 { font-size: 34px; }
  .premium-boundary article { min-height: 0; padding: 24px 20px; }
  .premium-boundary h3 { font-size: 25px; }
  .premium-library { margin-bottom: 62px; }
  .premium-library-grid { grid-template-columns: 1fr; }
  .premium-library-card { min-height: 290px; padding: 24px 20px; }
  .premium-flow, .access-code-panel { padding: 34px 24px; border-radius: 18px; }
  .premium-flow h2, .access-code-panel h2 { font-size: 34px; }
  .access-code-panel { margin-top: 12px; }
  .access-code-panel form { padding: 20px 16px; }
  .premium-gate { gap: 24px; padding: 26px 20px; }
  .source-content .premium-gate h2 { font-size: 28px; }
  .access-unlocked-banner { width: calc(100% - 24px); margin-top: 12px; margin-bottom: -18px; }
  .dark-zone { padding-inline: 12px; }
  .section-page { padding-top: 34px; }
  .section-hero { min-height: 320px; padding: 34px 24px; border-radius: 18px; }
  .section-hero h1 { margin: 18px 0 16px; font-size: 42px; }
  .section-hero p { font-size: 16px; }
  .section-stat { min-width: 0; width: max-content; display: flex; gap: 12px; align-items: baseline; padding: 12px 16px; }
  .section-stat strong { font-size: 42px; }
  .filter-bar { display: flex; align-items: stretch; flex-direction: column; justify-content: center; gap: 9px; padding-block: 12px; }
  .filter-bar a { align-self: flex-start; }
  .card-visual { height: clamp(190px,50vw,240px); aspect-ratio: auto; }
  .collection-filter { min-width: 0; grid-template-columns: 1fr; gap: 7px; }
  .article-page { width: 100%; grid-template-columns: minmax(0,1fr); padding: 24px 12px 120px; }
  .article-rail { min-width: 0; grid-template-columns: minmax(0,1fr); }
  .mobile-toc { grid-column: 1 / -1; }
  .article-card { width: 100%; min-width: 0; border-radius: 16px; }
  .article-heading, .source-content, .wf-tool { min-width: 0; max-width: 100%; }
  .article-heading h1, .article-heading p, .wf-tool p { overflow-wrap: anywhere; }
  .article-heading { padding: 34px 24px; }
  .article-heading h1 { font-size: 42px; }
  .article-card:has(.destination-hero-photo) .article-heading h1 { font-size: 34px; line-height: 1.03; letter-spacing: -.025em; }
  .article-heading > p { font-size: 16px; }
  .source-content { padding: 32px 24px; font-size: 16px; }
  .mobile-safety-card { padding: 0 24px; }
  .source-content [id^="related-tools-in-the-kit"] + div { grid-template-columns: 1fr; }
  .source-content h1 { font-size: 34px; }
  .source-content h2 { font-size: 28px; }
  .source-content blockquote { margin-inline: 0; }
  .destination-card-photo { height: clamp(210px,58vw,270px); aspect-ratio: auto; }
  .destination-hero-photo { aspect-ratio: auto; margin-inline: -8px; overflow: visible; border-radius: 0; background: transparent; }
  .destination-hero-photo picture { display: block; aspect-ratio: 4/3; overflow: hidden; border-radius: 13px; background: var(--house); }
  .destination-hero-photo figcaption { position: static; grid-template-columns: auto minmax(0,1fr); margin-top: 8px; padding: 10px 12px; border-color: rgba(255,255,255,.18); background: var(--house); backdrop-filter: none; }
  .destination-hero-photo figcaption span { grid-column: 1; }
  .destination-hero-photo figcaption b { grid-column: 2; min-width: 0; }
  .destination-hero-photo figcaption small { grid-column: 1/-1; max-width: none; text-align: start; }
  .destination-review-strip { grid-template-columns: 1fr; gap: 10px; padding: 18px; }
  .destination-route-heading { grid-template-columns: 1fr; gap: 12px; }
  .source-content .destination-route-heading h2 { font-size: 26px; }
  .destination-route-map ol { display: block; overflow: visible; padding: 0 0 0 2px; }
  .destination-route-map ol::before { top: 8px; bottom: 8px; inset-inline-start: 19px; inset-inline-end: auto; width: 1px; height: auto; }
  .destination-route-map li { min-height: 58px; display: grid; grid-template-columns: 38px 1fr; gap: 12px; align-items: start; padding: 0; text-align: start; }
  .destination-route-map li > span { margin: 0; }
  .destination-route-map li b { padding-top: 10px; font-size: 12px; }
  .destination-route-map--elevation ol { max-width: none; }
  .destination-route-map--elevation ol::before { inset-inline-start: 19px; }
  .destination-route-map--elevation li,
  .destination-route-map--elevation li:nth-child(even) { width: auto; min-height: 58px; margin-inline-start: 0; padding: 0; text-align: start; }
  .destination-route-map--elevation li > span,
  .destination-route-map--elevation li:nth-child(even) > span { position: static; margin: 0; }
  .destination-longform { max-width: 100% !important; }
  .destination-table-wrap { margin-inline: -8px; width: calc(100% + 16px); border-radius: 10px; }
  .official-downloads, .app-stack-browser { margin-inline: 0; }
  .source-app-catalog > div:not([class]) { grid-template-columns: 1fr; }
  .official-downloads { padding: 22px 18px; }
  .official-downloads > div:not([class]), .official-downloads > .store-actions { grid-template-columns: 1fr; }
  .store-actions, .app-stack-grid { grid-template-columns: 1fr; }
  .store-button { min-height: 64px; }
  .app-filter { flex-wrap: nowrap; margin-inline-end: -24px; padding-inline-end: 24px; overflow-x: auto; scrollbar-width: none; }
  .app-filter::-webkit-scrollbar { display: none; }
  .app-filter button { flex: none; }
  .filter-bar:has(.app-index-filter) { width: 100%; grid-template-columns: minmax(0,1fr); gap: 8px; overflow: hidden; padding: 12px 0; }
  .app-index-filter { width: 100%; margin: 0; padding: 3px 12px 9px 3px; overscroll-behavior-inline: contain; scroll-padding-inline: 3px 12px; }
  .app-index-filter button { scroll-snap-align: start; }
  .filter-result { justify-self: start; margin-inline-start: 3px; }
  .app-stack-card { min-height: 230px; }
  .source-step-gallery { grid-template-columns: 1fr; }
  .source-note { margin-inline: 24px; flex-direction: column; }
  .search-page > header h1, .dead-page h1 { font-size: 47px; }
  .search-panel { padding: 24px 18px; border-radius: 16px; }
  .search-input { grid-template-columns: 24px 1fr; padding: 12px 16px; border-radius: 16px; }
  .search-input button { grid-column: 1/-1; }
  #search-results > a { grid-template-columns: 1fr; gap: 8px; padding: 18px 0; }
  .emergency-page { padding-top: 24px; }
  .emergency-page > header { padding: 42px 24px; border-radius: 18px; }
  .emergency-page > header h1 { font-size: 52px; }
  .call-grid { grid-template-columns: 1fr; }
  .call-grid a { min-height: 116px; }
  .footer-inner { grid-template-columns: 1fr; gap: 38px; }
  .footer-inner > div:last-child { grid-column: auto; }
  .back-to-top { inset-inline-end: 14px; }
  .trust-panel { margin-inline: 24px; }
  .trust-disclosure > summary { grid-template-columns: minmax(0,1fr) auto; gap: 11px 12px; }
  .trust-status { width: fit-content; max-width: 100%; grid-column: 1 / -1; grid-row: 1; white-space: normal; }
  .trust-topic { grid-column: 1; grid-row: 2; }
  .trust-reviewed { display: none; }
  .trust-toggle { min-width: 0; grid-column: 2; grid-row: 2; align-self: start; }
  .trust-panel-body { grid-template-columns: 1fr; gap: 18px; padding: 20px 16px; }
}

@media (max-width: 390px) {
  .wordmark b { display: none; }
  .nav-actions { gap: 6px; }
  .access-action { padding-inline: 12px; }
}

@media (max-width: 360px) {
  :root { --shell: calc(100% - 18px); }
  .section-hero { padding: 30px 20px; }
  .section-hero h1 { font-size: 37px; }
  .article-heading h1 { font-size: 35px; }
  .article-card:has(.destination-hero-photo) .article-heading h1 { font-size: 32px; }
  .article-page { padding-inline: 9px; }
  .article-heading, .source-content { padding-inline: 20px; }
  .mobile-safety-card { padding-inline: 20px; }
  .trust-panel { margin-inline: 20px; }
  .mobile-dock { inset-inline: 6px; }
  .mobile-dock a { font-size: 10px; }
}

@media (max-width: 340px) {
  .cover-copy b { font-size: 31px; }
  .cover-copy-long b { font-size: 22px; }
  .cover-copy-wide b { font-size: 17px; }
  .cover-art, .cover-plan .cover-art { width: 32%; }
}

@media (max-width: 820px) {
  .task-sequence-heading { grid-template-columns: 1fr; align-items: start; gap: 14px; }
  .task-sequence-grid { grid-template-columns: 1fr; }
  .workflow-board ol { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .workflow-board li { min-height: 160px; border-inline-end: 1px solid rgba(255,255,255,.14); border-bottom: 1px solid rgba(255,255,255,.14); }
  .workflow-board li:nth-child(2n) { border-inline-end: 0; }
  .workflow-board li:last-child { border-bottom: 0; }
  .comparison-grid { grid-template-columns: 1fr; }
  .evidence-grid { grid-template-columns: 1fr; }
}

@media (max-width: 1120px) and (min-width: 561px) {
}

@media (max-width: 560px) {
  .task-sequence-heading { padding: 22px 20px; }
  .source-content .task-sequence-heading h2 { font-size: 25px; }
  .task-sequence-step { min-height: 0; grid-template-columns: 1fr; gap: 14px; padding: 22px 20px; }
  .task-sequence-step > span { width: max-content; }
  .task-sequence-step small { min-height: 0; }
  .workflow-board figcaption { align-items: flex-start; flex-direction: column; }
  .workflow-board figcaption strong { text-align: start; }
  .workflow-board ol, .milestone-grid, .branch-grid { grid-template-columns: 1fr; }
  .workflow-board li { min-height: 0; gap: 18px; border-inline-end: 0; }
  .milestone-grid span, .branch-grid span, .comparison-grid span { margin-bottom: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
