/* Room for a life — editorial system and a single, purposeful interactive motif. */
:root{--ink:#342444;--paper:#faf8f0;--lilac:#ded3f3;--muted:#716179;--sun:#f0e985;--space:clamp(24px,5vw,88px)}
html{scroll-padding-top:28px}body{background:var(--paper);color:var(--ink)}
.site-header{position:relative;inset:auto;max-width:1680px;margin:auto;padding:24px var(--space);border-bottom:1px solid #34244418;background:var(--paper);gap:20px}
.site-header .wordmark{font-size:36px}.site-header nav a,.language select,.small-button{font-size:13px}.language select{min-height:44px}.site-header nav{gap:28px}
.hero{max-width:1680px;margin:0 auto;min-height:770px;height:auto;isolation:isolate;overflow:hidden;display:block;padding:78px var(--space) 0;background:var(--paper)}
.hero:before,.hero:after{display:none}.hero-image{inset:38px var(--space) 118px auto;width:43%;height:auto;border-radius:200px 10px 200px 10px;background-position:49% 47%;box-shadow:none;transform:none}
.hero-content{position:relative;z-index:2;padding:0;width:59%;max-width:none;margin:0}.hero-intro{font-size:14px;letter-spacing:0;margin-bottom:30px}.hero-intro:before{display:none}
.hero h1{font-family:var(--sans);font-size:clamp(68px,7.5vw,118px);font-weight:500;line-height:1.02;letter-spacing:-.075em;max-width:850px;margin:0 0 28px;text-wrap:balance}
.hero h1 em{font-family:var(--serif);font-size:1.22em;font-weight:500;letter-spacing:-.055em;line-height:.8;color:#65418a;font-style:italic;white-space:nowrap}
.hero-description{font-size:17px;line-height:1.8;max-width:350px;margin:30px 0 28px;color:var(--muted)}
.hero .pill{font-size:14px;min-height:58px;padding:0 26px;background:var(--ink);color:var(--paper);gap:34px;box-shadow:none}
@media(hover:hover) and (pointer:fine){.pill:hover{transform:translateY(-2px)}}
.hero-signature{position:absolute;right:8%;bottom:146px;z-index:3;display:flex;align-items:center;gap:10px;background:var(--sun);padding:14px 24px;border-radius:2px;transform:rotate(-5deg);font:italic 30px var(--serif);box-shadow:0 6px 16px #3424440a}.hero-signature svg{width:55px;height:37px}
.hero-bottom{position:relative;left:auto;right:auto;bottom:auto;margin-top:74px;min-height:100px;border-top:1px solid #34244420;padding:22px 0;display:flex;justify-content:space-between;align-items:center;gap:24px;color:var(--ink)}
.hero-bottom p{font-size:13px;line-height:1.65;color:var(--muted)}.film-link{color:var(--ink);font-size:14px}.film-link small{font-size:12px}.play-circle{background:transparent;border:1px solid #34244440;color:var(--ink);width:48px;height:48px}.scroll-cue{font-size:13px;color:var(--ink)}
.section-pad{padding:110px var(--space)}.section-note{font-size:14px;letter-spacing:0}.section-intro{font-size:16px}.experience-heading h2,.memory h2,.philosophy h2,.guide-invitation h2,.questions h2{letter-spacing:-.045em;text-wrap:balance}
/* The bloom is drawn, not video: only the selected intention changes it. */
.room-section{padding:110px var(--space) 100px;background:#eee7f6;position:relative;overflow:hidden}
.room-heading{max-width:1240px;margin:auto;display:grid;grid-template-columns:1.3fr 1fr;column-gap:9%;align-items:end}.room-heading .section-note{grid-column:1/-1;margin:0 0 24px}.room-heading h2{font:500 clamp(48px,5.1vw,78px)/1.06 var(--sans);letter-spacing:-.055em;margin:0}.room-heading h2 em{font:italic 1.18em/.9 var(--serif);color:#765193}.room-heading>p:last-child{font-size:17px;line-height:1.8;max-width:330px;margin:0 0 7px;color:#6d5a78}
.room-stage{max-width:1240px;margin:28px auto 0;display:grid;grid-template-columns:1.3fr 1fr;gap:9%;align-items:center;--petal:#a38bc4;--petal-scale:1;--petal-turn:0deg}
.room-art{position:relative;min-width:0}.living-bloom{display:block;width:100%;overflow:visible}.bloom-petals{transform-origin:300px 300px;transform:rotate(var(--petal-turn)) scale(var(--petal-scale));transition:transform 1.3s cubic-bezier(.2,.7,.2,1)}.bloom-petal{fill:url(#petal-light);stroke:var(--petal);stroke-width:.8;transition:stroke .8s;vector-effect:non-scaling-stroke}.bloom-heart{fill:#eee7f6;stroke:#bba9cc;stroke-width:.7}
.bloom-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-66%);text-align:center;white-space:nowrap}.bloom-center>span:first-child{font:400 clamp(52px,5.8vw,88px)/1 var(--serif);display:block}.bloom-center>span:last-child{font-size:12px;display:block;margin-top:6px}.room-art-caption{text-align:center;font-size:13px;color:#705c7b;margin:0}
.room-stage[data-space=move]{--petal-scale:1.06;--petal-turn:15deg;--petal:#8b6eaf}.room-stage[data-space=life]{--petal-scale:.9;--petal-turn:45deg;--petal:#9b854b}
.room-controls{padding:32px 0}.room-controls fieldset{padding:0;margin:0;border:0;min-width:0}.room-controls legend{font-size:14px;margin-bottom:18px}.room-options{display:flex;flex-wrap:wrap;gap:9px}.room-options button{display:flex;align-items:center;justify-content:flex-start;gap:12px;border:1px solid #b8a4ca80;background:transparent;color:var(--ink);border-radius:100px;padding:13px 19px;min-height:48px;font-size:14px;transition:background .25s,box-shadow .25s}.room-options button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fffaf0;box-shadow:0 5px 18px #34244412}
@media(hover:hover) and (pointer:fine){.room-options button:hover{border-color:var(--ink)}}.room-options svg,.room-continue svg{width:21px;height:21px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.room-result{margin-top:30px;padding-top:26px;border-top:1px solid #34244420;min-height:212px}.room-result>p:first-child{font-size:13px;color:#765193;margin-bottom:13px}.room-result h3{font:500 32px/1.2 var(--sans);letter-spacing:-.035em;margin:0 0 16px;text-wrap:balance}.room-result>p:last-child{font-size:15px;line-height:1.85;color:#6d5a78;max-width:390px}.room-continue{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 0;border-bottom:1px solid #34244460;min-height:54px;font-size:15px;width:100%;font-weight:600}
@media(hover:hover) and (pointer:fine){.room-continue:hover svg{transform:translateX(4px)}}.room-continue svg{transition:transform .25s}.room-note{font-size:12px;line-height:1.8;color:#705c7b;margin-top:17px}
/* Product content is quieter so the demonstration is the focal point. */
.experience{background:var(--paper)}.experience-heading{max-width:1120px;margin:0 auto 48px}.experience-heading h2{font-family:var(--sans);font-size:clamp(48px,5vw,74px);font-weight:500;line-height:1.08}.experience-stage{max-width:1120px;margin:auto}.experience-copy{min-width:0}.chapter-tabs button{font-size:14px;min-height:48px}.chapter-tabs button span:first-child{font-size:11px}#chapter-panel h3{font-size:29px;line-height:1.3}#chapter-panel p{font-size:16px;line-height:1.85}.demo-choice>p:first-child{font-size:14px}.moods button{font-size:13px;min-height:44px}.demo-disclosure{font-size:12px;line-height:1.75}.phone-stage:before{background:#e7e0f0}.phone{transform:none;border-radius:45px;box-shadow:0 30px 65px #34244415,0 3px 12px #3424440c}.orbit-stroke{display:none}.phone-caption{font-size:13px}.phone-action{min-height:48px}
.memory-copy>p:not(.section-note){font-size:16px;line-height:1.85}.memory-copy .inline-instruction{font-size:14px!important}.memory-item p{font-size:15px}.memory-item small,.sheet-bottom,.memory-caption{font-size:12px}.memory-sheet{transform:rotate(-3deg)}.principles article p{font-size:15px;line-height:1.85}.principles h3{font-size:22px}.philosophy-footer{font-size:14px}.guide-invitation-copy>p:not(.section-note){font-size:16px}.guide-book-sub{font-size:13px}.guide-entry-points a,.guide-languages a{font-size:14px}.guide-languages>p{font-size:12px}.faq-list summary{font-size:17px;min-height:64px}.faq-list p{font-size:15px;line-height:1.85}.film-caption p{font-size:14px}.footer-links{font-size:13px}footer>p{font-size:14px}.underlined,.beta-link{min-height:44px}
:where(a,button,select):focus-visible{outline:3px solid #765193;outline-offset:5px}button,a,select{-webkit-tap-highlight-color:transparent}.room-continue:focus-visible{outline-offset:7px}#experience-title:focus{outline:none}
html[lang=zh] .hero h1,html[lang=ja] .hero h1{font-size:clamp(52px,5.5vw,88px);line-height:1.22;letter-spacing:-.065em;max-width:100%;font-weight:500}html[lang=zh] .hero h1 em,html[lang=ja] .hero h1 em{display:block;font:inherit;color:#765193;font-style:normal}html[lang=zh] .room-heading h2,html[lang=ja] .room-heading h2{font-size:clamp(36px,3.9vw,60px);line-height:1.4;letter-spacing:-.055em}html[lang=zh] .room-heading h2 em,html[lang=ja] .room-heading h2 em{font:inherit;color:#765193}html[lang=zh] .room-result h3,html[lang=ja] .room-result h3{font-size:27px;line-height:1.5}
@media(min-width:1680px){.hero-image{width:660px}.room-section{padding-left:max(88px,calc((100vw - 1480px)/2));padding-right:max(88px,calc((100vw - 1480px)/2))}}
@media(max-width:1000px){.site-header nav{gap:18px}.site-header .wordmark{font-size:31px}.hero{min-height:690px;padding-top:62px}.hero h1{font-size:clamp(62px,8vw,82px)}.hero-content{width:61%}.hero-description{max-width:290px;font-size:16px}.hero-image{width:42%;inset:40px var(--space) 126px auto;border-radius:150px 8px 140px 8px}.hero-signature{font-size:23px;right:7%;bottom:150px}.hero-bottom{margin-top:62px}.room-heading,.room-stage{column-gap:5%;grid-template-columns:1fr 1fr}.room-result{min-height:235px}.room-options button{padding:11px 15px}.section-pad,.room-section{padding-top:85px;padding-bottom:85px}.hero-bottom .scroll-cue{display:none}}
@media(max-width:700px){.site-header{padding:16px 22px;gap:12px}.site-header .wordmark{font-size:29px;gap:7px}.site-header .wordmark img{width:26px;height:26px}.site-header nav{display:none}.site-header .header-right{gap:10px}.site-header .small-button{font-size:12px;padding:11px 16px;min-height:44px}.language select{font-size:12px;padding-left:0}.hero{padding:42px 24px 0;min-height:0;overflow:hidden}.hero-content{width:100%;padding:0}.hero-intro{font-size:12px;margin:0 0 20px}.hero h1{font-size:clamp(56px,10.4vw,74px);line-height:1.02;letter-spacing:-.065em;max-width:540px;margin-bottom:18px}.hero-description{font-size:15px;line-height:1.8;max-width:310px;margin:24px 0}.hero .pill{font-size:13px;min-height:52px;padding:0 23px;gap:30px}.hero-image{position:relative;inset:auto;width:100%;height:330px;margin:36px 0 0;border-radius:140px 8px 120px 8px;background-position:50% 43%;order:0}.hero{display:flex;flex-direction:column}.hero-content{order:-1}.hero-signature{right:35px;bottom:140px;font-size:22px;padding:8px 17px}.hero-signature svg{width:40px;height:30px}.hero-bottom{margin:24px 0 0;min-height:92px;padding:20px 0;gap:14px}.hero-bottom>p{font-size:11px;max-width:190px}.hero-bottom .film-link{font-size:12px;gap:10px}.film-link small{font-size:10px}.play-circle{width:40px;height:40px}.hero-bottom .scroll-cue{display:none}
.room-section{padding:66px 24px}.room-heading{display:block}.room-heading .section-note{font-size:12px;margin-bottom:20px}.room-heading h2{font-size:46px;line-height:1.08}.room-heading>p:last-child{font-size:15px;line-height:1.8;margin:22px 0 0;max-width:340px}.room-stage{display:flex;flex-direction:column;gap:0;margin-top:0}.room-art{width:min(100%,410px);margin:0 auto}.room-art-caption{font-size:12px;margin-top:-5px}.bloom-center{transform:translate(-50%,-68%)}.bloom-center>span:first-child{font-size:58px}.bloom-center>span:last-child{font-size:10px}.room-controls{width:100%;padding:34px 0 0}.room-controls legend{font-size:14px;margin-bottom:14px}.room-options{gap:8px}.room-options button{font-size:13px;padding:12px 15px;min-height:46px;gap:8px}.room-options svg{width:18px;height:18px}.room-result{min-height:205px;margin-top:24px;padding-top:23px}.room-result h3{font-size:28px;max-width:340px}.room-result>p:last-child{font-size:15px}.room-continue{font-size:14px}.room-note{font-size:11px}.section-pad{padding:70px 24px}.experience-heading{margin-bottom:30px}.experience-heading h2{font-size:44px}.section-note{font-size:12px}.section-intro{font-size:15px}.chapter-tabs{gap:4px}.chapter-tabs button{font-size:12px}.chapter-tabs button span:first-child{display:none}#chapter-panel h3{font-size:26px}#chapter-panel p{font-size:15px}.experience-stage{gap:30px}.phone-stage{padding:30px 0}.phone{max-width:100%;width:324px;box-sizing:border-box}.memory-copy>p:not(.section-note),.guide-invitation-copy>p:not(.section-note){font-size:15px}.memory-sheet{transform:rotate(-2deg)}.principles article p{font-size:15px}.guide-book-sub{font-size:12px}.guide-entry-points a,.guide-languages a{font-size:13px}.faq-list summary{font-size:16px}.faq-list p{font-size:14px}.begin h2{font-size:48px}.footer-links{font-size:12px}
html[lang=zh] .hero h1,html[lang=ja] .hero h1{font-size:clamp(44px,8.8vw,64px);line-height:1.25;letter-spacing:-.045em}html[lang=zh] .room-heading h2,html[lang=ja] .room-heading h2{font-size:34px;line-height:1.45}html[lang=zh] .room-result h3,html[lang=ja] .room-result h3{font-size:25px}html[lang=ja] .hero-description{max-width:340px}html[lang=ja] .room-options{gap:8px}html[lang=ja] .room-options button{font-size:12px}}
@media(max-width:360px){.site-header{padding:12px 18px}.site-header .wordmark{font-size:26px}.header-right{gap:6px!important}.site-header .small-button{padding:10px 12px;font-size:11px}.hero{padding:34px 20px 0}.hero h1{font-size:53px}.hero-image{height:280px}.hero-signature{font-size:20px;bottom:135px;right:25px}.hero-bottom>p{max-width:145px;font-size:10px}.film-link small{display:none}.room-section,.section-pad{padding-left:20px;padding-right:20px}.room-heading h2{font-size:40px}.room-result{min-height:225px}.room-options button{font-size:12px}.phone{width:280px;padding-left:18px;padding-right:18px}.memory-sheet{padding-left:20px;padding-right:20px}.begin h2{font-size:42px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(hover:hover) and (pointer:fine){.pill:hover{transform:none}}}
/* Keep the photograph above the closing rail at every desktop text length. */
@media(min-width:701px){.hero{min-height:0}.hero-content{min-height:470px}.hero-bottom{margin-top:54px}.hero-image{bottom:120px}.hero-signature{bottom:150px}}
@media(min-width:701px) and (max-width:1000px){.hero-content{min-height:440px}}
.hero-image{animation:none}
@media(min-width:701px) and (max-width:1000px){.room-heading{grid-template-columns:1fr}.room-heading>p:last-child{max-width:540px;margin-top:24px}.room-stage{margin-top:12px}.room-result h3{font-size:28px}}
@media(max-width:360px){.site-header .small-button{display:none}.site-header{height:76px}}
.phone .phone-action{font-size:14px}.phone .activity-card p{font-size:13px;line-height:1.75}.phone .phone-brand small{font-size:11px}.hero h1,.hero-description,.hero-intro,.hero .pill{animation:none}
/* CJK layouts share the same spacing and readable UI sizes as English. */
html[lang=zh] .hero-content,html[lang=ja] .hero-content{padding:0}
html[lang=zh] .hero-description,html[lang=ja] .hero-description{font-size:17px}
html[lang=zh] #chapter-panel h3,html[lang=ja] #chapter-panel h3{font-size:30px;line-height:1.5}
html[lang=ja] .chapter-tabs button{font-size:13px}
html[lang=ja] .site-header .small-button{font-size:12px}
html[lang=zh] .room-heading h2,html[lang=ja] .room-heading h2,html[lang=zh] .experience h2,html[lang=ja] .experience h2{font-family:var(--sans)}
@media(max-width:700px){html[lang=zh] .hero-description,html[lang=ja] .hero-description{font-size:15px}html[lang=zh] #chapter-panel h3,html[lang=ja] #chapter-panel h3{font-size:25px}html[lang=ja] .chapter-tabs button{font-size:12px;padding:12px 10px}}
