.contact-section{position:relative;width:78%;max-width:1500px;margin:40px auto 90px;padding-top:100px}
.contact-divider{position:absolute;top:0;left:calc(50% - 18px);width:36px;height:auto}
.contact-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:7%;align-items:start}
.contact-art{text-align:center;padding-top:35px;min-width:0}
.contact-art h2{position:relative;z-index:2;font-size:clamp(55px,7.5vw,145px);line-height:.9;margin:0 0 -16px;white-space:nowrap}
.contact-painting{width:100%;height:auto}
.contact-art p{font-style:italic;line-height:1.4;font-size:clamp(15px,1.4vw,23px);margin:22px -5% 0}
.contact-form{display:flex;flex-direction:column;min-width:0;padding-top:45px}
.contact-form label{font-family:Perandory,serif;text-transform:uppercase;font-size:clamp(23px,2.1vw,38px);line-height:1.1}
.contact-form input,.contact-form textarea{font:inherit;color:var(--cream);border:0;border-bottom:1px solid var(--gold);background:transparent;width:100%;border-radius:0;padding:14px 2px;outline-offset:5px}
.contact-form input{margin:10px 0 39px;min-height:42px}
.contact-form textarea{resize:vertical;border:1px solid var(--gold);margin-top:15px;min-height:180px;padding:16px}
.contact-send{align-self:end;background:none;border:0;margin-top:24px;padding:8px 0;font-size:21px;font-style:italic;min-height:44px}
.contact-send span{text-decoration:underline;text-underline-offset:4px}
.contact-note,.contact-status{font-size:13px;line-height:1.4;text-align:right;max-width:100%;margin-top:9px}
.contact-email{align-self:end;font-size:14px;text-decoration:underline;text-underline-offset:3px;margin-top:10px;overflow-wrap:anywhere}
.contact-status:empty{display:none}
nav .contact{cursor:pointer}.business-contact{width:max-content}
@media(max-width:1000px){.contact-section{width:88%;padding-top:85px}.contact-layout{gap:5%}.contact-art h2{font-size:8vw}.contact-form input{margin-bottom:28px}.contact-art{padding-top:45px}}
@media(max-width:700px){.contact-section{width:86%;margin:35px auto 60px;padding-top:70px}.contact-layout{grid-template-columns:1fr;gap:35px}.contact-art{padding-top:0}.contact-art h2{font-size:17vw;margin-bottom:-10px}.contact-art p{margin:16px 0 0;font-size:17px}.contact-form{padding:0}.contact-form label{font-size:28px}.contact-form input{margin-bottom:30px}.contact-form textarea{min-height:170px}.contact-note,.contact-status{text-align:left}.contact-send{font-size:22px}.contact-email{align-self:start}}
.language-dialog{position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;margin:0;border:0;box-shadow:none;background:linear-gradient(#15200a60,#15200a60),url('assets/language-garden.webp') center/cover no-repeat;color:var(--gold);overflow:auto}
.language-dialog::backdrop{background:var(--wine);backdrop-filter:none}
.language-card{border:0;margin:0;min-height:100%;width:100%;padding:clamp(28px,5vh,70px) 20px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.language-identity{position:relative;width:240px;padding-top:5px;margin-bottom:32px}
.language-crest{width:52px;height:auto;margin:auto}
.language-signature{width:220px;height:auto;margin:-8px auto 0}
.language-card h2{font-size:clamp(48px,4.8vw,83px);margin:0 0 30px;line-height:.93}
.language-card>p{font-size:clamp(16px,1.5vw,22px);color:var(--cream);margin:0;line-height:1.25}
.language-options{width:min(520px,100%);margin:38px 0 0;gap:16px}
.language-options button{background:var(--wine);border:1px solid transparent;padding:18px 10px 12px;color:var(--gold);min-height:112px}
.language-options span{font-size:36px;margin-bottom:4px}.language-options small{font-size:14px}.language-options i{font-size:25px;display:block;font-style:normal;margin-top:2px;line-height:1}
@media(max-width:700px){.language-dialog{background-position:28% center}.language-dialog::before{content:'';position:fixed;inset:0;background:#18200755;pointer-events:none}.language-card{position:relative;padding:26px 24px}.language-identity{width:190px;margin-bottom:28px}.language-signature{width:190px}.language-crest{width:44px}.language-card h2{font-size:clamp(43px,11.5vw,70px);margin-bottom:24px}.language-options{gap:12px;margin-top:28px}.language-options button{padding:16px 7px 10px;min-height:115px}.language-options span{font-size:32px}.language-options small{font-size:12px}.language-card>p{font-size:16px}}
@media(max-height:560px) and (min-width:701px){.language-card{padding:20px}.language-identity{margin-bottom:12px}.language-crest{width:35px}.language-signature{width:170px}.language-card h2{font-size:46px;margin-bottom:15px}.language-options{margin-top:20px}.language-options button{min-height:90px;padding:10px}}
.language-dialog{background-position:right center}@media(max-width:700px){.language-dialog{background-position:24% center}}
.contact-send:disabled{cursor:default;opacity:.8}.contact-form[aria-busy=true] .contact-send{cursor:wait}.contact-form input:disabled,.contact-form textarea:disabled{opacity:.7}

/* Keep photo and controls in one proportionate scene, matching the Photoshop canvas. */
.language-dialog{background:#455020}
.language-dialog[open]{display:flex;align-items:center;justify-content:center}
.language-scene{position:relative;width:100%;min-height:100%;background:linear-gradient(#15200a60,#15200a60),url("assets/language-scene.webp") center/cover no-repeat}
@media(min-width:701px){
 .language-scene{width:min(100vw,177.683dvh);min-height:0;aspect-ratio:2500/1407;flex-shrink:0;container-type:inline-size;background-size:100% 100%}
 .language-card{position:absolute;inset:0;padding:0;min-height:0;display:block}
 .language-identity{position:absolute;top:18%;left:43%;width:14%;padding:0;margin:0}
 .language-crest{width:27%;margin:auto}
 .language-signature{width:100%;margin:-.4cqw auto 0}
 .language-card h2{position:absolute;top:34.4%;left:33%;width:34%;font-size:5.1cqw;line-height:.92;margin:0}
 .language-card>p{position:absolute;top:52%;left:30%;width:40%;font-size:1.5cqw;line-height:1.25;margin:0}
 .language-options{position:absolute;top:62%;left:31.5%;width:37%;margin:0;gap:1.2cqw}
 .language-options button{min-height:0;height:8.1cqw;padding:1.1cqw .4cqw .5cqw}
 .language-options span{font-size:2.6cqw;margin-bottom:.25cqw}
 .language-options small{font-size:.95cqw}
 .language-options i{font-size:1.8cqw;margin-top:.25cqw}
}
@media(max-width:700px){.language-scene{min-height:100dvh;background-position:18% center}.language-card{min-height:100dvh}.language-dialog::before{display:none}}

.language-dialog{background:linear-gradient(#15200a60,#15200a60),url("assets/language-scene.webp") center/cover no-repeat}
@media(max-width:700px){.language-scene{background-position:10% center}}
