:root{
  --surface:#faf6ef;--surface-raised:#ffffff;--surface-sunk:#f1ebe0;--line:#e3dbcd;--line-strong:#8a8f98;
  --ink:#1b2330;--ink-muted:#5d6573;
  --brique:#b23a24;--brique-soft:#f8e3dc;--on-brique:#ffffff;
  --erable:#e8a317;--erable-soft:#fbefd2;--on-erable:#1b2330;
  --fleuve:#0f6e78;--fleuve-soft:#dcf0f1;--link:var(--fleuve);--focus:var(--fleuve);
  --m-green:#2e8b3a;--m-orange:#e0701e;--m-yellow:#e9c22a;--m-blue:#1a7fc1;
  --shadow-card:0 1px 2px rgba(27,35,48,.06),0 8px 24px rgba(27,35,48,.08);
  --font-display:Fraunces,Georgia,"Times New Roman",serif;
  --font-sans:Figtree,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;
  --radius-sm:4px;--radius-md:10px;--radius-lg:18px;--radius-pill:999px;
  --night:#1b2330;--on-night:#f2ede4;--on-night-muted:#c3c8d0;--night-line:#3a4352;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  color-scheme:dark;
  --night:#0b0d11;--night-line:#2a303a;
  --surface:#14171c;--surface-raised:#1e2229;--surface-sunk:#101318;--line:#343a44;--line-strong:#6b7380;
  --ink:#f2ede4;--ink-muted:#a9b0bb;
  --brique:#ef7a5f;--brique-soft:#3d1a12;--on-brique:#14171c;
  --erable:#f2b53a;--erable-soft:#3a2a08;--on-erable:#14171c;
  --fleuve:#5cc6cf;--fleuve-soft:#0f2e32;
  --m-green:#4fb85c;--m-orange:#f08a3c;--m-yellow:#f0cf4a;--m-blue:#4ea8e6;
  --shadow-card:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.3);
}}
:root[data-theme="dark"]{
  color-scheme:dark;
  --night:#0b0d11;--night-line:#2a303a;
  --surface:#14171c;--surface-raised:#1e2229;--surface-sunk:#101318;--line:#343a44;--line-strong:#6b7380;
  --ink:#f2ede4;--ink-muted:#a9b0bb;
  --brique:#ef7a5f;--brique-soft:#3d1a12;--on-brique:#14171c;
  --erable:#f2b53a;--erable-soft:#3a2a08;--on-erable:#14171c;
  --fleuve:#5cc6cf;--fleuve-soft:#0f2e32;
  --m-green:#4fb85c;--m-orange:#f08a3c;--m-yellow:#f0cf4a;--m-blue:#4ea8e6;
  --shadow-card:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.3);
}

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
.lg-short{display:none}
@media (max-width:480px){.lg-full{display:none}.lg-short{display:inline}.top .wrap{gap:var(--space-3)}.mark{font-size:21px}}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;background:var(--surface);color:var(--ink);font:400 17px/1.55 var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
a{color:var(--link);text-underline-offset:3px}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:2px}
h1,h2,h3,h4{text-wrap:balance;margin:0}
p{margin:0}
ul,ol{margin:0}
.wrap{max-width:1160px;margin:0 auto;padding-inline:var(--space-4)}
@media (min-width:720px){.wrap{padding-inline:var(--space-8)}}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--surface);padding:var(--space-2) var(--space-4);z-index:100}
.skip:focus{left:var(--space-4)}

