@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,600;9..144,700&display=swap');
:root{--cream:#fffaf0;--paper:#f7efdf;--ink:#203a31;--sage:#52745b;--sage-dark:#365241;--sage-pale:#dfe9dd;--peach:#eaa277;--rose:#bd7180;--gold:#e8bd68;--brown:#744b39;--line:#dfd2bd;--white:#fffdf8;--shadow:0 22px 55px rgba(74,50,34,.13);--radius:28px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:"DM Sans",system-ui,sans-serif;line-height:1.65}img{max-width:100%;display:block}a{color:inherit}.skip-link{position:fixed;left:1rem;top:-5rem;background:var(--ink);color:#fff;padding:.7rem 1rem;border-radius:10px;z-index:99}.skip-link:focus{top:1rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{width:min(1180px,calc(100% - 32px));margin:18px auto 0;padding:10px 12px 10px 18px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:12px;z-index:20;background:rgba(255,250,240,.9);border:1px solid rgba(116,75,57,.14);border-radius:999px;backdrop-filter:blur(14px);box-shadow:0 8px 30px rgba(74,50,34,.08)}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-family:"Fraunces",Georgia,serif;font-weight:700;font-size:1.2rem}.brand img{border-radius:50%}.site-nav{display:flex;align-items:center;gap:26px}.site-nav a{text-decoration:none;font-size:.92rem;font-weight:600}.site-nav a:hover,.site-nav a:focus-visible{color:var(--rose)}.site-nav .nav-cta{background:var(--sage);color:white;padding:10px 18px;border-radius:999px}.nav-toggle{display:none;background:none;border:0;padding:8px}.nav-toggle>span:not(.sr-only){display:block;width:24px;height:2px;background:var(--ink);margin:5px}
.hero{width:min(1180px,calc(100% - 32px));min-height:680px;margin:0 auto;display:grid;grid-template-columns:1fr 1.08fr;gap:70px;align-items:center;padding:70px 20px 84px}.eyebrow{font-size:.76rem;letter-spacing:.17em;text-transform:uppercase;font-weight:700;color:var(--rose);margin:0 0 14px}.hero h1,.section h2,.page-hero h1{font-family:"Fraunces",Georgia,serif;line-height:1.02;letter-spacing:-.045em;margin:0}.hero h1{font-size:clamp(3.6rem,7vw,6.4rem)}.hero h1 em{font-style:italic;color:var(--sage)}.lede{font-size:1.18rem;max-width:550px;color:#52645e;margin:26px 0}.button-row{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;border:0;border-radius:999px;padding:14px 22px;text-decoration:none;font-weight:700;font:inherit;cursor:pointer;transition:.2s ease}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--sage);color:#fff;box-shadow:0 8px 18px rgba(54,82,65,.22)}.button.primary:hover{background:var(--sage-dark)}.button.secondary{border:1px solid var(--line);background:var(--white)}.button.wide{width:100%}.microcopy{font-size:.78rem;color:#7a8882;margin:13px 0 0}.hero-art{position:relative}.hero-frame{aspect-ratio:1.05;border:13px solid var(--white);border-radius:46% 54% 48% 52% / 55% 43% 57% 45%;overflow:hidden;transform:rotate(2deg);box-shadow:var(--shadow);position:relative;z-index:2;background:var(--sage-pale)}.hero-frame img{width:100%;height:100%;object-fit:cover}.sun{position:absolute;width:290px;height:290px;border-radius:50%;background:#f8d889;right:-35px;top:-45px;opacity:.58}.sparkle{position:absolute;color:var(--peach);font-size:2rem;z-index:3}.sparkle.one{left:-28px;top:22%}.sparkle.two{right:2%;bottom:-20px;color:var(--sage)}.note-card{position:absolute;left:-30px;bottom:8px;z-index:4;background:var(--white);padding:14px 22px;box-shadow:0 12px 30px rgba(64,42,27,.17);border-radius:5px 18px 5px 18px;transform:rotate(-3deg);border:1px solid var(--line)}.note-card span,.note-card strong{display:block}.note-card span{font-size:.68rem;text-transform:uppercase;letter-spacing:.16em;color:var(--rose)}.note-card strong{font-family:"Fraunces",serif;font-size:1.12rem}.ribbon{background:var(--sage);color:#fff;padding:14px;display:flex;justify-content:center;gap:30px;align-items:center;font-size:.78rem;text-transform:uppercase;letter-spacing:.13em;font-weight:700;overflow:hidden;white-space:nowrap}.ribbon i{font-style:normal;color:var(--gold)}
.section{padding:108px max(24px,calc((100vw - 1140px)/2))}.section-heading{max-width:680px;margin-bottom:45px}.section-heading h2,.about-copy h2,.soundtrack-section h2,.contact-section h2{font-size:clamp(2.5rem,5vw,4.4rem)}.section-heading>p:last-child{font-size:1.08rem;color:#60706a}.section-heading.centered{text-align:center;margin:0 auto 50px}.game-section{background:var(--paper)}.game-showcase{display:grid;grid-template-columns:1.55fr .8fr;gap:32px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.screenshot-shell{border-radius:20px;overflow:hidden;background:#f2d2a8;position:relative;padding-top:28px}.screenshot-shell>img{width:100%;height:100%;object-fit:cover}.window-dots{height:28px;position:absolute;left:14px;top:0;display:flex;align-items:center;gap:6px}.window-dots span{width:8px;height:8px;border-radius:50%;background:var(--rose)}.window-dots span:nth-child(2){background:var(--gold)}.window-dots span:nth-child(3){background:var(--sage)}.game-details{padding:22px 18px 12px}.pill{display:inline-block;padding:7px 12px;border-radius:999px;background:#f8e3d8;color:#9f584c;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.game-details h3{font:700 2rem/1.1 "Fraunces",serif;margin:18px 0 10px}.game-details>p{color:#60706a}.feature-list{list-style:none;padding:0;margin:24px 0}.feature-list li{display:flex;gap:14px;align-items:center;padding:11px 0;border-top:1px solid #eee4d4}.feature-list li>span{font-size:1.35rem;width:38px;height:38px;display:grid;place-items:center;background:var(--cream);border-radius:12px}.feature-list strong,.feature-list small{display:block}.feature-list small{color:#6e7b76}
.gallery-section{background:var(--cream)}.gallery{display:grid;grid-template-columns:1.25fr .75fr .75fr;gap:22px}.gallery-card{margin:0;background:var(--white);border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 12px 35px rgba(74,50,34,.08)}.gallery-card img{width:100%;height:340px;object-fit:cover}.gallery-card:not(.large) img{object-position:top}.gallery-card figcaption{padding:17px 20px}.gallery-card strong,.gallery-card span{display:block}.gallery-card strong{font-family:"Fraunces",serif;font-size:1.25rem}.gallery-card span{font-size:.88rem;color:#6e7b76}
.about-section{background:var(--sage-pale);display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:center}.about-art{width:min(360px,80vw);aspect-ratio:1;margin:auto;position:relative;background:var(--cream);border-radius:48% 52% 45% 55%;display:grid;place-items:center;box-shadow:var(--shadow)}.about-art img{width:64%;border-radius:50%}.orbit{position:absolute;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:var(--white);box-shadow:0 8px 20px rgba(74,50,34,.12);color:var(--rose);font-size:1.4rem}.orbit-a{right:-4px;top:18%}.orbit-b{left:-10px;bottom:24%;color:var(--gold)}.orbit-c{right:15%;bottom:-12px;color:var(--sage)}.about-copy{max-width:600px}.about-copy p:not(.eyebrow){font-size:1.08rem;color:#53655e}.text-link{font-weight:700;color:var(--sage);text-underline-offset:4px}.soundtrack-section{display:flex;justify-content:space-between;gap:50px;align-items:center;background:var(--brown);color:#fff;padding-top:70px;padding-bottom:70px}.soundtrack-section .eyebrow{color:#f7c9b1}.soundtrack-section p:last-child{color:#eaded2}.soundtrack-section audio{width:min(460px,100%);filter:sepia(.2)}.contact-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;background:var(--paper)}.contact-section>div p:last-child{color:#60706a}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;background:var(--white);padding:28px;border:1px solid var(--line);border-radius:24px}.contact-form label{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.contact-form input,.contact-form textarea{width:100%;display:block;margin-top:7px;border:1px solid var(--line);border-radius:12px;background:var(--cream);padding:13px;font:inherit;color:var(--ink)}.contact-form input:focus,.contact-form textarea:focus{outline:3px solid rgba(82,116,91,.2);border-color:var(--sage)}.full{grid-column:1/-1}.site-footer{padding:52px max(24px,calc((100vw - 1140px)/2));display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px 40px;background:#1f382f;color:#fff}.site-footer p,.site-footer small{margin:0;color:#bdc9c4}.site-footer nav{display:flex;gap:20px;grid-row:1/3;grid-column:2}.site-footer nav a{color:#fff}.site-footer small{grid-column:1}
.page-main{min-height:70vh}.page-hero{padding:100px max(24px,calc((100vw - 900px)/2)) 62px;text-align:center;background:var(--paper)}.page-hero h1{font-size:clamp(3rem,7vw,5.5rem)}.page-hero>p:last-child{font-size:1.12rem;color:#60706a;max-width:680px;margin:22px auto 0}.content-wrap{width:min(860px,calc(100% - 40px));margin:70px auto 100px}.content-wrap h2{font:700 2rem/1.2 "Fraunces",serif;margin:48px 0 12px}.content-wrap h3{margin-top:32px}.content-wrap p,.content-wrap li{color:#53655e}.callout{background:var(--sage-pale);border-left:5px solid var(--sage);padding:20px 24px;border-radius:0 18px 18px 0}.faq details{background:var(--white);border:1px solid var(--line);border-radius:16px;margin:12px 0;padding:0 20px}.faq summary{cursor:pointer;font-weight:700;padding:19px 0}.faq details p{margin-top:0;padding-bottom:10px}.press-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.press-card{border:1px solid var(--line);border-radius:22px;padding:24px;background:var(--white)}.press-card img{border-radius:16px;aspect-ratio:16/10;object-fit:cover;margin-bottom:18px}.fact-list{display:grid;grid-template-columns:160px 1fr;gap:8px 20px}.fact-list dt{font-weight:700}.fact-list dd{margin:0;color:#53655e}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.is-visible{opacity:1;transform:none}
.ad-shell{width:min(970px,calc(100% - 40px));min-height:116px;margin:36px auto;padding:25px 18px 16px;border:1px solid var(--line);border-radius:20px;background:var(--white);position:relative;display:grid;place-items:center}.ad-shell.is-disabled{display:none}.ad-label{position:absolute;top:6px;left:0;right:0;text-align:center;color:#7a8882;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase}.ad-mount{width:100%;min-height:70px;display:grid;place-items:center}.ad-mount .adsbygoogle{width:100%;min-height:70px}
@media(max-width:900px){.site-header{border-radius:24px}.nav-toggle{display:block}.site-nav{position:absolute;top:68px;left:0;right:0;background:var(--white);border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--shadow);display:none;flex-direction:column;align-items:stretch;gap:8px}.site-nav.is-open{display:flex}.site-nav a{padding:8px 12px}.hero{grid-template-columns:1fr;padding-top:55px;gap:45px}.hero-copy{text-align:center}.lede{margin-left:auto;margin-right:auto}.button-row{justify-content:center}.hero-art{width:min(620px,100%);margin:auto}.game-showcase,.about-section,.contact-section{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}.gallery-card.large{grid-column:1/-1}.soundtrack-section{flex-direction:column;align-items:flex-start}.site-footer{grid-template-columns:1fr}.site-footer nav{grid-row:auto;grid-column:1;flex-wrap:wrap}.press-grid{grid-template-columns:1fr}}
@media(max-width:560px){.site-header{top:8px;width:calc(100% - 20px);margin-top:10px}.brand{font-size:1.02rem}.brand img{width:40px;height:40px}.hero{min-height:auto;padding:48px 0 70px}.hero h1{font-size:3.35rem}.note-card{left:4px}.ribbon{justify-content:flex-start}.section{padding:78px 20px}.game-showcase{padding:10px}.game-details{padding:18px 10px}.gallery{grid-template-columns:1fr}.gallery-card.large{grid-column:auto}.gallery-card img{height:300px}.contact-form{grid-template-columns:1fr;padding:20px}.contact-form>*{grid-column:1}.site-footer{padding:44px 22px}.fact-list{grid-template-columns:1fr}.fact-list dd{margin-bottom:10px}.page-hero{padding-top:78px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.button{transition:none}}
.contact-form select{width:100%;display:block;margin-top:7px;border:1px solid var(--line);border-radius:12px;background:var(--cream);padding:13px;font:inherit;color:var(--ink)}
.contact-form select:focus{outline:3px solid rgba(82,116,91,.2);border-color:var(--sage)}
