.header{z-index:10;height:var(--header-h);padding:0 var(--inset-header);-webkit-backdrop-filter:blur(10px);color:var(--text-nav);font-size:var(--fs-ui);background:#ffffff73;justify-content:space-between;align-items:center;display:flex;position:fixed;inset:0 0 auto}.header__brand{font-family:var(--font-serif);font-weight:700;font-size:calc(var(--fs-ui) * 1.18);letter-spacing:.1em;color:var(--text);white-space:nowrap;text-decoration:none}.header__nav,.header__toggle,.header__panel a{font-family:var(--font-sans)}.header__nav{align-items:center;gap:1.6vw;display:flex}.header__nav a,.header__panel a{color:inherit;letter-spacing:.02em;text-decoration:none}.header__nav a:hover,.header__nav a:focus-visible,.header__panel a:hover,.header__panel a:focus-visible{text-underline-offset:.4em;text-decoration:underline}.header__cta{border:1px solid var(--accent);border-radius:var(--radius-button,8px);letter-spacing:.08em;min-height:44px;color:var(--text-nav);white-space:nowrap;align-items:center;padding:0 1.3em;text-decoration:none;display:inline-flex}.header__nav .header__cta:hover,.header__cta:hover{background:var(--accent);color:var(--sumi);text-decoration:none}.header__compact{align-items:center;gap:14px;display:flex}.header__toggle{font:inherit;color:inherit;cursor:pointer;letter-spacing:.08em;background:0 0;border:0;align-items:center;gap:.7em;min-height:44px;padding:.4em 0;display:inline-flex}.header__toggle-label{font-size:.94em}.header__bars{gap:5px;width:20px;display:grid}.header__bars span{background:currentColor;height:1px;transition:transform .22s,opacity .22s;display:block}.header__bars.is-open span:first-child{transform:translateY(3px)rotate(12deg)}.header__bars.is-open span:last-child{transform:translateY(-3px)rotate(-12deg)}.header__panel{inset:var(--header-h) 0 auto 0;background:var(--bg-ivory,#f4f0e8);border-bottom:1px solid var(--line);opacity:0;transition:opacity .24s;position:fixed;box-shadow:0 18px 40px -28px #15151573}.header__panel.is-open{opacity:1}.header__panel nav{padding:1.2vh var(--inset-header) 3vh;display:grid}.header__panel a{border-bottom:1px solid var(--line);font-size:var(--fs-body);color:var(--text);padding:2.1vh 0}.header__panel a:last-child{border-bottom:0}.is-menu-open,.is-menu-open body{overflow:hidden}@media (prefers-reduced-motion:reduce){.header__panel,.header__bars span{transition:none}}.ambient-video{object-fit:cover;object-position:center;background:var(--video-bg);width:100%;height:100%;display:block;position:absolute;inset:0}.threshold{height:100svh;min-height:560px;color:var(--text);position:relative;overflow:hidden}.threshold__media{will-change:transform;position:absolute;inset:-12% 0 0}.threshold__scrim{pointer-events:none;background:var(--scrim,linear-gradient(100deg, #f4f0e8f0 0%, #f4f0e8db 28%, #f4f0e857 52%, #f4f0e800 68%));position:absolute;inset:0}.threshold__copy{left:var(--inset);top:calc(var(--header-h) + 5vh);will-change:transform, opacity;max-width:62vw;position:absolute}.threshold__title{font-size:var(--fs-hero);letter-spacing:.02em;word-break:keep-all;line-break:strict;margin:3.2vh 0 0;line-height:1.18}.threshold__seal{transform-origin:0;filter:drop-shadow(0 6px 14px #ff2a1a2e);width:fit-content;margin:3vh 0 0;transform:rotate(-4deg)}.threshold__seal-face{background:var(--accent);color:var(--kinari,#f4f0e8);border-radius:2px;flex-direction:row-reverse;align-items:stretch;gap:.1em;padding:.42em .34em .36em;display:flex;box-shadow:inset 0 0 0 1.5px #f4f0e89e}.threshold__seal-col{font-family:var(--font-accent,var(--font-serif));letter-spacing:.06em;writing-mode:vertical-rl;text-orientation:upright;font-feature-settings:"vpal" 1;padding:.14em .06em;font-size:clamp(19px,1.85vw,34px);line-height:1.12}.threshold__lead{font-size:var(--fs-body);color:var(--text-body);word-break:normal;line-break:strict;max-width:34vw;margin:4.2vh 0 0;line-height:2}.line{display:block}.threshold__hint{right:var(--inset);color:var(--text-on-video);font-size:var(--fs-label);align-items:center;gap:1.2vw;display:flex;position:absolute;bottom:6.7vh}.threshold__hint-text{letter-spacing:.04em;margin:0}.threshold__cta{color:inherit;letter-spacing:.06em;border:1px solid #ffffffb3;padding:1.3vh 1.4vw;text-decoration:none;transition:background-color .4s}.threshold__cta:hover,.threshold__cta:focus-visible{background:#ffffff24}.threshold__scroll{right:calc(var(--inset-header) - .4vw);color:#ffffffd9;flex-direction:column;align-items:center;gap:1.2vh;display:flex;position:absolute;bottom:2.5vh}.threshold__scroll-line{background:#ffffffb3;width:1px;height:7.5vh}.threshold__scroll-text{writing-mode:vertical-rl;font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.22em;text-transform:uppercase}@media (width<=899px){.threshold__copy{max-width:82vw}.threshold__lead{max-width:100%}.threshold__hint{left:var(--inset);flex-direction:column;align-items:flex-start;gap:12px;bottom:5vh;right:auto}.threshold__scroll{display:none}.threshold__scrim{background:var(--scrim-narrow,linear-gradient(180deg, #f4f0e8f2 0%, #f4f0e8e0 44%, #f4f0e833 72%, #f4f0e800 88%))}}.room{padding:var(--room-pad-y) var(--inset) var(--room-pad-bottom);color:var(--text);position:relative}.room--ivory{background:var(--bg-ivory)}.room--mint{background:var(--bg-mint)}.room--blush{background:var(--bg-blush)}.room__grid{column-gap:var(--grid-gap);grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;display:grid}.room__text{grid-column:1/7}.room__title{font-size:var(--fs-display);letter-spacing:.06em;margin:2.5vh 0 0;line-height:1.1}.room__sub{font-family:var(--font-serif);font-size:var(--fs-sub);letter-spacing:.06em;margin:3.6vh 0 0;line-height:1.8}.room__body{font-size:var(--fs-body);color:var(--text-body);max-width:30vw;margin:2.8vh 0 0;line-height:2}.room__index{padding:0;padding-top:calc(var(--fs-display) * 1.15 + 3vh);grid-column:8/13;margin:0;list-style:none}.room__index li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;padding:2.1vh 0;display:flex}.room__index li:first-child{border-top:1px solid var(--line)}.room__index-no{font-family:var(--font-mono);font-size:var(--fs-label);color:var(--text-muted);letter-spacing:.1em}.room__index-label{font-size:var(--fs-body);color:var(--text-label);text-decoration:none}.cards{gap:var(--card-gap);margin-top:9vh;display:grid}.cards--2{grid-template-columns:1fr 1fr}.cards--7-3{grid-template-columns:7fr 3fr}.cards--joined{border:1px solid var(--line);background:var(--surface-card);grid-template-columns:repeat(3,1fr);gap:0}.card{min-height:35vh;padding:3.6vh var(--card-pad) 4.6vh;border:1px solid var(--line);background:var(--surface-card);box-shadow:none;border-radius:0;flex-direction:column;display:flex}.cards--7-3 .card{min-height:41vh}.cards--joined .card{background:0 0;border:0;min-height:31vh}.cards--joined .card+.card{border-left:1px solid var(--line)}.card--blush{background:linear-gradient(#f6e9e08c 0%,#f0c4b68c 100%)}.card__main{margin-top:clamp(28px,8vh,92px)}.card__title{font-family:var(--font-serif);font-weight:400;font-size:var(--fs-card-title);letter-spacing:.04em;margin:0;line-height:1.3}.card__meta{font-family:var(--font-mono);font-size:var(--fs-label);color:var(--text-label);letter-spacing:.06em;margin:1.2vh 0 0}.card__body{font-size:var(--fs-card-body);color:var(--text-body);margin:2vh 0 0;line-height:1.9}.card__link{align-self:flex-start;margin-top:auto;padding-top:4vh}.room__outer-link{margin:5.6vh 0 0}@media (width<=899px){.room__text{grid-column:1/-1}.room__body{max-width:100%}.room__index{grid-column:1/-1;padding-top:6vh}.cards--2,.cards--7-3,.cards--joined{grid-template-columns:1fr}.cards--joined .card+.card{border-left:0;border-top:1px solid var(--line)}.card,.cards--7-3 .card,.cards--joined .card{min-height:0;padding:28px var(--card-pad) 30px}.card__main{margin-top:28px}.card__link{padding-top:28px}}.editlist{border-top:1px solid var(--line);margin:8vh 0 0;padding:0;list-style:none}.editlist__row{column-gap:var(--grid-gap);border-bottom:1px solid var(--line);grid-template-columns:3.4rem minmax(0,1fr) minmax(0,2.15fr);align-items:start;padding:4.6vh 0;display:grid}.editlist__no{font-family:var(--font-latin);font-size:var(--fs-label);letter-spacing:.14em;color:var(--accent);font-weight:500;line-height:2.2}.editlist__title{font-family:var(--font-serif);font-weight:700;font-size:var(--fs-card-title);letter-spacing:.02em;word-break:keep-all;line-break:strict;text-wrap:balance;margin:0;line-height:1.5}.editlist__body{font-size:var(--fs-card-body);color:var(--text-body);word-break:normal;line-break:strict;max-width:52ch;margin:.4em 0 0;line-height:2.05}.editlist__note{font-family:var(--font-sans);font-size:var(--fs-label);letter-spacing:.08em;color:var(--text-label);grid-column:3;margin:1.2vh 0 0}.facts{border-top:1px solid var(--line);max-width:88ch;margin:8vh 0 0}.facts__row{column-gap:calc(var(--grid-gap) * 1.6);border-bottom:1px solid var(--line);grid-template-columns:11rem minmax(0,1fr);align-items:baseline;padding:3vh 0;display:grid}.facts__term{font-size:var(--fs-label);letter-spacing:.14em;color:var(--text-label)}.facts__value{font-size:var(--fs-body);color:var(--text);margin:0;line-height:1.9}.facts__note{font-size:var(--fs-card-body);color:var(--text-body);margin-top:.5em;display:block}.form{column-gap:calc(var(--grid-gap) * 2.2);grid-template-columns:minmax(0,.85fr) minmax(0,2fr);align-items:start;margin:8vh 0 0;display:grid}.form__notice{border-top:2px solid var(--accent);padding-top:2.4vh}.form__notice-title{font-family:var(--font-serif);font-weight:700;font-size:var(--fs-card-title);letter-spacing:.02em;word-break:keep-all;line-break:strict;text-wrap:balance;margin:0;line-height:1.55}.form__notice-body{font-size:var(--fs-card-body);color:var(--text-body);word-break:normal;line-break:strict;margin:1.6vh 0 2.4vh;line-height:2}.form__fields{column-gap:var(--grid-gap);grid-template-columns:1fr 1fr;row-gap:3.4vh;display:grid}.field{gap:1.1vh;margin:0;display:grid}.field--full{grid-column:1/-1}.field--half{grid-column:span 1}.field__label{font-size:var(--fs-label);letter-spacing:.14em;color:var(--text-label);align-items:center;gap:.9em;display:flex}.field__opt{letter-spacing:.1em;color:var(--text-label);font-size:.86em}.field input,.field select,.field textarea{width:100%;font-family:var(--font-sans);font-size:var(--fs-body);color:var(--text);border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;padding:1.2vh 0;line-height:1.8;transition:border-color .2s}.field textarea{resize:vertical;min-height:12vh}.field select{appearance:none;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:right .7em center,right .35em center;background-repeat:no-repeat;background-size:.36em .36em,.36em .36em;padding-right:2em}.field input:focus,.field select:focus,.field textarea:focus{border-bottom-color:var(--accent);outline:none}:is(.field input:user-invalid,.field select:user-invalid,.field textarea:user-invalid){border-bottom-color:var(--accent)}.field--consent{grid-column:1/-1}.field--consent label{font-size:var(--fs-card-body);color:var(--text-body);align-items:flex-start;gap:.9em;line-height:1.9;display:flex}.field--consent input{width:1.05em;height:1.05em;accent-color:var(--accent);flex:none;margin-top:.45em}.link--inline{margin-left:.4em}.form__actions{grid-column:1/-1;margin:1.4vh 0 0}.btn{font-family:var(--font-sans);font-size:var(--fs-ui);letter-spacing:.16em;color:var(--text-on-video);background:var(--accent);border-radius:var(--radius-button,8px);cursor:pointer;border:0;padding:1.7vh 3.2vw;transition:opacity .2s}.btn:hover{opacity:.86}.btn:disabled{opacity:.5;cursor:default}.form__msg{font-size:var(--fs-card-body);color:var(--text-body);grid-column:1/-1;margin:0;line-height:1.9}.form__msg--error{color:var(--text);border-left:3px solid var(--accent);padding-left:.8em}.form--done{border-top:2px solid var(--accent);max-width:56ch;padding-top:3vh;display:block}.form__done-title{font-family:var(--font-serif);font-weight:700;font-size:var(--fs-sub);letter-spacing:.05em;margin:0}.form__done-body{font-size:var(--fs-body);color:var(--text-body);margin:2vh 0 0;line-height:2}@media (width<=899px){.editlist__row{grid-template-columns:3rem minmax(0,1fr);row-gap:1.6vh;padding:3.6vh 0}.editlist__main{grid-column:2}.editlist__note{grid-column:auto}.facts__row{grid-template-columns:1fr;row-gap:.8vh}.form{grid-template-columns:1fr;row-gap:5vh}.form__fields{grid-template-columns:1fr}.field--half{grid-column:1/-1}.btn{width:100%;padding:2vh 0}}.room__title,.room__sub,.card__title,.form__done-title{word-break:keep-all;line-break:strict;text-wrap:balance}.room__body,.card__body,.facts__value,.facts__note{word-break:normal;line-break:strict}:is(.facts__value:only-child,.facts__row:has(.facts__value:not(:has(.facts__note))) .facts__value){color:var(--text)}.statement{border-top:2px solid var(--accent);max-width:46vw;margin:7vh 0 0;padding-top:3vh}.statement__label{margin:0 0 1.8vh}.statement__lines{font-family:var(--font-serif);font-weight:700;font-size:var(--fs-sub);letter-spacing:.03em;word-break:keep-all;line-break:strict;text-wrap:balance;margin:0;line-height:1.62}.statement__lines .line{display:block}.statement__note{font-size:var(--fs-card-body);color:var(--text-body);word-break:normal;margin:2.4vh 0 0;line-height:2}.figure{max-width:74vw;margin:8vh 0 0}.figure__plate img{width:100%;height:auto;display:block}.figure__hint{display:none}.figure figcaption{font-size:var(--fs-label);letter-spacing:.1em;color:var(--text-label);margin-top:2.2vh;line-height:1.9}.editlist__head{gap:.9vh;display:grid}.editlist__tag{font-family:"Bricolage Grotesque", var(--font-sans);font-size:var(--fs-label);letter-spacing:.12em;color:var(--sumi);background:var(--wakamidori);border-radius:4px;width:fit-content;margin:0;padding:.3em .75em}.editlist__main{gap:1.4vh;display:grid}.editlist__link{margin:.6vh 0 0}.facts__link{margin-top:.8em;display:inline-block}@media (width<=899px){.statement{max-width:100%}.figure{max-width:none}.figure__plate{overscroll-behavior-x:contain;scrollbar-width:none;width:100vw;margin-left:50%;overflow-x:auto;transform:translate(-50%);-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 40px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 40px),#0000)}.figure__plate::-webkit-scrollbar{display:none}.figure__plate img{min-width:880px}.figure__hint{color:var(--text-label);margin-top:.8em;display:block}}.corridor{background:var(--video-bg);position:relative}.corridor__stage{height:100svh;min-height:480px;position:sticky;top:0;overflow:hidden}.corridor__stage-inner{will-change:transform;position:absolute;inset:0}.corridor__layer{will-change:opacity;position:absolute;inset:0}.corridor__copy{color:var(--text-on-video);font-family:var(--font-serif);font-size:var(--fs-quote);letter-spacing:.06em;text-shadow:0 0 40px #1428462e;will-change:transform, opacity;margin:0;line-height:1.65;position:absolute}.corridor__copy--left{left:var(--inset);bottom:17vh}.corridor__copy--right{bottom:15vh;right:10vw}@media (width<=899px){.corridor__stage{min-height:0}.corridor__copy--left,.corridor__copy--right{left:var(--inset);right:var(--inset);bottom:12vh}}.corridor__veil{z-index:2;will-change:opacity;place-items:center;display:grid;position:absolute;inset:0}.corridor__veil-mark{color:var(--kinari,#f4f0e8);will-change:opacity;justify-items:center;gap:3.2vh;display:grid}.corridor__fan{width:clamp(140px,22vw,320px);height:auto;display:block}.corridor__veil-caption{font-family:var(--font-serif);font-size:var(--fs-sub);letter-spacing:.18em;margin:0;font-weight:400;line-height:1}.footer{z-index:1;background:var(--sumi);color:var(--bg-ivory);padding:9vh var(--inset) 7vh;position:relative}.footer__inner{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:4vh 6vw;display:flex}.footer__brand{font-family:var(--font-serif);font-weight:700;font-size:var(--fs-body);letter-spacing:.08em;margin:0}.footer__line{font-size:var(--fs-label);letter-spacing:.06em;opacity:.62;margin:1.2vh 0 0;line-height:1.9}.footer__nav{flex-wrap:wrap;gap:1.6vh 2.4vw;display:flex}.footer__nav a{color:inherit;font-size:var(--fs-ui);letter-spacing:.1em;border-bottom:1px solid #f4f0e857;padding-bottom:.4em;text-decoration:none;transition:border-color .2s}.footer__nav a:hover,.footer__nav a:focus-visible{border-bottom-color:var(--bg-ivory)}.footer__copyright{font-family:var(--font-latin);font-size:var(--fs-label);letter-spacing:.14em;opacity:.55;margin:8vh 0 0}@media (width<=899px){.footer{padding:7vh var(--inset) 6vh}.footer__inner{flex-direction:column;gap:3.2vh}.footer__copyright{margin-top:5vh}}@media (prefers-reduced-motion:reduce){.footer__nav a{transition:none}}
