:root{color-scheme:dark;--bg:#0c1013;--bg2:#12171a;--panel:#171d20;--panel2:#1c2426;--cream:#f2e7d0;--muted:#aeb4ae;--brass:#d6ab62;--copper:#b9704a;--teal:#79bcb5;--line:#3c3c35;--max:1160px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 88% 10%,#22363255,transparent 38%),radial-gradient(ellipse at 0% 55%,#40301d24,transparent 48%),var(--bg);color:var(--cream);font-family:system-ui,-apple-system,'Segoe UI',sans-serif;line-height:1.65}a{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--teal);outline-offset:4px}img{max-width:100%}.container{width:min(calc(100% - 40px),var(--max));margin:auto}.skip{position:absolute;left:-10000px;top:auto}.skip:focus{left:12px;top:12px;z-index:20;padding:10px;background:white;color:black}.site-header{position:sticky;top:0;z-index:10;background:#0d1214ee;backdrop-filter:blur(15px);border-bottom:1px solid #bfa16b30}.nav{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:flex;gap:12px;align-items:center;text-decoration:none}.brand-signet{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--brass);border-radius:50%;color:var(--brass);font-size:25px}.brand-label{display:flex;flex-direction:column;line-height:1.15}.brand-label strong{font:700 20px Georgia,serif;letter-spacing:.045em;text-transform:uppercase}.brand-label small{font:600 10px system-ui,sans-serif;letter-spacing:.18em;color:var(--muted);text-transform:uppercase;margin-top:6px}.nav-links{display:flex;gap:26px;align-items:center}.nav-links a{text-decoration:none;color:#d7d8ce;font-size:14px;letter-spacing:.03em}.nav-links a:hover,.footer a:hover{color:var(--brass)}.menu-toggle{display:none}.eyebrow{color:var(--brass);text-transform:uppercase;letter-spacing:.23em;font-size:11px;font-weight:750}.hero{position:relative;overflow:hidden;border-bottom:1px solid #ab8b5d3c}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:35px;min-height:620px;align-items:center;padding:64px 0}.hero h1,.page-hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(48px,6.8vw,94px);font-weight:500;line-height:1.05;letter-spacing:-.04em;margin:15px 0 25px}.hero h1 em{color:var(--brass);font-style:normal}.hero p{max-width:580px;color:var(--muted);font-size:clamp(17px,1.75vw,20px)}.pill{display:inline-flex;align-items:center;border:1px solid #d6ab6280;color:var(--brass);border-radius:999px;padding:6px 13px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700}.actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:29px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 21px;border-radius:4px;text-decoration:none;font-size:13px;font-weight:750;letter-spacing:.05em}.btn-primary{background:var(--brass);color:#201911}.btn-primary:hover{background:#eac287}.btn-outline{border:1px solid #b79b6a6e;color:var(--cream)}.btn-outline:hover{background:#d6ab6217}.hero-art{position:relative;max-width:560px;width:100%;aspect-ratio:1/1;isolation:isolate;margin:auto;background:radial-gradient(circle,#30696318 0%,transparent 70%)}.hero-art svg{height:100%;width:100%;filter:drop-shadow(0 16px 28px #0008)}.hero-art:before{content:'';position:absolute;inset:8%;border:1px solid #d6ab6220;border-radius:50%;box-shadow:0 0 120px #66b9af16;z-index:-1}.art-label{position:absolute;right:2%;bottom:9%;font:11px Georgia,serif;letter-spacing:.12em;color:#d0b888;border-top:1px solid #6d563b;padding-top:9px}.section{padding:92px 0}.section.compact{padding:65px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:34px}.section h2,.page-hero h2{font:500 clamp(34px,4.2vw,53px)/1.12 Georgia,serif;letter-spacing:-.025em;margin:10px 0}.section-desc{max-width:640px;color:var(--muted)}.games{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.game-card{border:1px solid #b7a0763c;background:linear-gradient(145deg,#1a2224,#101719);border-radius:10px;overflow:hidden}.game-art{height:270px;display:grid;place-items:center;position:relative;overflow:hidden}.game-art--cards{background:radial-gradient(ellipse at center,#244a46,#0d221e 65%,#0b1617)}.game-art--vault{background:radial-gradient(ellipse at center,#4b3d27,#221f18 64%,#111718)}.game-art .inner{transform:rotate(-7deg);font-family:Georgia,serif;color:#e8d7ac;text-shadow:0 6px 18px #000;display:flex;align-items:center;justify-content:center;gap:9px}.game-art--cards .inner span{width:92px;height:144px;border:2px solid #c89b5b;border-radius:9px;background:linear-gradient(145deg,#302a26,#121b1c);display:grid;place-items:center;font-size:51px;box-shadow:8px 13px 14px #0009}.game-art--cards .inner span:nth-child(2){transform:translateY(-19px) rotate(9deg);color:#c37655}.game-art--vault .inner{height:200px;width:200px;border:22px double #b88742;border-radius:50%;box-shadow:0 0 0 5px #2f2922,0 0 0 13px #9c7a46,0 0 30px #000 inset;background:repeating-radial-gradient(circle,#423c2d 0 9px,#927247 10px 12px,#242d2c 13px 21px);transform:none}.game-art--vault .inner:after{content:'✧';font-size:53px;color:#a3e1da;text-shadow:0 0 22px #83ddd4}.game-body{padding:29px}.game-card h3{font:500 31px Georgia,serif;margin:11px 0 7px}.game-body p{color:var(--muted);font-size:15px;min-height:72px}.link-arrow{color:var(--brass);text-decoration:none;font-size:14px;font-weight:700}.link-arrow:hover{text-decoration:underline}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:32px}.feature-panel{padding:38px;border:1px solid #b7a07635;background:linear-gradient(155deg,#1c2525,#12191b);border-radius:9px}.feature-panel h3{font:500 29px Georgia,serif;margin:10px 0}.feature-panel p{color:var(--muted)}.rule{border:0;border-top:1px solid #99866335;margin:22px 0}.page-hero{padding:100px 0 60px;background:radial-gradient(ellipse at 83% 23%,#76542c25,transparent 46%);border-bottom:1px solid #b7a07633}.page-hero h1{font-size:clamp(43px,6vw,74px);max-width:850px}.page-hero p{max-width:800px;color:var(--muted);font-size:19px}.crumb{color:var(--brass);text-decoration:none;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.content{width:min(100%,850px);margin:0 auto}.content h2{font:500 32px Georgia,serif;margin:38px 0 10px}.content h3{font-size:19px;margin:25px 0 6px}.content p,.content li{color:#bec6c0}.content a{color:var(--brass)}.content ol,.content ul{padding-left:22px}.notice{padding:19px 22px;background:#292718;border-left:3px solid var(--brass);color:#e6d6b6;border-radius:3px;margin:25px 0}.faq{border-bottom:1px solid #6c695345;padding:18px 0}.faq h3{font:600 18px system-ui;margin:0 0 7px}.faq p{margin:6px 0}.mini-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:25px}.mini-card{border:1px solid #9b87604a;border-radius:6px;padding:24px;background:#141b1d}.mini-card h3{font:500 23px Georgia,serif;margin:5px 0}.mini-card p{color:var(--muted);font-size:14px}.footer{border-top:1px solid #ab8b5d3c;padding:42px 0 30px;background:#0a0e10;color:var(--muted);font-size:13px}.footer-inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px}.footer a{color:var(--muted);text-decoration:none}.footer-links{display:flex;gap:20px;flex-wrap:wrap}.footer small{display:block;margin-top:10px}.site-note{font-size:13px;color:var(--muted)}@media(max-width:800px){.hero-grid{grid-template-columns:1fr;min-height:0;padding:60px 0}.hero-art{max-width:360px}.games,.two-col{grid-template-columns:1fr}.mini-cards{grid-template-columns:1fr}.section{padding:62px 0}.game-body p{min-height:0}.section-head{display:block}.nav{min-height:68px}.menu-toggle{display:block;background:none;border:1px solid #76694e;color:var(--cream);border-radius:5px;padding:9px 12px;font-size:14px}.nav-links{display:none;position:absolute;top:68px;left:0;right:0;background:#101618;padding:20px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.nav-links.open{display:flex}.page-hero{padding:65px 0 38px}.feature-panel{padding:25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Steampunk Games production layout: approved imagery and complete policy pages. */
.hero-grid{min-height:540px}
.hero-art{display:grid;grid-template-columns:1.08fr .72fr;align-items:center;gap:14px;max-width:600px;aspect-ratio:auto;background:none}
.hero-art:before{inset:4%;border-radius:12px}
.hero-art img{display:block;width:100%;height:390px;object-fit:cover;border:1px solid #b8915e77;border-radius:8px;box-shadow:0 22px 55px #000a}
.hero-art-steam{object-position:center}
.hero-art .hero-art-vault{height:320px;object-position:center}
.game-art{height:260px;background:#11191b}
.game-art img{width:100%;height:100%;display:block;object-fit:cover}
.game-art--cards img{object-position:center 56%}
.game-art--vault img{object-position:center 42%}
.game-card:first-child{border-color:#b8864b80}
.game-card h3{line-height:1.2}
.game-body .actions{margin-top:18px}
.game-visual{position:relative;margin-top:-24px;max-width:880px}
.game-visual img{display:block;width:100%;height:340px;object-fit:cover;border-radius:8px;border:1px solid #a9845070;box-shadow:0 20px 50px #0008}
.game-visual span{display:block;text-align:right;margin-top:6px;color:var(--muted);font-size:12px}
.vault-visual img{object-position:center 45%}
.legacy-main{padding:62px 0 85px}
.legacy-main .page-heading{max-width:850px;margin-bottom:34px}
.legacy-main .page-heading h1{font:500 clamp(42px,6vw,72px)/1.08 Georgia,serif;letter-spacing:-.03em;margin:12px 0}
.legacy-main .page-heading p{font-size:18px;color:var(--muted);max-width:760px}
.legacy-main .privacy-date{font-size:14px}
.legacy-main .page-grid{display:grid;grid-template-columns:215px minmax(0,1fr);gap:48px;align-items:start}
.legacy-main .toc{position:sticky;top:104px;border:1px solid #b7a0763c;background:#151c1e;padding:20px;display:flex;flex-direction:column;gap:9px;border-radius:6px}
.legacy-main .toc strong{font:600 16px Georgia,serif;color:var(--cream);margin-bottom:6px}
.legacy-main .toc a{color:var(--muted);font-size:13px;text-decoration:none}
.legacy-main .toc a:hover,.legacy-main a:hover{text-decoration:underline}
.legacy-main .prose{min-width:0;max-width:850px}
.legacy-main .prose section{margin:0 0 32px;padding-bottom:19px;border-bottom:1px solid #9b876035;scroll-margin-top:100px}
.legacy-main .prose h2{font:500 30px/1.2 Georgia,serif;margin:0 0 12px}
.legacy-main .prose h3{font-size:18px;margin:22px 0 7px}
.legacy-main .prose p,.legacy-main .prose li{color:#c5cdc8;line-height:1.75}
.legacy-main .prose a,.legacy-main .page-heading a{color:var(--brass)}
.legacy-main .prose ul,.legacy-main .prose ol{padding-left:22px}
.legacy-main .contact-box,.legacy-main .note{padding:20px 23px;background:#1b2525;border:1px solid #b7a07642;border-radius:6px;margin:18px 0}
.legacy-main .note{background:#292718}
.legacy-main .contact-box p:first-child,.legacy-main .note p:first-child{margin-top:0}
.legacy-main .contact-box p:last-child,.legacy-main .note p:last-child{margin-bottom:0}
.legacy-main .button{display:inline-flex;background:var(--brass);color:#201911!important;text-decoration:none;padding:11px 18px;border-radius:4px;font-weight:700}
.legacy-main .faq{margin:22px 0;border-bottom:1px solid #b7a07635;padding-bottom:12px}
.legacy-main .faq h3{font-weight:700}
.legacy-main .inline-code{font-family:ui-monospace,SFMono-Regular,monospace;background:#293334;padding:1px 5px;border-radius:3px}
.legacy-main .launch-badge{display:inline-block;color:var(--brass);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.09em}
.legacy-main details{padding:16px;background:#1b2425;border-radius:4px}
.legacy-main summary{cursor:pointer}
@media(max-width:800px){
  .hero-grid{min-height:0;padding:34px 0 23px;gap:0}
  .hero h1{font-size:clamp(40px,10vw,58px);margin:10px 0 13px}
  .hero p{font-size:16px;line-height:1.5;margin:0 0 12px}
  .hero .actions{margin-top:17px}
  .hero-art{display:none}
  .section{padding:28px 0}
  .section.compact{padding:34px 0}
  .section-head{margin-bottom:16px}
  .section h2{font-size:31px}
  .section-desc{font-size:14px;margin:0}
  .games{gap:13px}
  .game-card{display:grid;grid-template-columns:38% 62%;min-height:203px}
  .game-art{height:100%;min-height:203px}
  .game-body{padding:16px 17px}
  .game-card h3{font-size:24px;margin:8px 0 5px}
  .game-body p{font-size:13px;line-height:1.45;margin:0}
  .game-body .pill{font-size:9px;letter-spacing:.06em;padding:4px 8px}
  .game-body .actions{gap:12px;margin-top:10px}
  .game-body .link-arrow{font-size:12px}
  .page-hero{padding:43px 0 36px}
  .page-hero h1{font-size:clamp(36px,9vw,55px)}
  .page-hero p{font-size:16px}
  .game-visual{margin-top:-12px}
  .game-visual img{height:220px}
  .legacy-main{padding:38px 0 60px}
  .legacy-main .page-heading h1{font-size:42px}
  .legacy-main .page-heading p{font-size:16px}
  .legacy-main .page-grid{grid-template-columns:1fr;gap:25px}
  .legacy-main .toc{position:static;display:block}
  .legacy-main .toc a{display:inline-block;margin:7px 12px 0 0}
}
@media(max-width:420px){
  .container,.legacy-main{width:min(calc(100% - 28px),var(--max))}
  .brand-label strong{font-size:16px}
  .brand-label small{font-size:9px}
  .brand-signet{width:35px;height:35px;font-size:20px}
  .hero h1{font-size:40px}
  .hero p{font-size:15px}
  .hero .btn-outline{display:none}
  .game-card{grid-template-columns:34% 66%;min-height:205px}
  .game-art{min-height:205px}
  .game-body{padding:13px}
  .game-card h3{font-size:21px}
  .game-body p{font-size:12px}
  .game-body .actions{flex-direction:column;align-items:flex-start;gap:3px}
  .game-body .link-arrow{font-size:12px}
  .legacy-main .page-heading h1{font-size:37px}
  .legacy-main .prose h2{font-size:26px}
}
@media(max-width:800px){
  .home-main{display:flex;flex-direction:column}
  .home-main #games{order:-1}
  .home-main #games .section-head{margin-bottom:12px}
  .home-main #games .section-desc{display:none}
  .home-main #games h2{margin-bottom:0}
}
.hero-game-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.hero-game-links a{border-bottom:1px solid #b8915e;color:var(--brass);font-size:13px;font-weight:700;text-decoration:none;padding:2px 0}
.hero-game-links a:hover{text-decoration:underline}
@media(max-width:800px){.hero-game-links{display:none}}
@media(max-width:420px){
  .game-body p,.game-body .link-arrow{font-size:13px}
  .game-body .pill{font-size:10px}
}
.legacy-main .toc strong{display:block}
/* Stage 2: three independent games, generated from content/games.json. */
.portfolio-nav{background:#101719;border-bottom:1px solid #9b876044}
.portfolio-nav-inner{display:flex;gap:28px;align-items:center;min-height:43px;overflow-x:auto;white-space:nowrap;scrollbar-width:thin}
.portfolio-nav a{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#dbcaa9;text-decoration:none;padding:10px 1px;border-bottom:2px solid transparent}
.portfolio-nav a:hover,.portfolio-nav a.game-active{border-bottom-color:var(--brass);color:var(--cream)}
.games{grid-template-columns:repeat(3,minmax(0,1fr))}
.game-card{display:flex;flex-direction:column}
.game-art{height:205px;flex:none}
.game-body{padding:23px;display:flex;flex-direction:column;flex:1}
.game-card h3{font-size:27px;margin:12px 0 6px}
.game-body p{min-height:0;flex:1;margin:0 0 13px}
.game-card--zeppelin-skies{border-color:#76ada06b}
.game-card--featured{border-color:#d6ab62b0;box-shadow:0 0 0 1px #d6ab6220,0 14px 35px #0004}
.game-card--featured .game-art::after{content:'FLAGSHIP';position:absolute;top:12px;left:12px;padding:5px 9px;border:1px solid #d6ab62aa;border-radius:3px;background:#101719de;color:#e8c686;font-size:10px;font-weight:800;letter-spacing:.14em}
.game-art--steam-and-spades{background:radial-gradient(circle at 50% 40%,#42372a,#171c1d 68%,#101618)}
.game-art--inventors-vault{background:#292219}
.game-art--zeppelin-skies{background:#1b3740}
.card-deck{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;filter:drop-shadow(5px 18px 16px #0009)}
.card-deck span{display:grid;place-items:center;width:78px;height:120px;background:linear-gradient(145deg,#e8d5ae,#a77b4a);border:3px double #493326;border-radius:9px;color:#513426;font:70px Georgia,serif;box-shadow:0 0 0 6px #d5b788 inset}
.card-deck span:first-child{transform:translate(16px,11px) rotate(-17deg)}
.card-deck span:nth-child(2){z-index:1;transform:translateY(-13px) rotate(4deg);color:#90482d}
.card-deck span:last-child{transform:translate(-16px,12px) rotate(18deg)}
.steam-stage{height:255px;max-width:880px;margin-top:-20px;border:1px solid #b8864b60;border-radius:8px;background:radial-gradient(ellipse at center,#423326,#131a1c 70%);box-shadow:0 20px 50px #0008}
.steam-stage .card-deck span{width:90px;height:140px}
.zeppelin-hero{background:radial-gradient(ellipse at 83% 20%,#2f77743a,transparent 48%)}
.zeppelin-visual img{object-position:center 52%}
.zeppelin-detail{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(240px,.75fr);gap:45px;align-items:start}
.zeppelin-detail .content{margin:0}
.zeppelin-detail-art{display:block;width:100%;max-height:520px;object-fit:cover;border:1px solid #b8915e77;border-radius:8px}
.standalone-policy{max-width:900px;padding-top:62px;padding-bottom:90px}
.standalone-policy h1{font:500 clamp(40px,6vw,66px)/1.08 Georgia,serif;margin:12px 0 24px}
.standalone-policy h2{font:500 31px Georgia,serif;margin:34px 0 10px}
.standalone-policy p{color:#c5cdc8;font-size:17px;line-height:1.75}
.standalone-policy a:not(.btn){color:var(--brass)}
.footer-brand{color:#e6d2a3}
.feature-section{border-top:1px solid #9b876040}
@media(max-width:800px){
  .portfolio-nav-inner{gap:21px}
  .games{grid-template-columns:1fr}
  .game-card{display:grid;grid-template-columns:32% 68%;min-height:164px}
  .game-art{height:100%;min-height:164px}
  .game-body{padding:15px 17px}
  .game-card h3{font-size:22px;margin:7px 0 4px}
  .game-body p{font-size:13px;margin-bottom:7px}
  .card-deck span{width:38px;height:66px;font-size:35px;border-width:2px;box-shadow:0 0 0 3px #d5b788 inset}
  .steam-stage{height:205px}
  .steam-stage .card-deck span{width:70px;height:110px;font-size:60px}
  .zeppelin-detail{grid-template-columns:1fr}
  .zeppelin-detail-art{max-height:360px;object-position:center 36%}
  .standalone-policy{padding-top:42px;padding-bottom:65px}
}
@media(max-width:420px){
  .home-main #games{padding:18px 0 25px}
  .home-main #games .section-head{margin-bottom:9px}
  .home-main #games h2{font-size:27px}
  .games{gap:9px}
  .game-card{grid-template-columns:30% 70%;min-height:152px}
  .game-art{min-height:152px}
  .game-body{padding:11px 12px}
  .game-card h3{font-size:19px;line-height:1.08;margin:5px 0 4px}
  .game-body p{font-size:12px;line-height:1.35;margin-bottom:5px}
  .game-body .link-arrow{font-size:12px}
  .game-body .pill{font-size:9px}
  .card-deck span{width:31px;height:55px;font-size:31px}
  .portfolio-nav-inner{gap:19px;min-height:39px}
  .portfolio-nav a{font-size:11px;padding:8px 1px}
}
@media(min-width:801px){
  .home-main .hero-grid{min-height:420px;padding:36px 0}
  .home-main .hero-art img{height:300px}
  .home-main .hero-art .hero-art-vault{height:245px}
  .home-main #games{padding:52px 0 72px}
}
@media(max-width:420px){
  .portfolio-nav-inner{gap:8px}
  .portfolio-nav a{font-size:10px;letter-spacing:.045em}
}
.zeppelin-visual img{height:auto;object-fit:contain;background:#131b23}
@media(min-width:801px){
  .home-main .hero-grid{min-height:0;padding:28px 0}
  .home-main .hero h1{font-size:clamp(52px,5.2vw,72px);margin:12px 0 16px}
  .home-main .hero p{font-size:17px;line-height:1.5}
  .home-main .hero-art img{height:275px}
  .home-main .hero-art .hero-art-vault{height:225px}
  .home-main #games{padding-top:40px}
  .home-main #games .section-head{margin-bottom:22px}
}
.content .btn-primary{color:#201911}
