/* pickthetrain: timetable typography, rail green, one colour per train family (red high-speed, blue intercity,
   indigo night). Tokens first; components only ever use tokens. */
:root{
  --paper:#F2F4F1; --card:#FFFFFF; --card-2:#F7F9F7; --ink:#111B17; --muted:#56645D; --faint:#87948E; --line:#D8E0DB;
  --brand:#1F5C4A; --brand-ink:#FFFFFF; --brand-soft:rgba(31,92,74,.10);
  --hs:#C23B2E; --ic:#245FA6; --nt:#4A3A8C; --hs-soft:rgba(194,59,46,.10); --ic-soft:rgba(36,95,166,.10); --nt-soft:rgba(74,58,140,.11);
  --win:#1F7A55; --lose:#9A5B12; --plane:#6B7A86;
  --land:#E3E9E4; --land-2:#D5DED7; --sea:#F2F4F1; --route:#8FA39A;
  --line-2:#C9D4CE; --input:#FFFFFF; --hover:#EEF5F1; --ring:rgba(31,92,74,.18); --menu-shadow:0 14px 36px -12px rgba(17,27,23,.3);
  --sans:"Schibsted Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --shadow:0 1px 2px rgba(17,27,23,.05),0 10px 30px -18px rgba(17,27,23,.25);
  --r:14px;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --paper:#0C1210; --card:#131B18; --card-2:#17211D; --ink:#E3ECE7; --muted:#9AAAA2; --faint:#6D7C75; --line:#24312B;
  --brand:#6FC3A4; --brand-ink:#0C1210; --brand-soft:rgba(111,195,164,.12);
  --hs:#F07A6A; --ic:#7FB0F0; --nt:#A99BF0; --hs-soft:rgba(240,122,106,.13); --ic-soft:rgba(127,176,240,.13); --nt-soft:rgba(169,155,240,.14);
  --win:#6FC3A4; --lose:#E0A04A; --plane:#9AAAB6;
  --land:#1A2420; --land-2:#212D28; --sea:#0C1210; --route:#4E625A;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 10px 30px -18px rgba(0,0,0,.7);
  --line-2:#33443C; --input:#17211D; --hover:#1D2A25; --ring:rgba(111,195,164,.28); --menu-shadow:0 16px 40px -12px rgba(0,0,0,.7);
}}
:root[data-theme="dark"]{
  --paper:#0C1210; --card:#131B18; --card-2:#17211D; --ink:#E3ECE7; --muted:#9AAAA2; --faint:#6D7C75; --line:#24312B;
  --brand:#6FC3A4; --brand-ink:#0C1210; --brand-soft:rgba(111,195,164,.12);
  --hs:#F07A6A; --ic:#7FB0F0; --nt:#A99BF0; --hs-soft:rgba(240,122,106,.13); --ic-soft:rgba(127,176,240,.13); --nt-soft:rgba(169,155,240,.14);
  --win:#6FC3A4; --lose:#E0A04A; --plane:#9AAAB6;
  --land:#1A2420; --land-2:#212D28; --sea:#0C1210; --route:#4E625A;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 10px 30px -18px rgba(0,0,0,.7);
  --line-2:#33443C; --input:#17211D; --hover:#1D2A25; --ring:rgba(111,195,164,.28); --menu-shadow:0 16px 40px -12px rgba(0,0,0,.7);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 var(--sans);-webkit-font-smoothing:antialiased;min-height:100dvh;display:flex;flex-direction:column}
[hidden]{display:none!important}
a{color:inherit}
:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:6px}
.wrap{width:100%;max-width:1160px;margin:0 auto;padding:0 20px}
.mono,.num{font-family:var(--mono);font-variant-numeric:tabular-nums}
main{flex:1}
h1,h2,h3{text-wrap:balance;letter-spacing:-.02em;margin:0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* top bar */
.top{display:flex;align-items:center;gap:18px;padding:18px 0}
.mark{font-weight:800;letter-spacing:-.03em;font-size:1.35rem;text-decoration:none;display:inline-flex;align-items:center;gap:8px}
.mark .word b{color:var(--brand);font-weight:800}
.mark svg{flex:none}
.top nav{margin-left:auto;display:flex;gap:18px;font-size:.92rem}
.top nav a{text-decoration:none;color:var(--muted)}
.top nav a:hover{color:var(--ink)}

/* hero */
.hero{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:28px;align-items:start;padding:18px 0 8px}
.hero h1{font-size:clamp(2.1rem,4.6vw,3.35rem);line-height:1.02;font-weight:800;letter-spacing:-.035em}
.hero h1 em{font-style:normal;color:var(--brand)}
.lede{color:var(--muted);font-size:1.08rem;max-width:44ch;margin:14px 0 22px}
.search{background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:18px;display:grid;gap:12px}
.field{display:flex;flex-direction:column;gap:7px;min-width:0}
.field > label{font:700 11.5px/1 var(--sans);text-transform:uppercase;letter-spacing:.09em;color:var(--faint);padding-left:2px}
.combo{position:relative}
.combo input{font:600 1.02rem var(--sans);color:var(--ink);background:var(--input);border:1.5px solid var(--line-2);border-radius:13px;padding:12px 36px 12px 14px;width:100%}
.combo input::placeholder{color:var(--faint);font-weight:400}
.combo input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px var(--ring)}
.clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:24px;height:24px;border:0;border-radius:50%;background:var(--card-2);color:var(--muted);font-size:15px;line-height:1;cursor:pointer;display:none}
.clear:hover{background:var(--line-2);color:var(--ink)}
.combo.filled .clear{display:block}
.menu{position:absolute;top:calc(100% + 6px);left:0;right:0;min-width:260px;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--menu-shadow);max-height:300px;overflow:auto;z-index:30;padding:6px}
.opt{padding:9px 11px;border-radius:10px;cursor:pointer;display:flex;align-items:baseline;gap:8px}
.opt:hover,.opt.on{background:var(--hover)}
.opt .nm{font-weight:600;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.opt .cc{color:var(--faint);font:600 11.5px var(--mono);flex:none}
.opt .rc{margin-left:auto;color:var(--muted);font:600 12px var(--mono);white-space:nowrap;flex:none}
.opt .rc.t{color:var(--brand)}
.opt.dis .nm,.opt.dis .rc{color:var(--faint);font-weight:500}
.opt i.fam{width:7px;height:7px;border-radius:50%;display:inline-block;flex:none;align-self:center}
.grp{font:700 10.5px var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--faint);padding:9px 11px 4px}
.grp + .opt{margin-top:0}
.sortbar{position:sticky;top:-6px;z-index:1;display:flex;align-items:center;gap:6px;margin:-6px -6px 6px;padding:8px 10px;background:var(--card);border-bottom:1px solid var(--line);font-size:12px;color:var(--faint)}
.sortbar button{border:1px solid var(--line-2);background:var(--input);color:var(--muted);font:600 12px var(--sans);border-radius:8px;padding:3px 9px;cursor:pointer}
.sortbar button.on{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}
.sortbar .cnt{margin-left:auto}
.warn{padding:11px 12px;color:var(--ink);font-size:13.5px;line-height:1.5;background:color-mix(in srgb,var(--lose) 8%,transparent);border:1px solid color-mix(in srgb,var(--lose) 35%,transparent);border-radius:11px;margin:2px}
.warn button{display:inline-block;margin-top:6px;background:none;border:0;color:var(--brand);font:700 13px var(--sans);cursor:pointer;padding:0}
.pair{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:end}
.swap{border:1.5px solid var(--line-2);background:var(--input);border-radius:13px;width:44px;height:47px;cursor:pointer;color:var(--brand);font-size:1.1rem;transition:.12s}
.swap:hover{border-color:var(--brand);background:var(--hover)}
.tools{display:flex;align-items:center;gap:12px;margin-top:-2px}
.conn{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:13px;font-weight:500;cursor:pointer;user-select:none}
.conn input{width:15px;height:15px;accent-color:var(--brand);cursor:pointer;margin:0}
.go{font:700 1rem var(--sans);background:var(--brand);color:var(--brand-ink);border:0;border-radius:13px;padding:13px 16px;cursor:pointer}
.go:hover{filter:brightness(1.08)}
.hint{font-size:.88rem;color:var(--muted);margin:0}
.msg{border:1px dashed var(--line);border-radius:10px;padding:10px 12px;font-size:.95rem;background:var(--card-2)}
.msg a{color:var(--brand);font-weight:600}

