.contact-hero{background-color:var(--color-forest-950);flex-direction:column;min-height:100dvh;display:flex;position:relative;overflow:hidden}@media (min-width:1024px){.contact-hero{min-height:100vh}}.contact-hero__bg{z-index:0;position:absolute;inset:0}.contact-hero__bg-image{object-fit:cover;object-position:center 35%;filter:saturate(.9)brightness(.55)contrast(1.1)}.contact-hero__bg-overlay{z-index:1;background:radial-gradient(circle at 80% 20%,#3cb97a26 0%,#0000 50%),linear-gradient(90deg,#021a0ef2 0%,#021a0ebf 45%,#021a0e4d 100%),linear-gradient(#0000 75%,#021a0e 100%);position:absolute;inset:0}.contact-hero__container{z-index:10;width:100%;max-width:var(--container-max);grid-template-columns:1fr;align-items:center;gap:3rem;margin:auto;padding:8.5rem 1.5rem 6rem;display:grid;position:relative}@media (min-width:1024px){.contact-hero__container{grid-template-columns:1.1fr .9fr;gap:5rem;padding:9rem 3rem 8rem}}.contact-hero__content{max-width:640px}.contact-hero__title{font-family:var(--font-heading);color:#fff;letter-spacing:-.04em;margin-bottom:2rem;font-size:clamp(2.75rem,7vw,4.25rem);font-weight:800;line-height:1.1}.contact-hero__title-accent{color:var(--color-forest-300);font-style:italic;font-weight:700;display:block}.contact-hero__description{color:#ffffffe0;max-width:540px;margin-bottom:3rem;font-size:clamp(1rem,1.5vw,1.15rem);line-height:1.7}.contact-hero__actions{flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}.contact-hero__cta-primary{color:var(--color-forest-950);background:var(--color-forest-300);border-radius:var(--radius-md);transition:all .3s var(--ease-out-expo);align-items:center;padding:1rem 2.25rem;font-size:.9375rem;font-weight:700;display:inline-flex}.contact-hero__cta-primary:hover{background:var(--color-forest-200);transform:translateY(-2px);box-shadow:0 12px 32px #3cb97a59}.contact-hero__cta-secondary{color:#fff;align-items:center;gap:.5rem;font-size:.9375rem;font-weight:600;transition:all .3s;display:inline-flex}.contact-hero__cta-secondary svg{transition:transform .3s var(--ease-out-expo)}.contact-hero__cta-secondary:hover{color:var(--color-forest-200)}.contact-hero__cta-secondary:hover svg{transform:translate(4px)}.contact-hero__glass-card{-webkit-backdrop-filter:blur(24px);background:#ffffff08;border:1px solid #ffffff1a;border-radius:2rem;padding:2.5rem;box-shadow:0 40px 100px -20px #0009}.contact-hero__glass-title{font-family:var(--font-heading);letter-spacing:.15em;text-transform:uppercase;color:var(--color-forest-300);align-items:center;gap:1rem;margin-bottom:2rem;font-size:.75rem;font-weight:800;display:flex}.contact-hero__glass-title:after{content:"";background:linear-gradient(to right, var(--color-forest-500), transparent);flex-grow:1;height:1px}.contact-hero__quick-info{flex-direction:column;gap:2rem;display:flex}.contact-hero__info-item{flex-direction:column;gap:.5rem;display:flex}.contact-hero__info-label{text-transform:uppercase;letter-spacing:.1em;color:#fff6;font-size:.625rem;font-weight:800}.contact-hero__info-value{font-family:var(--font-heading);color:#fff;font-size:1.25rem;font-weight:700;transition:color .3s}.contact-hero__info-value:hover{color:var(--color-forest-300)}.contact-hero__info-sub{color:#ffffff80;font-size:.8125rem;line-height:1.4}@media (max-width:768px){.contact-hero__container{gap:2rem}}
.contact-details{padding:var(--section-padding-y) 0;background-color:#fff;overflow:hidden}.contact-details__container{max-width:var(--container-max);margin:0 auto;padding:0 2rem}.contact-details__grid{grid-template-columns:1fr;align-items:flex-start;gap:4rem;display:grid}@media (min-width:1024px){.contact-details__grid{grid-template-columns:.8fr 1.2fr;gap:6rem}}.contact-details__header{margin-bottom:3rem}.contact-details__label{letter-spacing:.15em;text-transform:uppercase;color:var(--color-forest-600);margin-bottom:1rem;font-size:.75rem;font-weight:800;display:block}.contact-details__title{font-family:var(--font-heading);color:var(--color-forest-950);letter-spacing:-.03em;margin-bottom:1.5rem;font-size:clamp(2rem,5vw,3rem);font-weight:800;line-height:1.1}.contact-details__description{color:var(--color-text-muted);font-size:1.125rem;line-height:1.6}.contact-details__info-list{flex-direction:column;gap:2.5rem;display:flex}.contact-details__info-category{text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);margin-bottom:.75rem;font-size:.6875rem;font-weight:700;display:block}.contact-details__address,.contact-details__text{color:var(--color-forest-950);font-size:1.0625rem;font-style:normal;line-height:1.6}.contact-details__link{font-family:var(--font-heading);color:var(--color-forest-700);font-size:1.25rem;font-weight:700;transition:color .3s}.contact-details__link:hover{color:var(--color-forest-900)}.contact-details__form-wrap{background:var(--color-surface);border:1px solid #0000000d;border-radius:2rem;padding:2.5rem;box-shadow:0 40px 100px -30px #0000000d}@media (min-width:768px){.contact-details__form-wrap{padding:3.5rem}}.contact-form{flex-direction:column;gap:2rem;display:flex}.contact-form__row{grid-template-columns:1fr;gap:2rem;display:grid}@media (min-width:640px){.contact-form__row{grid-template-columns:1fr 1fr}}.contact-form__group{flex-direction:column;gap:.75rem;display:flex}.contact-form__label{color:var(--color-forest-900);font-size:.8125rem;font-weight:700}.contact-form__input{border-radius:var(--radius-md);color:var(--color-forest-950);background:#fff;border:1px solid #0000001a;padding:1rem 1.25rem;font-size:1rem;transition:all .3s}.contact-form__input:focus{border-color:var(--color-forest-500);outline:none;box-shadow:0 0 0 4px #3cb97a1a}.contact-form__input::placeholder{color:#00000040}.contact-form__select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5' stroke='%23021A0E' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;padding-right:3rem}.contact-form__textarea{resize:vertical}.contact-form__submit{background:var(--color-forest-800);color:#fff;border-radius:var(--radius-md);transition:all .3s var(--ease-out-expo);justify-content:center;align-items:center;gap:.75rem;margin-top:1rem;padding:1.125rem 2rem;font-size:1rem;font-weight:700;display:flex}.contact-form__submit:hover{background:var(--color-forest-950);transform:translateY(-2px);box-shadow:0 12px 32px #021a0e33}.contact-form__submit svg{transition:transform .3s var(--ease-out-expo)}.contact-form__submit:hover svg{transform:translate(4px)}
.contact-map{background-color:var(--color-surface);padding:var(--section-padding-y) 0;overflow:hidden}.contact-map__container{max-width:var(--container-max);margin:0 auto;padding:0 2rem}.contact-map__header{text-align:center;margin-bottom:3rem}.contact-map__label{letter-spacing:.15em;text-transform:uppercase;color:var(--color-forest-600);margin-bottom:1rem;font-size:.75rem;font-weight:800;display:block}.contact-map__title{font-family:var(--font-heading);color:var(--color-forest-950);letter-spacing:-.03em;font-size:clamp(2rem,5vw,3rem);font-weight:800}.contact-map__frame-wrap{background:#fff;border:1px solid #00000014;border-radius:2rem;width:100%;height:clamp(350px,60vh,600px);margin-bottom:3rem;overflow:hidden;box-shadow:0 40px 100px -30px #0000001a}.contact-map__iframe{filter:grayscale(.2)contrast(1.1);transition:filter .5s}.contact-map__iframe:hover{filter:grayscale(0)contrast()}.contact-map__footer{flex-direction:column;justify-content:space-between;align-items:center;gap:2rem;display:flex}@media (min-width:768px){.contact-map__footer{flex-direction:row;align-items:flex-end}}.contact-map__instruction{max-width:540px}.contact-map__instruction-title{font-family:var(--font-heading);color:var(--color-forest-950);margin-bottom:.5rem;font-size:1.125rem;font-weight:700}.contact-map__instruction-text{color:var(--color-text-muted);font-size:1rem;line-height:1.6}.contact-map__directions{color:var(--color-forest-700);border-radius:var(--radius-md);white-space:nowrap;transition:all .3s var(--ease-out-expo);background:#fff;border:1px solid #0000000d;align-items:center;gap:.75rem;padding:1rem 2rem;font-size:1rem;font-weight:700;display:flex;box-shadow:0 4px 12px #0000000a}.contact-map__directions:hover{color:var(--color-forest-900);transform:translateY(-3px);box-shadow:0 12px 24px #00000014}.contact-map__directions svg{transition:transform .3s var(--ease-out-expo)}.contact-map__directions:hover svg{transform:translate(2px,-2px)}
