/* ============================================================
   PLACEINTEL — region / atlas / location page chrome (v5)
   ============================================================ */

/* ---- breadcrumbs ---- */
.crumb { padding: 24px 0 0; font-family: var(--ff-mono); font-size: 11.5px; color: var(--ink-3); display:flex; gap:9px; flex-wrap:wrap; align-items:center; }
.crumb a { color: var(--ink-3); } .crumb a:hover { color: var(--sea); }
.crumb .sep { opacity:.45; } .crumb .here { color: var(--ink); }

/* ---- guide hero ---- */
.guide-hero { padding: 18px 0 28px; }
.gh-top { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:10px; }
.guide-hero h1 { font-size: clamp(34px,4.6vw,54px); letter-spacing:-.035em; line-height:1.03; margin:8px 0 16px; max-width:840px; }
.guide-hero .dek { font-family:var(--ff-read); font-size:clamp(17px,2vw,20px); color:var(--ink-2); max-width:720px; line-height:1.5; }
.gh-meta { margin-top:20px; font-family:var(--ff-mono); font-size:11px; color:var(--ink-3); display:flex; gap:18px; flex-wrap:wrap; }
.gh-meta b { color:var(--ink-2); font-weight:600; }

.pill { display:inline-flex; align-items:center; gap:7px; font-family:var(--ff-mono); font-size:10.5px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; padding:5px 11px; border-radius:100px; border:1px solid var(--line); color:var(--ink-2); }
.pill.prime { background:var(--sea-tint); color:var(--sea-2); border-color:transparent; }
[data-theme="dark"] .pill.prime { color:var(--sea); }
.pill.emerging { background:var(--honey-tint); color:var(--honey); border-color:transparent; }
.pill.soon { background:var(--terra-tint); color:var(--terra-2); border-color:transparent; }
[data-theme="dark"] .pill.soon { color:var(--terra); }
.pill .gl { font-size:12px; }

/* ---- guide sections ---- */
.guide-body { padding: 8px 0 70px; }
.gsec { margin:0 0 46px; }
.gsec .gl { font-family:var(--ff-mono); font-size:10.5px; font-weight:600; letter-spacing:.09em; text-transform:uppercase; color:var(--sea); margin-bottom:15px; display:flex; align-items:center; gap:10px; }
.gsec .gl::before { content:""; width:22px; height:1px; background:currentColor; opacity:.5; }
.gsec h2 { font-size:clamp(24px,3vw,30px); letter-spacing:-.025em; margin-bottom:14px; }
.gsec > p { font-family:var(--ff-read); font-size:16.5px; line-height:1.62; color:var(--ink-2); margin-bottom:14px; max-width:70ch; }
.gsec > p b { color:var(--ink); font-weight:600; }
.gsec .lead-read { font-size:19.5px; color:var(--ink); line-height:1.58; }

/* ---- essentials (living cards) ---- */
.living { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
@media(max-width:600px){ .living { grid-template-columns:1fr; } }
.living .lc { border:1px solid var(--line); border-radius:var(--r-md); padding:18px 20px; background:var(--surface); display:flex; gap:14px; }
.living .lc .li { width:34px; height:34px; flex:none; border-radius:9px; background:var(--sage-tint); color:var(--sage-2); display:grid; place-items:center; }
[data-theme="dark"] .living .lc .li { color:var(--sage); }
.living .lc .li svg { width:18px; height:18px; }
.living .lc h4 { font-size:14.5px; margin-bottom:5px; }
.living .lc p { font-family:var(--ff-read); font-size:14px; color:var(--ink-2); line-height:1.5; margin:0; }
.living .lc p b { color: var(--ink); font-weight:600; }

/* ---- comparison table ---- */
.rt-scroll { overflow-x:auto; border:1px solid var(--line); border-radius:var(--r-lg); }
.rt { width:100%; border-collapse:collapse; min-width:640px; }
.rt th,.rt td { text-align:left; padding:13px 15px; border-bottom:1px solid var(--line); font-size:13.5px; vertical-align:middle; }
.rt thead th { background:var(--surface); font-family:var(--ff-mono); font-size:10px; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-3); font-weight:600; }
.rt tbody th { font-family:var(--ff-display); font-size:15px; letter-spacing:-.01em; color:var(--ink); font-weight:600; }
.rt td { font-family:var(--ff-read); color:var(--ink-2); }
.rt td .mono { font-family:var(--ff-mono); font-size:12.5px; color:var(--ink); }
.rt tbody tr:hover { background:var(--surface); }
.rt a { color:var(--sea-2); } [data-theme="dark"] .rt a { color:var(--sea); }
.rt .tp { font-family:var(--ff-mono); font-size:9px; letter-spacing:.05em; text-transform:uppercase; padding:2px 7px; border-radius:100px; white-space:nowrap; }
.rt .tp.e { background:var(--honey-tint); color:var(--honey); } .rt .tp.p { background:var(--sea-tint); color:var(--sea-2); }
.rt .tp.cap { background:var(--sage-tint); color:var(--sage-2); }
.rt .tp.resort { background:var(--terra-tint); color:var(--terra-2); }
.rt .tp.heritage { background:var(--flag-tint); color:var(--flag); }
[data-theme="dark"] .rt .tp.p { color:var(--sea); } [data-theme="dark"] .rt .tp.cap { color:var(--sage); }

