.contact-page-wrapper{min-height:100vh;zoom:.9;background:radial-gradient(circle at 0 0,rgba(22,163,74,.05) 0,transparent 40%),radial-gradient(circle at 100% 100%,rgba(74,222,128,.05) 0,transparent 40%),radial-gradient(circle at 50% 50%,rgba(220,252,231,.4) 0,transparent 60%),var(--clr-bg,#f8fafc);background-attachment:fixed}.contact-hero{position:relative;padding-top:clamp(6.25rem,8vw,7.5rem);padding-bottom:clamp(2rem,3.5vw,3rem);background:linear-gradient(180deg,rgba(220,252,231,.5),rgba(248,250,252,0));overflow-x:clip}.contact-hero__bg{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 20% 20%,rgba(22,163,74,.12) 0,transparent 60%),radial-gradient(circle at 85% 30%,rgba(74,222,128,.14) 0,transparent 55%),radial-gradient(circle at 50% 90%,rgba(22,163,74,.06) 0,transparent 50%)}.contact-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr;gap:clamp(2rem,3.5vw,3.25rem);align-items:flex-start}@media (min-width:1024px){.contact-hero-grid{grid-template-columns:1.05fr 1fr;align-items:flex-start}}.contact-hero__left{display:flex;flex-direction:column;gap:clamp(.75rem,1.4vw,1.15rem);text-align:left}.contact-badge{display:inline-flex;width:fit-content;align-self:flex-start;align-items:center;gap:.5rem;padding:.4rem 1rem;border-radius:9999px;background:var(--clr-accent-light,#dcfce7);border:1px solid rgba(22,163,74,.25);color:var(--clr-primary-dark,#14532d);font-weight:700;font-size:clamp(.75rem,.9vw,.82rem);letter-spacing:.04em;text-transform:uppercase}.contact-hero__left h1{font-family:var(--font-display);font-size:clamp(2.1rem,3.8vw,3.35rem);font-weight:800;line-height:1.15;letter-spacing:-.025em;color:var(--clr-text);margin:0;text-align:left}.contact-hero__lead{font-size:clamp(.96rem,1.2vw,1.08rem);color:var(--clr-text-muted);line-height:1.65;margin:0;text-align:left;max-width:580px}.contact-channels-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width:640px){.contact-channels-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}.contact-channel-card{background:#ffffff;border:1.5px solid var(--clr-border);border-radius:var(--radius-lg,16px);padding:.75rem .95rem;display:flex;align-items:flex-start;gap:.65rem;text-decoration:none;color:inherit;box-shadow:var(--shadow-sm);transition:all .25s ease}a.contact-channel-card:hover{border-color:rgba(22,163,74,.4);transform:translateY(-2px);box-shadow:var(--shadow-md)}.contact-channel-card__icon{width:2.25rem;height:2.25rem;border-radius:10px;background:var(--clr-accent-light,#dcfce7);color:var(--clr-primary,#16a34a);display:flex;align-items:center;justify-content:center;flex-shrink:0}.contact-channel-card__content{display:flex;flex-direction:column;gap:.15rem;text-align:left}.contact-channel-card__label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--clr-text-muted)}.contact-channel-card__value{font-size:.85rem;font-weight:700;color:var(--clr-text);line-height:1.35;overflow-wrap:anywhere}a.contact-channel-card .contact-channel-card__value{color:var(--clr-primary-dark,#14532d)}.contact-map-card{grid-column:1/-1;background:#ffffff;border:1.5px solid var(--clr-border);border-radius:var(--radius-xl,20px);overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}.contact-map-header{padding:.85rem 1.15rem;display:flex;align-items:center;justify-content:space-between;background:var(--clr-surface-2,#f8fafc);border-bottom:1px solid var(--clr-border);gap:.5rem;flex-wrap:wrap}.contact-map-header__title{display:flex;align-items:center;gap:.5rem;font-size:.82rem;font-weight:700;color:var(--clr-text)}.contact-map-header__link{font-size:.78rem;font-weight:700;color:var(--clr-primary);text-decoration:none;display:inline-flex;align-items:center;gap:.25rem}.contact-map-header__link:hover{text-decoration:underline}.contact-map-frame{width:100%;height:350px;margin-bottom:-50px;border:none;display:block}.contact-hero__form-card{background:#ffffff;border:1px solid var(--clr-border-2);border-radius:var(--radius-xl,24px);padding:clamp(1.25rem,2vw,1.75rem);box-shadow:var(--shadow-xl),0 0 35px rgba(22,163,74,.08);position:relative;overflow:hidden;text-align:left}.contact-form-glow{position:absolute;top:0;right:0;width:12rem;height:12rem;background:radial-gradient(circle,rgba(74,222,128,.18) 0,transparent 70%);filter:blur(25px);border-radius:50%;pointer-events:none}.contact-form-header{margin-bottom:1.25rem;display:flex;flex-direction:column;gap:.4rem;text-align:left}.contact-form-header h3{font-family:var(--font-display);font-size:clamp(1.35rem,2vw,1.65rem);font-weight:800;color:var(--clr-text);line-height:1.2;margin:0}.contact-form-header p{font-size:clamp(.86rem,1.1vw,.94rem);color:var(--clr-text-muted);line-height:1.5;margin:0}.contact-form{display:flex;flex-direction:column;gap:.95rem;text-align:left}.contact-form__row{display:grid;grid-template-columns:1fr;gap:.95rem}@media (min-width:600px){.contact-form__row{grid-template-columns:repeat(2,1fr)}}.contact-form__group{display:flex;flex-direction:column;gap:.35rem;text-align:left}.contact-form__label{font-size:.84rem;font-weight:700;color:var(--clr-text);letter-spacing:.01em;text-align:left}.contact-form__input,.contact-form__select,.contact-form__textarea{width:100%;padding:.65rem .95rem;border-radius:var(--radius-md,12px);border:1.5px solid var(--clr-border);background:var(--clr-surface-2,#f0f7f2);color:var(--clr-text);font-size:.92rem;font-family:inherit;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}.contact-form__select{cursor:pointer}.contact-form__input:focus,.contact-form__select:focus,.contact-form__textarea:focus{outline:none;border-color:var(--clr-primary);background:#ffffff;box-shadow:0 0 0 3px rgba(22,163,74,.15)}.contact-form__input::placeholder,.contact-form__textarea::placeholder{color:var(--clr-text-light,#9ca3af)}.contact-form__textarea{resize:vertical;min-height:75px}.contact-form__submit{width:100%;justify-content:center;padding:.85rem 1.5rem;font-size:.98rem;font-weight:700;margin-top:.25rem}.contact-form__footer-note{display:flex;align-items:center;justify-content:center;gap:.4rem;font-size:.78rem;color:var(--clr-text-dim);text-align:center;margin-top:.25rem}