:root{--paper:#F9F6EE;--surface:#FFFDFA;--ink:#0E1013;--muted:#5F6062;--dim:#6B6863;--dark:#111214;--dark-card:#1C1D20;--light:#F2F0EE;--line:rgba(14,16,19,.12);--serif:ui-serif,serif;--sans:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",sans-serif;--gutter:clamp(22px,5vw,72px);--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 var(--sans);-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}button,a{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid currentColor;outline-offset:4px}.skip-link{position:fixed;left:12px;top:12px;z-index:110;background:white;padding:12px;transform:translateY(-200%)}.skip-link:focus{transform:none}.section-shell{width:min(100% - var(--gutter)*2,1320px);margin-inline:auto}.ui-icon{width:20px;height:20px;display:block;flex:none}
.topbar{position:absolute;z-index:50;top:0;left:0;width:100%;height:90px;padding:20px var(--gutter);display:flex;align-items:center;gap:12px;color:white}.brand{display:inline-flex;align-items:center;gap:10px;font-size:16px;font-weight:650;letter-spacing:-.035em}.brand img{width:30px;height:30px;object-fit:contain;filter:brightness(0) invert(1)}.topbar .brand{margin-right:auto}.top-store-link{display:block;width:146px;flex:none}.top-store-link img{width:100%}.menu-toggle{width:46px;height:46px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid #ffffff60;border-radius:50%;background:#11121444;color:white;backdrop-filter:blur(16px)}.menu-toggle span{display:block;width:16px;height:1px;background:currentColor;transition:transform .3s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3px) rotate(-45deg)}.topbar nav{position:fixed;inset:0;z-index:-1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:16px;padding:110px var(--gutter);background:var(--paper);color:var(--ink);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .4s,visibility .4s}.topbar nav.is-open{opacity:1;visibility:visible;pointer-events:auto}.topbar nav a{font:400 clamp(48px,8vw,100px)/1 var(--serif);letter-spacing:-.055em}.topbar:has(nav.is-open){position:fixed;color:var(--ink)}.topbar:has(nav.is-open) .brand img{filter:none}.topbar:has(nav.is-open) .menu-toggle{background:var(--surface);border-color:var(--line);color:var(--ink)}
.hero{position:relative;display:flex;align-items:center;min-height:min(920px,100svh);padding:140px var(--gutter) 100px;overflow:hidden;background:#111214;color:var(--light)}.hero:before{content:"";position:absolute;inset:0;background:url('images/11-beach-sunset.jpg') center 57%/cover no-repeat;animation:hero-image 2.2s var(--ease) both}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.63),rgba(0,0,0,.22) 72%,rgba(0,0,0,.1))}.hero-copy{position:relative;z-index:1;width:min(670px,100%)}.eyebrow{margin:0 0 22px;color:var(--dim);font-size:10px;font-weight:650;letter-spacing:.17em;text-transform:uppercase}.hero .eyebrow{color:#fff}.pulse-dot{display:inline-block;width:6px;height:6px;margin-right:10px;border-radius:50%;background:currentColor;vertical-align:middle}.hero h1,.app-copy h2,.rooms-copy h2,.offscreen-copy h2,.games-copy h2,.download-panel h2{margin:0;font:400 clamp(54px,7vw,104px)/.98 var(--serif);letter-spacing:-.055em}.hero h1 em,.app-copy h2 em,.rooms-copy h2 em,.offscreen-copy h2 em,.games-copy h2 em,.download-panel h2 em{font-weight:400}.hero h1 em{color:#fff}.hero-lede{max-width:400px;margin:26px 0 32px;font-size:16px;line-height:1.7;color:#fff}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border:1px solid transparent;border-radius:999px;font-size:12px;font-weight:650;transition:transform .25s,background .25s}.button-dark{background:var(--surface);color:var(--ink)}.button:hover{transform:translateY(-2px)}.hero-footnote{margin:40px 0 0;color:#ffffffd6;font-size:10px;letter-spacing:.13em;text-transform:uppercase}.hero-stage,.app-screen-sticky{display:none}
.app-section,.rooms-section,.offscreen-section,.games-section{padding:clamp(90px,11vw,160px) 0}.app-copy{max-width:1080px}.intro-copy{max-width:470px;margin:24px 0 38px;color:var(--muted);font-size:15px;line-height:1.8}.app-copy h2 em,.offscreen-copy h2 em,.games-copy h2 em,.download-panel h2 em{color:var(--muted)}.chapters{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:60px}.chapter{min-height:210px;display:flex;flex-direction:column;justify-content:space-between;padding:26px;border:1px solid #0e10130b;border-radius:27px;background:var(--surface)}.chapter-index{color:var(--dim);font-size:11px}.chapter h3{margin:32px 0 9px;font:400 25px/1.14 var(--serif);letter-spacing:-.025em}.chapter p{margin:0;max-width:280px;color:var(--muted);font-size:13px;line-height:1.65}
.rooms-section{background:var(--dark);color:var(--light)}.rooms-layout,.offscreen-layout,.games-layout{display:grid;grid-template-columns:1fr 1.06fr;gap:clamp(45px,8vw,120px);align-items:center}.rooms-copy .eyebrow{color:#A0A1AA}.rooms-copy h2{font-size:clamp(49px,5.3vw,76px)}.rooms-copy h2 em{color:#B1B1B8}.rooms-copy .intro-copy{color:#B1B1B8}.mood-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:440px}.mood-option{display:flex;align-items:center;gap:12px;min-height:60px;padding:12px;border:1px solid #ffffff10;border-radius:18px;background:var(--dark-card);color:#B1B1B8;text-align:left;font-size:13px;font-weight:600;transition:background .3s,color .3s,border-color .3s}.mood-option.is-active{background:#27282D;color:var(--light);border-color:#ffffff32}.mood-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#ffffff0a}.mood-icon .ui-icon{width:19px;height:19px}.room-preview{position:relative;overflow:hidden;height:min(690px,55vw);min-height:450px;border-radius:27px;background:var(--dark-card)}.room-preview>img,.offscreen-visual>img{width:100%;height:100%;object-fit:cover;transition:opacity .35s,transform 1s}.room-preview img.is-changing,.offscreen-visual img.is-changing{opacity:.4}.room-preview-shade{position:absolute;inset:0;background:linear-gradient(0deg,#000a,transparent 48%,#0002)}.room-preview-top{position:absolute;top:24px;left:24px;right:24px;display:flex;justify-content:space-between;align-items:center;color:white;font-size:10px;letter-spacing:.12em}.live-label{padding:9px 12px;border:1px solid #ffffff55;border-radius:999px;background:#11121475;backdrop-filter:blur(12px)}.live-label i{display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:50%;background:#f2f0ee}.room-preview-copy{position:absolute;left:30px;bottom:30px;color:white}.room-preview-copy>span{font-size:9px;letter-spacing:.14em}.room-preview-copy h3{margin:10px 0 4px;font:400 clamp(44px,5vw,72px)/1 var(--serif);letter-spacing:-.05em}.room-preview-copy p{margin:0;font-size:13px}.room-preview-mark{display:none}
.offscreen-layout{grid-template-columns:1.05fr 1fr}.offscreen-visual{height:min(650px,52vw);min-height:420px;border-radius:27px;overflow:hidden;background:#1c1d20}.activity-detail{max-width:460px;padding-top:24px;border-top:1px solid var(--line)}.activity-detail>span{font-size:10px;color:var(--dim);letter-spacing:.13em}.activity-detail h3{margin:14px 0 5px;font:400 30px var(--serif)}.activity-detail p{margin:0;color:var(--muted);font-size:13px}.activity-controls{display:flex;gap:8px;margin-top:24px}.activity-controls button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 19px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);font-size:12px;font-weight:600}.activity-controls button:first-child{width:46px;padding:0}.activity-controls button:first-child .ui-icon{width:17px;height:17px}
.games-section{background:#EFEBE3}.game-tabs{display:flex;flex-wrap:wrap;gap:8px}.game-tab{min-height:44px;padding:0 16px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);font-size:12px;font-weight:600}.game-tab.is-active{background:var(--ink);border-color:var(--ink);color:var(--light)}.game-demo{position:relative;min-height:430px;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(26px,4vw,48px);border-radius:27px;background:var(--surface)}.game-demo-top{display:flex;align-items:center;gap:12px}.game-demo-top img{width:24px;height:24px}.game-demo-top>span{color:var(--dim);font-size:10px;letter-spacing:.14em}.game-star{margin-left:auto;color:var(--dim)}.game-prompt{max-width:560px;margin:50px 0 32px;font:400 clamp(35px,4vw,56px)/1.08 var(--serif);letter-spacing:-.045em;transition:opacity .2s}.game-prompt.is-changing{opacity:.2}.prompt-button{align-self:flex-start;min-height:47px;padding:0 20px;border:0;border-radius:999px;background:var(--ink);color:var(--light);font-size:12px;font-weight:600}.game-demo-foot{display:flex;justify-content:space-between;gap:8px;margin-top:32px;padding-top:16px;border-top:1px solid var(--line);color:var(--dim);font-size:9px;letter-spacing:.1em}
.download-section{padding:clamp(90px,10vw,145px) 0}.download-panel{max-width:1320px}.download-logo{width:42px;height:42px;margin-bottom:24px}.download-panel h2{font-size:clamp(52px,6vw,86px)}.app-store-badge{display:inline-block;width:164px;margin-top:32px}.download-note{margin:13px 0 0;color:var(--muted);font-size:12px}.footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:25px var(--gutter);background:var(--dark);color:#B1B1B8;font-size:11px}.footer .brand{color:var(--light);font-size:14px}.footer .brand img{width:24px;height:24px}
.sound-control{position:fixed;z-index:80;right:20px;bottom:20px}.sound-toggle{display:flex;align-items:center;gap:8px;height:43px;padding:0 15px;border:1px solid #0e101322;border-radius:999px;background:#FFFDFAed;color:var(--ink);box-shadow:0 6px 24px #0001;font-size:12px;backdrop-filter:blur(14px)}.sound-toggle .ui-icon{width:17px;height:17px}.sound-panel{position:absolute;right:0;bottom:55px;width:min(320px,calc(100vw - 32px));padding:20px;border:1px solid var(--line);border-radius:23px;background:#FFFDFAf5;box-shadow:0 16px 50px #0002;backdrop-filter:blur(20px)}.sound-panel[hidden]{display:none}.sound-panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.sound-panel-heading strong{font:400 20px var(--serif)}.sound-close{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:50%;background:#1112140b}.sound-close .ui-icon{width:17px}.sound-switch,.sound-volume{display:flex;gap:12px;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px}.sound-switch input,.sound-volume input{accent-color:#111214}.sound-volume{margin:15px 0;flex-wrap:wrap}.sound-volume input{width:100%}.sound-samples{display:grid;grid-template-columns:1fr 1fr;gap:7px}.sound-samples button{min-height:38px;border:1px solid var(--line);border-radius:999px;background:transparent;font-size:11px}.sound-panel p{color:var(--muted);font-size:10px}.reveal{opacity:0;transform:translateY(22px);transition:opacity .9s ease,transform 1.1s var(--ease)}.reveal.is-visible{opacity:1;transform:none}@keyframes hero-image{from{transform:scale(1.035)}to{transform:scale(1)}}
@media(max-width:720px){.topbar{height:76px;padding:14px var(--gutter)}.brand{font-size:15px}.brand img{width:27px;height:27px}.top-store-link{width:124px}.menu-toggle{width:42px;height:42px}.hero{min-height:100svh;padding:125px var(--gutter) 80px;align-items:center}.hero:before{background-position:60% center}.hero:after{background:linear-gradient(90deg,#0009,#0004),linear-gradient(0deg,#0004,transparent 70%)}.hero h1{font-size:clamp(55px,14vw,82px)}.hero-lede{font-size:14px}.hero-footnote{font-size:9px}.app-section,.rooms-section,.offscreen-section,.games-section{padding:85px 0}.app-copy h2,.rooms-copy h2,.offscreen-copy h2,.games-copy h2{font-size:clamp(48px,11vw,66px)}.intro-copy{font-size:14px}.chapters{grid-template-columns:1fr;gap:8px;margin-top:36px}.chapter{min-height:145px;padding:22px}.chapter h3{margin:20px 0 8px;font-size:23px}.rooms-layout,.offscreen-layout,.games-layout{display:flex;flex-direction:column;align-items:stretch;gap:32px}.rooms-copy{order:0}.room-preview{height:110vw;min-height:340px;max-height:520px;border-radius:23px}.room-preview-copy{left:22px;bottom:22px}.mood-picker{max-width:none}.mood-option{min-height:56px}.offscreen-copy{order:0}.offscreen-visual{order:1;height:95vw;min-height:320px;max-height:500px;border-radius:23px}.game-demo{min-height:360px;border-radius:23px;padding:26px}.game-prompt{margin:45px 0 28px;font-size:clamp(35px,8vw,48px)}.download-section{padding:86px 0}.footer{flex-wrap:wrap}.sound-control{right:14px;bottom:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero:before{animation:none}.reveal{opacity:1;transform:none;transition:none}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
.mood-icon img{width:20px;height:20px;object-fit:contain;filter:brightness(0) invert(1);opacity:.8}
.chapter-index{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#F9F6EE}.chapter-index img{width:22px;height:22px;object-fit:contain}
/* Navigation owns its full-screen layer; header controls remain above it. */
.topbar.menu-open{position:fixed;z-index:100;color:var(--ink)}
.topbar nav{z-index:0;overflow-y:auto;overscroll-behavior:contain;min-height:100dvh}
.topbar .brand,.topbar .top-store-link,.topbar .menu-toggle{position:relative;z-index:1}
.topbar.menu-open .brand{color:var(--ink)}
.topbar.menu-open .brand img{filter:none}
.topbar.menu-open .menu-toggle{background:var(--surface);border-color:var(--line);color:var(--ink)}
body.menu-open{overflow:hidden}
body.menu-open .sound-control{visibility:hidden}
@media(max-width:720px){.topbar nav{justify-content:flex-start;padding-top:max(130px,18vh);gap:22px}.topbar nav a{font-size:clamp(48px,12vw,68px)}}
/* A quiet, deliberate rhythm for the first visit and each section. */
.hero:before{animation:unmood-landscape 12s cubic-bezier(.16,1,.3,1) both}
.hero-copy>*{animation:unmood-arrive 1.5s cubic-bezier(.16,1,.3,1) both}
.hero-copy>:nth-child(1){animation-delay:.10s}.hero-copy>:nth-child(2){animation-delay:.24s}.hero-copy>:nth-child(3){animation-delay:.40s}.hero-copy>:nth-child(4){animation-delay:.56s}.hero-copy>:nth-child(5){animation-delay:.72s}
@keyframes unmood-landscape{from{transform:scale(1.09)}to{transform:scale(1)}}
@keyframes unmood-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.reveal{opacity:0;transform:translateY(30px);transition:opacity 1.45s cubic-bezier(.16,1,.3,1),transform 1.65s cubic-bezier(.16,1,.3,1)}
.reveal.is-visible{opacity:1;transform:translateY(0)}
.app-copy.reveal .chapter{opacity:0;transform:translateY(20px);transition:opacity 1.2s cubic-bezier(.16,1,.3,1),transform 1.35s cubic-bezier(.16,1,.3,1)}
.app-copy.is-visible .chapter{opacity:1;transform:translateY(0)}
.app-copy.is-visible .chapter:nth-child(1){transition-delay:.18s}.app-copy.is-visible .chapter:nth-child(2){transition-delay:.33s}.app-copy.is-visible .chapter:nth-child(3){transition-delay:.48s}
.room-preview>img,.offscreen-visual>img{transition:opacity .45s ease,transform 2.4s cubic-bezier(.16,1,.3,1)}
.room-preview img.is-changing,.offscreen-visual img.is-changing{opacity:.3;transform:scale(1.025)}
.game-prompt{transition:opacity .3s ease,transform .4s cubic-bezier(.16,1,.3,1)}.game-prompt.is-changing{opacity:0;transform:translateY(6px)}
.mood-option,.game-tab,.button,.prompt-button,.activity-controls button,.sound-toggle{transition:transform .25s cubic-bezier(.16,1,.3,1),background-color .3s,color .3s,border-color .3s}
.mood-option:active,.game-tab:active,.button:active,.prompt-button:active,.activity-controls button:active,.sound-toggle:active{transform:scale(.97)}
@media(hover:hover){.room-preview:hover>img,.offscreen-visual:hover>img{transform:scale(1.025)}}
@media(prefers-reduced-motion:reduce){.hero:before,.hero-copy>*{animation:none!important}.reveal,.app-copy .chapter{opacity:1!important;transform:none!important;transition:none!important}}
/* The mark introduces the hero before the message. */
.hero-mark{width:clamp(72px,8vw,110px);height:auto;object-fit:contain;filter:brightness(0) invert(1);margin:0 0 clamp(26px,4vh,46px);animation:unmood-mark-arrive 1.8s cubic-bezier(.16,1,.3,1) both!important}
@keyframes unmood-mark-arrive{from{opacity:0;transform:translateY(12px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:720px){.hero{align-items:flex-start;padding-top:clamp(132px,17svh,175px);padding-bottom:70px}.hero-mark{width:76px;margin-bottom:32px}.hero-copy>:nth-child(2){animation-delay:.38s}.hero-copy>:nth-child(3){animation-delay:.52s}.hero-copy>:nth-child(4){animation-delay:.68s}.hero-copy>:nth-child(5){animation-delay:.82s}}
@media(prefers-reduced-motion:reduce){.hero-mark{animation:none!important}}
