:root{--ink:#292322;--paper:#fffdf9;--red:#b7221c;--muted:#69605d;--line:#e6dad5;--dark:#fffdf9}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:104px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
button:disabled{cursor:default}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b7221c;outline-offset:6px}
::selection{background:var(--red);color:var(--paper)}
h1,h2,h3,p{margin:0}
em{font-style:normal}
h1,h2{font-weight:700;letter-spacing:-.065em;line-height:1.03}
h2{font-size:clamp(42px,4.6vw,66px)}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:.16em;line-height:1.5}
.section-wrap{padding:100px max(5vw,24px);max-width:1600px;margin:auto}
.skip-link{color:var(--paper);position:fixed;z-index:1000;top:-70px;left:16px;background:var(--red);padding:16px}
.skip-link:focus{top:12px}
.site-header{height:96px;padding:0 5vw;background:var(--paper);color:var(--ink);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #b7221c20;position:relative;z-index:20}
.brand{display:inline-flex;align-items:center;gap:12px;flex-shrink:0}
.brand>span{color:var(--red);font-size:22px;line-height:1;font-weight:800;letter-spacing:.035em}
.brand small{color:var(--muted);display:block;font-size:9px;letter-spacing:.28em;margin-top:7px;font-weight:500}
.site-header nav{display:flex;align-items:center;gap:36px;font-size:13px}
.site-header nav>a{transition:color .2s}
.site-header nav>a:hover{color:var(--red)}
.nav-contact{border:1px solid #cbb7b0;padding:13px 18px;margin-left:10px}
.nav-contact span{margin-left:30px}
.menu-toggle{display:none}
.hero{min-height:650px;position:relative;overflow:hidden;background:var(--paper);color:var(--ink);isolation:isolate}
.hero-art{position:absolute;inset:0 0 0 29%;background:url('assets/world-red.png') center 51%/cover no-repeat;z-index:-3}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,var(--paper) 0%,rgba(255,253,249,.98) 24%,rgba(255,253,249,.76) 43%,rgba(255,253,249,0) 67%),linear-gradient(0deg,rgba(255,253,249,.92),transparent 30%);z-index:-2}
.hero-copy{padding:65px 5vw 106px;position:relative}
.hero .eyebrow{color:#69605d;margin-bottom:26px;font-size:10px;letter-spacing:.18em;display:flex;align-items:center;gap:10px}
.status-dot{display:inline-block;width:7px;height:7px;background:var(--red);border-radius:50%;flex-shrink:0}
.hero h1{font-size:clamp(68px,7.1vw,110px);max-width:760px;line-height:.97}
.hero h1 em{color:var(--red)}
.hero-intro{font-size:16px;line-height:1.65;color:#69605d;margin:27px 0}
.button{display:inline-flex;justify-content:space-between;align-items:center;gap:34px;padding:18px 23px;font-size:13px;font-weight:700;min-height:52px;transition:transform .2s,background .2s}
.button:hover{transform:translateY(-3px)}
.button-red{background:var(--red);color:var(--paper)}
.button-red:hover{background:#941c18}
.button span{font-size:22px;font-weight:400}
.hero-bottom{position:absolute;bottom:27px;left:5vw;right:5vw;display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:.15em;color:#655955}
.hero-bottom a{display:flex;align-items:center;gap:15px}
.hero-bottom a>span{font-size:20px;color:var(--red)}
.art-label{position:absolute;right:20px;top:27px;writing-mode:vertical-rl;font-size:8px;letter-spacing:.2em;color:#655955;text-shadow:0 1px 4px #fffdf9}
.brand-strip{background:var(--red);color:var(--paper);padding:21px 5vw;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px;font-weight:700;letter-spacing:.12em;overflow:hidden;white-space:nowrap}
.brand-strip>span:nth-child(even){font-size:24px;line-height:1}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-bottom:46px}
.section-heading .eyebrow{margin-bottom:24px;color:var(--muted)}
.section-heading>p{line-height:1.7;font-size:14px;color:var(--muted);padding-bottom:6px}
.game-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.game-art{height:330px;overflow:hidden;position:relative;padding:27px;display:flex;align-items:center;justify-content:center}
.game-number{position:absolute;top:25px;left:27px;font-family:monospace;font-size:12px;border:1px solid currentColor;border-radius:50%;width:28px;height:28px;display:grid;place-items:center}
.sugarfall-art{background:#f1ded8;color:#8d211c}
.sugarfall-art:before,.sugarfall-art:after{content:'';position:absolute;width:400px;height:400px;border:1px solid #b7221c24;transform:rotate(35deg);border-radius:60px}
.sugarfall-art:after{width:300px;height:300px;transform:rotate(55deg)}
.game-title-art{position:relative;z-index:1;display:flex;flex-direction:column;font-weight:900;letter-spacing:-.075em;line-height:.83;font-size:70px;transform:rotate(-7deg)}
.game-title-art>span{display:block}
.art-spark{font-size:38px;position:absolute;margin:5px 0 0 10px}
.cover-note{position:absolute;bottom:20px;left:27px;font-size:8px;font-weight:600;letter-spacing:.17em}
.carpet-art{background:#f1e6df;color:#8d211c}
.carpet-pattern{position:absolute;inset:-20%;transform:rotate(-25deg);background:repeating-linear-gradient(0deg,transparent 0 20px,#b7221c0c 20px 22px)}
.carpet-art .game-title-art{font-size:clamp(48px,5.3vw,80px);transform:rotate(0deg)}
.carpet-art .art-spark{font-size:22px;top:-22px;right:0}
.game-details{display:flex;align-items:center;justify-content:space-between;padding-top:25px}
.game-details .eyebrow{font-size:9px;color:var(--muted);margin-bottom:8px}
.game-details h3{font-size:28px;letter-spacing:-.04em}
.circle-link{width:44px;height:44px;border:1px solid #c9b3ab;border-radius:50%;display:grid;place-items:center;font-size:25px;transition:background .2s,transform .2s}
.circle-link:hover{background:var(--red);color:var(--paper);border-color:var(--red);transform:rotate(45deg)}
.game-description{font-size:13px;color:var(--muted);line-height:1.7;max-width:450px;margin-top:12px}
.game-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.studio{display:grid;grid-template-columns:1fr 1.4fr;gap:80px;border-top:1px solid var(--line);padding-top:85px;padding-bottom:95px}
.studio-label .eyebrow{color:var(--muted)}
.studio-copy h2{margin-bottom:30px}
.large-copy{font-size:22px;line-height:1.4;letter-spacing:-.02em;max-width:620px}
.studio-copy>p:not(.large-copy){font-size:15px;line-height:1.85;color:var(--muted);margin-top:20px;max-width:620px}
.company-note{display:flex;gap:18px;border-top:1px solid var(--line);padding-top:22px;margin-top:32px;align-items:center}
.company-note>span{font-size:32px}
.company-note p{font-size:12px;line-height:1.7;color:var(--muted)}
.company-note strong{font-weight:600;color:var(--ink)}
.publishing{background:#b7221c;color:var(--paper);position:relative;overflow:hidden}
.publishing:after{content:'';width:600px;height:600px;border:1px solid #ffffff24;border-radius:50%;position:absolute;left:-320px;bottom:-250px;pointer-events:none}
.publishing-inner{display:grid;grid-template-columns:1fr 1fr;gap:12%}
.publishing-intro .eyebrow{color:#ffebe5;margin-bottom:30px}
.publishing h2{font-size:clamp(46px,5.1vw,76px)}
.publishing h2 em{color:var(--paper);text-decoration:underline;text-decoration-color:#ffffff55;text-decoration-thickness:2px;text-underline-offset:10px}
.publishing-intro>p:not(.eyebrow){font-size:15px;line-height:1.7;color:#ffebe5;margin:28px 0}
.publishing-lead{font-size:24px;letter-spacing:-.025em;line-height:1.35;margin-bottom:24px}
.step{display:flex;gap:26px;padding:25px 0;border-top:1px solid #ffffff40}
.step>span{font-size:10px;letter-spacing:.1em;color:var(--paper);padding-top:5px}
.step h3{font-size:19px;font-weight:500;letter-spacing:-.02em;margin-bottom:10px}
.step p{font-size:13px;line-height:1.8;color:#ffebe5;max-width:360px}
.text-link{background:none;border:0;padding:12px 0;border-bottom:1px solid #ffffff80;color:var(--paper);font-size:12px;display:inline-flex;gap:25px}
.text-link span{font-size:18px}
.download-status{font-size:11px;min-height:20px;margin-top:12px;color:#fffdf9}
.questions{display:grid;grid-template-columns:1fr 1.4fr;gap:80px}
.questions .eyebrow{color:var(--muted);margin-bottom:24px}
.questions h2{font-size:46px}
.faq-list{padding-top:4px}
.faq-list details{border-top:1px solid var(--line)}
.faq-list details:last-child{border-bottom:1px solid var(--line)}
summary{list-style:none;cursor:pointer;font-size:15px;line-height:1.5;padding:24px 0;display:flex;justify-content:space-between;align-items:center;gap:20px}
summary::-webkit-details-marker{display:none}
summary>span{font-size:23px;font-weight:400;transition:transform .2s;flex-shrink:0}
details[open] summary>span{transform:rotate(45deg)}
details>p{font-size:13px;line-height:1.8;color:var(--muted);padding:0 30px 25px 0}
details a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.contact{background:#f7eeea;border-top:1px solid var(--line);max-width:none;padding-top:70px;padding-bottom:65px}
.contact>.eyebrow{display:flex;align-items:center;gap:10px}
.contact .status-dot{background:var(--red)}
.contact-row{display:flex;justify-content:space-between;align-items:center;margin:30px 0}
.contact h2{font-size:clamp(50px,6.6vw,100px)}
.contact h2 em{color:#b7221c}
.contact-arrow{color:var(--red);height:112px;width:112px;border:1px solid #b7221c;border-radius:50%;display:grid;place-items:center;font-size:76px;line-height:1;transition:background .2s,transform .2s}
.contact-arrow:hover{background:var(--red);color:var(--paper);transform:rotate(45deg)}
.email-row{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.email-row>a{font-size:16px;text-decoration:underline;text-underline-offset:5px}
.email-row button{background:none;color:var(--ink);border:0;border-left:1px solid #b7221c;padding:6px 0 6px 24px;font-size:11px;display:flex;gap:12px}
.email-row button:hover{text-decoration:underline}
.email-row #copy-status{font-size:11px}
.site-footer{border-top:1px solid var(--line);background:var(--paper);color:var(--ink);padding:38px 5vw;display:flex;align-items:center;justify-content:space-between;gap:28px}
.site-footer .brand>span{font-size:18px}
.site-footer .brand small{font-size:7px}
.site-footer>p{font-size:10px;line-height:1.8;color:#69605d}
.site-footer>a:last-child{font-size:11px}
.site-footer>a:last-child span{margin-left:15px;color:var(--red)}
@media(min-width:1600px){.hero-copy{padding-left:max(5vw,calc((100vw - 1440px)/2))}
.hero-art{background-position:center 48%}
.hero{min-height:740px}
}
@media(max-width:1000px){.site-header nav{gap:22px}
.hero{min-height:630px}
.hero-copy{padding-top:70px}
.hero h1{font-size:80px}
.hero-art{inset:0 0 0 15%;background-position:62% center}
.hero-shade{background:linear-gradient(90deg,var(--paper),#fffdf9e6 30%,#fffdf9a6 60%,transparent),linear-gradient(0deg,#fffdf9d9,transparent 40%)}
.brand-strip{font-size:9px;gap:15px}
.brand-strip>span:last-child,.brand-strip>span:nth-last-child(2){display:none}
.section-wrap{padding-top:75px;padding-bottom:75px}
.section-heading>p{max-width:280px}
.game-art{height:280px}
.game-title-art{font-size:60px}
.studio,.questions{gap:40px;grid-template-columns:1fr 1.4fr}
.publishing-inner{gap:7%}
.contact-arrow{width:90px;height:90px;font-size:60px}
.contact h2{font-size:70px}
.questions h2{font-size:40px}
}
@media(max-width:700px){html{scroll-padding-top:24px}
.site-header{height:80px;padding:0 24px}
.brand>span{font-size:19px}
.brand small{font-size:8px}
.menu-toggle{display:flex;background:none;color:var(--ink);border:1px solid #cbb7b0;padding:10px 13px;font-size:12px;gap:16px;align-items:center}
.menu-toggle>span{font-size:18px}
.site-header nav{position:absolute;display:none;top:79px;left:0;right:0;background:var(--paper);padding:20px 24px 28px;flex-direction:column;align-items:stretch;border-bottom:1px solid #b7221c30;gap:0;box-shadow:0 20px 25px #0004}
.site-header nav.is-open{display:flex}
.site-header nav>a{padding:16px 0;border-bottom:1px solid #b7221c20}
.site-header .nav-contact{margin:14px 0 0;padding:15px;border:1px solid #cbb7b0}
.hero{min-height:760px}
.hero-art{inset:165px 0 0 0;background-position:66% 50%;background-size:auto 100%;opacity:.8}
.hero-shade{background:linear-gradient(180deg,var(--paper) 0%,#fffdf9fa 24%,#fffdf9e8 48%,#fffdf920 75%,#fffdf9d9 100%)}
.hero-copy{padding:44px 24px 100px}
.hero .eyebrow{font-size:8px;margin-bottom:25px;letter-spacing:.16em}
.hero h1{font-size:clamp(60px,12vw,85px);max-width:600px;line-height:1}
.hero-intro{font-size:14px;line-height:1.7;margin:22px 0}
.button{padding:16px 20px;font-size:12px;gap:35px}
.hero-bottom{bottom:24px;left:24px;right:24px;font-size:8px}
.hero-bottom>span{display:none}
.art-label{top:auto;bottom:25px;right:14px;font-size:7px}
.brand-strip{padding:20px 24px;gap:20px;justify-content:space-around;font-size:8px}
.brand-strip>span:nth-last-child(3),.brand-strip>span:nth-last-child(4){display:none}
.brand-strip>span:nth-child(even){font-size:20px}
.section-wrap{padding:65px 24px}
.section-heading{align-items:flex-start;flex-direction:column;gap:24px;margin-bottom:30px}
.section-heading .eyebrow{margin-bottom:19px}
h2{font-size:46px}
.section-heading>p{font-size:13px;max-width:none}
.desktop-only{display:none}
.game-grid{grid-template-columns:1fr;gap:38px}
.game-art{height:310px}
.game-title-art{font-size:76px}
.carpet-art .game-title-art{font-size:64px}
.game-details{padding-top:20px}
.game-details h3{font-size:25px}
.game-description{font-size:12px}
.studio{grid-template-columns:1fr;gap:26px}
.studio-copy h2{font-size:44px;margin-bottom:26px}
.large-copy{font-size:20px}
.studio-copy>p:not(.large-copy){font-size:13px;line-height:1.8}
.company-note{margin-top:25px}
.publishing-inner{grid-template-columns:1fr;gap:50px}
.publishing h2{font-size:58px}
.publishing-intro .eyebrow{margin-bottom:24px}
.publishing-intro>p:not(.eyebrow){font-size:14px}
.publishing-lead{font-size:23px}
.step{padding:24px 0}
.step p{max-width:none}
.questions{grid-template-columns:1fr;gap:32px}
.questions h2{font-size:42px}
.faq-list summary{font-size:14px;padding:22px 0}
details>p{font-size:12px;padding-right:10px}
.contact{padding:52px 24px}
.contact>.eyebrow{font-size:8px;letter-spacing:.1em}
.contact-row{gap:16px;margin-top:25px}
.contact h2{font-size:clamp(38px,8.9vw,60px)}
.contact-arrow{width:58px;height:58px;min-width:58px;font-size:40px}
.email-row{gap:16px}
.email-row>a{font-size:clamp(11px,3.2vw,15px)}
.email-row button{border:0;padding:5px 0}
.site-footer{padding:35px 24px;flex-wrap:wrap;gap:28px}
.site-footer .brand{width:100%}
.site-footer>p{font-size:9px}
.site-footer>a:last-child{font-size:10px;margin-left:auto}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{animation:none!important;transition:none!important}
}
/* Game photography and accessible details */
.game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.game-card{min-width:0}
.circle-link{background:transparent;color:var(--ink)}
.game-art{width:100%;border:0;text-align:left}
.game-art:focus-visible{outline-offset:5px}
.sugarfall-art{background:#f4e4de;color:#8d211c}
.sugarfall-art:before,.sugarfall-art:after{display:none}
.screenshot-pair{position:absolute;inset:26px 20px 45px;display:flex;justify-content:center;gap:22px;transition:transform .3s}
.game-art .screenshot-pair img{position:static;width:auto;height:100%;object-fit:contain;border-radius:7px;box-shadow:0 12px 25px #3b171725}
.screenshot-pair img:first-child{transform:rotate(-6deg) translateY(5px)}
.screenshot-pair img:last-child{transform:rotate(6deg) translateY(-5px)}
.game-art:hover .screenshot-pair{transform:scale(1.035)}
.game-number{z-index:2}
.cover-note{bottom:17px;right:22px;left:25px;display:flex;justify-content:space-between;align-items:center;font-size:9px}
.cover-note>span{font-size:20px}
.carpet-art{background:#e9d8d0}
.carpet-shot{position:absolute;height:300px;left:10%;top:0;transform:rotate(-8deg);box-shadow:0 15px 25px #3b171730;transition:transform .3s;border-radius:8px;overflow:hidden}
.game-art .carpet-shot img{position:static;height:100%;width:auto;object-fit:contain}
.carpet-callout{position:absolute;right:9%;top:30%;font-size:clamp(36px,4.1vw,60px);font-weight:700;line-height:.94;letter-spacing:-.06em}
.carpet-callout>span{display:block;font-size:32px;margin-top:20px}
.carpet-art:hover .carpet-shot{transform:rotate(-4deg)}
.modal-open{overflow:hidden}
.game-modal{border:0;background:var(--paper);color:var(--ink);width:min(880px,calc(100% - 32px));max-height:90dvh;padding:36px}
.game-modal::backdrop{background:#261a19db;backdrop-filter:blur(7px)}
.modal-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.modal-heading .eyebrow{color:var(--muted);font-size:9px;margin-bottom:12px}
.modal-heading h2{font-size:46px}
.close-dialog{background:transparent;border:1px solid var(--line);color:var(--ink);font-size:26px;line-height:1;min-width:44px;min-height:44px;position:sticky;top:0}
.close-dialog:hover{background:var(--red);color:var(--paper)}
.modal-description{font-size:15px;line-height:1.75;margin:24px 0;max-width:680px}
.modal-gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start;background:#f1e7e2;padding:24px}
.modal-gallery figure{margin:0;min-width:0;text-align:center}
.modal-gallery img{display:block;width:100%;height:auto;max-height:510px;object-fit:contain}
.modal-gallery figcaption{font-size:10px;line-height:1.6;margin-top:12px;color:var(--muted)}
.carpet-gallery{align-items:center;grid-template-columns:1fr 1.2fr}
.modal-footer{margin-top:24px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.modal-footer p{font-size:10px;line-height:1.6;max-width:240px;color:var(--muted)}
.modal-footer .button{font-size:11px;white-space:nowrap;padding:14px 17px}
.hero-shade{background:linear-gradient(90deg,var(--paper) 0%,var(--paper) 29%,rgba(255,253,249,.76) 45%,rgba(255,253,249,0) 67%),linear-gradient(0deg,rgba(255,253,249,.92),transparent 30%)}
@media(max-width:1000px) and (min-width:701px){.carpet-shot{left:8%;height:260px}
.carpet-callout{right:6%;font-size:40px}
.hero-shade{background:linear-gradient(90deg,var(--paper),#fffdf9e6 30%,#fffdf9a6 60%,transparent),linear-gradient(0deg,#fffdf9d9,transparent 40%)}
}
@media(max-width:700px){.game-grid{grid-template-columns:minmax(0,1fr)}
.game-art{height:300px}
.game-art .screenshot-pair{gap:16px;inset:26px 18px 48px}
.carpet-shot{height:265px;left:9%}
.carpet-callout{right:7%;font-size:44px}
.publishing h2{font-size:clamp(43px,12.3vw,58px)}
.hero-shade{background:linear-gradient(180deg,var(--paper) 0%,#fffdf9fa 24%,#fffdf9e8 48%,#fffdf920 75%,#fffdf9d9 100%)}
.game-modal{padding:22px;width:calc(100% - 24px);max-height:92dvh}
.modal-heading h2{font-size:32px}
.modal-heading .eyebrow{font-size:7px}
.modal-description{font-size:13px}
.modal-gallery{padding:12px;gap:12px}
.modal-gallery figcaption{font-size:9px}
.modal-footer{flex-direction:column;align-items:flex-start;gap:15px}
.modal-footer p{max-width:none}
.carpet-gallery{grid-template-columns:1fr}
.carpet-gallery img{max-height:400px}
html:not(.js) .site-header{height:auto;flex-wrap:wrap;padding-top:22px}
html:not(.js) .site-header nav{display:flex;position:static;box-shadow:none;width:100%}
html:not(.js) .menu-toggle{display:none}
html:not(.js) [data-game]{cursor:default}
}
@media(max-width:360px){.carpet-callout{font-size:37px;right:5%}
.carpet-shot{left:5%}
.hero h1{font-size:55px}
.contact h2{font-size:35px}
.contact-arrow{width:48px;min-width:48px;height:48px;font-size:34px}
.game-art .screenshot-pair{gap:12px;inset:34px 12px 54px}
}
/* The official stamp keeps its complete vertical proportions at every size. */
.brand .brand-stamp{display:block;width:auto;height:72px;object-fit:contain;flex-shrink:0}
.studio-stamp{display:block;width:116px;height:auto;max-width:100%;margin:30px auto 0}
.site-footer .brand-stamp{height:68px}
@media(max-width:700px){
  .site-header .brand-stamp{height:60px}
.studio-label{display:flex;align-items:center;justify-content:space-between;gap:24px}
.studio-stamp{width:55px;margin:0}
}

/* White controls remain distinct on the stamp-red publishing panel. */
.publishing .button-red{background:var(--paper);color:var(--red)}
.publishing .button-red:hover{background:#f5e4dd}
.publishing :is(a,button):focus-visible{outline-color:var(--paper)}
.section-heading .eyebrow,.studio-label .eyebrow,.questions .eyebrow{color:var(--red)}
