
:root{--ct-green:#147532;--ct-deep:#064f28;--ct-soft:#f5f8f3;--ct-border:#dbe7d8;--ct-text:#182019}
.ct-master main{background:#fff;color:var(--ct-text)}
.ct-shell{max-width:1480px;margin:0 auto;padding:0 30px}

.ct-hero{max-width:1480px;height:300px;margin:10px auto 0;border-radius:18px;overflow:hidden;position:relative;background:url("assets/contact-hero-centered-approved-v2.jpg") center 48%/cover no-repeat}
.ct-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(1,52,34,.90) 0%,rgba(1,52,34,.76) 32%,rgba(1,52,34,.15) 58%,rgba(1,52,34,0) 72%)}
.ct-hero-overlay{position:relative;z-index:1;height:100%;display:flex;align-items:center}
.ct-hero-copy{color:#fff;padding:26px 44px}
.ct-kicker{display:block;color:#7fe797;font-weight:800;font-size:14px;letter-spacing:.05em;margin-bottom:5px}
.ct-hero h1{font-size:38px;line-height:1.05;margin:0 0 8px;font-weight:800}
.ct-rule,.ct-mini-rule{display:block;background:#1da04c;border-radius:2px}
.ct-rule{width:50px;height:3px;margin-bottom:13px}
.ct-hero p{font-size:15px;line-height:1.45;margin:0 0 16px}
.ct-hero-actions{display:flex;gap:14px}
.ct-btn{display:inline-flex;align-items:center;justify-content:center;min-width:175px;padding:11px 17px;border-radius:7px;font-size:14px;font-weight:800;text-decoration:none}
.ct-btn-primary{background:#07852f;color:#fff}
.ct-btn-outline{border:1.5px solid rgba(255,255,255,.86);color:#fff;background:rgba(0,50,27,.18)}

.ct-routing{padding:14px 0 8px}.ct-section-title{text-align:center}.ct-section-title h2{font-size:22px;margin:0;font-weight:800}.ct-section-title span{display:block;width:42px;height:3px;background:var(--ct-green);margin:7px auto 12px}
.ct-routing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ct-routing-grid article{border:1px solid var(--ct-border);border-radius:12px;padding:17px 20px;display:flex;gap:18px;align-items:center;min-height:112px;background:#fff}
.ct-routing-grid i,.ct-donate-note>i,.ct-commit-grid i{font-style:normal;width:64px;height:64px;flex:0 0 64px;border-radius:50%;background:#edf5e9;display:grid;place-items:center;font-size:34px}
.ct-routing-grid h3,.ct-donate-note h3,.ct-commit-grid h3{color:var(--ct-deep);font-size:15px;margin:0 0 5px}.ct-routing-grid p{font-size:12px;line-height:1.35;margin:0 0 7px}.ct-routing-grid a,.ct-donate-note a{color:var(--ct-green);font-size:12px;font-weight:800;text-decoration:none}

.ct-contact{padding:6px 0}.ct-contact-grid{display:grid;grid-template-columns:1.42fr .88fr;gap:18px}
.ct-form-card,.ct-details-card{border:1px solid var(--ct-border);border-radius:12px;background:#fff;padding:17px 20px}
.ct-form-card h2,.ct-details-card h2{font-size:19px;color:var(--ct-deep);margin:0 0 10px}.ct-mini-rule{width:28px;height:3px;margin:4px 0 16px}
.ct-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px 14px}
.ct-form-card label{display:block;font-size:10.5px;font-weight:800;margin-bottom:7px}.ct-form-card label b{color:#b10000}.ct-form-card small{font-weight:500;color:#5b635c}
.ct-form-card input,.ct-form-card select,.ct-form-card textarea{width:100%;box-sizing:border-box;border:1px solid #cfdacf;border-radius:5px;padding:8px 10px;font:inherit;font-size:11px;background:#fff;color:#263027}
.ct-form-card textarea{resize:vertical}.ct-submit{width:100%;border:0;border-radius:5px;background:#067b2c;color:#fff;font-weight:800;padding:8px 12px;font-size:12px;cursor:pointer}
.ct-form-note{font-size:9.5px;color:#5d645e;margin:7px 0 0}
.ct-details-card>p{font-size:12.5px;margin:10px 0}.ct-details-card a{color:inherit;text-decoration:none}.ct-blue-mail{color:#1597d4;font-size:1.35em;vertical-align:-.05em}.ct-divider{height:1px;background:#dbe2da;margin:17px 0}
.ct-donate-note{display:flex;gap:16px;align-items:flex-start}.ct-donate-note>i{width:58px;height:58px;flex-basis:58px;font-size:30px}.ct-donate-note p{font-size:11.5px;line-height:1.4;margin:0 0 8px}

.ct-commitments{padding:5px 0 8px}.ct-commit-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #e0e8de;border-radius:11px;overflow:hidden}
.ct-commit-grid article{display:flex;gap:14px;align-items:center;padding:14px 20px;border-right:1px solid #dde5dc}.ct-commit-grid article:last-child{border-right:0}.ct-commit-grid i{width:52px;height:52px;flex-basis:52px;font-size:26px}
.ct-commit-grid h3{font-size:13px;margin-bottom:3px}.ct-commit-grid p{font-size:10.5px;line-height:1.3;margin:0}

.ct-newsletter{padding:4px 0 12px}.ct-newsletter-inner{border:1px solid var(--ct-border);background:linear-gradient(90deg,#f5f9f3,#f0f5ee);border-radius:11px;display:grid;grid-template-columns:auto 1fr 1.25fr;gap:16px;align-items:center;padding:12px 20px}
.ct-news-icon{width:52px;height:52px;border-radius:50%;background:#e3efdf;display:grid;place-items:center;color:#087b32;font-size:30px}.ct-newsletter h2{font-size:16px;color:var(--ct-deep);margin:0 0 3px}.ct-newsletter p{font-size:10.5px;margin:0}.ct-news-form{display:flex}.ct-news-form input{flex:1;border:1px solid #cdd8cc;border-radius:5px 0 0 5px;padding:9px 10px}.ct-news-form button{min-width:128px;border:0;border-radius:0 5px 5px 0;background:#087b32;color:white;font-weight:800}

.ct-footer{margin-top:0}
.ct-footer .mi-footer-grid{padding-top:19px;padding-bottom:16px}
.ct-footer .mi-footer-bottom{min-height:32px}

@media(max-width:1000px){
 .ct-contact-grid{grid-template-columns:1fr}
 .ct-routing-grid,.ct-commit-grid{grid-template-columns:1fr}
 .ct-commit-grid article{border-right:0;border-bottom:1px solid #dde5dc}
 .ct-commit-grid article:last-child{border-bottom:0}
 .ct-newsletter-inner{grid-template-columns:auto 1fr}.ct-news-form{grid-column:1/-1}
}
@media(max-width:700px){
 .ct-shell{padding:0 16px}.ct-hero{height:auto;margin:8px 12px;background-position:58% center}
 .ct-hero-copy{padding:32px 22px}.ct-hero h1{font-size:31px}.ct-hero p br{display:none}
 .ct-hero-actions{flex-direction:column;align-items:flex-start}.ct-btn{min-width:200px}
 .ct-form-grid{grid-template-columns:1fr}.ct-routing-grid article{align-items:flex-start}
 .ct-newsletter-inner{grid-template-columns:1fr}.ct-news-icon{margin-bottom:2px}
}

/* CONTACT V2 — approved centered hero + refined readability overlay */
.ct-hero{
  background-image:url("assets/contact-hero-centered-approved-v2.jpg") !important;
  background-size:cover !important;
  background-position:center 48% !important;
  background-repeat:no-repeat !important;
}
.ct-hero:after{
  background:linear-gradient(
    90deg,
    rgba(1,52,34,.86) 0%,
    rgba(1,52,34,.76) 21%,
    rgba(1,52,34,.48) 34%,
    rgba(1,52,34,.16) 43%,
    rgba(1,52,34,0) 51%
  ) !important;
}
@media(max-width:700px){
  .ct-hero{
    background-position:56% center !important;
  }
}

/* CONTACT V3 — APPROVED HERO, SPLIT LAYOUT */
.ct-hero.ct-hero-v3{
  max-width:1480px;
  width:calc(100% - 24px);
  min-height:300px;
  height:300px;
  margin:10px auto 0;
  border-radius:18px;
  overflow:hidden;
  display:grid;
  grid-template-columns:38% 62%;
  background:#073f28 !important;
  position:relative;
}
.ct-hero.ct-hero-v3::after{
  content:none !important;
  display:none !important;
}
.ct-hero.ct-hero-v3 .ct-hero-copy{
  position:relative;
  z-index:2;
  height:100%;
  box-sizing:border-box;
  padding:30px 40px;
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:linear-gradient(90deg,rgba(5,63,39,1) 0%,rgba(5,63,39,.97) 75%,rgba(5,63,39,.92) 100%);
}
.ct-hero.ct-hero-v3 .ct-kicker{color:#7fe797;font-size:13px;margin-bottom:4px}
.ct-hero.ct-hero-v3 h1{font-size:34px;line-height:1.05;margin:0 0 8px}
.ct-hero.ct-hero-v3 .ct-rule{width:48px;height:3px;margin-bottom:12px}
.ct-hero.ct-hero-v3 p{font-size:13.5px;line-height:1.43;margin:0 0 15px}
.ct-hero.ct-hero-v3 .ct-hero-actions{display:flex;gap:12px}
.ct-hero.ct-hero-v3 .ct-btn{min-width:160px;padding:10px 15px;font-size:13px}

.ct-hero-photo{
  position:relative;
  width:100%;
  height:100%;
  overflow:hidden;
  background:#eef3ed;
}
.ct-hero-photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 30%;
}
.ct-hero-photo::before{
  content:"";
  position:absolute;
  z-index:1;
  inset:0 auto 0 0;
  width:7%;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(5,63,39,.18),rgba(5,63,39,0));
}

@media (max-width:1000px){
  .ct-hero.ct-hero-v3{grid-template-columns:42% 58%;height:300px}
  .ct-hero.ct-hero-v3 .ct-hero-copy{padding:26px 28px}
  .ct-hero.ct-hero-v3 h1{font-size:30px}
  .ct-hero.ct-hero-v3 p{font-size:12.5px}
}
@media (max-width:760px){
  .ct-hero.ct-hero-v3{height:auto;min-height:0;grid-template-columns:1fr}
  .ct-hero.ct-hero-v3 .ct-hero-copy{min-height:285px;padding:30px 22px}
  .ct-hero-photo{height:310px}
  .ct-hero-photo img{object-position:50% 26%}
  .ct-hero.ct-hero-v3 .ct-hero-actions{flex-direction:column;align-items:flex-start}
}


/* Phase 10 — functional contact form states; approved visual layout preserved */
.ct-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.form-status{min-height:1.25em;margin:7px 0 0;font-size:10.5px;font-weight:700}
.form-status.success{color:#087b32}
.form-status.error{color:#a12622}
.ct-submit:disabled{opacity:.65;cursor:wait}
