:root{ --bg:#141a11;--bg2:#1b2217;--surface:#242d1e;--surface2:#313c28;--line:#4a5a3a;--ink:#f4f7ec;--ink2:#d2dbc0;--ink3:#adba97;--accent:#e8604a;--accent-lt:#ff9c86;--accent-dk:#a8351f;--sky:#9ad14f;--sky-dk:#5c8a26;--grass:#9ad14f;--dirt:#b98b4e;--dirt-dk:#7d5b2c;--stone:#a8b39a;--diamond:#bfe08a;--emerald:#6fc281;--tnt:#f0a13a;--tnt-ink:#ffbb6b;--on-accent:#151f2b;--bw:2px;--r:10px;--r-lg:22px;--sh-block:0 16px 30px -16px rgba(6,10,4,.8);--h1-max:46px;--h2-max:30px;--h1-measure:none;--font-display:"Shrikhand","Trebuchet MS",Impact,sans-serif;--font-ui:"DM Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;--font-body:"Lato",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif }

html{ color-scheme:dark }

*,*::before,*::after{ box-sizing:border-box }

html{ -webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:84px }

body,h1,h2,h3,h4,p,ul,ol,figure,dl,dd{ margin:0 }

ul,ol{ padding:0;list-style:none }

img,svg,video{ display:block;max-width:100% }

img{ height:auto }

button,input,select,textarea{ font:inherit;color:inherit }

a{ color:inherit }

table{ border-collapse:collapse }

body{ margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.68;font-weight:400;overflow-x:hidden;-webkit-font-smoothing:antialiased;background-image: radial-gradient(900px 420px at 88% -8%, color-mix(in srgb, var(--sky) 15%, transparent), transparent 70%), radial-gradient(760px 380px at 4% 2%, color-mix(in srgb, var(--accent) 8%, transparent), transparent 72%);background-repeat:no-repeat }

::selection{ background:var(--accent);color:var(--on-accent) }

.em-jump{ position:absolute;left:-9999px;top:0;z-index:200;background:var(--accent);color:var(--on-accent);padding:12px 20px;font-family:var(--font-ui);font-size:13px;letter-spacing:.05em }

.em-jump:focus{ left:12px;top:12px }

:where(a,button,summary,[tabindex]):focus-visible{ outline:3px solid var(--diamond);outline-offset:3px;border-radius:2px }

/* ---------- layout ---------- */ .em-plot{ width:min(100% - 32px, 1240px);margin-inline:auto }

.em-plot-narrow{ width:min(100% - 32px, 980px);margin-inline:auto }

main{ display:block }

/* ---------- pixel primitives ---------- */ .em-treeline{ height:26px;width:100%;position:relative;background: linear-gradient(var(--grass) 0 9px, transparent 9px), repeating-linear-gradient(90deg,var(--dirt) 0 12px,var(--dirt-dk) 12px 24px);border-top:3px solid color-mix(in srgb, var(--grass) 70%, #000);image-rendering:pixelated }

.em-treeline::after{ content:"";position:absolute;left:0;right:0;top:9px;height:4px;background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--grass) 65%,#000) 0 6px,transparent 6px 12px) }

.em-treeline--line{ height:34px;background:none;border-top:0;position:relative;display:grid;place-items:center }

.em-treeline--line::before{ content:"";position:absolute;left:0;right:0;top:50%;height:2px;background:repeating-linear-gradient(90deg,var(--line) 0 14px,transparent 14px 22px) }

.em-daxo{ position:relative;width:16px;height:16px;border:3px solid var(--accent);border-radius:50%;background:var(--bg) }

.em-treeline--wave{ height:auto;background:none;border-top:0;line-height:0 }

.em-treeline--wave::after{ content:none }

.em-treeline--wave svg{ width:100%;height:52px;display:block }

.em-cuho{ fill:var(--surface) }

.em-wexo{ fill:none;stroke:var(--sky);stroke-width:3;vector-effect:non-scaling-stroke;opacity:.85 }

/* ---------- buttons ---------- */ .em-goahead{ border-radius:var(--r);--btn-bg:var(--accent);--btn-ink:var(--on-accent);--btn-edge:var(--accent-dk);display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--font-ui);font-weight:400;font-size:13.5px;letter-spacing:.045em;line-height:1.15;padding:16px 26px 17px;text-decoration:none;cursor:pointer;background:var(--btn-bg);color:var(--btn-ink);border:0;border-bottom:5px solid var(--btn-edge);box-shadow:inset 0 3px 0 rgba(255,255,255,.32), inset 0 -3px 0 rgba(0,0,0,.12);transition:transform .12s ease, filter .12s ease;text-align:center }

.em-goahead:hover{ filter:brightness(1.08) }

.em-goahead:active{ transform:translateY(3px);border-bottom-width:2px }

.em-goahead svg{ width:19px;height:19px;flex:none }

.em-goahead--ghost{ --btn-bg:transparent;--btn-ink:var(--ink);--btn-edge:transparent;border:var(--bw) solid var(--line);box-shadow:none;padding:13px 22px }

.em-goahead--ghost:hover{ border-color:var(--accent);color:var(--accent);filter:none }

.em-goahead--ghost:active{ transform:translateY(2px) }

.em-goahead--sm{ font-size:11.5px;padding:12px 16px 13px;border-bottom-width:4px }

.em-goahead--wide{ width:100% }

/* ---------- header ---------- */ .em-signpost{ position:sticky;top:0;z-index:90;background:color-mix(in srgb, var(--bg2) 92%, transparent);backdrop-filter:blur(10px);border-bottom:var(--bw) solid var(--line) }

.em-signpost-row{ display:flex;align-items:center;gap:18px;min-height:70px }

.em-emblem{ display:flex;align-items:center;gap:11px;text-decoration:none;flex:0 1 auto;min-width:0 }

.em-emblem-icon{ width:38px;height:38px;flex:none;image-rendering:pixelated }

.em-emblem-name{ font-family:var(--font-display);font-size:clamp(17px,4.8vw,26px);color:var(--accent);letter-spacing:.005em;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis }

.em-route{ margin-left:auto;display:none }

.em-route ul{ display:flex;align-items:center;gap:2px }

.em-route a{ display:block;padding:9px 11px;text-decoration:none;font-size:14px;font-weight:500;color:var(--ink2);border-bottom:3px solid transparent;transition:color .15s,border-color .15s;white-space:nowrap }

.em-route a:hover{ color:var(--ink) }

.em-route a[aria-current="page"]{ color:var(--accent);border-bottom-color:var(--accent) }

.em-signpost-cta{ display:none;flex:none }

.em-buckle{ border-radius:var(--r);margin-left:auto;width:46px;height:42px;background:var(--surface);border:var(--bw) solid var(--line);display:grid;place-items:center;cursor:pointer;padding:0 }

.em-buckle span{ display:block;width:20px;height:3px;background:var(--ink);box-shadow:0 -7px 0 var(--ink),0 7px 0 var(--ink);transition:.2s }

.em-buckle[aria-expanded="true"] span{ background:transparent;box-shadow:0 0 0 transparent }

.em-buckle[aria-expanded="true"]::before,.em-buckle[aria-expanded="true"]::after{ content:"";position:absolute;width:22px;height:3px;background:var(--accent) }

.em-buckle[aria-expanded="true"]::before{ transform:rotate(45deg) }

.em-buckle[aria-expanded="true"]::after{ transform:rotate(-45deg) }

.em-buckle{ position:relative }

.em-pack{ border-top:var(--bw) solid var(--line);background:var(--bg2) }

.em-pack[hidden]{ display:none }

.em-pack ul{ display:grid;grid-template-columns:1fr 1fr;gap:0 }

.em-pack li:last-child:nth-child(odd){ grid-column:1 / -1 }

.em-pack nav a{ display:block;padding:14px 12px;text-decoration:none;font-size:14.5px;font-weight:500;color:var(--ink2);border-bottom:1px solid var(--line);border-right:1px solid var(--line) }

.em-pack li:last-child:nth-child(odd) a{ border-right:0 }

.em-pack nav a[aria-current="page"]{ color:var(--accent) }

.em-pack-cta{ padding:16px }

/* ---------- hero ---------- */ .em-vista{ position:relative;overflow:hidden;border-bottom:var(--bw) solid var(--line) }

.em-vista::before{ content:"";position:absolute;inset:0;background: linear-gradient(180deg, color-mix(in srgb,var(--sky) 22%,transparent) 0%, transparent 45%), repeating-linear-gradient(90deg, color-mix(in srgb,var(--line) 45%,transparent) 0 1px, transparent 1px 44px), repeating-linear-gradient(0deg, color-mix(in srgb,var(--line) 45%,transparent) 0 1px, transparent 1px 44px);opacity:.5;pointer-events:none }

.em-vista-row{ position:relative;display:grid;gap:30px;padding:38px 0 44px }

.em-vista-copy{ min-width:0 }

.em-lilo{ min-width:0 }

.em-lilo .em-vista-cta{ margin-top:0 }

.em-vista-row--art-wide .em-vista-art img{ width:100% }

.em-vista-row--art-wide .em-vista-offer{ right:auto;left:0 }

/* The wide band centres its copy; the art is capped near its intrinsic width so a small source asset is never upscaled into mush. */ .em-vista-row--art-wide .em-vista-art{ max-width:var(--hero-art-max,820px);margin-inline:auto;width:100% }

.em-vista h1{ font-family:var(--font-display);font-weight:400;font-size:clamp(32px,6.4vw,var(--h1-max));line-height:1.04;letter-spacing:.002em;margin:16px 0 0;text-wrap:balance }

.em-vista h1{ max-width:var(--h1-measure,none) }

.em-vista h1 .em-spark{ color:var(--accent) }

.em-vista-lede{ margin-top:16px;font-size:clamp(16px,2.3vw,18.5px);color:var(--ink2);max-width:56ch }

.em-vista-cta{ display:flex;flex-wrap:wrap;gap:12px;margin-top:26px }

.em-vista-note{ margin-top:14px;font-size:12.5px;color:var(--ink3);display:flex;align-items:flex-start;gap:7px }

.em-vista-note svg{ width:14px;height:14px;flex:none;margin-top:3px }

.em-vista-art{ position:relative }

.em-vista-art .em-lens{ border-radius:var(--r-lg);overflow:hidden;border:var(--bw) solid var(--line);background:var(--bg2);box-shadow:var(--sh-block);position:relative;overflow:hidden }

.em-vista-art img{ width:100%;image-rendering:pixelated }

.em-vista-art--portrait .em-lens{ display:grid;place-items:center;padding:20px;background:var(--bg2) }

.em-vista-art--portrait img{ width:auto;max-width:100%;max-height:min(58vh,430px) }

.em-vista-art .em-lens::after{ content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 62%, color-mix(in srgb,var(--bg) 78%,transparent)) }

.em-vista-offer{ border-radius:var(--r);position:absolute;right:-6px;bottom:-14px;z-index:2;background:var(--accent);color:var(--on-accent);border-bottom:5px solid var(--accent-dk);padding:11px 15px 12px;font-family:var(--font-display);line-height:1.05;box-shadow:var(--sh-block) }

.em-vista-offer b{ display:block;font-size:27px;font-weight:400;line-height:1 }

.em-vista-offer span{ display:block;font-family:var(--font-ui);font-size:9px;letter-spacing:.1em;text-transform:uppercase;opacity:.85;margin-top:6px }

.em-vista-offer.em-vista-offer--bottom-left{ right:auto;left:-6px }

.em-vista-offer.em-vista-offer--top-left{ right:auto;bottom:auto;left:-6px;top:-14px }

.em-vista-offer.em-vista-offer--top-right{ bottom:auto;top:-14px }

/* ---------- fact strip ---------- */ .em-readout{ background:var(--bg2);border-bottom:var(--bw) solid var(--line) }

.em-readout--strip .em-readout-grid{ display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-left:1px solid var(--line);border-right:1px solid var(--line) }

.em-readout-item{ padding:20px 16px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);display:flex;align-items:center;gap:13px;min-width:0 }