/* ---- place / region cards ---- */
.rcards { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
@media(max-width:820px){ .rcards { grid-template-columns:1fr 1fr; } }
@media(max-width:520px){ .rcards { grid-template-columns:1fr; } }
.rcard { border:1px solid var(--line); border-radius:var(--r-lg); background:var(--surface); padding:18px 20px; transition:box-shadow .18s ease, transform .18s ease; display:block; }
.rcard:hover { box-shadow:var(--shadow-md); transform:translateY(-1px); }
.rcard .rc-top { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; }
.rcard h3 { font-size:18px; letter-spacing:-.02em; }
.rcard .rc-sub { font-family:var(--ff-mono); font-size:10.5px; color:var(--ink-3); margin-top:3px; }
.rcard .rc-price { font-family:var(--ff-mono); font-size:12px; color:var(--ink-2); margin-top:12px; }
.rcard .rc-go { font-family:var(--ff-mono); font-size:11px; color:var(--sea); margin-top:9px; display:inline-flex; gap:5px; align-items:center; }
.rcard.soon { opacity:.78; } .rcard.soon .rc-go { color:var(--terra-2); }
[data-theme="dark"] .rcard.soon .rc-go { color:var(--terra); }
.rcard .rc-blurb { font-family:var(--ff-read); font-size:13.5px; color:var(--ink-2); line-height:1.5; margin-top:10px; }

/* ---- guide CTA ---- */
.gcta { border:1px solid var(--line); border-left:3px solid var(--terra); border-radius:var(--r-lg); background:var(--surface); padding:26px 28px; display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap; }
.gcta h3 { font-size:20px; letter-spacing:-.02em; margin-bottom:5px; }
.gcta p { font-family:var(--ff-read); font-size:15px; color:var(--ink-2); margin:0; max-width:60ch; }

/* ---- related ---- */
.related { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
@media(max-width:700px){ .related { grid-template-columns:1fr; } }
.relcard { border:1px solid var(--line); border-radius:var(--r-md); padding:16px 18px; background:var(--surface); display:block; transition:box-shadow .16s; }
.relcard:hover { box-shadow:var(--shadow-md); }
.relcard .rl { font-family:var(--ff-mono); font-size:10px; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-3); }
.relcard h4 { font-size:15.5px; letter-spacing:-.01em; margin-top:6px; }

/* ---- location "coming soon" page ---- */
.coming { display:grid; grid-template-columns:1.1fr .9fr; gap:48px; align-items:start; padding-top:8px; }
@media(max-width:860px){ .coming { grid-template-columns:1fr; gap:28px; } }
.coming .lead { font-family:var(--ff-read); font-size:19px; line-height:1.6; color:var(--ink-2); }
.coming .lead b { color:var(--ink); font-weight:600; }
.chips { display:flex; gap:8px; flex-wrap:wrap; margin:18px 0 26px; }
.spec { border:1px solid var(--line); border-radius:var(--r-lg); background:var(--surface); overflow:hidden; }
.spec .sr { display:grid; grid-template-columns:1fr auto; gap:8px 16px; padding:13px 18px; border-bottom:1px solid var(--line); align-items:baseline; }
.spec .sr:last-child { border-bottom:none; }
.spec .sk { font-family:var(--ff-mono); font-size:10.5px; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-3); }
.spec .sv { font-family:var(--ff-read); font-size:15px; color:var(--ink); }
