:root{color-scheme:dark;--ink:#eef1ed;--muted:#b6c5bf;--gold:#d9bd87;--line:#d3d9ce47}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#080d15;color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #e5d09b;outline-offset:3px}[hidden]{display:none!important}
.site-nav{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px clamp(18px,4vw,68px);background:#070c13f2;border-bottom:1px solid var(--line)}.brand{flex:none;font-size:13px;font-weight:900;letter-spacing:.18em}.brand span{color:var(--gold)}.site-links{display:flex;align-items:center;gap:clamp(13px,2vw,32px);overflow-x:auto;scrollbar-width:thin}.site-links a,.site-links span{flex:none;padding:10px 0;color:#cad6cf;font-size:11px;font-weight:700;letter-spacing:.1em;white-space:nowrap}.site-links a:hover{color:#fff}.site-links span{color:#efd49d;border-bottom:2px solid #efd49d}
.hero{position:relative;isolation:isolate;min-height:350px;display:flex;align-items:end;padding:55px clamp(20px,5vw,86px) 38px;overflow:hidden;background:#0b1420}.hero::before{content:"";position:absolute;inset:0;z-index:-2;background:url('/assets/bifrost.jpg') center 48%/cover no-repeat;opacity:.68}.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#081018f2,#0a1420b0 60%,#090f18ba),linear-gradient(0deg,#080d15,transparent 85%)}.hero-inner{max-width:1390px;width:100%;margin:auto auto 0}.kicker{color:#d6c494;font-size:11px;font-weight:800;letter-spacing:.24em;text-transform:uppercase}.hero h1{margin:8px 0 12px;font:900 clamp(54px,8vw,119px)/.9 Impact,'Arial Narrow',Arial,sans-serif;letter-spacing:.035em}.hero h1 em{font-style:normal;color:var(--gold)}.lead{max-width:690px;font-size:clamp(16px,1.6vw,21px);line-height:1.45;color:#d5dfd9;margin:0}.hero-meta{display:flex;flex-wrap:wrap;gap:12px 30px;margin-top:25px;color:#bfcdc6;font-size:10px;font-weight:800;letter-spacing:.15em}.hero-meta span:first-child{color:#f2d799}
.explorer{max-width:1560px;margin:auto;padding:48px clamp(20px,5vw,86px) 100px}.explore-head{display:flex;justify-content:space-between;align-items:end;gap:25px}.explore-head h2,.continuity h2{font:900 clamp(39px,4.4vw,62px)/1 Impact,'Arial Narrow',Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase;margin:5px 0 0}.explore-head>p{max-width:420px;color:var(--muted);line-height:1.5;font-size:15px;margin:0}.toolbar{margin-top:27px;border-top:1px solid var(--line);padding-top:22px}.search{display:flex;align-items:center;gap:12px;height:56px;max-width:640px;background:#111e27;border:1px solid #b5c4b27d;padding:0 17px}.search span{font-size:28px;color:#d6c38f}.search input{width:100%;border:0;outline:0;background:transparent;color:#fff;font-size:16px}.search input::placeholder{color:#aab9b6}.filters{display:flex;gap:7px;overflow-x:auto;scrollbar-width:thin;margin-top:18px;padding-bottom:7px}.filters button{flex:none;border:1px solid #b9cabc62;background:#111b22;color:#cbd7d0;padding:10px 13px;min-height:42px;font-size:11px;font-weight:800;letter-spacing:.08em}.filters button[aria-pressed="true"],.filters button:hover{background:#4b3c27;border-color:#e1c68d;color:#fff}.results{font-size:11px;letter-spacing:.14em;color:#b7c9bf;font-weight:800;margin:20px 0 13px}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.place{position:relative;min-height:240px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;overflow:hidden;padding:20px;border:1px solid color-mix(in srgb,var(--accent),transparent 52%);background:radial-gradient(circle at 90% 12%,color-mix(in srgb,var(--accent),transparent 70%),transparent 49%),linear-gradient(145deg,#1b2930,#0e171f 70%);color:#fff;box-shadow:inset 0 1px #ffffff1d,0 14px 25px #0006;transition:transform .2s,border-color .2s}.place::before{content:"";position:absolute;width:180px;height:180px;right:-70px;top:-65px;border:1px solid color-mix(in srgb,var(--accent),transparent 30%);border-radius:50%;box-shadow:0 0 0 25px color-mix(in srgb,var(--accent),transparent 94%),0 0 0 52px color-mix(in srgb,var(--accent),transparent 97%);pointer-events:none}.place:hover,.place:focus-visible{transform:translateY(-3px);border-color:#fff}.place .tag{font-size:10px;font-weight:800;letter-spacing:.16em;color:var(--accent);text-transform:uppercase}.place h3{position:relative;font:900 clamp(25px,2.1vw,34px)/1.04 Impact,'Arial Narrow',Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase;margin:auto 0 9px;max-width:95%}.place p{position:relative;color:#c4d1cc;font-size:14px;line-height:1.4;margin:0;max-width:95%}.place .open{position:relative;font-size:10px;font-weight:800;letter-spacing:.15em;color:var(--accent);margin-top:19px}.empty{padding:35px;border:1px solid var(--line);color:var(--muted)}
.continuity{display:grid;grid-template-columns:minmax(190px,1fr) 2fr;gap:30px;padding:37px clamp(20px,5vw,86px);border-top:1px solid var(--line);background:#101922}.continuity p:last-child{max-width:900px;color:#c1d0c8;font-size:15px;line-height:1.65;margin:0}footer{display:flex;justify-content:space-between;gap:15px;padding:28px clamp(20px,5vw,86px);font-size:11px;letter-spacing:.12em;color:#adbeb4}footer a:hover{color:#fff}
dialog{max-width:min(680px,calc(100vw - 28px));width:100%;max-height:min(86svh,780px);padding:0;border:1px solid #d4c18a8c;background:#0d1720;color:#edf3ed;box-shadow:0 30px 80px #000d;overflow:auto}dialog::backdrop{background:#02070cc9;backdrop-filter:blur(5px)}.dialog-content{padding:clamp(23px,4vw,42px)}.dialog-top{display:flex;justify-content:space-between;gap:20px;align-items:start}.dialog-top .kicker{margin:0}.close{border:1px solid #aebdae7d;background:#17242b;color:#fff;min-width:44px;min-height:44px;font-size:24px;line-height:1}.dialog-content h2{font:900 clamp(40px,6vw,72px)/.95 Impact,'Arial Narrow',Arial,sans-serif;letter-spacing:.035em;text-transform:uppercase;margin:25px 0 14px}.dialog-content .summary{font-size:18px;line-height:1.5;color:#e1e9e0}.dialog-content .body{font-size:16px;line-height:1.65;color:#bbcfc3;border-top:1px solid var(--line);padding-top:20px}.fact{margin-top:25px;border-top:1px solid var(--line);padding-top:20px}.fact span{display:block;font-size:10px;letter-spacing:.18em;color:#d8c68e;font-weight:800}.fact p{color:#e0e9e2;line-height:1.45;margin:8px 0 0}.dialog-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:27px}.dialog-links a{border:1px solid #c8d4c36b;padding:11px 13px;font-size:11px;font-weight:800;letter-spacing:.08em}.dialog-links a:hover{background:#2b433b}
@media(max-width:1100px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:800px){.site-nav{flex-wrap:wrap}.site-links{width:100%}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{min-height:320px}.explore-head{display:block}.explore-head>p{margin-top:12px}}@media(max-width:520px){.site-nav{padding:10px 16px}.site-links a,.site-links span{font-size:10px}.hero{min-height:300px;padding:34px 20px}.hero h1{font-size:clamp(50px,14vw,72px)}.hero-meta span:last-child{font-size:9px}.explorer{padding-top:34px}.grid{grid-template-columns:1fr}.place{min-height:175px}.place h3{font-size:32px}.continuity{grid-template-columns:1fr}footer{flex-wrap:wrap;line-height:1.5}footer span{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.place{transition:none}}
/* Individual art covers retain strong text contrast at card and dialog sizes. */
.place{min-height:280px;background:#101820}.place::before{display:none}.place .cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.92;transition:transform .35s}.place::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#05101881 0%,#05101829 30%,#061018e9 76%,#061018fa 100%);pointer-events:none}.place:hover .cover{transform:scale(1.045)}.place .tag,.place h3,.place p,.place .open{z-index:1;text-shadow:0 2px 12px #000}.place .tag,.place .open{color:#f7e0a8}
.dialog-art{height:245px;margin:calc(-1 * clamp(23px,4vw,42px)) calc(-1 * clamp(23px,4vw,42px)) 27px;background:linear-gradient(0deg,#0d1720 0%,transparent 70%),var(--art) center/cover no-repeat}
@media(max-width:520px){.place{min-height:225px}.dialog-art{height:190px}}
/* Long location dossiers remain readable and scroll inside the existing modal. */
dialog{max-width:min(850px,calc(100vw - 28px));max-height:90svh}
.dialog-content .summary{max-width:680px;font-size:clamp(18px,2.2vw,22px)}
.dossier-section{border-top:1px solid var(--line);padding-top:22px;margin-top:27px}
.dossier-section h3{margin:0 0 14px;color:#e8cd96;font-size:11px;font-weight:800;letter-spacing:.19em}
.dossier-section p{color:#c8d7ce;font-size:15px;line-height:1.7;margin:0 0 13px;max-width:72ch}
.dossier-section p:last-child{margin-bottom:0}
.moments{list-style:none;margin:0;padding:0;display:grid;gap:0}
.moments li{display:grid;grid-template-columns:42px 1fr;gap:13px;border-top:1px solid #d3d9ce28;padding:15px 0}
.moments li:first-child{border-top:0}
.moments li>span{color:#dec890;font-size:12px;font-weight:800;letter-spacing:.1em;padding-top:3px}
.moments li p{margin:0}
.profile-links{display:flex;flex-wrap:wrap;gap:9px}
.profile-links a{display:inline-flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid #c5d1c16b;background:#172730;color:#edf3ed;font-size:13px;font-weight:700;min-height:44px}
.profile-links a:hover{background:#30443e;border-color:#e8cd96}
.profile-links a span{color:#e8cd96}
.continuity-note p{font-size:14px;color:#bfcfc3}
@media(max-width:520px){dialog{max-width:calc(100vw - 16px);max-height:94svh}.dialog-content{padding:21px}.dialog-art{margin:-21px -21px 21px}.dialog-content h2{margin-top:18px}.moments li{grid-template-columns:30px 1fr;gap:9px}}

/* Compact, editorial world profile in each location dossier. */
.atlas-assessment{margin-top:28px;padding:22px clamp(17px,3vw,28px);border:1px solid #a9c5b56c;background:linear-gradient(135deg,#23342ea3,#121f2de8 45%,#10191dea);box-shadow:inset 0 1px #e6efd936,0 14px 32px #0005}
.assessment-head{display:flex;align-items:end;justify-content:space-between;gap:14px;padding-bottom:17px;border-bottom:1px solid #d5e4cf38}
.assessment-head .kicker{font-size:11px;margin:0 0 7px;color:#b8ccbb;letter-spacing:.15em}
.assessment-head h3{font:900 25px/1 Impact,'Arial Narrow',Arial,sans-serif;letter-spacing:.07em;margin:0;color:#f1f0e6}
.assessment-scale{white-space:nowrap;color:#c7d9c6;font-size:11px;font-weight:800;letter-spacing:.12em}
.stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;row-gap:18px;padding:21px 0 2px}
.stat-line{display:flex;align-items:baseline;justify-content:space-between;gap:8px;color:#dae6da;font-size:14px;font-weight:700}
.stat-line strong{font-size:13px;font-variant-numeric:tabular-nums;color:#f4dfad;white-space:nowrap}
.stat-track{height:5px;margin-top:9px;background:#819c9240;overflow:hidden}
.stat-track span{display:block;width:var(--fill);height:100%;background:linear-gradient(90deg,#73998d,#bad3af 70%,#f0db9f);box-shadow:0 0 12px #bfdaa183}
.stat.atmosphere{padding:0 0 0 14px;border-left:1px solid #d5e4cf38}
.stat.atmosphere strong{display:block;margin-top:8px;color:#f0dfb4;font-size:15px;line-height:1.35}
.stat-context{margin:21px 0 0;color:#e1eadd;font-size:14px;line-height:1.5}
.stat-method{margin:11px 0 0;color:#afc3ba;font-size:12px;line-height:1.55}
@media(max-width:520px){.atlas-assessment{padding:18px 16px}.assessment-head{align-items:start;flex-direction:column;gap:8px}.stat-grid{column-gap:14px;row-gap:17px}.stat-line{font-size:13px}.stat.atmosphere{padding-left:10px}}
