.ecogen-contact .contact-hero{background:linear-gradient(110deg,var(--color-night),var(--color-forest-950));height:auto;min-height:390px;max-height:none}.ecogen-contact .contact-hero .hero-content{padding-top:150px;padding-bottom:64px}.ecogen-contact .contact-hero h1{text-wrap:balance;max-width:950px;font-size:clamp(46px,5.5vw,76px);line-height:1.05}.ecogen-contact .contact-hero .hero-promise{max-width:760px;font-size:21px}.ecogen-contact .contact-layout{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;gap:80px;display:grid}.ecogen-contact .contact-form-panel h2{font-size:38px}.ecogen-contact .contact-details{background:var(--color-surface);border-top:3px solid var(--color-forest-700);padding:32px}.ecogen-contact .contact-details h2{font-size:32px}.ecogen-contact .contact-direct-email{overflow-wrap:anywhere;align-items:center;gap:12px;min-height:44px;margin:24px 0 30px;font-size:14px;display:flex}.ecogen-contact .contact-direct-email svg{color:var(--color-forest-700);flex-shrink:0}.ecogen-contact .contact-office{border-top:1px solid #cddbd2;align-items:flex-start;gap:18px;margin-top:28px;padding-top:28px;display:flex}.ecogen-contact .contact-office>svg{color:var(--color-forest-700);flex-shrink:0;margin-top:5px}.ecogen-contact .contact-office-label{font-family:var(--font-barlow-condensed);text-transform:uppercase;letter-spacing:.12em;color:var(--color-forest-700);font-size:12px}.ecogen-contact .contact-office h3{margin-top:10px;font-size:24px}.ecogen-contact .contact-office address{color:var(--color-ink-muted);margin-top:16px;font-size:14px;font-style:normal;line-height:1.8}.ecogen-contact .contact-office-hours,.ecogen-contact .contact-office-phone{align-items:flex-start;gap:10px;margin-top:16px;font-size:13px;display:flex}.ecogen-contact .contact-office-hours svg{flex-shrink:0;margin-top:4px}.ecogen-contact .contact-office-phone{align-items:center;min-height:44px;margin-top:4px}.ecogen-contact .contact-office .text-link{font-size:12px}.ecogen-contact .inquiry-form{margin-top:24px;position:relative}.ecogen-contact .inquiry-required{color:var(--color-ink-muted);margin-bottom:28px;font-size:12px}.ecogen-contact .inquiry-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;display:grid}.ecogen-contact .inquiry-full{grid-column:1/-1}.ecogen-contact .inquiry-field label{margin-bottom:9px;font-size:14px;font-weight:500;display:block}.ecogen-contact .inquiry-optional{color:var(--color-ink-muted);font-size:12px;font-weight:400}.ecogen-contact .inquiry-field input,.ecogen-contact .inquiry-field select,.ecogen-contact .inquiry-field textarea{width:100%;font:inherit;min-height:48px;color:var(--color-ink);background:#fff;border:1px solid #b9c9c0;border-radius:3px;padding:12px 14px;font-size:16px;display:block}.ecogen-contact .inquiry-field textarea{resize:vertical;min-height:168px}.ecogen-contact .inquiry-field input:focus,.ecogen-contact .inquiry-field select:focus,.ecogen-contact .inquiry-field textarea:focus{outline:2px solid var(--color-forest-700);outline-offset:2px}.ecogen-contact .inquiry-field [aria-invalid=true]{border-color:var(--color-error)}.ecogen-contact .inquiry-hint{color:var(--color-ink-muted);margin-top:7px;font-size:12px}.ecogen-contact .inquiry-field-error{color:var(--color-error);margin-top:7px;font-size:13px}.ecogen-contact .inquiry-error-summary{border-left:3px solid var(--color-error);color:var(--color-error);background:#fff2ef;margin-bottom:24px;padding:18px;font-size:14px}.ecogen-contact .inquiry-error-summary ul{margin-top:8px;padding-left:20px;list-style:outside}.ecogen-contact .inquiry-error-summary a{text-decoration:underline}.ecogen-contact .inquiry-consent{align-items:flex-start;gap:12px;margin-top:28px;display:flex}.ecogen-contact .inquiry-consent input{width:20px;height:20px;accent-color:var(--color-forest-700);flex-shrink:0;margin-top:3px}.ecogen-contact .inquiry-consent label{color:var(--color-ink-muted);cursor:pointer;font-size:13px;line-height:1.8}.ecogen-contact .inquiry-consent a,.ecogen-contact .inquiry-success a{color:var(--color-forest-700);text-underline-offset:3px;text-decoration:underline}.ecogen-contact .inquiry-submit{background:var(--color-forest-700);color:#fff;cursor:pointer;border-radius:3px;justify-content:center;align-items:center;gap:24px;min-height:48px;margin-top:28px;padding:12px 24px;font-size:14px;font-weight:600;display:inline-flex}.ecogen-contact .inquiry-submit:hover{background:var(--color-forest-800)}.ecogen-contact fieldset:disabled{opacity:.7}.ecogen-contact .inquiry-submit:disabled{cursor:wait}.ecogen-contact .inquiry-trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.ecogen-contact .inquiry-success{border-top:3px solid var(--color-forest-700);background:var(--color-surface);margin-top:28px;padding:32px}.ecogen-contact .inquiry-success>svg{color:var(--color-forest-700);margin-bottom:24px}.ecogen-contact .inquiry-success h3{font-size:30px}.ecogen-contact .inquiry-success p{color:var(--color-ink-muted);overflow-wrap:anywhere;margin-top:20px;font-size:15px}.ecogen-contact .inquiry-spinner{animation:1s linear infinite inquiry-spin}@keyframes inquiry-spin{to{transform:rotate(360deg)}}@media (max-width:1023px){.ecogen-contact .contact-layout{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:36px}.ecogen-contact .contact-details{padding:24px}.ecogen-contact .inquiry-grid{grid-template-columns:1fr}.ecogen-contact .inquiry-full{grid-column:auto}}@media (max-width:767px){.ecogen-contact .contact-hero{min-height:350px}.ecogen-contact .contact-hero .hero-content{padding-top:110px;padding-bottom:50px}.ecogen-contact .contact-hero h1{font-size:clamp(42px,9vw,62px)}.ecogen-contact .contact-hero .hero-promise{font-size:20px}.ecogen-contact .contact-layout{grid-template-columns:1fr;gap:48px}.ecogen-contact .inquiry-submit{width:100%}.ecogen-contact .contact-form-panel h2{font-size:32px}}.ecogen-contact .contact-office>div{min-width:0}.ecogen-contact .contact-direct-email span{overflow-wrap:anywhere;min-width:0}@media (max-width:399px){.ecogen-contact .contact-details{padding:24px 18px}.ecogen-contact .contact-office{gap:12px}}.ecogen-contact .contact-office address,.ecogen-contact .inquiry-consent label,.ecogen-contact .inquiry-success p{font-size:16px}
