/* Open fields and quiet rules keep the form within the surrounding scene. */
body[data-page="contact"] .page-surface{
 position:relative;isolation:isolate;display:grid;grid-template-rows:minmax(min-content,1fr) auto;--footer-overlap:0px;
 min-height:100vh;min-height:100dvh;
}
body[data-page="contact"] main{display:grid;min-height:0}
.contact-ground{display:block;position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:#080703}
.contact-ground>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center bottom;user-select:none}
body[data-page="contact"] .contact-minimal{
 display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(32px,4.5dvh,64px);min-height:0;
 padding:clamp(120px,14dvh,200px) max(32px,10vw) clamp(56px,7dvh,112px);
 text-align:center;
}
.contact-address{min-width:0;width:min(100%,560px)}
body[data-page="contact"] .contact-email{
 margin:0;font:400 clamp(24px,3.5vw,44px)/1.35 Playfair,Georgia,serif;
 letter-spacing:-.01em;font-kerning:normal;overflow-wrap:anywhere;
}
.contact-email a{
 position:relative;display:inline-block;max-width:100%;min-height:44px;padding:8px 4px;
 color:#e8dfd0;text-decoration-line:underline;text-decoration-color:transparent;
 text-decoration-thickness:1px;text-underline-offset:.24em;text-decoration-skip-ink:auto;
 transition:text-decoration-color .4s ease;
}
.contact-email a:hover{opacity:1;text-decoration-color:#bfa781a6}
.contact-email a:focus-visible{outline:1px solid currentColor;outline-offset:8px}
.contact-address>p{max-width:32rem;margin:24px auto 0;font-size:1rem}
.contact-form{display:grid;gap:28px;width:min(100%,560px);margin:0;text-align:left;line-height:1.3}
.contact-form-fields{display:grid;grid-template-columns:minmax(0,1fr)}
.contact-field{position:relative;display:grid;min-width:0;border-bottom:1px solid #c0ad8b70;transition:border-color .35s ease}
.contact-field:focus-within{border-color:#d5b98a}
.contact-field label{display:block;width:fit-content;font:400 12px/1.5 Cinzel,Georgia,serif;letter-spacing:.13em;color:#d0c3ac;cursor:text;transition:color .35s ease}
.contact-field:focus-within label{color:#e3cda8}
.contact-form :is(input,textarea){
 display:block;width:100%;min-width:0;margin:0;padding:12px 0;border:0;border-radius:0;
 background:transparent;color:#f3ecdf;caret-color:#dfc79f;font:400 18px/1.6 Playfair,Georgia,serif;letter-spacing:normal;
 box-shadow:none;outline:none;text-align:start;scroll-margin-block:24px;
}
.contact-form input{height:52px}
.contact-form textarea{height:clamp(104px,13dvh,144px);min-height:80px;resize:vertical;overflow:auto}
.contact-form :is(input,textarea):focus-visible{box-shadow:0 2px 0 #d5b98a}
.contact-form input:autofill{box-shadow:inset 0 0 0 1000px #17120c;-webkit-text-fill-color:#f3ecdf;caret-color:#dfc79f}
.contact-form-actions{display:flex;flex-direction:column;align-items:flex-end;gap:0;min-height:44px}
.contact-submit{display:inline-flex;align-items:center;gap:20px;flex:none;min-width:104px;min-height:44px;padding:10px 0 10px 16px;border:0;border-radius:0;background:transparent;color:#ded1bb;font:400 12px/1.3 Cinzel,Georgia,serif;letter-spacing:.12em;cursor:pointer;transition:color .4s ease}
.contact-submit-arrow{position:relative;display:block;width:32px;height:1px;background:currentColor;transition:transform .5s ease}
.contact-submit-arrow::after{content:'';position:absolute;right:0;top:-3px;width:7px;height:7px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg)}
.contact-submit:hover{color:#e3bd82}
.contact-submit:hover .contact-submit-arrow{transform:translateX(4px)}
.contact-submit:focus-visible{outline:1px solid #fff3d6;outline-offset:4px}
.contact-submit:disabled{cursor:wait;opacity:.65}
.contact-form-status{width:100%;min-width:0;margin:0;text-align:right;font:400 14px/1.5 Georgia,serif;color:#e9e1d4}
.contact-form-status:not(:empty){margin-top:8px}
.contact-form-status[data-state="error"]{color:#ffdad0}
.contact-honeypot{display:none!important}
/* A quiet signoff retains the return link, copyright and studio symbol. */
body[data-page="contact"] .navigation-footer{margin-top:0}
body[data-page="contact"] .navigation-footer>.navigation-panel{min-height:0;--footer-space:clamp(8px,2dvh,20px)}
body[data-page="contact"] .navigation-footer :is(.navigation-main,.footer-signoff){display:none}
body[data-page="contact"] .navigation-footer .footer-scene{
 padding-inline:clamp(32px,10vw,360px);
 padding-bottom:max(clamp(32px,6dvh,88px),env(safe-area-inset-bottom));overflow:visible;
}
body[data-page="contact"] .footer-home{min-height:0;padding:0 0 clamp(8px,2dvh,20px)}
body[data-page="contact"] .navigation-footer .footer-home-link{min-height:44px;padding:8px 16px;font-size:clamp(14px,1.1vw,18px);letter-spacing:.12em}
body[data-page="contact"] .navigation-footer .navigation-panel .footer-bottom{
 --footer-symbol-size:32px;width:100%;margin-inline:0;
 grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);justify-content:normal;
}
body[data-page="contact"] .navigation-footer .footer-bottom .footer-year{grid-column:1;grid-row:1}
body[data-page="contact"] .navigation-footer .footer-bottom .footer-brand-icon{grid-column:2;grid-row:1}
body[data-page="contact"] .navigation-footer .footer-bottom::before{width:100%}
body[data-page="contact"] .header .footer-top{display:none}
@media(max-height:700px){
 body[data-page="contact"] .contact-minimal{padding-top:112px;padding-bottom:28px}
 .contact-form{gap:24px}
}
@media(max-height:640px){
 body[data-page="contact"] .contact-minimal{gap:28px;padding-top:100px}
 .contact-form{gap:20px}
 .contact-form textarea{height:88px}
}
@media(max-height:480px) and (min-width:500px){
 body[data-page="contact"] .header .wordmark{top:16px}
 body[data-page="contact"] .contact-minimal{padding:32px max(32px,10vw) 24px;gap:24px}
 body[data-page="contact"] .contact-email{font-size:clamp(22px,3vw,30px)}
 .contact-form{width:min(100%,640px);grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:12px 32px;align-items:start}
 .contact-form-fields{display:contents}
 .contact-form textarea{height:52px;min-height:52px}
 .contact-form-actions{grid-column:1/-1}
 body[data-page="contact"] .navigation-footer .footer-scene{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:0;padding-bottom:max(24px,env(safe-area-inset-bottom))}
 body[data-page="contact"] .navigation-footer .footer-content{grid-area:1/1;justify-self:start;width:max-content;position:relative;z-index:6}
 body[data-page="contact"] .navigation-footer .navigation-panel .footer-bottom{width:100%;margin-inline:0;padding-top:0}
 body[data-page="contact"] .navigation-footer .footer-bottom{grid-area:1/1}
 body[data-page="contact"] .navigation-footer .footer-bottom .footer-year{grid-column:3;justify-self:end}
 body[data-page="contact"] .navigation-footer .footer-bottom::before{display:none}
 body[data-page="contact"] .footer-home{padding:0}
 body[data-page="contact"] .navigation-footer .footer-home-link{font-size:14px;padding-inline:4px}
}
@media(max-height:520px) and (max-width:499px){
 body[data-page="contact"] .contact-minimal{gap:24px}
 .contact-form{gap:16px}
 body[data-page="contact"] .contact-minimal:has(.contact-form-status:not(:empty)){padding-top:76px}
}
/* A mobile keyboard can temporarily consume most of the viewport. */
@media(max-height:500px) and (max-width:499px){
 body[data-page="contact"]:has(.contact-form :is(input,textarea):focus) .navigation-footer{display:none}
 body[data-page="contact"]:has(.contact-form :is(input,textarea):focus) .contact-minimal{padding-top:64px;gap:8px}
}
@media(prefers-reduced-motion:reduce){.contact-email a,.contact-field,.contact-field label,.contact-submit,.contact-submit-arrow{transition:none}.contact-submit:hover .contact-submit-arrow{transform:none}}
@media(forced-colors:active){
 .contact-ground{display:none!important}
 .contact-email a{color:LinkText;text-decoration-color:currentColor}.contact-email a:focus-visible{outline:2px solid Highlight}
 .contact-form :is(input,textarea),.contact-submit{background:Canvas;color:CanvasText;border:1px solid ButtonText}
 .contact-form :is(input,textarea):focus{background:Highlight;color:HighlightText;caret-color:HighlightText}
 .contact-form button:focus-visible{outline:2px solid Highlight}
 .contact-field,.contact-field:focus-within{border-color:CanvasText}
 .contact-field label,.contact-field:focus-within label,.contact-form-status{color:CanvasText}
 .contact-form :is(input,textarea):focus-visible{outline:2px solid Highlight}
}
