@font-face{font-family:Fredoka;src:url('assets/Fredoka.ttf') format('truetype');font-style:normal;font-weight:300 700;font-display:swap}
:root{color-scheme:light;--paper:#e7f4ef;--paper-strong:#f4f9eb;--ink:#173d35;--muted:#3c5f57;--accent:#195c39;--accent-hover:#0d482b;--line:#a8cec1;--sea:#77bbcf;--focus:#f4a340}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Fredoka,'Trebuchet MS',sans-serif;font-size:18px;line-height:1.45}
::selection{background:#d0e995;color:#123e2b}
a{color:inherit}
a:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
.skip-link{position:absolute;z-index:10;top:-70px;left:16px;background:var(--paper-strong);padding:10px 16px}
.skip-link:focus{top:10px}
.site-header,.site-footer{max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px clamp(20px,4vw,64px)}
.site-header{height:72px}
.wordmark{text-decoration:none;font-weight:650;font-size:clamp(23px,2vw,29px);letter-spacing:-.03em;white-space:nowrap}
.wordmark span{color:var(--accent)}
nav{display:flex;align-items:center;gap:clamp(14px,2.4vw,36px);white-space:nowrap}
.text-link{text-decoration-thickness:1px;text-underline-offset:5px;font-weight:500}
.text-link:hover{text-decoration-thickness:2px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;border:2px solid var(--accent);background:var(--accent);color:#f8fff5;text-decoration:none;font-weight:600;white-space:nowrap;border-radius:14px;box-shadow:0 5px 0 #103f2a;transition:transform .2s cubic-bezier(.2,.8,.2,1),background-color .2s ease}
.button:hover{background:var(--accent-hover);transform:translateY(-2px)}
.button:active{transform:translateY(3px);box-shadow:0 2px 0 #103f2a}
.button-small{padding:8px 18px;font-size:16px}
.button-large{padding:16px 29px;font-size:21px}
.button span{font-size:1.1em;line-height:1}
h1,h2,h3,p{margin-top:0}
h1,h2{font-weight:650;letter-spacing:-.035em;line-height:1.03}
h1{font-size:clamp(55px,6.6vw,100px);margin-bottom:26px;max-width:10ch}
h2{font-size:clamp(40px,5vw,74px)}
.hero{max-width:1440px;min-height:calc(100dvh - 72px);margin:auto;display:grid;grid-template-columns:minmax(390px,.9fr) minmax(0,1.1fr);align-items:center;padding:32px clamp(20px,4vw,64px) 72px;gap:clamp(20px,4vw,64px)}
.hero-copy{position:relative;z-index:1;padding-bottom:5vw}
.hero-copy p{max-width:26ch;color:var(--muted);font-size:clamp(20px,2vw,27px);line-height:1.35;margin-bottom:32px}
.hero-art{min-height:590px;position:relative;align-self:stretch;isolation:isolate}
.hero-art::before{content:"";position:absolute;inset:8% -5% 6% 3%;border-radius:48% 52% 45% 55% / 48% 40% 60% 52%;background:linear-gradient(180deg,#c3e8ed 0%,var(--sea) 83%);z-index:-2}
.sky{position:absolute;inset:10% -5% 44% 3%;background:url('assets/sky.png') center/cover;border-radius:48% 52% 0 0 / 60% 50% 0 0;opacity:.78;z-index:-1;mask-image:linear-gradient(180deg,#000 48%,transparent)}
.hero-island{width:min(105%,790px);height:auto;position:absolute;left:1%;top:4%;filter:drop-shadow(0 28px 22px #315b5480);animation:island-enter .8s cubic-bezier(.16,1,.3,1) both}
.game-window{position:absolute;right:-3%;bottom:1%;width:min(66%,470px);transform:rotate(3deg);background:var(--paper-strong);border:8px solid var(--paper-strong);border-radius:18px;box-shadow:0 24px 50px #2c5e5770;overflow:hidden;animation:window-enter .8s .15s cubic-bezier(.16,1,.3,1) both}
.game-window img{display:block;width:100%;height:auto;border-radius:10px}
.window-label{display:block;padding:7px 12px;font-size:15px;font-weight:600;color:var(--ink)}
.how{background:var(--paper-strong);padding:clamp(76px,9vw,140px) clamp(20px,4vw,64px)}
.section-heading,.steps{max-width:1312px;margin:auto}
.section-heading h2{max-width:13ch;margin-bottom:20px}
.section-heading p{color:var(--muted);max-width:54ch;font-size:22px;margin-bottom:72px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,70px)}
.step{border-top:2px solid var(--line);padding-top:22px}
.step-number{display:block;color:var(--accent);font-size:36px;font-weight:600;margin-bottom:20px}
.step h3{font-size:28px;line-height:1.1;margin-bottom:12px}
.step p{color:var(--muted);max-width:24ch;font-size:18px;margin-bottom:0}
.closing{max-width:1440px;min-height:620px;margin:auto;padding:100px clamp(20px,4vw,64px);display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,6vw,100px);align-items:center}
.closing h2{max-width:10ch;margin-bottom:18px}
.closing p{color:var(--muted);max-width:27ch;font-size:22px;margin-bottom:30px}
.island-collection{position:relative;min-height:460px;background:linear-gradient(180deg,#afdce2,#6db3c8);border-radius:45% 55% 48% 52% / 52% 42% 58% 48%;overflow:hidden}
.island-collection img{position:absolute;width:55%;height:auto;filter:drop-shadow(0 20px 14px #2c5e5760)}
.island-collection .island-moonlit{left:-8%;top:27%;width:52%;transform:rotate(-8deg)}
.island-collection .island-meadow{left:25%;top:2%;width:61%;z-index:1}
.island-collection .island-coral{right:-14%;top:30%;width:53%;transform:rotate(8deg)}
.site-footer{min-height:100px;border-top:1px solid var(--line);font-size:16px;color:var(--muted)}
@keyframes island-enter{from{opacity:.3;transform:translateY(30px) scale(.96)}to{opacity:1;transform:none}}
@keyframes window-enter{from{opacity:0;transform:translateY(25px) rotate(5deg)}to{opacity:1;transform:rotate(3deg)}}
@media(max-width:900px){.hero{grid-template-columns:1fr;min-height:unset;padding-top:58px}.hero-copy{padding-bottom:0}.hero-art{min-height:540px}.game-window{right:3%;width:56%}.closing{grid-template-columns:1fr;min-height:unset}.island-collection{width:100%;max-width:780px}}
@media(max-width:620px){body{font-size:16px}.site-header{height:70px;padding:14px 18px}.wordmark{font-size:23px}.site-header .text-link{display:none}.button-small{padding:7px 12px;font-size:14px;gap:7px}.hero{padding:42px 20px 65px;gap:8px}.hero h1{font-size:clamp(49px,12.5vw,74px);margin-bottom:22px}.hero-copy p{font-size:20px;max-width:28ch;margin-bottom:24px}.hero-art{min-height:380px}.hero-island{width:110%;left:-7%;top:0}.game-window{width:63%;right:-1%;bottom:2%;border-width:5px}.window-label{font-size:12px;padding:5px 7px}.how{padding:72px 20px}.section-heading p{font-size:18px;margin-bottom:44px}.steps{grid-template-columns:1fr;gap:35px}.step-number{margin-bottom:9px}.step h3{font-size:25px}.closing{padding:80px 20px;gap:40px}.closing p{font-size:19px}.island-collection{min-height:300px}.site-footer{padding:22px 20px;flex-direction:column;align-items:flex-start;gap:4px}}
@media(max-width:390px){.hero-art{min-height:320px}.hero-island{top:8%}.game-window{bottom:0}}
@media(prefers-color-scheme:dark){:root{color-scheme:dark;--paper:#102d2e;--paper-strong:#173837;--ink:#edf7e8;--muted:#c2dcd1;--accent:#8fd2a0;--accent-hover:#b3e4bd;--line:#4d7d72;--sea:#255f74}.wordmark span{color:#a4dcab}.button{color:#123e2b;box-shadow:0 5px 0 #428756}.button:active{box-shadow:0 2px 0 #428756}.hero-art::before{background:linear-gradient(180deg,#467c8a 0%,var(--sea) 83%)}.game-window{box-shadow:0 24px 50px #041818a0}.island-collection{background:linear-gradient(180deg,#437d88,#245b6c)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-island,.game-window{animation:none}.button{transition:none}}
