.ec-contact-page{overflow:hidden}.ec-contact-hero{padding:clamp(4rem,8vw,7rem) 0;background:radial-gradient(circle at 88% 15%,color-mix(in oklab,var(--color-primary) 16%,transparent),transparent 32%),linear-gradient(145deg,var(--color-surface),var(--color-surface-offset))}.ec-contact-hero-inner{display:grid;gap:3rem;align-items:center}.ec-contact-hero h1{font-family:var(--font-display);font-size:clamp(2.8rem,6vw,5.5rem);line-height:1.02;letter-spacing:-.035em;max-width:12ch;margin:1.3rem 0}.ec-contact-hero p{font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.7;max-width:55ch;color:var(--color-text-muted);margin:0}.ec-contact-email-card{display:grid;gap:.6rem;padding:2rem;border:1px solid var(--color-border);border-radius:1.5rem;background:var(--color-surface);box-shadow:var(--shadow-lg);max-width:440px}.ec-contact-icon{width:3.5rem;height:3.5rem;display:grid;place-items:center;border-radius:1rem;background:var(--color-primary-highlight);color:var(--color-primary);font-size:1.5rem}.ec-contact-small,.ec-contact-kicker{text-transform:uppercase;letter-spacing:.13em;font-size:.75rem;font-weight:700;color:var(--color-primary)}.ec-contact-email-card strong{font-size:1.4rem}.ec-contact-email-card a{color:var(--color-primary);font-weight:700;overflow-wrap:anywhere}.ec-contact-section{padding:clamp(4rem,8vw,7rem) 0}.ec-contact-layout{display:grid;gap:2.5rem;align-items:start}.ec-contact-intro h2{font-family:var(--font-display);font-size:clamp(2rem,4vw,3.5rem);line-height:1.1;margin:1rem 0}.ec-contact-intro>p{color:var(--color-text-muted);line-height:1.7;max-width:45ch}.ec-contact-help{display:flex;gap:1rem;margin-top:2rem;padding:1.2rem;border-radius:1rem;background:var(--color-primary-highlight);color:var(--color-text)}.ec-contact-help i{color:var(--color-primary);font-size:1.4rem}.ec-contact-help p{margin:0;line-height:1.5}.ec-contact-form-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:1.5rem;padding:clamp(1.4rem,3vw,2.5rem);box-shadow:var(--shadow-lg)}.ec-contact-form{display:grid;gap:1.25rem}.ec-contact-form-row{display:grid;gap:1.25rem}.ec-contact-form label{display:grid;gap:.5rem;font-weight:700;font-size:.95rem}.ec-contact-form label span{color:#b13d33}.ec-contact-form input,.ec-contact-form select,.ec-contact-form textarea{width:100%;border:1px solid var(--color-border);border-radius:.8rem;background:var(--color-surface-2);color:var(--color-text);padding:.85rem 1rem;font:inherit;outline:none}.ec-contact-form textarea{resize:vertical;min-height:10rem}.ec-contact-form input:focus,.ec-contact-form select:focus,.ec-contact-form textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in oklab,var(--color-primary) 18%,transparent)}.ec-contact-form button{justify-self:start;display:inline-flex;align-items:center;gap:.8rem;border:0;border-radius:100px;background:var(--color-primary);color:white;font:inherit;font-weight:700;padding:.85rem 1.4rem;cursor:pointer}.ec-contact-form button:hover{filter:brightness(.9)}.ec-contact-form-note{font-size:.88rem;color:var(--color-text-muted);margin:0}.ec-contact-form-note a{color:var(--color-primary)}.ec-contact-trap{position:absolute;left:-9999px;height:1px;width:1px;overflow:hidden}.ec-contact-alert{display:flex;gap:.6rem;padding:1rem;border-radius:.8rem;margin-bottom:1.2rem;line-height:1.5}.ec-contact-alert.success{background:#e8f8ed;color:#145c33}.ec-contact-alert.error{display:block;background:#fff0ed;color:#912d24}.ec-contact-alert ul{margin:.4rem 0 0;padding-left:1.3rem}@media(min-width:800px){.ec-contact-hero-inner{grid-template-columns:1.3fr .7fr}.ec-contact-layout{grid-template-columns:.75fr 1.25fr}.ec-contact-form-row{grid-template-columns:1fr 1fr}}@media(max-width:799px){.ec-contact-hero{padding:3.5rem 0}.ec-contact-email-card{max-width:none}}
/* Keep labels and fields on one compact line stack at every viewport. */
.ec-contact-form{gap:.85rem}
.ec-contact-form-row{gap:.85rem}
.ec-contact-form label{gap:.3rem;margin:0;align-content:start}
.ec-contact-form .ec-contact-label-text{display:block;color:var(--color-text)}
.ec-contact-form .ec-contact-label-text b{color:#b13d33}
.ec-contact-form input,.ec-contact-form select,.ec-contact-form textarea{padding:.7rem .9rem}
.ec-contact-form textarea{min-height:7.5rem}
.ec-contact-form button{margin-top:.15rem}
.ec-contact-form-note{line-height:1.4}
@media(max-width:799px){.ec-contact-form-card{padding:1.3rem}.ec-contact-form{gap:.8rem}.ec-contact-form-row{gap:.8rem}}