.em-readout--strip .em-readout-item:nth-child(2n){ border-right:0 }

.em-readout-icon{ border-radius:var(--r);width:42px;height:42px;flex:none;display:grid;place-items:center;border:max(2px, calc(var(--bw) - 1px)) solid var(--line);background:var(--surface) }

.em-readout-icon svg{ width:22px;height:22px }

.em-readout-body{ min-width:0 }

.em-readout-label{ display:block;font-family:var(--font-ui);font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink3) }

.em-readout-value{ display:block;font-family:var(--font-display);font-size:24px;color:var(--ink);line-height:1.15;margin-top:6px;overflow-wrap:break-word;hyphens:auto }

.em-readout-value.em-hue-lantern{ color:var(--accent) }

.em-readout-value.em-hue-frost{ color:var(--diamond) }

.em-readout-value.em-hue-moss{ color:var(--emerald) }

.em-readout--cards{ background:transparent;border-bottom:0;padding:26px 0 4px }

.em-readout--cards .em-readout-grid{ display:grid;grid-template-columns:repeat(2,1fr);gap:12px;border:0 }

.em-readout--cards .em-readout-item{ flex-direction:column;align-items:flex-start;gap:10px;padding:16px 15px;border:var(--bw) solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--sh-block) }

.em-readout--cards .em-readout-item .em-readout-label,.em-readout--cards .em-readout-item .em-readout-value{ display:block }

