/*
Theme Name: Vaelora — The Age of Returning
Author: Vaelora Chronicle
Description: A dark-fantasy WordPress theme for the Vaelora tabletop chronicle, adapted from the original sourcebook-style site.
Version: 2.3.0
Text Domain: vaelora
*/
:root{--ink:#171310;--ink2:#2b241e;--paper:#c8b99c;--paper2:#aa9a7d;--dark:#0c0a09;--red:#5d211d;--gold:#8e7650;--line:#6d604d;--ash:#817866}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:64px}body{margin:0;color:var(--ink);font-family:'IM Fell English',Georgia,serif;font-size:18px;line-height:1.67;background:#080706;background-image:radial-gradient(circle at 20% 0%,#1a1713 0,transparent 30%),linear-gradient(90deg,#070605,#11100d 50%,#070605)}a{color:inherit}b,strong{color:#251d16}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:100;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.07'/%3E%3C/svg%3E");mix-blend-mode:multiply;opacity:.45}
.hero{min-height:96vh;display:flex;flex-direction:column;position:relative;color:#d9ceb9;background:linear-gradient(90deg,rgba(7,5,4,.98),rgba(10,7,6,.86) 53%,rgba(10,7,6,.48)),linear-gradient(0deg,#090706 0,transparent 40%),url('assets/marches-map.png') center/cover;box-shadow:inset 0 0 120px #000;border-bottom:5px double #3a3025}.hero:after{content:"❦";position:absolute;bottom:-25px;left:50%;transform:translateX(-50%);width:54px;text-align:center;background:#0a0807;color:#806b49;font-size:2rem;z-index:3}.hero nav{height:64px;display:flex;align-items:center;padding:0 5vw;position:fixed;inset:0 0 auto;z-index:50;background:rgba(8,6,5,.95);border-bottom:1px solid #493c2d;box-shadow:0 4px 20px #000;backdrop-filter:blur(8px)}.brand{font-family:'UnifrakturMaguntia',serif;font-size:1.65rem;color:#d0c09f;letter-spacing:.03em}.links{margin-left:auto;display:flex;gap:23px}.links a{text-decoration:none;font-family:'Cormorant Garamond',serif;text-transform:uppercase;font-weight:600;letter-spacing:.12em;font-size:.78rem;color:#aa9a7e}.links a:hover{color:#e2d6bf}#menu{display:none}.hero-inner{width:min(780px,86vw);margin:auto 7vw 13vh}.eyebrow,.kicker{font-family:'Cormorant Garamond',serif;text-transform:uppercase;letter-spacing:.22em;font-weight:600;font-size:.72rem}.eyebrow{color:#a48b65}.hero h1{font-family:'UnifrakturMaguntia',serif;font-weight:400;font-size:clamp(4.5rem,9vw,8rem);line-height:.9;margin:.12em 0 .25em;color:#e1d4bc;text-shadow:0 3px 15px #000}.hero-inner>p:not(.eyebrow){font-family:'Cormorant Garamond',serif;font-size:1.45rem;line-height:1.5;color:#c1b49f;max-width:650px}.cta{display:inline-block;margin-top:25px;padding:10px 22px;border:1px solid #806a48;text-decoration:none;font-family:'Cormorant Garamond',serif;text-transform:uppercase;letter-spacing:.16em;font-size:.76rem;color:#d1c2a6;background:rgba(17,12,9,.72)}.cta:hover{background:#b7a482;color:#160f0b}
main{width:min(1320px,94vw);margin:48px auto 80px;background:var(--paper);background-image:linear-gradient(rgba(255,255,255,.035),rgba(0,0,0,.04)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)' opacity='.09'/%3E%3C/svg%3E");box-shadow:0 0 0 1px #4c4031,0 0 0 9px #0c0a08,0 0 70px #000,inset 0 0 80px rgba(66,48,29,.18);position:relative}main:before,main:after{content:"";position:absolute;top:18px;bottom:18px;width:1px;background:#76664f;opacity:.55}main:before{left:18px}main:after{right:18px}.section{padding:88px 7vw;max-width:none;margin:0;border-bottom:1px solid #796a53;position:relative}.section:after{content:"◆  ❦  ◆";position:absolute;bottom:-14px;left:50%;transform:translateX(-50%);padding:0 16px;background:var(--paper);color:#6e5b3e;font-size:.9rem;letter-spacing:.45em;white-space:nowrap}.section:last-child:after{display:none}.dark{background:rgba(70,53,34,.08)}.kicker{color:#684a32;margin-bottom:6px}.section h2,.section h3{font-family:'Cormorant Garamond',Georgia,serif}.section h2{font-size:clamp(2.9rem,5.5vw,5.3rem);line-height:.92;font-weight:500;letter-spacing:-.025em;color:#261c14;margin:.12em 0 .55em}.section h2:first-letter{font-family:'UnifrakturMaguntia',serif;color:var(--red);font-size:1.2em}.section h3{font-weight:600;color:#302218}.section p{max-width:76ch}.lead{font-family:'Cormorant Garamond',serif;font-size:1.35rem;color:#4b4034;max-width:900px!important}.two{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);gap:68px;align-items:start}.quote{margin:0;padding:28px 30px 28px 38px;border:1px solid #78684e;border-left:5px solid #5e241f;background:rgba(91,71,43,.07);font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-style:italic;color:#45372b;position:relative}.quote:before{content:'“';position:absolute;left:9px;top:-10px;font-size:4rem;color:#79553e;opacity:.55}
.cards{display:grid;gap:22px;margin-top:42px}.three{grid-template-columns:repeat(3,1fr)}.race-grid{grid-template-columns:repeat(2,1fr)}article{min-width:0}.cards>article,.race-grid>article{padding:27px 28px;background:rgba(236,222,193,.26);border:1px solid #807057;box-shadow:inset 0 0 0 3px rgba(90,72,47,.06);position:relative}.cards>article:before,.race-grid>article:before{content:"";position:absolute;inset:6px;border:1px solid rgba(109,89,62,.28);pointer-events:none}.cards article p{color:#493d31}.cards article small{display:block;color:#6a5947;border-top:1px solid #93836b;padding-top:12px;margin-top:18px;font-style:italic}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:36px 0 0}.tab{background:#2a2119;color:#c6b596;border:1px solid #4c3b2c;padding:10px 20px;font-family:'Cormorant Garamond',serif;text-transform:uppercase;font-weight:600;letter-spacing:.1em;cursor:pointer}.tab.active,.tab:hover{background:#64261f;color:#e5d7bd;border-color:#4b1b17}.panel{display:none;background:rgba(226,211,182,.28);border:1px solid #77664f;padding:36px 40px;box-shadow:inset 0 0 35px rgba(71,50,28,.08)}.panel.active{display:block}.panel h3{font-size:1.7rem}.panel dl{display:grid;grid-template-columns:150px 1fr;gap:8px 24px;border-top:1px solid #8e7c61;padding-top:22px;margin-top:24px}.panel dt{font-family:'Cormorant Garamond',serif;text-transform:uppercase;font-weight:600;letter-spacing:.08em;color:#633e2d}.panel dd{margin:0;color:#493c30}
.feature{margin:56px 0 0;padding:11px;background:#201812;border:1px solid #6b573e;box-shadow:0 7px 18px rgba(36,25,16,.3)}.feature img{display:block;width:100%;max-height:800px;object-fit:cover;filter:sepia(.34) contrast(1.04) brightness(.82)}.feature figcaption{padding:13px 12px 4px;margin:0;color:#c1b294;font-family:'Cormorant Garamond',serif;font-style:italic}.world-map img,.future-map img{object-fit:contain;background:#0c0907}
/* character folios */.cast-section{background:rgba(52,38,24,.06)}.cast-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:44px}.cast-card.featured{padding:0;background:#241b15;border:1px solid #5e4b35;box-shadow:0 8px 18px rgba(50,35,21,.25);overflow:hidden}.cast-details summary{list-style:none;cursor:pointer;position:relative}.cast-details summary::-webkit-details-marker{display:none}.cast-details summary h3{margin:0;padding:14px 60px 16px 20px;border-top:1px solid #5b4934;font-family:'UnifrakturMaguntia',serif;font-weight:400;color:#d4c3a3;font-size:1.55rem}.cast-open-hint{position:absolute;right:17px;bottom:19px;font-family:'Cormorant Garamond',serif;text-transform:uppercase;letter-spacing:.12em;font-size:.65rem;color:#958262}.cast-portraits{display:grid;grid-template-columns:repeat(2,1fr);background:#0d0a08}.cast-portraits img,.cast-card.featured summary>img{width:100%;height:430px;object-fit:cover;object-position:center top;display:block;filter:sepia(.18) saturate(.7) contrast(1.03) brightness(.86)}.cast-card.featured summary>img[src*="cinderforge"]{object-fit:contain;background:#15100c;padding:10px}.cast-card.featured .cast-copy{padding:27px 30px;background:#c2b293;color:#261e18}.cast-card.featured .cast-copy p{color:#3f3429}.cast-meta{border-left:3px solid #6a2821;padding-left:16px}
/* portrait gallery */.people-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;margin-top:44px}.person-card{display:grid;grid-template-columns:190px 1fr;padding:0;background:rgba(228,212,181,.28);border:1px solid #77664e;overflow:hidden}.person-card img{display:block;width:100%;height:100%;min-height:270px;object-fit:cover;object-position:center top;filter:sepia(.26) saturate(.7) contrast(1.04)}.person-copy{padding:25px}.person-role{margin:0!important;color:#76563e!important;font-family:'Cormorant Garamond',serif;text-transform:uppercase;font-weight:600;letter-spacing:.11em;font-size:.67rem!important}.person-copy h3{margin:.2rem 0 .65rem;font-size:1.45rem}.person-copy p{font-size:.96rem;color:#46392e}
/* contracts as notices from a grim chapterhouse */.contracts{grid-template-columns:repeat(2,1fr);gap:22px}.contract,.contract:nth-child(n){background:#b7a687;color:#2c231b;border:1px solid #756248;transform:none;padding:27px;box-shadow:3px 5px 10px rgba(50,35,20,.22),inset 0 0 25px rgba(78,57,31,.09);position:relative;overflow:hidden}.contract:nth-child(3n+2){background:#c0af90}.contract:nth-child(3n){background:#ae9d80}.contract-number{font-family:'Cormorant Garamond',serif;text-transform:uppercase;font-weight:600;font-size:.68rem;letter-spacing:.17em;color:#765a3e;margin-bottom:7px}.contract h3{color:#2b2018;font-size:1.45rem;margin:.2rem 0 .7rem}.contract p{color:#46382b}.contract .reward{color:#382b21;border-top:1px solid #847158;padding-top:12px;margin-top:16px}.contract .tag{font-family:'Cormorant Garamond',serif;text-transform:uppercase;font-weight:600;font-size:.65rem;letter-spacing:.14em;color:#6a241f;margin-bottom:6px}.contract.black{background:#211915;color:#c7b99f;border:1px solid #4d382b;border-left:5px solid #6a241f;box-shadow:0 5px 14px rgba(0,0,0,.34)}.contract.black h3,.contract.black p,.contract.black .reward{color:inherit}.contract.accepted{opacity:.78}.accepted-stamp,.completed-stamp{position:absolute;right:17px;top:17px;border:2px double #6c2922;padding:3px 7px;font-family:'Cormorant Garamond',serif;text-transform:uppercase;font-weight:600;font-size:.64rem;letter-spacing:.12em;color:#64241e;background:rgba(197,179,143,.6);transform:rotate(2deg)}.contract.black .accepted-stamp,.contract.black .completed-stamp{background:#241814;color:#a75d50}.contract.completed{opacity:.57}.completed-stamp{border-color:#4e4437;color:#4e4437;transform:rotate(-2deg)}.contract.completed h3,.contract.completed p,.contract.completed .reward{opacity:.72}
footer{width:min(1320px,94vw);margin:-80px auto 0;padding:38px 7vw 48px;background:#090706;border:1px solid #30271f;border-top:5px double #493c2e;display:flex;justify-content:space-between;gap:24px;color:#83755f;font-family:'Cormorant Garamond',serif;text-transform:uppercase;letter-spacing:.11em;font-size:.7rem}footer b{color:#c0ae90;letter-spacing:.18em}
@media(max-width:1100px){.three{grid-template-columns:1fr 1fr}.people-grid{grid-template-columns:1fr}.two{grid-template-columns:1fr}.links{display:none}.links.open{display:flex;position:absolute;top:64px;left:0;right:0;background:#0a0807;padding:24px 5vw;flex-direction:column;border-bottom:1px solid #493c2d}.hero nav #menu{display:block;margin-left:auto;background:none;border:0;color:#c8b99c;font-size:1.4rem}.cast-grid{grid-template-columns:1fr}}
@media(max-width:700px){body{font-size:17px}main{width:96vw;margin-top:28px}.section{padding:68px 8vw}.race-grid,.contracts,.three{grid-template-columns:1fr}.hero-inner{margin-left:6vw}.hero h1{font-size:4rem}.hero{min-height:84vh}.panel{padding:28px 22px}.panel dl{grid-template-columns:1fr}.panel dd{margin-bottom:10px}.cast-portraits img,.cast-card.featured summary>img{height:360px}.person-card{grid-template-columns:1fr}.person-card img{height:330px}footer{width:96vw;flex-direction:column}}

/* Grit pass — dark fantasy field chronicle */
:root{--ink:#0a0908;--ash:#171513;--bone:#c9c0aa;--old-bone:#9d927d;--blood:#591d1b;--rust:#70402e;--iron:#343331}
html{background:#080706}
body{background:
 radial-gradient(ellipse at 25% 10%,rgba(92,55,37,.09),transparent 32%),
 radial-gradient(ellipse at 80% 60%,rgba(80,18,15,.07),transparent 35%),
 repeating-linear-gradient(0deg,rgba(255,255,255,.008) 0 1px,transparent 1px 4px),#0a0908;color:#c6bdab}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.22;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.26'/%3E%3C/svg%3E")}
nav,.nav{background:rgba(8,7,6,.96)!important;border-bottom:1px solid #3a3029!important;box-shadow:0 5px 22px #000}
section,.section{position:relative}
.card,.panel,.source-card,.character-card,.contract-card,.people-card,.template-card{background:linear-gradient(145deg,rgba(31,28,24,.98),rgba(13,12,11,.98))!important;border:1px solid #4b4338!important;border-radius:1px!important;box-shadow:0 10px 30px rgba(0,0,0,.55),inset 0 0 35px rgba(0,0,0,.28)!important}
.card:after,.panel:after,.source-card:after,.contract-card:after{content:"";position:absolute;inset:5px;pointer-events:none;border:1px solid rgba(167,149,119,.08)}
h1,h2,h3,.section-title{color:#d0c5ad!important;text-shadow:0 2px 0 #000,0 0 14px rgba(95,25,19,.22);letter-spacing:.035em}
h2,.section-title{border-bottom:1px solid #514536;padding-bottom:.35em}
h2:after,.section-title:after{content:"  †";color:#6d2823;font-size:.65em}
p,li{color:#b8af9e;line-height:1.72}
a{color:#b5a68c}a:hover{color:#ddd1b9}
.hero{filter:saturate(.58) contrast(1.16);box-shadow:inset 0 -80px 90px #090807}
.hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.38),transparent 30%,transparent 70%,rgba(0,0,0,.45)),linear-gradient(0deg,#090807 0,transparent 34%)}
img{filter:saturate(.72) contrast(1.09) brightness(.88)}
.character-card img,.people-card img{filter:saturate(.55) contrast(1.18) brightness(.82);border:1px solid #554a3c}
.contract-card{border-left:3px solid #5e211e!important;background:linear-gradient(100deg,#191613,#0d0c0b 70%)!important}
.contract-card.completed{opacity:.63;filter:grayscale(.55)}
.contract-card.completed:before{content:"COMPLETED";position:absolute;right:14px;top:12px;border:1px solid #5b5145;padding:.2rem .5rem;font:700 .65rem/1 sans-serif;letter-spacing:.16em;color:#8f8678;transform:rotate(-2deg)}
blockquote,.quote{border-left:2px solid #6c2722;background:rgba(0,0,0,.24);color:#c5b9a3}
button,.button,.tab-button{border-radius:0!important;background:#151311!important;border:1px solid #4b4136!important;color:#bdb19d!important;text-transform:uppercase;letter-spacing:.1em}
button:hover,.button:hover,.tab-button:hover{background:#231d19!important;border-color:#70402e!important}
hr,.divider{border:0;height:1px;background:linear-gradient(90deg,transparent,#554737 20%,#742722 50%,#554737 80%,transparent)}
footer{background:#070606!important;border-top:1px solid #3b3028;color:#7f7669}
::selection{background:#5b201d;color:#e2d7c1}

/* Readability pass — high-contrast ink and bone palette */
:root{--text-dark:#211a14;--text-mid:#3b3026;--text-muted:#55483a;--text-light:#e7decc;--text-light-muted:#cfc4af}
body{color:var(--text-light)}
/* Parchment/sourcebook pages */
main{color:var(--text-dark)}
main p,main li,main dd{color:var(--text-mid)}
main b,main strong{color:#18120e}
.section h2,.section h3{color:#211812!important;text-shadow:none}
.section h2{border-bottom-color:#6d5d48}
.lead{color:#40352b!important}
.kicker{color:#5a3529!important;font-weight:700}
.cards article p,.panel dd,.person-copy p{color:#3b3026!important}
.cards article small{color:#514335!important}
.quote{color:#33291f!important;background:rgba(84,58,37,.10)}
.panel{color:#2b221a!important;background:rgba(226,211,182,.42)!important}
.panel p{color:#352b22!important}.panel dt{color:#552f25!important}
.person-role{color:#5c392d!important}
/* Dark character folios */
.cast-card.featured summary h3{color:#f0e5ce!important;text-shadow:0 1px 2px #000}
.cast-open-hint{color:#d0c1a6!important}
.cast-card.featured .cast-copy{color:#211a14}
.cast-card.featured .cast-copy p{color:#382d24!important}
.cast-card.featured .cast-copy b{color:#17110d!important}
/* Contracts: dark ink on parchment, bone on black-nail notices */
.contract,.contract:nth-child(n){color:#241b14!important}
.contract h3{color:#1c1510!important;text-shadow:none}
.contract p,.contract .reward{color:#35291f!important}
.contract-number{color:#543b29!important}.contract .tag{color:#591d1b!important}
.contract.black{color:#e5dac4!important}
.contract.black h3{color:#f0e5d0!important;text-shadow:none}
.contract.black p,.contract.black .reward{color:#d3c7b2!important}
.contract.black .contract-number{color:#c3b49a!important}.contract.black .tag{color:#d47a6d!important}
.contract.black b,.contract.black strong{color:#f2e8d5!important}
.contract.completed:not(.black) h3,.contract.completed:not(.black) p,.contract.completed:not(.black) .reward{color:#3b3026!important}
/* Hero and global dark surfaces */
.hero,.hero p,.hero-inner>p:not(.eyebrow){color:#e6dcc9!important}.eyebrow{color:#c7aa7c!important}
.links a{color:#d1c5b0!important}.links a:hover{color:#fff5df!important}.brand{color:#eee2ca!important}.cta{color:#eadfc9!important}
.feature figcaption{color:#e4d8c0!important}.feature figcaption b{color:#fff0d3!important}
footer,footer span{color:#bdb19e!important}footer b{color:#eadfc8!important}

/* Concord Bestiary */
.bestiary-section{position:relative;overflow:hidden}
.bestiary-section:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,rgba(0,0,0,.04),transparent 38%,rgba(65,0,0,.045));mix-blend-mode:multiply}
.bestiary-index{display:flex;flex-wrap:wrap;gap:.55rem;margin:1.5rem 0 2.25rem;padding:.8rem 0;border-top:1px solid rgba(36,25,20,.38);border-bottom:1px solid rgba(36,25,20,.38)}
.bestiary-index span{font-family:var(--sans,Arial,sans-serif);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;padding:.35rem .7rem;border-right:1px solid rgba(36,25,20,.28)}
.bestiary-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.7fr);gap:1.2rem}
.bestiary-entry{position:relative;border:1px solid rgba(35,25,20,.58);box-shadow:0 14px 30px rgba(0,0,0,.16);background:rgba(226,215,188,.28)}
.bestiary-mark{padding:.65rem 1rem;border-bottom:1px solid rgba(35,25,20,.42);font-family:var(--sans,Arial,sans-serif);font-size:.64rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#5b1717}
.bestiary-copy{padding:1.35rem 1.5rem 1.55rem}
.bestiary-copy h3{margin:.15rem 0 .75rem;font-size:clamp(1.65rem,3vw,2.55rem)}
.bestiary-class{margin:0;font-family:var(--sans,Arial,sans-serif);font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;font-weight:700;opacity:.72}
.bestiary-copy dl{display:grid;grid-template-columns:minmax(120px,.42fr) 1fr;margin:1.35rem 0 0;border-top:1px solid rgba(35,25,20,.3)}
.bestiary-copy dt,.bestiary-copy dd{margin:0;padding:.55rem .3rem;border-bottom:1px solid rgba(35,25,20,.22)}
.bestiary-copy dt{font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}
.bestiary-note{font-style:italic;border-left:2px solid #5b1717;padding-left:1rem}
.bestiary-blank{background:rgba(20,18,17,.92);color:#eee6d6;border-color:#47413a}
.bestiary-blank .bestiary-mark{color:#c7b9a2;border-color:#47413a}
@media(max-width:800px){.bestiary-grid{grid-template-columns:1fr}.bestiary-copy dl{grid-template-columns:1fr}.bestiary-copy dd{padding-top:0}}

/* Bestiary field plates */
.bestiary-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.bestiary-plate{margin:0;border-bottom:1px solid rgba(35,25,20,.5);background:#171717;overflow:hidden}
.bestiary-plate svg{display:block;width:100%;height:auto;filter:contrast(1.08) saturate(.72)}
.bestiary-plate figcaption{padding:.55rem .9rem;background:#23211f;color:#ddd5c6;font-size:.72rem;font-style:italic;line-height:1.45;border-top:1px solid #4a4640}
.bestiary-mechanics{margin-top:1.25rem;padding:1rem 1.1rem;border:1px solid rgba(35,25,20,.35);background:rgba(20,18,17,.08)}
.bestiary-mechanics h4{margin:0 0 .65rem;font-family:var(--sans,Arial,sans-serif);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#551515}
.bestiary-mechanics p{font-size:.88rem;line-height:1.55;margin:.55rem 0}
.bestiary-mechanics .statline{padding-top:.65rem;border-top:1px solid rgba(35,25,20,.25)}
@media(max-width:950px){.bestiary-grid{grid-template-columns:1fr}}

/* Bestiary plates: preserve the complete field illustration */
.bestiary-plate{display:flex;flex-direction:column;background:#11100f;overflow:hidden}
.bestiary-plate img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;object-position:center;background:#11100f;filter:contrast(1.06) saturate(.78) brightness(.9)}
.bestiary-plate figcaption{flex:0 0 auto}


/* WordPress integration */
body.admin-bar .hero nav,
body.admin-bar .site-header-minimal nav{top:32px}
.links{list-style:none;padding-left:0;margin-top:0;margin-bottom:0}
.links li{margin:0;padding:0}
.site-header-minimal{min-height:64px}
.site-header-minimal nav{height:64px;display:flex;align-items:center;padding:0 5vw;position:fixed;inset:0 0 auto;z-index:50;background:rgba(8,6,5,.96);border-bottom:1px solid #493c2d;box-shadow:0 4px 20px #000;backdrop-filter:blur(8px)}
.site-header-minimal #menu{display:none}
.site-header-minimal + main{margin-top:110px}
.wp-content-shell .entry-title{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(2.4rem,5vw,4.7rem);line-height:1;color:#211812}
.wp-content-shell .entry-meta{font-family:'Cormorant Garamond',Georgia,serif;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;color:#5a4638}
.wp-content-shell .entry-content img{max-width:100%;height:auto}
.wp-content-shell .post-list article{padding:0 0 2.5rem;margin:0 0 2.5rem;border-bottom:1px solid #796a53}
.wp-pagination{display:flex;gap:1rem;justify-content:space-between;margin-top:2rem}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:782px){body.admin-bar .hero nav,body.admin-bar .site-header-minimal nav{top:46px}}
@media(max-width:900px){.site-header-minimal nav #menu{display:block;margin-left:auto;background:none;border:0;color:#c8b99c;font-size:1.4rem}.site-header-minimal .links{display:none;position:absolute;top:64px;left:0;right:0;background:#0a0807;padding:24px 5vw;flex-direction:column;border-bottom:1px solid #493c2d}.site-header-minimal .links.open{display:flex}}


/* Editable content admin migration helpers */
.cast-card.featured summary>img{object-fit:cover}
.cast-card.featured:nth-child(2) summary>img{object-fit:contain;background:#15100c;padding:10px}
.vaelora-empty{padding:24px;border:1px dashed rgba(50,40,30,.35);font-style:italic}


/* Coin & commerce */
.currency-ladder{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:32px 0 18px}
.currency-ladder>div{display:flex;align-items:center;justify-content:center;gap:.65rem;min-height:76px;padding:14px 18px;border:1px solid #77664f;background:rgba(232,217,188,.32);font-family:'Cormorant Garamond',Georgia,serif;font-size:1.05rem;letter-spacing:.02em;text-align:center}
.currency-ladder span{color:#74573f}.currency-ladder strong{color:#551d19}
.economy-note{margin:18px 0 34px;padding:20px 24px;border-left:4px solid #6a2821;background:rgba(77,55,35,.08)}
.economy-note p{margin:.25rem 0;max-width:none!important}.economy-note h3{margin:.1rem 0 .55rem}
.price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.price-card{min-width:0;border:1px solid #7b6a52;background:rgba(236,222,193,.22);box-shadow:inset 0 0 0 3px rgba(90,72,47,.045)}
.price-card h3{margin:0;padding:17px 19px 14px;border-bottom:1px solid #8a775d;background:rgba(73,51,31,.08);font-size:1.35rem}
.price-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.price-table{width:100%;border-collapse:collapse;font-size:.92rem;line-height:1.35}
.price-table td{padding:9px 14px;border-bottom:1px solid rgba(91,72,50,.23);vertical-align:top;color:#342920}
.price-table tr:last-child td{border-bottom:0}
.price-table td:last-child{width:34%;text-align:right;white-space:nowrap;font-family:'Cormorant Garamond',Georgia,serif;font-weight:700;color:#552f25}
.economy-contracts{margin-top:34px}
@media(max-width:900px){.price-grid{grid-template-columns:1fr}.currency-ladder{grid-template-columns:1fr}}
@media(max-width:520px){.price-table{font-size:.86rem}.price-table td{padding:8px 10px}.currency-ladder>div{min-height:0}}


/* Version 2.2 — section pages */
.links{gap:16px}.links a{font-size:.72rem}
.vaelora-section-page .section{min-height:55vh}
.vaelora-page-title{font-family:'Cormorant Garamond',Georgia,serif!important;font-size:clamp(3rem,6vw,5.8rem)!important;line-height:.92!important;font-weight:500!important;letter-spacing:-.025em!important;color:#211812!important;margin:.12em 0 .55em!important;border-bottom:1px solid #6d5d48;padding-bottom:.22em;text-shadow:none!important}
.vaelora-page-title:first-letter{font-family:'UnifrakturMaguntia',serif;color:var(--red);font-size:1.18em}
.vaelora-page-intro{margin-bottom:2.2rem}
.vaelora-page-intro>p:first-child{margin-top:0}
.section-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:42px}
.section-directory-card{display:grid;grid-template-columns:1fr auto;grid-template-areas:'kicker arrow' 'title arrow';align-items:center;gap:4px 20px;padding:24px 26px;text-decoration:none;border:1px solid #78664e;background:rgba(232,217,188,.30);box-shadow:inset 0 0 0 3px rgba(90,72,47,.05);transition:background .16s ease,border-color .16s ease,transform .16s ease}
.section-directory-card:hover{background:rgba(236,222,193,.52);border-color:#5e4534;transform:translateY(-1px)}
.section-directory-kicker{grid-area:kicker;font-family:'Cormorant Garamond',Georgia,serif;text-transform:uppercase;font-weight:700;letter-spacing:.14em;font-size:.65rem;color:#684a32}
.section-directory-card strong{grid-area:title;font-family:'Cormorant Garamond',Georgia,serif;font-size:1.55rem;line-height:1.05;color:#241a13}
.section-directory-arrow{grid-area:arrow;font-family:'Cormorant Garamond',Georgia,serif;font-size:2rem;color:#6a2821}
.home-callout{padding-top:72px;padding-bottom:72px}
.home-callout h2{font-size:clamp(2.6rem,5vw,4.8rem)}
@media(max-width:1100px){.links{gap:10px}}
@media(max-width:760px){.section-directory{grid-template-columns:1fr}.section-directory-card{padding:20px 22px}.vaelora-page-title{font-size:clamp(2.7rem,13vw,4.4rem)!important}}

/* Contract status: Abandoned */
.contract.abandoned{opacity:.68;filter:grayscale(.28)}
.abandoned-stamp{position:absolute;right:17px;top:17px;border:2px double #5f5141;padding:3px 7px;font-family:'Cormorant Garamond',serif;text-transform:uppercase;font-weight:600;font-size:.64rem;letter-spacing:.12em;color:#514538;background:rgba(197,179,143,.62);transform:rotate(-3deg)}
.contract.black .abandoned-stamp{background:#241814;color:#b69f86;border-color:#766452}
.contract.abandoned h3,.contract.abandoned p,.contract.abandoned .reward{opacity:.76}
