:root {
  --background:#f4efe4; --background-top:#fbf6ec; --background-edge:#efe9dc;
  --surface:#fffdf8; --surface-sunken:#fbf8f2; --surface-warm:#fbf7ef; --surface-quiet:#fdfbf6; --surface-cream:#fbf5ec;
  --foreground:#1e2c27; --foreground-soft:#4a5450; --muted-foreground:#6c7269; --muted-foreground-2:#767c71; --muted-foreground-3:#8b8f83; --muted-foreground-4:#a09788; --muted-faint:#b4a795;
  --eyebrow:#8a7a63; --primary:#9b482c; --primary-hover:#7e3821; --primary-soft:#b0764c;
  --icon-quiet:#9b7d5e; --accent-dot:#c78a5f; --rule-warm:#cbb69a;
  --border:#e4dccb; --border-soft:#e6dfd0; --border-quiet:#ece5d6; --border-cream:#ecdfcc; --border-topline:#efe7d8;
  --divider:#efe9db; --divider-faint:#f0eade; --track:#eee7d9;
  --chip-bg:#f4ece0; --chip-ink:#8a5a3a; --chip-ink-2:#8a6a4c;
  --ink-dark:#1e2c27; --ink-dark-hover:#2c3d37;
  --card-dark:#141d1a; --card-dark-2:#1a2622; --card-cream:#fdfaf3;
  --selection:#e9d3bc;
  --radius:.7rem;
}
* { box-sizing:border-box; }
body { margin:0; background:var(--background); color:var(--foreground); font-family:'Instrument Sans',Helvetica,sans-serif; font-size:16px; -webkit-font-smoothing:antialiased; }
body { background:radial-gradient(120% 60% at 50% -10%, var(--background-top) 0%, var(--background) 55%, var(--background-edge) 100%); }
button,a,label { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; font:inherit; }
button:disabled { cursor:not-allowed; }
a { color:var(--primary); text-decoration:none; }
a:hover { color:var(--primary-hover); }
::selection { background:var(--selection); }
:focus-visible { outline:3px solid #a75533; outline-offset:5px; }
[hidden] { display:none!important; }
svg { display:inline-block; flex-shrink:0; }
.visually-hidden { position:absolute; width:1px; height:1px; opacity:0; }
h2:focus { outline:none; }

.site-shell { max-width:1120px; margin:0 auto; padding:0 clamp(18px,4vw,44px); }
.site-header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:26px 0 22px; }
.brand { display:flex; align-items:center; gap:11px; text-decoration:none; font-family:Newsreader,Georgia,serif; font-size:25px; font-weight:400; letter-spacing:-.5px; color:var(--foreground); }
.brand-coin { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:linear-gradient(140deg,#f7dcb8,#d59a5f 70%,#eec69b); box-shadow:inset 0 0 0 1px #b87a4c,0 1px 0 #fff9; color:#7d3f22; font-size:15px; font-weight:500; letter-spacing:-1px; }
.brand-period { color:var(--primary); }
.header-note { display:flex; align-items:center; gap:8px; color:#7d8378; font-size:13px; letter-spacing:.2px; }
.header-dot { width:5px; height:5px; border-radius:50%; background:var(--accent-dot); }

main { max-width:640px; margin:0 auto; }
.intro { text-align:center; padding:34px 0 30px; }
.eyebrow { display:inline-flex; align-items:center; gap:9px; font-size:11px; font-weight:600; letter-spacing:2.2px; color:var(--eyebrow); text-transform:uppercase; }
.eyebrow-rule { width:22px; height:1px; background:var(--rule-warm); }
.eyebrow-left { letter-spacing:2px; }
h1 { font-family:Newsreader,Georgia,serif; font-size:clamp(42px,6.4vw,64px); font-weight:300; line-height:1.02; letter-spacing:-2.4px; margin:20px 0 16px; text-wrap:balance; }
h1 em { font-style:italic; font-weight:300; color:var(--primary); }
.intro p { font-size:16px; line-height:1.7; color:var(--muted-foreground); margin:0 auto; max-width:420px; text-wrap:pretty; }

.explainer { margin:0 0 22px; background:var(--surface-warm); border:1px solid var(--border-quiet); border-radius:16px; overflow:hidden; }
.explainer summary { display:flex; align-items:center; gap:12px; padding:15px 17px; cursor:pointer; list-style:none; }
.explainer summary::-webkit-details-marker { display:none; }
.explainer-badge { display:grid; place-items:center; flex-shrink:0; width:30px; height:30px; border-radius:50%; background:linear-gradient(140deg,#f7dcb8,#d59a5f 70%,#eec69b); box-shadow:inset 0 0 0 1px #b87a4c; color:#7d3f22; font-size:12px; font-weight:600; letter-spacing:-.5px; }
.explainer-summary-text { flex:1; min-width:0; font-size:14.5px; line-height:1.5; color:var(--foreground-soft); }
.explainer-summary-text strong { font-weight:600; color:var(--foreground); }
.explainer-cta { flex-shrink:0; font-size:12.5px; font-weight:600; letter-spacing:.3px; color:var(--primary); }
.explainer[open] .explainer-cta { color:var(--muted-foreground-3); }
.explainer[open] .explainer-cta::after { content:' / Hide'; }
.explainer-body { padding:2px 17px 18px 59px; }
.explainer-body p { font-size:14px; line-height:1.7; color:var(--foreground-soft); margin:0 0 12px; text-wrap:pretty; }
.explainer-body ul { margin:0 0 12px; padding-left:18px; font-size:14px; line-height:1.75; color:var(--foreground-soft); }
.explainer-link { font-size:13.5px; line-height:1.6; color:var(--muted-foreground-2); margin:0!important; }

.date-card { position:relative; background:var(--surface); border:1px solid var(--border); border-radius:22px; box-shadow:0 1px 0 #fff inset, 0 24px 50px -34px #3a2b1c40; overflow:hidden; }
.card-topline { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:15px 22px; background:var(--surface-warm); border-bottom:1px solid var(--border-topline); font-size:11px; font-weight:600; letter-spacing:1.6px; color:#8a8478; text-transform:uppercase; }
.card-topline > span:first-child { display:flex; align-items:center; gap:8px; }
.step { color:var(--muted-foreground-4); letter-spacing:1.2px; }
.setup,.safety,.journey,.arrival { padding:clamp(22px,4vw,30px); animation:riseIn .3s ease-out; }
.arrival { padding:clamp(24px,4vw,32px); }
h2 { font-family:Newsreader,Georgia,serif; font-size:31px; font-weight:400; letter-spacing:-1px; margin:0 0 7px; }
h2 em { font-style:italic; color:var(--primary); }
.subtext { font-size:14.5px; color:var(--muted-foreground-2); line-height:1.6; margin:0; }

.area-options { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:11px; margin:22px 0 20px; padding:0; border:0; min-width:0; }
.area-option { position:relative; cursor:pointer; display:flex; flex-direction:column; gap:6px; background:var(--surface-sunken); border:1px solid var(--border-soft); border-radius:15px; padding:17px 16px 15px; transition:border-color .15s,background .15s; }
.area-option:hover { border-color:#d8cfbd; }
.option-top { display:flex; align-items:center; justify-content:space-between; }
.area-icon { color:var(--icon-quiet); display:flex; }
.option-check { display:none; place-items:center; width:20px; height:20px; border-radius:50%; background:var(--primary); color:#fff; position:relative; z-index:1; }
.area-option:has(input:checked) { border:0; box-shadow:0 0 0 2px var(--primary); background:#f6efe8; }
.area-option:has(input:checked) .area-icon { color:var(--primary); }
.area-option:has(input:checked) .option-check { display:grid; }
.option-title { font-family:Newsreader,Georgia,serif; font-size:24px; line-height:1.1; color:var(--foreground); }
.option-description { color:var(--muted-foreground-2); font-size:13.5px; line-height:1.5; }
.turn-badge { margin-top:6px; font-size:11.5px; font-weight:600; letter-spacing:1.1px; color:var(--primary); text-transform:uppercase; width:fit-content; }
.area-option input { position:absolute; width:1px; height:1px; opacity:0; }

.primary-button { display:flex; gap:11px; align-items:center; justify-content:center; width:100%; min-height:54px; padding:15px 18px; color:#fff; background:var(--primary); border:0; border-radius:12px; font-weight:500; font-size:16.5px; letter-spacing:.1px; box-shadow:0 8px 18px -12px #9b482ccc; transition:background .15s,transform .12s; }
.primary-button:hover:enabled { background:var(--primary-hover); }
.primary-button:active:enabled { transform:translateY(1px); }
.primary-button:disabled { background:#e7e8e0; color:#797e71; box-shadow:none; }
.primary-button-dark { background:var(--ink-dark); box-shadow:0 8px 18px -12px #1e2c27cc; }
.primary-button-dark:hover:enabled { background:var(--ink-dark-hover); }
.outline-button { display:flex; gap:10px; align-items:center; justify-content:center; width:100%; min-height:52px; margin-top:24px; padding:14px; border:1px solid #d9cdb9; border-radius:12px; background:#fff; color:var(--foreground); font-weight:500; font-size:15.5px; transition:background .15s; }
.outline-button:hover { background:var(--surface-cream); }
.card-footnote { margin:14px 0 0; color:var(--muted-foreground-3); font-size:12.5px; text-align:center; }
.setup-footnote-row { display:flex; align-items:center; justify-content:center; gap:14px; margin-top:14px; flex-wrap:wrap; }
.setup-footnote-row .card-footnote { margin:0; }
.advanced-link { display:block; border:0; background:none; padding:2px 0; color:var(--muted-foreground-3); font-size:12.5px; text-decoration:underline; text-underline-offset:3px; }
.advanced-link:hover { color:var(--primary); }
.advanced-settings { margin-top:16px; padding:17px; border:1px solid var(--border-soft); background:var(--surface-sunken); border-radius:13px; }
.advanced-settings label { display:block; font-size:14px; font-weight:500; margin-bottom:8px; }
.advanced-settings input { width:100%; padding:12px; border:1px solid #d8cfbd; border-radius:9px; background:#fff; color:var(--foreground); font:16px 'Instrument Sans',Helvetica,sans-serif; }
.advanced-settings p { font-size:12.5px; color:var(--muted-foreground-2); line-height:1.6; margin:10px 0 0; }

.intersection-picker { border:0; padding:0; margin:22px 0; min-width:0; }
.intersection-picker legend { float:left; width:100%; font-family:Newsreader,Georgia,serif; font-size:22px; letter-spacing:-.6px; margin-bottom:10px; }
.intersection-picker p { clear:both; color:var(--muted-foreground-2); font-size:14px; line-height:1.65; margin:0 0 15px; }
.intersection-picker select { width:100%; min-width:0; min-height:48px; padding:12px; border:1px solid var(--border); border-radius:9px; background:var(--surface-sunken); color:var(--foreground); font:inherit; font-size:14px; cursor:pointer; }
.intersection-picker select:focus-visible { outline:3px solid var(--primary); outline-offset:3px; }
.intersection-picker select:disabled { opacity:.6; }
.number-draw { width:150px; height:150px; margin:18px auto 22px; display:flex; flex-direction:column; align-items:center; justify-content:center; border:2px solid var(--primary-soft); background:#fbf0e5; color:var(--primary); border-radius:23px; }
.number-draw strong { font-family:Newsreader,Georgia,serif; font-size:54px; font-weight:400; line-height:1.15; }
.number-draw span { font-size:12px; }

.safety-list { display:flex; flex-direction:column; gap:2px; margin-top:12px; }
.safety-row { display:flex; gap:13px; padding:14px 0; border-top:1px solid var(--divider); }
.safety-row-last { border-bottom:1px solid var(--divider); }
.safety-numeral { font-family:Newsreader,Georgia,serif; color:var(--primary-soft); font-size:15px; padding-top:2px; flex-shrink:0; }
.safety-row p { margin:0; font-size:15px; line-height:1.6; color:var(--foreground-soft); }
.safety-row strong { color:var(--foreground); font-weight:600; }
.location-explainer { background:var(--surface-cream); border:1px solid var(--border-cream); border-radius:14px; padding:18px; margin:20px 0; }
.location-explainer h3 { margin:0 0 8px; font-size:16px; font-weight:600; }
.location-explainer p { font-size:13.5px; line-height:1.65; color:var(--muted-foreground); margin:0; }
.address-consent { margin:15px 0 0; padding-top:15px; border-top:1px solid var(--border-cream); }
.address-consent label { display:flex; align-items:flex-start; gap:11px; font-size:14px; line-height:1.5; cursor:pointer; }
.address-consent input { width:18px; height:18px; margin:1px 0 0; accent-color:var(--primary); flex-shrink:0; }
.address-consent p { font-size:12.5px; color:#7d8378; line-height:1.6; margin:4px 0 0; }
.reset-button { display:flex; gap:7px; justify-content:center; align-items:center; margin:10px auto 0; border:0; background:none; color:var(--muted-foreground-3); font-size:13.5px; padding:10px; }
.reset-button:hover { color:var(--primary); }

.journey-meta { display:flex; justify-content:space-between; gap:10px; font-size:12.5px; color:var(--muted-foreground-3); margin-bottom:9px; }
.journey-meta span:first-child { font-weight:600; letter-spacing:.3px; color:var(--muted-foreground); }
progress { width:100%; height:6px; border:0; border-radius:6px; overflow:hidden; background:var(--track); }
progress::-webkit-progress-bar { background:var(--track); }
progress::-webkit-progress-value { background:linear-gradient(90deg,#c07a4e,var(--primary)); transition:width .4s ease; }
progress::-moz-progress-bar { background:linear-gradient(90deg,#c07a4e,var(--primary)); transition:width .4s ease; }
.turn-content { text-align:center; padding:26px 0 22px; }
.penny { position:relative; width:150px; height:150px; border-radius:50%; background:linear-gradient(140deg,#f8dcb6,#c98455 62%,#eec19a); box-shadow:inset 0 0 0 2px var(--primary-soft), 0 6px 0 #97603c, 0 18px 28px -14px #7a4a2c66; display:grid; place-items:center; color:#7d3f22; margin:18px auto 22px; }
.penny-orbit { position:absolute; inset:-14px; border-radius:50%; border:1px dashed #e0cdb4; }
.penny-inner { width:120px; height:120px; border-radius:50%; border:1px dashed #a8663c99; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; }
.penny-inner strong { font-family:Newsreader,Georgia,serif; font-size:52px; font-weight:400; line-height:1; }
.penny-inner small { font-size:8px; letter-spacing:1.6px; font-weight:600; }
.penny.flipped { animation:coinIn .55s ease-out; }
.turn-content h2 { margin:0 0 8px; font-size:38px; letter-spacing:-1.2px; }
.turn-content .subtext { max-width:340px; margin:0 auto; }
.button-coin { display:grid; place-items:center; width:23px; height:23px; border-radius:50%; border:1px solid #ffffff66; font-family:Newsreader,Georgia,serif; font-size:12px; }
.location-status { font-size:13px; line-height:1.6; color:var(--muted-foreground-3); margin:14px 0 0; text-align:center; }
.journey-links { display:flex; align-items:center; justify-content:center; gap:16px; margin-top:8px; }

.turn-log { border-top:1px solid var(--border-topline); padding:16px clamp(22px,4vw,30px); background:var(--surface-quiet); }
.turn-log summary { cursor:pointer; font-size:14px; font-weight:500; padding:4px 0; color:var(--foreground-soft); }
.turn-log summary span { color:#9b8f7e; }
.turn-log .subtext { margin:10px 0 4px; }
.turn-log ol { list-style:none; padding:0; margin:0; }
.turn-log li { display:flex; gap:12px; padding:12px 0; border-top:1px solid var(--divider-faint); }
.turn-log li > strong { flex-shrink:0; display:grid; place-items:center; width:26px; height:26px; border-radius:50%; background:var(--chip-bg); color:var(--chip-ink-2); font-size:12px; font-weight:600; font-family:'Instrument Sans',Helvetica,sans-serif; }
.turn-records-body { min-width:0; }
.turn-records-body strong { display:block; font-size:14px; font-weight:600; }
.turn-records-body span { display:block; color:var(--foreground-soft); font-size:13px; line-height:1.6; margin-top:3px; overflow-wrap:anywhere; }
.turn-records-body time { display:block; color:var(--muted-foreground-4); font-size:11.5px; line-height:1.6; }
.record-address { color:#8a6a4c; }

.arrival-top { text-align:center; }
.arrival-mark { position:relative; width:78px; height:78px; display:grid; place-items:center; border-radius:50%; color:var(--primary); background:#fbefe1; box-shadow:0 0 0 8px #fbefe166; margin:0 auto 18px; }
.little-heart { position:absolute; right:4px; top:10px; fill:#fbefe1; }
.arrival h2 { font-size:clamp(40px,7vw,52px); font-weight:300; letter-spacing:-2px; margin:12px 0 10px; }
.arrival-top p { font-size:15.5px; line-height:1.7; color:var(--muted-foreground); margin:0 auto; max-width:360px; }
.arrival-recap { margin:26px 0 0; padding-top:22px; border-top:1px solid var(--divider); }
.arrival h3 { font-size:15px; font-weight:600; margin:0 0 12px; }
.route-ribbon { display:flex; flex-wrap:wrap; gap:5px; margin:0 0 14px; padding:0; list-style:none; }
.route-ribbon li { display:grid; place-items:center; width:27px; height:27px; border-radius:9px; background:var(--chip-bg); color:var(--chip-ink); font-size:12px; font-weight:600; }
.arrival-route { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:9px; }
.arrival-route li { border:1px solid var(--border-quiet); border-radius:12px; padding:12px 13px; background:var(--surface-quiet); }
.arrival-route strong { display:block; font-size:13.5px; font-weight:600; }
.arrival-route span { display:block; color:var(--foreground-soft); font-size:13px; line-height:1.55; margin-top:5px; overflow-wrap:anywhere; }
.arrival-route small { display:block; font-size:11.5px; line-height:1.5; color:var(--muted-foreground-4); margin-top:3px; }
.quiet-link { display:block; margin:14px auto 0; border:0; background:none; padding:6px 0; color:var(--muted-foreground-3); font-size:12.5px; text-decoration:underline; text-underline-offset:3px; }
.quiet-link:hover { color:var(--primary); }
.share-status { font-size:12.5px; line-height:1.6; color:var(--muted-foreground-3); margin:6px 0 0; text-align:center; }
.share-status:empty { display:none; }
.share-link-note { color:#786040!important; }

.share-card-section { margin:28px 0 0; padding:22px 0 0; border-top:1px solid var(--divider); }
.share-card-header { display:flex; align-items:baseline; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.share-card-header h3 { font-family:Newsreader,Georgia,serif; font-size:26px; font-weight:400; letter-spacing:-.8px; margin:0; }
.share-card-label { font-size:11px; font-weight:600; letter-spacing:1.6px; color:var(--muted-foreground-4); text-transform:uppercase; }
.share-card-intro { font-size:14px; line-height:1.65; color:var(--muted-foreground-2); margin:7px 0 18px; max-width:430px; }

.share-card { display:flex; flex-direction:column; width:100%; max-width:392px; margin:0 auto; aspect-ratio:4/5; border-radius:20px; overflow:hidden; background:var(--ink-dark); box-shadow:0 26px 46px -26px #2b201480, 0 0 0 1px #00000014; }
.share-card-photo { position:relative; flex:1; min-height:0; overflow:hidden; background:linear-gradient(165deg,#2a3b34,#1a2622 60%,#2b211a); }
.share-card-photo-image { position:absolute; inset:0; background-color:var(--card-dark-2); background-size:cover; background-position:center; }
.share-card-photo-empty { position:absolute; inset:18px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; border:1px dashed #ffffff40; border-radius:14px; color:#e9dbc6; cursor:pointer; text-align:center; padding:14px; transition:background .15s; }
.share-card-photo-empty:hover { background:#ffffff0f; }
.share-card-photo-title { font-size:14px; font-weight:500; }
.share-card-photo-help { font-size:11.5px; color:#e9dbc6b3; line-height:1.5; }
.share-card-fade { position:absolute; left:0; right:0; bottom:0; height:70px; background:linear-gradient(180deg,#141d1a00,#141d1a); pointer-events:none; }
.share-card-caption { flex-shrink:0; padding:2px 22px 18px; color:var(--card-cream); background:var(--card-dark); }
.share-card-chips { display:flex; flex-wrap:wrap; align-items:center; gap:4px; min-width:0; margin:0 0 11px; padding:0; list-style:none; }
.share-card-chips li { display:grid; place-items:center; min-width:20px; height:20px; padding:0 5px; border-radius:6px; background:#ffffff26; font-size:10.5px; font-weight:600; letter-spacing:.4px; }
.share-card-chips .chips-more { display:flex; align-items:center; height:20px; padding:0 5px; color:#fdfaf3b3; font-size:10.5px; font-weight:600; letter-spacing:.4px; background:none; }
.share-card-headline { font-family:Newsreader,Georgia,serif; font-size:29px; font-weight:300; line-height:1.08; letter-spacing:-1.1px; margin:0 0 11px; text-wrap:balance; }
.share-card-stats { display:flex; gap:0; border-top:1px solid #ffffff2e; border-bottom:1px solid #ffffff2e; padding:10px 0; margin-bottom:11px; }
.share-card-stats span { flex:1; display:flex; flex-direction:column; gap:2px; }
.share-card-stats span:not(:first-child) { border-left:1px solid #ffffff2e; padding-left:12px; }
.share-card-stats strong { font-family:Newsreader,Georgia,serif; font-size:20px; font-weight:400; }
.share-card-stats small { font-size:9.5px; letter-spacing:1.3px; text-transform:uppercase; color:#fdfaf3b3; }
.share-card-ending { font-size:12px; line-height:1.5; color:#f0e6d6; margin:0 0 12px; overflow-wrap:anywhere; }
.share-card-footer { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.share-card-brand { display:flex; align-items:center; gap:8px; font-family:Newsreader,Georgia,serif; font-size:16px; letter-spacing:-.3px; }
.share-card-coin { display:grid; place-items:center; width:22px; height:22px; border-radius:50%; background:linear-gradient(140deg,#f7dcb8,#d59a5f 70%,#eec69b); color:#7d3f22; font-family:'Instrument Sans',Helvetica,sans-serif; font-size:10px; font-weight:600; letter-spacing:-.5px; }
.share-card-url { font-size:10.5px; letter-spacing:.6px; color:#fdfaf3cc; }

.share-card-controls { max-width:392px; margin:16px auto 0; }
.share-buttons { display:flex; gap:9px; }
.share-buttons .primary-button { flex:2; min-height:52px; padding:14px; font-size:15.5px; }
.secondary-button { flex:1; display:flex; gap:8px; align-items:center; justify-content:center; min-height:52px; padding:14px; border:1px solid #d9cdb9; border-radius:12px; background:#fff; color:var(--primary-hover); font-weight:500; font-size:15px; }
.secondary-button:hover:enabled { background:var(--surface-cream); }
.secondary-button:disabled { opacity:.55; }
.share-toggle-row { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:13px; padding:12px 14px; border:1px solid var(--border-quiet); border-radius:12px; background:var(--surface-quiet); flex-wrap:wrap; }
.share-toggle-row label { display:flex; align-items:center; gap:10px; font-size:13.5px; line-height:1.4; cursor:pointer; }
.share-toggle-row input { width:18px; height:18px; accent-color:var(--primary); flex-shrink:0; }
.share-toggle-row .quiet-link { margin:0; }

.how-it-works { margin:38px 0 0; text-align:center; }
.how-it-works ol { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); text-align:left; list-style:none; padding:0; gap:18px; margin:20px 0 0; }
.how-it-works li { display:flex; gap:11px; padding:16px 15px; background:var(--surface-warm); border:1px solid var(--border-quiet); border-radius:14px; }
.instruction-number { font-family:Newsreader,Georgia,serif; color:var(--primary-soft); font-size:14px; padding-top:2px; flex-shrink:0; }
.how-it-works strong { font-size:14px; font-weight:600; }
.how-it-works p { font-size:12.5px; color:var(--muted-foreground-2); line-height:1.65; margin:5px 0 0; }
.travel-note { text-align:center; color:var(--muted-foreground-3); font-size:12.5px; line-height:1.7; margin:26px 0 8px; }
.address-attribution { font-size:11.5px; line-height:1.6; text-align:center; color:var(--muted-foreground-4); margin:0 0 26px; }

footer { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; padding:20px 0 28px; border-top:1px solid var(--border); font-size:12.5px; color:var(--muted-foreground-3); }
footer span, footer a { display:flex; align-items:center; gap:7px; }
footer a { color:inherit; }
footer a:hover { color:var(--primary); }

@keyframes coinIn { from { transform:rotateY(540deg) scale(.86); } to { transform:rotateY(0) scale(1); } }
@keyframes riseIn { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; } }

@media (max-width:430px) { .header-note { display:none; } }

.faq { margin:40px 0 28px; }
.faq h2 { font-family:Newsreader,Georgia,serif; font-size:clamp(26px,5vw,34px); margin:0 0 18px; }
.faq details { border-top:1px solid var(--border); padding:16px 0; }
.faq details:last-child { border-bottom:1px solid var(--border); }
.faq summary { cursor:pointer; font-size:16px; font-weight:600; line-height:1.5; }
.faq p { font-size:16px; line-height:1.75; color:var(--foreground-soft); margin:12px 0 0; max-width:70ch; }