.em-readout--cards .em-readout-value{ margin-top:2px }

.em-readout--list{ background:var(--bg2);border-bottom:var(--bw) solid var(--line);padding:6px 0 }

.em-readout--list .em-readout-grid{ display:grid;grid-template-columns:1fr;gap:0 34px;border:0 }

.em-readout--list .em-readout-item{ display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:12px;padding:13px 2px;border:0;border-bottom:1px dashed var(--line) }

.em-readout--list .em-readout-item:last-child{ border-bottom:0 }

@media (min-width:760px) {
  .em-readout--list .em-readout-grid{ grid-template-columns:1fr 1fr }
  }
@media (min-width:760px) {
  .em-readout--list .em-readout-item:nth-last-child(2){ border-bottom:0 }
  }
@media (min-width:760px) {}

.em-readout--list .em-readout-icon{ width:34px;height:34px;border:0;background:transparent;color:var(--accent) }

.em-readout--list .em-readout-icon svg{ width:20px;height:20px }

.em-readout--list .em-readout-label{ font-family:var(--font-ui);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3) }

.em-readout--list .em-readout-value{ margin:0;font-family:var(--font-display);font-size:19px;color:var(--ink);text-align:right;line-height:1.2 }

/* ---------- page shell ---------- */ .em-basecamp{ display:grid;gap:34px;padding:38px 0 56px;align-items:start }

/* Long compounds (Finnish, German, Dutch) blow past a 320px column otherwise. `hyphens` needs the document language, which the head already declares. */ .em-vista h1,.em-logbook h2,.em-logbook h3,.em-asked-q,.em-itinerary-list a,.em-ruse{ overflow-wrap:break-word;hyphens:auto }

/* ---------- prose ---------- */ .em-logbook{ min-width:0;font-size:16.5px }

.em-logbook > * + *{ margin-top:19px }

