/*
Theme Name: Ludic Oath Games Phase 2
Theme URI: https://ludicoathgames.com
Author: Ludic Oath Games
Description: Expanded publisher theme for Ludic Oath Games with the Going Medieval Anthology, game catalog, individual game pages, downloads, premium edition, about, and contact pages.
Version: 2.1.0
Text Domain: ludic-oath-games
*/
:root{--night:#071019;--night2:#101b27;--ink:#24170f;--parchment:#ead9bb;--light:#f7ecd9;--gold:#c59a58;--gold2:#efd7a5;--wax:#7c1d1a;--green:#344839;--max:1200px;--serif:Georgia,"Times New Roman",serif;--sans:system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--night);color:var(--light);font-family:var(--serif);line-height:1.65}img{max-width:100%;height:auto;display:block}a{color:inherit}.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}.skip-link{position:fixed;top:8px;left:8px;transform:translateY(-160%);z-index:999;background:#fff;color:#000;padding:.7rem 1rem}.skip-link:focus{transform:none}.site-header{position:fixed;z-index:100;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:12px clamp(18px,4vw,64px);background:linear-gradient(rgba(4,9,14,.9),rgba(4,9,14,.15));transition:.25s}.site-header.scrolled{background:rgba(7,16,25,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(197,154,88,.28)}.brand img{width:190px;height:62px;object-fit:contain}.site-nav ul{list-style:none;display:flex;gap:28px;margin:0;padding:0;align-items:center}.site-nav a{text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font:700 .78rem var(--sans)}.site-nav a:hover{color:var(--gold2)}.menu-toggle{display:none;background:none;border:1px solid rgba(239,215,165,.55);color:#fff;padding:.55rem .75rem}.hero{min-height:100svh;display:grid;place-items:center;text-align:center;position:relative;overflow:hidden;padding:130px 20px 70px;background:radial-gradient(circle at 50% 35%,rgba(124,29,26,.32),transparent 30%),linear-gradient(180deg,#071019 0%,#101b27 55%,#071019 100%)}.hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(239,215,165,.25) 0 1px,transparent 1.7px);background-size:83px 83px;opacity:.12}.hero-inner{position:relative;z-index:2;max-width:900px}.hero-logo{width:min(720px,90vw);margin:0 auto 18px;filter:drop-shadow(0 24px 45px rgba(0,0,0,.48))}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font:700 .78rem var(--sans);color:var(--gold2)}h1,h2,h3{line-height:1.1;margin-top:0}.hero h1{font-size:clamp(2.8rem,7vw,6.2rem);margin:.15em 0}.tagline{font-size:clamp(1.25rem,2.5vw,2rem);color:var(--gold2);margin:.2rem 0}.hero-copy{max-width:690px;margin:1rem auto 1.8rem;font-size:1.12rem}.actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.button{display:inline-block;padding:.8rem 1.15rem;text-decoration:none;border:1px solid var(--gold);text-transform:uppercase;letter-spacing:.1em;font:700 .78rem var(--sans)}.button.primary{background:var(--gold);color:var(--ink)}.button:hover{transform:translateY(-2px)}section{position:relative}.parchment{background:linear-gradient(145deg,var(--light),var(--parchment));color:var(--ink)}.section-pad{padding:clamp(70px,9vw,120px) 0}.section-head{text-align:center;max-width:760px;margin:0 auto 44px}.section-head h2{font-size:clamp(2.2rem,5vw,4rem);margin:.2rem 0 1rem}.pillar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.pillar{background:rgba(255,255,255,.46);border:1px solid rgba(77,50,28,.22);padding:22px;box-shadow:0 20px 50px rgba(56,35,17,.08)}.pillar img{height:180px;width:100%;object-fit:contain;margin-bottom:18px}.pillar h3{font-size:1.55rem;margin:.2rem 0}.number{color:var(--wax);font:700 .75rem var(--sans);letter-spacing:.18em}.world{background:linear-gradient(rgba(5,10,15,.84),rgba(5,10,15,.94)),radial-gradient(circle at 70% 30%,rgba(124,29,26,.4),transparent 38%)}.world-layout{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:60px}.world-mark img{max-height:520px;margin:auto;object-fit:contain;filter:drop-shadow(0 30px 55px rgba(0,0,0,.5))}.world h2,.about h2,.contact h2{font-size:clamp(2.3rem,5vw,4.2rem);margin:.15rem 0 1rem}.lead{font-size:1.35rem;color:var(--gold2)}.game-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:25px 0}.game-list div{border-top:1px solid rgba(239,215,165,.35);padding-top:12px}.game-list strong{display:block;color:var(--gold2)}.about{background:#132018}.about-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:center}.about-logo{background:rgba(255,255,255,.04);padding:26px;border:1px solid rgba(197,154,88,.2)}.contact{background:linear-gradient(135deg,#ead9bb,#f7ecd9);color:var(--ink)}.contact-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:60px}.contact-card{border:1px solid rgba(36,23,15,.22);padding:28px;background:rgba(255,255,255,.45)}.contact-card a{color:var(--wax);font-weight:700}.site-footer{padding:36px 0;background:#050a0f;border-top:1px solid rgba(197,154,88,.25)}.footer-layout{display:flex;align-items:center;justify-content:space-between;gap:30px}.site-footer img{width:135px}.site-footer p{margin:0;color:#cbbda5}.reveal{opacity:0;transform:translateY(20px);transition:.65s}.reveal.visible{opacity:1;transform:none}.page-content{padding:140px 0 80px;background:var(--light);color:var(--ink);min-height:75vh}.page-content h1{font-size:clamp(2.5rem,6vw,4.5rem)}
@media(max-width:900px){.pillar-grid{grid-template-columns:repeat(2,1fr)}.world-layout,.about-layout,.contact-layout{grid-template-columns:1fr}.world-mark{order:-1}.game-list{grid-template-columns:1fr}.site-nav{display:none;position:absolute;top:82px;left:18px;right:18px;background:#071019;padding:20px;border:1px solid rgba(197,154,88,.35)}.site-nav.open{display:block}.site-nav ul{flex-direction:column;align-items:flex-start}.menu-toggle{display:block}.footer-layout{flex-direction:column;text-align:center}}@media(max-width:560px){.pillar-grid{grid-template-columns:1fr}.brand img{width:150px}.hero-logo{width:96vw}.wrap{width:min(var(--max),calc(100% - 28px))}}


/* Phase 2 — Anthology and catalog */
:root{--red:#a53030;--blue:#2d6590;--estate-green:#477344;--paper:#f8f0df;--line:rgba(63,43,26,.2)}
.inner-hero{padding:150px 0 76px;background:radial-gradient(circle at 70% 25%,rgba(124,29,26,.3),transparent 34%),linear-gradient(180deg,#071019,#101b27);text-align:center;border-bottom:1px solid rgba(197,154,88,.25)}
.inner-hero .wrap{max-width:920px}.inner-hero h1{font-size:clamp(2.8rem,7vw,5.5rem);margin:.15em 0}.inner-hero p{font-size:1.18rem}.subnav{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:24px}.subnav a{border:1px solid rgba(239,215,165,.42);padding:.6rem .9rem;text-decoration:none;font:700 .75rem var(--sans);text-transform:uppercase;letter-spacing:.08em}
.anthology-intro{background:linear-gradient(145deg,var(--light),var(--parchment));color:var(--ink)}.intro-copy{max-width:860px;margin:auto;text-align:center}.intro-copy h2,.catalog-heading h2{font-size:clamp(2.2rem,5vw,4rem)}
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:38px}.feature-card{padding:25px;background:rgba(255,255,255,.48);border:1px solid var(--line)}.feature-card .icon{font-size:2rem;color:var(--wax)}
.estates-section{background:#0e1720}.estate-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.estate-card{padding:28px;background:rgba(255,255,255,.045);border-top:5px solid}.estate-card.nobility{border-color:var(--red)}.estate-card.clergy{border-color:var(--blue)}.estate-card.peasantry{border-color:var(--estate-green)}.estate-card .estate-name{font-size:2rem;margin:.2rem 0}.estate-card .estate-word{font:700 .75rem var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--gold2)}
.experience-section{background:linear-gradient(145deg,var(--paper),var(--parchment));color:var(--ink)}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.experience-card{padding:26px;border:1px solid var(--line);background:rgba(255,255,255,.55)}.experience-card h3{font-size:1.75rem}.experience-card .titles{font-style:italic;color:#64462c}
.stats-band{display:grid;grid-template-columns:repeat(4,1fr);background:#050a0f;border-top:1px solid rgba(197,154,88,.25);border-bottom:1px solid rgba(197,154,88,.25)}.stats-band div{text-align:center;padding:30px 15px}.stats-band strong{display:block;font-size:2.7rem;color:var(--gold2)}.stats-band span{font:700 .72rem var(--sans);text-transform:uppercase;letter-spacing:.1em}
.featured-games{background:#132018}.featured-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.featured-panel{border:1px solid rgba(197,154,88,.22);background:rgba(255,255,255,.04);overflow:hidden}.featured-art{display:block;aspect-ratio:3/2;overflow:hidden}.featured-art img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.featured-panel:hover .featured-art img{transform:scale(1.025)}.featured-copy{padding:24px 28px 28px}.featured-panel h3{font-size:2rem;margin-bottom:.5rem}.featured-panel a{text-decoration:none;color:var(--gold2);font-weight:700}
.catalog-shell{background:linear-gradient(145deg,var(--light),var(--parchment));color:var(--ink);min-height:70vh}.catalog-tools{position:sticky;top:86px;z-index:10;background:rgba(247,236,217,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);padding:14px 0}.filter-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.filter-button{background:transparent;border:1px solid rgba(36,23,15,.3);padding:.6rem .85rem;cursor:pointer;font:700 .72rem var(--sans);text-transform:uppercase;letter-spacing:.06em}.filter-button.active{background:var(--ink);color:#fff}
.game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.game-card{display:flex;flex-direction:column;background:rgba(255,255,255,.58);border:1px solid var(--line);box-shadow:0 16px 35px rgba(56,35,17,.08);overflow:hidden}.game-card-image{aspect-ratio:16/10;background:linear-gradient(135deg,#192531,#071019);display:grid;place-items:center}.game-card-image img{width:100%;height:100%;object-fit:cover}.game-card-placeholder{font-size:3rem;color:var(--gold2)}.game-card-body{padding:22px;display:flex;flex:1;flex-direction:column}.game-card h2{font-size:1.8rem;margin:.45rem 0}.game-card h2 a{text-decoration:none}.game-card .summary{flex:1}.badges{display:flex;gap:6px;flex-wrap:wrap}.badge{font:700 .65rem var(--sans);text-transform:uppercase;letter-spacing:.06em;border:1px solid rgba(36,23,15,.25);padding:.25rem .45rem}.facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:16px 0}.facts div{padding:8px 4px}.facts strong{display:block;font:700 .62rem var(--sans);text-transform:uppercase;color:#765a3e}.card-link{color:var(--wax);font-weight:700;text-decoration:none}
.game-single{background:linear-gradient(145deg,var(--light),var(--parchment));color:var(--ink)}.game-single-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:start}.game-cover{position:sticky;top:120px}.game-cover img{width:100%;border:1px solid var(--line);box-shadow:0 25px 50px rgba(56,35,17,.16)}.game-cover-placeholder{aspect-ratio:4/5;background:#13202c;color:var(--gold2);display:grid;place-items:center;font-size:5rem;border:1px solid var(--line)}.game-title{font-size:clamp(2.8rem,6vw,5rem)}.game-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:26px 0}.game-meta div{padding:13px;background:rgba(255,255,255,.62)}.game-meta strong,.game-meta span{display:block}.game-meta strong{font:700 .68rem var(--sans);text-transform:uppercase;color:#765a3e}.game-section{border-top:1px solid var(--line);padding-top:22px;margin-top:28px}.download-button{margin-top:20px}
.content-panel{background:linear-gradient(145deg,var(--light),var(--parchment));color:var(--ink);min-height:70vh}.content-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.content-card{padding:26px;border:1px solid var(--line);background:rgba(255,255,255,.52)}.content-card h2{font-size:1.8rem}.premium-layout{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.premium-box{min-height:420px;background:#101b27;border:1px solid rgba(197,154,88,.3);display:grid;place-items:center;padding:30px;text-align:center;color:var(--gold2)}
@media(max-width:980px){.feature-grid{grid-template-columns:repeat(2,1fr)}.estate-grid,.experience-grid,.featured-grid,.game-grid,.content-grid{grid-template-columns:1fr 1fr}.game-single-grid,.premium-layout{grid-template-columns:1fr}.game-cover{position:static;max-width:520px}.catalog-tools{top:78px}}
@media(max-width:650px){.feature-grid,.estate-grid,.experience-grid,.featured-grid,.game-grid,.content-grid,.stats-band{grid-template-columns:1fr}.game-meta{grid-template-columns:1fr}.facts{grid-template-columns:1fr}.inner-hero{padding-top:120px}.catalog-tools{position:static}}

/* Phase 2.2 — LOG Tavern */
.tavern-hero{padding:145px 0 82px;background:radial-gradient(circle at 78% 35%,rgba(197,154,88,.22),transparent 28%),linear-gradient(135deg,#071019 0%,#152018 58%,#301b12 100%);border-bottom:1px solid rgba(197,154,88,.3)}
.tavern-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:55px;align-items:center}.tavern-copy h1{font-size:clamp(3rem,7vw,5.8rem);line-height:.96;margin:.18em 0}.tavern-lead{font-size:clamp(1.15rem,2vw,1.45rem);max-width:720px;color:#e9d8b8}.tavern-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:28px}.tavern-text-link{font-weight:700;color:var(--gold2);text-decoration:none}.tavern-mark{display:grid;place-items:center}.tavern-mark img{max-height:420px;width:100%;object-fit:contain;filter:drop-shadow(0 28px 45px rgba(0,0,0,.48))}.tavern-intro{max-width:880px;text-align:center}.tavern-intro h2{font-size:clamp(2.3rem,5vw,4rem);margin:.2rem 0 1rem}.tavern-intro p{font-size:1.12rem}.tavern-tables{background:#101a18}.tavern-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.tavern-card{position:relative;min-height:255px;padding:28px;border:1px solid rgba(197,154,88,.22);background:rgba(255,255,255,.045);display:flex;flex-direction:column}.tavern-card h3{font-size:1.8rem;margin:.5rem 0}.tavern-card p{flex:1}.tavern-card a{color:var(--gold2);font-weight:700;text-decoration:none}.tavern-card-live{border-top:4px solid var(--gold)}.tavern-card-planned{border-top:4px solid rgba(239,215,165,.28)}.tavern-status{align-self:flex-start;font:700 .65rem var(--sans);letter-spacing:.12em;text-transform:uppercase;border:1px solid rgba(239,215,165,.38);padding:.28rem .48rem;color:var(--gold2)}.tavern-notice{background:linear-gradient(145deg,#ead9bb,#f7ecd9);color:var(--ink)}.tavern-notice-box{display:grid;grid-template-columns:1.25fr .75fr;gap:55px;align-items:center;border:1px solid rgba(36,23,15,.22);padding:clamp(30px,5vw,58px);background:rgba(255,255,255,.42)}.tavern-notice h2{font-size:clamp(2.2rem,5vw,3.7rem);margin:.15rem 0}.tavern-flavor{font-family:var(--serif);font-size:clamp(1.7rem,4vw,2.7rem);font-style:italic;text-align:center;color:var(--wax)}
@media(max-width:900px){.tavern-hero-grid,.tavern-notice-box{grid-template-columns:1fr}.tavern-mark{order:-1}.tavern-mark img{max-height:260px}.tavern-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.tavern-grid{grid-template-columns:1fr}.tavern-hero{padding-top:118px}.tavern-actions{align-items:flex-start;flex-direction:column}.tavern-notice-box{padding:28px}.tavern-flavor{text-align:left}}
