:root{--paper:#eeeae1;--ink:#394b4d;--mist:#d7dfd8;--sage:#a5b4a6;--clay:#b69582;--line:#aeb9af}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Hiragino Mincho ProN','Yu Mincho',serif}button,a{font:inherit}a{color:inherit}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;z-index:100;background:#fff;padding:12px}.demo-banner{background:#677c76;color:white;text-align:center;padding:7px 16px;font:10px/1.5 'Hiragino Kaku Gothic ProN',sans-serif;letter-spacing:.06em}.header{height:80px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;font-size:21px;letter-spacing:.12em}.brand small{display:block;font:9px 'Courier New',monospace;letter-spacing:.14em;margin-top:3px}.mark{font-size:42px;font-weight:100;color:#7a9b90}.header nav{display:flex;gap:33px}.header nav a{text-decoration:none;font-size:12px;letter-spacing:.1em;border-bottom:1px solid transparent;padding:6px 0}.header nav a:hover,.header nav a:focus-visible{border-color:var(--ink)}.hero{min-height:770px;position:relative;overflow:hidden;background:linear-gradient(180deg,#f0ede6,#dce4dd)}.hero-top,.hero-bottom{display:flex;justify-content:space-between;padding:20px 5vw;font:10px 'Courier New',monospace;letter-spacing:.13em}.hero-top{border-bottom:1px solid #bac4bc}.hero-bottom{border-top:1px solid #bac4bc}.hero-center{min-height:610px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:70px 15vw 50px}.hero-center>p{font-size:12px;letter-spacing:.26em;margin:0 0 20px}.hero h1{font-size:clamp(75px,9vw,145px);line-height:1.2;font-weight:400;letter-spacing:.08em;margin:0;position:relative;z-index:1}.hero h1 em{font-style:normal;color:#829a8a}.hero-description{font-size:14px;line-height:2.2;max-width:540px;margin:30px auto;position:relative;z-index:1}.hero-center>a{text-decoration:none;border-bottom:1px solid var(--ink);padding:10px 20px;font-size:13px;letter-spacing:.15em;position:relative;z-index:1}.hero-left,.hero-right{position:absolute;top:48%;font:10px 'Courier New',monospace;letter-spacing:.2em;line-height:1.9;text-align:left}.hero-left{left:6vw}.hero-right{right:6vw}.breath-orbit{position:absolute;width:450px;height:450px;max-width:55vw;max-height:55vw;top:50%;left:50%;transform:translate(-50%,-50%);opacity:.55}.breath-orbit span{position:absolute;inset:0;border:1px solid #95aea4;border-radius:50%;animation:breathe 8s ease-in-out infinite alternate}.breath-orbit span:nth-child(2){inset:12%;animation-delay:1.3s}.breath-orbit span:nth-child(3){inset:24%;animation-delay:2.6s}@keyframes breathe{from{transform:scale(.9);opacity:.35}to{transform:scale(1.15);opacity:1}}.breath-line{height:92px;display:flex;align-items:center;gap:25px;padding:0 5vw}.breath-line span{font:10px 'Courier New',monospace;letter-spacing:.15em}.breath-line svg{flex:1;height:80px;overflow:visible}.breath-line path{fill:none;stroke:#7e9e91;stroke-width:1.5;stroke-dasharray:1300;animation:draw 9s ease-in-out infinite alternate}@keyframes draw{from{stroke-dashoffset:900}to{stroke-dashoffset:0}}.statement{min-height:420px;display:grid;grid-template-columns:20% 1fr 25%;gap:30px;align-items:center;padding:75px 6vw;background:#aabbb0;color:#263c3b}.statement>span,.atmosphere-head>span,.prepare-head>span,.closing>span{font:10px 'Courier New',monospace;letter-spacing:.17em}.statement h2{font-size:clamp(45px,6vw,90px);font-weight:400;letter-spacing:.03em;line-height:1.4;margin:0}.statement p{font-size:13px;line-height:2}.atmosphere{background:#f3efe7;padding:110px 6vw}.atmosphere-head{display:grid;grid-template-columns:20% 1fr 30%;gap:22px;align-items:end;margin-bottom:60px}.atmosphere-head h2,.prepare-head h2{font-size:clamp(45px,6vw,85px);font-weight:400;line-height:1.4;letter-spacing:.03em;margin:0}.tabs{display:flex;gap:10px;flex-direction:column}.tab{border:1px solid #b3bdb6;background:transparent;padding:14px 20px;display:flex;justify-content:space-between;cursor:pointer;font-size:14px}.tab span{font:11px 'Courier New',monospace}.tab.active{background:#677f78;color:white}.tab:hover,.tab:focus-visible,.choice:focus-visible,.choice:hover,#reset:focus-visible{outline:2px solid #687d76;outline-offset:2px}.room-panel{display:grid;grid-template-columns:1fr 32%;background:#d9e1d8}.room-photo{position:relative;min-width:0}.room-photo img{width:100%;height:610px;object-fit:cover;display:block;filter:saturate(.65)}.room-photo span{position:absolute;bottom:18px;left:18px;background:#eeeae1;padding:8px 12px;font:10px 'Courier New',monospace}.room-copy{padding:5vw 3vw;display:flex;flex-direction:column;justify-content:center}.room-copy>span{font:11px 'Courier New',monospace;color:#697d72}.room-copy h3{font-size:clamp(27px,3vw,44px);font-weight:400;line-height:1.5;margin:25px 0}.room-copy p{font-size:14px;line-height:2}.room-copy small{font-size:11px;line-height:1.8;margin-top:25px}.prepare{padding:110px 6vw;background:#e6e3d9}.prepare-head{display:grid;grid-template-columns:20% 1fr 27%;gap:22px;align-items:end;margin-bottom:60px}.prepare-head p{font-size:13px;line-height:2}.planner{display:grid;grid-template-columns:1fr 40%;gap:6vw}.choices{border-top:1px solid var(--line)}.choice-group{border-bottom:1px solid var(--line);padding:25px 0 32px}.choice-group h3{font-size:20px;font-weight:400;margin:0 0 18px}.choice-group h3 span{font:11px 'Courier New',monospace;color:#7b9589;margin-right:22px}.choice-group>p{font-size:12px;margin:-10px 0 20px}.choice-row{display:flex;gap:10px;flex-wrap:wrap}.choice{border:1px solid #a0aea3;background:transparent;padding:10px 15px;cursor:pointer;font-size:13px}.choice.active{background:#677f78;color:#fff}.memo{border:1px solid #a4b0a5;background:#f4f1ea;position:relative;align-self:start;padding:45px 40px;overflow:hidden}.memo>span{font:10px 'Courier New',monospace;letter-spacing:.15em}.memo-orbit{position:absolute;width:160px;aspect-ratio:1;border:1px solid #b8c7bb;border-radius:50%;right:-45px;top:-50px}.memo-orbit:after{content:'';position:absolute;inset:25px;border:1px solid #b8c7bb;border-radius:50%}.memo h3{font-size:30px;font-weight:400;margin:45px 0 30px}.memo dl{margin:0}.memo dt{font-size:11px;color:#637a70;border-top:1px solid #c2ccc1;padding-top:14px}.memo dd{margin:8px 0 20px;font-size:15px}.memo button{background:#677f78;border:0;color:white;padding:12px 16px;cursor:pointer;font-size:12px}.memo small{display:block;margin-top:26px;font-size:11px;line-height:1.8}.closing{text-align:center;background:#7e9589;color:#f3f0e8;padding:120px 6vw}.closing h2{font-size:clamp(45px,6vw,85px);font-weight:400;line-height:1.4}.closing p{max-width:620px;margin:0 auto 35px;font-size:13px;line-height:2}.closing a{text-decoration:none;border-bottom:1px solid currentColor;padding:10px;font-size:13px}footer{display:flex;justify-content:space-between;gap:20px;padding:28px 6vw;font-size:11px}footer a{text-decoration:none}@media(max-width:1000px){.statement,.atmosphere-head,.prepare-head{grid-template-columns:1fr 1fr}.statement>span,.atmosphere-head>span,.prepare-head>span{grid-column:1/-1}.atmosphere-head .tabs{grid-column:2}.room-panel{grid-template-columns:1fr 35%}.planner{grid-template-columns:1fr 45%}}@media(max-width:700px){.header{height:68px}.brand{font-size:17px}.brand small{font-size:8px}.header nav a:not(:last-child){display:none}.hero{min-height:0}.hero-center{min-height:650px;padding:80px 7vw 50px}.hero h1{font-size:clamp(64px,16vw,105px)}.hero-left,.hero-right{top:auto;bottom:20px;font-size:8px}.hero-left{left:5vw}.hero-right{right:5vw}.breath-orbit{max-width:none;max-height:none;width:80vw;height:80vw}.hero-description{font-size:13px}.breath-line{height:70px;gap:10px}.breath-line svg{height:50px}.statement{display:block;padding:70px 7vw}.statement h2{margin:20px 0}.atmosphere,.prepare{padding:75px 6vw}.atmosphere-head,.prepare-head{display:block}.atmosphere-head h2,.prepare-head h2{margin:20px 0}.tabs{margin-top:35px}.room-panel{display:block}.room-photo img{height:auto;aspect-ratio:1.3}.room-copy{padding:35px}.planner{display:block}.memo{margin-top:45px}.closing{padding:80px 7vw}footer{flex-direction:column}}@media(max-width:390px){.header{padding:0 4vw}.brand{font-size:15px;gap:7px}.mark{font-size:29px}.header nav a{font-size:10px}.hero-top,.hero-bottom{font-size:8px}.hero-center{min-height:590px}.hero h1{font-size:16vw}.hero-left,.hero-right{font-size:7px}.memo{padding:35px 27px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
body[data-room=evening] .room-panel{background:#cccac3}body[data-room=evening] .room-copy>span{color:#8d796e}

/* Typography QA: readable hero copy across narrow widths. */
.hero-description{font-size:14px;line-height:2}

/* Photo-led editorial hero: two yoga rooms separated by an oversized title sheet. */
.hero{min-height:0;background:#d8dfd5;overflow:hidden}.hero-photo{height:clamp(320px,47vw,610px);position:relative}.hero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 63%;filter:saturate(.88)}.photo-note{position:absolute;left:5vw;bottom:22px;background:rgba(244,241,233,.9);padding:8px 11px;font:10px/1.5 'Hiragino Kaku Gothic ProN',sans-serif;letter-spacing:.08em}.hero-paper{display:grid;grid-template-columns:minmax(125px,18%) minmax(250px,1fr) minmax(210px,25%);gap:3vw;align-items:end;padding:28px 5vw 32px;background:#e7e9df;border-top:8px solid #82998b}.paper-index{align-self:start;display:flex;flex-direction:column;gap:8px;font:11px/1.5 'Hiragino Kaku Gothic ProN',sans-serif;letter-spacing:.08em}.paper-index span:last-child{font:10px/1.5 'Courier New',monospace;color:#647a70}.paper-heading{display:flex;gap:3vw;align-items:end;justify-content:space-between}.paper-heading p{font-size:clamp(14px,1.4vw,20px);line-height:1.7;margin:0 0 13px;white-space:nowrap}.hero .paper-heading h1{font-size:clamp(58px,7.4vw,124px);line-height:1.04;letter-spacing:.02em;margin:0;font-weight:400;white-space:nowrap;color:#314c49}.paper-action{font-size:12px;line-height:1.9}.paper-action p{margin:0 0 14px}.paper-action a{display:inline-block;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px;font-size:12px}.hero-evening{height:145px;position:relative}.hero-evening img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 55%;filter:saturate(.7)}.hero-evening span{position:absolute;right:5vw;bottom:15px;background:rgba(241,238,230,.9);padding:7px 10px;font-size:10px}.paper-action a:focus-visible{outline:2px solid #314c49;outline-offset:4px}
@media(max-width:1100px){.hero-paper{grid-template-columns:120px 1fr;gap:16px}.paper-heading{justify-content:flex-start}.paper-action{grid-column:2;max-width:630px}.hero .paper-heading h1{font-size:clamp(52px,8vw,88px)}}
@media(max-width:700px){.hero-photo{height:340px}.hero-paper{display:block;padding:22px 6vw 27px;border-top-width:5px}.paper-index{flex-direction:row;justify-content:space-between}.paper-heading{display:block;margin:19px 0}.paper-heading p{font-size:14px;margin:0 0 8px}.hero .paper-heading h1{font-size:clamp(56px,13.5vw,88px);white-space:normal}.paper-action p{font-size:12px;margin-bottom:8px}.hero-evening{height:125px}.photo-note{left:6vw;bottom:12px;font-size:9px}}
@media(max-width:390px){.hero-photo{height:300px}.hero .paper-heading h1{font-size:13vw}.hero-paper{padding:19px 5vw 24px}.paper-index{font-size:10px}.paper-index span:last-child{font-size:9px}}
