@font-face{font-family:Cinzel;src:url("assets/fonts/CinzelDecorative-Regular.ttf") format("truetype");font-display:swap}
@font-face{font-family:Garamond;src:url("assets/fonts/EBGaramond[wght].ttf") format("truetype");font-display:swap}
:root{--ink:#182a30;--muted:#5f6a66;--paper:#f6f1e6;--line:#d9d5ca;--gold:#d4ad68;--teal:#cde4dd;--green:#b9d2bb;--rust:#e5b7a0}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Garamond,Georgia,serif;font-size:19px;line-height:1.45}a{color:inherit}img{display:block;max-width:100%}.page-width{width:min(1320px,calc(100% - 88px));margin-inline:auto}section[id]{scroll-margin-top:75px}
.site-header{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:19px max(44px,calc((100vw - 1320px)/2));background:#172830;color:#f5f0e6}.wordmark{text-decoration:none;font-family:Cinzel,Georgia,serif;font-size:20px;letter-spacing:.15em;white-space:nowrap}.brand-mark{color:var(--gold);font-size:29px;vertical-align:-2px;margin-right:4px}.site-header nav{display:flex;gap:37px}.site-header nav a{text-decoration:none;font:600 12px/1 Arial,sans-serif;text-transform:uppercase;letter-spacing:.15em;color:#e2e6df}.site-header nav a:hover,.site-header nav a:focus-visible{color:var(--gold)}
.hero{height:min(690px,74vw);min-height:560px;position:relative;overflow:hidden;background:#172830;color:#fff}.hero-art{position:absolute;inset:0;background:url("assets/lost-crossing.webp") center 49%/cover no-repeat;transform:scale(1.015)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,32,38,.94) 0%,rgba(14,32,38,.79) 29%,rgba(14,32,38,.1) 78%),linear-gradient(0deg,rgba(14,32,38,.78),transparent 28%)}.hero-content{position:relative;padding-top:105px}.eyebrow{font:700 11px/1.3 Arial,sans-serif;letter-spacing:.21em;text-transform:uppercase;color:#7e6552}.eyebrow.light{color:#e9cf9e}.hero h1{font-family:Cinzel,Georgia,serif;font-weight:400;line-height:1.17;font-size:clamp(38px,4.15vw,67px);letter-spacing:-.025em;max-width:730px;margin:29px 0 23px;text-shadow:0 2px 20px #13272c88}.hero h1 em{font-style:normal;color:#efd49e}.hero-content p{max-width:470px;font-size:23px;color:#ebeee9;margin:0 0 29px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;background:#ead4ab;color:#1b3035;padding:15px 21px;text-decoration:none;font:700 12px Arial,sans-serif;letter-spacing:.11em;text-transform:uppercase}.button:hover,.button:focus-visible{background:#fff2d5}.button span{font-size:18px;line-height:0}.hero-bottom{position:absolute;bottom:0;left:50%;transform:translateX(-50%);border-top:1px solid #ffffff70;display:flex;gap:54px;padding:20px 0 23px;font:700 15px Arial,sans-serif;letter-spacing:.06em}.hero-bottom span{display:flex;align-items:baseline;gap:8px}.hero-bottom small{font:400 13px Garamond,serif;letter-spacing:0;color:#f0e8db}
.section{padding-top:104px;padding-bottom:112px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:43px}.section-heading h2,.goal-main h2{font-family:Cinzel,Georgia,serif;font-weight:400;font-size:clamp(34px,3.3vw,52px);line-height:1.18;letter-spacing:-.02em;margin:17px 0 0}.section-heading p{width:min(360px,36%);margin:0 0 3px;color:#53615e;font-size:20px}
.class-list{display:grid;gap:18px}.class-card{display:grid;grid-template-columns:minmax(260px,38%) 1fr;min-height:330px;box-shadow:0 4px 20px #16252b0c}.class-intro{position:relative;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;padding:27px 34px 34px;color:#fff;background:#21343b}.class-number{position:absolute;top:25px;left:33px;font:700 11px Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase;color:#ffffffbc}.class-sigil{position:absolute;right:-33px;top:18px;width:230px;height:230px;border:1px solid #ffffff35;border-radius:50%;display:grid;place-items:center;transform:rotate(-15deg)}.class-sigil:before,.class-sigil:after{content:"";position:absolute;inset:15px;border:1px solid #ffffff22;border-radius:50%}.class-sigil:after{inset:35px}.class-sigil span{font:90px Garamond,serif;color:#ffffff30}.class-copy{position:relative;z-index:1}.role{font:700 11px Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#f3dfb7}.class-copy h3{font-family:Cinzel,Georgia,serif;font-size:36px;font-weight:400;margin:12px 0}.class-copy p{max-width:350px;margin:0;font-size:19px;line-height:1.35;color:#f1f1eb}.spells{padding:33px 34px;background:#fffcf5;display:flex;flex-direction:column}.spells-heading{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding-bottom:18px;color:#7c776c;font:700 11px Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase}.spell-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;flex:1;align-items:center}.spell{display:flex;align-items:flex-start;gap:16px}.spell-icon{flex:none;width:83px;height:83px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px dashed #b7b5a7;background:#f6f4ed;color:#6b8e89}.spell-icon span{font:33px Garamond,serif;line-height:1}.spell-icon small{font:600 8px Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#8a8d83;margin-top:6px}.hexfang .spell-icon{color:#6b8169}.bloodhound .spell-icon{color:#ab7564}.spell-cost{font:700 10px Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#987c51}.spell h4{font-family:Cinzel,Georgia,serif;font-size:17px;line-height:1.25;margin:9px 0 8px;font-weight:400}.spell p{font-size:17px;line-height:1.35;color:#56615d;margin:0}.class-note{font-size:17px;color:#75807a;text-align:center;margin:28px 0 0;font-style:italic}
.dungeon-section{background:#e9e7dc}.dungeon-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}.dungeon-card{background:#fffcf5;overflow:hidden;box-shadow:0 3px 18px #16252b0e}.dungeon-card img{width:100%;height:245px;object-fit:cover}.dungeon-card:first-child img{object-position:center 46%}.dungeon-info{padding:23px 24px 26px;display:flex;align-items:end;justify-content:space-between;gap:12px}.dungeon-kicker{font:700 10px Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#9e815f}.dungeon-info h3{font-family:Cinzel,Georgia,serif;font-size:20px;font-weight:400;line-height:1.25;margin:9px 0 0}.level-tag{white-space:nowrap;border:1px solid #c8c5b9;padding:7px 10px;font:700 10px Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#55625f}.goal-section{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.goal-main h2{font-size:clamp(42px,4.5vw,68px);max-width:540px}.goal-main h2 span{color:#ad7655}.goal-main p{max-width:540px;font-size:23px;color:#53615e;line-height:1.42;margin:24px 0 0}.goal-steps{border-top:1px solid #cfcec3}.goal-steps>div{display:grid;grid-template-columns:48px 1fr;column-gap:18px;border-bottom:1px solid #cfcec3;padding:22px 0}.step-icon{grid-row:span 2;border:1px solid #a0aca3;border-radius:50%;width:42px;height:42px;display:grid;place-items:center;font:700 11px Arial,sans-serif;color:#69877b}.goal-steps h3{font-family:Cinzel,Georgia,serif;font-size:17px;font-weight:400;margin:0 0 5px}.goal-steps p{margin:0;color:#67736e;font-size:18px}.site-footer{background:#172830;color:#e9eee6}.site-footer .page-width{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:37px;padding-bottom:37px}.site-footer span:not(.brand-mark){color:#bacbc6;font-size:16px}.site-footer a:last-child{font:700 11px Arial,sans-serif;letter-spacing:.1em;text-decoration:none;text-transform:uppercase;color:#dbc194}
@media(max-width:1050px){.page-width{width:min(100% - 56px,1320px)}.class-card{grid-template-columns:34% 1fr}.spell-grid{gap:15px}.spell{gap:11px}.spell-icon{width:68px;height:68px}.spell h4{font-size:15px}.spell p{font-size:16px}.dungeon-card img{height:205px}.dungeon-info{display:block}.level-tag{display:inline-block;margin-top:17px}}
@media(max-width:760px){.page-width{width:calc(100% - 38px)}.site-header{padding:14px 19px;flex-wrap:wrap}.wordmark{font-size:16px}.brand-mark{font-size:23px}.site-header nav{gap:18px}.site-header nav a{font-size:10px}.hero{height:610px;min-height:0}.hero-art{background-position:58% center}.hero-shade{background:linear-gradient(90deg,rgba(14,32,38,.92),rgba(14,32,38,.52)),linear-gradient(0deg,rgba(14,32,38,.82),transparent 40%)}.hero-content{padding-top:93px}.hero h1{font-size:clamp(37px,8vw,55px)}.hero-content p{font-size:20px}.hero-bottom{gap:16px;justify-content:space-between}.hero-bottom span{display:block;font-size:12px}.hero-bottom small{display:block;font-size:12px;margin-top:4px}.section{padding-top:70px;padding-bottom:75px}.section-heading{display:block;margin-bottom:30px}.section-heading p{width:auto;max-width:560px;margin-top:18px}.class-card{grid-template-columns:1fr}.class-intro{min-height:260px}.class-sigil{right:5px}.spells{padding:25px}.spell-grid{min-height:145px}.dungeon-grid{grid-template-columns:1fr;gap:18px}.dungeon-card img{height:230px}.dungeon-info{display:flex}.level-tag{margin:0}.goal-section{grid-template-columns:1fr;gap:39px}.goal-main h2{max-width:600px}.site-footer .page-width{flex-wrap:wrap}.site-footer span:not(.brand-mark){display:none}}
@media(max-width:520px){.site-header{justify-content:center}.site-header nav{width:100%;justify-content:center}.hero{height:625px}.hero-content{padding-top:77px}.hero-bottom{padding-bottom:16px}.hero-bottom span{font-size:11px}.spell-grid{grid-template-columns:1fr;gap:23px;padding:23px 0 4px}.spell-icon{width:74px;height:74px}.class-intro{padding:27px 25px 30px}.class-number{left:25px}.dungeon-card img{height:195px}.dungeon-info h3{font-size:17px}.level-tag{font-size:9px;padding:6px 8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.site-header nav{margin-left:auto}
.language-toggle{flex:none;display:grid;place-items:center;width:36px;height:36px;border:0;background:transparent;cursor:pointer;font-size:25px;padding:0;border-radius:4px}
.language-toggle:hover{background:#ffffff14}
.language-toggle:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media(max-width:1050px){.site-header{gap:18px}.site-header nav{gap:20px}}
@media(max-width:760px){.site-header{padding-right:64px}.site-header nav{gap:15px}.language-toggle{position:absolute;right:16px;top:14px}}
@media(max-width:520px){.site-header{padding-left:19px;padding-right:19px}.site-header nav{margin-left:0}}

/* Compact content treatment: display lettering stays with major headings. */
.site-header nav a[aria-current="page"]{color:var(--gold)}
.hero{height:560px;min-height:0}
.hero-content{padding-top:105px}
.hero h1{margin-bottom:30px}
.classes-section .section-heading{margin-bottom:24px}
.section-heading h2.simple-section-title{font:700 11px/1.3 Arial,sans-serif;letter-spacing:.21em;text-transform:uppercase;color:#7e6552;margin:0}
.class-card{min-height:250px}
.class-intro{justify-content:center}
.class-copy p{max-width:300px}
.spells{justify-content:center}
.spell-grid{flex:none}
.spell{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:17px}
.spell-icon{width:72px;height:72px}
.spell-icon span{font-size:31px}
.spell h4{font:600 17px/1.25 Arial,sans-serif;letter-spacing:0;margin:6px 0 6px}
.spell p{font:400 15px/1.4 Arial,sans-serif;color:#56615d}
.goal-steps>div{align-items:center}
@media(max-width:760px){.hero{height:520px}.hero-content{padding-top:85px}.class-intro{min-height:190px}.spell-grid{min-height:0;gap:22px}}
@media(max-width:520px){.site-header nav{flex-wrap:wrap;gap:10px 16px}.hero{height:535px}.hero-content{padding-top:75px}.spells{padding:22px}.spell-grid{padding:0}.spell{grid-template-columns:68px minmax(0,1fr);gap:14px}.spell-icon{width:68px;height:68px}}

/* The party illustration anchors the home page. Keep the full group visible on small screens. */
.hero-art{left:30%;background-image:url("assets/vestige-party.webp");background-position:center;background-size:cover;transform:none}
.hero-shade{background:linear-gradient(90deg,#172830 0%,#172830 24%,rgba(23,40,48,.94) 31%,rgba(23,40,48,.24) 47%,transparent 63%),linear-gradient(0deg,rgba(14,32,38,.65),transparent 22%)}
.hero-content{padding-top:105px}
.hero h1{max-width:530px;font-size:clamp(34px,3.35vw,50px)}
@media(max-width:760px){
  .hero{height:auto;display:flex;flex-direction:column}
  .hero-art{position:relative;left:auto;inset:auto;width:100%;aspect-ratio:1672/941;background-size:contain;background-position:center}
  .hero-shade{display:none}
  .hero-content{width:100%;padding:28px 19px 25px}
  .hero h1{font-size:clamp(31px,7vw,48px);margin:15px 0 23px}
  .hero-bottom{position:relative;bottom:auto;left:auto;transform:none;width:calc(100% - 38px);padding:17px 0 22px}
}

/* Class portraits and a single-column goal. */
.class-intro{align-items:center;justify-content:center;padding:24px 28px 28px;gap:16px}
.class-art{width:100%;height:210px;object-fit:contain;filter:drop-shadow(0 8px 12px #0003)}
.class-copy{width:100%}
.class-copy h3{font-size:30px;margin:0 0 12px}
.class-copy p{max-width:none}
.goal-section{display:block}
.goal-main h2,.goal-main p{max-width:760px}
@media(max-width:760px){.class-intro{display:grid;grid-template-columns:120px minmax(0,1fr);gap:22px}.class-art{height:180px}.class-copy h3{font-size:28px}}
@media(max-width:380px){.class-intro{grid-template-columns:90px minmax(0,1fr);padding:22px 18px;gap:16px}.class-art{height:150px}.class-copy h3{font-size:23px}}

.spell-icon-art{border:1px solid #485035;border-radius:9px;overflow:hidden;background:#141908}.spell-icon-art img{display:block;width:100%;height:100%;object-fit:cover}

/* Dungeon relics: existing concept art, shown in a consistent square frame. */
.vestiges-section .section-heading{margin-bottom:20px}
.vestige-intro{font-size:23px;margin:0 0 12px}
.vestige-rules{font:400 16px/1.6 Arial,sans-serif;color:var(--muted);max-width:800px;margin:0 0 32px}
.vestige-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.vestige-card{background:#fffcf5;overflow:hidden;box-shadow:0 3px 18px #16252b0e}
.vestige-art{aspect-ratio:1;background-size:cover;background-repeat:no-repeat;background-position:center;background-color:#eee8dc}
.banked-flame{background-image:url("assets/vestige-cinder-sheet.webp");background-size:480% 240%;background-position:65.7895% 7.1429%}
.brood-thread,.wayward-compass{background-image:url("assets/vestige-thread-compass.webp");background-size:200% 100%}
.brood-thread{background-position:left center}
.wayward-compass{background-position:right center}
.banner-fragment{background-image:url("assets/vestige-banner.webp")}
.vestige-copy{padding:23px}
.vestige-copy .eyebrow{font-size:10px;letter-spacing:.12em}
.vestige-copy h3{font:600 20px/1.3 Arial,sans-serif;margin:12px 0}
.vestige-copy p{font:400 15px/1.5 Arial,sans-serif;color:var(--muted);margin:0}
.vestige-concept{display:inline-block;font:600 11px/1.4 Arial,sans-serif;color:#7e6552;margin-top:15px}
@media(max-width:1050px){.vestige-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.vestige-grid{grid-template-columns:1fr}.vestige-art{max-width:300px;width:100%;margin-inline:auto}.vestige-copy{padding:20px}.vestige-intro{font-size:21px}}

/* The same transparent emblem is used in the game and website. */
.wordmark{display:inline-flex;align-items:center;gap:10px}
.brand-logo{width:44px;height:44px;object-fit:contain;flex:none}
.dungeon-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:760px){.brand-logo{width:36px;height:36px}.dungeon-grid{grid-template-columns:1fr}}

.dungeon-info h3{margin:0}

/* Two clear entry points into the game concept. */
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;max-width:650px}
.button-secondary{background:rgba(23,40,48,.85);color:#ead4ab;border:1px solid #ead4ab}
.button-secondary:hover,.button-secondary:focus-visible{background:#2b424a;color:#fff2d5}
.hero{height:620px}
.hero h1{font-size:clamp(32px,3.1vw,47px)}
@media(max-width:760px){.hero{height:auto}.hero-actions{max-width:none}.hero h1{font-size:clamp(30px,6.5vw,45px)}}
@media(max-width:520px){.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .button{gap:14px}}

/* The main emblem introduces Vestiges; dungeon relics are a compact collection. */
.vestige-feature{display:grid;grid-template-columns:minmax(230px,34%) 1fr;gap:64px;align-items:center;margin-bottom:48px}
.vestige-emblem{width:100%;max-width:350px;height:auto;justify-self:center;filter:drop-shadow(0 12px 24px #d4ad6828)}
.vestige-feature .section-heading{margin-bottom:20px}
.vestige-feature .vestige-rules{margin-bottom:0}
.vestiges-section .vestige-card{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;box-shadow:none;background:transparent;gap:16px}
.vestiges-section .vestige-art{width:92px;max-width:none;border-radius:8px}
.vestiges-section .vestige-copy{padding:0}
.vestiges-section .vestige-copy h3{font-size:17px;margin:7px 0}
.vestiges-section .vestige-copy p{font-size:14px;line-height:1.45}
.vestiges-section .vestige-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 40px;border-top:1px solid var(--line);padding-top:32px}
@media(max-width:760px){.vestige-feature{grid-template-columns:180px 1fr;gap:28px}.vestige-emblem{max-width:220px}}
@media(max-width:520px){.vestige-feature{grid-template-columns:1fr;gap:22px;margin-bottom:30px}.vestige-emblem{max-width:240px}.vestiges-section .vestige-grid{grid-template-columns:1fr;gap:22px}.vestiges-section .vestige-card{grid-template-columns:80px minmax(0,1fr)}.vestiges-section .vestige-art{width:80px;margin:0}}

/* Level-two spells complete each class's three-spell kit. */
.spell-grid .spell:last-child{grid-column:1/-1;border-top:1px solid var(--line);padding-top:22px;margin-top:4px}
@media(max-width:520px){.spell-grid .spell:last-child{padding-top:20px}}

/* Playtest downloads: recommendations stay collapsed by default. */
.download-page{max-width:1000px;padding-top:80px;padding-bottom:90px}.download-intro{max-width:740px;margin-bottom:40px}.download-intro h1{font:400 clamp(32px,4vw,52px)/1.2 Cinzel,Georgia,serif;margin:18px 0}.download-intro>p{color:var(--muted);font-size:23px}.download-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.download-card{background:#fffcf5;border:1px solid var(--line);padding:32px}.download-card h2{display:flex;align-items:center;gap:12px;font:400 28px Cinzel,Georgia,serif;margin:0 0 10px}.download-card p{color:var(--muted);margin:0 0 25px;font-size:17px}.download-card .button{width:100%;justify-content:center;letter-spacing:.08em}.download-note{font-size:15px;color:var(--muted);margin:20px 0 30px}.download-details{margin-top:30px;max-width:780px;color:var(--muted);font-size:17px}.download-details details{border-top:1px solid var(--line);padding:14px 0}.download-details summary{cursor:pointer;width:fit-content;font-size:16px;color:var(--ink)}.download-details summary:focus-visible{outline:2px solid var(--ink);outline-offset:5px}.download-details p{margin:14px 0}.download-details li{margin-bottom:10px}.site-header nav{flex-wrap:wrap;row-gap:14px}
@media(max-width:760px){.download-page{padding-top:48px;padding-bottom:55px}.download-grid{grid-template-columns:1fr}.download-card{padding:25px}.download-intro>p{font-size:20px}}

.download-card .platform-icon{width:24px;height:24px;flex:none;opacity:.85}