/* map */
.mapcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:10px;position:relative;overflow:hidden}
.map{width:100%;height:auto;display:block;touch-action:pan-y;-webkit-user-select:none;user-select:none}
.mapview{position:relative;overflow:hidden;border-radius:10px}
.mapcard.live .map{touch-action:none;cursor:grab}
.mapcard.live .map.grabbing{cursor:grabbing}
.maptabs{display:flex;gap:2px;flex-wrap:wrap;padding:0 2px 8px}
.maptabs button{font:600 12.5px var(--sans);color:var(--muted);background:none;border:0;padding:5px 10px;border-radius:8px;cursor:pointer}
.maptabs button:hover{color:var(--ink);background:var(--card-2)}
.maptabs button.on{color:var(--brand);background:var(--brand-soft)}
.mapzoom{position:absolute;right:10px;bottom:10px;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:var(--shadow);z-index:2}
.mapzoom button{width:32px;height:32px;border:0;background:var(--card);color:var(--brand);font:600 18px var(--sans);line-height:1;cursor:pointer}
.mapzoom button:first-child{border-bottom:1px solid var(--line)}
.mapzoom button:hover{background:var(--hover)}
.mapexplore{position:absolute;left:10px;bottom:10px;z-index:2;font:700 12.5px var(--sans);color:var(--brand);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:7px 12px;box-shadow:var(--shadow);cursor:pointer}
.mapcard.live .mapexplore{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}
.map .pin{cursor:pointer}
.map .pin .hit{fill:transparent}
.map .pin .dot{fill:var(--card);stroke:var(--ink);vector-effect:non-scaling-stroke;stroke-width:1.2}
.map .pin:hover .dot,.map .pin.sel .dot{fill:var(--brand);stroke:var(--brand)}
.map .pin.to .dot{fill:var(--brand);stroke:var(--card)}
.map .pin.dim{opacity:.3}
.map .pin .lbl{fill:var(--ink);font-family:var(--sans);font-weight:700;paint-order:stroke;stroke:var(--card);stroke-linejoin:round;pointer-events:none}
.map .pin.small .lbl{font-weight:600;fill:var(--muted)}
.map .pin.cluster .cdot{fill:var(--brand);stroke:var(--card);vector-effect:non-scaling-stroke;stroke-width:1.5}
.map .pin.cluster .clbl{fill:var(--brand-ink);font-family:var(--mono);font-weight:600;pointer-events:none;stroke:none}
.map .land{fill:var(--land);stroke:var(--card);stroke-width:.8;vector-effect:non-scaling-stroke}
.map .land.on{fill:var(--land-2)}
.map .rt{fill:none;stroke:var(--route);stroke-width:1;stroke-linecap:round;opacity:.42;vector-effect:non-scaling-stroke;transition:opacity .15s,stroke-width .15s}
.map .rt.high-speed{stroke:var(--hs)} .map .rt.intercity{stroke:var(--ic)} .map .rt.night{stroke:var(--nt)}
.map .rt.cur{stroke-dasharray:3 3}
.map.focus .rt{opacity:.08}
.map.focus .rt.lit{opacity:.95;stroke-width:2.2}
.map .city{fill:var(--card);stroke:var(--ink);stroke-width:1.2;cursor:pointer;vector-effect:non-scaling-stroke}
.map .city:hover,.map .city.sel{fill:var(--brand);stroke:var(--brand)}
.map.focus .city.dim{opacity:.35}
.map text{font:700 17px var(--sans);fill:var(--ink);paint-order:stroke;stroke:var(--card);stroke-width:3px;stroke-linejoin:round;pointer-events:none}
.map text.small{font-size:9.5px;font-weight:500;fill:var(--muted)}
.maplegend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--muted);padding:6px 6px 2px}
.maplegend i{display:inline-block;width:14px;height:3px;border-radius:2px;vertical-align:middle;margin-right:6px}
.maptip{position:absolute;pointer-events:none;background:var(--ink);color:var(--card);font:600 12px var(--sans);padding:5px 9px;border-radius:8px;white-space:nowrap;transform:translate(-50%,-130%)}

