:root{--ink:#111;--paper:#f2f1ed;--muted:#a8a8a2;--blue:#1647ff;--brown:#74533d;--tea:#b69163;--green:#465848;--safe:calc(64px + env(safe-area-inset-bottom))}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Arial Narrow","Helvetica Neue",Arial,"PingFang SC",sans-serif;font-weight:500}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.topbar{position:fixed;z-index:20;top:0;left:0;width:100%;height:58px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;color:#f4f4f0;mix-blend-mode:difference}.wordmark,.soundless-menu{font-size:11px;letter-spacing:.12em}.soundless-menu{border:0;background:transparent;color:inherit;padding:10px 0}.menu{display:none;position:fixed;inset:58px 0 auto;background:rgba(17,17,17,.96);padding:20px 18px;color:#f4f4f0}.menu.open{display:grid}.menu a{padding:12px 0;border-bottom:1px solid #444}.cover{min-height:100dvh;position:relative;overflow:hidden;background:var(--ink);color:#f4f4f0;padding:64px 18px 28px}.cover-art{position:absolute;inset:0 0 0 34%;filter:grayscale(100%);opacity:.88}.cover-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--ink),transparent 48%)}.cover h1{position:absolute;z-index:2;left:14px;bottom:30px;margin:0;font-size:clamp(104px,33vw,184px);line-height:.72;letter-spacing:-.105em;font-weight:800}.cover h1 span{display:block}.cover h1 small{display:block;margin:30px 0 0 4px;font-size:22px;line-height:.85;letter-spacing:-.07em}.cover-meta{position:absolute;z-index:2;right:18px;top:70px;text-align:right;font-size:11px;line-height:1.35;letter-spacing:.1em}.manifesto{min-height:100dvh;background:var(--ink);color:#f4f4f0;padding:18vh 18px 22vh;display:flex;flex-direction:column;justify-content:space-between}.leave{font-size:clamp(112px,36vw,210px);line-height:.8;letter-spacing:-.1em;font-weight:800}.leave span{color:var(--blue)}.manifesto p{max-width:360px;font-size:18px;line-height:1.55}.section{padding:112px 18px}.section-head p,.rehe-title>p,.place-copy>p,.after-copy>p{font-size:11px;letter-spacing:.14em;margin:0 0 22px}.section-head h2,.rehe-title h2,.place h2,.after-copy h2{font-size:clamp(62px,18vw,112px);line-height:.82;letter-spacing:-.075em;margin:0 0 70px}.work-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:34px 12px;align-items:start}.work-grid figure{margin:0}.work-grid figcaption{font-size:9px;letter-spacing:.1em;margin-top:8px}.work-a{grid-column:1/3}.work-a img{aspect-ratio:1.12}.work-b{margin-top:50px!important}.work-b img{aspect-ratio:.65}.work-c img{aspect-ratio:.72}.work-d{grid-column:1/3;margin:30px 12vw 0}.work-d img{aspect-ratio:.84}.work-e img,.work-f img{aspect-ratio:.7}.work-f{margin-top:76px!important}.work-note{font-size:24px;line-height:1.25;margin:100px 0 0 18vw;max-width:420px}.people{background:#171717;color:#eee}.people .section-head p{color:var(--blue)}.story{padding:36px 0 120px}.story-copy span{color:var(--blue);font-size:11px;letter-spacing:.12em}.story-copy h3{font-size:44px;line-height:.95;letter-spacing:-.055em;margin:18px 0 30px}.story-copy p{font-size:17px;line-height:1.55}.story-copy small{display:block;color:#888;font-size:11px;line-height:1.5;margin-top:24px}.chat{width:72%;margin:60px 0 14px auto}.chat img{aspect-ratio:.65;object-position:top}.result{width:70%;margin-left:4%}.result img{aspect-ratio:.65}.justice{padding-top:50px}.justice-image{width:84%;margin-left:auto}.justice-image img{aspect-ratio:.73}.justice .story-copy{margin:-42px 8% 0 0;position:relative;background:#171717;padding:26px 18px 0 0;width:88%}.rehe{display:grid;grid-template-columns:1fr}.rehe-title h2 em{color:var(--blue);font-style:normal}.missing-photo{min-height:66vh;background:repeating-linear-gradient(135deg,#d8d7d2 0,#d8d7d2 1px,transparent 1px,transparent 16px);display:grid;place-items:center;color:#777;text-align:center;font-size:10px;letter-spacing:.14em}.rehe-story{margin:70px 0 20px 17%;font-size:18px;line-height:1.6}.rehe-story p{margin:0 0 30px}.work-life{margin-top:80px;display:grid;grid-template-columns:1.2fr .8fr;gap:24px;font-size:14px;line-height:1.5}.work-life b{font-size:20px}.place{padding:0;background:#141612;color:#ece8df}.place-photo{min-height:72vh;background-color:#283329;background-image:repeating-linear-gradient(135deg,rgba(182,145,99,.22) 0,rgba(182,145,99,.22) 1px,transparent 1px,transparent 18px);color:#b9ab95}.place-copy{padding:84px 18px 120px}.place-copy>p:first-child{color:var(--tea)}.place-copy>p:last-child{font-size:18px;line-height:1.55;max-width:400px}.after-ink{min-height:100dvh;background:var(--green);color:#eee;position:relative;overflow:hidden;display:flex;align-items:flex-end}.after-seal{position:absolute;right:-3vw;top:5vh;color:rgba(182,145,99,.22);font-family:SimSun,serif;font-size:60vw;line-height:.8;writing-mode:vertical-rl}.after-copy{position:relative;z-index:2}.after-copy>p{color:#d2b58e}.after-copy h2{font-size:16vw}.after-copy>p:nth-of-type(2){font-size:16px;line-height:1.6;max-width:380px}.after-copy a{display:inline-block;margin-top:30px;padding-bottom:6px;border-bottom:1px solid currentColor}.booking{padding-bottom:calc(110px + env(safe-area-inset-bottom))}.booking-form label{display:block;font-size:12px;letter-spacing:.08em;margin-bottom:32px}.booking-form input,.booking-form textarea{display:block;width:100%;border:0;border-bottom:1px solid #777;background:transparent;border-radius:0;padding:14px 0;font-size:18px;outline:none}.booking-form input:focus,.booking-form textarea:focus{border-color:var(--blue)}.booking-form textarea{height:120px;resize:vertical}.booking-form input[type=file]{position:absolute;opacity:0;pointer-events:none}.booking-form label>span{display:inline-block;margin-top:12px;padding:12px 18px;border:1px solid var(--ink)}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.check{display:flex!important;align-items:center;gap:10px;letter-spacing:0!important}.check input{width:20px!important;height:20px}.check span{margin:0!important;padding:0!important;border:0!important}.deposit{font-size:12px;line-height:1.5;color:#555;margin:42px 0}.booking-form>button,.booking-result button{width:100%;border:0;background:var(--blue);color:white;padding:18px;font-size:14px;letter-spacing:.08em}.booking-result{background:#dddcd7;padding:24px;margin-top:24px}.booking-result textarea{width:100%;height:190px;background:transparent;border:0;line-height:1.6;margin:12px 0}.booking footer{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:140px;font-size:12px;line-height:1.4}.bottom-cta{position:fixed;z-index:30;left:0;bottom:0;width:100%;height:var(--safe);display:grid;grid-template-columns:1fr 1fr;padding-bottom:env(safe-area-inset-bottom);background:var(--paper);border-top:1px solid #777}.bottom-cta a,.bottom-cta button{display:grid;place-items:center;border:0;background:transparent;color:var(--ink);font-size:12px;letter-spacing:.12em}.bottom-cta button{background:var(--blue);color:white}dialog{width:calc(100% - 36px);max-width:420px;border:0;padding:28px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:rgba(0,0,0,.8)}dialog .close{float:right;border:0;background:transparent;font-size:10px}.qr-placeholder{aspect-ratio:1;display:grid;place-items:center;background:#dddcd7;margin:30px auto;width:70%;text-align:center;font-size:11px;letter-spacing:.1em}.toast{position:fixed;z-index:60;left:50%;bottom:90px;transform:translate(-50%,20px);background:#111;color:#fff;padding:12px 18px;opacity:0;transition:.3s;pointer-events:none;font-size:12px}.toast.show{opacity:1;transform:translate(-50%,0)}.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}.reveal.visible{opacity:1;transform:none}@media(min-width:760px){.section{padding-left:7vw;padding-right:7vw}.work-grid{grid-template-columns:repeat(12,1fr);gap:40px 22px}.work-a{grid-column:1/8}.work-b{grid-column:9/13}.work-c{grid-column:2/6}.work-d{grid-column:7/12;margin:0!important}.work-e{grid-column:1/5}.work-f{grid-column:7/11}.story{display:grid;grid-template-columns:repeat(12,1fr);align-items:center}.anxiety .story-copy{grid-column:1/6}.chat{grid-column:7/10;width:100%;margin:0}.result{grid-column:10/13;width:100%;margin:80px 0 0}.justice-image{grid-column:1/8;width:100%}.justice .story-copy{grid-column:8/13;width:auto;margin:0;padding:40px}.rehe{grid-template-columns:1fr 1fr;gap:7vw}.rehe-title{grid-column:1/3}.rehe-photo{grid-column:1}.rehe-story{grid-column:2;margin:10vh 0 0}.work-life{grid-column:1/3}.place{display:grid;grid-template-columns:1.4fr .6fr;align-items:center}.place-copy{padding:7vw}.after-copy h2{font-size:8vw}.booking-form,.booking-result{max-width:700px;margin-left:auto;margin-right:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
html,body{overflow-x:hidden}
.rehe-photo{min-height:66vh;overflow:hidden}.rehe-photo img{min-height:66vh;object-position:52% center}.place-gallery{position:relative;display:grid;grid-template-columns:1.18fr .82fr;grid-template-rows:58vh 36vh;gap:8px;padding:8px;background:#141612}.place-gallery .place-main{grid-column:1/3;grid-row:1;object-position:center}.place-gallery .place-detail{grid-column:1;grid-row:2}.place-gallery .place-studio{grid-column:2;grid-row:2}.qr-placeholder{overflow:hidden;background:#fff}.qr-placeholder img{object-fit:contain}@media(min-width:760px){.place-gallery{grid-template-columns:1.4fr .6fr;grid-template-rows:42vh 42vh}.place-gallery .place-main{grid-column:1;grid-row:1/3}.place-gallery .place-detail{grid-column:2;grid-row:1}.place-gallery .place-studio{grid-column:2;grid-row:2}}
.qr-placeholder{aspect-ratio:auto;width:82%}.qr-placeholder img{height:auto}

/* Live booking integration */
.booking-form input,.booking-form textarea,.booking-form select{display:block;width:100%;border:0;border-bottom:1px solid #777;background:transparent;border-radius:0;padding:14px 0;font-size:18px;outline:none;color:var(--ink)}
.booking-form input:focus,.booking-form textarea:focus,.booking-form select:focus{border-color:var(--blue)}
.reference-picker output{display:block;margin-top:10px;color:#666;font-size:11px;line-height:1.5;letter-spacing:0}
.consent{align-items:flex-start}.consent span{font-size:11px!important;line-height:1.6;color:#555}
.booking-error{min-height:20px;color:#b33129;font-size:12px;line-height:1.5}
.booking-form>button:disabled{opacity:.55;cursor:wait}
.booking-result{background:#dddcd7;padding:32px;margin-top:24px}
.booking-result h3{font-size:32px;line-height:1;letter-spacing:-.04em;margin:38px 0 18px}
.booking-result span{display:block;max-width:520px;color:#555;font-size:14px;line-height:1.7}
.booking-privacy{font-size:11px;line-height:1.65;color:#666;margin:10px 0 30px;max-width:520px}
@media(max-width:520px){.booking-form .form-pair{grid-template-columns:1fr;gap:0}.booking-form label{margin-bottom:28px}}
