.home{overflow-x:clip;background:var(--paper)}
.skip-link{position:absolute;top:-100px;left:24px;z-index:10;padding:12px 20px;background:#fff;border-radius:12px}.skip-link:focus{top:16px}
.site-header{max-width:1300px;padding:28px 42px}.site-header .brand{display:flex;align-items:center;gap:12px;font-size:1.2rem;letter-spacing:.015em}
.brand img{border-radius:15px;box-shadow:0 3px 0 #bad4ca}.brand-dot{color:var(--ocean)}
.site-header nav{display:flex;align-items:center;gap:34px}.site-header nav a{text-decoration:none;color:var(--ink)}.site-header nav a:hover{text-decoration:underline}
.site-header .nav-play{background:#d5e9e1;border:1px solid #bfd8cf;border-radius:13px;padding:10px 18px;display:flex;gap:16px}
.home main{max-width:1300px;padding:0 42px 64px}
.hero{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;margin:6px 0 30px;min-height:600px;position:relative}.hero-copy{position:relative;z-index:1;padding:32px 0 40px}
.beta-badge{display:inline-flex;align-items:center;gap:9px;border:1px solid #bdd9ce;background:#dcece4;border-radius:30px;margin:0 0 20px;padding:7px 13px;font-size:.7rem;letter-spacing:.13em;color:#38665b}.beta-badge span{width:7px;height:7px;border-radius:50%;background:#33806c}
.hero h1{font-size:clamp(4.5rem,8.7vw,7.1rem);line-height:.98;letter-spacing:-.035em;font-weight:500;margin:4px 0 28px}.hero h1 span{color:var(--ocean)}
.hero .lead{font-size:1.13rem;line-height:1.7;max-width:420px;margin:0 0 21px}
.hero-button{background:var(--sand);color:var(--ink);border:1px solid #e4c16d;border-bottom-width:4px;padding:16px 27px;font-size:1.05rem;min-width:210px;border-radius:18px;margin:0 0 6px;gap:30px;box-shadow:0 7px 22px #8167340b}
.hero-button:hover{background:#ffe5a0;color:var(--ink);transform:translateY(-2px)}.hero-button span{font-size:1.4rem;line-height:1}
.entry-note{font-size:.85rem;line-height:1.6;margin:14px 0 0;color:#527471}
.hero-scene{position:relative;aspect-ratio:900/740;width:116%;max-width:calc(100% + 32px);margin-left:-7%;isolation:isolate}
#shore-canvas{display:block;width:100%;height:auto;position:relative;z-index:1;opacity:0}#shore-canvas.is-ready{opacity:1}
#shore-fallback{position:absolute;inset:6% 10%;width:80%;height:88%;object-fit:cover;border-radius:46% 52% 42% 46%}
.shore-caption{position:absolute;z-index:2;bottom:3%;left:50%;transform:translateX(-50%) rotate(-3deg);white-space:nowrap;font-size:.86rem;font-weight:850;padding:10px 19px;border:1px solid #d0dfcf;border-radius:12px;background:#fffdf0;box-shadow:0 5px 0 #bed6cb80;color:#446553}.shore-caption span{color:#ca8152;margin-right:7px}
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;border-top:1px solid var(--line);padding:35px 0 16px;margin:0}.features article{display:flex;align-items:flex-start;gap:17px}
.feature-number{font:500 1.1rem/1 Fredoka,sans-serif;background:#d6e9e2;color:#4e8174;flex-shrink:0;padding:13px 11px;border-radius:14px}
.features h2{font-size:1.25rem;margin:2px 0 10px;line-height:1.2}.features p{font-size:.92rem;line-height:1.65;margin:0;max-width:290px}
.beta-section{scroll-margin-top:25px;display:grid;grid-template-columns:1.1fr 1fr;gap:90px;margin-top:65px;padding:46px 52px;border-radius:32px;background:#173f47;color:#fff9e9}
.beta-section .eyebrow{color:#98c9bc;margin-top:0;font-size:.7rem}.beta-section h2{color:#fff9e9;font-size:2.4rem;max-width:360px;margin:0 0 22px}
.beta-section p{color:#c1d8d1;font-size:1rem}.beta-section h3{color:#f6e9c9;margin:0 0 9px;font-size:1rem}.beta-details p{margin:0 0 24px;font-size:.92rem;line-height:1.7}.beta-details .muted{font-size:.8rem;color:#adcac3;margin-bottom:0}
.text-link{display:inline-flex;align-items:center;gap:18px;padding:8px 0;color:#f7d888;font-weight:800;font-size:.9rem}.text-link:hover{color:#fff2c7}
.site-footer{max-width:1216px;justify-content:space-between;padding:28px 0 40px;margin:0 auto}.footer-brand{font:500 1.15rem/1.4 Fredoka,Nunito,sans-serif}.footer-brand span{display:block;font:600 .82rem/1.5 Nunito,sans-serif;color:#567870}
.site-footer nav{display:flex;flex-wrap:wrap;gap:26px}.site-footer a{font-size:.8rem;color:#42675f;text-decoration:none}.site-footer a:hover{text-decoration:underline}
@media(min-width:1500px){.hero{min-height:650px}}
@media(max-width:1050px){.hero{min-height:540px;grid-template-columns:.95fr 1.05fr}.hero h1{font-size:5.5rem}.hero-scene{width:116%;margin-left:-7%}.features{gap:22px}.features article{gap:12px}.feature-number{padding:10px 8px;font-size:.9rem}.beta-section{gap:45px;padding:36px}.site-footer{margin:0 42px}.site-header nav{gap:22px}}
@media(max-width:760px){.site-header{padding:22px}.site-header .brand{font-size:1.05rem;gap:9px}.brand img{width:42px;height:42px;border-radius:13px}.site-header nav{gap:16px}.site-header nav>a:not(.nav-play){display:none}.site-header .nav-play{font-size:.85rem;gap:12px;padding:9px 13px}.home main{padding:0 22px 36px}.hero{display:flex;flex-direction:column;min-height:0;margin:15px 0 28px;align-items:stretch}.hero-copy{padding:8px 0 0;text-align:center}.beta-badge{font-size:.65rem;padding:6px 12px;margin-bottom:16px}.hero h1{font-size:clamp(4.3rem,14vw,6rem);margin-bottom:18px}.hero h1 br{display:none}.hero .lead{font-size:1.02rem;margin:0 auto 22px;max-width:340px}.hero-button{min-height:56px;font-size:1rem;padding:12px 24px}.entry-note{font-size:.8rem;margin:9px 0 0}.entry-note br{display:none}.hero-scene{width:110%;margin:0 -5%;max-height:420px;aspect-ratio:900/740}.hero-scene canvas{height:100%;object-fit:contain}.shore-caption{bottom:2%;font-size:.77rem;padding:8px 15px}.features{grid-template-columns:1fr;gap:25px;padding:28px 0 5px}.features article{gap:18px}.feature-number{padding:12px 10px;font-size:1rem}.features h2{font-size:1.3rem}.features p{max-width:none;font-size:.94rem}.beta-section{grid-template-columns:1fr;gap:28px;margin-top:35px;padding:30px 25px;border-radius:25px}.beta-section h2{font-size:2rem}.beta-section p{font-size:.93rem}.beta-details{border-top:1px solid #426269;padding-top:28px}.site-footer{margin:0 22px;padding:24px 0;align-items:flex-start;gap:20px}.site-footer nav{gap:5px 22px}.footer-brand{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){.hero-button:hover{transform:none}}