.public-form{display:grid;gap:20px;min-width:0}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.form-field{display:grid;gap:7px;min-width:0}
.form-field.full{grid-column:1/-1}
.form-field label,.rating-fieldset legend{color:var(--ab-color-text);font-size:14px;font-weight:900}
.form-field input,.form-field textarea{width:100%;min-width:0;border:1px solid var(--ab-color-line);border-radius:7px;background:var(--ab-color-surface);color:var(--ab-color-text);font:inherit}
.form-field input{min-height:50px;padding:12px 14px}
.form-field textarea{min-height:148px;padding:14px;resize:vertical;line-height:1.55}
.form-field input:focus,.form-field textarea:focus{outline:3px solid color-mix(in srgb,var(--ab-color-gold) 24%,transparent);border-color:var(--ab-color-gold)}
.form-consent{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:start;color:var(--ab-color-muted);font-size:14px;line-height:1.5}
.form-consent input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--ab-color-gold)}
.form-consent a{font-weight:850;text-underline-offset:3px}
.form-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.form-submit{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 20px;border:1px solid var(--ab-color-gold);border-radius:7px;background:var(--ab-color-gold);color:#fff;font:inherit;font-weight:900;cursor:pointer}
.form-submit:disabled{cursor:wait;opacity:.62}
.form-status{min-height:24px;color:var(--ab-color-muted);font-size:14px;font-weight:800}
.form-status.is-success{color:#287243}.form-status.is-error{color:#a62f27}
.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.contact-section-head{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(420px,1.3fr);gap:50px;align-items:end;margin-bottom:28px}
.contact-section-head p{color:var(--ab-color-muted);font-size:18px;line-height:1.65}
.contact-layout{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(420px,1.12fr) minmax(360px,1.16fr);gap:18px;align-items:stretch}
.contact-panel{min-width:0;padding:28px;border:1px solid var(--ab-color-line);border-radius:8px;background:var(--ab-color-surface)}
.contact-details{display:grid;align-content:start;gap:18px}
.contact-details h3{margin:0;font-size:23px}.contact-details p{color:var(--ab-color-muted);line-height:1.62}.contact-details a{text-decoration:none;font-weight:850}
.contact-form-panel h3{margin:0 0 20px;font-size:23px}
.contact-map{min-height:100%;overflow:hidden;padding:0}
.contact-map iframe{display:block;width:100%;height:100%;min-height:620px;border:0}
.contact-page-section{padding:28px 0 82px;background:var(--ab-color-surface-soft)}
.contact-page-layout{display:grid;gap:18px}
.contact-page-layout .contact-panel{width:100%}
.contact-page-details{display:grid;grid-template-columns:minmax(220px,.85fr) repeat(3,minmax(180px,1fr));gap:28px;align-items:start}
.contact-page-details h2{margin:0;font-size:28px}.contact-page-details p{margin:0;color:var(--ab-color-muted);line-height:1.62}.contact-page-details a{text-decoration:none;font-weight:850}
.contact-page-form{padding:34px}.contact-page-form-head{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(360px,1.3fr);gap:40px;align-items:start;margin-bottom:28px}.contact-page-form-head h2{font-size:28px}.contact-page-form-head p{color:var(--ab-color-muted);font-size:17px;line-height:1.65}
.contact-page-map{min-height:520px;padding:0}.contact-page-map iframe{display:block;width:100%;height:520px;border:0}
.feedback-form-section{padding:54px 0 82px;background:var(--ab-color-surface-soft)}
.feedback-form-layout{display:grid;grid-template-columns:minmax(280px,.65fr) minmax(540px,1.35fr);gap:clamp(38px,7vw,110px);align-items:start}
.feedback-form-copy{position:sticky;top:110px}.feedback-form-copy h2{font-size:32px}.feedback-form-copy p{max-width:540px;margin-top:16px;color:var(--ab-color-muted);font-size:17px;line-height:1.68}
.feedback-form-panel{padding:32px;border:1px solid var(--ab-color-line);border-radius:8px;background:var(--ab-color-surface)}
.ratings-grid{display:grid;gap:18px}
.rating-fieldset{min-width:0;margin:0;padding:0;border:0}
.rating-scale{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-top:9px}
.rating-choice{position:relative;min-width:0}
.rating-choice input{position:absolute;opacity:0;pointer-events:none}
.rating-choice span{display:grid;place-items:center;min-height:48px;border:1px solid var(--ab-color-line);border-radius:7px;background:var(--ab-color-surface-soft);color:var(--ab-color-muted);font-size:14px;font-weight:900;cursor:pointer}
.rating-choice input:checked+span{border-color:var(--ab-color-gold);background:var(--ab-color-gold-soft);color:var(--ab-color-heading)}
.rating-choice input:focus-visible+span{outline:3px solid color-mix(in srgb,var(--ab-color-gold) 24%,transparent)}
.rating-help{display:flex;justify-content:space-between;gap:12px;margin-top:7px;color:var(--ab-color-muted);font-size:12px;font-weight:750}
@media(max-width:1180px){.contact-layout{grid-template-columns:minmax(260px,.75fr) minmax(420px,1.25fr)}.contact-map{grid-column:1/-1}.contact-map iframe{min-height:420px}}
@media(max-width:900px){.contact-section-head,.feedback-form-layout,.contact-page-form-head{grid-template-columns:1fr;gap:22px}.contact-layout{grid-template-columns:1fr}.contact-map{grid-column:auto}.contact-map iframe{min-height:360px}.contact-page-details{grid-template-columns:repeat(2,minmax(0,1fr))}.feedback-form-copy{position:static}}
@media(max-width:680px){.form-grid,.contact-page-details{grid-template-columns:1fr}.form-field.full{grid-column:auto}.contact-panel,.feedback-form-panel,.contact-page-form{padding:22px 18px}.contact-map,.contact-page-map{padding:0}.contact-map iframe{min-height:320px}.contact-page-map,.contact-page-map iframe{min-height:340px;height:340px}.form-actions{display:grid}.form-submit{width:100%}.feedback-form-section,.contact-page-section{padding:42px 0 58px}.rating-scale{gap:5px}.rating-choice span{min-height:50px}.feedback-form-copy h2{font-size:27px}}
