
button{cursor:pointer}
button:disabled{cursor:wait;opacity:.65}
[hidden]{display:none!important}
::selection{color:#fff;background:var(--magenta)}
.location-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px;align-items:center}
.location-copy>p{margin-top:20px;color:var(--muted)}
.location-copy address{margin:28px 0;font-style:normal;font-size:20px;line-height:1.7}
.location-map{min-height:430px;display:grid;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--white)}
.location-map iframe{display:block;width:100%;height:100%;min-height:430px;border:0}
.map-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:36px;text-align:center}
.map-placeholder svg{color:var(--magenta)}
.map-placeholder h3{font-size:2rem}
.map-placeholder p{max-width:43ch;font-size:16px;color:var(--muted)}
body.contact-dialog-open{overflow:hidden}
.contact-dialog{width:min(680px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:0;border:0;border-radius:16px;color:var(--ink);background:var(--white);box-shadow:0 24px 80px rgb(20 10 20 / .24);overscroll-behavior:contain}
.contact-dialog::backdrop{background:rgb(25 15 25 / .65)}
.contact-dialog-inner{position:relative;padding:40px}
.dialog-close{position:absolute;right:16px;top:16px;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:8px;color:var(--ink);background:var(--soft)}
.dialog-close:hover{background:#e8e5e8}
.contact-dialog h2{max-width:calc(100% - 36px);font-size:2.6rem}
#contact-dialog-intro{margin:14px 0 26px;color:var(--muted);font-size:17px;max-width:52ch}
#contact-form{display:grid;gap:18px}
#contact-form label:not(.form-privacy){display:grid;gap:7px;font-size:15px;font-weight:800}
#contact-form input:not([type="checkbox"]),#contact-form textarea{width:100%;min-height:48px;padding:10px 12px;border:1px solid #aaa6ad;border-radius:8px;background:#fff;color:var(--ink);font-size:16px;font-weight:400;caret-color:var(--magenta)}
#contact-form textarea{min-height:130px;resize:vertical}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-hint{font-size:13px;color:var(--muted)}
.form-privacy{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.5}
.form-privacy input{flex:0 0 20px;width:20px;height:20px;margin:1px 0 0;accent-color:var(--magenta)}
.form-privacy a{text-decoration:underline;text-underline-offset:3px;color:var(--magenta);font-weight:800}
.form-status:empty{display:none}
.form-status{font-size:15px;font-weight:700}
.form-status[data-error]{color:#a31c32}
.form-submit{justify-self:start}
.contact-success p{margin:16px 0 28px;color:var(--muted)}
@media(max-width:700px){
 .location-grid{grid-template-columns:1fr;gap:36px}
 .location-map,.location-map iframe{min-height:360px}
 .map-placeholder{padding:28px 20px}
 .contact-dialog-inner{padding:60px 24px 28px}
 .contact-dialog h2{font-size:2.2rem;max-width:100%}
 .form-row{grid-template-columns:1fr}
 .form-submit{width:100%}
}
.contact-inline,button.text-link{padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left}
button.text-link{color:var(--magenta);font-size:16px;font-weight:900}
.footer-contact .contact-inline{color:inherit}
.contact-info-list .contact-inline{color:var(--magenta);font-weight:800}
.contact-inline:hover{text-decoration:underline;text-underline-offset:3px}