/* ---------- header ---------- */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--surface);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:var(--space-6);min-height:68px}
.mark{font:600 24px/1 var(--font-display);letter-spacing:-.01em;color:var(--ink);text-decoration:none;display:inline-flex;align-items:center;gap:var(--space-2);white-space:nowrap}
.mark svg{flex:none}
.nav{display:none;gap:var(--space-1);margin-left:auto}
.nav a{color:var(--ink);text-decoration:none;font:500 15px/20px var(--font-sans);padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill)}
.nav a:hover{background:var(--surface-sunk)}
.nav a[aria-current="page"]{background:var(--ink);color:var(--surface)}
.lang{display:inline-flex;align-items:center;font:700 12px/16px var(--font-sans);letter-spacing:.08em;color:var(--ink);text-decoration:none;border:1px solid var(--line-strong);border-radius:var(--radius-pill);padding:var(--space-2) var(--space-3);margin-left:auto}
.lang:hover{background:var(--surface-sunk)}
@media (min-width:960px){.nav{display:flex}.lang{margin-left:0}.menu{display:none}}
.menu{position:relative}
.menu summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-2);font:600 14px/20px var(--font-sans);padding:var(--space-2) var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius-pill)}
.menu summary::-webkit-details-marker{display:none}
.menu[open] summary{background:var(--ink);color:var(--surface);border-color:var(--ink)}
.menu-panel{position:absolute;right:0;top:calc(100% + var(--space-2));background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--space-2);display:flex;flex-direction:column;min-width:220px}
.menu-panel a{color:var(--ink);text-decoration:none;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-weight:500}
.menu-panel a:hover,.menu-panel a[aria-current="page"]{background:var(--surface-sunk)}

/* ---------- type ---------- */
.eyebrow{font:700 12px/16px var(--font-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--brique)}
.display{font:600 clamp(44px,7.4vw,84px)/.98 var(--font-display);letter-spacing:-.025em;font-variation-settings:"opsz" 144}
.display em{font-style:italic;color:var(--brique)}
.title{font:600 clamp(30px,4.2vw,44px)/1.08 var(--font-display);letter-spacing:-.015em}
.h3{font:700 20px/1.3 var(--font-sans)}
.lead{font:400 clamp(18px,1.6vw,20px)/1.6 var(--font-sans);max-width:34em}
.muted{color:var(--ink-muted)}
.small{font:500 14px/20px var(--font-sans)}
.prose{max-width:40em;display:flex;flex-direction:column;gap:var(--space-4)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font:600 15px/20px var(--font-sans);padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);border:1px solid transparent;text-decoration:none;cursor:pointer;transition:filter .15s ease-out,background-color .15s ease-out,transform .15s ease-out}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--brique);color:var(--on-brique)}
.btn-book{background:var(--erable);color:var(--on-erable);font-weight:700}
.btn-quiet{color:var(--ink);border-color:var(--line-strong);background:transparent}
.btn-primary:hover,.btn-book:hover{filter:brightness(.93)}
.btn-quiet:hover{background:var(--surface-sunk)}
.btn svg{flex:none}

/* ---------- sections ---------- */
section{padding-block:var(--space-16)}
.band{background:var(--surface-sunk)}
.sec-head{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-8);max-width:46em}
.sec-row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-8)}
.sec-row .sec-head{margin-bottom:0}
.more{font:600 15px/20px var(--font-sans);color:var(--ink);text-decoration:none;display:inline-flex;gap:var(--space-2);align-items:center;border-bottom:2px solid var(--brique);padding-bottom:2px}
.more:hover{color:var(--brique)}

/* ---------- hero ---------- */
.hero{padding-block:var(--space-12) var(--space-16)}
.hero .wrap{display:grid;gap:var(--space-12);align-items:center}
@media (min-width:960px){.hero .wrap{grid-template-columns:1.1fr 1fr}}
.hero-copy{display:flex;flex-direction:column;gap:var(--space-6)}
.ctas{display:flex;flex-wrap:wrap;gap:var(--space-3)}
.facts-row{display:flex;flex-wrap:wrap;gap:var(--space-6) var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--line)}
.facts-row div{display:flex;flex-direction:column}
.facts-row b{font:600 32px/1 var(--font-display);font-variant-numeric:lining-nums tabular-nums}
.facts-row span{font:500 13px/18px var(--font-sans);color:var(--ink-muted)}

.page-hero{padding-block:var(--space-12) var(--space-8)}
.page-hero .wrap{display:flex;flex-direction:column;gap:var(--space-4)}
.crumbs{font:500 13px/18px var(--font-sans);color:var(--ink-muted);display:flex;gap:var(--space-2);flex-wrap:wrap}
.crumbs a{color:var(--ink-muted)}

