
.contact-page{background:#f2eee8;color:#172124}.contact-page main{overflow:hidden}.contact-hero{min-height:58vh;padding:clamp(7rem,12vw,10rem) clamp(1.25rem,6vw,6rem) clamp(4rem,7vw,6rem);display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,.5fr);gap:3rem;align-items:end;background:linear-gradient(115deg,rgba(10,25,27,.96),rgba(16,42,43,.75)),url('background.jpg') center/cover;color:#fff;position:relative}.contact-hero:after{content:"";position:absolute;inset:auto 0 0;height:1px;background:rgba(112,205,184,.45)}.contact-hero-copy{max-width:820px}.contact-kicker{display:inline-flex;text-transform:uppercase;letter-spacing:.18em;font-size:.74rem;font-weight:800;color:#77d0bb;margin-bottom:1.2rem}.contact-kicker.dark{color:#326f62}.contact-hero h1{font-size:clamp(3rem,7vw,6.8rem);line-height:.92;letter-spacing:-.055em;margin:0 0 1.5rem;max-width:11ch}.contact-hero p{font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.75;max-width:720px;color:rgba(255,255,255,.76)}.contact-badge{justify-self:end;width:min(100%,280px);border:1px solid rgba(119,208,187,.5);background:rgba(6,22,23,.48);backdrop-filter:blur(15px);padding:2rem;border-radius:1.25rem;display:grid;gap:.45rem}.contact-badge strong{font-size:1.15rem}.contact-badge span,.contact-badge small{color:rgba(255,255,255,.7)}.contact-layout{padding:clamp(4rem,8vw,8rem) clamp(1.25rem,6vw,6rem);display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);gap:clamp(2.5rem,7vw,7rem);max-width:1500px;margin:auto}.contact-info h2,.form-heading h2{font-size:clamp(2rem,4vw,3.6rem);line-height:1.02;letter-spacing:-.045em;margin:.3rem 0 2rem}.contact-info-list{display:grid;border-top:1px solid #cbc4ba}.contact-info-list a{display:grid;gap:.35rem;padding:1.35rem 0;border-bottom:1px solid #cbc4ba;color:inherit;text-decoration:none;transition:padding .25s ease,color .25s ease}.contact-info-list a:hover{padding-left:.7rem;color:#326f62}.contact-info-list span{text-transform:uppercase;letter-spacing:.13em;font-size:.7rem;font-weight:800;color:#6f7773}.contact-info-list strong{font-size:1.05rem}.contact-note{margin-top:2.5rem;padding:1.6rem;border-radius:1rem;background:#172124;color:#fff}.contact-note p{color:#b9c5c1;line-height:1.65}.contact-note a{color:#77d0bb;text-decoration:none;font-weight:800}.contact-form-card{background:#fff;border:1px solid #d8d1c7;border-radius:1.5rem;padding:clamp(1.5rem,4vw,3.5rem);box-shadow:0 25px 70px rgba(20,36,36,.1)}.form-heading>span{text-transform:uppercase;letter-spacing:.16em;color:#c96548;font-size:.72rem;font-weight:800}.contact-form-card form{display:grid;gap:1.25rem}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.contact-form-card label{display:grid;gap:.55rem;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#4b5754}.contact-form-card input,.contact-form-card select,.contact-form-card textarea{width:100%;box-sizing:border-box;border:1px solid #cfc8be;background:#f8f6f2;border-radius:.8rem;padding:1rem 1.05rem;font:inherit;font-size:1rem;color:#172124;text-transform:none;letter-spacing:normal;outline:none;transition:border-color .25s ease,box-shadow .25s ease,background .25s ease}.contact-form-card input:focus,.contact-form-card select:focus,.contact-form-card textarea:focus{border-color:#4d9d8b;box-shadow:0 0 0 4px rgba(77,157,139,.13);background:#fff}.contact-form-card textarea{resize:vertical}.consent{grid-template-columns:auto 1fr!important;align-items:start;text-transform:none!important;letter-spacing:normal!important;font-weight:500!important;line-height:1.55}.consent input{width:1.1rem;height:1.1rem;margin-top:.15rem}.contact-submit{justify-self:start;border:0;border-radius:.8rem;background:#1c6154;color:#fff;padding:1rem 1.5rem;font-weight:850;font-size:1rem;cursor:pointer;box-shadow:0 13px 30px rgba(28,97,84,.22);transition:transform .25s ease,background .25s ease,box-shadow .25s ease}.contact-submit:hover{transform:translateY(-3px);background:#144d43;box-shadow:0 18px 38px rgba(28,97,84,.28)}.contact-submit:disabled{opacity:.65;cursor:wait;transform:none}.contact-status{min-height:1.5rem;margin:0;font-weight:750}.contact-status.success{color:#19704d}.contact-status.error{color:#b33b32}@media(max-width:900px){.contact-hero,.contact-layout{grid-template-columns:1fr}.contact-badge{justify-self:start}.contact-layout{gap:3rem}}@media(max-width:600px){.contact-hero{min-height:auto;padding-top:7rem}.contact-hero h1{font-size:clamp(2.8rem,15vw,4.5rem)}.contact-grid{grid-template-columns:1fr}.contact-form-card{border-radius:1rem}.contact-submit{width:100%}}
