/* AION2BUILD — editorial fantasy redesign. Scoped v-* classes preserve the working tools. */
:root{
 --ink:#090d14;--ink2:#121a24;--panel:#161e29;--panel2:#1e2935;--line:#33404a;
 --white:#f8f3e9;--gold:#e3bf83;--gold2:#bc9059;--aqua:#b8c8cc;
 --muted:#b2bdc6;--max:1320px;color-scheme:dark;
 font-family:"Avenir Next","Segoe UI",system-ui,-apple-system,sans-serif;
 font-synthesis:none
}
html{background:#090d14;scroll-padding-top:94px}body{background:#090d14;color:var(--white);font-size:16px;line-height:1.65}
p{color:var(--muted)}
h1,h2,h3{color:var(--white)}
button,input,select{font:inherit}
button,a{touch-action:manipulation}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #fff1ba;outline-offset:3px}
[hidden]{display:none!important}
.shell,.v-wrap{max-width:1320px;margin-inline:auto;padding-inline:clamp(19px,4vw,50px)}
.v-wrap{width:100%}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.v-arrow{width:20px;height:20px;flex:0 0 auto;vertical-align:middle}
.v-chevron{width:18px;height:18px;flex:0 0 auto}
.v-kicker{font-size:.74rem;font-weight:800;letter-spacing:.25em;color:var(--gold);text-transform:uppercase;display:block;margin-bottom:19px}
.v-text-link{display:inline-flex;align-items:center;gap:11px;white-space:nowrap;color:var(--gold);font-weight:750;font-size:.88rem;line-height:1.3}
.v-text-link:hover{color:#fff4d5}.v-text-link .v-arrow{transition:transform .2s}.v-text-link:hover .v-arrow{transform:translateX(5px)}
.v-button{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;padding:15px 24px;min-height:54px;border:1px solid var(--gold);font-weight:800;font-size:.89rem;letter-spacing:.01em;text-decoration:none;transition:background .25s,color .25s,transform .25s;cursor:pointer;border-radius:3px}
.v-button .v-arrow{height:19px;width:19px;transition:transform .25s}
.v-button:hover{transform:translateY(-2px)}.v-button:hover .v-arrow{transform:translateX(4px)}
.v-button--solid{background:var(--gold);color:#131719}.v-button--solid:hover{background:#f2d3a1;color:#131719}
.v-button--outline{color:#f6e8cf;background:#0b131bb8;border-color:#8b806c}
.v-button--outline:hover{border-color:var(--gold);background:#27303c;color:#fff}
.v-crumbs{display:flex;gap:13px;align-items:center;font-size:.76rem;color:#c2bdaf;margin-bottom:40px;line-height:1.2}
.v-crumbs a{color:#a7b0b9}.v-crumbs a:hover{color:var(--gold)}
.v-crumbs__sep{color:#7e817f}
.v-section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:31px}
.v-section-head>div{max-width:780px}
.v-section-head .v-kicker{margin-bottom:11px}
.v-section-head h2{font-family:"Baskerville","Palatino Linotype",Georgia,serif;font-size:clamp(2.5rem,4vw,3.8rem);letter-spacing:-.05em;font-weight:500;line-height:1.08;margin:0 0 13px;text-wrap:balance}
.v-section-head p{max-width:670px;font-size:.98rem;margin:0;line-height:1.75}
.v-section-head .v-text-link{margin-bottom:12px}
.topline{background:#0b0d13;border-color:#262c35;color:#d5be93;height:auto;font-size:.66rem}
.topline-inner{padding-top:8px;padding-bottom:8px}
.topline .topline-inner>span:first-child{letter-spacing:.15em}
.site-header{background:rgba(10,13,19,.95);border-bottom:1px solid #35332e;backdrop-filter:blur(17px)}
.header-row{height:83px}
.brand{gap:14px}
.brand img{width:42px;height:42px;border-radius:0;box-shadow:0 0 18px rgba(195,151,88,.15)}
.brand strong{font-family:"Baskerville","Palatino Linotype",Georgia,serif;font-weight:700;font-size:1.42rem;letter-spacing:.12em;line-height:1.02}
.brand small{font-weight:800;color:#9c9690;letter-spacing:.24em;font-size:.56rem;margin-top:6px}
.brand .gold{color:var(--gold)}
.main-nav{gap:28px}.main-nav a{font-size:.86rem;font-weight:700;letter-spacing:.025em;color:#c8c5bf}
.main-nav a:hover,.main-nav a[aria-current=page]{color:#f2d5a2}
.main-nav a[aria-current=page]:after{background:var(--gold)}
.search-button{border:1px solid #6c6153;border-radius:3px;padding:11px 17px;color:#f0d5a3;font-size:.86rem}
.search-button:hover{border-color:var(--gold);background:#1e242d}
.menu-button{border-radius:2px;font-size:1.2rem}
.mobile-nav{background:#121821;border-color:#383b3c}
.mobile-nav a{border-color:#333f4b;padding:14px 0}

/* full-bleed hero, genuine publisher artwork */
.v-hero{min-height:680px;position:relative;overflow:hidden;isolation:isolate;background:#141720;border-bottom:1px solid #514735}
.v-hero__backdrop{position:absolute;inset:0;z-index:-3;background-image:url("/assets/media/hero-castle-official.webp");background-size:cover;background-position:center 35%;filter:saturate(.88) contrast(1.1)}
.v-hero:after{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(90deg,rgba(7,10,16,.96) 0%,rgba(7,10,16,.91) 30%,rgba(7,10,16,.74) 51%,rgba(7,10,16,.1) 100%),linear-gradient(0deg,#090d14 0%,transparent 38%),radial-gradient(circle at 78% 36%,transparent 12%,rgba(4,8,13,.43) 82%)}
.v-hero__character{position:absolute;pointer-events:none;z-index:-1;width:min(57vw,745px);height:auto;max-height:730px;object-fit:contain;object-position:center bottom;right:max(-55px,calc((100vw - 1480px)/2));bottom:-85px;filter:drop-shadow(-26px 30px 35px rgba(0,0,0,.48))}
.v-hero__body{position:relative;z-index:2;min-height:660px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-top:76px;padding-bottom:91px}
.v-hero__eyebrow{display:flex;gap:14px;align-items:center;color:#e0c599;font-size:.72rem;letter-spacing:.18em;font-weight:850}
.v-hero__eyebrow i{height:1px;width:26px;background:#d5b683}
.v-hero__diamond{font-size:1.35rem;color:#e8cf9b;line-height:0}
.v-hero h1{font-family:"Baskerville","Palatino Linotype",Georgia,serif;font-weight:500;font-size:clamp(4rem,6.3vw,7rem);line-height:.99;letter-spacing:-.05em;text-shadow:0 3px 22px #06090c5a;max-width:870px;margin:32px 0 24px;text-wrap:balance}
.v-hero h1 em,.v-page-hero h1 em,.v-build-hero h1 em,.v-tools-scene h2 em{font-style:italic;color:#e1b777;font-weight:450}
.v-hero__body>p{max-width:565px;color:#d6d7d2;font-size:1.11rem;line-height:1.84;margin:0}
.v-hero__buttons{display:flex;flex-wrap:wrap;gap:13px;margin:34px 0 50px}
.v-hero__numbers{display:flex;gap:0;font-size:.67rem;font-weight:800;letter-spacing:.12em;color:#dad6cd}
.v-hero__numbers>span{border-right:1px solid #ffffff60;margin-right:19px;padding-right:19px;display:flex;gap:7px;align-items:center}
.v-hero__numbers>span:last-child{border-right:0;margin-right:0}
.v-hero__numbers strong{color:var(--gold);font-family:Georgia,serif;font-size:1.14rem;letter-spacing:0}
.v-hero__footnote{position:absolute;right:31px;bottom:20px;color:#d9d3c1;font-size:.62rem;font-weight:800;letter-spacing:.17em;z-index:4;text-shadow:0 2px 6px #000}
.v-hero__footnote span{color:var(--gold);margin:0 8px}

/* navigation quicklinks, not feature card spam */
.v-jumpstrip{display:grid;grid-template-columns:repeat(3,1fr);background:#131a23;margin-top:-2px;padding:0;max-width:1320px;border:1px solid #343b43;position:relative;z-index:2}
.v-jumpstrip a{position:relative;display:grid;grid-template-columns:45px 1fr auto;align-items:center;grid-template-rows:auto auto;column-gap:11px;min-height:114px;padding:22px 25px;transition:background .2s}
.v-jumpstrip a+a{border-left:1px solid #343b43}
.v-jumpstrip a:hover{background:#202b37}
.v-jumpstrip a>span:first-child{font-family:Georgia,serif;color:var(--gold);font-size:1.35rem;grid-row:span 2}
.v-jumpstrip a strong{font-size:.96rem;color:#f2efea;letter-spacing:-.01em}
.v-jumpstrip a small{font-size:.75rem;color:#a3b0b9;grid-column:2}
.v-jumpstrip .v-arrow{grid-column:3;grid-row:span 2;color:var(--gold)}

/* class gallery — cinematic character portraits */
.v-class-section{padding-top:105px;padding-bottom:105px}
.v-class-filters{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:23px;border-bottom:1px solid #34404b;padding-bottom:17px}
.v-role-switch{display:flex;gap:8px;flex-wrap:wrap}
.v-role-switch button{border:1px solid transparent;background:transparent;color:#abb8c2;padding:11px 16px;font-size:.88rem;font-weight:750;border-radius:3px;min-height:44px}
.v-role-switch button span{font-size:.65rem;vertical-align:1px;padding-left:5px;color:var(--gold)}
.v-role-switch button:hover{background:#232c35;color:#fff}
.v-role-switch button[aria-pressed=true]{border-color:#bba074;color:#f5d7a5;background:#2b2927}
.v-class-search{position:relative;display:block;min-width:220px}
.v-class-search>svg{width:17px;height:17px;position:absolute;left:13px;top:13px;color:#bdad93;pointer-events:none}
.v-class-search input{width:100%;border:1px solid #44515e;border-radius:3px;padding:11px 13px 11px 40px;min-height:44px;color:#fff;background:#131e2a;font-size:.83rem}
.v-class-search input::placeholder{color:#9aa9b7}
.v-classes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}
.v-class{display:block;position:relative;height:348px;overflow:hidden;background:radial-gradient(circle at 52% 38%,#5362666d,transparent 50%),linear-gradient(145deg,#28313a,#0f1823 77%);border:1px solid #5b554d;isolation:isolate;color:#fff;transition:transform .3s,border-color .3s,box-shadow .3s}
.v-class--gladiator,.v-class--templar{background:radial-gradient(circle at 50% 32%,#746f6266,transparent 58%),linear-gradient(140deg,#2f3336,#111921)}
.v-class--assassin,.v-class--spiritmaster{background:radial-gradient(circle at 50% 32%,#65537483,transparent 58%),linear-gradient(140deg,#292333,#111421)}
.v-class--ranger,.v-class--cleric{background:radial-gradient(circle at 55% 30%,#53725d75,transparent 58%),linear-gradient(140deg,#1d3030,#111920)}
.v-class--sorcerer,.v-class--chanter{background:radial-gradient(circle at 50% 38%,#576f837a,transparent 58%),linear-gradient(140deg,#202c39,#101925)}
.v-class:after{content:"";position:absolute;inset:34% 0 0;background:linear-gradient(0deg,#0b0f16 2%,#0b1018f0 18%,#0a111bd4 40%,transparent 100%);z-index:2;pointer-events:none}
.v-class img{position:absolute;top:4px;left:50%;transform:translateX(-50%);height:90%;width:105%;object-fit:contain;object-position:center 15%;z-index:1;filter:drop-shadow(1px 10px 20px #0008);transition:transform .45s,filter .45s}
.v-class:hover{transform:translateY(-5px);border-color:var(--gold);box-shadow:0 23px 35px #0009;color:white}
.v-class:hover img{transform:translateX(-50%) scale(1.07);filter:drop-shadow(1px 10px 20px #000c) saturate(1.1)}
.v-class__index{position:absolute;top:14px;left:16px;color:#f5d59b;font:700 .85rem/1 Georgia,serif;letter-spacing:.13em;z-index:3}
.v-class__content{position:absolute;left:21px;right:21px;bottom:18px;z-index:3;display:flex;flex-direction:column;align-items:flex-start;line-height:1.2}
.v-class__content small{font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:#f0d0a0}
.v-class__content strong{font-family:Georgia,serif;font-size:1.83rem;font-weight:500;margin:6px 0 5px;letter-spacing:-.055em}
.v-class__content>span{font-size:.73rem;color:#c7cbd0}
.v-class__content em{font-style:normal;font-weight:850;font-size:.65rem;letter-spacing:.14em;color:#f0d0a0;display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:18px;border-top:1px solid #ffffff37;padding-top:10px}
.v-class__content em svg{height:15px;width:18px}
.v-class-status{font-size:.78rem;color:#bac4cc;margin:16px 0 0}

/* build showcase and catalog */
.v-build-section{background:#121922;padding-top:90px;padding-bottom:96px;border-top:1px solid #303b47;border-bottom:1px solid #323b47;position:relative}
.v-feature-builds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}
.v-feature-build{display:grid;grid-template-columns:49% 51%;background:#1c2733;min-height:330px;border:1px solid #4c4f4c;overflow:hidden;position:relative;transition:transform .25s,border-color .25s;color:#fff}
.v-feature-build:hover,.v-library-build:hover{transform:translateY(-4px);border-color:var(--gold);color:#fff}
.v-built-art{position:relative;overflow:hidden;background:radial-gradient(circle at 52% 40%,#4b647b75,transparent 62%),linear-gradient(145deg,#253242,#111926)}
.v-built-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 60%,#1b2830a0)}
.v-built-art>img{position:absolute;inset:0;width:100%;height:105%;object-fit:contain;object-position:center bottom;filter:drop-shadow(1px 12px 18px #0008);transition:transform .35s}
.v-feature-build:hover .v-built-art>img,.v-library-build:hover .v-built-art>img{transform:scale(1.045)}
.v-built-art>span{position:absolute;top:17px;left:16px;color:#f2d49e;z-index:3;font-family:Georgia,serif;font-size:.72rem;font-weight:700;letter-spacing:.1em}
.v-built-copy{position:relative;display:flex;align-items:flex-start;flex-direction:column;justify-content:center;padding:27px 25px 24px;min-width:0}
.v-built-copy>small{letter-spacing:.16em;font-size:.64rem;font-weight:850;color:#dfc18d}
.v-built-copy h3{font-family:Georgia,serif;font-size:2.1rem;line-height:1.1;font-weight:500;letter-spacing:-.045em;margin:10px 0 10px}
.v-built-copy p{font-size:.81rem;line-height:1.65;margin:0 0 16px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;color:#c9d0d5}
.v-built-focus{display:flex;justify-content:space-between;flex-wrap:wrap;gap:7px;width:100%;padding-top:12px;border-top:1px solid #ffffff31}
.v-built-focus span{font-size:.62rem;letter-spacing:.09em;color:#a4b5c2}
.v-built-focus strong{font-size:.72rem;font-weight:700;color:#edd2a7}
.v-built-copy>em{font-style:normal;font-weight:800;color:#e4c289;font-size:.68rem;letter-spacing:.12em;margin-top:19px;display:flex;gap:17px;align-items:center}
.v-built-copy>em svg{width:18px;height:18px}
.v-mini-builds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 19px;margin-top:28px}
.v-mini-builds>a{display:flex;align-items:center;gap:13px;padding:12px 0;border-bottom:1px solid #3b4854;transition:background .25s}
.v-mini-builds>a:hover{background:#222e3a}
.v-mini-builds img{width:71px;height:68px;object-fit:contain;object-position:center bottom;background:linear-gradient(140deg,#26313d,#192531)}
.v-mini-builds>a span{display:flex;flex:1;flex-direction:column}
.v-mini-builds small{font-size:.63rem;color:#e2c18c;letter-spacing:.08em;text-transform:uppercase}
.v-mini-builds strong{font-family:Georgia,serif;font-size:1.2rem;font-weight:500}
.v-mini-builds .v-chevron{color:var(--gold);margin-right:8px}
.v-builds-library{padding-top:85px;padding-bottom:100px}
.v-builds-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.v-library-build{display:flex;flex-direction:column;background:#19232e;border:1px solid #394651;min-height:460px;color:#fff;overflow:hidden;transition:transform .25s,border-color .25s}
.v-library-build .v-built-art{height:252px;flex:0 0 252px}
.v-library-build .v-built-art:after{background:linear-gradient(0deg,#17232d95,transparent 50%)}
.v-library-build .v-built-copy{flex:1;padding:19px 21px 22px;justify-content:flex-start}
.v-library-build h3{font-size:1.65rem}
.v-library-build .v-built-copy p{font-size:.77rem;-webkit-line-clamp:3}
.v-library-build .v-built-copy>em{margin-top:auto}
.v-library-build .v-built-focus{margin-top:auto}
.v-datacaveat{margin-top:32px;padding:20px 25px;border-left:3px solid var(--gold);background:#1a252f;font-size:.82rem}
.v-datacaveat strong{color:#edcc96}.v-datacaveat p{margin:7px 0 0}
.v-page-hero{position:relative;isolation:isolate;min-height:460px;overflow:hidden;display:flex;align-items:center;background:#111a24}
.v-page-hero:before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(90deg,#0c111bf7,#0d1722b9 45%,#0c111aa6),url("/assets/media/world-flight-official.webp");background-size:cover;background-position:center}
.v-page-hero--builds:before{background-image:linear-gradient(90deg,#0c111af7,#0d1722c7 44%,#0c111a66),url("/assets/media/raid-fire-official.webp")}
.v-page-hero--classes:before{background-image:linear-gradient(90deg,#0c111af5,#0d1722db 50%,#0c111a80),url("/assets/media/world-flight-official.webp")}
.v-page-hero--templar:before{background-image:linear-gradient(90deg,#0c111af7,#0d1722e8 52%,#0c111a8c),url("/assets/media/raid-party-official.webp")}
.v-page-hero>.v-wrap{padding-top:43px;padding-bottom:62px;position:relative;z-index:2}
.v-page-hero .v-crumbs{margin-bottom:36px}
.v-page-hero h1,.v-build-hero h1{font-family:"Baskerville","Palatino Linotype",Georgia,serif;font-size:clamp(3.8rem,6vw,6.2rem);font-weight:500;letter-spacing:-.055em;line-height:.96;margin:14px 0 21px}
.v-page-hero p{max-width:570px;color:#d6d2ce;font-size:1.06rem;line-height:1.8;margin:0 0 25px}
.v-page-hero__portrait{position:absolute;right:6%;bottom:-35px;max-height:495px;max-width:45%;object-fit:contain;pointer-events:none;filter:drop-shadow(8px 10px 25px #000b)}
.v-page-hero__portrait+.v-wrap{z-index:3}
.v-page-hero .v-button{margin-top:5px}
.v-class-footer{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:center;padding-bottom:90px}
.v-class-footer img{width:100%;height:400px;object-fit:cover;border:1px solid #71624e}
.v-class-footer>div{max-width:500px}
.v-class-footer h2,.v-templar-body h2{font-family:Georgia,serif;font-size:clamp(2.4rem,4vw,3.6rem);line-height:1.1;font-weight:500;letter-spacing:-.04em}
.v-class-footer p{margin:16px 0 27px}
.v-templar-body{display:grid;grid-template-columns:1.3fr .7fr;gap:55px;align-items:center;padding-top:95px;padding-bottom:95px}
.v-templar-body>div:nth-child(2){padding:28px;background:#1a2430;border-top:2px solid var(--gold)}
.v-templar-body>div:nth-child(2) strong{display:block;font-size:.75rem;letter-spacing:.14em;color:var(--gold);margin-top:10px}
.v-templar-body>div:nth-child(2) p{font-size:.88rem}

/* cinematic tools section and field notes */
.v-tools-scene{position:relative;isolation:isolate;min-height:560px;background:#101923;border-block:1px solid #433b33}
.v-tools-scene:before{content:"";position:absolute;z-index:-2;inset:0;background:url("/assets/media/raid-fire-official.webp") center 47%/cover no-repeat;filter:contrast(1.15)}
.v-tools-scene:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#090c15f7 3%,#0b111bdc 53%,#08101cbd 100%)}
.v-tools-scene__inner{display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:75px;min-height:560px;padding-top:85px;padding-bottom:85px}
.v-tools-scene h2{font-family:Georgia,serif;font-size:clamp(2.8rem,4.2vw,4.65rem);font-weight:500;line-height:1.02;letter-spacing:-.045em;margin:18px 0}
.v-tools-scene__inner>div:first-child p{font-size:1.03rem;max-width:500px;line-height:1.8;color:#d0d0d4;margin-bottom:26px}
.v-tools-list{border-top:1px solid #dfbf8477}
.v-tools-list a{position:relative;display:grid;grid-template-columns:46px 1fr 24px;grid-template-rows:auto auto;align-items:center;column-gap:14px;padding:22px 16px;border-bottom:1px solid #dfbf8442;background:#10162169;transition:background .2s}
.v-tools-list a:hover{background:#182535cc}
.v-tools-list>a>span{grid-row:span 2;font-family:Georgia,serif;font-size:1.38rem;color:var(--gold)}
.v-tools-list strong{grid-column:2;grid-row:1;font-size:1.02rem;color:#f1ece3}
.v-tools-list small{grid-column:2;grid-row:2;font-size:.77rem;color:#bdc8d0}
.v-tools-list .v-arrow{grid-column:3;grid-row:span 2;color:var(--gold)}
.v-world-guides{padding-top:100px;padding-bottom:110px}
.v-world-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:21px}
.v-world-feature{display:block;min-height:365px;position:relative;overflow:hidden;border:1px solid #62605a;isolation:isolate;color:#fff}
.v-world-feature img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .45s}
.v-world-feature:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#070a11f0 0%,#0a0c15b0 28%,transparent 75%)}
.v-world-feature:hover{color:#fff;border-color:var(--gold)}.v-world-feature:hover img{transform:scale(1.05)}
.v-world-feature>span{display:flex;flex-direction:column;align-items:flex-start;position:absolute;left:30px;bottom:29px}
.v-world-feature small{font-size:.67rem;color:var(--gold);font-weight:800;letter-spacing:.2em}
.v-world-feature strong{font-family:Georgia,serif;font-size:2.2rem;font-weight:500;line-height:1.1;margin:7px 0}
.v-world-feature em{font-size:.82rem;font-style:normal;color:#d6d7db}
.v-world-feature>.v-arrow{position:absolute;right:28px;bottom:35px;color:var(--gold)}
.v-end-section{border-top:1px solid #4c443b;display:flex;align-items:end;justify-content:space-between;gap:27px;padding-top:65px;padding-bottom:75px}
.v-end-section h2{font:500 clamp(2.8rem,4.5vw,4.7rem)/1.05 Georgia,serif;letter-spacing:-.045em;margin:5px 0 0}
.v-end-section>.v-button{margin-bottom:10px}

/* Build detail: image-led cover and readable editorial column */
.v-build-hero{min-height:530px;background:#131a25;position:relative;isolation:isolate;overflow:hidden;border-bottom:1px solid #544835}
.v-build-hero:before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#080c13fa,#0b1420ef 48%,#0d18219c),url("/assets/media/hero-castle-official.webp") center/cover}
.v-build-hero__art{position:absolute;right:max(5%,calc((100vw - 1430px)/2));bottom:-64px;max-height:570px;max-width:49%;object-fit:contain;filter:drop-shadow(10px 20px 29px #000b);pointer-events:none;z-index:-1}
.v-build-hero__content{position:relative;padding-top:34px;padding-bottom:47px}
.v-build-hero .v-crumbs{margin-bottom:31px}
.v-build-hero h1{margin-top:20px;margin-bottom:17px}
.v-build-hero__content>p{max-width:580px;font-size:1.04rem;color:#d9d9d3;line-height:1.85}
.v-build-hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 43px}
.v-build-hero__meta{display:flex;gap:0;flex-wrap:wrap;color:#e7c997;font-size:.69rem;font-weight:850;letter-spacing:.14em}
.v-build-hero__meta>span{padding-right:19px;margin-right:19px;border-right:1px solid #fff6}
.v-build-hero__meta>span:last-child{border:0}
.v-guide-shell{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:65px;padding-top:65px;padding-bottom:70px;align-items:start}
.v-guide-body{min-width:0}
.v-guide-section{padding:16px 0 42px;margin-bottom:30px;border-bottom:1px solid #34404a;scroll-margin-top:115px}
.v-guide-section h2{font:500 clamp(2.1rem,3.3vw,3.2rem)/1.12 Georgia,serif;letter-spacing:-.04em;margin:13px 0 19px}
.v-guide-section>p{font-size:.98rem;line-height:1.83;max-width:770px}
.v-guide-lead{font-size:1.2rem!important;color:#e4e1dc!important;line-height:1.8}
.v-stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid #71634d;border-bottom:1px solid #71634d;margin:28px 0;padding:18px 0}
.v-stats-row>div{border-right:1px solid #484b4a;padding:10px 20px}
.v-stats-row>div:first-child{padding-left:0}.v-stats-row>div:last-child{border-right:0}
.v-stats-row small{display:block;font-size:.64rem;letter-spacing:.15em;font-weight:850;color:var(--gold)}
.v-stats-row strong{display:block;font-size:.96rem;margin-top:8px}
.v-ability-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:24px}
.v-ability{display:flex;align-items:flex-start;position:relative;gap:15px;background:#161f2a;border:1px solid #3a4957;padding:22px 20px 19px;min-height:183px}
.v-ability__symbol{height:45px;width:45px;border:1px solid #99815c;background:#343029;display:grid;place-items:center;color:#e7c78d;font:600 1.05rem Georgia,serif;flex:0 0 45px}
.v-ability>div:nth-child(2){min-width:0}
.v-ability small{font-size:.61rem;letter-spacing:.13em;font-weight:800;color:var(--gold)}
.v-ability h3{font-family:Georgia,serif;font-size:1.18rem;font-weight:600;line-height:1.3;letter-spacing:-.02em;margin:7px 0}
.v-ability p{font-size:.79rem;line-height:1.65;margin:0}
.v-ability__role{position:absolute;right:17px;top:14px;color:#c2c7c7;font-size:.61rem;opacity:.8;display:none}
.v-rotation{list-style:none;padding:0;margin:27px 0 0;border-top:1px solid #48545b}
.v-rotation li{display:flex;align-items:baseline;gap:25px;border-bottom:1px solid #354550;padding:22px 8px 20px}
.v-rotation li b{flex:0 0 45px;font:600 1.8rem/1 Georgia,serif;color:#dab67e}
.v-rotation li p{font-size:.94rem;color:#cdd2d3;margin:0;line-height:1.75}
.v-checks{padding:0;list-style:none;margin:23px 0 0}
.v-checks li{display:flex;gap:15px;align-items:start;padding:13px 0;border-bottom:1px solid #33414d;font-size:.91rem;color:#d4d8d7}
.v-checks li span{font-size:1.45rem;color:#e5c18b;line-height:1}
.v-guide-toc{position:relative}
.v-guide-toc>div{position:sticky;top:120px;background:#151f2a;border:1px solid #45505a;padding:23px 24px}
.v-guide-toc strong{font-size:.71rem;color:var(--gold);letter-spacing:.2em;display:block;margin:0 0 16px}
.v-guide-toc a{display:block;padding:13px 0;font-size:.85rem;color:#d0d6d9;border-bottom:1px solid #364550}
.v-guide-toc a:hover{color:var(--gold)}
.v-guide-toc a span{font-family:Georgia,serif;color:#e0bd83;margin-right:8px}
.v-guide-toc p{font-size:.74rem;color:#aeb9c2;margin:25px 0 0;line-height:1.75}
.v-guide-back{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:40px 0 0}
.v-recommended{padding-top:10px;padding-bottom:100px}
.v-recommended>div:last-child{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.v-recommended>div:last-child>a{display:flex;align-items:center;gap:12px;min-height:105px;padding:9px 16px 9px 0;background:#16212c;border:1px solid #3f4a50;color:#fff}
.v-recommended img{width:100px;height:90px;object-fit:contain;object-position:center bottom;background:#273541}
.v-recommended span{flex:1;display:flex;flex-direction:column}
.v-recommended span small{font-size:.64rem;color:var(--gold);letter-spacing:.1em}
.v-recommended span strong{font:500 1.1rem Georgia,serif;margin:3px 0}
.v-recommended svg{margin-right:12px;color:var(--gold)}

/* legacy content pages and tools inherit coherent reading system */
.page-intro{padding-top:71px;padding-bottom:39px}
.page-intro h1{font-family:"Baskerville",Georgia,serif;font-size:clamp(3rem,5vw,5rem);font-weight:500;letter-spacing:-.05em;line-height:1.05}
.page-intro .lead{font-size:1.06rem;line-height:1.85;color:#ccd3d6}
.section-eyebrow,.eyebrow-inline{color:var(--gold)}
.reading-section h2,.article-section h2,.source-ledger h2{font-family:Georgia,serif;font-size:clamp(1.6rem,2.8vw,2.25rem);font-weight:500;letter-spacing:-.04em}
.reading-section,.article-section{border-color:#3f4a52}
.feature-link,.class-card,.build-card{border-color:#434951;border-radius:3px;background:#151f2b}
.feature-link:hover,.build-card:hover{border-color:var(--gold)}
.feature-link h3,.build-card h3{font-family:Georgia,serif;font-weight:500;font-size:1.2rem}
.feature-link p{font-size:.83rem}
.article-layout{padding-top:67px;gap:60px}
.article-main .page-intro h1{font-family:Georgia,serif;font-weight:500}
.notice-line,.article-callout{background:#182431;border-color:var(--gold);color:#d6d6d0}
.notice-line b,.article-callout strong{color:#f2cf95}
.table-wrap,.table-wrap thead th{border-color:#414952}
.table-wrap thead th{background:#222a32;color:#e5c78c}
.table-wrap th,.table-wrap td{border-color:#3f4850}
.sticky-panel,.source-ledger{border-color:#4b5258;background:#171f29;border-radius:3px}
.source-ledger{padding:32px;margin-top:42px}
.source-items{gap:0}
.source-item{border-color:#3d4851;padding:16px 0}
.source-kind{color:var(--gold)}
.source-item a{color:#e8e7df}
.source-item a:hover{color:var(--gold)}
.tool-panel,.compare-panel{border-color:#46515b;background:#17212b;border-radius:4px}
.tool-panel-highlight{background:radial-gradient(circle at 90% 10%,#50402b4d,transparent 60%),#19222c}
.tool-panel h2,.compare-panel h2{font-family:Georgia,serif;font-weight:500}
.board-tile{border-color:#4b5458;background:#1d2630;border-radius:3px}
.board-tile:has(input:checked){background:#30312d;border-color:#e1bc80}
.compare-items li{border-color:#485158}
.pill,.mini-pill{border-color:#99825d;color:#ead3a7}
.tool-select{background:#111924;border-color:#6b665a;border-radius:3px}
.small-button{border-radius:3px}
.search-panel{background:#141f2b;border-color:#4c5459;border-radius:3px}
.search-result{border-color:#394953;border-radius:3px}
.search-result:hover{border-color:#bba378}
.site-footer{background:#0b0f15;border-top:1px solid #4d4438}
.footer-columns{padding-top:52px;padding-bottom:35px;grid-template-columns:2fr 1fr 1fr 1.15fr}
.footer-brand{font-family:Georgia,serif;font-size:1.5rem;font-weight:600}
.footer-columns>div:not(:first-child){gap:10px}
.footer-columns strong{color:#e3c18c;font-size:.76rem;letter-spacing:.11em}
.footer-columns a:not(.footer-brand){color:#b1bcc2;font-size:.78rem}
.footer-bottom{border-color:#37383a;color:#88949c}
.skip-link{background:var(--gold);color:#171a1f}

/* 1024 / tablet */
@media(max-width:1120px){
 .v-hero__character{right:-100px;width:63vw}
 .v-hero__body{padding-bottom:72px}
 .v-feature-build{grid-template-columns:43% 57%}
 .v-classes,.v-builds-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
 .v-class{height:314px}
 .v-class__content{left:14px;right:14px}
 .v-class__content strong{font-size:1.55rem}
 .v-class__content small{font-size:.58rem}
 .v-built-copy{padding:17px}
 .v-built-copy h3{font-size:1.7rem}
 .v-guide-shell{gap:32px;grid-template-columns:minmax(0,1fr) 215px}
 .main-nav{gap:18px}
}
@media(max-width:850px){
 .v-hero{min-height:600px}
 .v-hero__body{min-height:600px}
 .v-hero__character{width:68vw;right:-110px;opacity:.8}
 .v-hero:after{background:linear-gradient(90deg,#080c15f5,#0a0e17dc 52%,#080c152e),linear-gradient(0deg,#090d14,transparent 40%)}
 .v-jumpstrip{grid-template-columns:1fr 1fr 1fr}
 .v-jumpstrip a{grid-template-columns:1fr auto;grid-template-rows:auto auto auto;padding:17px;min-height:116px}
 .v-jumpstrip a>span:first-child{grid-row:auto;font-size:.88rem}
 .v-jumpstrip a strong,.v-jumpstrip a small{grid-column:1/3}
 .v-jumpstrip .v-arrow{grid-column:2;grid-row:1;justify-self:end}
 .v-section-head{align-items:start}
 .v-section-head .v-text-link{margin-top:16px}
 .v-classes,.v-builds-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 .v-class{height:368px}
 .v-feature-builds{grid-template-columns:1fr}
 .v-feature-build{grid-template-columns:40% 60%;min-height:295px}
 .v-mini-builds{grid-template-columns:repeat(2,minmax(0,1fr))}
 .v-tools-scene__inner{grid-template-columns:1fr;gap:26px;padding-block:75px}
 .v-tools-scene__inner>div:first-child p{max-width:660px}
 .v-tools-list{max-width:none}
 .v-guide-shell{display:block}
 .v-guide-toc{display:none}
 .v-build-hero__art{max-width:46%;right:-20px}
 .v-recommended>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr))}
 .v-class-footer{gap:28px}
}
/* phone */
@media(max-width:640px){
 .shell,.v-wrap{padding-inline:19px}
 .header-row{height:68px}
 .brand strong{font-size:1.2rem}.brand small{font-size:.45rem}
 .v-hero{min-height:688px}
 .v-hero__body{min-height:655px;justify-content:flex-start;padding-top:58px;padding-bottom:220px}
 .v-hero__backdrop{background-position:63% center}
 .v-hero:after{background:linear-gradient(180deg,#090d14dc 0%,#080d15f3 40%,#0a1015a0 72%,#090d14 100%)}
 .v-hero__character{width:min(105vw,460px);max-height:420px;bottom:-39px;right:-95px;opacity:.9}
 .v-hero__eyebrow{font-size:.53rem;letter-spacing:.12em;gap:7px}
 .v-hero__eyebrow i{width:11px}
 .v-hero h1{font-size:clamp(3.25rem,10vw,4.5rem);margin:25px 0 19px}
 .v-hero__body>p{font-size:.96rem;max-width:92%;line-height:1.65}
 .v-hero__buttons{gap:9px;margin:23px 0 26px}
 .v-button{padding:13px 16px;min-height:48px;font-size:.79rem;gap:12px}
 .v-hero__buttons>.v-button{padding-inline:12px;font-size:.75rem}
 .v-hero__numbers{font-size:.52rem;letter-spacing:.05em;flex-wrap:wrap;gap:7px}
 .v-hero__numbers>span{padding-right:8px;margin-right:3px;gap:4px}
 .v-hero__numbers strong{font-size:.85rem}
 .v-hero__footnote{font-size:.53rem;right:16px;bottom:10px}
 .v-jumpstrip{grid-template-columns:1fr;padding-inline:0;margin-top:0}
 .v-jumpstrip a{grid-template-columns:36px 1fr 20px;grid-template-rows:auto auto;min-height:77px;padding:11px 20px}
 .v-jumpstrip a+a{border-left:0;border-top:1px solid #39444d}
 .v-jumpstrip a>span:first-child{grid-column:1;grid-row:span 2;font-size:1.1rem}
 .v-jumpstrip a strong{grid-column:2;font-size:.89rem}
 .v-jumpstrip a small{grid-column:2;font-size:.72rem}
 .v-jumpstrip .v-arrow{grid-column:3;grid-row:span 2}
 .v-class-section{padding-top:69px;padding-bottom:66px}
 .v-section-head{display:block;margin-bottom:21px}
 .v-section-head h2{font-size:2.6rem}
 .v-section-head p{font-size:.9rem}
 .v-class-filters{display:block;gap:11px;padding-bottom:13px}
 .v-role-switch{gap:5px;margin-bottom:12px}
 .v-role-switch button{padding:9px 11px;font-size:.78rem;min-height:42px}
 .v-class-search{width:100%;min-width:0}
 .v-class-search input{font-size:.9rem}
 .v-classes,.v-builds-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .v-class{height:254px}
 .v-class img{height:82%;width:110%;top:2px}
 .v-class__index{top:9px;left:10px;font-size:.68rem}
 .v-class__content{bottom:12px;left:12px;right:12px}
 .v-class__content small{font-size:.52rem;letter-spacing:.06em}
 .v-class__content strong{font-size:1.28rem;margin:5px 0}
 .v-class__content>span{font-size:.62rem}
 .v-class__content em{font-size:.5rem;letter-spacing:.03em;margin-top:10px;padding-top:8px}
 .v-class__content em svg{width:13px}
 .v-build-section{padding-top:68px;padding-bottom:65px}
 .v-feature-builds{gap:12px}
 .v-feature-build{grid-template-columns:42% 58%;min-height:265px}
 .v-built-art>span{font-size:.61rem;top:10px;left:10px}
 .v-feature-build .v-built-copy{padding:16px 12px}
 .v-built-copy>small{font-size:.55rem}
 .v-built-copy h3{font-size:1.5rem;margin:5px 0 8px}
 .v-built-copy p{font-size:.72rem;line-height:1.5;margin-bottom:11px;-webkit-line-clamp:3}
 .v-built-focus span,.v-built-focus strong{font-size:.6rem}
 .v-built-copy>em{font-size:.55rem;margin-top:10px;letter-spacing:.05em;gap:5px}
 .v-mini-builds{grid-template-columns:1fr;gap:0;margin-top:18px}
 .v-mini-builds img{width:65px;height:65px}
 .v-tools-scene__inner{padding-top:64px;padding-bottom:64px}
 .v-tools-scene h2{font-size:3.15rem}
 .v-tools-scene__inner>div:first-child p{font-size:.93rem}
 .v-tools-list a{padding:16px 11px}
 .v-world-guides{padding-block:70px}
 .v-world-grid{display:block}
 .v-world-feature{min-height:280px;margin-bottom:12px}
 .v-world-feature>span{left:21px;bottom:19px}
 .v-world-feature strong{font-size:1.65rem}
 .v-end-section{display:block;padding-block:43px}
 .v-end-section h2{font-size:2.9rem;margin-bottom:23px}
 .v-page-hero{min-height:410px}
 .v-page-hero>.v-wrap{padding-block:50px}
 .v-page-hero h1,.v-build-hero h1{font-size:3.7rem}
 .v-page-hero p,.v-build-hero__content>p{font-size:.91rem;max-width:90%}
 .v-page-hero__portrait{right:-80px;bottom:-15px;max-width:65%;opacity:.55}
 .v-builds-library{padding-block:64px}
 .v-library-build{min-height:355px}
 .v-library-build .v-built-art{height:195px;flex:0 0 195px}
 .v-library-build .v-built-copy{padding:12px}
 .v-library-build h3{font-size:1.32rem}
 .v-library-build .v-built-copy p{font-size:.71rem;-webkit-line-clamp:2}
 .v-library-build .v-built-focus{display:none}
 .v-library-build .v-built-copy>em{font-size:.54rem}
 .v-class-footer{display:block;padding-bottom:60px}
 .v-class-footer img{height:220px;margin-bottom:24px}
 .v-class-footer h2{font-size:2.4rem}
 .v-build-hero{min-height:535px}
 .v-build-hero__content{padding-top:35px;padding-bottom:54px}
 .v-build-hero__art{max-width:none;width:70%;right:-100px;bottom:-20px;opacity:.58;max-height:400px}
 .v-build-hero .v-crumbs{margin-bottom:37px}
 .v-build-hero h1{font-size:3.7rem;max-width:80%}
 .v-build-hero__content>p{max-width:80%;font-size:.93rem}
 .v-build-hero__actions{margin:25px 0 35px}
 .v-build-hero__metadata,.v-build-hero__meta{font-size:.55rem;gap:5px}
 .v-build-hero__meta>span{padding-right:10px;margin-right:6px}
 .v-guide-shell{padding-top:45px;padding-bottom:45px}
 .v-guide-section{padding-bottom:25px;margin-bottom:23px}
 .v-guide-section h2{font-size:2.3rem}
 .v-guide-lead{font-size:1.02rem!important}
 .v-stats-row{gap:0}
 .v-stats-row>div{padding:7px 10px}
 .v-stats-row strong{font-size:.75rem}
 .v-stats-row small{font-size:.53rem}
 .v-ability-grid{grid-template-columns:1fr}
 .v-ability{min-height:137px;padding:18px}
 .v-rotation li{gap:13px}
 .v-rotation li b{flex:0 0 38px;font-size:1.5rem}
 .v-rotation li p{font-size:.86rem}
 .v-recommended{padding-bottom:60px}
 .v-recommended>div:last-child{grid-template-columns:1fr}
 .v-templar-body{display:block;padding-block:50px}
 .v-templar-body>div:first-child{margin-bottom:26px}
 .source-ledger{padding:22px}
 .source-item{display:block}
 .source-kind{display:block;margin-bottom:5px}
 .source-item a{display:block;margin:4px 0 6px}
 .footer-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}
 .footer-columns>div:first-child{grid-column:1/-1}
 .footer-columns>div:last-child{grid-column:auto}
 .footer-bottom{padding-bottom:28px}
}
@media(max-width:365px){
 .v-class{height:235px}
 .v-class__content strong{font-size:1.15rem}
 .v-hero h1{font-size:3.08rem}
 .v-hero__buttons{display:block}
 .v-hero__buttons>.v-button{margin:0 0 8px;width:100%;justify-content:space-between}
 .v-hero__body{padding-bottom:190px}
 .v-hero__character{max-height:360px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 .v-class,.v-class img,.v-button,.v-world-feature img,.v-feature-build,.v-library-build,.v-text-link .v-arrow{transition:none!important}
}