/* ---------- hub map ---------- */
.hub{margin:0;background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-card)}
.hub svg{display:block;width:100%;height:auto}
.hub figcaption{font:500 13px/18px var(--font-sans);color:var(--ink-muted);padding:var(--space-2) var(--space-2) 0}
.hub .lbl{font:600 13px/1 var(--font-sans);fill:var(--ink)}
.hub .lbl-m{font:500 11.5px/1 var(--font-sans);fill:var(--ink-muted)}
.hub .hubname{font:600 18px/1 var(--font-display);fill:var(--ink)}
.hub .stn{fill:var(--surface-raised);stroke:var(--ink);stroke-width:3}
.hub .ring{fill:var(--surface-raised);stroke:var(--ink);stroke-width:4}
.hub .dot{fill:var(--ink)}
.hub .ln{fill:none;stroke-width:12;stroke-linecap:round}
.hub .g{stroke:var(--m-green)}.hub .o{stroke:var(--m-orange)}.hub .y{stroke:var(--m-yellow)}

/* ---------- stops table ---------- */
.filters{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}
.chip{font:600 13px/16px var(--font-sans);padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);border:1px solid var(--line-strong);background:var(--surface-raised);color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-2)}
.chip[aria-pressed="true"]{background:var(--ink);color:var(--surface);border-color:var(--ink)}
.chip i{width:18px;height:6px;border-radius:var(--radius-pill);display:inline-block}
.tablebox{overflow-x:auto;background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-md)}
table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
th,td{text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line);vertical-align:top}
tbody tr:last-child td{border-bottom:0}
th{font:700 12px/16px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);white-space:nowrap}
td.num,th.num{text-align:right}
.stops td:first-child{font-weight:600;min-width:200px}
.stops td{white-space:nowrap}
.stops td:first-child{white-space:normal}
.line-chip{display:inline-flex;align-items:center;gap:var(--space-2);font:600 13px/16px var(--font-sans)}
.line-chip i,.chip i{background:var(--c)}
.line-chip i{width:22px;height:8px;border-radius:var(--radius-pill);display:inline-block}
.stopdots{display:inline-flex;gap:3px;vertical-align:middle;margin-right:var(--space-2)}
.stopdots i{width:8px;height:8px;border-radius:50%;background:var(--ink)}

/* ---------- cards ---------- */
.grid{display:grid;gap:var(--space-6);grid-template-columns:1fr}
@media (min-width:640px){.grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.grid{grid-template-columns:repeat(3,1fr)}}
.card{display:flex;flex-direction:column;background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden;transition:box-shadow .2s ease-out,transform .2s ease-out;color:var(--ink)}
.card:hover{box-shadow:var(--shadow-card);transform:translateY(-2px)}
.ph{aspect-ratio:3/2;max-width:100%;position:relative;overflow:hidden;background:var(--surface-sunk)}
.ph svg,.ph img{position:absolute;inset:0;width:100%;height:100%!important;object-fit:cover}
.ph .credit{position:absolute;right:var(--space-2);bottom:var(--space-2);font:500 11px/1 var(--font-sans);background:rgba(0,0,0,.55);color:#fff;padding:3px 6px;border-radius:var(--radius-sm)}
.card-body{padding:var(--space-4) var(--space-6) var(--space-6);display:flex;flex-direction:column;gap:var(--space-2);flex:1}
.card h3{font:700 20px/1.3 var(--font-sans)}
.meta{font:500 14px/20px var(--font-sans);color:var(--ink-muted);display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}
.meta .line-chip i{width:14px;height:6px}
.tags{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-top:auto;padding-top:var(--space-3)}
.tag{display:inline-flex;font:600 12px/16px var(--font-sans);padding:var(--space-1) var(--space-2);border-radius:var(--radius-pill);background:var(--surface-sunk);color:var(--ink)}
.tag-b{background:var(--brique-soft);color:var(--brique)}
.tag-f{background:var(--fleuve-soft);color:var(--fleuve)}
.card .tip-line{font:500 14px/20px var(--font-sans);color:var(--ink);background:var(--fleuve-soft);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3)}
.card .tip-line b{color:var(--fleuve)}
.empty{padding:var(--space-8);text-align:center;color:var(--ink-muted)}

