@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Baskerville:wght@400;700&display=swap');

:root {
  --teal:#174c4f; --teal-dark:#123f42; --teal-soft:#eaf3f1;
  --green:#819d55; --gold:#d8a13d; --cream:#f6efe2;
  --text:#2d4749; --muted:#647275;
  --serif:"Libre Baskerville",Georgia,serif; --sans:"DM Sans",Arial,sans-serif;
}
html { scroll-behavior:smooth; }
body { margin:0; color:var(--text); background:#fff; font-family:var(--sans); font-size:15px; line-height:1.65; }
h1,h2,h3 { font-family:var(--serif); font-weight:700; color:var(--teal); }
a { color:inherit; text-decoration:none; }
.topbar { background:var(--teal-dark); color:#fff; font-size:12px; }
.topbar a { opacity:.95; }
.topbar-divider { margin:0 10px; opacity:.5; }
.site-header { box-shadow:0 1px 0 rgba(23,76,79,.08); z-index:1000; }
.navbar { min-height:82px; }
.navbar-brand strong { display:block; color:var(--teal); font-family:var(--serif); font-size:19px; line-height:1.1; }
.navbar-brand small { display:block; margin-top:4px; color:#87956f; font-size:9px; font-weight:700; letter-spacing:2px; text-transform:uppercase; }
.brand-mark { display:grid; width:42px; height:42px; place-items:center; border-radius:50%; background:var(--green); color:#fff; font-size:22px; font-weight:700; }
.nav-link { color:var(--teal)!important; font-weight:700; font-size:13px; text-transform:uppercase; }
.nav-link:hover,.nav-link.active { color:var(--gold)!important; }
.btn { border-radius:4px; font-weight:700; text-transform:uppercase; letter-spacing:.2px; font-size:12px; padding:11px 17px; }
.btn-gold { color:#fff; background:var(--gold); border-color:var(--gold); }
.btn-gold:hover { color:#fff; background:#be872c; border-color:#be872c; }
.btn-dark-teal { color:#fff; background:var(--teal); border-color:var(--teal); }
.btn-dark-teal:hover { color:#fff; background:var(--teal-dark); }

.hero-section { position:relative; overflow:hidden; padding:76px 0 72px; 
  background: linear-gradient(90deg,#052526f0,#0525268c 48%,#0525260d),url(../images/home-hero.jpg) 50% 20%/cover;
  color:#fff; 
}

.pages-hero-section { position:relative; overflow:hidden; padding:76px 0 72px; 
  background: linear-gradient(90deg,#052526f0,#0525268c 48%,#0525260d),url(../images/family-counseling.jpg) 50% 20%/cover;
  color:#fff; 
}

.mission-grid {
    grid-template-columns: 1fr 1.1fr;
    align-items: center;
    gap: 55px;
    display: grid;
}
@media (width <= 640px) {
    .mission-grid {
        grid-template-columns: 1fr;
    }
  .mission-photo {
    min-height: 280px;
  }
}

@media (width <= 980px) {
  .mission-grid {
    gap: 25px;
  }
  .mission-photo {
    min-height: 420px;
  }
}

.mission-photo {
    background: url(../images/in-home-support.jpg) 45% 10%/cover;
    border-radius: 4px;
    min-height: 470px;
}

.hero-section h1 { margin:0 0 18px; color:#fff; font-size:clamp(2.8rem,6vw,4.7rem); line-height:1.15; }
.eyebrow { margin-bottom:12px; color:#e1c17c; font-size:12px; font-weight:700; letter-spacing:2px; text-transform:uppercase; }
.eyebrow-dark { color:var(--green); }
.hero-copy { max-width:680px; margin-bottom:26px; color:rgba(255,255,255,.9); font-size:17px; }
.hero-illustration { position:relative; min-height:330px; overflow:hidden; border-radius:45% 55% 50% 50%; background:rgba(57,132,128,.48); }
.hero-circle { position:absolute; border-radius:50%; background:rgba(91,159,151,.38); }
.hero-circle-one { width:280px; height:280px; right:20px; top:-30px; }
.hero-circle-two { width:210px; height:210px; right:-5px; bottom:-20px; }
.person-illustration { position:absolute; left:50%; top:50%; width:190px; height:270px; transform:translate(-50%,-43%); }
.person-head { width:92px; height:92px; margin:0 auto; border-radius:50%; background:#ca9171; }
.person-body { position:absolute; left:45px; top:82px; width:100px; height:188px; background:#fff; clip-path:polygon(34% 0,66% 0,100% 100%,0 100%); }

.section-space { padding:56px 0; }
.welcome-card { padding:30px 25px; border:1px solid #e8eceb; border-radius:7px; }
.welcome-card h2 { margin-bottom:8px; font-size:clamp(1.7rem,3vw,2.2rem); }
.welcome-card p:last-child { max-width:760px; margin:0 auto; color:var(--muted); }
.services-section { background:var(--teal-soft); }
.section-heading h2 { margin-bottom:5px; font-size:clamp(2rem,4vw,2.6rem); }
.section-heading p { margin:0; color:var(--muted); }
.service-card { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:28px 15px 25px; border-radius:6px; background:#fff; box-shadow:0 9px 22px rgba(28,67,68,.08); text-align:center; transition:transform .2s ease,box-shadow .2s ease; }
.service-card:hover { transform:translateY(-4px); box-shadow:0 14px 28px rgba(28,67,68,.13); }
.service-icon { display:grid; width:42px; height:42px; margin-bottom:14px; place-items:center; border-radius:50%; background:#e7f0e2; color:var(--teal); font-size:21px; font-weight:700; }
.service-card h3 { min-height:60px; margin-bottom:14px; font-size:17px; }
.service-card a,.resource-card a { color:#b07d25; font-size:11px; font-weight:700; text-transform:uppercase; }

.cta-card { padding:30px; border-radius:7px; }
.cta-dark { background:var(--teal); color:#fff; }
.cta-green { background:var(--green); color:#fff; }
.cta-card h2 { color:#fff; font-size:25px; }
.cta-card p:not(.cta-label) { opacity:.9; }
.cta-label { color:#e6c87f; font-size:11px; font-weight:700; letter-spacing:1px; text-transform:uppercase; }
.cta-green .cta-label { color:#eef2d9; }

.resource-card { height:100%; padding:22px; border-radius:6px; background:var(--teal-soft); }
.resource-card span { color:var(--green); font-size:10px; font-weight:700; letter-spacing:.7px; text-transform:uppercase; }
.resource-card h3 { margin:7px 0 15px; font-size:18px; }
.question-card { padding:24px; border-radius:7px; background:var(--cream); }
.question-card h2 { margin-bottom:5px; font-size:24px; }
.question-card p { color:var(--muted); font-size:13px; }
.form-control { border-color:#e4dfd5; border-radius:3px; padding:10px 11px; }
.form-status { min-height:20px; margin:8px 0 0!important; font-size:12px!important; }

.service-details-section { background:#fbfcfb; }
.detail-card { height:100%; padding:24px; border:1px solid #e4ebea; border-radius:6px; background:#fff; }
.detail-card h3 { font-size:18px; margin-bottom:12px; }
.detail-card p { margin:0; color:var(--muted); font-size:13px; }
.mission-section { background:var(--teal-soft); }
.mission-card { height:100%; padding:32px; border-radius:7px; background:#fff; }
.mission-card h2 { font-size:24px; }
.mission-card p:last-child { margin-bottom:0; color:var(--muted); }
.site-footer { padding:17px 0; background:var(--teal-dark); color:rgba(255,255,255,.85); font-size:11px; }

@media (max-width:991.98px) {
  .navbar-nav { padding:15px 0; }
  .nav-item .btn { margin-top:8px; }
  .hero-section { padding:55px 0; }
  .hero-illustration { min-height:260px; }
}
@media (max-width:575.98px) {
  .topbar .container { flex-direction:column; }
  .topbar-divider { display:none; }
  .hero-section h1 { font-size:2.6rem; }
  .hero-copy { font-size:15px; }
  .hero-illustration { min-height:230px; }
  .section-space { padding:45px 0; }
}

/* Preloader styles */
  #preloader {
    position: fixed;
    left: 0; top: 0; right: 0; bottom: 0;
    width: 100vw; height: 100vh;
    background: var(--teal-dark);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.3s;
}
#preloader.hide {
    opacity: 0;
    pointer-events: none;
}


