/* A constant compact menu height: only its surface changes on scroll. */
:root{--header:64px}
html{scroll-padding-top:80px}
[data-concept=cinema] .header,[data-concept=cinema] .header.is-scrolled{height:64px;padding:0 4%;align-items:center;transition:none}
.header-panel,.header.is-scrolled .header-panel{min-height:64px}
.header>.wordmark,.header.is-scrolled>.wordmark{margin-top:0;font-size:35px}
.header>.wordmark small{display:none}
.header:before,.menu-light-wide{border-radius:0 0 24px 24px}
.cloud-shadow{background:linear-gradient(112deg,transparent 12%,#181e22b3 40%,#22282b99 55%,transparent 85%)}
.room-motion>img{filter:contrast(1.13)}
/* The contact scene is a single continuous zoom into the reflected room. */
.contact.contact-portal{display:block;padding:0;background:#f6f2e9;height:auto}
.contact-portal.portal-enhanced{height:290svh}
.contact-pin{position:sticky;top:var(--header);height:calc(100svh - var(--header));min-height:510px;overflow:hidden;isolation:isolate;background:#ede6d7}
.contact-room{position:absolute;inset:0;will-change:transform,opacity;background:#d6d5cb}
.contact-room img{position:absolute;right:0;top:0;width:65%;height:100%;object-fit:contain;object-position:50% 50%;max-width:none}
.contact-veil{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 45%,#fffaf0,#f6f2e9 70%);opacity:0;pointer-events:none}
.contact-intro{position:absolute;inset:0;padding:7%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;color:#33382e;background:linear-gradient(90deg,#d6d5cb 28%,#d6d5cb00 52%)}
.contact-intro h2{font-size:clamp(50px,5.6vw,90px);line-height:.98;letter-spacing:-.04em}
.contact-intro h2 em{color:#66563f}
.portal-enter{margin-top:35px;display:flex;justify-content:space-between;gap:50px;align-items:center;min-height:48px;padding:12px 0;border-bottom:1px solid #5c594b88;font-size:12px}
.portal-enter span:last-child{font-size:22px}
.portal-scroll{position:absolute;bottom:36px;left:7%;font-size:11px;letter-spacing:.04em}
.contact-intro small{position:absolute;bottom:36px;right:5%;font-size:8px;color:#5b574b}
.contact-form-panel{position:absolute;inset:0;z-index:3;display:grid;place-items:center;overflow:auto;padding:28px 24px;background:radial-gradient(ellipse at 50% 30%,#fffaf1,#eee8db)}
.portal-enhanced .contact-form-panel{opacity:0;visibility:hidden}
.portal-enhanced .contact-form-panel.is-visible{visibility:visible}
.contact-form-inner{width:min(100%,440px);margin:auto}
.contact-shop{margin:16px auto 0;width:100%;justify-content:center;border:1px solid #8f927f;background:#f5f1e8d9;color:#343a30}
.contact-shop:hover{background:#fffaf0}
.contact-form-inner>h2{text-align:center;font-size:clamp(40px,4.4vw,60px);margin:0 0 25px}
.contact-portal #contact-form{margin:0;width:100%}
.contact-portal fieldset{margin:0 0 22px;padding:0;border:0}
.contact-portal legend{font-size:10px;margin-bottom:11px;color:#6c6c5e}
.contact-portal .role-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.contact-portal .role-options span{min-height:46px;padding:14px 5px;border-radius:18px 4px 18px 4px;font-size:11px}
.contact-portal .field{margin-bottom:20px}
.contact-portal .field>span{font-size:11px}
.contact-portal .field input{font-size:16px;min-height:46px;padding:10px 0;background:transparent}
.contact-portal .button{width:100%;min-height:52px;border-radius:20px 5px 20px 5px;margin-top:3px}
.contact-portal .form-note{font-size:9px;line-height:1.6;margin-top:13px;text-align:center;color:#777566}
.contact-instagram{display:block;width:max-content;margin:19px auto 0;font-size:11px;border-bottom:1px solid #a8a08a;padding:5px 0}
@media(max-width:760px){
 :root{--header:60px}html{scroll-padding-top:76px}
 [data-concept=cinema] .header,[data-concept=cinema] .header.is-scrolled{height:60px;padding:0 22px}
 .header-panel,.header.is-scrolled .header-panel{min-height:60px}.header>.wordmark,.header.is-scrolled>.wordmark{font-size:32px}
 .header nav,.header.is-scrolled nav{top:60px}
 .contact-portal.portal-enhanced{height:270svh}
 .contact-pin{min-height:0}
 .contact-room img{width:100%;object-fit:cover;object-position:50% 50%}
 .contact-intro{justify-content:flex-end;padding:0 25px 110px;background:linear-gradient(0deg,#f3ead6c7,transparent 65%)}
 .contact-intro h2{font-size:52px}.portal-enter{margin-top:20px}
 .portal-scroll{left:25px;bottom:40px;font-size:10px}.contact-intro small{right:25px;bottom:20px;font-size:7px}
 .contact-form-panel{padding:26px 24px}.contact-form-inner>h2{font-size:44px;margin-bottom:25px}
}
@media(max-height:650px){
 .contact-pin{min-height:0}.contact-form-panel{padding:18px 24px}.contact-form-inner>h2{font-size:36px;margin-bottom:14px}
 .contact-portal fieldset,.contact-portal .field{margin-bottom:12px}.contact-instagram{margin-top:10px}
}
@media(prefers-reduced-motion:reduce){
 .contact-portal.portal-enhanced{height:auto}.contact-pin{height:auto;min-height:0;position:relative;top:0}
 .contact-room,.contact-intro,.contact-veil{display:none}.contact-form-panel,.portal-enhanced .contact-form-panel{position:relative;opacity:1!important;visibility:visible;transform:none!important;padding-block:55px}
}