.em-logbook h2{ font-family:var(--font-display);font-weight:400;font-size:clamp(25px,3.7vw,var(--h2-max));line-height:1.16;letter-spacing:.004em;margin-top:52px;padding-top:4px;position:relative;padding-left:26px;text-wrap:balance;scroll-margin-top:90px }

.em-logbook h2::before{ content:"";position:absolute;left:0;top:.42em;width:14px;height:14px;background:var(--accent);box-shadow:0 -8px 0 -3px var(--sky), 0 8px 0 -3px var(--emerald) }

.em-logbook h3{ font-family:var(--font-body);font-weight:700;font-size:clamp(18px,2.6vw,21px);line-height:1.32;margin-top:34px;color:var(--ink);text-wrap:balance;scroll-margin-top:90px }

.em-logbook h2 + h3, .em-logbook h2 + p, .em-logbook h2 + ul, .em-logbook h2 + ol, .em-logbook h2 + .em-chart{ border-radius:var(--r-lg);margin-top:17px }

.em-logbook p{ color:var(--ink2) }

.em-logbook strong{ color:var(--ink);font-weight:600 }

.em-logbook .em-preface{ font-size:17px;color:var(--ink);font-weight:600;border-left:4px solid var(--accent);padding-left:14px }

.em-logbook ul{ display:grid;gap:11px }

.em-logbook ul > li{ position:relative;padding-left:29px;color:var(--ink2) }

.em-logbook ul > li::before{ content:"";position:absolute;left:2px;top:.56em;width:11px;height:11px;background:var(--sky);box-shadow:inset 0 2px 0 rgba(255,255,255,.35) }

.em-logbook ul > li > ul{ margin-top:10px }

.em-logbook ul > li > ul > li::before{ background:var(--stone) }

.em-logbook li p{ margin-top:8px }

.em-logbook ol{ counter-reset:step;display:grid;gap:15px }

.em-logbook ol > li{ position:relative;padding-left:48px;counter-increment:step;color:var(--ink2) }

.em-logbook ol > li::before{ content:counter(step);position:absolute;left:0;top:0;width:33px;height:33px;display:grid;place-items:center;font-family:var(--font-ui);font-size:13px;background:var(--surface2);color:var(--accent);border:max(2px, calc(var(--bw) - 1px)) solid var(--line) }

.em-logbook ol > li > ul{ margin-top:11px }

.em-chart{ overflow-x:auto;border:var(--bw) solid var(--line);background:var(--surface);box-shadow:var(--sh-block);-webkit-overflow-scrolling:touch;background-image: linear-gradient(to right, var(--surface), color-mix(in srgb, var(--surface) 0%, transparent)), linear-gradient(to left, var(--surface), color-mix(in srgb, var(--surface) 0%, transparent)), linear-gradient(to right, rgba(0,0,0,.42), rgba(0,0,0,0)), linear-gradient(to left, rgba(0,0,0,.42), rgba(0,0,0,0));background-position:0 0, 100% 0, 0 0, 100% 0;background-repeat:no-repeat;background-size:26px 100%, 26px 100%, 14px 100%, 14px 100%;background-attachment:local, local, scroll, scroll }

.em-chart table{ width:100%;min-width:520px;font-size:15px }

.em-chart th,.em-chart td{ padding:12px 15px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top }

.em-chart thead th{ background:var(--surface2);color:var(--ink);font-family:var(--font-ui);font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;border-bottom:var(--bw) solid var(--line);position:sticky;top:0;white-space:nowrap }

.em-chart tbody tr:last-child td{ border-bottom:0 }

.em-chart tbody tr:nth-child(even){ background:color-mix(in srgb,var(--surface2) 45%,transparent) }

.em-chart td{ color:var(--ink2) }

.em-chart td:first-child{ color:var(--ink);font-weight:500 }

.em-chart td strong{ color:var(--accent);font-weight:600 }

.em-chart-hint{ display:none;align-items:center;gap:6px;margin-top:8px;font-size:12px;color:var(--ink3) }

html:not(.em-js) .em-chart-hint{ display:flex }

.em-chart.em-slides + .em-chart-hint{ display:flex }

.em-chart-hint svg{ width:13px;height:13px }

/* ---------- faq ---------- */ .em-asked{ display:grid;gap:10px;margin-top:20px }

.em-asked-item{ border-radius:var(--r);border:var(--bw) solid var(--line);background:var(--surface) }

.em-asked-q{ margin:0;font-family:var(--font-body);font-size:16.5px;font-weight:600;line-height:1.45 }

.em-asked-toggle{ width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;background:none;border:0;padding:16px 17px;text-align:left;cursor:pointer;color:var(--ink);font:inherit }

.em-asked-toggle:hover{ color:var(--accent) }

.em-asked-icon{ width:26px;height:26px;flex:none;position:relative;border:max(2px, calc(var(--bw) - 1px)) solid var(--line);background:var(--surface2);transition:.18s }

.em-asked-icon::before,.em-asked-icon::after{ content:"";position:absolute;background:var(--accent);left:50%;top:50%;transform:translate(-50%,-50%) }

.em-asked-icon::before{ width:11px;height:3px }

.em-asked-icon::after{ width:3px;height:11px;transition:opacity .18s }