/* sections */
section.block{padding:34px 0 8px}
section.block > h2{font-size:1.45rem;margin-bottom:6px}
section.block > p.sub{color:var(--muted);margin:0 0 16px;max-width:70ch}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.rcard{display:grid;gap:4px;text-decoration:none;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.rcard:hover{border-color:var(--faint)}
.rcard b{font-size:1.02rem}
.rcard .meta{font-size:.86rem;color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{display:inline-flex;align-items:center;gap:5px;font:600 11px/1 var(--mono);letter-spacing:.03em;text-transform:uppercase;padding:5px 8px;border-radius:999px;background:var(--card-2);border:1px solid var(--line);color:var(--muted);text-decoration:none}
.chip.high-speed{background:var(--hs-soft);color:var(--hs);border-color:transparent}
.chip.intercity{background:var(--ic-soft);color:var(--ic);border-color:transparent}
.chip.night{background:var(--nt-soft);color:var(--nt);border-color:transparent}
.chip.cur{border-style:dashed}
.countries{columns:4 200px;column-gap:24px}
.countries div{break-inside:avoid;margin-bottom:14px}
.countries h3{font:600 11.5px/1.2 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:6px}
.countries a{display:inline-block;margin:0 10px 4px 0;text-decoration:none;border-bottom:1px solid var(--line)}
.countries a:hover{border-color:var(--brand);color:var(--brand)}

/* route page */
.crumbs{font-size:.88rem;color:var(--muted);padding:6px 0 0}
.crumbs a{color:var(--muted)}
.rhead{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap;padding:14px 0 6px}
.rhead h1{font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.05;font-weight:800}
.rhead h1 .arrow{color:var(--brand);font-weight:600}
.rhead .rev{margin-left:auto;font-size:.92rem;color:var(--brand);font-weight:600;text-decoration:none}
.facts{display:flex;flex-wrap:wrap;gap:8px 22px;color:var(--muted);font-size:.95rem;margin:4px 0 18px}
.facts b{color:var(--ink);font-family:var(--mono);font-weight:600}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:22px;align-items:start}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}
.panel h2{font-size:1.1rem;padding:14px 16px 0}
.filters{display:flex;gap:6px;flex-wrap:wrap;padding:12px 16px 0}
.filters button{font:600 12px var(--mono);letter-spacing:.03em;text-transform:uppercase;border:1px solid var(--line);background:var(--card-2);color:var(--muted);border-radius:999px;padding:6px 10px;cursor:pointer}
.filters button[aria-pressed="true"]{background:var(--ink);color:var(--card);border-color:var(--ink)}
.tt{list-style:none;margin:10px 0 0;padding:0}
.tt li{display:grid;grid-template-columns:5px minmax(0,1fr);border-top:1px solid var(--line)}
.tt .bar{background:var(--line)}
.tt li.high-speed .bar{background:var(--hs)} .tt li.intercity .bar{background:var(--ic)} .tt li.night .bar{background:var(--nt)}
.tt .row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px 16px;padding:12px 16px;align-items:center}
.tt .times{font:500 1.28rem/1.1 var(--mono);white-space:nowrap}
.tt .times .to{color:var(--muted)}
.tt .times sup{font-size:.62em;color:var(--nt);margin-left:1px}
.tt .what{min-width:0}
.tt .what b{font-weight:700}
.tt .what .st{font-size:.87rem;color:var(--muted);overflow-wrap:anywhere}
.tt .dur{font:600 .98rem var(--mono);text-align:right;white-space:nowrap}
.tt .dur small{display:block;font:500 .78rem var(--sans);color:var(--muted)}
.tt .days{grid-column:2 / 4;font-size:.84rem;color:var(--muted);display:flex;gap:10px;flex-wrap:wrap}
.tt .days a{color:var(--brand);font-weight:600;text-decoration:none}
.empty{padding:16px;color:var(--muted)}
/* date strip: pick the day you travel, the list shows that day's trains */
.dates{display:flex;gap:6px;overflow-x:auto;padding:12px 16px 4px;scrollbar-width:thin;scroll-padding:0 16px}
.dates button{flex:none;display:grid;justify-items:center;gap:1px;min-width:60px;padding:7px 8px 6px;border:1px solid var(--line);background:var(--card-2);color:var(--ink);border-radius:12px;cursor:pointer;font:inherit}
.dates button:hover{border-color:var(--brand)}
.dates button.wk{margin-left:8px}
.dates b{font:700 10.5px var(--sans);text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
.dates span{font:600 .92rem/1.2 var(--mono);white-space:nowrap}
.dates small{font:500 11px var(--mono);color:var(--faint)}
.dates button.zero span,.dates button.zero b{color:var(--faint)}
.dates button[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}
.dates button[aria-pressed="true"] b,.dates button[aria-pressed="true"] small{color:var(--brand-ink)}
.dates button.all{align-content:center;min-width:0;padding:7px 12px;margin-left:8px}
.dates button.all span{font:600 .85rem var(--sans)}
.daycount{margin:12px 16px 0;font-weight:700}
.daycount button{border:0;background:none;padding:0;color:var(--brand);font:700 1em var(--sans);cursor:pointer}
.tt.dated .runs{display:none}
.maybe{margin:0;padding:10px 16px;font-size:.86rem;color:var(--muted);border-top:1px solid var(--line)}
.maybe a{color:var(--brand);font-weight:600;text-decoration:none}
/* flying instead: picktheflight's nonstop airlines, each booked on its own site */
.fly{border-top:1px solid var(--line);padding-top:12px;display:grid;gap:8px}
.fly h3{font-size:1rem}
.fly ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.fly li{display:grid;gap:1px;font-size:.9rem}
.fly .al{font-weight:600;min-width:0}
.fly .al small{display:block;font-size:.74rem;font-weight:500;color:var(--faint)}
.fly .fnote{font:600 10.5px var(--mono);text-transform:uppercase;letter-spacing:.04em;color:var(--lose);margin-left:3px}
.fly li a,.fly .ptf{color:var(--brand);font-weight:600;text-decoration:none;font-size:.86rem}
.fly .ptf{font-weight:700}
.fly a:hover{text-decoration:underline}
/* where to stay: pickthehotel's pick for the destination, under both panels */
.hotel{margin-top:22px}
.hotel:empty{margin-top:0}                       /* zero-height, not display:none: the lazy loader must still see it */
.hcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:16px 18px}
.hcard.hloading{color:var(--faint);font-weight:500}
.hhead{font-size:1.1rem;font-weight:700;letter-spacing:-.01em;margin-bottom:11px}
.hchips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:13px}
.hchip{font:600 12.5px var(--sans);color:var(--muted);background:var(--card-2);border:1px solid var(--line);border-radius:999px;padding:6px 11px;cursor:pointer}
.hchip:hover{border-color:var(--brand)}
.hchip.on{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}
.hpick{transition:opacity .15s}
.hn{font-weight:700;font-size:1.05rem}
.hmeta{color:var(--muted);font-size:.9rem;margin-top:3px}
.hmeta b{color:var(--ink)}
.hst{color:var(--lose);letter-spacing:1px}
.hlink{display:inline-block;margin-top:12px;color:var(--brand);font-weight:700;font-size:.9rem;text-decoration:none}
.hlink:hover{text-decoration:underline}
.curated{margin:14px 16px 16px;border:1px dashed var(--line);border-radius:12px;padding:12px 14px;background:var(--card-2)}
.curated b{display:block}
.curated p{margin:4px 0 0;font-size:.92rem;color:var(--muted)}
.curated .lbl{font:600 11px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--lose)}
.note{font-size:.86rem;color:var(--muted);padding:10px 16px 16px}

