.contact-page-container{width:100%}
.contact-page-container{padding-block:clamp(32px,5vw,72px)}.contact-header{padding:clamp(26px,4vw,52px);border-radius:22px;background:linear-gradient(135deg,#f3ece6,#fff);border:1px solid var(--color-border);position:relative;overflow:hidden}.contact-header::after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;right:-80px;top:-100px;background:color-mix(in srgb,var(--color-primary) 12%,transparent)}
.contact-header h1{font-size:clamp(2.25rem,4vw,3.5rem)!important}
.contact-info-panel,.contact-form-panel{background:var(--color-surface)!important;box-shadow:0 16px 44px rgba(44,38,33,.05)}
.contact-info-panel{position:relative;overflow:hidden}.contact-info-panel::before{content:"";display:block;height:5px;position:absolute;inset:0 0 auto;background:linear-gradient(90deg,var(--color-primary),#d7c3ad)}
.contact-map-section{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.5fr);margin-top:clamp(28px,5vw,64px);min-height:390px;border:1px solid var(--color-border);border-radius:20px;overflow:hidden;background:#241e1a;color:#fff;box-shadow:0 22px 60px rgba(44,38,33,.12)}.contact-map-copy{padding:clamp(28px,4vw,52px);display:flex;flex-direction:column;justify-content:center}.contact-map-copy h2{color:#fff;font-size:clamp(1.6rem,3vw,2.35rem);margin:10px 0 14px}.contact-map-copy p{color:#d7cec6;line-height:1.7}.contact-kicker{font-size:.7rem;font-weight:700;letter-spacing:.16em;color:#d3b48c}.contact-hours{margin-top:24px;padding-top:20px;border-top:1px solid rgba(255,255,255,.15)}.contact-hours strong,.contact-hours span{display:block}.contact-hours span{margin-top:5px;color:#d7cec6}.contact-map-frame{min-height:390px}.contact-map-frame iframe{display:block;width:100%;height:100%;min-height:390px;border:0;filter:saturate(.78) contrast(.96)}
.contact-form-panel .form-control{min-height:48px;background:#fff;transition:border-color .2s,box-shadow .2s}
.contact-form-panel textarea.form-control{min-height:150px;resize:vertical}
.contact-form-panel .form-control:focus{outline:0;border-color:var(--color-primary)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 16%,transparent)}
@media(max-width:820px){.contact-grid,.contact-map-section{grid-template-columns:1fr!important;gap:var(--space-6)!important}.contact-info-panel,.contact-form-panel{padding:var(--space-6)!important}.contact-map-section{gap:0!important}.contact-map-frame{min-height:320px}}
@media(max-width:560px){.contact-page-container{padding:var(--space-6) var(--space-4)!important}.contact-form-row{grid-template-columns:1fr!important}.contact-header{margin-bottom:var(--space-8)!important}}

.recaptcha-disclosure{display:flex;align-items:center;justify-content:center;gap:8px;margin:14px 0 0;color:var(--color-text-secondary,#726b62);font-size:.75rem;line-height:1.6;text-align:center}
.recaptcha-disclosure svg{flex:0 0 18px;color:var(--color-primary,#8b6b43)}
body:has(.recaptcha-disclosure) .grecaptcha-badge{visibility:hidden}

/* Premium contact experience */
.contact-header{padding:clamp(38px,6vw,78px)!important;border-radius:26px!important;background:linear-gradient(120deg,rgba(28,22,18,.97),rgba(82,59,43,.84)),radial-gradient(circle at 80% 20%,#997657,#241c17)!important;border:1px solid rgba(255,255,255,.08)!important;box-shadow:0 24px 70px rgba(44,38,33,.18)}.contact-header::after{width:320px!important;height:320px!important;right:-90px!important;top:-150px!important;border:1px solid rgba(255,255,255,.14);background:transparent!important;box-shadow:0 0 0 45px rgba(255,255,255,.025),0 0 0 90px rgba(255,255,255,.018)}
.contact-header h1{color:#fff!important;position:relative;z-index:1}.contact-header>p{color:#d9d0c8!important;font-size:1.04rem;line-height:1.75;position:relative;z-index:1}.contact-page-kicker,.contact-panel-kicker{display:block;font-size:.7rem;font-weight:800;letter-spacing:.16em;color:#d5b58d;margin-bottom:13px;position:relative;z-index:1}.contact-header-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:24px;position:relative;z-index:1}.contact-header-actions .btn-outline{border-color:rgba(255,255,255,.45);color:#fff}.contact-header-actions .btn-outline:hover{background:#fff;color:#211d1a}
.contact-info-panel{background:linear-gradient(160deg,#2d241e,#171310)!important;color:#fff!important;border:0!important;min-height:100%}.contact-info-panel h2,.contact-info-panel h3,.contact-info-panel a{color:#fff!important}.contact-info-panel p{color:#d5ccc4!important}.contact-info-panel>div>div>div:first-child{background:rgba(255,255,255,.09)!important;color:#d7b48e!important}.contact-info-hours{padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.05)}.contact-info-hours strong,.contact-info-hours span{display:block}.contact-info-hours span{margin-top:5px;color:#d5ccc4}.contact-form-panel{border-radius:18px!important;padding:clamp(24px,4vw,42px)!important}.contact-form-panel .form-control{min-height:50px;border-radius:9px!important}
