.contact-page{background:var(--ivory);color:var(--forest)}body:has(.contact-page) .site-footer{border-radius:0}.contact-hero{aspect-ratio:2400/1165;background:var(--forest);width:100%;overflow:hidden}.contact-hero img{object-fit:cover;object-position:center;width:100%;height:100%}.contact-information{width:var(--shell);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(3rem,7vw,9rem);margin-inline:auto;padding-block:clamp(5rem,7vw,8.5rem);display:grid}.contact-information__copy h1{letter-spacing:.065em;max-width:8.5em;font-size:clamp(2.25rem,3.05vw,3rem);line-height:1.15}.contact-information__copy>p{margin:clamp(1.5rem,2vw,2.4rem) 0 1.5rem;font-size:clamp(1rem,1.12vw,1.125rem);line-height:1.75}.contact-information address{align-items:flex-start;gap:1rem;margin-top:1.2rem;font-size:clamp(.95rem,1.08vw,1.08rem);font-style:normal;font-weight:600;line-height:1.55;display:flex}.contact-information address svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6px;flex:0 0 32px;width:32px;height:32px}.contact-information__links{gap:.9rem;width:min(100%,390px);margin:clamp(2rem,3vw,3.5rem) auto 0;display:grid}.contact-information__links a{background:color-mix(in srgb, var(--sage) 30%, var(--ivory));text-align:center;border-radius:999px;justify-content:center;align-items:center;min-height:48px;padding:.65rem 1.2rem;font-size:clamp(.92rem,1vw,1rem);font-weight:700;display:flex}.contact-information__links a:hover{background:color-mix(in srgb, var(--sage) 43%, var(--ivory))}.contact-map{aspect-ratio:1.14;background:color-mix(in srgb, var(--sage) 20%, var(--ivory));border:0;width:100%;display:block}.contact-message{background-color:var(--sage);color:var(--ivory);padding:clamp(5rem,6.3vw,7.5rem) 0 clamp(6.5rem,9vw,10rem)}.contact-message__inner{width:var(--shell);grid-template-columns:minmax(0,.84fr) minmax(0,1fr);align-items:center;gap:clamp(3rem,7vw,8rem);margin-inline:auto;display:grid}.contact-message__inner>img{aspect-ratio:.8;object-fit:cover;object-position:center;border-radius:clamp(2rem,3vw,3.75rem);width:100%}.contact-form{grid-template-columns:minmax(0,1fr);display:grid}.contact-form label{text-transform:uppercase;margin:0 0 .45rem .9rem;font-size:clamp(.95rem,1.05vw,1.05rem);font-weight:600;line-height:1.35}.contact-form input,.contact-form textarea{background:color-mix(in srgb, var(--ivory) 63%, var(--sage));width:100%;color:var(--forest);border:1px solid #0000;border-radius:999px;font-size:1rem}.contact-form input{min-height:54px;margin-bottom:1.6rem;padding:.7rem 1.2rem}.contact-form textarea{resize:vertical;border-radius:1.8rem;min-height:170px;padding:1rem 1.2rem}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--ivory);outline:2px solid var(--ivory);outline-offset:3px}.contact-form button{border:1px solid var(--ivory);background:var(--ivory);min-width:165px;min-height:48px;color:var(--forest);text-transform:uppercase;cursor:pointer;border-radius:999px;justify-self:end;margin-top:clamp(1.5rem,2.3vw,2.6rem);padding:.7rem 1.6rem;font-size:clamp(.92rem,1vw,1rem);font-weight:700;line-height:1.2}.contact-form button:hover{background:var(--forest);color:var(--ivory)}@media (width>=768px) and (width<=1100px){.contact-information{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:3rem}.contact-information__copy>p{line-height:1.65}.contact-message__inner{gap:3.5rem}.contact-form input{margin-bottom:1.25rem}.contact-form textarea{min-height:145px}}@media (width<=767px){.contact-hero{aspect-ratio:auto;height:70svh;min-height:540px}.contact-hero img{object-position:46% center}.contact-information{grid-template-columns:1fr;gap:3.5rem;padding-block:4.5rem}.contact-information__copy h1{letter-spacing:.045em;font-size:clamp(2.05rem,10vw,2.55rem)}.contact-information__copy>p{font-size:1rem}.contact-information__links{margin-inline:0}.contact-map{min-height:390px}.contact-message{padding-block:4.5rem 6.5rem}.contact-message__inner{grid-template-columns:1fr;gap:3.5rem}.contact-message__inner>img{border-radius:2rem;max-height:620px}.contact-form label{font-size:.95rem}.contact-form input{margin-bottom:1.35rem}.contact-form textarea{min-height:160px}.contact-form button{min-width:150px}}@media (width<=390px){.contact-information address{gap:.75rem}.contact-information address svg{flex-basis:28px;width:28px;height:28px}}