/* door to door */
.d2d{padding:14px 16px 16px;display:grid;gap:12px}
.d2d .verdict{font-size:1.25rem;font-weight:800;letter-spacing:-.02em;line-height:1.2}
.d2d .verdict.win{color:var(--win)} .d2d .verdict.lose{color:var(--lose)}
.d2d .pick{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.d2d select{font:500 .9rem var(--sans);width:100%;padding:8px;border-radius:9px;border:1px solid var(--line);background:var(--card-2);color:var(--ink)}
.bars{display:grid;gap:10px}
.lane .lh{display:flex;justify-content:space-between;font-size:.9rem;margin-bottom:4px}
.lane .lh b{font-family:var(--mono)}
.lane .seg{display:flex;height:14px;border-radius:7px;overflow:hidden;background:var(--line)}
.lane .seg i{display:block;height:100%}
.lane.train .seg i{background:color-mix(in srgb,var(--brand) 38%,transparent)} .lane.train .seg i.main{background:var(--brand)}
.lane.plane .seg i{background:color-mix(in srgb,var(--plane) 35%,transparent)} .lane.plane .seg i.main{background:var(--plane)}
.lane ul{list-style:none;margin:6px 0 0;padding:0;font-size:.8rem;color:var(--muted);display:grid;gap:1px}
.lane li{display:flex;justify-content:space-between;gap:8px}
.small{font-size:.82rem;color:var(--muted)}

/* from page */
.dest{list-style:none;margin:0;padding:0}
.dest li{border-top:1px solid var(--line)}
.dest a{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:11px 16px;text-decoration:none}
.dest a:hover{background:var(--card-2)}
.dest .n{font:600 1.02rem var(--sans)}
.dest .n small{color:var(--muted);font-weight:500;margin-left:6px}
.dest .t{font:600 .98rem var(--mono)}

/* prose pages */
.prose{max-width:72ch;padding:10px 0 30px}
.prose h1{font-size:2.1rem;margin:10px 0 12px}
.prose h2{font-size:1.25rem;margin:26px 0 8px}
.prose p,.prose li{color:var(--ink)}
.prose table{border-collapse:collapse;width:100%;font-size:.92rem;margin:10px 0}
.prose th,.prose td{text-align:left;padding:7px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.prose th{font:600 11.5px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.tablewrap{overflow-x:auto}
.prose code{font-family:var(--mono);font-size:.9em;background:var(--card-2);border:1px solid var(--line);border-radius:6px;padding:1px 5px}

footer.site{margin-top:40px;border-top:1px solid var(--line);padding:22px 0 30px;font-size:12.5px;color:var(--muted)}
footer.site .links{display:flex;flex-wrap:wrap;gap:6px 16px;margin-bottom:8px}
footer.site a{color:inherit}
.cookie{position:fixed;left:50%;transform:translateX(-50%);bottom:16px;z-index:50;max-width:min(640px,calc(100vw - 24px));display:flex;gap:12px;align-items:center;
  background:var(--ink);color:var(--card);padding:10px 12px 10px 16px;border-radius:12px;font-size:13px;box-shadow:var(--shadow)}
.cookie a{color:inherit}
.cookie button{flex:none;border:0;border-radius:9px;padding:7px 14px;font:700 13px var(--sans);background:var(--brand);color:var(--brand-ink);cursor:pointer}

@media (max-width:920px){.hero{grid-template-columns:1fr}.layout{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){.wrap{padding:0 16px}.top nav{gap:12px;font-size:.88rem}.top nav a.wide{display:none}.pair{grid-template-columns:1fr}.swap{justify-self:center;transform:rotate(90deg);height:40px}
  .tt .row{grid-template-columns:minmax(0,1fr) auto}.tt .what{grid-column:1 / 3;grid-row:2}.tt .days{grid-column:1 / 3}.countries{columns:2}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
