/* All sections share the same content bounds. */
:root{--gutter:clamp(24px,6vw,100px);--max:1280px;--section-gap:110px}
.header .brand{color:#fff8ec}
h2,.hero h1,#class-panel h3{font-family:Georgia,"Songti SC",SimSun,serif;font-weight:500}h2{font-size:clamp(36px,4vw,60px);line-height:1.4}h3{line-height:1.4}.scroll-progress{position:fixed;top:0;left:0;width:100%;height:2px;transform:scaleX(0);transform-origin:left;background:#d6a967;z-index:30;pointer-events:none}
.header{position:absolute;top:0;left:0;width:100%;height:96px;padding:0 var(--gutter);color:#fff8ec;z-index:10;background:transparent;border-bottom:1px solid #fff8ec25}.brand{font-family:Georgia,serif;font-size:30px;letter-spacing:.12em}.brand span{font-family:Arial,"Microsoft YaHei",sans-serif;font-size:12px;letter-spacing:.15em;border-color:currentColor}.header nav a{position:relative;padding:8px 0}.header nav a::after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background:#e5bd7c;transform:scaleX(0);transition:transform .25s}.header nav a:hover::after,.header nav a.active::after{transform:scaleX(1)}.header nav a:hover{color:#fff8ec}.language{color:inherit;min-width:40px;min-height:40px}.button{min-height:50px;padding:12px 30px;box-shadow:0 4px 18px #30221912;transition:background .2s,box-shadow .2s}.button:hover{transform:none;box-shadow:0 6px 22px #30221930}.button.small{min-height:40px;padding:9px 20px;background:#fff8ec0b;border-color:#fff8ec66}.button.small:hover{background:#fff8ec20}
.hero{height:max(800px,100svh);max-height:1080px;min-height:740px;overflow:hidden}.hero-art{object-position:36% center}.hero-shade{background:linear-gradient(90deg,rgba(8,17,29,.05) 22%,rgba(8,17,29,.32) 50%,rgba(8,17,29,.75) 100%),linear-gradient(0deg,#07101bd9,transparent 24%,transparent 70%,#07101b70)}.hero-content{width:42%;margin-left:54%;padding:120px 0 90px;max-width:650px}.hero .eyebrow{color:#e3bd80;margin-bottom:32px}.hero-wordmark{font:14px/1 Georgia,serif;letter-spacing:.25em;display:block;margin-bottom:24px;color:#ead4af}.hero-wordmark i{font-style:normal;font-size:11px;letter-spacing:.3em;margin-left:8px;opacity:.7}.hero h1{white-space:pre-line;color:#fff8ec;font-size:clamp(44px,4.7vw,76px);line-height:1.27;letter-spacing:.035em;text-shadow:0 2px 25px #07101b60;margin:0}.hero-description{color:#e1ddd4;font-size:16px;line-height:1.9;margin:28px 0 0}.hero-bottom{bottom:34px;left:var(--gutter);right:var(--gutter);font-size:12px;letter-spacing:.12em;color:#e6d5b9}.hero-bottom a{display:flex;align-items:center;gap:18px}.hero-bottom a::before{content:"";height:32px;width:1px;background:#e6d5b980}
.section{padding:var(--section-gap) max(var(--gutter),calc((100% - var(--max))/2));scroll-margin-top:0}.section-top{border-bottom:0;border-top:1px solid var(--line);padding-top:20px;margin-bottom:42px}.section-top .eyebrow{margin:0;color:#8c7660}.world-heading{gap:80px;align-items:end}.world-heading>p{max-width:460px;margin:0 0 8px;line-height:1.95}.region-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:60px}.region-card{position:relative;display:block;height:390px;border-radius:10px;overflow:hidden;background:var(--inset,#ece0ca);isolation:isolate}.region-card:nth-child(2){margin-top:36px}.region-card:nth-child(3){margin-top:72px}.region-card img{width:100%;height:100%;object-fit:cover;transition:transform .8s;filter:saturate(.85)}.region-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#182319e8,transparent 70%);z-index:1}.region-card:hover img{transform:scale(1.05)}.region-caption{position:absolute;left:26px;right:26px;bottom:26px;z-index:2;color:#fff8ec}.region-caption>span{font-size:10px;letter-spacing:.16em;color:#e6cfac}.region-caption h3{color:#fff8ec;font-family:Georgia,"Songti SC",SimSun,serif;font-size:30px;margin:14px 0 8px}.region-caption p{font-size:13px;margin:0;color:#ece1ca}.places{grid-template-columns:repeat(6,minmax(0,1fr));margin-top:48px;gap:20px;padding-top:26px;border-top:1px solid var(--line)}.places article{display:flex;flex-direction:column;gap:6px;border:0;padding:0}.places article>span{font-size:11px;color:#ac8060}.places h3{font-size:14px;line-height:1.6;margin:0}
.path{position:relative;overflow:hidden}.class-layout{display:grid;grid-template-columns:1.1fr 1fr;column-gap:90px;position:relative;min-height:600px}.class-art{grid-column:1;grid-row:1 / 3;position:relative;display:flex;align-items:flex-end;justify-content:center;isolation:isolate}.class-art-type{position:absolute;top:20px;font-family:Georgia,serif;font-size:clamp(110px,14vw,220px);color:#c9b596;letter-spacing:-.05em;opacity:.38;z-index:-1}.class-art img{height:580px;max-width:100%;object-fit:contain;object-position:bottom;filter:drop-shadow(0 18px 14px #62473424)}.class-layout>div:nth-child(2){grid-column:2;grid-row:1;padding-top:15px}.class-layout h2{font-size:clamp(32px,3.4vw,48px)}.tabs{margin-top:30px}.tabs button{min-width:96px;min-height:44px;border-color:#9f8569}#class-panel{grid-column:2;grid-row:2;padding-top:38px}.class-number{font-size:11px;color:#946e48;margin-bottom:16px}#class-panel h3{font-size:30px;line-height:1.5;margin-bottom:18px}#class-description{min-height:66px}.class-traits{margin:22px 0 28px}.class-footnote{border-color:#c6b396}
.features{gap:48px;margin:54px 0 64px}.features article{padding-top:24px;border-top:1px solid var(--line)}.feature-index{font:italic 22px Georgia,serif;margin-bottom:22px}.features h3{font-size:22px;margin-bottom:14px}.features p{font-size:16px;line-height:1.9;margin:0}.game-shot{margin:0;position:relative}.game-shot>img{border:1px solid #ccb99f;box-shadow:0 24px 50px #62473418}.shot-open{position:absolute;right:20px;top:20px;z-index:1;border:1px solid #fff8ec80;background:#f8f1e3e8;color:#302219;padding:8px 16px;border-radius:7px;font-size:13px;backdrop-filter:blur(8px)}.game-shot figcaption{margin-top:20px}
.closing{position:relative;isolation:isolate;background:#28374b;color:#fff8ec;overflow:hidden;border:0;padding-top:90px;padding-bottom:95px}.closing::before{content:"";position:absolute;inset:0;background:linear-gradient(#09152dcc,#09152de8),url('assets/campfire.webp') center 57%/cover;z-index:-1}.closing .eyebrow{color:#dfbc86}.closing h2{color:#fff8ec}.closing>p:not(.eyebrow){color:#d7d3cb;margin:20px 0 32px}.closing .button{background:var(--paper);color:var(--ink);border-color:#ccb99f}.closing .button:hover{background:#e8d8bb}footer{padding:38px var(--gutter);border:0}footer .brand{font-size:24px}footer a:last-child{border-bottom:1px solid var(--line)}dialog{width:min(580px,calc(100% - 32px));box-shadow:0 30px 100px #0005}dialog::backdrop{background:#101725bb;backdrop-filter:blur(8px)}#image-viewer{width:min(1400px,94vw);padding:12px;max-height:94svh;border-width:3px}#image-viewer img{width:100%;display:block;border-radius:5px}#close-image{position:absolute;right:20px;top:20px;font-size:28px;min-width:36px;min-height:36px;border:0;background:var(--paper);color:var(--border);border-radius:7px;box-shadow:0 2px 8px #0002;line-height:1}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s,transform .75s}.reveal.visible{opacity:1;transform:none}
@media(min-width:1800px){.hero-content{margin-left:55%}}@media(max-width:1100px){:root{--section-gap:80px}.header{height:80px}.hero{height:780px;min-height:700px}.hero-content{width:44%;margin-left:51%}.hero h1{font-size:52px}.world-heading{gap:40px}.region-card{height:330px}.region-caption{left:20px;right:20px;bottom:20px}.region-caption h3{font-size:25px}.class-layout{gap:45px;min-height:520px}.class-art img{height:510px}.features{gap:30px}.places{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 30px}}
@media(max-width:700px){:root{--gutter:24px;--section-gap:64px}.header{height:76px;padding:0 24px;gap:12px}.brand{font-size:24px}.header-actions{gap:10px}.button.small{padding:9px 12px;font-size:12px}.hero{height:850px;min-height:850px;max-height:none;align-items:flex-start}.hero-art{object-position:29% center}.hero-shade{background:linear-gradient(180deg,#09152dbd,rgba(9,21,45,.65) 32%,transparent 72%,#09152dbf)}.hero-content{width:100%;margin:0;padding:140px 24px 0;text-align:center;max-width:none}.hero .eyebrow{font-size:11px;margin-bottom:24px}.hero-wordmark{font-size:12px;margin-bottom:22px}.hero h1{font-size:44px;line-height:1.32;margin:0}.hero-description{font-size:14px;line-height:1.85;margin-top:24px}.hero-buttons{justify-content:center;gap:22px;margin-top:26px}.hero-bottom{bottom:26px;font-size:10px;line-height:1.8}.hero-bottom>a{display:none}h2{font-size:36px;line-height:1.4}.section-top{margin-bottom:30px}.world-heading{gap:24px}.world-heading>p{font-size:15px}.region-gallery{grid-template-columns:1fr;gap:18px;margin-top:34px}.region-card{height:290px}.region-card:nth-child(2),.region-card:nth-child(3){margin-top:0}.region-caption h3{font-size:28px}.places{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:28px;gap:18px}.class-layout{grid-template-columns:1fr;gap:0;min-height:0}.class-layout>div:nth-child(2){grid-column:1;grid-row:1;padding:0}.class-art{grid-column:1;grid-row:2;margin:24px 0 0;height:330px}.class-art img{height:345px;max-width:90%}.class-art-type{font-size:140px;top:40px}#class-panel{grid-column:1;grid-row:3;padding-top:32px}.class-layout h2{font-size:36px}.tabs{margin-top:26px}#class-description{min-height:0}#class-panel h3{font-size:28px}.features{gap:30px;margin:36px 0 38px}.features article{border-bottom:0}.features h3{font-size:21px}.features p{font-size:15px}.shot-open{right:10px;top:10px;padding:6px 10px;font-size:11px}.game-shot figcaption{font-size:10px;gap:14px;margin-top:14px}.closing{padding-top:64px;padding-bottom:64px}footer{padding:28px 24px}footer .brand{font-size:21px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}

/* Supplied screenshot compositions remain visible inside landscape frames. */
.region-card{height:auto;border:1px solid #ccb99f;background:#ece0ca}
.region-card img{display:block;height:auto;aspect-ratio:16/10;object-fit:contain;filter:none}
.region-card::after{display:none}
.region-caption{position:relative;left:auto;right:auto;bottom:auto;padding:24px;color:#44403d}
.region-caption>span{color:#877f73}
.region-caption h3{color:#302219}
.region-caption p{color:#756d61}
.combat-shot{margin:42px 0 0;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:40px;align-items:center}
.combat-shot img{width:100%;display:block;border:1px solid #ccb99f;border-radius:10px}
.combat-shot figcaption{display:flex;flex-direction:column;gap:24px;padding:24px;color:#302219;font-family:Georgia,"Songti SC",SimSun,serif;font-size:clamp(24px,2.5vw,36px);line-height:1.5}
.combat-shot figcaption span:last-child{font:12px/1.6 Arial,"Microsoft YaHei",sans-serif;letter-spacing:.12em;color:#877f73}
@media(max-width:1100px){.region-card{height:auto}.region-caption{left:auto;right:auto;bottom:auto;padding:20px}}
@media(max-width:700px){.region-card{height:auto}.region-caption{padding:20px}.combat-shot{grid-template-columns:1fr;gap:18px;margin-top:32px}.combat-shot figcaption{padding:0;gap:10px;font-size:26px}}

/* Denser body layout; hero and header retain their approved composition. */
.world,.path,.adventure{--section-gap:60px}
.world .section-top,.path .section-top,.adventure .section-top{margin-bottom:26px;padding-top:14px}
.world h2,.adventure>h2{font-size:clamp(32px,3.2vw,46px);line-height:1.3}
.world-heading{gap:48px}
.region-gallery{margin-top:30px;gap:20px;align-items:start}
.region-card:nth-child(2),.region-card:nth-child(3){margin-top:0}
.region-caption{padding:18px 20px}
.region-caption h3{font-size:25px;margin:8px 0 6px}
.region-card img{aspect-ratio:16/9}
.places{margin-top:24px;padding-top:18px;gap:16px}
.class-layout{min-height:0;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);column-gap:48px;grid-template-rows:auto 1fr}
.class-art{align-items:center}
.class-art img{height:425px}
.class-art-type{font-size:160px;top:80px}
.class-layout>div:nth-child(2){padding-top:0}
.class-layout h2{font-size:38px;line-height:1.3}
.tabs{margin-top:18px}
#class-panel{padding-top:24px}
.class-number{margin-bottom:10px}
#class-panel h3{font-size:26px;margin-bottom:12px}
#class-description{min-height:0;margin-bottom:16px}
.class-traits{margin:16px 0 20px}
.class-footnote{padding-top:14px;margin-bottom:0}
.combat-shot{margin:28px 0 36px;gap:32px;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.combat-shot figcaption{padding:0;gap:10px;font-size:25px;align-self:start}
.combat-shot figcaption>.features{display:grid;grid-template-columns:1fr;gap:18px;margin:12px 0 0;font-family:Arial,"Microsoft YaHei",sans-serif}
.combat-shot .features article{padding-top:16px}
.combat-shot .feature-index{float:left;width:32px;font-size:18px;margin:0}
.combat-shot .features h3,.combat-shot .features p{margin-left:38px}
.combat-shot .features h3{font-size:18px;margin-bottom:6px}
.combat-shot .features p{font-size:14px;line-height:1.75}
.closing{padding-top:48px;padding-bottom:52px}
.closing h2{font-size:40px}
.closing .eyebrow{margin-bottom:18px}
.closing>p:not(.eyebrow){margin:14px 0 22px}
footer{padding-top:24px;padding-bottom:24px}
@media(max-width:1100px){.class-art img{height:385px}.class-layout{column-gap:32px}.class-layout h2{font-size:34px}.combat-shot{gap:24px;align-items:start}}
@media(max-width:700px){.world,.path,.adventure{--section-gap:40px}.world-heading{gap:18px}.region-gallery{margin-top:24px;gap:16px}.region-caption{padding:16px 18px}.places{gap:14px}.world h2,.adventure>h2{font-size:32px}.class-layout{grid-template-columns:1fr;gap:0}.class-art{height:250px;margin-top:14px}.class-art img{height:265px}.class-art-type{font-size:120px;top:40px}.class-layout h2{font-size:32px}#class-panel{padding-top:22px}.combat-shot{grid-template-columns:1fr;gap:20px;margin-top:24px}.combat-shot .features{gap:16px}.closing{padding:40px 24px}.closing h2{font-size:32px}}
