/* Readable contact surfaces over the full, continuous film backdrop. */
.contact-film.has-inquiry .contact-stage{height:660px;min-height:0}
.has-inquiry .contact-atmosphere{inset:17% 0 0}
.contact-composition{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,540px);align-items:start;gap:8vw;margin:-118px 5vw 64px}
.contact-composition .contact-details{position:relative;inset:auto;display:flex;flex-direction:column;gap:0;margin:130px 0 0;max-width:530px}
.contact-composition .contact-details>a{width:100%;max-width:none;min-height:94px;padding-block:20px}
.contact-composition .contact-value{font-size:clamp(17px,1.6vw,24px)}
.contact-inquiry{position:relative;min-width:0;margin:0;padding:34px;background:rgba(13,12,17,.95);border:1px solid #62566f;border-radius:18px;box-shadow:0 24px 80px #0008;backdrop-filter:blur(16px);transform:translateY(var(--inquiry-lift,0px));transform-origin:50% 100%}
.contact-inquiry:focus-within{transform:none!important;border-color:#b99bde}
.inquiry-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}
.inquiry-heading h3{font-weight:400;font-size:28px;letter-spacing:-.035em;line-height:1.15;margin:0}.inquiry-heading>span{font-size:26px;color:#ccabea}
.inquiry-field{display:grid;gap:10px;margin-bottom:23px}.inquiry-field label{font-size:14px;color:#ece5f4}
.inquiry-field input,.inquiry-field textarea{box-sizing:border-box;width:100%;min-width:0;font:inherit;font-size:16px;line-height:1.5;color:#f7f2ff;background:#060609;border:1px solid #45404c;border-radius:8px;padding:14px 16px;outline-offset:4px}
.inquiry-field input{min-height:54px}.inquiry-field textarea{min-height:132px;resize:vertical;max-height:420px}.inquiry-field input::placeholder,.inquiry-field textarea::placeholder{color:#9a939f}
.inquiry-field input:focus,.inquiry-field textarea:focus{border-color:#d9bfff;outline:2px solid #d9bfff55}
.inquiry-submit,.inquiry-open{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:52px;width:100%;padding:14px 20px;border-radius:8px;border:1px solid #ede6f6;background:#ede6f6;color:#18131d;font-size:16px;line-height:1.4;cursor:pointer}
.inquiry-submit:hover,.inquiry-open:hover{background:#dbcaee}.inquiry-note{font-size:13px;color:#afa5b9;line-height:1.55;margin:14px 0 0;max-width:37ch}
.inquiry-ready{margin-top:20px;padding-top:20px;border-top:1px solid #ffffff24}.inquiry-ready[hidden]{display:none}.inquiry-open{font-size:15px;background:transparent;color:#eee3fc;border-color:#a68fbd}.inquiry-open:hover{background:#33263f}
.inquiry-copy{display:block;margin-top:8px;min-height:44px;padding:8px 0;background:none;border:0;color:#d5bcf2;text-decoration:underline;text-underline-offset:4px;font-size:14px;cursor:pointer}
.inquiry-status{font-size:14px;line-height:1.5;color:#ddd0e9;margin:12px 0 0}.inquiry-status:empty{display:none}
.contact-inquiry :is(button,a):focus-visible{outline:2px solid #dec0fa;outline-offset:4px}
.motion-off .contact-inquiry{transform:none!important}
@media(max-width:900px) and (min-width:701px){.contact-composition{gap:5vw;grid-template-columns:minmax(0,1fr) minmax(320px,1fr)}.contact-inquiry{padding:26px}.contact-composition .contact-value{font-size:17px}.has-inquiry .contact-atmosphere{inset:18% -12% 0}}
@media(max-width:700px){
 .contact-film.has-inquiry .contact-stage{height:490px;min-height:0;padding:58px 6vw 0}.has-inquiry .contact-intro{padding-top:20px}.has-inquiry .contact-intro h2{font-size:clamp(52px,12vw,80px)}
 .has-inquiry .contact-atmosphere{inset:142px -43% auto;height:330px}
 .contact-composition{display:flex;flex-direction:column;gap:30px;margin:-54px 6vw 32px}
 .contact-inquiry{order:-1;width:100%;padding:26px 22px;border-radius:14px;box-sizing:border-box}
 .inquiry-heading{margin-bottom:25px}.inquiry-heading h3{font-size:27px}.inquiry-field{margin-bottom:20px}.inquiry-field textarea{min-height:124px}.inquiry-note{font-size:13px}
 .contact-composition .contact-details{margin:0;max-width:none;width:100%}.contact-composition .contact-value{font-size:clamp(16px,4.6vw,22px)}
}
@media(prefers-reduced-motion:reduce){.contact-inquiry{transform:none!important}}

/* Keep the entire landscape frame visible, including on narrow phones.
   The backdrop stays in view while the contact content passes above it. */
footer.contact-film.has-inquiry{isolation:isolate;overflow:clip;scroll-margin-top:90px}
.contact-backdrop{position:absolute;inset:0;z-index:0;pointer-events:none}
.contact-backdrop .contact-atmosphere{position:sticky;inset:90px 0 auto;height:calc(100svh - 90px);width:100%;z-index:auto}
.contact-backdrop .contact-atmosphere img,.contact-backdrop .contact-atmosphere video{object-fit:contain;object-position:center;width:100%;height:100%}
.contact-backdrop .contact-atmosphere:after{display:none}
.contact-film.has-inquiry .contact-stage{height:auto;min-height:calc(100svh - 90px);padding:56px 5vw 80px;isolation:auto;overflow:visible;background:transparent;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.has-inquiry .contact-intro{position:relative;inset:auto;padding:0;min-width:0;pointer-events:auto}
.has-inquiry .contact-intro h2{font-size:clamp(54px,8.6vw,132px);line-height:1.08;margin-top:18px}
.has-inquiry .contact-motion{position:relative;inset:auto;flex-shrink:0;margin:0;min-height:44px;font-size:12px}
.has-inquiry .contact-composition{position:relative;margin:0 5vw 64px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);align-items:start}
.contact-composition .contact-details{margin:0;padding:18px 28px;max-width:none;min-width:0;border:1px solid #ffffff26;border-radius:18px;background:#08070bde;backdrop-filter:blur(12px)}
.contact-composition .contact-details>a:first-child{border-top:0}
.contact-composition .contact-inquiry{transform:none;background:#0d0c11e8;box-shadow:0 16px 60px #0005}
.has-inquiry .contact-end{position:relative;z-index:2;flex-wrap:wrap;gap:16px 28px;background:#000b}
@media(max-width:900px){
 .has-inquiry .contact-composition{grid-template-columns:minmax(0,1fr);gap:24px}
 .contact-composition .contact-inquiry{max-width:none;order:0}
 .contact-composition .contact-details{padding:16px 26px}
}
@media(max-width:700px){
 footer.contact-film.has-inquiry{scroll-margin-top:var(--mobile-nav,78px)}
 .contact-backdrop .contact-atmosphere{top:var(--mobile-nav,78px);height:calc(100svh - var(--mobile-nav,78px));inset-inline:0;width:100%}
 .contact-film.has-inquiry .contact-stage{min-height:calc(100svh - var(--mobile-nav,78px));height:auto;padding:36px 6vw 56px;display:flex;flex-direction:column;justify-content:flex-start;gap:22px}
 .has-inquiry .contact-intro{padding:0}
 .has-inquiry .contact-intro h2{font-size:clamp(46px,11.5vw,80px);line-height:1.08;overflow-wrap:normal}
 .has-inquiry .contact-motion{align-self:flex-start;margin:0;min-height:44px;font-size:12px}
 .has-inquiry .contact-composition{display:flex;flex-direction:column;gap:24px;margin:0 6vw 32px}
 .contact-composition .contact-details,.contact-composition .contact-inquiry{width:100%;min-width:0;box-sizing:border-box}
 .contact-composition .contact-details{padding:12px 22px;order:1}
 .contact-composition .contact-inquiry{order:0;padding:26px 22px}
 .has-inquiry .contact-end{gap:14px 20px}.has-inquiry .contact-end nav{flex-wrap:wrap}
}