.em-asked-toggle[aria-expanded="true"] .em-asked-icon{ background:var(--accent);border-color:var(--accent) }

.em-asked-toggle[aria-expanded="true"] .em-asked-icon::before{ background:var(--on-accent) }

.em-asked-toggle[aria-expanded="true"] .em-asked-icon::after{ opacity:0 }

.em-asked-a{ padding:0 17px 17px;border-top:1px solid var(--line);padding-top:15px }

.em-asked-a > * + *{ margin-top:14px }

.em-asked-a p{ color:var(--ink2);font-size:15.5px }

.em-asked-a[hidden]{ display:none }

details.em-asked-item summary{ list-style:none;cursor:pointer }

details.em-asked-item summary::-webkit-details-marker{ display:none }

details.em-asked-item .em-asked-toggle{ display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 17px;color:var(--ink) }

details.em-asked-item .em-asked-q{ margin:0;font-family:var(--font-body);font-size:16.5px;font-weight:600;line-height:1.45 }

details.em-asked-item summary:hover .em-asked-q{ color:var(--accent) }

details.em-asked-item[open] .em-asked-icon{ background:var(--accent);border-color:var(--accent) }

details.em-asked-item[open] .em-asked-icon::before{ background:var(--on-accent) }

details.em-asked-item[open] .em-asked-icon::after{ opacity:0 }

details.em-asked-item .em-asked-a{ padding:0 17px 17px;border-top:1px solid var(--line);padding-top:15px }

/* ---------- sidebar ---------- */ .em-sidetrail{ display:grid;gap:20px;min-width:0 }

.em-locker{ border-radius:var(--r-lg);border:var(--bw) solid var(--line);background:var(--surface);box-shadow:var(--sh-block) }

.em-locker-head{ padding:13px 16px;border-bottom:var(--bw) solid var(--line);background:var(--surface2);font-family:var(--font-ui);font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink);display:flex;align-items:center;gap:9px }

.em-locker-head svg{ width:17px;height:17px;color:var(--accent) }

.em-locker-body{ padding:16px }

.em-cache{ border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent), var(--sh-block) }

.em-cache .em-locker-head{ background:var(--accent);color:var(--on-accent);border-bottom-color:var(--accent-dk) }

.em-cache .em-locker-head svg{ color:var(--on-accent) }

.em-cache-value{ font-family:var(--font-display);font-size:clamp(30px,4.6vw,38px);color:var(--accent);line-height:1.06 }

.em-cache-extra{ font-family:var(--font-display);font-size:21px;color:var(--ink);margin-top:6px;line-height:1.1 }

.em-cache-terms{ font-size:12px;color:var(--ink3);margin-top:12px;line-height:1.5 }

.em-cache .em-goahead{ margin-top:15px }

.em-fieldnotes dl{ display:grid;gap:0 }

.em-fieldnotes .em-line{ display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px dashed var(--line) }

.em-fieldnotes .em-line:last-child{ border-bottom:0 }

.em-fieldnotes dt{ font-size:13px;color:var(--ink3);letter-spacing:.03em }

.em-fieldnotes dd{ margin:0;font-family:var(--font-display);font-size:18px;color:var(--ink);text-align:right;line-height:1.25 }

/* ---------- page contents ---------- */ .em-itinerary{ background:var(--bg2);border-bottom:var(--bw) solid var(--line);padding:18px 0 20px }

.em-itinerary-head{ display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:34px }

.em-itinerary-title{ display:flex;align-items:center;gap:9px;font-family:var(--font-ui);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink2) }

.em-itinerary-title svg{ width:16px;height:16px;color:var(--accent);flex:none }

.em-itinerary-toggle{ border-radius:var(--r);display:none;align-items:center;gap:10px;cursor:pointer;background:var(--surface);border:max(2px, calc(var(--bw) - 1px)) solid var(--line);padding:8px 12px;font-family:var(--font-ui);font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink2) }

.em-itinerary-toggle:hover{ border-color:var(--accent);color:var(--accent) }

.em-itinerary-icon{ width:16px;height:16px;flex:none;position:relative }

.em-itinerary-icon::before,.em-itinerary-icon::after{ content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--accent) }

.em-itinerary-icon::before{ width:11px;height:3px }

.em-itinerary-icon::after{ width:3px;height:11px;transition:opacity .18s }

.em-itinerary-toggle[aria-expanded="true"] .em-itinerary-icon::after{ opacity:0 }

.em-itinerary-list{ counter-reset:pn;display:grid;grid-template-columns:1fr;gap:2px;margin-top:14px }

.em-itinerary-list li{ counter-increment:pn;min-width:0 }

.em-itinerary-list a{ display:flex;gap:11px;padding:9px 11px;text-decoration:none;font-size:14px;line-height:1.4;color:var(--ink2);border-left:3px solid transparent;transition:color .15s,background .15s,border-color .15s }

.em-itinerary-list a::before{ content:counter(pn,decimal-leading-zero);font-family:var(--font-ui);font-size:10px;color:var(--ink3);flex:none;padding-top:3px }

.em-itinerary-list a:hover{ color:var(--accent);background:var(--surface);border-left-color:var(--accent) }

