.cch-contact-page {
  --cch-navy:#16375b;
  --cch-blue:#214b86;
  --cch-cyan:#22b7d2;
  --cch-green:#68b947;
  --cch-magenta:#b4459f;
  --cch-cream:#f7f3eb;
  --cch-ink:#17324d;
  --cch-muted:#65747f;
  color:var(--cch-ink);
  font-family:"DM Sans",sans-serif;
}
.cch-contact-page .site-main,.cch-contact-page .entry-content{margin:0!important;max-width:none!important;padding:0!important}
.cch-contact-page .elementor{overflow:hidden}
.cch-contact-page .elementor-widget-text-editor,.cch-contact-page .elementor-widget-button{font-family:"DM Sans",sans-serif!important}

.cch-contact-title{background:#fff;padding:52px 28px 48px}
.cch-contact-page .elementor-element.cch-contact-title-inner{margin:0 auto!important;max-width:1200px;text-align:center}
.cch-contact-title-heading .elementor-heading-title{color:var(--cch-navy)!important;font-family:"Fraunces",serif;font-size:clamp(52px,6vw,80px)!important;font-weight:600;letter-spacing:-.04em;line-height:1!important}

.cch-contact-hero{background:radial-gradient(circle at 78% 18%,rgba(34,183,210,.24),transparent 25%),radial-gradient(circle at 88% 90%,rgba(180,69,159,.3),transparent 28%),linear-gradient(118deg,#102d4e 0%,#214b86 64%,#255b72 100%);color:#fff;min-height:650px;overflow:hidden;position:relative}
.cch-contact-hero:after{background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:48px 48px;content:"";inset:0;mask-image:linear-gradient(90deg,transparent 5%,#000);opacity:.45;pointer-events:none;position:absolute}
.cch-contact-page .elementor-element.cch-contact-hero-inner{justify-content:center!important;margin:0 auto!important;max-width:1240px;min-height:650px;padding:100px 28px!important;position:relative;z-index:1}
.cch-contact-hero-inner>.cch-el-h1{max-width:900px}
.cch-contact-hero .elementor-heading-title,.cch-contact-hero p{color:#fff!important}
.cch-contact-hero .cch-el-h1 .elementor-heading-title{font-size:clamp(48px,6.6vw,88px)!important;line-height:.98!important}
.cch-contact-hero .cch-el-lead{font-size:clamp(18px,2vw,23px)!important;line-height:1.6!important;margin-top:12px;max-width:720px!important}
.cch-contact-page .elementor-element.cch-contact-hero-actions{align-items:center!important;display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:14px!important;margin-top:18px}
.cch-contact-button-outline .elementor-button{background:transparent!important;border:1px solid rgba(255,255,255,.55)!important;color:#fff!important}
.cch-contact-button-outline .elementor-button:hover{background:rgba(255,255,255,.12)!important}

.cch-contact-details{background:#fff;padding:108px 28px 98px}
.cch-contact-page .elementor-element.cch-contact-details-inner{margin:0 auto!important;max-width:1200px;text-align:center}
.cch-contact-details-inner>.cch-el-intro{color:var(--cch-muted);font-size:18px;line-height:1.7;margin:0 auto 45px;max-width:780px!important}
.cch-contact-page .elementor-element.cch-contact-card-grid{display:grid!important;gap:18px!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;text-align:left}
.cch-contact-card-grid>.elementor-element{height:100%}
.cch-contact-card-grid>.elementor-element>.elementor-widget-container{height:100%}
.cch-contact-card{background:#f7f9f9;border:1px solid #e2e9e9;border-radius:24px;display:flex;flex-direction:column;height:100%;min-height:315px;padding:30px;transition:transform .2s ease,box-shadow .2s ease}
.cch-contact-card:hover{box-shadow:0 20px 50px rgba(22,55,91,.1);transform:translateY(-5px)}
.cch-contact-card>span{color:var(--cch-magenta);font-size:12px;font-weight:800;letter-spacing:.16em}
.cch-contact-card h3{color:var(--cch-ink);font:600 28px/1.15 "Fraunces",serif;margin:28px 0 16px}
.cch-contact-card p{color:var(--cch-muted);font-size:15px;line-height:1.7;margin:0 0 20px}
.cch-contact-card a{color:var(--cch-blue);font-weight:800;margin-top:auto;text-decoration:none}

.cch-contact-main{background:linear-gradient(122deg,#16375b 0%,#214b86 68%,#246276 100%);padding:110px 28px}
.cch-contact-page .elementor-element.cch-contact-main-inner{align-items:center!important;display:grid!important;gap:clamp(46px,7vw,92px)!important;grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr)!important;margin:0 auto!important;max-width:1200px}
.cch-contact-main .elementor-heading-title{color:#fff!important}
.cch-contact-form-copy>.cch-el-light-text{font-size:17px;line-height:1.75;max-width:500px}
.cch-contact-form-copy .cch-el-h2{margin-bottom:28px}
.cch-contact-response{border-left:3px solid var(--cch-cyan);margin-top:34px;padding:4px 0 4px 22px}
.cch-contact-response strong{font:600 21px/1.3 "Fraunces",serif}
.cch-contact-response p{color:rgba(255,255,255,.76);font-size:15px;margin:8px 0 0}
.cch-contact-form-wrap{position:relative}
.cch-contact-anchor{height:1px;left:0;position:absolute;top:-120px;width:1px}
.cch-contact-form .cch-button{background:var(--cch-magenta)!important;border-radius:999px!important;color:#fff!important;min-height:54px}
.cch-contact-form .cch-field-label{color:var(--cch-ink)!important;display:inline!important}
.cch-contact-form .cch-required-mark{color:#9c277f!important}

.cch-contact-location{background:var(--cch-cream);padding:108px 28px}
.cch-contact-page .elementor-element.cch-contact-location-inner{align-items:center!important;display:grid!important;gap:clamp(42px,7vw,86px)!important;grid-template-columns:minmax(0,.78fr) minmax(480px,1.22fr)!important;margin:0 auto!important;max-width:1240px}
.cch-contact-location-copy>.cch-el-intro{color:var(--cch-muted);font-size:17px;line-height:1.75}
.cch-contact-map{border:10px solid #fff;border-radius:28px;box-shadow:0 24px 60px rgba(22,55,91,.16);height:520px;overflow:hidden}
.cch-contact-map iframe{border:0;display:block;height:100%;width:100%}

.cch-contact-paths{background:#fff;padding:110px 28px 120px}
.cch-contact-page .elementor-element.cch-contact-paths-inner{margin:0 auto!important;max-width:1200px;text-align:center}
.cch-contact-page .elementor-element.cch-contact-path-grid{display:grid!important;gap:18px!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;margin-top:45px;text-align:left}
.cch-contact-path-card{border-radius:26px;min-height:360px;padding:38px!important}
.cch-contact-path-card .cch-el-light-text{font-size:16px;line-height:1.65}
.cch-contact-path-card .cch-el-button{margin-top:auto}
.cch-contact-path-blue{background:#214b86}.cch-contact-path-green{background:#518f3d}.cch-contact-path-magenta{background:#a83e93}

.cch-contact-reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}
.cch-contact-reveal.is-visible{opacity:1;transform:none}

@media(max-width:980px){
  .cch-contact-page .elementor-element.cch-contact-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .cch-contact-page .elementor-element.cch-contact-main-inner,.cch-contact-page .elementor-element.cch-contact-location-inner{grid-template-columns:1fr!important}
  .cch-contact-location-copy{max-width:760px}
  .cch-contact-map{height:450px}
  .cch-contact-page .elementor-element.cch-contact-path-grid{grid-template-columns:1fr!important}
  .cch-contact-path-card{min-height:0}
}
@media(max-width:620px){
  .cch-contact-page .elementor-element.cch-contact-hero-inner{min-height:610px;padding:78px 20px 60px!important}
  .cch-contact-hero{min-height:610px}
  .cch-contact-hero .cch-el-h1 .elementor-heading-title{font-size:44px!important}
  .cch-contact-page .elementor-element.cch-contact-card-grid{grid-template-columns:1fr!important}
  .cch-contact-title{padding:42px 20px 38px}
  .cch-contact-details,.cch-contact-main,.cch-contact-location,.cch-contact-paths{padding:72px 20px}
  .cch-contact-card{min-height:0;padding:26px}
  .cch-contact-main .cch-elementor-form-card{padding:24px 17px!important}
  .cch-contact-map{border-width:6px;border-radius:20px;height:360px}
  .cch-contact-path-card{padding:28px!important}
}
@media(prefers-reduced-motion:reduce){.cch-contact-reveal{opacity:1;transform:none;transition:none}}
