/* =========================================================
   CONTACT
========================================================= */
.contact-page{--contact-mountain:#b48773;--contact-sun:#e2c56b}

/* =========================================================
   INTRO
========================================================= */
.contact-intro{padding:clamp(85px,9vw,145px) 0 clamp(65px,8vw,115px);background:var(--clhf-cream-soft)}
.contact-intro-grid{display:grid;grid-template-columns:minmax(170px,240px) 1fr;gap:clamp(45px,7vw,110px)}
.contact-page-label{padding-top:12px;font-family:var(--font-display);font-size:1.05rem;font-weight:800;color:var(--clhf-clay)}
.contact-intro h1{max-width:1050px;margin:0 0 clamp(30px,4vw,50px);font-family:var(--font-display);font-size:clamp(3.5rem,6.8vw,7rem);font-weight:800;line-height:.96;letter-spacing:-.06em;color:var(--clhf-navy)}
.contact-intro-copy{max-width:900px;font-size:clamp(1.18rem,1.5vw,1.48rem);line-height:1.75;color:var(--clhf-muted)}
.contact-intro-copy p:last-child{margin-bottom:0}

/* =========================================================
   PHOTO DIVIDER + SUN
========================================================= */
.contact-photo-divider{padding:clamp(26px,3vw,42px) 0;background:#fff}
.contact-photo-divider .container-wide{position:relative;isolation:isolate}
.contact-photo-divider .container-wide::before{content:"";position:absolute;z-index:0;top:-105px;left:50%;width:220px;height:220px;border-radius:50%;background:var(--contact-sun);transform:translateX(-50%);pointer-events:none}
.contact-photo-divider-inner{position:relative;z-index:1;height:clamp(230px,27vw,390px);overflow:hidden}
.contact-photo-divider img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}

/* =========================================================
   CONTACT PATHS
========================================================= */
.contact-paths{padding:clamp(90px,10vw,150px) 0;background:#fff}
.contact-section-heading{display:grid;grid-template-columns:minmax(170px,240px) 1fr;gap:clamp(45px,7vw,110px);align-items:start;margin-bottom:clamp(55px,7vw,90px)}
.contact-section-heading>span{padding-top:8px;font-family:var(--font-display);font-size:1.05rem;font-weight:800;color:var(--clhf-clay)}
.contact-section-heading h2{max-width:950px;margin:0;font-family:var(--font-display);font-size:clamp(2.8rem,5vw,5.3rem);font-weight:780;line-height:1;letter-spacing:-.052em;color:var(--clhf-navy)}

.contact-paths-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid rgba(2,34,72,.16);border-left:1px solid rgba(2,34,72,.16)}

.contact-paths-grid article{position:relative;min-height:275px;overflow:hidden;border-right:1px solid rgba(2,34,72,.16);border-bottom:1px solid rgba(2,34,72,.16);isolation:isolate;background:#fff}

.contact-path-content{position:relative;z-index:3;min-height:275px;padding:clamp(34px,4vw,55px);padding-right:clamp(105px,10vw,145px)}

.contact-paths-grid h3{margin:0 0 18px;font-family:var(--font-display);font-size:clamp(1.7rem,2.5vw,2.7rem);font-weight:760;line-height:1.04;letter-spacing:-.04em;color:var(--clhf-navy)}
.contact-paths-grid p{max-width:520px;margin:0;font-size:1rem;line-height:1.7;color:var(--clhf-muted)}

.contact-paths-grid article::before{content:"";position:absolute;z-index:1;right:36px;bottom:33px;width:82px;height:82px;border-radius:50%;background:var(--contact-sun);pointer-events:none}
.contact-paths-grid article::after{content:"";position:absolute;z-index:2;right:0;bottom:0;width:100px;height:140px;background:var(--contact-mountain);clip-path:polygon(0 100%,100% 0,100% 100%);pointer-events:none}

/* =========================================================
   FORM SECTION
========================================================= */
.contact-main{padding:clamp(90px,10vw,155px) 0;background:var(--clhf-cream)}
.contact-main-grid{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(450px,1.22fr);gap:clamp(55px,8vw,125px);align-items:start}

.contact-main-label{display:block;margin-bottom:27px;font-family:var(--font-display);font-size:1.05rem;font-weight:800;color:var(--clhf-clay)}
.contact-main-info h2{max-width:620px;margin:0 0 30px;font-family:var(--font-display);font-size:clamp(2.8rem,4.8vw,5rem);font-weight:780;line-height:1;letter-spacing:-.052em;color:var(--clhf-navy)}
.contact-main-info>p{max-width:600px;margin:0;font-size:clamp(1.05rem,1.22vw,1.25rem);line-height:1.78;color:var(--clhf-muted)}

.contact-foundation-note{margin-top:48px;padding-top:27px;border-top:1px solid rgba(2,34,72,.16)}
.contact-foundation-note strong,.contact-foundation-note span{display:block}
.contact-foundation-note strong{margin-bottom:7px;font-family:var(--font-display);font-size:1rem;color:var(--clhf-navy)}
.contact-foundation-note span{font-size:.94rem;color:var(--clhf-muted)}

/* =========================================================
   FORM
========================================================= */
.contact-form-wrap{position:relative}
.contact-form{display:block}

.contact-field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.contact-field{margin-bottom:25px}

.contact-field label{display:block;margin-bottom:9px;font-family:var(--font-display);font-size:.84rem;font-weight:750;color:var(--clhf-navy)}
.contact-field label span{color:var(--clhf-clay)}

.contact-field input,.contact-field select,.contact-field textarea{display:block;width:100%;border:1px solid rgba(2,34,72,.22);border-radius:0;background:#fff;color:var(--clhf-navy);font-family:var(--font-body);font-size:1rem;outline:none;transition:border-color .2s ease,box-shadow .2s ease}

.contact-field input,.contact-field select{height:58px;padding:0 17px}
.contact-field textarea{min-height:180px;padding:16px 17px;resize:vertical;line-height:1.6}

.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{border-color:var(--clhf-clay);box-shadow:0 0 0 3px rgba(180,135,115,.12)}

.contact-privacy{margin:0 0 27px;font-size:.82rem;line-height:1.55;color:var(--clhf-muted)}
.contact-privacy a{color:var(--clhf-navy);text-underline-offset:3px}

.contact-submit{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;min-width:225px;height:62px;padding:0 25px 0 31px;border:0;border-radius:999px;background:var(--clhf-clay);color:#fff;cursor:pointer;font-family:var(--font-display);font-size:.95rem;font-weight:800;line-height:1;text-transform:uppercase;letter-spacing:.07em;transition:background .22s ease,transform .22s ease,box-shadow .22s ease}
.contact-submit svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2.7;stroke-linecap:round;stroke-linejoin:round;transition:transform .22s ease}
.contact-submit:hover{background:#92391f;transform:translateY(-2px);box-shadow:0 10px 28px rgba(2,34,72,.14)}
.contact-submit:hover svg{transform:translateX(5px)}
.contact-submit:active{transform:translateY(0)}
.contact-submit:focus-visible{outline:3px solid rgba(169,65,31,.25);outline-offset:4px}

.contact-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

.contact-alert{margin-bottom:30px;padding:17px 19px;border-left:4px solid;font-size:.94rem;line-height:1.55}
.contact-alert strong,.contact-alert span{display:block}
.contact-alert strong{margin-bottom:3px;font-family:var(--font-display)}
.contact-alert-success{border-color:#4f8060;background:#edf6f0;color:#315b3f}
.contact-alert-error{border-color:#a9411f;background:#fff2ed;color:#7e311c}

/* =========================================================
   TABLET
========================================================= */
@media(max-width:950px){
.contact-intro-grid,.contact-section-heading{grid-template-columns:150px 1fr;gap:36px}
.contact-main-grid{grid-template-columns:1fr;gap:65px}
.contact-main-info{max-width:760px}
}

/* =========================================================
   MOBILE
========================================================= */
@media(max-width:700px){
.contact-intro{padding:65px 0}
.contact-intro-grid,.contact-section-heading{display:block}
.contact-page-label,.contact-section-heading>span{display:block;margin-bottom:25px;padding:0}
.contact-intro h1{font-size:clamp(3rem,13vw,4.7rem)}
.contact-intro-copy{font-size:1.08rem;line-height:1.7}

.contact-photo-divider{padding:18px 0}
.contact-photo-divider-inner{height:220px}
.contact-photo-divider .container-wide::before{top:-72px;width:170px;height:170px}

.contact-paths{padding:70px 0}
.contact-section-heading{margin-bottom:45px}
.contact-section-heading h2{font-size:clamp(2.6rem,11vw,4rem)}

.contact-paths-grid{grid-template-columns:1fr}
.contact-paths-grid article{min-height:230px}
.contact-path-content{min-height:230px;padding:29px 98px 31px 23px}
.contact-paths-grid h3{font-size:clamp(1.6rem,7.5vw,2.25rem)}
.contact-paths-grid article::before{right:24px;bottom:29px;width:70px;height:70px}
.contact-paths-grid article::after{width:86px;height:118px}

.contact-main{padding:75px 0}
.contact-main-grid{display:block}
.contact-main-info{margin-bottom:55px}
.contact-main-info h2{font-size:clamp(2.6rem,11vw,4rem)}
.contact-main-info>p{font-size:1.02rem;line-height:1.72}
.contact-foundation-note{margin-top:35px}

.contact-field-row{grid-template-columns:1fr;gap:0}
.contact-submit{min-width:205px;height:58px;padding:0 23px 0 28px;gap:30px;font-size:.9rem}
.contact-submit svg{width:24px;height:24px}
}

/* =========================================================
   SMALL PHONE
========================================================= */
@media(max-width:430px){
.contact-intro{padding:55px 0}
.contact-intro h1{font-size:clamp(2.7rem,12.8vw,4rem)}
.contact-intro-copy{font-size:1rem}

.contact-photo-divider-inner{height:195px}
.contact-photo-divider .container-wide::before{top:-60px;width:145px;height:145px}

.contact-path-content{padding:26px 82px 28px 18px}
.contact-paths-grid article::before{right:18px;bottom:25px;width:60px;height:60px}
.contact-paths-grid article::after{width:74px;height:102px}

.contact-field input,.contact-field select{height:55px}
.contact-submit{min-width:195px;height:56px;padding:0 21px 0 26px}
}