.em-itinerary-list a.em-standing{ color:var(--accent);background:var(--surface);border-left-color:var(--accent) }

/* ---------- in-content promo band ---------- */ .em-beacon{ border-radius:var(--r-lg);position:relative;overflow:hidden;border:3px solid var(--accent);background:linear-gradient(135deg,var(--surface2),var(--surface));padding:24px 22px;display:grid;gap:18px;box-shadow:var(--sh-block) }

.em-beacon::before{ content:"";position:absolute;inset:0;opacity:.16;pointer-events:none;background:repeating-linear-gradient(45deg,var(--accent) 0 8px,transparent 8px 24px) }

.em-beacon > *{ position:relative }

.em-beacon-title{ font-family:var(--font-display);font-size:clamp(24px,3.6vw,30px);line-height:1.14;color:var(--ink) }

.em-beacon-title em{ font-style:normal;color:var(--accent) }

.em-beacon-text{ font-size:15px;color:var(--ink2);margin-top:8px }

.em-beacon-terms{ font-size:11.5px;color:var(--ink3);margin-top:11px }

/* ---------- pickaxe tier strip ---------- */ .em-dazi{ display:grid;grid-template-columns:1fr;gap:12px }

@media (min-width:400px) {
  .em-dazi{ grid-template-columns:repeat(2,1fr) }
  }
@media (min-width:400px) {}

.em-badgecard{ min-width:0;border-radius:var(--r);border:var(--bw) solid var(--line);background:var(--surface);padding:15px 14px;text-align:center }

.em-badgecard-icon{ border-radius:var(--r);display:grid;place-items:center;width:52px;height:52px;margin:0 auto 12px;border:max(2px, calc(var(--bw) - 1px)) solid var(--line);background:var(--surface2) }

.em-badgecard-icon svg{ width:30px;height:30px }

.em-badgecard-name{ font-family:var(--font-display);font-size:20px;line-height:1.1 }

.em-badgecard-meter{ display:flex;gap:3px;margin-top:11px;justify-content:center }

.em-badgecard-meter i{ display:block;width:11px;height:11px;background:var(--line) }

.em-badgecard-meter i.em-earned{ background:var(--tnt) }

.em-badgecard-note{ font-size:12px;color:var(--ink3);margin-top:9px;line-height:1.45;display:block }

