500;600&family=Manrope:wght@400;500;600&display=swap');
*{box-sizing:border-box}html{background:#0b100e;color:#eee9dc}body{margin:0;font-family:Manrope,Arial,sans-serif;font-size:16px}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid #d3b579;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400}button{border:1px solid #9e875a;background:#bfa16b;color:#141a15;padding:14px 24px}input,select{border:1px solid #495044;background:#101713;color:#eee9dc;padding:14px;width:100%;border-radius:0}label{display:block;font-size:14px;margin-bottom:8px}.eyebrow{font-size:12px;letter-spacing:.25em;text-transform:uppercase;color:#c5ac79}.gate{min-height:100svh;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;background:radial-gradient(ellipse at 25% 30%,#1b2920,#090d0b 70%)}.gate-copy{padding:70px clamp(28px,7vw,110px);display:flex;flex-direction:column;justify-content:center;position:relative;z-index:3}.crest{font-family:Georgia,serif;border:1px solid #82704d;width:62px;height:62px;display:grid;place-items:center;font-size:24px;margin-bottom:52px;transform:rotate(45deg)}.crest span{transform:rotate(-45deg)}.gate h1{font-size:clamp(54px,6vw,94px);line-height:.96;margin:20px 0 27px}.gate h1 em{color:#c5ac79;font-weight:400}.intro{line-height:1.8;color:#aeb6ab;max-width:340px}.gate form{max-width:370px;margin-top:35px}.gate form button{width:100%;margin-top:13px}.gate-foot{margin-top:30px;color:#929b8f;font-size:12px;letter-spacing:.12em}.error{color:#edb5a4;font-size:14px;line-height:1.6;margin:14px 0}.site{max-width:1280px;margin:auto;padding:0 64px 70px}.site header{display:flex;justify-content:space-between;align-items:center;padding:30px 0;border-bottom:1px solid #343d30}.brand{font-family:Georgia,serif;letter-spacing:.2em;font-size:17px}.quiet{background:transparent;border:0;color:#b7bcae;padding:9px;font-size:14px}.hero{display:grid;grid-template-columns:1.5fr 1fr;gap:60px;padding:70px 0 55px}.hero h1{font-size:clamp(54px,6.5vw,90px);line-height:1.02;margin:20px 0 25px}.hero h1 em{color:#c5ac79}.hero p{max-width:510px;color:#aeb6ab;line-height:1.8}.invitation{border:1px solid #48503e;padding:32px;align-self:center;background:#121b15}.invitation h2{font-size:32px;margin-bottom:27px}.facts{display:grid;gap:22px}.facts small{display:block;color:#9ea693;font-size:12px;letter-spacing:.15em;margin-bottom:6px}.facts p{color:#eee9dc;font-size:18px}.list-heading{display:flex;justify-content:space-between;align-items:end;border-top:1px solid #343d30;padding-top:32px;margin-bottom:26px}.list-heading h2{font-size:40px}.list-heading p{color:#9fa798;font-size:14px;margin-top:8px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:25px}.tabs button{background:transparent;color:#aeb6ab;border-color:#36422f;padding:12px 18px}.tabs button.active{background:#bfa16b;color:#0b100e;border-color:#bfa16b}.workbench{display:grid;grid-template-columns:1.3fr 1fr;gap:32px}.entries{border-top:1px solid #404937}.entry{padding:20px 0;border-bottom:1px solid #303c2c;display:flex;justify-content:space-between;align-items:center;gap:16px}.entry strong{font-weight:500}.entry p{color:#a5ae9c;font-size:14px;margin-top:7px;overflow-wrap:anywhere}.empty{padding:42px 26px;border:1px dashed #3c4832;color:#aeb6ab;line-height:1.8}.empty h3{color:#ded8c8;font-size:28px;margin-bottom:12px}.entry-form{padding:28px;background:#151f17;border:1px solid #3c4934}.entry-form h3{font-size:30px;margin-bottom:24px}.entry-form label{margin-top:18px}.entry-form button[type=submit]{width:100%;margin-top:24px}.note{font-size:12px;line-height:1.7;color:#a3af98;margin-top:16px}footer{border-top:1px solid #303c2c;margin-top:60px;padding-top:24px;display:flex;justify-content:space-between;color:#9da992;font-size:12px;letter-spacing:.12em}.notice{color:#c5ac79;font-size:14px;margin-bottom:16px}
@media(max-width:800px){.gate{grid-template-columns:1fr}.gate-copy{min-height:100svh;padding:45px 28px;background:linear-gradient(90deg,#0b100ef5,#0b100ebb)}.door-scene{position:absolute;inset:0;height:100svh}.door-scene:after{box-shadow:inset 0 0 100px #050807}.gate.unlocking .gate-copy,.gate.opening .gate-copy{opacity:0;transition:opacity .5s;pointer-events:none}.crest{margin-bottom:36px}.gate h1{font-size:clamp(50px,12vw,65px)}.site{padding:0 24px 40px}.hero{grid-template-columns:1fr;gap:30px;padding:42px 0}.hero h1{font-size:clamp(42px,10vw,59px)}.invitation{padding:25px}.facts{grid-template-columns:1fr 1fr}.facts div:last-child{grid-column:1/-1}.workbench{grid-template-columns:1fr}.list-heading{align-items:start;gap:16px}.list-heading h2{font-size:34px}.tabs button{padding:12px;font-size:14px}.entry-form{padding:23px}footer{gap:20px;line-height:1.7}.key{width:42%;left:12%}.entry{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

.maison-logo{display:flex;align-items:center;gap:15px;color:#c5ac79;flex-shrink:0}.maison-symbol{width:35px;height:44px}.maison-wordmark{font-family:'Cormorant Garamond',Georgia,serif;font-size:31px;line-height:1;letter-spacing:.025em;color:#eee9dc}.maison-wordmark span{font-style:italic;color:#c5ac79}.entrance-logo{margin-bottom:44px}.entrance-logo .maison-symbol{width:42px;height:54px}.entrance-logo .maison-wordmark{font-size:37px}
.maison-logo.wordmark-logo{display:inline-flex;flex-direction:column;align-items:center;gap:0;width:116px;color:#d3bc89}
.wordmark-maison{display:flex;align-items:center;gap:10px;width:100%;font-family:Manrope,Arial,sans-serif;font-size:10px;font-weight:500;line-height:1.5;letter-spacing:.24em;text-transform:uppercase;padding-left:.24em}
.wordmark-maison:before,.wordmark-maison:after{content:'';height:1px;flex:1;background:currentColor;opacity:.55}
.wordmark-jun{font-family:'Cormorant Garamond',Georgia,serif;font-size:58px;font-weight:500;line-height:.92;letter-spacing:-.025em;color:#eee9dc;padding-right:.025em}
.wordmark-logo.entrance-logo{width:146px;align-self:flex-start;margin-bottom:48px}
.entrance-logo .wordmark-maison{font-size:11px;gap:13px;letter-spacing:.3em}
.entrance-logo .wordmark-jun{font-size:74px}
.maison-logo.portal-logo{flex-direction:row;width:auto;gap:20px}
.wordmark-stack{display:flex;flex-direction:column;align-items:center;width:116px}
.portal-mark{width:44px;height:68px;flex-shrink:0}
.portal-logo.entrance-logo{width:auto;gap:24px}
.entrance-logo .wordmark-stack{width:146px}
.entrance-logo .portal-mark{width:52px;height:80px}
.entry-form .companion-option{display:flex;align-items:center;gap:12px;line-height:1.5;margin-top:24px;cursor:pointer}
.companion-option input{width:18px;height:18px;flex-shrink:0;margin:0;accent-color:#bfa16b}
.companion-fields{padding:0 0 18px 30px;border-bottom:1px solid #3c4934}
.entry .companion-summary{color:#d3bc89}


.door-scene.real-3d{position:relative;min-height:100svh;overflow:hidden;perspective:1400px;background:#080b09;isolation:isolate}
.real-3d .door-8k{position:absolute;object-fit:contain;max-width:none;will-change:transform;backface-visibility:hidden;image-rendering:auto}
.key-webgl{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}
.scene-vignette{position:absolute;inset:0;z-index:3;pointer-events:none;background:radial-gradient(ellipse at center,transparent 47%,#080b0925 75%,#080b0970)}
.gate:is(.establishing,.flying,.inserting,.turning,.opening){position:fixed;inset:0;z-index:20;min-height:0;grid-template-columns:1fr 1fr;background:transparent}
.gate:is(.establishing,.flying,.inserting,.turning,.opening) .gate-copy{background:radial-gradient(ellipse at 25% 30%,#1b2920,#090d0b 70%)}
.gate:is(.establishing,.flying,.inserting,.turning,.opening) .gate-copy form{opacity:.25;pointer-events:none}
.gate:is(.establishing,.flying,.inserting,.turning,.opening) .door-scene{position:relative;inset:auto;width:100%;height:100%;min-height:0;overflow:hidden}
.gate.opening{animation:entrance-reveal 2.4s ease-in both}
@keyframes entrance-reveal{0%,60%{opacity:1}100%{opacity:0}}
.door-scene.real-3d.opening{background:radial-gradient(ellipse at center,#fff9e7,#eac78f 80%)}
.arrival-light{position:fixed;inset:0;z-index:30;overflow:hidden;pointer-events:none;isolation:isolate;animation:none}
.light-bloom{position:absolute;inset:-25%;background:radial-gradient(ellipse at 67% 50%,#fffdf3 0%,#fff6dd 30%,#f1d2a3 56%,transparent 73%);transform-origin:67% 50%;animation:light-spread 9s cubic-bezier(.22,.61,.36,1) both;filter:blur(18px)}
.fog-flow{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;filter:blur(8px)}
.site.arrival-mist{animation:invitation-emerges 6.6s ease-out both}
@keyframes light-spread{0%{transform:scale(.025);opacity:0}8%{opacity:.65}30%{transform:scale(1.6);opacity:1}45%{transform:scale(1.9);opacity:.25}64%,100%{transform:scale(2.3);opacity:0}}

@keyframes invitation-emerges{0%{opacity:.75;filter:blur(1px)}38%,100%{opacity:1;filter:blur(0)}}
.party-schedule{margin-top:60px;padding-top:36px;border-top:1px solid #343d30}
.party-schedule h2{font-size:42px;margin:10px 0 26px}
.party-schedule ol{list-style:none;padding:0;margin:0}
.party-schedule li{display:grid;grid-template-columns:150px 1fr;gap:28px;padding:24px 0;border-bottom:1px solid #303c2c}
.party-schedule time{color:#c5ac79;font-size:16px;padding-top:6px;font-variant-numeric:tabular-nums}
.party-schedule h3{font-size:30px;line-height:1.2}
.party-schedule li p{margin-top:8px;color:#aeb6ab;font-size:16px;line-height:1.7}
@media(max-width:600px){.party-schedule li{grid-template-columns:100px 1fr;gap:16px}.party-schedule h3{font-size:26px}.party-schedule time{font-size:14px}}
@media(max-width:800px){.gate,.gate:is(.establishing,.flying,.inserting,.turning,.opening){grid-template-columns:1fr;grid-template-rows:auto min(75svh,700px);overflow-y:auto}.gate-copy{min-height:0;padding:40px 28px}.gate .door-scene.real-3d,.gate:is(.establishing,.flying,.inserting,.turning,.opening) .door-scene.real-3d{position:relative;inset:auto;min-height:0;height:100%;border:0}.maison-logo{gap:10px}.maison-wordmark{font-size:28px}.maison-symbol{width:29px;height:38px}.site header{gap:15px}.site header .quiet{font-size:12px;padding-right:0}}

.scroll-launcher{position:fixed;right:1%;top:25%;z-index:10;width:134px;padding:0;border:0;background:transparent;color:#d3bc89;text-align:center;filter:drop-shadow(0 5px 14px #0009);animation:scroll-beckon 11s ease-in-out infinite}
.scroll-launcher .papyrus-canvas{display:block;width:100%;height:188px;pointer-events:none}
.scroll-launcher span{display:block;font-size:12px;line-height:1.5;letter-spacing:.05em;text-shadow:0 2px 5px #000}
.scroll-launcher:hover{animation-play-state:paused;color:#fff0ce}
@keyframes scroll-beckon{0%,70%,100%{transform:translateX(0) rotate(0)}77%{transform:translateX(-10px) rotate(-11deg)}84%{transform:translateX(-5px) rotate(-5deg)}90%{transform:translateX(-8px) rotate(-8deg)}}
.story-dialog{position:fixed;inset:0;width:100%;height:100%;max-width:100%;max-height:100%;margin:0;padding:0;border:0;overflow:hidden;background:#0b100edb;color:#32251c;isolation:isolate}
.story-dialog::backdrop{background:#070c0ad9;backdrop-filter:blur(13px)}
.story-fog{position:absolute;inset:0;z-index:-1;opacity:.65;pointer-events:none}
.story-fog .fog-flow{filter:blur(14px)}
.story-close{position:absolute;right:3%;top:2%;z-index:5;border:0;background:#101713c9;color:#e7d7b6;font-size:14px;padding:10px 16px}
.story-close span{margin-left:12px;font-size:22px;vertical-align:middle}
.scroll-stage{position:absolute;left:5%;top:4%;width:90%;height:92%;filter:drop-shadow(0 22px 35px #0009)}
.scroll-stage>.papyrus-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.story-reading{position:absolute;inset:14% 12%;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#735535 transparent;opacity:0;transform:translateY(8px);transition:opacity .85s ease,transform 1.1s ease;pointer-events:none}
.story-dialog.readable .story-reading{opacity:1;transform:translateY(0);pointer-events:auto}
.maison-story{width:92%;max-width:900px;margin:0 auto;padding:1% 0 6%;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(20px,1.6vw,26px);font-weight:500;line-height:1.55;color:#32251c}
.maison-story h2{font-size:clamp(34px,4vw,58px);line-height:1.05;text-align:center;margin:12px 0 26px;color:#352319}
.maison-story p{margin-bottom:22px}
.maison-story .story-kicker{font-family:Manrope,Arial,sans-serif;text-transform:uppercase;letter-spacing:.18em;font-size:12px;color:#6d4d2b;text-align:center;margin-bottom:14px}
.story-prologue{text-align:center;border-bottom:1px solid #72573755;padding-bottom:24px;margin-bottom:28px!important}
.story-key{padding:16px 0;border-top:1px solid #72573755;border-bottom:1px solid #72573755;text-align:center}
.story-dialog.rolling{animation:story-dismiss .4s 1.7s ease both}
@keyframes story-dismiss{to{opacity:0}}
@media(max-width:800px){.scroll-launcher{top:22%;bottom:auto;right:0;width:88px}.scroll-launcher .papyrus-canvas{height:132px}.scroll-launcher span{font-size:11px}.scroll-stage{left:1%;width:98%;top:5%;height:90%}.story-reading{inset:14% 9%}.maison-story{width:92%;font-size:21px}.story-close{top:1%;right:2%}}
@media(prefers-reduced-motion:reduce){.scroll-launcher{animation:none}.story-dialog.rolling{animation-duration:.01ms;animation-delay:0ms}}
@media(max-width:500px){.hero>div>h1{padding-right:64px}}
.letter-launcher{width:150px;animation:letter-flight 9s ease-in-out infinite}
.letter-launcher .letter-canvas{display:block;width:100%;height:135px;pointer-events:none}
.scroll-stage>.letter-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
@keyframes letter-flight{0%,100%{transform:translate(0,0) rotate(0)}25%{transform:translate(-8px,-10px) rotate(-5deg)}55%{transform:translate(-3px,5px) rotate(3deg)}78%{transform:translate(-12px,-4px) rotate(-3deg)}}
@media(max-width:800px){.letter-launcher{width:90px}.letter-launcher .letter-canvas{height:98px}}
@media(prefers-reduced-motion:reduce){.letter-launcher{animation:none}}

[hidden]{display:none!important}.entrance-actions{max-width:370px;margin-top:35px;display:grid;gap:10px}.static-invitation{border-top:1px solid #343d30;padding:32px 0}.static-invitation h2{font-size:40px;margin:10px 0 16px}.static-invitation>p:not(.eyebrow){max-width:650px;line-height:1.8;color:#aeb6ab}.static-invitation button{margin-top:24px}.door-8k{width:100%;height:100%;object-fit:cover!important}.story-dialog.fallback .story-reading{background:#e5d0a7;padding:24px;inset:10% 8%;opacity:1;pointer-events:auto}.story-dialog.fallback .letter-canvas{display:none}.story-dialog.readable .story-reading:focus-visible{outline:2px solid #735535}.letter-launcher span{background:#101713c9;padding:6px}.gate:has(#skip:not([hidden])) .entrance-actions{position:relative;z-index:50}body:has(.story-dialog[open]){overflow:hidden}
