/*
Theme Name: Deana Bacon Editorial V9.5
Version: 9.5
Description: Clean reconstruction inspired by the archived Counseling of the Northshore site.
*/
:root{--ink:#2d2b2a;--muted:#6e6b68;--teal:#18a9c7;--sand:#f4f1ed;--warm:#aa8074;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.65}a{color:inherit}.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}.site-header{background:#fff;padding:22px 0 14px;position:relative;z-index:3}.header-row{display:flex;align-items:flex-end;justify-content:space-between;gap:28px}.brand img{width:225px;height:auto;display:block}.brand-text{display:none}.main-nav ul{display:flex;flex-wrap:wrap;gap:20px;list-style:none;margin:0;padding:0}.main-nav a{text-decoration:none;font-size:14px}.main-nav a:hover{color:var(--teal)}.hero{position:relative;min-height:515px;background:url('assets/images/dim_spero_bg.jpg') center/cover no-repeat;display:flex;align-items:flex-end}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.25))}.hero-inner{position:relative;z-index:1;width:100%;padding:0 0 42px;text-align:center}.hero-motto{max-width:560px;width:60%}.hero-bar{background:rgba(45,43,42,.68);color:#fff;text-align:center;font-size:25px;padding:16px 24px;margin-top:20px}.intro{padding:66px 0 28px;text-align:center}.eyebrow{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--warm)}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.15}h1{font-size:54px}h2{font-size:38px}.lead{font-size:20px;color:var(--muted);max-width:820px;margin:18px auto}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding:32px 0 72px}.card{background:var(--sand);overflow:hidden}.card img{width:100%;height:235px;object-fit:cover;filter:grayscale(100%)}.card-body{padding:28px}.card h3{font-size:27px;margin:0 0 10px}.btn{display:inline-block;margin-top:12px;padding:10px 18px;border:1px solid var(--ink);text-decoration:none;font-size:13px;text-transform:uppercase;letter-spacing:.08em}.about-band{background:#f7f7f5;padding:70px 0}.about-grid{display:grid;grid-template-columns:360px 1fr;gap:60px;align-items:center}.about-grid img{width:100%;max-height:480px;object-fit:cover}.quote-band{background:url('assets/images/couples_bg.jpg') center/cover;position:relative;color:#fff;padding:90px 0;text-align:center}.quote-band:before{content:"";position:absolute;inset:0;background:rgba(30,30,30,.55)}.quote-band .wrap{position:relative}.quote-band blockquote{font-family:Georgia,serif;font-size:32px;max-width:850px;margin:auto}.page-hero{background:#eee url('assets/images/header_bg_long.jpg') center/cover;padding:78px 0}.page-hero h1{margin:0}.content{padding:55px 0;max-width:920px}.content img{max-width:100%;height:auto}.content h2,.content h3{margin-top:1.6em}.site-footer{background:#272523;color:#eee;padding:42px 0}.footer-row{display:flex;justify-content:space-between;gap:30px;align-items:center}.footer-row small{color:#bbb}.footer-nav{display:flex;gap:18px;flex-wrap:wrap}.footer-nav a{text-decoration:none;color:#ddd;font-size:13px}@media(max-width:800px){.brand img{width:205px}.header-row{align-items:flex-start;flex-direction:column}.main-nav ul{gap:12px}.hero{min-height:390px}.hero-motto{width:82%}.hero-bar{font-size:19px}.services{grid-template-columns:1fr}.about-grid{grid-template-columns:1fr}.about-grid img{max-width:420px}.footer-row{flex-direction:column;align-items:flex-start}h1{font-size:42px}}

/* V2 home refinements */
.narrow{max-width:900px}.intro-actions{display:flex;justify-content:center;align-items:center;gap:24px;margin-top:28px}.btn-dark{background:var(--ink);color:#fff;border-color:var(--ink)}.btn-light{border-color:#fff;color:#fff}.text-link{text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px;font-size:14px}.services .card h2{font-size:28px;margin:0 0 12px}.about-photo img{filter:grayscale(100%)}.relationship-band{position:relative;background:url('assets/images/couples_bg.jpg') center/cover no-repeat;color:#fff;padding:105px 0}.relationship-band:before{content:"";position:absolute;inset:0;background:rgba(36,34,32,.62)}.relationship-inner{position:relative;max-width:820px;margin:auto;text-align:center}.relationship-inner h2{font-size:42px;margin:15px auto 18px}.relationship-inner p{font-size:18px;max-width:700px;margin:0 auto 24px}.light{color:#ddd}.testimonial-band{text-align:center;padding:90px 0;background:#fff}.testimonial-band blockquote{font-family:Georgia,'Times New Roman',serif;font-size:34px;line-height:1.35;margin:20px auto 24px;max-width:860px}.contact-cta{background:var(--sand);padding:58px 0}.contact-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:32px}.contact-cta h2{margin:8px 0 0;font-size:34px}.hero{background-image:url('assets/images/dim_spero_bg.jpg')}.hero-motto{filter:drop-shadow(0 2px 10px rgba(0,0,0,.22))}
@media(max-width:800px){.intro-actions{flex-direction:column}.relationship-inner h2{font-size:34px}.testimonial-band blockquote{font-size:28px}.contact-cta-inner{flex-direction:column;align-items:flex-start}}


/* =========================================================
   V4 — color refinement + compact header
   Preserves the recovered Deana Bacon visual identity.
   ========================================================= */
:root{
  --deana-teal:#19a9bd;
  --deana-teal-dark:#137f8f;
  --deana-sage:#dfe8e1;
  --deana-ivory:#f6f2ec;
  --deana-warm:#b97968;
  --deana-charcoal:#2c2927;
}

.site-header,
header.site-header {
  padding-top: 18px !important;
  padding-bottom: 18px !important;
}

.site-header .logo img,
.site-header img.custom-logo,
header .custom-logo,
header .site-logo img {
  width: 195px !important;
  max-width: 195px !important;
  height: auto !important;
}

.site-header a:hover,
.main-navigation a:hover,
nav a:hover {
  color: var(--deana-teal-dark) !important;
}

.eyebrow,
.kicker,
.section-label,
.overline {
  color: var(--deana-warm) !important;
}

.button,
.btn,
.wp-block-button__link,
a.button,
input[type="submit"] {
  background: var(--deana-teal-dark) !important;
  border-color: var(--deana-teal-dark) !important;
  color: #fff !important;
  transition: background .2s ease, transform .2s ease;
}

.button:hover,
.btn:hover,
.wp-block-button__link:hover,
a.button:hover,
input[type="submit"]:hover {
  background: var(--deana-teal) !important;
  border-color: var(--deana-teal) !important;
  transform: translateY(-1px);
}

.services,
.service-grid,
.services-grid {
  background: #fff;
}

.service-card,
.services .card,
.service-grid > *,
.services-grid > * {
  border-bottom: 4px solid var(--deana-teal) !important;
}

.service-card:nth-child(2),
.services .card:nth-child(2),
.service-grid > *:nth-child(2),
.services-grid > *:nth-child(2) {
  background: var(--deana-sage) !important;
  border-bottom-color: #91aa99 !important;
}

.service-card:nth-child(3),
.services .card:nth-child(3),
.service-grid > *:nth-child(3),
.services-grid > *:nth-child(3) {
  background: var(--deana-ivory) !important;
  border-bottom-color: var(--deana-warm) !important;
}

.about-section,
.about-deana,
section.about {
  background: #fbfaf7 !important;
}

.testimonials,
.testimonial-section,
section.testimonials {
  background: #f4f8f7 !important;
}

.cta-section,
.final-cta,
section.cta {
  background: var(--deana-ivory) !important;
}

.cta-section h2,
.final-cta h2 {
  color: var(--deana-charcoal) !important;
}

.site-footer,
footer.site-footer {
  border-top: 4px solid var(--deana-teal-dark);
}

a {
  text-decoration-color: rgba(25,169,189,.45);
}

@media (max-width: 782px){
  .site-header,
  header.site-header {
    padding-top: 14px !important;
    padding-bottom: 14px !important;
  }
  .site-header .logo img,
  .site-header img.custom-logo,
  header .custom-logo,
  header .site-logo img {
    width: 175px !important;
    max-width: 175px !important;
  }
}


/* =========================================================
   V5 — final polish
   Smaller header/logo, tighter rhythm, cleaner cards,
   refined About section, and consistent inner-page styling.
   ========================================================= */

/* Header: quieter and more proportional */
.site-header,
header.site-header {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

.brand img,
.site-header .logo img,
.site-header img.custom-logo,
header .custom-logo,
header .site-logo img {
  width: 172px !important;
  max-width: 172px !important;
  height: auto !important;
}

.header-row {
  min-height: 92px;
  align-items: center !important;
}

.main-nav ul {
  gap: 23px;
}

.main-nav a {
  font-size: 13px;
  letter-spacing: .01em;
}

/* Home vertical rhythm */
.intro {
  padding-top: 54px;
  padding-bottom: 18px;
}

.intro h1 {
  margin-top: 14px;
  margin-bottom: 22px;
}

.intro-actions {
  margin-top: 24px;
}

.services {
  gap: 26px;
  padding-top: 28px;
  padding-bottom: 64px;
  align-items: stretch;
}

.services .card {
  display: flex;
  flex-direction: column;
  box-shadow: 0 8px 24px rgba(30,30,30,.035);
}

.services .card img {
  height: 230px;
}

.services .card-body {
  padding: 27px 28px 30px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.services .card-body p {
  margin-top: 0;
}

.services .card-body .btn {
  margin-top: auto;
  align-self: flex-start;
}

/* About Deana: more breathing room, less blocky */
.about-band {
  background: #fbfaf7 !important;
  padding: 66px 0 !important;
}

.about-grid {
  grid-template-columns: 342px 1fr;
  gap: 58px;
}

.about-photo img {
  box-shadow: 0 10px 30px rgba(35,32,29,.08);
}

.about-copy h2 {
  max-width: 760px;
  margin-top: 14px;
  margin-bottom: 26px;
}

.about-copy p {
  max-width: 760px;
}

/* Relationship and testimonial sections */
.relationship-band {
  padding-top: 92px;
  padding-bottom: 92px;
}

.testimonial-band {
  padding-top: 78px;
  padding-bottom: 80px;
  background: #f4f8f7 !important;
}

.testimonial-band blockquote {
  color: var(--deana-charcoal);
}

/* Contact CTA */
.contact-cta {
  background: var(--deana-ivory) !important;
  border-top: 1px solid rgba(185,121,104,.16);
}

.contact-cta-inner {
  min-height: 86px;
}

/* Inner pages: retain history, present it professionally */
.page-hero {
  background: linear-gradient(135deg,#f6f2ec 0%,#eef5f3 100%) !important;
  padding: 60px 0 54px !important;
  border-bottom: 1px solid rgba(19,127,143,.12);
}

.page-hero .eyebrow {
  margin-bottom: 10px;
}

.page-hero h1 {
  font-size: 46px;
  color: var(--deana-charcoal);
}

.content {
  padding-top: 52px;
  padding-bottom: 72px;
  font-size: 17px;
  color: #3b3937;
}

.content > p:first-of-type {
  font-size: 18px;
}

.content h2,
.content h3 {
  color: var(--deana-charcoal);
}

.content h2 {
  font-size: 32px;
}

.content h3 {
  font-size: 24px;
}

.content a {
  color: var(--deana-teal-dark);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.content img.alignleft {
  float: left;
  margin: 5px 30px 20px 0;
}

.content img.alignright {
  float: right;
  margin: 5px 0 20px 30px;
}

/* Footer refinement */
.site-footer,
footer.site-footer {
  padding-top: 36px;
  padding-bottom: 36px;
  border-top-width: 3px;
}

/* Mobile */
@media (max-width: 800px) {
  .site-header,
  header.site-header {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }

  .brand img,
  .site-header .logo img,
  .site-header img.custom-logo,
  header .custom-logo,
  header .site-logo img {
    width: 158px !important;
    max-width: 158px !important;
  }

  .header-row {
    min-height: auto;
    gap: 15px;
  }

  .main-nav ul {
    gap: 10px 14px;
  }

  .intro {
    padding-top: 42px;
  }

  .about-grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .about-photo img {
    max-width: 360px;
  }

  .page-hero {
    padding: 46px 0 40px !important;
  }

  .page-hero h1 {
    font-size: 38px;
  }

  .content {
    font-size: 16px;
  }

  .content img.alignleft,
  .content img.alignright {
    float: none;
    display: block;
    margin: 0 auto 24px;
  }
}


/* =========================================================
   V6 CONCEPT — editorial hero / recognizable evolution
   ========================================================= */
.hero-v6 {
  min-height: 610px !important;
  position: relative;
  display: flex !important;
  align-items: stretch !important;
  background:
    url('assets/images/dim_spero_bg.jpg') center 46% / cover no-repeat !important;
  overflow: hidden;
}
.hero-v6:after { display:none !important; }
.hero-v6-overlay {
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,
      rgba(24,29,29,.78) 0%,
      rgba(24,29,29,.62) 34%,
      rgba(24,29,29,.18) 64%,
      rgba(24,29,29,.08) 100%);
}
.hero-v6-content {
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:60px;
  padding-top:70px;
  padding-bottom:70px;
}
.hero-v6-copy {
  width:min(610px, 58%);
  color:#fff;
  text-align:left;
}
.hero-v6-eyebrow {
  color:#9bdce2 !important;
  margin-bottom:18px;
}
.hero-v6-copy h1 {
  color:#fff;
  font-size:64px;
  line-height:1.02;
  letter-spacing:-.025em;
  margin:0 0 24px;
  text-shadow:0 2px 18px rgba(0,0,0,.16);
}
.hero-v6-copy p {
  max-width:570px;
  font-size:19px;
  line-height:1.65;
  color:rgba(255,255,255,.9);
  margin:0;
}
.hero-v6-actions {
  display:flex;
  align-items:center;
  gap:26px;
  margin-top:30px;
}
.hero-primary {
  margin:0 !important;
  background:var(--deana-teal-dark) !important;
  border-color:var(--deana-teal-dark) !important;
  color:#fff !important;
  padding:13px 20px !important;
}
.hero-secondary {
  color:#fff;
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.75);
  padding-bottom:3px;
  font-size:14px;
}
.hero-v6-motto {
  align-self:flex-end;
  text-align:right;
  color:#fff;
  margin-bottom:10px;
  opacity:.96;
}
.hero-v6-motto span {
  display:block;
  font-family:Georgia,'Times New Roman',serif;
  font-style:italic;
  font-size:38px;
  line-height:1.1;
}
.hero-v6-motto small {
  display:block;
  margin-top:8px;
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(255,255,255,.75);
}
.hero-v6 + .intro {
  background:#fbfaf7;
  padding-top:62px;
  padding-bottom:32px;
}
.hero-v6 + .intro h1 {
  font-size:46px;
}

@media(max-width:800px){
  .hero-v6 { min-height:570px !important; background-position:58% center !important; }
  .hero-v6-overlay {
    background:linear-gradient(90deg,rgba(24,29,29,.82),rgba(24,29,29,.46));
  }
  .hero-v6-content {
    padding-top:55px;
    padding-bottom:45px;
    align-items:flex-end;
  }
  .hero-v6-copy { width:100%; }
  .hero-v6-copy h1 { font-size:46px; }
  .hero-v6-copy p { font-size:17px; }
  .hero-v6-motto { display:none; }
  .hero-v6-actions { flex-wrap:wrap; gap:18px; }
}

/* =========================================================
   V8 — editorial inner pages + dropdown navigation
   ========================================================= */
.main-nav li { position:relative; }
.main-nav .sub-menu {
  display:none; position:absolute; z-index:50; left:-18px; top:100%;
  min-width:220px; padding:12px 0; margin:0; list-style:none;
  background:#fff; box-shadow:0 14px 34px rgba(0,0,0,.11); border-top:3px solid var(--deana-teal-dark);
}
.main-nav li:hover > .sub-menu, .main-nav li:focus-within > .sub-menu { display:block; }
.main-nav .sub-menu a { display:block; padding:9px 18px; white-space:nowrap; font-size:12px; }
.main-nav .sub-menu a:hover { background:#f2f7f6; }

.editorial-hero { overflow:hidden; background:#f6f2ec; }
.editorial-hero__grid { display:grid; grid-template-columns: 46% 54%; min-height:470px; padding-left:0; padding-right:0; }
.editorial-hero__copy { padding:72px 64px 60px max(6vw,32px); display:flex; flex-direction:column; justify-content:center; }
.editorial-hero__copy h1 { font-family:Georgia,'Times New Roman',serif; font-size:52px; line-height:1.06; font-weight:400; letter-spacing:-.025em; color:#282624; margin:14px 0 20px; max-width:610px; }
.editorial-hero__media { min-height:470px; }
.editorial-hero__media img { width:100%; height:100%; min-height:470px; object-fit:cover; display:block; }
.editorial-hero--dark .editorial-hero__copy { background:#273131; }
.editorial-hero--dark .editorial-hero__copy h1 { color:#fff; }
.editorial-hero--dark .editorial-hero__copy .eyebrow { color:#81d2db !important; }
.editorial-hero--dark .back-link { color:#fff; border-color:rgba(255,255,255,.5); }
.editorial-hero--sage .editorial-hero__copy { background:#dfe8e1; }
.editorial-hero--ivory .editorial-hero__copy { background:#f6f2ec; }
.editorial-hero--warm .editorial-hero__copy { background:#f4eee8; }
.back-link { color:#4a4642; text-decoration:none; font-size:13px; border-bottom:1px solid #aaa19a; align-self:flex-start; padding-bottom:3px; margin-top:8px; }

.inner-content-section { background:#fff; }
.editorial-content { max-width:960px; padding-top:64px !important; padding-bottom:78px !important; line-height:1.78; }
.editorial-content p, .editorial-content li { font-size:17px; color:#3d3a37; }
.editorial-content > img:first-child, .editorial-content > p:first-child img { display:none !important; }
.editorial-content img { max-width:100%; height:auto; }
.editorial-content h2, .editorial-content h3, .editorial-content strong em, .editorial-content em strong { font-family:Georgia,'Times New Roman',serif; color:#282624; }
.editorial-content blockquote { border-left:3px solid var(--deana-teal); margin:36px 0; padding:8px 0 8px 28px; font-family:Georgia,'Times New Roman',serif; font-size:24px; line-height:1.45; color:#45413e; }
.editorial-content ul { padding-left:22px; }
.editorial-content li { margin-bottom:8px; }

.inner-cta { background:#f6f2ec; border-top:1px solid rgba(185,121,104,.15); }
.inner-cta__row { min-height:170px; display:flex; justify-content:space-between; align-items:center; gap:30px; }
.inner-cta h2 { font-family:Georgia,'Times New Roman',serif; font-size:34px; font-weight:400; margin:8px 0 0; color:#2c2927; }

@media (max-width: 800px) {
  .main-nav .sub-menu { display:none !important; }
  .editorial-hero__grid { grid-template-columns:1fr; min-height:0; }
  .editorial-hero__copy { padding:44px 22px 40px; order:2; }
  .editorial-hero__copy h1 { font-size:40px; max-width:100%; }
  .editorial-hero__media { min-height:250px; height:250px; order:1; }
  .editorial-hero__media img { min-height:250px; height:250px; object-position:center; }
  .editorial-content { padding:44px 22px 58px !important; width:auto !important; max-width:none !important; overflow:hidden; }
  .editorial-content p, .editorial-content li { font-size:16px; overflow-wrap:anywhere; }
  .editorial-content img.alignleft, .editorial-content img.alignright { float:none !important; margin:18px auto 28px !important; width:100% !important; max-width:100% !important; }
  .inner-cta__row { min-height:190px; padding:38px 22px; flex-direction:column; align-items:flex-start; }
  .inner-cta h2 { font-size:30px; }
}


/* =========================================================
   V9 — complete internal-page system
   ========================================================= */
.editorial-hero {
  padding: 0 !important;
  overflow: hidden;
}
.editorial-hero__grid {
  display:grid;
  grid-template-columns: .9fr 1.1fr;
  min-height: 520px;
  padding:0 !important;
  max-width:1180px;
}
.editorial-hero__copy {
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:64px 68px;
}
.editorial-hero__copy h1 {
  font-family: Georgia,'Times New Roman',serif;
  font-size:52px;
  line-height:1.05;
  margin:18px 0 24px;
  letter-spacing:-.02em;
}
.editorial-hero__media {
  min-height:520px;
}
.editorial-hero__media img {
  display:block;
  width:100%;
  height:100%;
  min-height:520px;
  object-fit:cover;
}
.editorial-hero--dark .editorial-hero__copy {
  background:#263233;
  color:white;
}
.editorial-hero--dark .editorial-hero__copy h1 { color:white; }
.editorial-hero--dark .eyebrow { color:#7bd5df !important; }
.editorial-hero--sage .editorial-hero__copy { background:#dfe8e1; }
.editorial-hero--ivory .editorial-hero__copy { background:#f5f0e8; }
.editorial-hero--warm .editorial-hero__copy { background:#f4ebe5; }

.back-link {
  align-self:flex-start;
  color:inherit;
  text-decoration:none;
  border-bottom:1px solid currentColor;
  padding-bottom:3px;
  opacity:.8;
  font-size:13px;
}

.family-intro {
  background:#fbfaf7;
  padding:46px 0;
}
.family-intro__grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.family-card {
  position:relative;
  display:block;
  padding:28px 30px;
  background:white;
  border:1px solid rgba(25,169,189,.14);
  text-decoration:none !important;
  color:#2c2927 !important;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.family-card:hover {
  transform:translateY(-2px);
  box-shadow:0 10px 26px rgba(30,30,30,.055);
  border-color:rgba(25,169,189,.42);
}
.family-card h2 {
  font-family:Georgia,'Times New Roman',serif;
  font-size:28px;
  margin:0 40px 10px 0;
}
.family-card p { margin:0; color:#5a5551; }
.family-card__arrow {
  position:absolute;
  right:24px;
  top:22px;
  color:#137f8f;
  font-size:20px;
}

.inner-content-section {
  background:white;
}
.editorial-content {
  max-width:900px !important;
  padding-top:58px !important;
  padding-bottom:72px !important;
}
.editorial-content p,
.editorial-content li {
  font-size:17px;
  line-height:1.75;
}
.editorial-content h2,
.editorial-content h3 {
  font-family:Georgia,'Times New Roman',serif;
  color:#2c2927;
  line-height:1.15;
}
.editorial-content h2 { font-size:34px; margin-top:40px; }
.editorial-content h3 { font-size:25px; margin-top:32px; }
.editorial-content blockquote {
  margin:36px 0;
  padding:28px 30px;
  border-left:3px solid #19a9bd;
  background:#f4f8f7;
  font-family:Georgia,'Times New Roman',serif;
  font-size:24px;
  line-height:1.45;
}
.editorial-content img {
  max-width:100%;
  height:auto;
  border-radius:1px;
}
.editorial-content ul { padding-left:22px; }

.inner-cta {
  background:#f5f0e8;
  padding:46px 0;
}
.inner-cta__row {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
}
.inner-cta__row h2 {
  font-family:Georgia,'Times New Roman',serif;
  font-size:34px;
  margin:8px 0 0;
}

.contact-panel {
  background:#eef5f3;
  padding:58px 0 66px;
}
.contact-panel__grid {
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:60px;
  align-items:start;
}
.contact-panel h2 {
  font-family:Georgia,'Times New Roman',serif;
  font-size:38px;
  margin:10px 0 18px;
}
.contact-panel__note {
  background:white;
  border-top:3px solid #137f8f;
  padding:28px;
}

/* Drop-down navigation */
.main-nav ul { list-style:none; }
.main-nav li { position:relative; }
.main-nav .sub-menu {
  display:none;
  position:absolute;
  z-index:50;
  left:-18px;
  top:100%;
  min-width:220px;
  background:white;
  padding:10px 0;
  box-shadow:0 12px 30px rgba(0,0,0,.10);
  border-top:2px solid #19a9bd;
}
.main-nav li:hover > .sub-menu,
.main-nav li:focus-within > .sub-menu { display:block; }
.main-nav .sub-menu li { width:100%; }
.main-nav .sub-menu a {
  display:block;
  padding:9px 18px !important;
  white-space:nowrap;
}

/* Responsive internal pages */
@media(max-width:800px){
  .editorial-hero__grid {
    grid-template-columns:1fr;
    min-height:0;
  }
  .editorial-hero__copy {
    padding:42px 24px 38px;
  }
  .editorial-hero__copy h1 {
    font-size:40px;
    max-width:520px;
  }
  .editorial-hero__media,
  .editorial-hero__media img {
    min-height:300px;
    height:300px;
  }
  .family-intro__grid { grid-template-columns:1fr; }
  .editorial-content {
    padding-left:24px !important;
    padding-right:24px !important;
  }
  .inner-cta__row {
    align-items:flex-start;
    flex-direction:column;
  }
  .contact-panel__grid { grid-template-columns:1fr; gap:28px; }
  .main-nav .sub-menu {
    position:static;
    box-shadow:none;
    border-top:0;
    padding:0;
    min-width:0;
    background:transparent;
  }
}
@media(max-width:520px){
  .editorial-hero__copy { padding:34px 20px 32px; }
  .editorial-hero__copy h1 { font-size:35px; }
  .editorial-hero__media,
  .editorial-hero__media img { height:250px; min-height:250px; }
  .family-card { padding:24px 22px; }
  .family-card h2 { font-size:25px; }
  .editorial-content { padding-left:20px !important; padding-right:20px !important; }
  .editorial-content p,.editorial-content li { font-size:16px; }
}


/* =========================================================
   V9.2 — standardized typography + explicit sub-navigation
   ========================================================= */
:root{
  --db-serif: Georgia, "Times New Roman", serif;
  --db-sans: Arial, Helvetica, sans-serif;
}

/* Typography system */
html, body,
button, input, textarea, select,
.main-nav, .footer-nav,
.eyebrow, .back-link,
.btn, .text-link,
.editorial-content p,
.editorial-content li,
.family-card p,
.contact-panel,
.site-footer {
  font-family: var(--db-sans) !important;
}

h1, h2, h3, h4, h5, h6,
.hero-v6-copy h1,
.intro h1,
.card h2,
.about-copy h2,
.relationship-inner h2,
.testimonial-band blockquote,
.contact-cta h2,
.editorial-hero__copy h1,
.family-card h2,
.inner-cta__row h2,
.contact-panel h2,
.editorial-content h2,
.editorial-content h3 {
  font-family: var(--db-serif) !important;
  font-weight: 400;
}

body{
  font-size:16px;
  line-height:1.65;
  color:#2f2d2a;
}

.main-nav a{
  font-family:var(--db-sans) !important;
  font-size:14px !important;
  font-weight:400;
}

/* Explicit submenu styling */
.main-nav > ul{
  display:flex;
  align-items:center;
  gap:24px;
  margin:0;
  padding:0;
}
.main-nav > ul > li{
  position:relative;
}
.main-nav > ul > li.menu-has-children > a::after{
  content:"▾";
  display:inline-block;
  margin-left:6px;
  font-size:10px;
  color:#137f8f;
  vertical-align:1px;
}

.main-nav .sub-menu{
  display:none;
  position:absolute;
  z-index:999;
  top:calc(100% + 12px);
  left:-16px;
  min-width:230px;
  margin:0;
  padding:9px 0;
  list-style:none;
  background:#fff;
  border-top:3px solid #19a9bd;
  box-shadow:0 14px 34px rgba(0,0,0,.13);
}
.main-nav .sub-menu::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-15px;
  height:15px;
}
.main-nav li:hover > .sub-menu,
.main-nav li:focus-within > .sub-menu{
  display:block;
}
.main-nav .sub-menu li{
  display:block;
  width:100%;
}
.main-nav .sub-menu a{
  display:block;
  padding:10px 17px !important;
  color:#2f2d2a !important;
  font-size:13px !important;
  line-height:1.25;
  text-decoration:none;
  white-space:nowrap;
}
.main-nav .sub-menu a:hover{
  background:#eef5f3;
  color:#137f8f !important;
}

/* Mobile: menu becomes readable grouped links instead of clipped dropdowns */
@media(max-width:800px){
  .header-row{
    align-items:flex-start !important;
  }
  .main-nav{
    width:100%;
  }
  .main-nav > ul{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:4px 12px;
  }
  .main-nav > ul > li{
    position:static;
  }
  .main-nav > ul > li.menu-has-children > a::after{
    content:"";
  }
  .main-nav .sub-menu{
    display:none !important;
  }
  .main-nav a{
    font-size:12px !important;
    padding:6px 4px !important;
  }
}


/* =========================================================
   V9.3 — native contact form
   ========================================================= */
.contact-form-wrap{
  max-width:900px;
  margin:0 auto;
  padding:58px 24px 76px;
}
.contact-form-intro{
  max-width:680px;
  margin-bottom:34px;
}
.contact-form-intro h2{
  font-family:var(--db-serif) !important;
  font-size:38px;
  font-weight:400;
  margin:8px 0 14px;
}
.contact-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px 22px;
}
.contact-form .field-full{ grid-column:1 / -1; }
.contact-form label{
  display:block;
  font-family:var(--db-sans);
  font-size:13px;
  font-weight:600;
  letter-spacing:.02em;
  margin-bottom:7px;
  color:#35322f;
}
.contact-form input,
.contact-form select,
.contact-form textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid #d8d1c9;
  background:#fff;
  color:#2f2d2a;
  padding:13px 14px;
  font:16px/1.4 var(--db-sans);
  border-radius:0;
  outline:none;
  transition:border-color .18s ease, box-shadow .18s ease;
}
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{
  border-color:#137f8f;
  box-shadow:0 0 0 3px rgba(25,169,189,.10);
}
.contact-form textarea{
  min-height:170px;
  resize:vertical;
}
.contact-form .form-actions{
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  gap:16px;
  margin-top:4px;
}
.contact-form .form-note{
  color:#6e6862;
  font-size:12px;
  line-height:1.5;
}
.contact-form .hp-field{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}
.form-status{
  padding:14px 16px;
  margin:0 0 24px;
  font-family:var(--db-sans);
  font-size:14px;
}
.form-status--success{
  background:#eef5f3;
  border-left:3px solid #137f8f;
  color:#244849;
}
.form-status--error{
  background:#fbefec;
  border-left:3px solid #b97968;
  color:#6b3b32;
}
.contact-details-strip{
  background:#f5f0e8;
  padding:28px 0;
}
.contact-details-strip__inner{
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:center;
}
.contact-details-strip p{
  margin:0;
}
@media(max-width:700px){
  .contact-form{ grid-template-columns:1fr; }
  .contact-form .field-full,
  .contact-form .form-actions{ grid-column:1; }
  .contact-details-strip__inner{
    flex-direction:column;
    align-items:flex-start;
  }
}


/* =========================================================
   V9.4 — restored institutional film + scheduling CTA
   ========================================================= */
.schedule-band{
  background:#263233;
  color:#fff;
  padding:62px 0;
}
.schedule-band__grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:54px;
  align-items:center;
}
.schedule-band .eyebrow{ color:#7bd5df !important; }
.schedule-band h2{
  font-family:var(--db-serif) !important;
  font-weight:400;
  font-size:42px;
  line-height:1.1;
  margin:10px 0 18px;
  color:#fff;
}
.schedule-band p{
  color:rgba(255,255,255,.82);
  max-width:620px;
  margin-bottom:26px;
}
.schedule-band__actions{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  align-items:center;
}
.schedule-band__actions .btn{
  margin:0;
}
.schedule-band__actions .text-link{
  color:#fff !important;
  border-bottom-color:rgba(255,255,255,.55);
}
.film-section{
  background:#fbfaf7;
  padding:72px 0 76px;
}
.film-section__grid{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:58px;
  align-items:center;
}
.film-section h2{
  font-family:var(--db-serif) !important;
  font-weight:400;
  font-size:40px;
  line-height:1.12;
  margin:10px 0 18px;
}
.video-shell{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  background:#1d2424;
  box-shadow:0 16px 40px rgba(0,0,0,.11);
}
.video-shell iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
.schedule-note{
  font-size:12px;
  color:#77716c;
  margin-top:12px;
}
@media(max-width:800px){
  .schedule-band__grid,
  .film-section__grid{
    grid-template-columns:1fr;
    gap:32px;
  }
  .schedule-band h2,
  .film-section h2{ font-size:34px; }
  .film-section{ padding:56px 0 60px; }
}


/* =========================================================
   V9.5 — Contact page layout repair
   Keeps V9.4 content, film and scheduling; fixes form rendering.
   ========================================================= */
body.page-contact .inner-content-section,
body.page-id-5 .inner-content-section {
  background:#fbfaf7;
}
.contact-form-wrap{
  width:min(100%, 980px) !important;
  max-width:980px !important;
  margin:0 auto !important;
  padding:64px 24px 78px !important;
}
.contact-form-intro{
  max-width:720px !important;
  margin:0 0 38px !important;
}
.contact-form-intro .eyebrow{
  display:block;
  margin:0 0 12px !important;
}
.contact-form-intro .eyebrow + p{
  margin:0 0 18px !important;
}
.contact-form-intro h2{
  font-family:var(--db-serif) !important;
  font-size:clamp(34px,4vw,46px) !important;
  line-height:1.12 !important;
  margin:8px 0 14px !important;
}
.contact-form-intro > p{
  font-size:17px;
  line-height:1.65;
}
.contact-form{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:22px 24px !important;
  width:100% !important;
  margin:0 !important;
}
.contact-form > div{
  min-width:0;
}
.contact-form .field-full,
.contact-form .form-actions{
  grid-column:1 / -1 !important;
}
.contact-form label{
  display:block !important;
  margin:0 0 8px !important;
  font:600 13px/1.3 var(--db-sans) !important;
  color:#35322f !important;
}
.contact-form input:not([type="hidden"]),
.contact-form select,
.contact-form textarea{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  height:auto !important;
  margin:0 !important;
  padding:14px 15px !important;
  border:1px solid #cfc8c0 !important;
  border-radius:0 !important;
  background:#fff !important;
  color:#2f2d2a !important;
  font:16px/1.4 var(--db-sans) !important;
  box-shadow:none !important;
  appearance:auto;
}
.contact-form textarea{
  min-height:180px !important;
  resize:vertical !important;
}
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{
  border-color:var(--deana-teal-dark) !important;
  outline:2px solid rgba(19,127,143,.12) !important;
  outline-offset:0;
}
.contact-form .form-actions{
  display:flex !important;
  align-items:center !important;
  gap:18px !important;
  flex-wrap:wrap !important;
  margin-top:4px !important;
}
.contact-form button.btn{
  margin:0 !important;
  padding:13px 22px !important;
  border:1px solid var(--deana-teal-dark) !important;
  cursor:pointer;
}
.contact-form .form-note{
  flex:1 1 320px;
  margin:0 !important;
}
.contact-form .hp-field{
  position:absolute !important;
  left:-10000px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}
.contact-details-strip{
  border-top:1px solid #e8e1d9;
}
@media(max-width:700px){
  .contact-form-wrap{
    padding:46px 20px 58px !important;
  }
  .contact-form{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
  .contact-form .field-full,
  .contact-form .form-actions{
    grid-column:1 !important;
  }
  .contact-form .form-actions{
    align-items:flex-start !important;
    flex-direction:column !important;
  }
  .contact-form button.btn{
    width:100%;
    text-align:center;
  }
}