/* ---------- booking ---------- */
.book{background:var(--erable-soft);border-radius:var(--radius-md);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3)}
.book h3{font:600 24px/1.2 var(--font-display)}
.book ul{padding-left:1.1em;display:flex;flex-direction:column;gap:var(--space-1)}
.book .btn{align-self:flex-start;margin-top:auto}
.disclose{font:400 12px/16px var(--font-sans);color:var(--ink-muted)}
.stay{display:grid;gap:var(--space-6);grid-template-columns:1fr}
@media (min-width:720px){.stay{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.stay.three{grid-template-columns:repeat(3,1fr)}}
.wide-book{background:var(--night);color:var(--on-night);border-radius:var(--radius-lg);padding:var(--space-8);display:grid;gap:var(--space-6);align-items:center;position:relative;overflow:hidden}
@media (min-width:820px){.wide-book{grid-template-columns:1.4fr auto}}
.wide-book h2,.wide-book h3{font:600 clamp(26px,3vw,34px)/1.12 var(--font-display)}
.wide-book p{color:var(--on-night-muted)}
.wide-book .disclose{color:var(--on-night-muted)}
.wide-book .eyebrow{color:#f2b53a}
.wide-book .btn-book{background:#f2b53a;color:#1b2330}
.wide-book .btns{display:flex;flex-wrap:wrap;gap:var(--space-3)}
.wide-book .btn-quiet{color:var(--on-night);border-color:#8a93a3}
.wide-book .btn-quiet:hover{background:var(--night-line)}

/* ---------- compare table ---------- */
.compare td:first-child{font-weight:700;white-space:nowrap}
.price{letter-spacing:.1em;font-weight:700}
.price .off{color:var(--line-strong)}

/* ---------- seasons ---------- */
.seasons{display:grid;gap:var(--space-6);grid-template-columns:1fr}
@media (min-width:640px){.seasons{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.seasons{grid-template-columns:repeat(4,1fr)}}
.season{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-4);border-top:3px solid var(--c,var(--ink))}
.season h3{font:600 26px/1.1 var(--font-display)}
.season .when{font:700 12px/16px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}
.season ul{padding-left:1.1em;color:var(--ink);font-size:15px;line-height:1.5;display:flex;flex-direction:column;gap:2px}

/* ---------- climate chart ---------- */
.climate{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-6)}
.climate-scroll{overflow-x:auto}
.climate svg{display:block;min-width:620px;width:100%;height:auto}
.climate .ax{font:500 12px/1 var(--font-sans);fill:var(--ink-muted)}
.climate .val{font:700 11.5px/1 var(--font-sans);fill:var(--ink)}
.climate .grid-l{stroke:var(--line);stroke-width:1}
.climate .zero{stroke:var(--line-strong);stroke-width:1}
.climate .bar{fill:var(--brique)}
.climate .bar.cold{fill:var(--fleuve)}
.legend{display:flex;flex-wrap:wrap;gap:var(--space-4);font:500 13px/18px var(--font-sans);color:var(--ink-muted);margin-top:var(--space-3)}
.legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}

/* ---------- itineraries ---------- */
.tabs{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-8)}
.itin{display:grid;gap:var(--space-8);grid-template-columns:1fr}
@media (min-width:960px){.itin{grid-template-columns:320px 1fr}}
.itin-side{display:flex;flex-direction:column;gap:var(--space-4)}
.itin-side .book{margin-top:var(--space-2)}
.steps{list-style:none;padding:0;display:flex;flex-direction:column;position:relative}
.step{display:grid;grid-template-columns:72px 28px 1fr;gap:0 var(--space-4);padding-bottom:var(--space-8);position:relative}
.step:last-child{padding-bottom:0}
.step .time{font:700 14px/24px var(--font-sans);color:var(--ink-muted);text-align:right;font-variant-numeric:tabular-nums}
.step .node{position:relative;display:flex;justify-content:center}
.step .node::before{content:"";position:absolute;top:24px;bottom:calc(var(--space-8) * -1);width:4px;background:var(--line);border-radius:2px}
.step:last-child .node::before{display:none}
.step .node i{position:relative;width:20px;height:20px;border-radius:50%;background:var(--surface);border:4px solid var(--c,var(--ink));margin-top:2px}
.step h3{font:700 19px/1.3 var(--font-sans);margin-bottom:var(--space-1)}
.step p{color:var(--ink);max-width:38em}
.step .ride{margin-top:var(--space-2);display:inline-flex;gap:var(--space-2);align-items:center;font:600 13px/18px var(--font-sans);color:var(--ink-muted);background:var(--surface-sunk);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill)}
.step .ride i{width:16px;height:6px;border-radius:var(--radius-pill);background:var(--c)}
@media (max-width:520px){.step{grid-template-columns:24px 1fr}.step .time{grid-column:2;text-align:left;order:-1}.step .node{grid-row:1 / span 2;grid-column:1}}

