.contact-page{background:var(--ivory);min-height:100vh;padding-top:calc(var(--topbar-h,32px) + 72px)}.contact-main{max-width:1200px;margin:0 auto;padding:24px 48px 80px}.contact-layout{grid-template-columns:340px 1fr;align-items:start;gap:48px;display:grid}.contact-info{flex-direction:column;gap:20px;display:flex}.contact-info-header h1{color:var(--charcoal);margin:0 0 8px;font-family:Cormorant Garamond,serif;font-size:clamp(2rem,4vw,2.8rem);font-weight:400}.contact-info-header h1 em{color:var(--accent);font-style:italic}.contact-intro{color:var(--stone);margin:0;font-size:.95rem;line-height:1.5}.contact-info-card{background:#fff;border-radius:8px;align-items:flex-start;gap:14px;padding:16px 20px;display:flex;box-shadow:0 2px 12px #0000000a}.contact-info-icon{width:36px;height:36px;color:var(--accent);background:#c0392b1a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.contact-info-text{flex-direction:column;gap:2px;display:flex}.contact-info-label{letter-spacing:1px;text-transform:uppercase;color:var(--accent);font-size:.75rem;font-weight:500}.contact-info-value{color:var(--charcoal);font-size:.9rem;line-height:1.5}.contact-info-link{text-decoration:none;transition:color .3s}.contact-info-link:hover{color:var(--accent)}.contact-hours-compact h3{color:var(--charcoal);margin:0 0 10px;font-family:Cormorant Garamond,serif;font-size:1rem;font-weight:600}.contact-hours-grid{color:var(--charcoal);grid-template-columns:auto 1fr;gap:4px 16px;font-size:.85rem;display:grid}.contact-hours-grid span:nth-child(odd){font-weight:500}.contact-badge{padding-top:8px}.contact-badge img{max-width:160px;height:auto}.contact-form-wrapper{background:#fff;border-radius:12px;min-height:480px;padding:32px;box-shadow:0 4px 24px #0000000f}.contact-form-wrapper [data-tf-live]{min-height:420px}@media (max-width:900px){.contact-page{padding-top:calc(var(--topbar-h,32px) + 64px)}.contact-main{padding:24px 24px 60px}.contact-layout{grid-template-columns:1fr;gap:32px}.contact-info{order:2}.contact-form-wrapper{order:1}.contact-info-header{text-align:center}}@media (max-width:600px){.contact-main{padding:20px 20px 48px}.contact-form-wrapper{min-height:400px;padding:24px}.contact-form-wrapper [data-tf-live]{min-height:360px}}