.em-badgecard--wood{ color:#c08c53 }

.em-badgecard--stone{ color:var(--stone) }

.em-badgecard--iron{ color:#dfe6ee }

.em-badgecard--diamond{ color:var(--diamond) }

.em-badgecard-name{ color:currentColor }

.em-badgecard-icon{ color:currentColor }

/* ---------- gallery ---------- */ .em-snapshots{ display:grid;gap:14px;grid-template-columns:1fr;align-items:start }

.em-snapshot{ border-radius:var(--r-lg);border:var(--bw) solid var(--line);background:var(--bg2);box-shadow:var(--sh-block);overflow:hidden }

.em-snapshot img{ width:100%;image-rendering:pixelated }

.em-snapshot figcaption{ padding:11px 14px;font-size:12.5px;color:var(--ink3);border-top:1px solid var(--line) }

/* ---------- footer ---------- */ .em-groundwork{ background:var(--bg2);border-top:var(--bw) solid var(--line);padding:42px 0 0;font-size:14.5px }

.em-groundwork-grid{ display:grid;gap:30px;grid-template-columns:1fr }

.em-groundwork-col h2{ font-family:var(--font-ui);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink);margin-bottom:14px }

.em-groundwork-col ul{ display:grid;gap:9px }

.em-groundwork-col a{ color:var(--ink3);text-decoration:none;transition:color .15s }

.em-groundwork-col a:hover{ color:var(--accent) }

.em-pouch{ display:flex;flex-wrap:wrap;gap:8px }

.em-pouch span{ border-radius:var(--r);border:max(2px, calc(var(--bw) - 1px)) solid var(--line);background:var(--surface);padding:7px 11px;font-family:var(--font-ui);font-size:9.5px;letter-spacing:.05em;color:var(--ink3) }

.em-carefully{ margin-top:34px;border-top:1px solid var(--line);padding:24px 0;display:grid;gap:16px;align-items:center }

.em-carefully-chips{ display:flex;flex-wrap:wrap;gap:9px;align-items:center }

.em-carefully-chip{ border-radius:var(--r);display:inline-flex;align-items:center;gap:7px;border:max(2px, calc(var(--bw) - 1px)) solid var(--line);padding:7px 12px;font-size:12px;color:var(--ink2);background:var(--surface) }

.em-carefully-chip b{ font-family:var(--font-ui);color:var(--tnt-ink);font-size:12px;letter-spacing:.04em }

.em-carefully-chip svg{ width:15px;height:15px;color:var(--ink3) }

.em-carefully p{ color:var(--ink3);font-size:13px;line-height:1.6 }

.em-carefully a{ color:var(--ink2) }

.em-groundwork-bottom{ border-top:1px solid var(--line);padding:18px 0 30px;color:var(--ink3);font-size:12.5px;display:grid;gap:8px }

/* ---------- sticky mobile CTA ---------- */ .em-railbar{ position:fixed;left:0;right:0;bottom:0;z-index:80;background:color-mix(in srgb, var(--bg2) 96%, transparent);backdrop-filter:blur(10px);border-top:var(--bw) solid var(--line);padding:10px 0 calc(10px + env(safe-area-inset-bottom));box-shadow:0 -10px 24px -14px rgba(0,0,0,.7) }

.em-railbar-row{ display:flex;align-items:center;justify-content:space-between;gap:14px }

.em-railbar-text{ flex:1 1 auto;min-width:0;line-height:1.15 }

.em-railbar-text b{ display:block;font-family:var(--font-display);font-size:18px;color:var(--accent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap }

.em-railbar-text span{ display:block;font-family:var(--font-ui);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap }

@media (max-width:359px) {
  .em-railbar-row{ gap:10px }
  }
@media (max-width:359px) {
  .em-railbar .em-goahead{ padding-left:14px;padding-right:14px }
  }
@media (max-width:359px) {
  .em-railbar-text span{ display:none }
  }
@media (max-width:359px) {}

.em-railbar .em-goahead{ flex:none;white-space:nowrap }

.em-js .em-railbar{ transform:translateY(110%);transition:transform .28s ease;will-change:transform }

.em-js .em-railbar.em-lifted{ transform:none }

.em-hori .em-railbar{ display:none }

/* ---------- 404 ---------- */ .em-offtrail{ min-height:62vh;display:grid;place-items:center;text-align:center;padding:60px 0 }

.em-offtrail-code{ font-family:var(--font-display);font-size:clamp(84px,22vw,170px);line-height:.86;color:var(--accent);text-shadow:7px 7px 0 var(--surface2) }

.em-offtrail h1{ font-family:var(--font-display);font-size:clamp(28px,5.2vw,40px);margin-top:20px;font-weight:400 }

.em-offtrail p{ color:var(--ink2);margin-top:14px;max-width:52ch;margin-inline:auto }

.em-offtrail .em-offtrail-code{ color:var(--accent);max-width:none;margin-top:0 }

.em-offtrail .em-vista-cta{ justify-content:center }

.em-offtrail-links{ margin-top:30px;display:flex;flex-wrap:wrap;gap:9px;justify-content:center }

.em-offtrail-links a{ border-radius:var(--r);border:max(2px, calc(var(--bw) - 1px)) solid var(--line);background:var(--surface);padding:9px 14px;text-decoration:none;font-size:13.5px;color:var(--ink2);transition:.15s }

.em-offtrail-links a:hover{ border-color:var(--accent);color:var(--accent) }

/* ---------- reveal ---------- */ .em-js .em-dawn{ opacity:0;transform:translateY(16px) }

.em-js .em-dawn.em-daylit{ opacity:1;transform:none;transition:opacity .5s ease,transform .5s ease }

/* ---------- breadcrumb ---------- */ .em-breadcrumbs{ padding:14px 0;font-size:13px;color:var(--ink3);border-bottom:1px solid var(--line);background:var(--bg2) }

.em-breadcrumbs ol{ display:flex;flex-wrap:wrap;gap:7px;align-items:center }

.em-breadcrumbs a{ color:var(--ink2);text-decoration:none }

.em-breadcrumbs a:hover{ color:var(--accent) }

.em-breadcrumbs li + li::before{ content:"›";margin-right:7px;color:var(--ink3) }

.em-breadcrumbs li{ display:flex;align-items:center }

.em-breadcrumbs [aria-current]{ color:var(--ink3) }

/* ---------- responsive ---------- */ @media (max-width:719px) {
  .em-itinerary-toggle{ display:inline-flex }
  }
/* ---------- responsive ---------- */ @media (max-width:719px) {
  .em-js .em-itinerary-list{ display:none }
  }
/* ---------- responsive ---------- */ @media (max-width:719px) {
  .em-js .em-itinerary.em-unbuckled .em-itinerary-list{ display:grid }
  }
/* ---------- responsive ---------- */ @media (max-width:719px) {}

@media (max-width:599px) {
  .em-vista-offer{ position:static;margin-top:-2px;padding:13px 16px;text-align:center;border-radius:0 0 var(--r-lg) var(--r-lg);box-shadow:none }
  }
@media (max-width:599px) {
  .em-vista-offer b{ font-size:23px }
  }
@media (max-width:599px) {}

@media (min-width:600px) {
  .em-itinerary-list{ grid-template-columns:1fr 1fr }
  }
@media (min-width:600px) {
  .em-readout--cards .em-readout-grid{ grid-template-columns:repeat(3,1fr) }
  }
@media (min-width:600px) {
  .em-readout--strip .em-readout-grid{ grid-template-columns:repeat(3,1fr) }
  }
@media (min-width:600px) {
  .em-readout--strip .em-readout-item:nth-child(2n){ border-right:1px solid var(--line) }
  }
@media (min-width:600px) {
  .em-readout--strip .em-readout-item:nth-child(3n){ border-right:0 }
  }
@media (min-width:600px) {
  .em-dazi{ grid-template-columns:repeat(4,1fr) }
  }
@media (min-width:600px) {
  .em-beacon{ grid-template-columns:1fr auto;align-items:center;gap:26px;padding:28px 26px }
  }
@media (min-width:600px) {
  .em-carefully{ grid-template-columns:auto 1fr;gap:24px }
  }
@media (min-width:600px) {
  .em-groundwork-bottom{ grid-template-columns:1fr auto;align-items:center }
  }
@media (min-width:600px) {
  .em-snapshots{ grid-template-columns:2fr 1fr }
  }
@media (min-width:600px) {}

@media (max-width:899px) {
  .em-vista-row--art-left .em-vista-copy{ order:-1 }
  }
@media (max-width:899px) {}

@media (min-width:900px) {
  .em-vista-row.em-vista-row--art-left{ grid-template-columns:.94fr 1.06fr }
  }
@media (min-width:900px) {
  .em-vista-row.em-vista-row--art-wide{ grid-template-columns:1fr;gap:26px;align-items:start;text-align:center;padding:34px 0 40px }
  }
@media (min-width:900px) {
  .em-vista-row--art-wide h1{ font-size:clamp(32px,5vw,50px) }
  }
@media (min-width:900px) {
  .em-vista-row--art-wide .em-vista-copy{ max-width:none }
  }
@media (min-width:900px) {
  .em-vista-row--art-wide h1{ margin-inline:auto }
  }
@media (min-width:900px) {
  .em-vista-row--art-wide .em-vista-lede{ max-width:56ch;margin-inline:auto }
  }
@media (min-width:900px) {
  .em-vista-row--art-wide .em-vista-cta, .em-vista-row--art-wide .em-vista-note{ justify-content:center }
  }
@media (min-width:900px) {
  .em-vista-row--art-wide .em-vista-note{ align-items:center }
  }
@media (min-width:900px) {
  .em-itinerary{ padding:22px 0 26px }
  }
@media (min-width:900px) {
  .em-itinerary-list{ grid-template-columns:repeat(3,1fr);gap:2px 18px;margin-top:16px }
  }
@media (min-width:900px) {
  .em-vista-row{ grid-template-columns:1.06fr .94fr;align-items:center;gap:44px;padding:52px 0 60px }
  }
@media (min-width:900px) {
  .em-readout--cards .em-readout-grid{ grid-template-columns:repeat(6,1fr) }
  }
@media (min-width:900px) {
  .em-readout--strip .em-readout-grid{ grid-template-columns:repeat(6,1fr) }
  }
@media (min-width:900px) {
  .em-readout--strip .em-readout-item:nth-child(3n){ border-right:1px solid var(--line) }
  }
@media (min-width:900px) {
  .em-readout--strip .em-readout-item:nth-child(6n){ border-right:0 }
  }
@media (min-width:900px) {
  .em-readout-item{ flex-direction:column;align-items:flex-start;gap:11px;padding:20px 15px }
  }
@media (min-width:900px) {
  .em-pack{ display:none }
  }
@media (min-width:900px) {}

@media (max-width:1079px) {
  body{ padding-bottom:78px }
  }
@media (max-width:1079px) {}

@media (min-width:1080px) {
  .em-railbar{ display:none }
  }
@media (min-width:1080px) {
  .em-route{ display:block }
  }
@media (min-width:1080px) {
  .em-buckle{ display:none }
  }
@media (min-width:1080px) {
  .em-signpost-cta{ display:inline-flex }
  }
@media (min-width:1080px) {
  .em-basecamp{ grid-template-columns:minmax(0,1fr) 316px;gap:42px;padding:44px 0 72px }
  }
@media (min-width:1080px) {
  .em-basecamp--side-left{ grid-template-columns:316px minmax(0,1fr) }
  }
@media (min-width:1080px) {
  .em-sidetrail{ position:sticky;top:88px;max-height:calc(100vh - 104px);overflow-y:auto;overflow-x:hidden;padding:0 10px 10px 0;margin-right:-10px;scrollbar-width:thin;scrollbar-color:var(--line) transparent }
  }
@media (min-width:1080px) {
  .em-sidetrail::-webkit-scrollbar{ width:8px }
  }
@media (min-width:1080px) {
  .em-sidetrail::-webkit-scrollbar-thumb{ background:var(--line) }
  }
@media (min-width:1080px) {
  .em-sidetrail::-webkit-scrollbar-track{ background:transparent }
  }
@media (min-width:1080px) {
  .em-groundwork-grid{ grid-template-columns:1.5fr 1fr 1fr 1fr }
  }
@media (min-width:1080px) {}

@media (prefers-reduced-motion:reduce) {
  html{ scroll-behavior:auto }
  }
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after{ animation-duration:.001ms !important;transition-duration:.001ms !important }
  }
@media (prefers-reduced-motion:reduce) {
  .em-js .em-dawn{ opacity:1;transform:none }
  }
@media (prefers-reduced-motion:reduce) {}

@media print {
  .em-signpost,.em-sidetrail,.em-beacon,.em-vista-cta,.em-buckle,.em-pack,.em-itinerary,.em-railbar{ display:none !important }
  }
@media print {
  body{ background:#fff;color:#000 }
  }
@media print {
  .em-logbook p,.em-logbook li{ color:#222 }
  }
@media print {}