/* ---------- practical ---------- */
.facts{display:grid;gap:var(--space-6);grid-template-columns:1fr}
@media (min-width:720px){.facts{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.facts.three{grid-template-columns:repeat(3,1fr)}}
.fact{display:flex;flex-direction:column;gap:var(--space-2);background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-6)}
.fact h3{font:700 19px/1.3 var(--font-sans)}
.fact .big{font:600 34px/1 var(--font-display);color:var(--brique)}
.fact ul{padding-left:1.1em;display:flex;flex-direction:column;gap:var(--space-1)}
.tip{background:var(--fleuve-soft);border-radius:var(--radius-md);padding:var(--space-4) var(--space-6)}
.tip b{color:var(--fleuve)}
.faq{display:flex;flex-direction:column;border-top:1px solid var(--line);max-width:52em}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) 0;font:700 18px/1.4 var(--font-sans)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:400 26px/1 var(--font-sans);color:var(--brique);flex:none;transition:transform .2s ease-out}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .ans{padding:0 0 var(--space-6);max-width:44em;color:var(--ink)}

/* ---------- teaser tiles ---------- */
.tiles{display:grid;gap:var(--space-4);grid-template-columns:1fr}
@media (min-width:720px){.tiles{grid-template-columns:repeat(3,1fr)}}
.tile{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-6);border-radius:var(--radius-md);text-decoration:none;color:var(--ink);background:var(--surface-raised);border:1px solid var(--line);transition:box-shadow .2s ease-out,transform .2s ease-out;min-height:200px}
.tile:hover{box-shadow:var(--shadow-card);transform:translateY(-2px)}
.tile h3{font:600 26px/1.1 var(--font-display)}
.tile .go{margin-top:auto;font:600 14px/20px var(--font-sans);color:var(--brique)}
.tile.dark{background:var(--brique);color:var(--on-brique);border-color:var(--brique)}
.tile.dark .go,.tile.dark .eyebrow{color:var(--on-brique)}
.tile.amber{background:var(--erable-soft);border-color:var(--erable-soft)}

/* ---------- footer ---------- */
footer{background:var(--night);color:var(--on-night);padding-block:var(--space-12) var(--space-8);margin-top:0}
footer .wrap{display:grid;gap:var(--space-8);grid-template-columns:1fr}
@media (min-width:820px){footer .wrap{grid-template-columns:1.4fr 1fr 1fr}}
footer .mark{color:var(--on-night)}
footer p,footer li{font:400 14px/1.55 var(--font-sans);color:var(--on-night-muted)}
footer h4{font:700 12px/16px var(--font-sans);letter-spacing:.1em;text-transform:uppercase;margin-bottom:var(--space-3);color:#f2b53a}
footer ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}
footer a{color:var(--on-night);text-decoration:none}
footer a:hover{text-decoration:underline}
footer .legal{grid-column:1 / -1;border-top:1px solid var(--night-line);padding-top:var(--space-6);display:flex;flex-direction:column;gap:var(--space-2)}

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

/* ---------- own apartment feature ---------- */
.own{display:grid;gap:0;grid-template-columns:1fr;background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}
@media (min-width:900px){.own{grid-template-columns:1fr 1.25fr}}
.own-art{position:relative;min-height:260px;background:var(--surface-sunk)}
.own-art svg,.own-art img{position:absolute;inset:0;width:100%;height:100%!important;object-fit:cover}
.own-body{padding:var(--space-8);display:flex;flex-direction:column;gap:var(--space-4)}
.own-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);padding-block:var(--space-4);border-block:1px solid var(--line)}
.own-facts div{display:flex;flex-direction:column}
.own-facts b{font:600 20px/1.2 var(--font-display)}
.own-facts span{font:500 14px/20px var(--font-sans);color:var(--ink-muted)}

