.contact-page{--contact-accent:var(--brand,var(--color-primary));min-height:60vh;padding:clamp(3.5rem,7vw,6rem) 1rem clamp(4rem,7vw,6rem);background:radial-gradient(circle at 10% 5%,color-mix(in srgb,var(--contact-accent) 10%,transparent),transparent 28rem),var(--color-bg)}
.contact-hero{max-width:760px;margin:0 auto clamp(2.25rem,5vw,3.5rem);text-align:center}.contact-kicker{display:inline-flex;padding:.5rem .9rem;border-radius:var(--radius-full);color:var(--contact-accent);background:color-mix(in srgb,var(--contact-accent) 11%,transparent);font-size:.76rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.contact-hero h1{margin:.9rem 0 0;font-family:var(--font-display);font-size:clamp(2.3rem,5.5vw,4rem);line-height:1.08;letter-spacing:-.025em}.contact-hero p{max-width:620px;margin:1rem auto 0;font-size:var(--text-base);line-height:1.7}
.contact-layout{width:min(100%,1120px);margin:auto;display:grid;grid-template-columns:minmax(270px,.72fr) minmax(0,1.4fr);gap:1.5rem;align-items:stretch}.contact-details,.contact-form-card{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-sm)}.contact-details{position:relative;overflow:hidden;padding:clamp(1.5rem,3vw,2rem);display:flex;flex-direction:column;gap:1rem}.contact-details::after{content:"♥";position:absolute;right:-1rem;bottom:-2.5rem;color:var(--contact-accent);opacity:.045;font-family:var(--font-display);font-size:10rem;line-height:1;pointer-events:none}.contact-details-heading{position:relative;z-index:1;margin-bottom:.5rem}.contact-details-heading>span{color:var(--contact-accent);font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.contact-details-heading h2{margin:.45rem 0 .65rem;font-family:var(--font-display);font-size:clamp(1.6rem,3vw,2rem);line-height:1.2}.contact-details-heading p{margin:0;font-size:.9rem;line-height:1.65}
.contact-method{position:relative;z-index:1;display:flex;align-items:center;gap:.9rem;padding:1rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:transform var(--transition),border-color var(--transition)}.contact-method:hover{border-color:var(--contact-accent);transform:translateY(-2px)}.contact-method-icon,.contact-form-icon{display:grid;flex:0 0 44px;height:44px;place-items:center;border-radius:50%;color:var(--contact-accent);background:color-mix(in srgb,var(--contact-accent) 11%,transparent)}.contact-method span:last-child{min-width:0;display:grid}.contact-method small{color:var(--color-text-muted);font-size:.75rem}.contact-method strong{overflow-wrap:anywhere;color:var(--color-text);font-size:.92rem}.contact-hours{position:relative;z-index:1;display:flex;align-items:flex-start;gap:.7rem;margin-top:auto;padding:1rem;border-radius:var(--radius-lg);color:var(--contact-accent);background:color-mix(in srgb,var(--contact-accent) 7%,var(--color-surface))}.contact-hours div{display:grid;gap:.15rem}.contact-hours strong{color:var(--color-text);font-size:.86rem}.contact-hours span{color:var(--color-text-muted);font-size:.8rem}
.contact-form-card{padding:clamp(1.5rem,4vw,2.25rem)}.contact-form-heading{display:flex;align-items:center;gap:.9rem;margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:1px solid var(--color-divider)}.contact-form-heading h2{margin:0;font-family:var(--font-display);font-size:1.55rem}.contact-form-heading p{margin:.15rem 0 0;font-size:.8rem}.contact-form{display:grid;gap:1.1rem}.contact-field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.contact-field{display:grid;gap:.45rem}.contact-field label{color:var(--color-text);font-size:.84rem;font-weight:650}.contact-field label>span,.contact-error{color:#c5224f}.contact-field label small{color:var(--color-text-muted);font-weight:400}.contact-field input,.contact-field select,.contact-field textarea{width:100%;padding:.82rem .95rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);outline:none;transition:border-color var(--transition),box-shadow var(--transition)}.contact-field textarea{min-height:140px;resize:vertical}.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{border-color:var(--contact-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--contact-accent) 15%,transparent)}.contact-field [aria-invalid="true"]{border-color:#c5224f}.contact-error{font-size:.76rem}
.contact-form-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.25rem}.contact-form-footer p{display:flex;align-items:center;gap:.4rem;margin:0;font-size:.76rem}.contact-form-footer button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;flex:0 0 auto;padding:.8rem 1.15rem;border-radius:var(--radius-full);background:var(--contact-accent);color:#fff;font-weight:700;transition:transform var(--transition),filter var(--transition)}.contact-form-footer button:hover{filter:brightness(.9);transform:translateY(-1px)}.contact-alert{display:flex;align-items:flex-start;gap:.6rem;margin-bottom:1.25rem;padding:.85rem 1rem;border:1px solid;border-radius:var(--radius-md);font-size:.85rem;line-height:1.5}.contact-alert svg{flex:0 0 auto;margin-top:.05rem}.contact-alert-success{color:#25704a;border-color:color-mix(in srgb,#25704a 25%,transparent);background:color-mix(in srgb,#25704a 9%,transparent)}.contact-alert-error{color:#ad1f46;border-color:color-mix(in srgb,#ad1f46 25%,transparent);background:color-mix(in srgb,#ad1f46 8%,transparent)}.contact-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:820px){.contact-layout{grid-template-columns:1fr}.contact-hours{margin-top:.5rem}}@media(max-width:600px){.contact-page{padding:2.75rem .75rem 3.5rem}.contact-field-row{grid-template-columns:1fr}.contact-form-footer{align-items:stretch;flex-direction:column}.contact-form-footer button{width:100%}.contact-details,.contact-form-card{border-radius:var(--radius-lg)}}
