@font-face{font-family:"Berkshire Swash";src:url("assets/BerkshireSwash.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
:root{--paper:#faf7ef;--ink:#244b3d;--body:#535e51;--muted:#6b7466;--line:#d9dfd0;--soft:#eef0e4;--accent:#b5754c}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:32px}
body{margin:0;background:var(--paper);color:var(--body);font-family:"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:var(--ink);text-underline-offset:4px}
a:hover{text-decoration-thickness:2px}
a:focus-visible{outline:3px solid var(--accent);outline-offset:5px;border-radius:3px}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{color:var(--ink)}
h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.045em;line-height:1.12}
.wrap{width:min(1120px,calc(100% - 96px));margin-inline:auto}
.skip-link{position:fixed;top:10px;left:10px;z-index:10;transform:translateY(-160%);background:var(--ink);color:white;padding:10px 20px}
.skip-link:focus{transform:translateY(0)}
.site-header{min-height:108px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line)}
.wordmark{font-family:"Berkshire Swash",Georgia,serif;font-size:30px;font-weight:400;line-height:1.25;text-decoration:none;white-space:nowrap}
nav{display:flex;gap:30px}
.site-header nav a,.site-footer nav a{font-size:14px;text-decoration:none}
nav a:hover,nav a[aria-current="page"]{text-decoration:underline}
.hero{display:grid;grid-template-columns:1.35fr 1fr;align-items:center;gap:80px;padding-block:66px 62px}
.eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:.16em;font-size:11px;line-height:1.7;font-weight:650}
.hero .eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:26px}
.little-line{width:28px;height:1px;background:var(--accent);flex-shrink:0}
.hero h1{font-size:clamp(42px,4.5vw,63px);line-height:1.12}
.hero h1 em{font-weight:400;color:#6c815b}
.intro{font-size:17px;line-height:1.85}
.hero .intro{margin-top:26px;max-width:450px}
.button{display:inline-flex;align-items:center;gap:30px;background:var(--ink);color:var(--paper);text-decoration:none;padding:14px 22px;border-radius:5px;font-size:14px;margin-top:30px;transition:background .15s}
.button:hover{background:#38644e}
.button span{font-size:20px;line-height:1}
.hero-note{font-size:12px;color:var(--muted);margin-top:15px}
.game-preview{width:100%;max-width:345px;justify-self:center;position:relative}
.game-preview:before{content:"";position:absolute;inset:32px -26px 52px;border-radius:48% 48% 16px 16px;background:#e6ebdb;transform:rotate(5deg);z-index:-1}
.screenshot-frame{border:7px solid #fffaf0;border-radius:150px 150px 12px 12px;overflow:hidden;box-shadow:0 15px 35px #244b3d18}
.game-preview figcaption{text-align:center;font-family:Georgia,serif;font-size:13px;font-style:italic;color:var(--muted);margin-top:18px}
.how-section{background:var(--soft);padding-block:64px 70px;border-block:1px solid var(--line)}
.section-heading{max-width:530px}
.section-heading h2{font-size:38px;margin-block:14px 18px}
.section-heading>p:last-child{max-width:430px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:46px;list-style:none;padding:0;margin:44px 0 0}
.steps li{border-top:1px solid #c8d1be;padding-top:20px}
.step-number{font-family:Georgia,serif;color:var(--accent);font-style:italic;font-size:21px}
.steps h3{font-family:Georgia,serif;font-size:23px;font-weight:400;margin-block:12px 8px;letter-spacing:-.02em}
.steps p{font-size:14px}
.quiet-section{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-block:68px 74px}
.quiet-section h2{font-size:37px;margin-top:15px;max-width:370px}
.quiet-section .small-copy{font-size:13px;margin-top:16px;color:var(--muted)}
.site-footer{background:var(--ink);color:#d7dfd2;padding-block:36px}
.site-footer a{color:var(--paper)}
.footer-inner{display:flex;align-items:center;gap:40px}
.footer-inner>div{flex:1}
.site-footer .wordmark{font-size:25px}
.site-footer p{font-size:12px;margin-top:9px}
.site-footer .copyright{font-size:11px;white-space:nowrap;margin:0;color:#c3cfbf}
.policy{padding-block:62px 80px}
.policy-heading{padding-bottom:40px;border-bottom:1px solid var(--line)}
.policy-heading h1{font-size:60px;margin-top:13px}
.policy-date{font-size:13px;color:var(--muted);margin-top:18px}
.policy-heading .intro{margin-top:20px;max-width:620px}
.policy-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:65px;padding-top:42px}
.policy-toc{align-self:start;position:sticky;top:30px}
.policy-toc nav{display:flex;flex-direction:column;gap:11px;margin-top:18px}
.policy-toc a{font-size:13px;text-decoration:none}
.policy-toc a:hover{text-decoration:underline}
.policy-content{max-width:740px;overflow-wrap:anywhere}
.policy-content section+section{margin-top:38px}
.policy-content h2{font-size:27px;line-height:1.3;letter-spacing:-.025em;margin-bottom:14px}
.policy-content p{font-size:15px;margin-bottom:16px}
.policy-content strong{font-weight:600;color:var(--ink)}
.package-name{font-size:.9em}
.text-link{display:inline-block;font-size:14px;margin-top:30px}
@media(min-width:1500px){.hero{padding-block:80px}.game-preview{max-width:365px}}
@media(max-width:960px){.wrap{width:calc(100% - 64px)}.hero{gap:36px}.hero h1{font-size:46px}.game-preview{max-width:300px}.hero .eyebrow{font-size:9px;letter-spacing:.12em}.steps{gap:26px}.quiet-section{gap:40px}.footer-inner{gap:24px}.site-footer nav{gap:20px}.policy-layout{grid-template-columns:175px minmax(0,1fr);gap:32px}}
@media(max-width:680px){.wrap{width:calc(100% - 40px)}.site-header{min-height:90px;gap:16px;flex-wrap:wrap;padding-block:20px;row-gap:14px}.wordmark{font-size:27px}.site-header nav{gap:20px}.site-header nav a{font-size:12px}.hero{grid-template-columns:1fr;padding-block:42px;gap:36px}.hero h1{font-size:clamp(37px,9.8vw,55px)}.hero .eyebrow{font-size:10px;margin-bottom:22px}.hero .intro{font-size:16px;max-width:470px}.game-preview{max-width:290px}.game-preview:before{inset-inline:-12px}.how-section{padding-block:42px}.section-heading h2{font-size:33px}.steps{grid-template-columns:1fr;gap:24px;margin-top:32px}.steps li{padding-top:16px}.steps h3{margin-block:6px}.steps p{max-width:440px}.quiet-section{grid-template-columns:1fr;gap:22px;padding-block:44px}.quiet-section h2{font-size:33px}.footer-inner{flex-wrap:wrap;gap:22px}.footer-inner>div{flex-basis:100%}.site-footer nav{flex:1}.policy{padding-block:40px 50px}.policy-heading h1{font-size:44px}.policy-layout{grid-template-columns:1fr;gap:36px;padding-top:28px}.policy-toc{position:static;padding-bottom:26px;border-bottom:1px solid var(--line)}.policy-toc nav{display:grid;grid-template-columns:1fr 1fr;gap:9px 18px}.policy-content h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
@media print{body{background:white;color:#222}.site-header,.site-footer,.policy-toc,.skip-link,.text-link{display:none}.wrap{width:100%}.policy{padding:0}.policy-layout{display:block}.policy-content{max-width:none}.policy-heading h1{font-size:36px}.policy-content section{break-inside:avoid}a{color:inherit;text-decoration:underline}}
.admin-login{max-width:460px;padding-block:70px 100px}.admin-login h1{font-size:44px;margin-block:12px 20px}.admin-login>p{font-size:15px}.admin-login form{margin-top:30px}.admin-login label{display:block;font-size:13px;margin-bottom:8px}.admin-login input[type=password]{width:100%;font:inherit;padding:12px;border:1px solid var(--line);border-radius:5px;background:#fffdf7;color:var(--ink)}.admin-login input:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.admin-login .button{border:0;font:inherit;cursor:pointer;margin-top:12px}#login-error{color:#98562e;font-size:13px;margin-top:8px;min-height:23px}