/* ---------- photos ---------- */
.hero-photo{margin:0;display:flex;flex-direction:column;gap:var(--space-2)}
.hero-photo img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--radius-lg);box-shadow:var(--shadow-card);background:var(--surface-sunk)}
.hero-photo figcaption,.gfig figcaption,.own-art figcaption{font:500 13px/18px var(--font-sans);color:var(--ink-muted)}

.hub-grid{display:grid;gap:var(--space-6);grid-template-columns:1fr;align-items:start}
@media (min-width:1100px){.hub-grid{grid-template-columns:4fr 8fr}}
.book-ph{margin:calc(var(--space-6) * -1) calc(var(--space-6) * -1) var(--space-2);aspect-ratio:16/9;overflow:hidden;border-radius:var(--radius-md) var(--radius-md) 0 0;background:var(--surface-sunk)}
.book-ph img{width:100%;height:100%!important;object-fit:cover}
.itin-ph img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--radius-md);background:var(--surface-sunk)}
.itin-ph:empty{display:none}
.own-art{margin:0;min-height:280px}
.own-art figcaption{position:absolute;left:var(--space-4);bottom:var(--space-4);background:rgba(20,23,28,.72);color:#f2ede4;padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);font-size:12px;line-height:16px}
.gallery{display:grid;gap:var(--space-4);grid-template-columns:1fr}
@media (min-width:640px){.gallery{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.gallery{grid-template-columns:repeat(4,1fr);grid-auto-rows:220px}.gfig.g-wide{grid-column:span 3;grid-row:span 2}.gfig.g-tall{grid-row:span 2}}
.gfig{margin:0;display:flex;flex-direction:column;gap:var(--space-2);min-height:0}
.gfig img{width:100%;flex:1;min-height:0;aspect-ratio:3/2;height:auto;object-fit:cover;border-radius:var(--radius-md);background:var(--surface-sunk)}
@media (min-width:1000px){.gfig img{aspect-ratio:auto;height:100%!important}}
.author{display:flex;gap:var(--space-4);align-items:flex-start;margin-top:var(--space-12);padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-raised);max-width:52em}
.author-mark{flex:none;width:48px;height:48px;border-radius:50%;background:var(--brique);color:var(--on-brique);display:grid;place-items:center;font:600 22px/1 var(--font-display)}
.author h3{font:700 18px/1.3 var(--font-sans);margin-bottom:var(--space-1)}
.hub-grid>*{min-width:0}

/* ---------- author + africa ---------- */
.author-body{display:flex;flex-direction:column;gap:var(--space-2)}
.creds{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--space-1);font:400 15px/1.5 var(--font-sans);color:var(--ink-muted)}
.creds b{color:var(--ink)}
.author-links{display:flex;flex-wrap:wrap;gap:var(--space-4);font:600 14px/20px var(--font-sans)}
.author-links a{color:var(--brique);text-decoration:none}
.author-links a:hover{text-decoration:underline}
.africa{background:var(--night);color:var(--on-night)}
.africa .eyebrow{color:#f2b53a}
.africa .title{color:var(--on-night)}
.africa p{color:var(--on-night-muted);max-width:36em}
.africa .af-note{color:var(--on-night)}
.africa .disclose{color:var(--on-night-muted)}
.africa .btn-quiet{color:var(--on-night);border-color:#8a93a3}
.africa .btn-quiet:hover{background:var(--night-line)}
.africa .btn-primary{background:#ef7a5f;color:#14171c}
.africa-grid{display:grid;gap:var(--space-8);grid-template-columns:1fr;align-items:center}
@media (min-width:900px){.africa-grid{grid-template-columns:1fr 1.1fr;gap:var(--space-12)}}
.africa-copy{display:flex;flex-direction:column;gap:var(--space-4)}
.af-mosaic{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:200px 200px;gap:var(--space-3)}
.af-fig{margin:0;min-height:0;min-width:0}
.af-fig:first-child{grid-row:span 2}
.af-fig img{width:100%;height:100%!important;object-fit:cover;border-radius:var(--radius-md)}
@media (max-width:520px){.af-mosaic{grid-template-rows:160px 160px}}

/* ---------- Martin's takes, honest list, food page ---------- */
.take{display:flex;gap:var(--space-2);align-items:flex-start;font:400 14px/20px var(--font-sans);color:var(--ink)}
.take-m{flex:none;width:22px;height:22px;border-radius:50%;background:var(--brique);color:var(--on-brique);display:grid;place-items:center;font:600 12px/1 var(--font-display);margin-top:-1px}
.take b{color:var(--brique)}
.jump{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-4)}
.jump a{font:600 14px/20px var(--font-sans);color:var(--ink);text-decoration:none;border-bottom:2px solid var(--brique);padding-bottom:1px}
.jump a:hover{color:var(--brique)}
.honest{display:grid;gap:var(--space-6);grid-template-columns:1fr}
@media (min-width:900px){.honest{grid-template-columns:repeat(3,1fr)}}
.hon{background:var(--surface-raised);border:1px solid var(--line);border-top:4px solid var(--c);border-radius:var(--radius-md);padding:var(--space-6)}
.hon-yes{--c:var(--m-green)}.hon-maybe{--c:var(--erable)}.hon-skip{--c:var(--brique)}
.hon h3{font:600 24px/1.2 var(--font-display);margin-bottom:var(--space-4)}
.hon ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}
.hon li{display:flex;flex-direction:column}
.hon li b{font:700 16px/1.35 var(--font-sans)}
.hon li span{font:400 14px/1.45 var(--font-sans);color:var(--ink-muted)}
.top-eats{display:grid;gap:var(--space-4);grid-template-columns:1fr}
@media (min-width:700px){.top-eats{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.top-eats{grid-template-columns:repeat(3,1fr)}}
.top-eat{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-2)}
.top-eat.meh{background:var(--surface-sunk)}
.top-eat-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2)}
.top-eat h3{font:600 26px/1.15 var(--font-display)}
.top-eat h3 a{color:var(--ink);text-decoration:none}
.top-eat h3 a:hover{color:var(--brique)}
.top-eat blockquote{margin:0;font:400 17px/1.5 var(--font-sans);color:var(--ink)}
.eat-cats{display:grid;gap:var(--space-6);grid-template-columns:1fr;margin-top:var(--space-6)}
@media (min-width:900px){.eat-cats{grid-template-columns:repeat(2,1fr)}}
.eat-cat{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-6);scroll-margin-top:90px}
.eat-h{font:600 24px/1.2 var(--font-display)!important;margin-bottom:var(--space-3)}
.eat-list{list-style:none;padding:0;display:flex;flex-direction:column}
.eat-item{padding:var(--space-3) 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:2px}
.eat-item:first-child{border-top:0;padding-top:0}
.eat-name{font:700 17px/1.35 var(--font-sans)}
.eat-name a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:3px}
.eat-name a:hover{color:var(--brique);text-decoration-color:var(--brique)}
.eat-item p{font:400 15px/1.5 var(--font-sans)}
.eat-area{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;margin-top:var(--space-1)}
.eat-cat.is-empty{display:none}

/* ---------- SEO additions: byline, key facts, two columns ---------- */
.byline{font:500 14px/20px var(--font-sans);color:var(--ink-muted)}
.byline a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:3px}
.kvs{margin:0;background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-2) var(--space-6)}
.kv{display:grid;grid-template-columns:1fr;gap:2px;padding:var(--space-3) 0;border-top:1px solid var(--line)}
.kv:first-child{border-top:0}
@media (min-width:640px){.kv{grid-template-columns:170px 1fr;gap:var(--space-4)}}
.kv dt{font:700 14px/1.4 var(--font-sans);color:var(--ink)}
.kv dd{margin:0;font:400 15px/1.5 var(--font-sans);color:var(--ink)}
.two-col{display:grid;gap:var(--space-12);grid-template-columns:1fr;align-items:start}
@media (min-width:900px){.two-col{grid-template-columns:1fr 1fr}}
.two-col>*{min-width:0}
