/* Reusable long-form location dossier; atmosphere is supplied by page variables. */
.location-dossier{--location-accent:#aebcc6;--location-line:rgba(187,202,211,.22);--location-ink:#e5e9e9;--location-muted:#b6c0c5;background:#0c1014;color:var(--location-ink)}
.location-dossier *{min-width:0}
.location-dossier a:focus-visible{outline:2px solid #d7e6ee;outline-offset:4px}
.location-hero{position:relative;isolation:isolate;min-height:min(860px,100svh);display:flex;align-items:flex-end;overflow:hidden;background:#101b25}
.location-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#091017ec 0%,#0910179c 24%,transparent 60%),linear-gradient(90deg,#0910178c,transparent 60%)}
.location-hero__image{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 53%}
.location-hero__inner{width:min(1240px,calc(100% - 48px));margin:0 auto;padding:125px 0 clamp(58px,8vw,105px)}
.location-breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:clamp(150px,29vh,300px);color:#e2e9e9;font:.71rem/1.5 var(--sans);letter-spacing:.12em;text-transform:uppercase;text-shadow:0 2px 12px #000}
.location-breadcrumbs a{text-decoration:none;border-bottom:1px solid #e2e9e982}
.location-hero__copy{max-width:800px;text-shadow:0 3px 20px #000b}
.location-hero__copy .eyebrow{color:#d8e5ec}
.location-hero h1{margin:0;color:#f0f5f7;font:500 clamp(4.4rem,9.2vw,9rem)/.87 var(--serif);letter-spacing:-.04em;text-transform:uppercase;overflow-wrap:anywhere}
.location-hero__copy>p:last-child{max-width:670px;margin:20px 0 0;color:#e4ebed;font:clamp(1.18rem,2vw,1.55rem)/1.48 var(--serif)}
.location-dossier .tome-nav{position:sticky;top:76px;z-index:30;background:#10161aeF;border-block:1px solid var(--location-line);backdrop-filter:blur(12px)}
.location-dossier .tome-nav>div{max-width:1180px;margin:auto;display:flex;justify-content:center;overflow-x:auto}
.location-dossier .tome-nav a{padding:1rem 1.15rem;color:#b3bfc4;text-decoration:none;white-space:nowrap;font:.7rem var(--sans);letter-spacing:.1em;text-transform:uppercase}
.location-dossier .tome-nav a.active{color:#fff;background:#abbac016;box-shadow:inset 0 -1px var(--location-accent)}
.location-dossier__body{width:min(1120px,calc(100% - 48px));margin:auto;padding:clamp(60px,8vw,105px) 0 100px}
.location-heading .eyebrow,.location-note .eyebrow{color:var(--location-accent);font-size:.68rem}
.location-heading h2,.location-note h2{margin:8px 0 0;color:#edf0ed;font:500 clamp(2.8rem,5vw,4.8rem)/.98 var(--serif)}
.location-prose p,.location-note p:not(.eyebrow){margin:0 0 1.35em;color:#c9d1d2;font:1.1rem/1.78 Georgia,serif}
.location-prose p:last-child,.location-note p:last-of-type{margin-bottom:0}
.location-facts,.location-section{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(28px,5vw,75px);border-bottom:1px solid var(--location-line)}
.location-facts{padding-bottom:clamp(65px,8vw,105px)}
.location-facts dl{margin:0;border-top:1px solid var(--location-line)}
.location-facts dl>div{display:grid;grid-template-columns:minmax(135px,.5fr) minmax(0,1fr);gap:12px;padding:14px 0;border-bottom:1px solid var(--location-line)}
.location-facts dt{color:#a8bac4;font:.68rem/1.5 var(--sans);font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.location-facts dd{margin:0;color:#e3e9e9;font:1rem/1.5 Georgia,serif}
.location-facts dd a{color:#d6e5ec;text-underline-offset:4px}
.location-section{padding:clamp(65px,8vw,105px) 0}
.location-media-section{padding:clamp(65px,8vw,105px) 0;border-bottom:1px solid var(--location-line)}
.location-media-section>.location-prose{max-width:830px;margin:28px 0 38px}
.location-media-section figure{margin:0}
.location-media-section figure img{width:100%;height:auto;aspect-ratio:1672/941;object-fit:cover;border:1px solid var(--location-line)}
.location-media-section figure figcaption{margin-top:12px;color:#9caeb7;font:.68rem/1.5 var(--sans);letter-spacing:.1em;text-transform:uppercase}
.location-statement{margin:clamp(45px,6vw,75px) 0 0;padding-left:clamp(22px,4vw,55px);border-left:2px solid var(--location-accent);color:#e5eef1;font:500 clamp(2rem,4vw,3.5rem)/1.08 var(--serif);text-transform:uppercase}
.location-observations{display:grid;grid-template-columns:minmax(0,.55fr) 1fr;gap:25px;margin-top:45px}
.location-observations h3{margin:0;color:#dee7e9;font:500 clamp(1.7rem,2.5vw,2.4rem)/1.1 var(--serif)}
.location-observations ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px;margin:0;padding:0;list-style:none}
.location-observations li{padding:12px 0;border-top:1px solid var(--location-line);color:#bbc8ce;font:1rem/1.5 Georgia,serif}
.location-climate{display:grid;grid-template-columns:minmax(0,.45fr) 1fr;gap:35px;margin:clamp(60px,7vw,90px) 0;padding:28px 0;border-block:1px solid var(--location-line)}
.location-climate h2{margin:0;font:500 clamp(2.3rem,3.5vw,3.3rem)/1 var(--serif)}
.location-climate>p{align-self:center;margin:0;color:#c8d1d2;font:1.03rem/1.72 Georgia,serif}
.location-landmarks{padding:clamp(65px,8vw,105px) 0}
.location-landmarks__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:35px}
.location-landmarks__grid article{padding:24px;border-top:1px solid #b3c5ce81;background:linear-gradient(150deg,#1a252d,#12191e)}
.location-landmarks__grid span{color:#9eb4c0;font:.68rem var(--sans);letter-spacing:.15em}
.location-landmarks__grid h3{margin:30px 0 14px;color:#e7eded;font:500 clamp(1.45rem,2.3vw,2rem)/1.08 var(--serif)}
.location-landmarks__grid p{margin:0;color:#bac6cb;font:.97rem/1.58 Georgia,serif}
.location-note{max-width:930px;margin:0 auto;padding:clamp(32px,5vw,64px);border-left:2px solid var(--location-accent);background:#18232a}
.location-note h2{margin-bottom:25px}
.location-note strong{display:block;margin-top:30px;padding-top:20px;border-top:1px solid var(--location-line);color:#e8f0f2;font:500 clamp(1.4rem,2.4vw,2rem)/1.25 var(--serif);text-transform:uppercase}
.location-return{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:70px}
.location-return a{display:inline-flex;align-items:center;min-height:44px;padding:11px 16px;border:1px solid var(--location-line);color:#dbe6ea;text-decoration:none;font:.72rem var(--sans);font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.location-return a:hover{background:#ffffff12}
.location-dossier .site-footer{background:#090d10}
@media(max-width:1000px){.location-landmarks__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.location-dossier .tome-nav>div{justify-content:flex-start}}
@media(max-width:768px){.location-hero{min-height:690px}.location-hero__image{object-position:64% center}.location-breadcrumbs{margin-bottom:clamp(120px,20vh,210px)}.location-facts,.location-section{grid-template-columns:1fr;gap:22px}.location-observations{grid-template-columns:1fr}.location-climate{grid-template-columns:1fr;gap:15px}}
@media(max-width:520px){.location-hero{min-height:630px}.location-hero__inner,.location-dossier__body{width:calc(100% - 40px)}.location-hero__inner{padding-top:105px;padding-bottom:45px}.location-hero__image{object-position:68% center}.location-hero h1{font-size:clamp(3.7rem,15vw,5.7rem)}.location-hero__copy>p:last-child{font-size:1.13rem}.location-breadcrumbs{margin-bottom:165px}.location-facts dl>div{grid-template-columns:1fr;gap:3px}.location-prose p,.location-note p:not(.eyebrow){font-size:1rem;line-height:1.7}.location-media-section figure img{aspect-ratio:1.3;object-position:center}.location-statement{font-size:clamp(1.8rem,8vw,2.5rem)}.location-observations ul{grid-template-columns:1fr}.location-landmarks__grid{grid-template-columns:1fr}.location-landmarks__grid h3{margin-top:18px}.location-note{margin-inline:-20px;padding:32px 20px}.location-return{flex-direction:column;align-items:flex-start}.location-return a{width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){.location-dossier *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Cernhorn uses the shared dossier structure with a fortress-specific palette. */
.cernhorn-page{--location-accent:#b7a39a;--location-line:rgba(177,169,158,.24);--location-ink:#e5e0d9;--location-muted:#bdb8b0;background:#111214}
.cernhorn-page .location-hero{background:#25282b}
.cernhorn-page .location-hero::after{background:linear-gradient(0deg,#111214f2 0%,#11121491 24%,transparent 62%),linear-gradient(90deg,#111214bd,transparent 62%)}
.cernhorn-page .location-hero__image{object-position:center 48%}
.cernhorn-page .location-hero__copy{max-width:900px}
.cernhorn-page .location-hero__copy .eyebrow{color:#e5c6b6}
.cernhorn-page .location-hero h1{font-size:clamp(3.8rem,8.5vw,8.5rem)}
.cernhorn-page .cernhorn-hero__alias{margin:15px 0 0;color:#e9ddd1;font:500 clamp(1.6rem,3.2vw,2.8rem)/1.08 var(--serif);letter-spacing:.09em;text-transform:uppercase}
.cernhorn-page .location-hero__copy .cernhorn-hero__intro{max-width:690px;margin:20px 0 0;color:#eee9e3;font:clamp(1.15rem,2vw,1.5rem)/1.48 var(--serif)}
.cernhorn-hero__seal{display:inline-block;margin-top:26px;padding:8px 0;border-top:1px solid #d8c5b690;color:#d4c5b7;font:.65rem var(--sans);letter-spacing:.18em;text-transform:uppercase}
.cernhorn-page .tome-nav{background:#1a1b1deF}
.cernhorn-page .location-facts dt{color:#b9aaa0}
.cernhorn-page .location-facts dd a{color:#e0cabb}
.cernhorn-page .location-media-section figure figcaption{color:#aaa49c}
.cernhorn-page .location-media-section figure img{aspect-ratio:2/1}
.cernhorn-page .cernhorn-wide figure{margin-top:38px}
.cernhorn-page .cernhorn-wide figure img{aspect-ratio:16/9}
.cernhorn-after-image{margin-top:40px!important}
.cernhorn-gate{display:grid;grid-template-columns:minmax(0,.45fr) minmax(0,1fr);gap:16px 40px;margin-top:52px;padding:30px 0;border-block:1px solid #967268;background:linear-gradient(90deg,#6c30231c,transparent 55%)}
.cernhorn-gate span{grid-row:span 2;color:#c7a69b;font:.68rem var(--sans);letter-spacing:.15em;text-transform:uppercase}
.cernhorn-gate h3{margin:0;color:#eee4db;font:500 clamp(1.9rem,3.3vw,3rem)/1.07 var(--serif);text-transform:uppercase}
.cernhorn-gate p{max-width:700px;margin:0;color:#c6c1bb;font:1.04rem/1.7 Georgia,serif}
.cernhorn-page .location-statement{color:#e7d9ca;border-color:#9f7468;font-size:clamp(1.8rem,3.3vw,3rem)}
.cernhorn-legend{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1fr);gap:48px;margin:80px 0;padding:clamp(30px,5vw,60px);border-left:2px solid #a68a61;background:linear-gradient(130deg,#25231f,#18191b 75%)}
.cernhorn-legend .eyebrow{color:#c6ae82}
.cernhorn-legend h2{margin:10px 0 0;color:#e7dfd2;font:500 clamp(2.3rem,4vw,3.8rem)/1 var(--serif)}
.cernhorn-legend p{margin:0 0 1em;color:#ccc5b9;font:1.06rem/1.7 Georgia,serif}
.cernhorn-legend a{display:inline-block;margin-top:8px;color:#dfc7a0;font:.7rem var(--sans);letter-spacing:.1em;text-transform:uppercase;text-underline-offset:5px}
.cernhorn-endurance__line{margin-top:35px!important;padding-top:25px;border-top:1px solid #a98b8066;color:#eee2d7!important;font:500 clamp(1.65rem,2.8vw,2.65rem)/1.2 var(--serif)!important;text-transform:uppercase}
.cernhorn-page .cernhorn-elements{grid-template-columns:repeat(3,minmax(0,1fr))}
.cernhorn-page .location-landmarks__grid article{border-top-color:#a48b80;background:linear-gradient(150deg,#242526,#18191b)}
.cernhorn-page .location-landmarks__grid span{color:#c3a89b}
.cernhorn-page .location-note{border-color:#a17c70;background:#242321}
.cernhorn-page .location-note strong{color:#f2e6d8}
.cernhorn-page .site-footer{background:#101112}
@media(max-width:768px){.cernhorn-page .location-hero__image{object-position:55% center}.cernhorn-gate,.cernhorn-legend{grid-template-columns:1fr}.cernhorn-gate span{grid-row:auto}.cernhorn-page .cernhorn-elements{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.cernhorn-page .location-hero{min-height:610px}.cernhorn-page .location-hero__image{object-position:54% center}.cernhorn-page .location-hero h1{font-size:clamp(3rem,12.6vw,4.4rem);letter-spacing:-.05em}.cernhorn-page .cernhorn-hero__alias{font-size:1.45rem}.cernhorn-page .location-hero__copy .cernhorn-hero__intro{font-size:1.06rem}.cernhorn-page .location-media-section figure img,.cernhorn-page .cernhorn-wide figure img{aspect-ratio:1.35}.cernhorn-page .cernhorn-elements{grid-template-columns:1fr}.cernhorn-legend{margin-inline:-20px;padding:32px 20px}.cernhorn-gate{gap:12px}}

/* Frauster's Capital: shared archive anatomy, warmer civic identity and a gradual tonal shift. */
.capital-page{--location-accent:#c9a989;--location-line:rgba(204,175,143,.25);--location-ink:#f0e7da;--location-muted:#c9beb0;background:linear-gradient(#211c19 0%,#201c1b 42%,#151315 82%);color:var(--location-ink)}
.capital-page .location-hero{background:#554437;min-height:min(850px,100svh)}
.capital-page .location-hero::after{background:linear-gradient(0deg,#211c19ef 0%,#211c19b0 19%,transparent 54%),linear-gradient(90deg,#1d1714b0,transparent 60%)}
.capital-page .location-hero__image{object-position:center 49%}
.capital-page .location-hero__copy .eyebrow{color:#f4d9b7}
.capital-page .location-hero h1{color:#fff5e6;font-size:clamp(4.2rem,9vw,9rem)}
.capital-page .location-hero__copy>p:not(.eyebrow){max-width:680px;margin:21px 0 0;color:#fff0dc;font:clamp(1.18rem,2vw,1.55rem)/1.45 var(--serif)}
.capital-hero__seal{display:inline-block;margin-top:28px;padding-top:9px;border-top:1px solid #e8cdab8c;color:#f0d6b6;font:.67rem var(--sans);letter-spacing:.18em;text-transform:uppercase}
.capital-page .tome-nav{background:#251e1deF}
.capital-page .location-facts dt{color:#cfb99e}
.capital-page .location-facts dd a{color:#efd3ad}
.capital-page .location-prose p,.capital-page .location-note p:not(.eyebrow){color:#ddd0c2}
.capital-page .location-media-section figure{margin-top:34px}
.capital-page .location-media-section figure img{aspect-ratio:16/9;object-fit:cover}
.capital-page .location-media-section figure figcaption{color:#bda98f}
.capital-page .capital-city-section figure img{object-position:center 54%}
.capital-page .capital-palace-section figure img{object-position:center 47%}
.capital-page .capital-hall-section figure img{object-position:center 49%}
.capital-page .capital-war-section{background:linear-gradient(115deg,#4a222222,transparent 60%)}
.capital-page .capital-war-section figure img{object-position:center 47%}
.capital-life{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(30px,6vw,90px);padding:clamp(80px,10vw,130px) 0;border-bottom:1px solid var(--location-line)}
.capital-life .location-prose{align-self:center}
.capital-statement{margin:0;padding:clamp(70px,9vw,115px) clamp(20px,5vw,65px);border-bottom:1px solid var(--location-line);color:#e9d1b5;text-align:center;font:500 clamp(2rem,4vw,4.2rem)/1.15 var(--serif);text-transform:uppercase;background:radial-gradient(circle at 50% 30%,#925c3826,transparent 65%)}
.capital-page .capital-defense{background:linear-gradient(90deg,#6b282419,transparent 55%)}
.capital-page .capital-elements{grid-template-columns:repeat(3,minmax(0,1fr))}
.capital-page .location-landmarks__grid article{border-top-color:#c5a586;background:linear-gradient(145deg,#342923,#231e1d)}
.capital-page .location-landmarks__grid span{color:#d2b492}
.capital-page .location-note{border-color:#c8a27e;background:linear-gradient(135deg,#382821,#252021)}
.capital-page .location-note strong{color:#f4dfc6}
.capital-page .location-return a{color:#ecd4ba}
.capital-page .site-footer{background:#171315}
@media(max-width:768px){.capital-page .location-hero__image{object-position:54% center}.capital-life{grid-template-columns:1fr;gap:25px}.capital-page .capital-elements{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.capital-page .location-hero{min-height:600px}.capital-page .location-hero__image{object-position:54% center}.capital-page .location-hero h1{font-size:clamp(3.3rem,14vw,5rem)}.capital-page .location-hero__copy>p:not(.eyebrow){font-size:1.08rem}.capital-page .location-media-section figure img{aspect-ratio:1.35}.capital-page .capital-palace-section figure img{object-position:44% center}.capital-page .capital-war-section figure img{object-position:61% center}.capital-page .capital-elements{grid-template-columns:1fr}.capital-statement{margin-inline:-20px;padding:65px 20px;font-size:clamp(1.8rem,8vw,2.9rem)}}

/* Cold Fortress: mountain stone and frost, distinct from Maizergard's civic blue. */
.cold-fortress-page{--location-accent:#aebdc4;--location-line:rgba(177,192,201,.23);--location-ink:#e4e8e8;--location-muted:#abb9be;background:linear-gradient(#171b1e,#101316 50%,#0b0e11);color:var(--location-ink)}
.cold-fortress-page .location-hero{background:#273039}
.cold-fortress-page .location-hero::after{background:linear-gradient(0deg,#11171beF 0%,#11171b91 24%,transparent 63%),linear-gradient(90deg,#11171baf,transparent 56%)}
.cold-fortress-page .location-hero__image{object-position:center 53%}
.cold-fortress-page .location-hero__copy{max-width:930px}
.cold-fortress-page .location-hero__copy .eyebrow{color:#d9e4e9}
.cold-fortress-page .location-hero h1{font-size:clamp(3.7rem,8.1vw,8rem);line-height:.88}
.cold-fortress-page .location-hero__copy .cold-fortress-hero__intro{max-width:620px;margin:22px 0 0;color:#e8eef0;font:clamp(1.15rem,2vw,1.52rem)/1.48 var(--serif)}
.cold-fortress-hero__seal{display:inline-block;margin-top:25px;padding-top:8px;border-top:1px solid #c4d5d882;color:#d4dfe2;font:.66rem var(--sans);letter-spacing:.18em;text-transform:uppercase}
.cold-fortress-page .tome-nav{background:#151b1fef}
.cold-fortress-page .location-facts dt{color:#afc0c6}
.cold-fortress-page .location-facts dd a{color:#d0e1e9}
.cold-fortress-page .location-media-section figure{margin-top:34px}
.cold-fortress-page .location-media-section figure img{aspect-ratio:1672/941;object-position:center;object-fit:cover}
.cold-fortress-page .location-media-section figure figcaption{color:#aab9bf}
.cold-fortress-statement{margin:0;padding:clamp(75px,9vw,115px) 20px;border-bottom:1px solid var(--location-line);color:#dce7e9;text-align:center;font:500 clamp(2.05rem,4.4vw,4.4rem)/1.12 var(--serif);text-transform:uppercase;background:linear-gradient(180deg,#27323852,transparent)}
.cold-fortress-ordnance{display:grid;grid-template-columns:minmax(0,.42fr) 1fr;gap:35px;margin-top:40px;padding:25px 0;border-block:1px solid var(--location-line)}
.cold-fortress-ordnance span{color:#b0c5ca;font:.68rem var(--sans);letter-spacing:.13em;text-transform:uppercase}
.cold-fortress-ordnance p{margin:0;color:#c7d1d3;font:1.1rem/1.62 Georgia,serif}
.cold-fortress-chambers{display:grid;grid-template-columns:minmax(0,.55fr) 1fr;gap:30px;margin:clamp(70px,8vw,110px) 0;padding:35px 0;border-block:1px solid var(--location-line);background:linear-gradient(90deg,#7693a015,transparent 55%)}
.cold-fortress-chambers h2{margin:7px 0 0;font:500 clamp(2.5rem,4vw,4rem)/1 var(--serif)}
.cold-fortress-chambers>p{align-self:center;margin:0;color:#cad3d5;font:1.08rem/1.76 Georgia,serif}
.cold-fortress-distinction{display:grid;grid-template-columns:minmax(0,.72fr) 1fr;gap:35px;margin:70px 0;padding:clamp(30px,5vw,55px);border-left:2px solid #99b3bf;background:linear-gradient(135deg,#253139,#161c21)}
.cold-fortress-distinction .eyebrow{color:#b7cdd5}
.cold-fortress-distinction h2{margin:8px 0 0;font:500 clamp(2.2rem,3.6vw,3.6rem)/1.03 var(--serif)}
.cold-fortress-distinction p{margin:0;color:#cad4d6;font:1.07rem/1.72 Georgia,serif}
.cold-fortress-distinction a{display:inline-block;margin-top:24px;color:#d6e9ef;font:.7rem var(--sans);letter-spacing:.1em;text-transform:uppercase;text-underline-offset:5px}
.cold-fortress-page .cold-fortress-elements{grid-template-columns:repeat(3,minmax(0,1fr))}
.cold-fortress-page .location-landmarks__grid article{border-top-color:#aebfc6;background:linear-gradient(145deg,#20292d,#141a1e)}
.cold-fortress-page .location-landmarks__grid span{color:#a9c0c8}
.cold-fortress-page .location-note{border-color:#a7bdc6;background:#1e292d}
.cold-fortress-page .site-footer{background:#0c1114}
@media(max-width:768px){.cold-fortress-page .location-hero__image{object-position:53% center}.cold-fortress-ordnance,.cold-fortress-chambers,.cold-fortress-distinction{grid-template-columns:1fr}.cold-fortress-page .cold-fortress-elements{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.cold-fortress-page .location-hero{min-height:630px}.cold-fortress-page .location-hero__image{object-position:52% center}.cold-fortress-page .location-hero h1{font-size:clamp(3rem,12.5vw,4.3rem)}.cold-fortress-page .location-hero__copy .cold-fortress-hero__intro{font-size:1.08rem}.cold-fortress-page .location-media-section figure img{aspect-ratio:1.3}.cold-fortress-page .cold-fortress-defense figure img{object-position:50% center}.cold-fortress-page .cold-fortress-hall figure img{object-position:50% center}.cold-fortress-page .cold-fortress-elements{grid-template-columns:1fr}.cold-fortress-statement{margin-inline:-20px;padding:65px 20px;font-size:clamp(1.8rem,8vw,2.7rem)}.cold-fortress-distinction{margin-inline:-20px;padding:30px 20px}}

/* Kantli: inhabited Frauster fortress, with restrained stone, ember and burgundy accents. */
.kantli-page{--location-accent:#c9a580;--location-line:rgba(198,166,131,.25);background:linear-gradient(#1d1b1b,#171719 58%,#111214);color:#eee8e0}
.kantli-page .location-hero{background:#38332e}
.kantli-page .location-hero::after{background:linear-gradient(0deg,#191718f2 0%,#191718a8 28%,transparent 67%),linear-gradient(90deg,#171516a6,transparent 64%)}
.kantli-page .location-hero__image{object-position:center 48%}
.kantli-page .location-hero__copy{max-width:950px}
.kantli-page .location-hero__copy .eyebrow{color:#f0ceae}
.kantli-page .location-hero h1{color:#fff3e7;font-size:clamp(3.5rem,8vw,8rem)}
.kantli-page .location-hero__copy .kantli-hero__intro{max-width:650px;margin:22px 0 0;color:#f5ebe1;font:clamp(1.17rem,2vw,1.55rem)/1.45 var(--serif)}
.kantli-hero__line{display:block;max-width:620px;margin-top:20px;padding-top:12px;border-top:1px solid #d2ae897a;color:#e9d5be;font:1rem/1.55 Georgia,serif}
.kantli-page .tome-nav{background:#201c1def}
.kantli-page .location-facts dt{color:#c9ac91}
.kantli-page .location-facts dd a{color:#e8c7a3}
.kantli-page .location-prose p,.kantli-page .location-note p:not(.eyebrow){color:#d5ccc3}
.kantli-page .location-media-section figure{margin-top:34px}
.kantli-page .location-media-section figure img{aspect-ratio:16/9;object-fit:cover}
.kantli-page .location-media-section figure figcaption{color:#b9a995}
.kantli-page .kantli-courtyard figure img{object-position:center 52%}
.kantli-page .kantli-gates figure img{object-position:center 48%}
.kantli-page .kantli-walls{background:linear-gradient(90deg,#622a261c,transparent 62%)}
.kantli-page .location-note{border-color:#b9906f;background:linear-gradient(130deg,#342724,#211e1d)}
.kantli-page .location-note strong{color:#f2dcc3}
.kantli-page .location-return a{color:#ead1b9}
.kantli-page .site-footer{background:#121213}
@media(max-width:768px){.kantli-page .location-hero__image{object-position:56% center}}
@media(max-width:520px){.kantli-page .location-hero{min-height:630px}.kantli-page .location-hero__image{object-position:57% center}.kantli-page .location-hero h1{font-size:clamp(2.8rem,11.8vw,4.5rem);line-height:.92}.kantli-page .location-hero__copy .kantli-hero__intro{font-size:1.07rem}.kantli-hero__line{font-size:.93rem}.kantli-page .location-media-section figure img{aspect-ratio:1.3}.kantli-page .kantli-courtyard figure img{object-position:52% center}.kantli-page .kantli-gates figure img{object-position:50% center}}

/* Sanctuary: open space, pale stone and cool light within the shared dossier system. */
.sanctuary-page{--location-accent:#c2c8c9;--location-line:rgba(196,205,209,.23);background:linear-gradient(#1b2024,#14191d 52%,#101316);color:#e9eceb}
.sanctuary-page .location-hero{background:#343c42}
.sanctuary-page .location-hero::after{background:linear-gradient(0deg,#151a1eef 0%,#151a1ea6 28%,transparent 67%),linear-gradient(90deg,#151a1e95,transparent 64%)}
.sanctuary-page .location-hero__image{object-position:center 51%}
.sanctuary-page .location-hero__copy{max-width:1000px}
.sanctuary-page .location-hero__copy .eyebrow{color:#e0e5e4}
.sanctuary-page .location-hero h1{font-size:clamp(3.4rem,7.7vw,8.2rem);color:#f4f5f2}
.sanctuary-page .location-hero__copy .sanctuary-hero__intro{max-width:700px;margin:24px 0 0;color:#eef0ec;font:clamp(1.18rem,2vw,1.55rem)/1.45 var(--serif)}
.sanctuary-page .tome-nav{background:#1b2226ef}
.sanctuary-page .location-facts dt{color:#b9c4c7}
.sanctuary-page .location-facts dd a,.sanctuary-page .location-prose a{color:#dce7e7;text-underline-offset:4px}
.sanctuary-page .location-prose p,.sanctuary-page .location-note p:not(.eyebrow){color:#ced6d7}
.sanctuary-page .location-media-section figure{margin-top:34px}
.sanctuary-page .location-media-section figure img{aspect-ratio:16/9;object-fit:cover}
.sanctuary-page .location-media-section figure figcaption{color:#adbcc0}
.sanctuary-page .sanctuary-order figure img{object-position:center 48%}
.sanctuary-page .sanctuary-interior figure img{object-position:center 49%}
.sanctuary-page .sanctuary-atmosphere figure img{object-position:center 51%}
.sanctuary-page .sanctuary-landscape{background:linear-gradient(90deg,#8499a112,transparent 60%)}
.sanctuary-page .location-note{border-color:#b8c7ca;background:linear-gradient(135deg,#263036,#1a2227)}
.sanctuary-page .location-note strong{color:#e6eeed}
.sanctuary-page .site-footer{background:#101518}
@media(max-width:768px){.sanctuary-page .location-hero__image{object-position:49% center}}
@media(max-width:520px){.sanctuary-page .location-hero{min-height:610px}.sanctuary-page .location-hero__image{object-position:48% center}.sanctuary-page .location-hero h1{font-size:clamp(2.55rem,10.4vw,4.5rem)}.sanctuary-page .location-hero__copy .sanctuary-hero__intro{font-size:1.06rem}.sanctuary-page .location-media-section figure img{aspect-ratio:1.3}.sanctuary-page .sanctuary-order figure img{object-position:50% center}.sanctuary-page .sanctuary-interior figure img{object-position:50% center}.sanctuary-page .sanctuary-atmosphere figure img{object-position:51% center}}

/* Dragon Mountain: the shared dossier layout meets desert ruins and archival engravings. */
.dragon-mountain-page{--location-accent:#c6a676;--location-line:rgba(190,158,112,.25);background:linear-gradient(#201b18,#191715 45%,#111213);color:#e9e2d6}
.dragon-mountain-page .location-hero{background:#4a392c}
.dragon-mountain-page .location-hero::after{background:linear-gradient(0deg,#1c1815f4 0%,#1c1815b5 28%,transparent 70%),linear-gradient(90deg,#1a1714b4,transparent 66%)}
.dragon-mountain-page .location-hero__image{object-position:center 54%}
.dragon-mountain-page .location-hero__copy{max-width:900px}
.dragon-mountain-page .location-hero__copy .eyebrow{color:#f2d5ae}
.dragon-mountain-page .location-hero h1{font-size:clamp(3.4rem,8vw,8.2rem);color:#fff0d9}
.dragon-mountain-page .location-hero__copy .dragon-mountain-hero__intro{margin:22px 0 0;color:#f3e7d5;font:clamp(1.15rem,2vw,1.55rem)/1.45 var(--serif)}
.dragon-mountain-hero__line{display:block;max-width:710px;margin-top:18px;color:#e5d7c3;font:1rem/1.55 Georgia,serif}
.dragon-mountain-page .tome-nav{background:#211c19ef}
.dragon-mountain-page .location-facts dt{color:#c9ad85}
.dragon-mountain-page .location-prose p,.dragon-mountain-page .location-note p:not(.eyebrow){color:#d6cbbd}
.dragon-mountain-feature{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(35px,7vw,100px);align-items:center;padding:clamp(75px,9vw,125px) 0;border-bottom:1px solid var(--location-line)}
.dragon-mountain-feature--reverse{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
.dragon-mountain-feature--reverse .dragon-mountain-feature__copy{grid-column:2;grid-row:1}
.dragon-mountain-feature--reverse figure{grid-column:1;grid-row:1}
.dragon-mountain-feature .location-prose{margin-top:30px}
.dragon-mountain-feature figure{margin:0}
.dragon-mountain-feature figure img{display:block;width:100%;height:min(760px,75vw);object-fit:cover;object-position:center;border:1px solid var(--location-line)}
.dragon-mountain-feature figure figcaption{margin-top:12px;color:#ad9e89;font:.68rem/1.5 var(--sans);letter-spacing:.1em;text-transform:uppercase}
.dragon-mountain-library{background:linear-gradient(90deg,#6d491f19,transparent 70%)}
.dragon-mountain-library__line{margin:32px 0 0;padding-left:22px;border-left:2px solid var(--location-accent);color:#e7cc9f;font:500 clamp(1.5rem,2.4vw,2.3rem)/1.2 var(--serif)}
.dragon-mountain-conditions{background:linear-gradient(90deg,#8b693b13,transparent 60%)}
.dragon-mountain-page .location-prose .dragon-mountain-conditions__note{margin-top:25px;color:#e4c38f;text-transform:uppercase;font:.78rem/1.6 var(--sans);font-weight:700;letter-spacing:.13em}
.dragon-mountain-page .location-note{border-color:#ba9564;background:linear-gradient(130deg,#342a20,#211d1a)}
.dragon-mountain-page .location-note strong{color:#e9cfaa}
.dragon-mountain-page .location-return a{color:#e9d0ad}
.dragon-mountain-page .site-footer{background:#121211}
@media(max-width:768px){.dragon-mountain-feature,.dragon-mountain-feature--reverse{grid-template-columns:1fr;gap:30px}.dragon-mountain-feature--reverse .dragon-mountain-feature__copy,.dragon-mountain-feature--reverse figure{grid-column:auto;grid-row:auto}.dragon-mountain-feature figure img{height:auto;max-height:780px;aspect-ratio:4/5;object-fit:cover}.dragon-mountain-page .location-hero__image{object-position:52% center}}
@media(max-width:520px){.dragon-mountain-page .location-hero{min-height:650px}.dragon-mountain-page .location-hero__image{object-position:51% center}.dragon-mountain-page .location-hero h1{font-size:clamp(2.8rem,11.5vw,4.5rem);line-height:.92}.dragon-mountain-page .location-hero__copy .dragon-mountain-hero__intro{font-size:1.08rem}.dragon-mountain-hero__line{font-size:.92rem}.dragon-mountain-feature figure img{aspect-ratio:3/4;max-height:none}.dragon-mountain-library__line{font-size:1.45rem}}

/* Cult Fortress: heavy stone, forest shadow and restrained firelight. */
.cult-fortress-page{--location-accent:#b7a28d;--location-line:rgba(183,168,151,.23);background:linear-gradient(#181a1b,#151617 55%,#101112);color:#e8e4de}
.cult-fortress-page .location-hero{background:#20272a}
.cult-fortress-page .location-hero::after{background:linear-gradient(0deg,#141719f2 0%,#141719a8 27%,transparent 67%),linear-gradient(90deg,#111416ab,transparent 64%)}
.cult-fortress-page .location-hero__image{object-position:center 52%}
.cult-fortress-page .location-hero__copy{max-width:980px}
.cult-fortress-page .location-hero__copy .eyebrow{color:#dbc9b4}
.cult-fortress-page .location-hero h1{color:#f2f0ec;font-size:clamp(3.3rem,8vw,8.1rem)}
.cult-fortress-page .location-hero__copy .cult-fortress-hero__intro{margin:20px 0 0;color:#eee7df;font:clamp(1.15rem,2vw,1.5rem)/1.45 var(--serif)}
.cult-fortress-hero__line{display:block;max-width:690px;margin-top:18px;color:#d5c8ba;font:1rem/1.55 Georgia,serif}
.cult-fortress-page .tome-nav{background:#1a1d1eef}
.cult-fortress-page .location-facts dt{color:#bcb0a2}
.cult-fortress-page .location-facts dd a{color:#dfc4a6}
.cult-fortress-page .location-prose p,.cult-fortress-page .location-note p:not(.eyebrow){color:#d1cbc4}
.cult-fortress-page .location-media-section figure{margin-top:34px}
.cult-fortress-page .location-media-section figure img{aspect-ratio:16/9;object-fit:cover}
.cult-fortress-page .location-media-section figure figcaption{color:#afa79c}
.cult-fortress-page .cult-fortress-square figure img{object-position:center 52%}
.cult-fortress-page .cult-fortress-throne figure img{object-position:center 45%}
.cult-fortress-page .cult-fortress-prison figure img{object-position:center 49%}
.cult-fortress-walls,.cult-fortress-life{background:linear-gradient(90deg,#67452515,transparent 58%)}
.cult-fortress-page .location-prose .cult-fortress-walls__detail{margin-top:27px;padding-top:17px;border-top:1px solid var(--location-line);color:#cdb18e;font:.7rem/1.6 var(--sans);font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.cult-fortress-page .location-note{border-color:#aa927b;background:linear-gradient(135deg,#292623,#1c1c1c)}
.cult-fortress-page .location-note strong{color:#ead7c0}
.cult-fortress-page .location-return a{color:#e3cfb9}
.cult-fortress-page .site-footer{background:#101112}
@media(max-width:768px){.cult-fortress-page .location-hero__image{object-position:49% center}}
@media(max-width:520px){.cult-fortress-page .location-hero{min-height:650px}.cult-fortress-page .location-hero__image{object-position:49% center}.cult-fortress-page .location-hero h1{font-size:clamp(2.8rem,11.5vw,4.5rem);line-height:.92}.cult-fortress-page .location-hero__copy .cult-fortress-hero__intro{font-size:1.07rem}.cult-fortress-hero__line{font-size:.91rem}.cult-fortress-page .location-media-section figure img{aspect-ratio:1.3}.cult-fortress-page .cult-fortress-throne figure img{object-position:50% center}}
