/* id098 — skin "papan-tetap"
   Bright poster language borrowed from the batch reference (vivid sky, crimson,
   warm gold, heavy capitals) applied to the poster layout: masthead header,
   typographic hero, minimal footer. Everything is painted for id098; no asset,
   wordmark or figure from the reference or from another brand is used. */

:root{
  --paper:#fdf5e6;
  --cream:#fff8ea;
  --crimson:#b01a2e;
  --crimson-d:#7a0c1e;
  --gold:#f0b32e;
  --gold-hi:#ffe49a;
  --gold-d:#a9741a;
  --ink:#2a1418;
  --sky:#8fd0f0;
  --line-soft:rgba(176,26,46,.16);
  --line-gold:rgba(169,116,26,.35);
  --shadow-1:0 2px 0 rgba(122,12,30,.18);
  --shadow-card:0 14px 34px rgba(122,12,30,.10);
}

html{scroll-behavior:smooth}
body{
  background:var(--paper);
  color:var(--ink);
  overflow-x:hidden;
  background-image:linear-gradient(180deg,#fffaf0 0%,#fdf5e6 42%,#fbefd8 100%);
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  opacity:.34;
  background-image:url(id098-bg-paper.webp);
  background-size:1200px 800px;
  mix-blend-mode:multiply;
}
body>*{position:relative;z-index:1}
a{color:var(--crimson);text-decoration-color:var(--line-soft)}
a:hover{color:var(--crimson-d)}
img{max-width:100%;height:auto;display:block}
.wrap{width:min(1180px,100% - 40px);margin:0 auto}

/* ---------- typography ---------- */
h1,h2,h3{
  font-family:"Arial Narrow","Helvetica Neue",Impact,"Arial Black",system-ui,sans-serif;
  font-weight:900;
  letter-spacing:.01em;
  text-transform:uppercase;
  color:var(--crimson);
  text-shadow:none;
}
h2{font-size:clamp(26px,3.4vw,42px);line-height:1.02;margin:0 0 12px}
h3{font-size:19px;line-height:1.15;color:var(--crimson-d);margin:0 0 6px}
p{margin:0 0 12px}
.kicker,.eyebrow,.label,.terms-label,.po-kicker,.section-note{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:10px;
  letter-spacing:.20em;
  text-transform:uppercase;
  color:var(--gold-d);
  font-weight:700;
}
.kicker{margin:0 0 10px}

/* Display face for the poster marks. Base sets a condensed family on
   `body.type-condensed h1..h3`, so the oversized marks need one extra class to
   take Impact without touching the shared stylesheet. */
body.type-condensed .po-title.po-title,
body.type-condensed .variant-page-hero h1,
body.type-condensed .po-footer-mark.po-footer-mark,
body.type-condensed .po-pull,
body.type-condensed .po-num,
body.type-condensed .trust-list li span,
body.type-condensed .po-steps li>span,
body.type-condensed .empty h2,
body.type-condensed .variant-poster .route-card h3{
  font-family:"Impact","Haettenschweiler","Arial Narrow Bold",system-ui,sans-serif;
  font-weight:400;
  letter-spacing:.01em;
}

/* ---------- policy strip ---------- */
.policy-strip{
  background:linear-gradient(180deg,var(--gold) 0%,#e8a622 55%,#c98d16 100%);
  border-bottom:3px solid var(--crimson-d);
  font-family:ui-monospace,Menlo,monospace;
  color:var(--crimson-d);
}
.policy-strip-inner{gap:9px;padding:7px 0;font-size:10px}
.policy-badge{color:var(--crimson-d);font-weight:800}
.policy-tag{border:1.5px solid var(--crimson-d);color:var(--crimson-d);background:rgba(255,255,255,.28);border-radius:4px;font-weight:700}
.policy-link{
  color:var(--crimson-d);
  border:1.5px solid var(--crimson-d);
  background:rgba(255,248,234,.85);
  border-radius:4px;
  padding:3px 9px;
  font-weight:700;
  text-decoration:none;
}
.policy-link:hover{background:#fff}
.policy-note{margin-left:auto;color:rgba(122,12,30,.86);font-weight:700}

/* ---------- header (masthead) ---------- */
.site-header.ed-header{
  position:sticky;
  top:0;
  z-index:60;
  background:linear-gradient(180deg,#c11429 0%,#9d1124 60%,#870d1f 100%);
  border-bottom:4px solid var(--gold);
  box-shadow:0 10px 26px rgba(122,12,30,.20);
  backdrop-filter:none;
}
.ed-masthead{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:16px;
  min-height:72px;
  padding:8px 0;
}
.ed-brand-logo{
  height:52px;
  max-width:min(220px,44vw);
  object-fit:contain;
  background:#fff6e2;
  border:2px solid var(--gold);
  border-radius:6px;
  padding:5px 8px;
  box-shadow:0 3px 0 rgba(0,0,0,.20);
}
.ed-wordmark{display:flex;align-items:center;justify-content:center;order:2;flex:none}
.ed-nav{
  order:1;
  display:flex;
  align-items:center;
  gap:16px;
  margin:0;
  min-width:0;
}
.ed-nav a{
  font-family:"Arial Narrow","Helvetica Neue",system-ui,sans-serif;
  font-size:10px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#ffe9c9;
  border:0;
  padding:6px 0;
  border-bottom:2px solid transparent;
  text-decoration:none;
}
.ed-nav a:hover,.ed-nav a[aria-current="page"]{color:#fff;border-bottom-color:var(--gold-hi)}
.ed-meta{
  order:3;
  display:flex;
  align-items:center;
  gap:10px;
  justify-content:flex-end;
  font-family:ui-monospace,Menlo,monospace;
  font-size:9px;
  letter-spacing:.06em;
  color:#ffdfae;
}
.ed-rule{
  display:flex;
  justify-content:space-between;
  gap:12px;
  border-top:1px solid rgba(255,222,174,.34);
  padding:4px 0 5px;
  font-family:ui-monospace,Menlo,monospace;
  font-size:8px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(255,233,201,.85);
}
.menu-btn{
  display:none;
  border:2px solid var(--gold-hi);
  background:rgba(0,0,0,.14);
  color:var(--gold-hi);
  height:38px;
  padding:0 12px;
  border-radius:6px;
  font-family:"Arial Narrow",system-ui,sans-serif;
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  cursor:pointer;
}

/* ---------- buttons ---------- */
.btn{
  border-radius:6px;
  font-family:"Arial Narrow","Helvetica Neue",system-ui,sans-serif;
  font-size:13px;
  font-weight:800;
  letter-spacing:.10em;
  text-transform:uppercase;
  min-height:50px;
  padding:0 22px;
  border-width:2px;
  box-shadow:none;
}
.btn-primary{
  background:linear-gradient(180deg,#d02136 0%,var(--crimson) 48%,#8c0f22 100%);
  color:#fff6e2;
  border-color:#7a0c1e;
  text-shadow:0 1px 0 rgba(0,0,0,.35);
  box-shadow:4px 4px 0 rgba(122,12,30,.35);
}
.btn-primary:hover{filter:brightness(1.07)}
/* `.is-light .btn-primary` in the shared sheet paints dark text for light themes;
   the crimson poster button keeps cream text, so restate it here. */
.is-light .btn-primary,body.is-light .btn-primary{color:#fff8ea;text-shadow:0 1px 0 rgba(0,0,0,.35)}
.is-light .btn-ghost,body.is-light .btn-ghost{color:#4a0a16}
.btn-ghost{
  background:linear-gradient(180deg,#ffe08a 0%,var(--gold) 52%,#d0901c 100%);
  color:#4a0a16;
  border-color:var(--crimson-d);
  box-shadow:4px 4px 0 rgba(122,12,30,.28);
}
.btn-ghost:hover{filter:brightness(1.05)}
.btn-sm{min-height:40px;padding:0 14px;font-size:11px}
.btn-lg{min-height:56px;padding:0 26px;font-size:14px}

/* ---------- hero (typographic) ---------- */
.po-hero{
  position:relative;
  padding:26px 0 40px;
  overflow:hidden;
  border-bottom:8px solid var(--crimson-d);
  background:
    radial-gradient(ellipse at 50% -6%,rgba(255,251,226,.95) 0%,rgba(255,251,226,0) 58%),
    repeating-conic-gradient(from 0deg at 50% -12%,rgba(255,255,255,.42) 0deg 5deg,rgba(255,255,255,0) 5deg 11deg),
    linear-gradient(180deg,#4aa2d8 0%,#84c8ea 38%,#c8e9f8 74%,#fdf5e6 100%);
}
.po-hero::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:26px;
  background:linear-gradient(180deg,rgba(253,245,230,0) 0%,rgba(253,245,230,.92) 70%,var(--paper) 100%);
  pointer-events:none;
}
.po-hero .wrap{position:relative}
.hero-logo-lockup{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin:0 0 14px;
}
.hero-brand-logo{
  height:auto;
  max-height:92px;
  max-width:min(250px,64vw);
  width:auto;
  object-fit:contain;
  background:#fff8ea;
  border:3px solid var(--crimson-d);
  border-radius:8px;
  padding:7px 11px;
  box-shadow:0 5px 0 rgba(122,12,30,.22);
}
.hero-logo-tag{
  font-family:ui-monospace,Menlo,monospace;
  font-size:9px;
  letter-spacing:.18em;
  color:#fff8e8;
  background:var(--crimson-d);
  border:1.5px solid var(--gold-hi);
  border-radius:4px;
  padding:3px 7px;
}
.po-kicker{
  text-align:center;
  color:var(--crimson-d);
  margin:0 0 14px;
  font-size:10px;
  letter-spacing:.22em;
}
.po-hero-figure{
  margin:0 auto;
  max-width:940px;
  border:6px solid #fff8ea;
  border-radius:10px;
  outline:3px solid var(--crimson-d);
  box-shadow:0 18px 40px rgba(41,24,20,.26),0 4px 0 rgba(122,12,30,.30);
  overflow:hidden;
  max-height:300px;
  position:relative;
  background:#cbe9f7;
}
.po-hero-figure img{
  width:100%;
  height:300px;
  object-fit:cover;
  object-position:center 46%;
  display:block;
}
.po-hero .hero-brand-logo picture{display:block}
.variant-poster .po-title{
  margin:26px 0 0;
  font-family:"Impact","Haettenschweiler","Arial Narrow Bold",system-ui,sans-serif;
  font-size:clamp(50px,8.6vw,116px);
  line-height:.92;
  letter-spacing:-.005em;
  text-align:center;
  color:#ffc63f;
  -webkit-text-stroke:2.5px #7a0c1e;
  paint-order:stroke fill;
  text-shadow:
    0 3px 0 rgba(122,12,30,.55),
    0 12px 24px rgba(122,12,30,.30);
  overflow-wrap:anywhere;
}
.po-rule{margin:20px 0 0;display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px}
.po-rule span{height:9px;border-radius:2px}
.po-rule span:nth-child(1){background:linear-gradient(90deg,var(--crimson) 0%,#d43145 100%)}
.po-rule span:nth-child(2){background:var(--gold)}
.po-rule span:nth-child(3){background:transparent;border:2px solid var(--crimson-d)}
.po-hero-grid{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:22px;
  align-items:end;
  margin-top:20px;
}
.po-deck{
  font-size:15px;
  line-height:1.72;
  color:#42201f;
  background:rgba(255,248,234,.94);
  border-left:6px solid var(--gold);
  border-radius:0 8px 8px 0;
  padding:14px 18px;
  box-shadow:var(--shadow-card);
  margin:0;
}
.po-hero-actions{display:flex;flex-direction:column;gap:10px;justify-content:flex-end}
.po-arrow{
  font-family:"Arial Narrow",system-ui,sans-serif;
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--crimson-d);
  text-decoration:none;
  border-bottom:2px solid var(--gold);
  padding-bottom:2px;
  align-self:flex-end;
}
.po-chips{margin:16px 0 0;justify-content:center}
.chips span{
  font-family:ui-monospace,Menlo,monospace;
  font-size:9px;
  letter-spacing:.04em;
  color:var(--crimson-d);
  background:rgba(255,248,234,.92);
  border:1.5px solid var(--line-gold);
  border-radius:4px;
  padding:4px 8px;
}
.po-strip{
  display:flex;
  flex-wrap:wrap;
  gap:10px 24px;
  margin-top:20px;
  border-top:3px solid var(--crimson-d);
  border-bottom:1px solid var(--line-soft);
  padding:10px 0;
  font-family:ui-monospace,Menlo,monospace;
  font-size:9px;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#5d3a33;
}
.po-strip b{color:var(--crimson);font-weight:800}

/* ---------- sections ---------- */
.section{padding:56px 0;border-bottom:2px solid var(--line-soft);background:transparent}
.sec-head{max-width:820px;margin:0 auto 26px;text-align:center}
.sec-head h2{position:relative;display:inline-block;padding-bottom:10px}
.sec-head h2::after{
  content:"";
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom:0;
  width:74px;
  height:6px;
  background:linear-gradient(90deg,var(--gold) 0%,var(--crimson) 100%);
  border-radius:3px;
}
.sec-head p{color:#5d3a33;font-size:14px;margin:0 auto;max-width:660px}
.sec-links{display:flex;flex-wrap:wrap;gap:10px 18px;font-family:"Arial Narrow",system-ui,sans-serif;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.sec-links a{color:var(--crimson);text-decoration:none;border-bottom:2px solid var(--gold);padding-bottom:1px}
.section-note{text-align:center;font-size:10px;letter-spacing:.12em;margin-top:18px}

/* summary */
.po-summary{max-width:940px;margin:0 auto}
.po-pull{
  font-family:"Arial Narrow","Helvetica Neue",system-ui,sans-serif;
  font-weight:800;
  font-size:clamp(19px,2.3vw,27px);
  line-height:1.42;
  letter-spacing:.005em;
  text-transform:none;
  color:var(--crimson-d);
  background:rgba(255,248,234,.9);
  border-left:10px solid var(--gold);
  border-radius:0 8px 8px 0;
  padding:16px 20px;
  margin:0 0 18px;
  box-shadow:var(--shadow-card);
}
.po-summary>p{color:#4a2a26;font-size:14px;line-height:1.75;max-width:820px;margin:0 auto 14px}
.po-mini-facts{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:10px;
  margin-top:22px;
}
.po-mini-facts span{
  border:2px solid var(--line-soft);
  border-top:5px solid var(--gold);
  border-radius:6px;
  background:rgba(255,253,247,.94);
  padding:12px;
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:0;
}
.po-mini-facts b{
  font-family:"Arial Narrow",system-ui,sans-serif;
  font-size:14px;
  font-weight:800;
  color:var(--crimson);
  overflow-wrap:anywhere;
}
.po-mini-facts small{font-family:ui-monospace,Menlo,monospace;font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:#7b574d}

/* gallery */
.sec-showcase{background:linear-gradient(180deg,#fffaf0 0%,#fdf3e0 100%)}
.h03-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.h03-tile{
  margin:0;
  background:#fffdf6;
  border:3px solid var(--crimson-d);
  border-radius:8px;
  overflow:hidden;
  box-shadow:0 12px 28px rgba(122,12,30,.14),0 3px 0 rgba(122,12,30,.20);
  transition:transform .16s ease,box-shadow .16s ease;
}
.h03-tile:hover{transform:translateY(-3px);box-shadow:0 18px 34px rgba(122,12,30,.18)}
.h03-tile img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-bottom:3px solid var(--gold)}
.h03-tile figcaption{
  font-family:ui-monospace,Menlo,monospace;
  font-size:9px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--crimson-d);
  padding:9px 11px;
  background:#fff8ea;
}

/* routes */
.variant-poster .route-grid{grid-template-columns:repeat(3,1fr);gap:0;border-top:4px solid var(--crimson-d)}
.variant-poster .route-card{
  border:0;
  border-right:2px solid var(--line-soft);
  border-radius:0;
  background:rgba(255,250,240,.6);
  min-height:230px;
  padding:20px 20px 20px 0;
  transition:background .16s ease;
}
.variant-poster .route-card:last-child{border-right:0}
.variant-poster .route-card.primary{background:rgba(240,179,46,.16)}
.variant-poster .route-card:hover{background:rgba(240,179,46,.22)}
.variant-poster .route-card h3{font-size:clamp(24px,3.2vw,38px);color:var(--crimson);margin:16px 0 8px}
.variant-poster .route-card p{font-size:13px;line-height:1.7;color:#5d3a33}
.variant-poster .route-no{
  font-family:ui-monospace,Menlo,monospace;
  font-size:11px;
  letter-spacing:.16em;
  color:var(--gold-d);
  font-weight:700;
}
.variant-poster .route-link{
  border-top:2px solid var(--line-soft);
  font-family:"Arial Narrow",system-ui,sans-serif;
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  color:var(--crimson-d);
  padding-top:9px;
  margin-top:14px;
}

/* facts */
.po-factgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:4px solid var(--crimson-d);border-left:2px solid var(--line-soft)}
.po-factgrid div{
  border-right:2px solid var(--line-soft);
  border-bottom:2px solid var(--line-soft);
  padding:16px 14px;
  display:flex;
  flex-direction:column;
  gap:4px;
  background:rgba(255,251,242,.8);
  min-width:0;
}
.po-factgrid span{font-family:ui-monospace,Menlo,monospace;font-size:9px;letter-spacing:.14em;color:var(--gold-d);font-weight:700}
.po-factgrid b{
  font-family:"Arial Narrow",system-ui,sans-serif;
  font-size:16px;
  font-weight:800;
  color:var(--crimson-d);
  overflow-wrap:anywhere;
}
.po-factgrid small{font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:#7b574d}

/* trust */
.trust-list{list-style:none;padding:0;margin:0 auto;display:grid;gap:12px;max-width:960px}
.trust-list li{
  display:grid;
  grid-template-columns:48px 1fr;
  gap:14px;
  align-items:start;
  border:2px solid var(--line-soft);
  border-left:6px solid var(--gold);
  border-radius:8px;
  padding:15px 16px;
  background:rgba(255,252,244,.9);
}
.trust-list li span{font-family:"Impact",system-ui,sans-serif;font-size:20px;color:var(--crimson)}
.trust-list li p{margin:0;font-size:13px;line-height:1.7;color:#4a2a26}

/* terms */
.terms-box{border:2px solid var(--line-soft);border-top:5px solid var(--gold);border-radius:8px;padding:16px;background:rgba(255,252,244,.92)}
.terms-derived span{border-style:dashed}
.edition-note p:last-child{color:#5d3a33}

/* FAQ */
.po-faq{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:4px solid var(--crimson-d)}
.po-faq article{display:grid;grid-template-columns:54px 1fr;gap:10px;padding:16px 16px 16px 0;border-bottom:2px solid var(--line-soft)}
.po-faq article:nth-child(odd){border-right:2px solid var(--line-soft)}
.po-num{font-family:"Impact",system-ui,sans-serif;font-size:32px;color:var(--gold);line-height:.9;text-shadow:2px 2px 0 rgba(122,12,30,.22)}
.po-faq h3{font-size:15px;color:var(--crimson-d);margin:0 0 5px;line-height:1.2}
.po-faq p{font-size:12px;line-height:1.7;color:#4a2a26;margin:0}

/* activities / promo cards */
.card-grid{grid-template-columns:repeat(3,1fr)}
.card{border:2px solid var(--line-soft);border-radius:8px;background:rgba(255,252,244,.95);padding:16px}
.card img{border-radius:6px;border:2px solid var(--gold)}
.promo-card h3{font-size:18px;color:var(--crimson);margin:4px 0 6px}
.promo-card p{font-size:12px;color:#5d3a33}
.empty{
  text-align:center;
  border:3px dashed var(--line-soft);
  border-radius:10px;
  padding:34px 20px;
  background:rgba(255,250,240,.72);
}
.empty h2{font-size:clamp(22px,3vw,32px)}
.empty p{color:#5d3a33;max-width:560px;margin:0 auto 16px}

/* generic variant prose (info pages) */
.variant-prose{max-width:860px}
.variant-prose p,.variant-prose li{color:#4a2a26;font-size:14px;line-height:1.8}
.variant-prose h2{margin-top:30px;font-size:clamp(22px,2.8vw,32px);border-top:4px solid var(--crimson-d);padding-top:12px}
.variant-prose ul{padding-left:20px}
.variant-prose li{margin-bottom:6px}
.variant-page-hero{
  padding:40px 0 30px;
  border-bottom:4px solid var(--crimson-d);
  background:
    radial-gradient(ellipse at 50% -30%,rgba(255,251,226,.9) 0%,rgba(255,251,226,0) 62%),
    linear-gradient(180deg,#5aa9da 0%,#a5d7ef 55%,#fdf5e6 100%);
  text-align:center;
}
body.type-condensed .variant-page-hero h1{
  color:#ffc63f;
  -webkit-text-stroke:2px #7a0c1e;
  paint-order:stroke fill;
  font-size:clamp(30px,4.6vw,58px);
  line-height:1;
  text-shadow:0 2px 0 rgba(122,12,30,.5),0 10px 20px rgba(122,12,30,.26);
  overflow-wrap:anywhere;
}
.variant-page-hero .eyebrow{max-width:780px;margin:0 auto 14px;line-height:1.7;letter-spacing:.16em;color:var(--crimson-d)}
.variant-page-hero .deck{color:#3f201d;max-width:720px;margin:12px auto 0;font-size:14px}
.variant-poster .variant-page-hero .wrap{max-width:920px}
.sec-head.left{text-align:left;margin-left:0}

/* steps (guide pages) */
.po-steps{list-style:none;padding:0;margin:0 0 24px;display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:4px solid var(--crimson-d)}
.po-steps li{display:grid;grid-template-columns:70px 1fr;gap:12px;padding:18px 16px 18px 0;border-bottom:2px solid var(--line-soft)}
.po-steps li:nth-child(odd){border-right:2px solid var(--line-soft)}
.po-steps li>span{font-family:"Impact",system-ui,sans-serif;font-size:44px;line-height:.82;color:var(--gold);text-shadow:2px 2px 0 rgba(122,12,30,.20)}
.po-steps h3{font-size:17px;color:var(--crimson-d);margin:0 0 4px}
.po-steps p{font-size:12px;line-height:1.7;color:#4a2a26;margin:0}
.poster-figure{margin:22px 0;border:4px solid var(--crimson-d);border-radius:8px;overflow:hidden;background:#fff8ea;box-shadow:var(--shadow-card)}
.poster-figure img{width:100%;height:auto}

/* footer (minimal) */
.site-footer.po-footer{
  background:linear-gradient(180deg,#a31226 0%,#870c1d 62%,#6d0917 100%);
  border-top:5px solid var(--gold);
  padding:34px 0 20px;
  color:#ffe9c9;
}
.po-footer-mark{
  font-family:"Impact","Arial Narrow Bold",system-ui,sans-serif;
  font-size:clamp(46px,10vw,118px);
  line-height:.82;
  letter-spacing:-.02em;
  color:transparent;
  -webkit-text-stroke:2px rgba(255,228,154,.72);
  text-transform:uppercase;
  overflow-wrap:anywhere;
  margin-bottom:16px;
}
.po-footer-row{display:flex;flex-wrap:wrap;gap:8px 20px;border-top:1px solid rgba(255,232,180,.34);padding-top:14px;margin:0 0 14px}
.po-footer-row a{
  font-family:"Arial Narrow",system-ui,sans-serif;
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#ffe1ab;
  text-decoration:none;
}
.po-footer-row a:hover{color:#fff;border-bottom:2px solid var(--gold)}
.po-footer-cta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:14px;
  justify-content:space-between;
  border:2px solid rgba(255,232,180,.4);
  border-radius:8px;
  padding:14px 16px;
  margin-bottom:16px;
  background:rgba(0,0,0,.12);
}
.po-footer-cta p{margin:0;font-size:12px;color:#ffe9c9;max-width:520px}
.po-footer-cta div{display:flex;gap:10px;flex-wrap:wrap}
.po-footer-bottom{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:9px;color:rgba(255,233,201,.86);letter-spacing:.04em}
.po-footer .age{border-color:rgba(255,232,180,.6);color:var(--gold-hi)}
.po-footer .btn-ghost{background:linear-gradient(180deg,#ffe08a 0%,var(--gold) 55%,#cf8f1a 100%);color:#4a0a16}

/* bottom CTA bar: mobile only */
.bottom-cta{
  display:none;
  position:fixed;
  left:0;right:0;bottom:0;
  z-index:95;
  gap:8px;
  padding:8px 10px calc(8px + env(safe-area-inset-bottom));
  background:linear-gradient(180deg,#fff8ea 0%,#fdf1da 100%);
  border-top:3px solid var(--crimson-d);
  box-shadow:0 -10px 24px rgba(122,12,30,.18);
}
.bottom-cta .btn{
  flex:1;
  min-height:50px;
  font-size:12px;
  letter-spacing:.08em;
  padding:0 10px;
}
.bottom-cta .btn-primary{box-shadow:none}
.bottom-cta .btn-ghost{box-shadow:none}

/* ---------- responsive ---------- */
@media (max-width:1024px){
  .h03-tiles{grid-template-columns:repeat(2,1fr)}
  .po-factgrid{grid-template-columns:repeat(2,1fr)}
  .card-grid{grid-template-columns:repeat(2,1fr)}
}

@media (max-width:900px){
  .ed-masthead{grid-template-columns:1fr auto 1fr;min-height:66px;position:relative}
  .ed-wordmark{grid-column:2;justify-self:center;order:2}
  .ed-meta{grid-column:3;justify-self:end;order:3}
  .ed-nav{
    display:none;
    position:absolute;
    left:0;right:0;top:100%;
    background:#870c1d;
    border-bottom:4px solid var(--gold);
    padding:8px 20px 16px;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    z-index:70;
    max-height:calc(100vh - 120px);
    overflow:auto;
  }
  .ed-nav.is-open{display:flex}
  .ed-nav a{padding:12px 0;border-bottom:1px solid rgba(255,232,180,.24)}
  .menu-btn{display:block}
  .ed-meta span{display:none}
  .po-hero{padding:22px 0 34px}
  .po-hero-grid{grid-template-columns:1fr;align-items:start}
  .po-hero-actions{flex-direction:row;flex-wrap:wrap;justify-content:flex-start}
  .po-arrow{align-self:flex-start}
  .variant-poster .route-grid{grid-template-columns:1fr}
  .variant-poster .route-card{border-right:0;border-bottom:2px solid var(--line-soft);min-height:0;padding:18px 0}
  .po-steps,.po-faq{grid-template-columns:1fr}
  .po-steps li:nth-child(odd),.po-faq article:nth-child(odd){border-right:0}
  .po-summary>p{font-size:13.5px}
}

@media (max-width:700px){
  body{padding-bottom:calc(78px + env(safe-area-inset-bottom))}
  .wrap{width:calc(100% - 28px)}
  .policy-strip-inner{font-size:9.5px;gap:6px;padding:6px 0}
  .policy-note{display:none}
  .ed-brand-logo{height:40px;max-width:min(150px,42vw);padding:4px 6px;border-width:1.5px}
  .ed-masthead{min-height:60px;gap:10px}
  .ed-rule{font-size:7px;letter-spacing:.14em}
  .po-hero-figure{max-height:272px;border-width:4px;outline-width:2px}
  .po-hero-figure img{height:272px;object-fit:cover;object-position:center 40%}
  .variant-poster .po-title{font-size:clamp(42px,13vw,64px);margin-top:18px;text-align:left;-webkit-text-stroke-width:1.8px;text-shadow:0 2px 0 rgba(122,12,30,.55),0 8px 16px rgba(122,12,30,.24)}
  .hero-brand-logo{max-height:64px;max-width:min(170px,54vw)}
  .hero-logo-lockup{justify-content:flex-start}
  .po-kicker{text-align:left;margin-bottom:10px}
  .po-deck{padding:12px 14px;font-size:14px}
  .po-hero-actions .btn{flex:1 1 46%;min-height:50px;font-size:12px}
  .po-chips{justify-content:flex-start}
  .po-strip{gap:8px 16px;font-size:8.5px}
  .section{padding:38px 0}
  .h03-tiles{grid-template-columns:1fr;gap:14px}
  .h03-tile img{aspect-ratio:4/3}
  .po-factgrid{grid-template-columns:1fr 1fr}
  .po-mini-facts{grid-template-columns:1fr 1fr}
  .trust-list li{grid-template-columns:34px 1fr;padding:13px}
  .variant-page-hero{padding:28px 0 22px}
  .variant-page-hero h1{text-align:left}
  .variant-page-hero .deck{text-align:left}
  .po-steps li{grid-template-columns:52px 1fr;padding:15px 0}
  .po-steps li>span{font-size:34px}
  .card-grid{grid-template-columns:1fr}
  .po-footer{padding:26px 0 calc(18px + env(safe-area-inset-bottom))}
  .po-footer-cta{flex-direction:column;align-items:flex-start}
  .po-footer-bottom{font-size:8.5px}
  body[class*="variant-"] .bottom-cta,.bottom-cta{display:flex!important}
}

@media (max-width:390px){
  .po-hero-figure img{height:270px}
  .variant-poster .po-title{font-size:clamp(38px,12.4vw,54px)}
}

@media (prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important}
}
