/*
Theme Name: Second Sunrise Therapy
Theme URI: https://secondsunrisetherapy.com/
Author: Second Sunrise Therapy
Description: Custom WordPress theme for Second Sunrise Therapy PLLC.
Version: 5.1.2
License: GPL-2.0-or-later
Text Domain: second-sunrise
*/
:root{--navy:#183765;--blue:#245b96;--teal:#176b78;--purple:#46336f;--gold:#e6b84b;--cream:#faf8f4;--ink:#29313b;--muted:#66717b;--line:#e3ddd3;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:Arial,Helvetica,sans-serif;line-height:1.62}a{text-decoration:none;color:var(--teal)}img{max-width:100%;height:auto}
.top-sunrise{min-height:150px;background:linear-gradient(90deg,rgba(12,34,65,.66),rgba(12,34,65,.12),rgba(12,34,65,.66)),url('assets/second-sunrise-landscape.webp') center 44%/cover;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center;text-shadow:0 2px 7px #000;padding:18px 24px}.brand-title{font:clamp(34px,4.2vw,58px) Georgia,"Times New Roman",serif;font-weight:700;letter-spacing:.015em;line-height:1.05}.brand-title span{font-size:.78em}.brand-name{margin-top:10px;background:var(--navy);border:2px solid #fff;border-radius:8px;padding:4px 12px;font-size:clamp(12px,1.3vw,16px);font-weight:800;line-height:1.2}
.site-nav{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:100}.nav-inner{max-width:1380px;margin:auto;padding:10px 30px;display:flex;align-items:center;justify-content:space-between;min-height:88px}.logo-link{display:flex;align-items:center}.site-logo{width:150px;display:block}.main-menu{display:flex;gap:26px;align-items:center;font-size:15px;font-weight:800}.main-menu>a,.explore-menu>summary{color:var(--ink);cursor:pointer}.main-menu .start{background:var(--purple);color:#fff!important;padding:11px 20px;border-radius:999px}.explore-menu{position:relative}.explore-menu summary{list-style:none}.explore-menu summary::-webkit-details-marker{display:none}.explore-dropdown{position:absolute;right:0;top:calc(100% + 14px);min-width:245px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 35px rgba(24,55,101,.15);padding:8px;display:grid;gap:2px}.explore-dropdown a{color:var(--ink);padding:10px 12px;border-radius:8px}.explore-dropdown a:hover{background:#f3f0f7;color:var(--purple)}
.wrap{max-width:1380px;margin:auto;padding:0 34px}.hero{min-height:530px;background:#f4f7fb;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(248,249,250,.98) 0%,rgba(248,249,250,.88) 35%,rgba(248,249,250,.28) 72%,rgba(248,249,250,0) 100%);z-index:1}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-inner{position:relative;z-index:2;min-height:530px;display:flex;align-items:center}.hero-copy{max-width:900px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:13px;font-weight:800;color:var(--teal)}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;color:var(--navy);line-height:1.12}h1{font-size:clamp(42px,5vw,68px);margin:12px 0 18px}h2{font-size:clamp(34px,4vw,50px);margin:0 0 15px}h3{font-size:25px;margin:0 0 8px}.hero p{font-size:18px;color:#4e5963;max-width:980px}.buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:23px}.btn{display:inline-block;padding:12px 21px;border-radius:999px;background:var(--purple);color:#fff!important;font-weight:800}.btn.alt{background:var(--teal)}.btn.white{background:#fff;color:var(--purple)!important}
section{padding:46px 0}.white{background:#fff}.center{text-align:center}.intro{max-width:1100px;margin:0 auto}.quote{font:italic 25px Georgia,serif;color:var(--purple);margin:20px auto}.twocol{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px;align-items:center}.portrait{border-radius:22px;box-shadow:0 18px 45px rgba(24,55,101,.13)}.image-card{border-radius:22px;overflow:hidden;box-shadow:0 18px 45px rgba(24,55,101,.12)}.therapy-image{display:block;width:100%;border-radius:20px}
.framework{background:#183765;color:#fff}.framework h2{color:#fff}.framework .eyebrow{color:#f2cc67}.framework-image{display:block;width:100%;border-radius:18px;box-shadow:0 18px 55px rgba(0,0,0,.25);margin-top:25px}
.therapy{background:#f5f1e8}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:22px}.card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:21px}.card p{color:var(--muted);margin:0}
.concerns{background:#eaf4f3}.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:22px}.chip{background:#fff;border:1px solid #d7e6e3;padding:16px;border-radius:14px;color:var(--purple);font-weight:700}
.keeper{background:#2a2036;color:#eee}.keeper h2,.keeper h1{color:#fff}.keeper .eyebrow{color:#f2cc67}.keeper-grid{display:grid;grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr);gap:58px;align-items:center}.keeper-image{border-radius:20px;box-shadow:0 18px 50px rgba(0,0,0,.3)}.points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px}.point{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px;color:var(--ink)}.point strong{display:block;color:var(--purple);font-size:18px;margin-bottom:5px}
.insurance{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;max-width:1000px;margin:20px auto}.insurance span{background:#f5f1f8;color:var(--purple);padding:8px 13px;border-radius:999px;font-weight:700}.home-teaser{max-width:920px;margin:0 auto}.home-teaser p{margin:0 auto 18px}.ai-note{max-width:900px;margin:0 auto;color:var(--muted);font-size:15px}.ai-note strong{color:var(--navy)}
.cta{background:linear-gradient(135deg,var(--purple),#5e467f);color:#fff;text-align:center}.cta h2{color:#fff}.cta p{max-width:820px;margin:0 auto 24px}
.site-footer{background:#172338;color:#d9e0e8;padding:40px 0 18px}.footer-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:42px}.site-footer h3{color:#fff;font-size:20px}.site-footer a{color:#d9e0e8}.footer-bottom{border-top:1px solid rgba(255,255,255,.16);margin-top:26px;padding-top:14px;font-size:13px;color:#aeb8c4}
.page-header{padding:38px 0 34px;background:#f4f7fb}.page-header h1{margin-bottom:10px}.page-header p{max-width:1100px;font-size:18px}.page-content{padding:44px 0}.faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.about-hero{padding:42px 0 34px}.about-hero .wrap{text-align:center}.about-photo{width:min(380px,70vw);margin:0 auto 24px;display:block;border-radius:20px;box-shadow:0 18px 45px rgba(24,55,101,.14)}.about-intro{max-width:1080px;margin:auto;text-align:center}.about-intro h1{font-size:clamp(38px,4.4vw,58px)}.about-body{max-width:1200px;margin:auto}.about-body p{font-size:17px}.credential-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:22px}.credential{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px;text-align:center}.journey-cta{margin-top:30px;padding:28px;border-radius:18px;background:#eaf4f3;text-align:center}
@media(max-width:900px){.nav-inner{min-height:72px;padding:8px 18px}.site-logo{width:125px}.main-menu{gap:16px;font-size:14px}.wrap{padding:0 22px}.twocol,.keeper-grid{grid-template-columns:1fr;gap:34px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:1fr 1fr}.keeper-grid .keeper-image{max-width:560px;margin:auto}.hero-copy{max-width:760px}}
@media(max-width:620px){.top-sunrise{min-height:116px;padding:14px 12px}.brand-title{font-size:31px}.brand-name{font-size:11px;margin-top:7px}.site-nav{position:sticky;top:0}.nav-inner{padding:7px 12px}.site-logo{width:105px}.main-menu{gap:10px;font-size:12px}.main-menu .start{padding:9px 12px}.explore-dropdown{right:-40px;min-width:225px}.wrap{padding:0 16px}section{padding:38px 0}.hero{min-height:500px}.hero-inner{min-height:500px;align-items:flex-end;padding-bottom:42px}.hero:before{background:linear-gradient(180deg,rgba(248,249,250,.25) 0%,rgba(248,249,250,.78) 58%,rgba(248,249,250,.97) 100%)}.hero-copy{max-width:100%}.hero p{font-size:16px}.cards,.grid4,.points,.faq-grid,.credential-grid,.footer-grid{grid-template-columns:1fr}.about-photo{width:min(330px,80vw)}.about-intro h1{font-size:38px}.quote{font-size:22px}.top-sunrise + .site-nav .nav-inner{min-height:68px}}
.concern-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.concern-cards .card{height:100%}

/* Second Sunrise visual refinement — tighter, wider, more editorial */
section{padding:58px 0}
.hero{min-height:570px}.hero-inner{min-height:570px}.hero-copy{max-width:780px}.hero h1{max-width:760px}.hero-lead{font-size:21px!important;line-height:1.5;color:#35414c!important}
.philosophy-grid,.trust-grid,.insurance-grid,.human-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:70px;align-items:center}.philosophy-grid h2,.trust-grid h2,.insurance-grid h2{max-width:650px}.philosophy-grid>div:last-child{max-width:650px}.quote{margin:0 0 14px}
.twocol{gap:75px}.twocol>div:first-child{max-width:650px}
.framework-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:60px;align-items:center}.framework-copy{max-width:650px}.framework-image{margin-top:0}
.section-heading{max-width:900px;margin:0 auto 28px;text-align:center}.section-heading p{max-width:760px;margin:0 auto}.home-concern-cards{display:flex!important;flex-flow:row wrap!important;align-items:stretch!important;align-content:flex-start!important;gap:16px!important;margin:28px 0 0!important;width:100%!important;padding:0!important;box-sizing:border-box!important}.home-concern-cards>.concern-card{display:flex!important;flex:0 0 calc(25% - 12px)!important;width:calc(25% - 12px)!important;max-width:calc(25% - 12px)!important;min-width:0!important;height:158px!important;min-height:158px!important;margin:0!important;padding:20px!important;box-sizing:border-box!important;position:relative!important;float:none!important;clear:none!important;overflow:hidden!important;align-items:flex-start!important;justify-content:flex-start!important;flex-direction:column!important;background:#fff!important;border:1px solid var(--line)!important;border-radius:17px!important;color:var(--ink)!important;text-decoration:none!important;transform:none!important}.home-concern-cards>.concern-card:hover{transform:translateY(-3px)!important;box-shadow:0 12px 28px rgba(24,55,101,.12)!important}.home-concern-cards>.concern-card span{display:block!important;position:static!important;width:100%!important;margin:0!important;padding:0!important;font-family:Georgia,"Times New Roman",serif!important;font-size:20px!important;line-height:1.16!important;color:var(--purple)!important;font-weight:700!important}.home-concern-cards>.concern-card small{display:block!important;position:static!important;width:100%!important;margin:8px 0 0!important;padding:0!important;color:var(--muted)!important;font-size:14px!important;line-height:1.4!important}.home-concern-cards>.concern-card::before,.home-concern-cards>.concern-card::after{display:none!important;content:none!important}.home-concern-cards>.concern-card>*{position:static!important}.section-action{text-align:center;margin-top:28px}
.trust-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.trust-grid p{font-size:16px}.text-link{font-weight:800;color:var(--purple)}.human-section{padding-top:45px;padding-bottom:45px}.human-mark{width:88px;height:88px;border-radius:50%;background:#f3f0f7;display:grid;place-items:center;color:var(--gold);font-size:40px;margin:auto}.human-grid{grid-template-columns:120px minmax(0,1fr);gap:35px;max-width:1000px}.human-grid h2{max-width:780px}
.keeper-home-grid{display:grid;grid-template-columns:minmax(300px,.7fr) minmax(0,1.3fr);gap:65px;align-items:center}.keeper-home-image{width:100%;max-width:500px;border-radius:20px;box-shadow:0 18px 50px rgba(0,0,0,.3)}.keeper-home-grid>div{max-width:700px}
.insurance-section{border-top:1px solid var(--line)}.insurance-grid>div:last-child{max-width:700px}.insurance{justify-content:flex-start;margin:18px 0}.insurance span{font-size:13px}
.page-section-heading{margin-bottom:34px}.narrow{max-width:850px;margin:auto}
.page-content .concern-cards .card{min-height:260px}.page-content .concern-cards .card h3{font-size:24px}
.about-body{max-width:1120px}.about-intro{max-width:1150px}
.page-header{padding:52px 0 42px}.page-header h1{max-width:950px}.page-header p{max-width:850px}
.site-footer{padding-top:48px}
@media(max-width:1000px){.home-concern-cards>.concern-card{flex-basis:calc(50% - 8px)!important;width:calc(50% - 8px)!important;max-width:calc(50% - 8px)!important}.framework-grid,.keeper-home-grid{grid-template-columns:1fr;gap:35px}.framework-copy,.keeper-home-grid>div{max-width:none}.framework-image{max-width:850px;margin:auto}.keeper-home-image{max-width:520px}.philosophy-grid,.trust-grid,.insurance-grid{gap:40px}}
@media(max-width:700px){section{padding:44px 0}.philosophy-grid,.trust-grid,.insurance-grid,.human-grid{grid-template-columns:1fr;gap:20px}.human-grid{text-align:center}.human-mark{margin:0 auto 5px}.home-concern-cards{gap:12px!important}.home-concern-cards>.concern-card{flex:0 0 100%!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:128px!important}.concern-cards .card{min-height:0}.hero{min-height:590px}.hero-inner{min-height:590px}.hero h1{font-size:43px}.hero-lead{font-size:18px!important}.framework-grid{grid-template-columns:1fr}.keeper-home-grid{grid-template-columns:1fr}.insurance{justify-content:center}.insurance-grid{text-align:center}.insurance span{font-size:12px}.section-heading h2{font-size:35px}}



/* From the Second Sunrise — editorial article library */
.blog-hero{background:#f4f7fb;padding:76px 0 66px;border-bottom:1px solid var(--line)}
.blog-hero-inner{max-width:1120px}
.blog-hero h1{max-width:920px;font-size:clamp(42px,5vw,66px);margin:10px 0 18px}
.blog-hero p{max-width:820px;font-size:20px;color:#4e5963;line-height:1.6}
.blog-search-wrap{max-width:720px;margin-top:28px}
.blog-search-wrap input{width:100%;box-sizing:border-box;padding:15px 20px;border:1px solid #cfd8e1;border-radius:999px;background:#fff;font:inherit;font-size:16px;box-shadow:0 8px 25px rgba(24,55,101,.06)}
.blog-search-wrap input:focus{outline:3px solid rgba(68,150,145,.18);border-color:var(--teal)}
.blog-library{background:#fff;padding:60px 0 78px}
.blog-topline{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:30px}
.blog-topic-title{font-size:clamp(28px,3vw,40px);margin:7px 0 0;max-width:650px}
.blog-filters{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;max-width:620px}
.topic-filter{border:1px solid #d7e1e5;background:#fff;color:var(--purple);padding:9px 13px;border-radius:999px;font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.topic-filter:hover,.topic-filter.active{background:var(--purple);color:#fff;border-color:var(--purple)}
.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.article-card{display:flex;background:#fff;border:1px solid var(--line);border-radius:18px;min-height:270px;box-shadow:0 8px 25px rgba(24,55,101,.045);transition:transform .18s ease,box-shadow .18s ease}
.article-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(24,55,101,.10)}
.article-card[hidden]{display:none}
.article-card-body{padding:25px;display:flex;flex-direction:column;width:100%;box-sizing:border-box}
.article-card h3{font-size:27px;line-height:1.16;margin:7px 0 12px}
.article-card h3 a{color:var(--navy);text-decoration:none}
.article-card h3 a:hover{color:var(--purple)}
.article-card p{color:var(--muted);line-height:1.55;margin:0 0 20px}
.article-category{font-size:12px;letter-spacing:.10em;text-transform:uppercase;color:var(--teal);font-weight:800}
.article-read{margin-top:auto;color:var(--purple);font-weight:800;text-decoration:none}
.article-read:hover{text-decoration:underline}
.no-results{padding:30px;background:#f5f1e8;border-radius:15px;color:var(--muted);text-align:center}

.article-header{background:#f4f7fb;padding:50px 0 30px;border-bottom:1px solid var(--line)}
.article-header-inner{max-width:1000px}
.back-to-blog{display:inline-block;color:var(--purple);font-weight:800;text-decoration:none;margin-bottom:30px}
.back-to-blog:hover{text-decoration:underline}
.article-header h1{font-size:clamp(44px,5.6vw,72px);max-width:940px;margin:10px 0 18px}
.article-dek{font-size:21px;line-height:1.55;color:#4e5963;max-width:820px;margin:0}
.article-content-section{padding:28px 0 80px;background:#fff}
.article-layout{display:grid;grid-template-columns:minmax(0,760px) minmax(260px,340px);gap:70px;align-items:start;justify-content:center}
.article-content{font-size:18px;line-height:1.78;color:#36424c}
.article-content p{margin:0 0 22px}
.article-content h2{font-size:36px;margin:48px 0 15px}
.article-content blockquote{margin:38px 0;padding:24px 28px;border-left:4px solid var(--gold);background:#f5f1e8;color:var(--purple);font:italic 25px/1.45 Georgia,"Times New Roman",serif}
.article-aside{position:sticky;top:30px}
.article-aside-card{background:#f5f1e8;border-radius:18px;padding:25px;margin-bottom:18px}
.article-aside-card h3{font-size:25px}
.article-aside-card p{color:var(--muted);line-height:1.55}
.related-card{background:#eaf4f3}
.related-card>a:not(.all-articles){display:block;padding:15px 0;border-bottom:1px solid #cfe1df;text-decoration:none}
.related-card>a strong{display:block;color:var(--purple);font-family:Georgia,"Times New Roman",serif;font-size:19px;line-height:1.25}
.related-card>a span{display:block;color:var(--muted);font-size:14px;line-height:1.4;margin-top:5px}
.related-card .all-articles{display:block;margin-top:16px;color:var(--purple);font-weight:800;text-decoration:none}
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.blog-home{background:#f5f1e8;padding:60px 0}
.blog-home-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:1180px;margin:28px auto 0}
.blog-home-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:18px;padding:25px;min-height:245px;box-sizing:border-box;text-decoration:none;box-shadow:0 8px 25px rgba(24,55,101,.05);transition:transform .18s ease,box-shadow .18s ease}
.blog-home-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(24,55,101,.10)}
.blog-home-card h3{font-size:26px;color:var(--navy);line-height:1.18;margin:8px 0 12px}
.blog-home-card p{color:var(--muted);line-height:1.5;margin:0 0 18px}
.blog-home-card .article-read{margin-top:auto}

@media(max-width:980px){
  .blog-topline{display:block}.blog-filters{justify-content:flex-start;margin-top:22px}
  .article-grid,.blog-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .article-layout{grid-template-columns:minmax(0,1fr);gap:35px}.article-aside{position:static;display:grid;grid-template-columns:1fr 1fr;gap:18px}.article-aside-card{margin:0}
}
@media(max-width:620px){
  .blog-hero{padding:50px 0 45px}.blog-hero h1{font-size:40px}.blog-hero p{font-size:17px}
  .blog-library{padding:45px 0 60px}.article-grid,.blog-home-grid{grid-template-columns:1fr}
  .article-card{min-height:230px}.blog-home-card{min-height:220px}
  .article-header{padding:40px 0 45px}.article-header h1{font-size:42px}.article-dek{font-size:18px}
  .article-content-section{padding:45px 0 60px}.article-content{font-size:17px}.article-content h2{font-size:31px;margin-top:40px}
  .article-aside{grid-template-columns:1fr}.topic-filter{font-size:13px;padding:8px 11px}
}


/* v3.4 — reduce dead space, strengthen navigation, and make long pages easier to scan */
.top-sunrise{
  min-height:105px;
  padding:12px 20px;
}
.brand-title{
  font-size:clamp(28px,3.3vw,46px);
  line-height:1.08;
}
.brand-name{
  display:block;
  margin-top:5px;
  background:transparent;
  border:0;
  padding:0;
  font-size:clamp(13px,1.15vw,16px);
  line-height:1.2;
}
.brand-separator{
  display:inline-block;
  padding-right:7px;
  color:var(--gold);
  font-size:1.1em;
}
.nav-inner{
  min-height:74px;
  padding:7px 30px;
}
.site-logo{width:125px}
.main-menu{gap:22px}

section{padding:42px 0}
.page-header{padding:34px 0 28px}
.page-content{padding:30px 0}
.about-hero{padding:34px 0 28px}
.about-photo{margin-bottom:16px}
.page-section-heading{margin-bottom:24px}
.page-content .concern-cards .card{min-height:0}
.page-content .concern-cards .card h3{font-size:23px}
.credential{padding:16px}
.journey-cta{margin-top:22px;padding:22px}

.framework{
  padding:46px 0 42px;
}
.framework-grid{gap:48px}
.framework-visual{display:flex;align-items:center;justify-content:center}
.framework-image{margin-top:0}
.recovery-stages{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
  margin-top:28px;
}
.recovery-stage{
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.20);
  border-radius:14px;
  padding:16px 15px;
  color:#fff;
}
.recovery-stage .stage-number{
  display:block;
  color:var(--gold);
  font-size:11px;
  font-weight:800;
  letter-spacing:.14em;
  margin-bottom:4px;
}
.recovery-stage h3{
  color:#fff;
  font-size:22px;
  margin:0 0 3px;
}
.recovery-stage strong{
  display:block;
  color:#f2cc67;
  font-size:13px;
  line-height:1.3;
  margin-bottom:7px;
}
.recovery-stage p{
  margin:0;
  font-size:13px;
  line-height:1.42;
  color:rgba(255,255,255,.86);
}

.keeper-story{padding-top:42px;padding-bottom:42px}
.keeper-story-grid{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:65px;
  align-items:center;
}
.keeper-story-grid h2{max-width:650px}
.keeper-story-grid p{font-size:17px}
.keeper-practice{
  background:#f5f1e8;
  padding:42px 0;
}
.keeper-practice-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  max-width:1180px;
  margin:24px auto 0;
}
.keeper-practice-grid .point{min-height:0}

.blog-hero{padding:55px 0 48px}
.blog-library{padding:48px 0 60px}
.article-header{padding:42px 0 26px}
.article-content-section{padding:24px 0 65px}

.site-footer{padding-top:38px}

@media(max-width:1000px){
  .recovery-stages{grid-template-columns:repeat(3,minmax(0,1fr))}
  .keeper-story-grid{grid-template-columns:1fr;gap:22px}
  .keeper-practice-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .top-sunrise{min-height:92px;padding:10px 12px}
  .brand-title{font-size:28px}
  .brand-name{font-size:11px}
  .nav-inner{min-height:68px;padding:6px 14px}
  .site-logo{width:108px}
  .main-menu{gap:10px}
  section{padding:36px 0}
  .page-header{padding:30px 0 24px}
  .about-hero{padding:28px 0 24px}
  .recovery-stages{grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
  .recovery-stage{padding:14px}
  .keeper-story{padding:34px 0}
  .keeper-practice{padding:34px 0}
  .keeper-practice-grid{grid-template-columns:1fr}
  .blog-hero{padding:44px 0 38px}
}
@media(max-width:620px){
  .top-sunrise{min-height:88px}
  .brand-title{font-size:24px}
  .brand-name{font-size:10px}
  .nav-inner{min-height:64px}
  .site-logo{width:100px}
}

/* v3.4.1 — Recovery Model descriptions belong in the model table */
.recovery-table-wrap{
  margin-top:26px;
  overflow-x:auto;
  border-radius:14px;
}
.recovery-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  table-layout:fixed;
  background:#fff;
  color:var(--ink);
  border:1px solid rgba(255,255,255,.25);
  border-radius:14px;
  overflow:hidden;
}
.recovery-table th{
  background:#f5f1e8;
  color:var(--navy);
  font-family:Georgia,"Times New Roman",serif;
  font-size:22px;
  line-height:1.15;
  padding:16px 13px 11px;
  border-right:1px solid var(--line);
}
.recovery-table th:last-child{border-right:0}
.recovery-table td{
  padding:11px 13px 17px;
  vertical-align:top;
  text-align:center;
  border-right:1px solid var(--line);
  border-top:1px solid var(--line);
  font-size:13px;
  line-height:1.45;
  color:#52606b;
}
.recovery-table td:last-child{border-right:0}
.recovery-table .recovery-focus td{
  padding:9px 13px 10px;
  background:#faf8f4;
  color:var(--purple);
  font-size:12px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
}
@media(max-width:850px){
  .recovery-table{min-width:760px}
  .recovery-table-wrap{margin-left:-2px;margin-right:-2px}
}

/* v3.4.2 — tighter editorial rhythm across the entire site */
section{padding:30px 0}
.white{padding-top:30px;padding-bottom:30px}
.therapy,.concerns,.framework,.keeper,.blog-home{padding-top:34px;padding-bottom:34px}
.section-heading{margin-bottom:20px}
.section-heading p{margin-bottom:0}
.twocol,.philosophy-grid,.trust-grid,.insurance-grid,.human-grid{gap:48px}
.home-concern-cards{margin-top:20px!important}
.section-action{margin-top:20px!important}
.framework-grid{gap:42px}
.recovery-table-wrap{margin-top:20px}
.recovery-table th,
.recovery-table .recovery-focus td,
.recovery-table tbody tr:last-child td{
  text-align:center;
}
.recovery-table th{padding-top:13px;padding-bottom:9px}
.recovery-table .recovery-focus td{padding-top:7px;padding-bottom:8px}
.recovery-table tbody tr:last-child td{padding-top:9px;padding-bottom:12px}
.keeper-story{padding-top:32px;padding-bottom:32px}
.keeper-practice{padding-top:32px;padding-bottom:32px}
.keeper-practice-grid{margin-top:20px}
.blog-home{padding-top:34px;padding-bottom:38px}
.blog-home-grid{margin-top:20px}
.blog-home-card{min-height:220px}
.page-header{padding-top:28px;padding-bottom:22px}
.page-content{padding-top:24px;padding-bottom:32px}
.about-hero{padding-top:28px;padding-bottom:24px}
.faq-grid{gap:16px}
.credential-grid{margin-top:18px}
.journey-cta{margin-top:18px}
.blog-hero{padding-top:42px;padding-bottom:36px}
.blog-library{padding-top:36px;padding-bottom:48px}
.article-header{padding-top:36px;padding-bottom:22px}
.article-content-section{padding-top:20px;padding-bottom:52px}
.site-footer{padding-top:30px}
@media(max-width:700px){
  section{padding:28px 0}
  .white,.therapy,.concerns,.framework,.keeper,.blog-home{padding-top:30px;padding-bottom:30px}
  .twocol,.philosophy-grid,.trust-grid,.insurance-grid,.human-grid{gap:28px}
  .framework-grid{gap:28px}
  .recovery-table-wrap{margin-top:16px}
  .page-header{padding-top:25px;padding-bottom:20px}
  .page-content{padding-top:20px;padding-bottom:28px}
  .blog-home-card{min-height:205px}
}

/* v3.4.3 — eliminate remaining dead space on the homepage */
.hero-inner{min-height:360px}
.hero-copy{max-width:760px}
.hero h1{margin-top:8px;margin-bottom:12px}
.hero p{margin-top:8px;margin-bottom:8px}
.buttons{margin-top:16px}

section{padding:20px 0}
.white{padding-top:20px;padding-bottom:20px}
.philosophy-grid,.trust-grid,.insurance-grid,.human-grid{gap:35px}
.philosophy-grid .quote{margin-bottom:8px}
.twocol{gap:40px}
.therapy{padding:24px 0}
.therapy-image{max-height:320px;object-fit:contain}
.framework{padding:28px 0 26px}
.framework-grid{gap:28px}
.framework-image{margin-top:0}
.recovery-table-wrap{margin-top:14px}
.recovery-table th{font-size:20px;padding:10px 9px 7px}
.recovery-table .recovery-focus td{padding:6px 8px}
.recovery-table tbody tr:last-child td{padding:7px 9px 10px;font-size:12px}
.concerns{padding:26px 0}
.section-heading{margin-bottom:16px}
.home-concern-cards{margin-top:16px!important}
.home-concern-cards>.concern-card{height:145px!important;min-height:145px!important;padding:17px!important}
.trust-strip{padding:22px 0}
.human-section{padding:22px 0}
.human-mark{width:66px;height:66px;font-size:30px}
.keeper{padding:28px 0}
.keeper-home-grid{gap:35px}
.keeper-home-image{max-width:420px}
.insurance-section{padding:22px 0}
.blog-home{padding:26px 0 30px}
.blog-home-grid{margin-top:16px}
.blog-home-card{min-height:190px}
.cta{padding:28px 0}
.site-footer{padding-top:28px}

@media(max-width:1000px){
  .hero-inner{min-height:330px}
  .framework-grid{
    grid-template-columns:minmax(0,1.05fr) minmax(260px,.95fr);
    gap:25px;
  }
  .framework-copy{max-width:none}
  .framework-image{width:100%;max-width:100%}
  .keeper-home-grid{grid-template-columns:minmax(250px,.7fr) minmax(0,1.3fr);gap:30px}
  .keeper-home-image{max-width:100%}
}
@media(max-width:800px){
  .hero-inner{min-height:310px}
  .framework-grid{grid-template-columns:1fr 1fr;align-items:center}
  .framework h2{font-size:34px}
  .framework-copy p{font-size:14px;line-height:1.45}
  .framework-image{max-height:300px;object-fit:contain}
  .recovery-table{min-width:700px}
}
@media(max-width:650px){
  .hero-inner{min-height:290px}
  section,.white{padding:18px 0}
  .philosophy-grid,.trust-grid,.insurance-grid,.human-grid,.twocol,.keeper-home-grid{grid-template-columns:1fr;gap:18px}
  .therapy-image{max-height:230px}
  .framework-grid{grid-template-columns:1fr}
  .framework-image{max-height:260px}
  .concerns{padding:22px 0}
  .home-concern-cards>.concern-card{height:132px!important;min-height:132px!important}
}

/* v3.4.4 — content-flow layout: sections no longer carry large built-in top/bottom air */
section{padding:8px 0}
.white{padding:8px 0}
.therapy,.concerns,.framework,.keeper,.blog-home{padding:10px 0}
.about-hero{padding:8px 0 10px}
.about-hero .about-photo{margin-bottom:8px}
.about-body{padding-top:0;padding-bottom:0}
.about-body .eyebrow{margin-top:0}
.about-body h2{margin-top:5px;margin-bottom:10px}
.about-body p{margin-top:6px;margin-bottom:9px}
.page-header{padding:12px 0 10px}
.page-content{padding:10px 0 16px}
.page-section-heading{margin-bottom:12px}
.credential-grid{margin-top:10px}
.credential{padding:12px}
.credential p{margin-bottom:0}
.journey-cta{margin-top:12px;padding:14px}
.philosophy-grid,.trust-grid,.insurance-grid,.human-grid{gap:28px}
.human-section{padding:12px 0}
.keeper-story{padding:12px 0}
.keeper-practice{padding:14px 0}
.blog-hero{padding:18px 0 14px}
.blog-library{padding:14px 0 22px}
.article-header{padding:18px 0 12px}
.article-content-section{padding:12px 0 30px}
.site-footer{padding-top:20px}

/* The homepage hero should also flow from its content instead of imposing a large minimum height. */
.hero-inner{min-height:300px}
.hero{min-height:0}
.hero-copy{padding:28px 0}
.framework{padding:18px 0}
.framework-grid{gap:22px}
.framework-image{margin-top:0}
.recovery-table-wrap{margin-top:10px}
.concerns{padding:16px 0}
.home-concern-cards{margin-top:10px!important}
.section-action{margin-top:12px!important}
.trust-strip{padding:14px 0}
.keeper{padding:16px 0}
.insurance-section{padding:14px 0}
.blog-home{padding:16px 0 20px}
.cta{padding:20px 0}

@media(max-width:700px){
  section,.white{padding:6px 0}
  .therapy,.concerns,.framework,.keeper,.blog-home{padding:8px 0}
  .about-hero{padding:6px 0 8px}
  .about-hero .about-photo{margin-bottom:6px}
  .about-body h2{margin-top:4px;margin-bottom:8px}
  .about-body p{margin-top:4px;margin-bottom:7px}
  .page-header{padding:9px 0 8px}
  .page-content{padding:8px 0 12px}
  .credential-grid{margin-top:8px}
  .credential{padding:10px}
  .journey-cta{margin-top:8px;padding:12px}
  .hero-inner{min-height:0}
  .hero-copy{padding:20px 0}
  .hero h1{font-size:38px}
  .framework-grid{grid-template-columns:1fr;gap:14px}
  .framework{padding:12px 0}
  .framework-image{max-height:240px}
  .recovery-table-wrap{margin-top:8px}
  .human-section,.trust-strip,.insurance-section{padding:9px 0}
  .keeper{padding:10px 0}
  .blog-home{padding:10px 0 14px}
  .cta{padding:16px 0}
}

/* v3.4.5 — minimal separation / continuous content flow */
section,
.white,
.therapy,
.concerns,
.framework,
.keeper,
.blog-home,
.human-section,
.trust-strip,
.insurance-section,
.cta {
  padding-top: 3px !important;
  padding-bottom: 3px !important;
}

.about-hero {
  padding-top: 3px !important;
  padding-bottom: 5px !important;
}

.about-photo {
  margin-bottom: 4px !important;
}

.about-body {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.about-body .eyebrow {
  margin-top: 0 !important;
  margin-bottom: 2px !important;
}

.about-body h1,
.about-body h2,
.about-body h3 {
  margin-top: 2px !important;
  margin-bottom: 5px !important;
}

.about-body p {
  margin-top: 2px !important;
  margin-bottom: 5px !important;
}

.section-heading {
  margin-top: 0 !important;
  margin-bottom: 6px !important;
}

.section-heading h2 {
  margin-top: 2px !important;
  margin-bottom: 5px !important;
}

.section-heading p {
  margin-top: 2px !important;
  margin-bottom: 5px !important;
}

.credential-grid {
  margin-top: 5px !important;
}

.credential {
  padding: 8px !important;
}

.journey-cta {
  margin-top: 6px !important;
  padding: 9px !important;
}

.hero-inner {
  min-height: 0 !important;
}

.hero-copy {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

.framework-grid {
  gap: 12px !important;
}

.recovery-table-wrap {
  margin-top: 5px !important;
}

.recovery-table th {
  padding-top: 7px !important;
  padding-bottom: 5px !important;
}

.recovery-table .recovery-focus td {
  padding-top: 4px !important;
  padding-bottom: 4px !important;
}

.recovery-table tbody tr:last-child td {
  padding-top: 5px !important;
  padding-bottom: 7px !important;
}

.home-concern-cards {
  margin-top: 6px !important;
}

.home-concern-cards > .concern-card {
  padding: 12px !important;
}

.keeper-story-grid {
  gap: 18px !important;
}

.keeper-practice-grid {
  margin-top: 8px !important;
}

.blog-home-grid {
  margin-top: 8px !important;
}

.blog-home-card {
  min-height: 160px !important;
  padding: 15px !important;
}

.page-header {
  padding-top: 5px !important;
  padding-bottom: 5px !important;
}

.page-content {
  padding-top: 4px !important;
  padding-bottom: 8px !important;
}

.article-header {
  padding-top: 7px !important;
  padding-bottom: 6px !important;
}

.article-content-section {
  padding-top: 6px !important;
  padding-bottom: 20px !important;
}

.site-footer {
  padding-top: 12px !important;
}

@media (max-width: 700px) {
  section,
  .white,
  .therapy,
  .concerns,
  .framework,
  .keeper,
  .blog-home,
  .human-section,
  .trust-strip,
  .insurance-section,
  .cta {
    padding-top: 2px !important;
    padding-bottom: 2px !important;
  }

  .about-hero {
    padding-top: 2px !important;
    padding-bottom: 3px !important;
  }

  .hero-copy {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }

  .framework-grid {
    gap: 8px !important;
  }

  .keeper-story-grid {
    gap: 12px !important;
  }

  .about-body p {
    margin-bottom: 4px !important;
  }

  .credential {
    padding: 7px !important;
  }

  .article-header {
    padding-top: 5px !important;
    padding-bottom: 4px !important;
  }

  .article-content-section {
    padding-top: 4px !important;
  }
}

/* v3.4.6 — ZERO-DEAD-SPACE HOMEPAGE PASS */
.home-page section,
.home-page .white,
.home-page .therapy,
.home-page .concerns,
.home-page .framework,
.home-page .keeper,
.home-page .blog-home,
.home-page .human-section,
.home-page .trust-strip,
.home-page .insurance-section,
.home-page .cta {
  margin: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Let each block be exactly as tall as its content. */
.home-page .hero,
.home-page .hero-inner {
  min-height: 0 !important;
}

.home-page .hero-copy {
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}

.home-page .philosophy-grid,
.home-page .twocol,
.home-page .trust-grid,
.home-page .human-grid,
.home-page .keeper-home-grid,
.home-page .insurance-grid {
  padding-top: 14px !important;
  padding-bottom: 14px !important;
}

.home-page .framework-grid {
  padding-top: 14px !important;
  padding-bottom: 8px !important;
}

.home-page .framework-image {
  margin-top: 0 !important;
}

.home-page .recovery-table-wrap {
  margin-top: 0 !important;
  padding-bottom: 10px !important;
}

/* Stage label row: centered directly under each sunrise stage. */
.home-page .recovery-table th,
.home-page .recovery-table td {
  text-align: center !important;
  vertical-align: middle !important;
}
.home-page .recovery-table th {
  padding: 5px 8px 3px !important;
}
.home-page .recovery-table .recovery-focus td {
  padding: 2px 8px 4px !important;
}
.home-page .recovery-table tbody tr:last-child td {
  padding: 3px 8px 7px !important;
}

/* Keep the next section attached to the model instead of adding a visual runway. */
.home-page .section-heading {
  margin-top: 0 !important;
  margin-bottom: 7px !important;
}
.home-page .home-concern-cards {
  margin-top: 7px !important;
}
.home-page .home-concern-cards > .concern-card {
  height: auto !important;
  min-height: 0 !important;
}
.home-page .section-action {
  margin-top: 7px !important;
  margin-bottom: 0 !important;
}

.home-page .human-mark {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.home-page .blog-home-grid {
  margin-top: 7px !important;
}
.home-page .blog-home-card {
  min-height: 0 !important;
}
.home-page .cta .wrap {
  padding-top: 16px !important;
  padding-bottom: 16px !important;
}

/* Remove default heading/paragraph margins that re-create "built-in" air. */
.home-page h1,
.home-page h2,
.home-page h3,
.home-page p {
  margin-top: 0;
}
.home-page h2 {
  margin-bottom: 7px;
}
.home-page p {
  margin-bottom: 6px;
}
.home-page .eyebrow {
  margin-bottom: 2px;
}

@media (max-width: 700px) {
  .home-page .hero-copy {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
  }
  .home-page .philosophy-grid,
  .home-page .twocol,
  .home-page .trust-grid,
  .home-page .human-grid,
  .home-page .keeper-home-grid,
  .home-page .insurance-grid {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
  .home-page .framework-grid {
    padding-top: 10px !important;
    padding-bottom: 5px !important;
  }
  .home-page .recovery-table-wrap {
    padding-bottom: 6px !important;
  }
}

/* v3.4.7 — center every word in the Recovery Model table */
.home-page .recovery-table,
.home-page .recovery-table thead,
.home-page .recovery-table tbody,
.home-page .recovery-table tr,
.home-page .recovery-table th,
.home-page .recovery-table td {
  text-align: center !important;
}
.home-page .recovery-table th,
.home-page .recovery-table td {
  vertical-align: middle !important;
}
.home-page .recovery-table .recovery-focus td {
  text-align: center !important;
}
.home-page .recovery-table tbody tr:last-child td {
  text-align: center !important;
}

/* v3.4.8 — true content-flow spacing across the entire site */
html, body { margin:0 !important; }
main { margin:0 !important; padding:0 !important; }
main > section {
  margin-top:0 !important;
  margin-bottom:0 !important;
  min-height:0 !important;
}
main > section + section { margin-top:0 !important; }

main > section .wrap {
  margin-top:0 !important;
  margin-bottom:0 !important;
}

/* Remove old fixed/minimum heights that can create blank bands. */
.about-hero,
.about-hero .wrap,
.page-content,
.blog-page,
.blog-hero,
.blog-library,
.blog-home,
.keeper,
.keeper-story,
.keeper-practice,
.therapy,
.concerns,
.framework,
.human-section,
.trust-strip,
.insurance-section,
.cta {
  min-height:0 !important;
}

/* About page: each idea follows the previous one closely. */
.about-hero { padding:0 !important; }
.about-hero .about-intro { padding-top:4px !important; padding-bottom:8px !important; }
.about-photo { margin-bottom:4px !important; }
.about-body { padding-top:3px !important; padding-bottom:5px !important; }
.about-body h2 { margin-top:2px !important; margin-bottom:5px !important; }
.about-body p { margin-top:2px !important; margin-bottom:5px !important; }
.credential-grid { margin-top:6px !important; }
.credential { padding:8px !important; }
.about-body > p:last-child { margin-bottom:2px !important; }
.journey-cta { margin-top:7px !important; padding:9px !important; }

/* Blog: the topic section begins immediately after the intro/search. */
.blog-hero {
  padding:10px 0 5px !important;
}
.blog-hero-inner { padding-bottom:0 !important; }
.blog-hero h1 { margin:3px 0 7px !important; }
.blog-hero p { margin:0 0 7px !important; }
.blog-search-wrap { margin-top:5px !important; margin-bottom:0 !important; }
.blog-library {
  padding:4px 0 12px !important;
}
.blog-topline {
  margin:0 0 6px !important;
  gap:10px !important;
}
.blog-topic-title { margin:2px 0 4px !important; }
.blog-filters { margin-top:3px !important; }
.article-grid { margin-top:6px !important; }
.article-card { min-height:0 !important; }
.article-card-body { padding:14px !important; }
.article-card p { margin-bottom:8px !important; }

/* Keeper: one continuous story, then three meaningful practice principles. */
.keeper { padding:4px 0 !important; }
.keeper-grid { gap:28px !important; padding:8px 0 !important; }
.keeper-image { margin:0 !important; }
.keeper-story { padding:7px 0 !important; }
.keeper-story .section-heading { margin-bottom:6px !important; }
.keeper-story-copy p { margin:0 !important; }
.keeper-name-story {
  margin-top:10px !important;
  padding-top:8px !important;
  border-top:1px solid var(--line);
}
.keeper-name-story h2 { margin:2px 0 4px !important; }
.keeper-name-story p { margin:0 !important; }
.keeper-practice { padding:7px 0 !important; }
.keeper-practice .section-heading { margin-bottom:7px !important; }
.keeper-practice-grid { margin-top:7px !important; gap:8px !important; }
.keeper-practice-grid .point { padding:10px !important; }
.points { margin-top:8px !important; gap:8px !important; }
.points .point { padding:10px !important; }
.keeper-practice + .white { padding:7px 0 !important; }

/* General pages: keep sections visually distinct but nearly touching. */
.page-header { padding:7px 0 5px !important; }
.page-content { padding:5px 0 9px !important; }
.section-heading { margin-top:0 !important; margin-bottom:7px !important; }
.section-heading h2 { margin-top:2px !important; margin-bottom:4px !important; }
.section-heading p { margin-top:2px !important; margin-bottom:4px !important; }

/* Article pages and the article library get the same compact rhythm. */
.article-header { padding:9px 0 6px !important; }
.article-content-section { padding:7px 0 24px !important; }
.article-content p { margin:0 0 10px !important; }
.article-content h2 { margin:20px 0 7px !important; }
.back-to-blog { margin-bottom:7px !important; }

/* Footer should not add another large blank zone. */
.site-footer { padding-top:16px !important; }
.footer-grid { gap:20px !important; }
.footer-bottom { margin-top:10px !important; padding-top:8px !important; }

@media(max-width:700px){
  main > section { padding-top:0 !important; padding-bottom:0 !important; }
  .about-hero .about-intro { padding-top:3px !important; padding-bottom:6px !important; }
  .about-body { padding-top:2px !important; padding-bottom:4px !important; }
  .blog-hero { padding:7px 0 3px !important; }
  .blog-library { padding:3px 0 8px !important; }
  .blog-topline { margin-bottom:4px !important; }
  .keeper { padding:2px 0 !important; }
  .keeper-grid { padding:5px 0 !important; gap:12px !important; }
  .keeper-story { padding:5px 0 !important; }
  .keeper-name-story { margin-top:7px !important; padding-top:6px !important; }
  .keeper-practice { padding:5px 0 !important; }
  .keeper-practice-grid { grid-template-columns:1fr !important; }
  .points { grid-template-columns:1fr !important; }
  .page-header { padding:5px 0 4px !important; }
  .page-content { padding:4px 0 7px !important; }
  .article-header { padding:6px 0 4px !important; }
  .article-content-section { padding:5px 0 18px !important; }
}

/* v3.4.9 — editorial cleanup: one conversation, compact sections, content-led height */

/* Stop background sections from feeling like separate rooms. */
.home-page > section {
  margin: 0 !important;
  min-height: 0 !important;
}
.home-page > section + section {
  border-top: 0 !important;
}

/* Homepage rhythm */
.home-page .hero-copy { padding-top: 24px !important; padding-bottom: 24px !important; }
.home-page .home-philosophy .philosophy-grid { padding-top: 14px !important; padding-bottom: 14px !important; }
.home-page .home-therapy .twocol { padding-top: 14px !important; padding-bottom: 14px !important; }
.home-page .home-framework .framework-grid { padding-top: 12px !important; padding-bottom: 6px !important; }
.home-page .home-framework .recovery-table-wrap { margin-top: 0 !important; padding-bottom: 8px !important; }
.home-page .home-concerns { padding-top: 12px !important; padding-bottom: 12px !important; }
.home-page .home-experience .trust-grid { padding-top: 12px !important; padding-bottom: 12px !important; }
.home-page .home-keeper .keeper-home-grid { padding-top: 12px !important; padding-bottom: 12px !important; }
.home-page .home-insurance .insurance-grid { padding-top: 10px !important; padding-bottom: 10px !important; }
.home-page .home-blog { padding-top: 12px !important; padding-bottom: 14px !important; }
.home-page .home-blog .section-heading { margin-bottom: 8px !important; }
.home-page .home-blog-grid { margin-top: 7px !important; }
.home-page .home-blog-card { min-height: 0 !important; padding: 14px !important; }
.home-page .cta { padding-top: 14px !important; padding-bottom: 16px !important; }

/* The standalone "Information can help..." section was intentionally removed from the homepage.
   Its core idea now lives inside the Therapy Is a Conversation section. */

/* Keep the recovery labels perfectly centered under each visual stage. */
.home-page .recovery-table th,
.home-page .recovery-table td {
  text-align: center !important;
  vertical-align: middle !important;
}

/* About / Keeper / general pages: minimal editorial separation. */
.about-hero,
.page-header,
.page-content,
.therapy,
.keeper,
.keeper-story,
.keeper-practice,
.concerns,
.framework,
.blog-home,
.blog-library,
.blog-hero,
.article-header,
.article-content-section,
.cta {
  min-height: 0 !important;
}
.about-body p:last-child { margin-bottom: 2px !important; }
.page-header { padding-top: 7px !important; padding-bottom: 5px !important; }
.page-content { padding-top: 5px !important; padding-bottom: 8px !important; }

/* Blog intro flows directly into Explore by Topic. */
.compact-blog-hero { padding-bottom: 3px !important; }
.compact-blog-hero .blog-hero-inner { padding-bottom: 0 !important; }
.compact-blog-hero h1 { margin-bottom: 5px !important; }
.compact-blog-hero p { margin-bottom: 5px !important; }
.compact-blog-library { padding-top: 3px !important; }
.compact-blog-library .blog-topline { margin-bottom: 5px !important; }
.compact-blog-library .blog-topic-title { margin-top: 1px !important; margin-bottom: 4px !important; }

/* Keep article pages compact without making paragraphs hard to read. */
.article-header { padding-top: 8px !important; padding-bottom: 6px !important; }
.article-content-section { padding-top: 6px !important; padding-bottom: 22px !important; }

/* Mobile: stack only when the content truly needs to stack. */
@media (max-width: 700px) {
  .home-page .hero-copy { padding-top: 16px !important; padding-bottom: 16px !important; }
  .home-page .home-philosophy .philosophy-grid,
  .home-page .home-therapy .twocol,
  .home-page .home-experience .trust-grid,
  .home-page .home-keeper .keeper-home-grid,
  .home-page .home-insurance .insurance-grid {
    padding-top: 9px !important;
    padding-bottom: 9px !important;
  }
  .home-page .home-framework .framework-grid { padding-top: 8px !important; padding-bottom: 4px !important; }
  .home-page .home-concerns { padding-top: 8px !important; padding-bottom: 8px !important; }
  .home-page .home-blog { padding-top: 9px !important; padding-bottom: 10px !important; }
  .compact-blog-hero { padding-bottom: 2px !important; }
  .compact-blog-library { padding-top: 2px !important; }
}

/* Final mobile recovery treatment: keep the table readable instead of shrinking it to illegibility. */
@media (max-width: 700px) {
  .home-page .recovery-table-wrap { overflow-x: auto; }
  .home-page .recovery-table { min-width: 720px; }
}

/* v3.4.10 — therapy conversation image is a supporting visual, not a hero */
.home-page .home-therapy .twocol {
  align-items: center !important;
  gap: 42px !important;
}
.home-page .home-therapy .image-card {
  width: min(300px, 100%) !important;
  max-width: 300px !important;
  justify-self: center !important;
  margin: 0 auto !important;
  padding: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  border-radius: 0 !important;
}
.home-page .home-therapy .therapy-image {
  display: block !important;
  width: 100% !important;
  max-width: 300px !important;
  max-height: 250px !important;
  height: auto !important;
  object-fit: contain !important;
  margin: 0 auto !important;
  border-radius: 12px !important;
}
.home-page .home-therapy .twocol > div:first-child {
  max-width: 690px !important;
}

/* The homepage no longer repeats the What I Help With directory. */
.home-page .home-concerns {
  display: none !important;
}

@media (max-width: 800px) {
  .home-page .home-therapy .twocol {
    gap: 18px !important;
  }
  .home-page .home-therapy .image-card {
    width: min(220px, 70vw) !important;
    max-width: 220px !important;
  }
  .home-page .home-therapy .therapy-image {
    max-width: 220px !important;
    max-height: 190px !important;
  }
}

/* v3.4.11 — final homepage editorial reduction */
.home-page > section {
  margin: 0 !important;
  min-height: 0 !important;
}

.home-page .hero-copy {
  padding-top: 22px !important;
  padding-bottom: 22px !important;
}

.home-page .home-philosophy .philosophy-grid,
.home-page .home-therapy .twocol,
.home-page .home-experience .trust-grid,
.home-page .home-keeper .keeper-home-grid {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

.home-page .home-framework .framework-grid {
  padding-top: 9px !important;
  padding-bottom: 4px !important;
}

.home-page .home-framework .recovery-table-wrap {
  padding-bottom: 6px !important;
}

.home-page .home-experience .trust-grid {
  gap: 32px !important;
}

.home-page .home-keeper .keeper-home-grid {
  gap: 30px !important;
}

.home-page .home-keeper .keeper-home-image {
  max-width: 230px !important;
  width: 100% !important;
  justify-self: center !important;
}

.home-page .home-blog {
  padding-top: 10px !important;
  padding-bottom: 12px !important;
}

.home-page .home-blog .section-heading {
  margin-bottom: 6px !important;
}

.home-page .home-blog-grid {
  margin-top: 5px !important;
  gap: 10px !important;
}

.home-page .home-blog-card {
  min-height: 0 !important;
  padding: 12px !important;
}

.home-page .home-blog-card h3 {
  margin-top: 3px !important;
  margin-bottom: 5px !important;
}

.home-page .home-blog-card p {
  margin-bottom: 6px !important;
}

.home-page .home-blog .section-action {
  margin-top: 6px !important;
}

.home-page .cta {
  padding-top: 12px !important;
  padding-bottom: 14px !important;
}

/* The therapy illustration stays small and subordinate to the copy. */
.home-page .home-therapy .image-card {
  width: min(250px, 100%) !important;
  max-width: 250px !important;
}
.home-page .home-therapy .therapy-image {
  max-width: 250px !important;
  max-height: 215px !important;
}

/* No homepage concern directory and no homepage insurance block. */
.home-page .home-concerns,
.home-page .home-insurance {
  display: none !important;
}

@media (max-width: 800px) {
  .home-page .home-therapy .image-card {
    width: min(210px, 65vw) !important;
    max-width: 210px !important;
  }
  .home-page .home-therapy .therapy-image {
    max-width: 210px !important;
    max-height: 180px !important;
  }
  .home-page .home-keeper .keeper-home-image {
    max-width: 190px !important;
  }
}

@media (max-width: 700px) {
  .home-page .hero-copy {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
  }
  .home-page .home-philosophy .philosophy-grid,
  .home-page .home-therapy .twocol,
  .home-page .home-experience .trust-grid,
  .home-page .home-keeper .keeper-home-grid {
    padding-top: 7px !important;
    padding-bottom: 7px !important;
  }
  .home-page .home-framework .framework-grid {
    padding-top: 6px !important;
    padding-bottom: 3px !important;
  }
  .home-page .home-blog {
    padding-top: 7px !important;
    padding-bottom: 8px !important;
  }
}

/* v3.4.12 — integrate the Second Sunrise logo into the Therapy Is a Conversation copy */
.home-page .home-therapy .therapy-conversation {
  max-width: 920px !important;
  margin: 0 auto !important;
  padding: 10px 0 !important;
  position: relative !important;
}
.home-page .home-therapy .therapy-conversation h2 {
  max-width: 760px !important;
  margin-bottom: 8px !important;
}
.home-page .home-therapy .therapy-conversation p {
  max-width: 790px !important;
}
.home-page .home-therapy .therapy-inline-logo {
  float: right !important;
  width: 118px !important;
  height: 118px !important;
  object-fit: contain !important;
  margin: 0 0 8px 30px !important;
  opacity: .96 !important;
}
.home-page .home-therapy .therapy-conversation::after {
  content: "" !important;
  display: table !important;
  clear: both !important;
}
/* Remove the old card treatment if inherited from earlier versions. */
.home-page .home-therapy .image-card,
.home-page .home-therapy .therapy-image {
  display: none !important;
}

@media (max-width: 700px) {
  .home-page .home-therapy .therapy-conversation {
    padding: 7px 0 !important;
  }
  .home-page .home-therapy .therapy-inline-logo {
    float: none !important;
    display: block !important;
    width: 86px !important;
    height: 86px !important;
    margin: 0 auto 7px !important;
  }
}

/* v3.4.14 — restore the therapist/client untangling-string illustration */
.home-page .home-therapy .therapy-inline-logo {
  float: right !important;
  width: 210px !important;
  height: auto !important;
  max-height: 150px !important;
  object-fit: contain !important;
  margin: 0 0 8px 26px !important;
  opacity: 1 !important;
}
@media (max-width: 700px) {
  .home-page .home-therapy .therapy-inline-logo {
    float: none !important;
    display: block !important;
    width: 180px !important;
    max-width: 52vw !important;
    max-height: 120px !important;
    margin: 4px auto 8px !important;
  }
}

/* ============================================================
   v3.4.15 — FINAL EDITORIAL PASS
   The homepage is a conversation, not a collection of cards.
   ============================================================ */

/* Reduce the decorative credential banner so it identifies the practice
   without becoming the first major content block. */
.top-sunrise {
  min-height: 92px !important;
  padding: 10px 20px !important;
}
.brand-title {
  font-size: clamp(25px, 3vw, 42px) !important;
}
.brand-name {
  margin-top: 5px !important;
  padding: 3px 10px !important;
  font-size: clamp(10px, 1.1vw, 14px) !important;
}

/* Navigation: clean and compact. */
.nav-inner {
  min-height: 76px !important;
  padding-top: 7px !important;
  padding-bottom: 7px !important;
}
.site-logo { width: 125px !important; }

/* Homepage: deliberately short, content-led sections. */
.home-page > section {
  padding-top: 22px !important;
  padding-bottom: 22px !important;
}

/* Hero is the one section allowed to have real visual presence. */
.home-page .hero {
  min-height: 465px !important;
}
.home-page .hero-inner {
  min-height: 465px !important;
}
.home-page .hero-copy {
  max-width: 720px !important;
  padding-top: 16px !important;
  padding-bottom: 16px !important;
}
.home-page .hero h1 {
  margin-top: 8px !important;
  margin-bottom: 12px !important;
}
.home-page .hero .hero-lead {
  font-size: 19px !important;
  line-height: 1.45 !important;
}
.home-page .hero p {
  margin-top: 8px !important;
  margin-bottom: 8px !important;
}
.home-page .buttons {
  margin-top: 15px !important;
}

/* Philosophy should feel like the next paragraph in the conversation. */
.home-page .home-philosophy .philosophy-grid {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  gap: 45px !important;
}
.home-page .home-philosophy h2 {
  margin-bottom: 7px !important;
}
.home-page .home-philosophy .quote {
  margin: 0 0 8px !important;
}
.home-page .home-philosophy p {
  margin-top: 6px !important;
  margin-bottom: 6px !important;
}

/* Therapy Is a Conversation: string illustration is part of the copy,
   not a separate image/card. */
.home-page .home-therapy {
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}
.home-page .home-therapy .therapy-conversation {
  max-width: 980px !important;
  padding: 0 !important;
}
.home-page .home-therapy .therapy-conversation h2 {
  max-width: 820px !important;
  margin-bottom: 9px !important;
}
.home-page .home-therapy .therapy-conversation p {
  max-width: 850px !important;
  margin-top: 7px !important;
  margin-bottom: 8px !important;
}
.home-page .home-therapy .therapy-inline-logo {
  float: right !important;
  width: 185px !important;
  max-width: 28% !important;
  max-height: 135px !important;
  margin: 1px 0 4px 22px !important;
}
.home-page .home-therapy .btn {
  margin-top: 4px !important;
}

/* Trauma model: smaller graphic, tighter copy, centered stage descriptions. */
.home-page .home-framework {
  padding-top: 25px !important;
  padding-bottom: 24px !important;
}
.home-page .home-framework .framework-grid {
  padding-top: 0 !important;
  padding-bottom: 8px !important;
  gap: 38px !important;
}
.home-page .home-framework .framework-copy p {
  margin-top: 7px !important;
  margin-bottom: 8px !important;
}
.home-page .home-framework .framework-image,
.home-page .home-framework .compact-recovery-image {
  width: min(820px, 100%) !important;
  max-width: 820px !important;
  margin: 0 auto !important;
}
.home-page .recovery-table-wrap {
  margin-top: 4px !important;
  padding-bottom: 0 !important;
}
.home-page .recovery-table {
  width: 100% !important;
  table-layout: fixed !important;
  border-collapse: collapse !important;
}
.home-page .recovery-table th,
.home-page .recovery-table td {
  text-align: center !important;
  vertical-align: middle !important;
  padding: 6px 7px !important;
}
.home-page .recovery-table th {
  font-weight: 800 !important;
}
.home-page .recovery-table .recovery-focus td {
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  color: #fff !important;
}
.home-page .recovery-table tbody tr:last-child td {
  font-size: 13px !important;
  line-height: 1.35 !important;
  color: rgba(255,255,255,.9) !important;
}

/* Experience: credibility, not another giant section. */
.home-page .home-experience .trust-grid {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  gap: 38px !important;
}
.home-page .home-experience h2 {
  margin-bottom: 7px !important;
}
.home-page .home-experience p {
  margin-top: 4px !important;
  margin-bottom: 8px !important;
}

/* Keeper: a teaser, not the whole Keeper page. */
.home-page .home-keeper {
  padding-top: 22px !important;
  padding-bottom: 22px !important;
}
.home-page .home-keeper .keeper-home-grid {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  gap: 34px !important;
}
.home-page .home-keeper .keeper-home-image {
  width: min(205px, 100%) !important;
  max-width: 205px !important;
}
.home-page .home-keeper h2 {
  margin-bottom: 7px !important;
}
.home-page .home-keeper p {
  margin-top: 5px !important;
  margin-bottom: 10px !important;
}

/* Blog: useful resource, compactly presented. */
.home-page .home-blog {
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}
.home-page .home-blog .section-heading {
  margin-bottom: 8px !important;
}
.home-page .home-blog .section-heading h2 {
  margin-bottom: 7px !important;
}
.home-page .home-blog .section-heading p {
  margin-top: 4px !important;
}
.home-page .home-blog-grid {
  margin-top: 7px !important;
  gap: 12px !important;
}
.home-page .home-blog-card {
  padding: 14px !important;
}
.home-page .home-blog-card h3 {
  margin: 4px 0 5px !important;
}
.home-page .home-blog-card p {
  margin: 0 0 6px !important;
}
.home-page .home-blog .section-action {
  margin-top: 8px !important;
}

/* Final CTA: invitation, not another giant band. */
.home-page .cta {
  padding-top: 24px !important;
  padding-bottom: 25px !important;
}
.home-page .cta h2 {
  margin-bottom: 7px !important;
}
.home-page .cta p {
  margin-top: 4px !important;
  margin-bottom: 12px !important;
}

/* Keep the homepage directory/insurance absent even if old markup survives. */
.home-page .home-concerns,
.home-page .home-insurance {
  display: none !important;
}

/* General internal pages also use compact editorial spacing. */
.page-header {
  padding-top: 18px !important;
  padding-bottom: 14px !important;
}
.page-header h1 {
  margin: 5px 0 7px !important;
}
.page-header p {
  margin: 0 !important;
}
.page-content {
  padding-top: 20px !important;
  padding-bottom: 24px !important;
}
.page-content section,
.page-content + section {
  min-height: 0 !important;
}

/* Blog: no dead air between the title/search area and topics. */
.compact-blog-hero {
  padding-top: 20px !important;
  padding-bottom: 4px !important;
}
.compact-blog-library {
  padding-top: 4px !important;
  padding-bottom: 20px !important;
}

/* About page: compact the transitions while preserving readability. */
.about-hero {
  padding-top: 20px !important;
  padding-bottom: 18px !important;
}
.about-photo {
  margin-bottom: 12px !important;
}
.about-body {
  max-width: 1100px !important;
}
.about-body p {
  margin-top: 7px !important;
  margin-bottom: 9px !important;
}

/* FAQ: practical information should be quick to scan. */
.page-faq .cards,
.faq-grid {
  margin-top: 8px !important;
  gap: 12px !important;
}
.faq-grid .card {
  padding: 15px !important;
}
.faq-grid .card h3 {
  margin-bottom: 5px !important;
}
.faq-grid .card p {
  margin: 0 !important;
}

/* Keeper page: keep the rich story, but don't make every subsection a huge band. */
.keeper-story,
.keeper-practice {
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}
.keeper-story .section-heading,
.keeper-practice .section-heading {
  margin-bottom: 12px !important;
}
.keeper-name-story {
  margin-top: 18px !important;
}
.keeper-practice-grid {
  gap: 12px !important;
}

/* Mobile: preserve the same compact editorial rhythm. */
@media (max-width: 700px) {
  .top-sunrise {
    min-height: 74px !important;
    padding: 7px 10px !important;
  }
  .brand-title {
    font-size: 22px !important;
  }
  .brand-name {
    font-size: 9px !important;
    margin-top: 3px !important;
  }
  .nav-inner {
    min-height: 62px !important;
  }
  .site-logo {
    width: 96px !important;
  }

  .home-page > section {
    padding-top: 17px !important;
    padding-bottom: 17px !important;
  }
  .home-page .hero,
  .home-page .hero-inner {
    min-height: 450px !important;
  }
  .home-page .hero-inner {
    padding-bottom: 28px !important;
  }
  .home-page .hero .hero-lead {
    font-size: 17px !important;
  }

  .home-page .home-philosophy .philosophy-grid,
  .home-page .home-experience .trust-grid {
    gap: 14px !important;
  }

  .home-page .home-therapy {
    padding-top: 18px !important;
    padding-bottom: 18px !important;
  }
  .home-page .home-therapy .therapy-inline-logo {
    float: none !important;
    display: block !important;
    width: 150px !important;
    max-width: 48vw !important;
    max-height: 105px !important;
    margin: 5px auto 8px !important;
  }

  .home-page .home-framework {
    padding-top: 20px !important;
    padding-bottom: 19px !important;
  }
  .home-page .home-framework .framework-grid {
    gap: 16px !important;
  }
  .home-page .home-framework .framework-image,
  .home-page .home-framework .compact-recovery-image {
    width: min(92vw, 650px) !important;
  }
  .home-page .recovery-table-wrap {
    overflow-x: auto !important;
  }
  .home-page .recovery-table {
    min-width: 690px !important;
  }

  .home-page .home-keeper .keeper-home-image {
    width: 170px !important;
    max-width: 170px !important;
  }

  .home-page .home-blog {
    padding-top: 18px !important;
    padding-bottom: 18px !important;
  }
  .home-page .home-blog-grid {
    grid-template-columns: 1fr !important;
  }
  .home-page .cta {
    padding-top: 19px !important;
    padding-bottom: 20px !important;
  }

  .page-header {
    padding-top: 13px !important;
    padding-bottom: 11px !important;
  }
  .page-content {
    padding-top: 15px !important;
    padding-bottom: 18px !important;
  }
}

/* Prevent accidental horizontal overflow from the five-stage model. */
html, body {
  overflow-x: hidden !important;
}

/* v3.4.16 — restore visible recovery-model descriptors */
.home-page .recovery-table .recovery-focus td {
  color: #1E3F6E !important;
  background: rgba(255,255,255,.72) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  text-align: center !important;
  padding: 7px 6px !important;
}
.home-page .recovery-table .recovery-descriptor td {
  color: #1E3F6E !important;
  background: rgba(255,255,255,.88) !important;
  font-size: 12.5px !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
  text-align: center !important;
  vertical-align: top !important;
  padding: 9px 8px 10px !important;
}
.home-page .recovery-table th {
  color: #1E3F6E !important;
  background: rgba(255,255,255,.84) !important;
  text-align: center !important;
}
.home-page .home-therapy .therapy-inline-logo {
  width: 190px !important;
  max-width: 30% !important;
  max-height: 145px !important;
}
@media (max-width:700px) {
  .home-page .home-therapy .therapy-inline-logo {
    width: 160px !important;
    max-width: 48vw !important;
    max-height: 120px !important;
  }
}

/* v3.4.17 — use the user's chosen yarn illustration */
.home-page .home-therapy .therapy-inline-logo {
  width: 190px !important;
  max-width: 27% !important;
  max-height: 155px !important;
  object-fit: contain !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}
.home-page .home-therapy .therapy-inline-logo + p { margin-top: 7px !important; }
.page-approaches .therapy-image {
  width: min(360px, 68%) !important;
  max-height: 360px !important;
  object-fit: contain !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
@media (max-width:700px) {
  .home-page .home-therapy .therapy-inline-logo {
    width: 150px !important;
    max-width: 48vw !important;
    max-height: 150px !important;
    margin: 5px auto 8px !important;
  }
  .page-approaches .therapy-image {
    width: min(310px, 78vw) !important;
    max-height: 310px !important;
  }
}

/* v3.4.18 — yarn illustration sized like the previous small inline mark */
.home-page .home-therapy .therapy-inline-logo {
  float: right !important;
  display: block !important;
  width: 82px !important;
  height: 82px !important;
  max-width: 82px !important;
  max-height: 82px !important;
  object-fit: cover !important;
  margin: 2px 0 5px 18px !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}
@media (max-width: 700px) {
  .home-page .home-therapy .therapy-inline-logo {
    float: none !important;
    width: 62px !important;
    height: 62px !important;
    max-width: 62px !important;
    max-height: 62px !important;
    margin: 4px auto 7px !important;
  }
}

/* v3.4.19 — final size correction: keep the therapy string/yarn mark genuinely small */
.home-page .home-therapy .therapy-inline-logo {
  float: right !important;
  display: block !important;
  width: 52px !important;
  height: 52px !important;
  max-width: 52px !important;
  max-height: 52px !important;
  object-fit: cover !important;
  margin: 2px 0 4px 14px !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.page-approaches .therapy-image {
  width: min(220px, 42%) !important;
  max-height: 220px !important;
  object-fit: contain !important;
}
@media (max-width:700px) {
  .home-page .home-therapy .therapy-inline-logo {
    float: none !important;
    width: 42px !important;
    height: 42px !important;
    max-width: 42px !important;
    max-height: 42px !important;
    margin: 3px auto 6px !important;
  }
  .page-approaches .therapy-image {
    width: min(180px, 58vw) !important;
    max-height: 180px !important;
  }
}

/* v3.4.20 — full-width Recovery Model: five images with labels and explanatory text */
.home-framework{
  background:var(--navy);
  color:#fff;
  padding:48px 0 56px;
}
.recovery-model-header{
  text-align:center;
  max-width:980px;
  margin:0 auto 34px;
}
.recovery-model-header .eyebrow{color:#f4c15d}
.recovery-model-header h2{
  color:#fff;
  margin:8px 0 16px;
  font-size:clamp(38px,4.5vw,58px);
}
.recovery-model-header p{
  max-width:900px;
  margin:8px auto;
  color:rgba(255,255,255,.9);
  font-size:17px;
  line-height:1.6;
}
.recovery-model-header .btn{margin-top:12px}
.recovery-stage-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:18px;
  max-width:1420px;
}
.recovery-stage-card{
  text-align:center;
  min-width:0;
}
.recovery-stage-card img{
  display:block;
  width:100%;
  aspect-ratio:1.28/1;
  object-fit:cover;
  border-radius:10px;
  box-shadow:0 10px 25px rgba(0,0,0,.2);
}
.recovery-stage-card h3{
  color:#fff;
  font-size:27px;
  margin:14px 0 3px;
}
.recovery-stage-focus{
  font-family:Georgia,"Times New Roman",serif;
  font-size:17px;
  font-weight:800;
  color:#f1c35b;
  margin-bottom:10px;
}
.recovery-stage-card p{
  color:rgba(255,255,255,.92);
  font-size:14px;
  line-height:1.5;
  margin:0 auto 12px;
  max-width:235px;
}
.recovery-stage-help{
  border-top:1px solid rgba(255,255,255,.28);
  padding:12px 8px 0;
  color:rgba(255,255,255,.8);
  font-size:12.5px;
  line-height:1.5;
  max-width:250px;
  margin:0 auto;
}
.recovery-stage-help strong{color:#fff}
.recovery-sequence{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:18px;
  margin-top:34px;
  color:#fff;
  font-family:Georgia,"Times New Roman",serif;
  font-size:18px;
}
.recovery-sequence b{color:#f1c35b;font-weight:400}
.home-experience{
  margin-top:54px;
  padding-top:42px!important;
  padding-bottom:42px!important;
}
@media(max-width:1050px){
  .recovery-stage-grid{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:34px}
}
@media(max-width:700px){
  .home-framework{padding:38px 0 44px}
  .recovery-model-header{margin-bottom:26px}
  .recovery-model-header h2{font-size:38px}
  .recovery-model-header p{font-size:15px}
  .recovery-stage-grid{grid-template-columns:1fr 1fr;gap:24px 14px}
  .recovery-stage-card h3{font-size:24px}
  .recovery-stage-focus{font-size:15px}
  .recovery-stage-card p{font-size:13px}
  .recovery-stage-help{font-size:12px}
  .recovery-sequence{flex-wrap:wrap;gap:8px 10px;font-size:15px}
  .home-experience{margin-top:40px;padding-top:34px!important}
}
@media(max-width:480px){
  .recovery-stage-grid{grid-template-columns:1fr}
  .recovery-stage-card{max-width:360px;margin:0 auto}
  .recovery-stage-card img{aspect-ratio:1.35/1}
}

/* v3.4.22 — conversion + clarity refinement */
.home-page .home-recognition { padding: 44px 0 !important; }
.home-page .home-recognition .section-heading { max-width: 820px; margin: 0 auto 24px !important; }
.home-page .home-recognition .section-heading p { color: var(--muted); }
.recognition-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; max-width:1120px; margin:0 auto; }
.recognition-item { background:#f5f1e8; border:1px solid var(--line); border-radius:14px; padding:20px; min-height:125px; box-sizing:border-box; }
.recognition-item strong { display:block; color:var(--navy); font:700 20px/1.2 Georgia,"Times New Roman",serif; margin-bottom:8px; }
.recognition-item span { display:block; color:var(--muted); font-size:15px; line-height:1.5; }
.home-page .home-experience { padding-top:42px !important; padding-bottom:42px !important; }
.home-page .home-insurance { display:block !important; padding:42px 0 !important; border-top:1px solid var(--line); }
.insurance-home-grid { display:grid; grid-template-columns:1fr 1fr; gap:55px; align-items:start; }
.insurance-home-grid h2 { max-width:620px; }
.insurance-home-list { background:#f5f1e8; border-radius:16px; padding:24px 28px; }
.insurance-home-list ul { columns:2; margin:12px 0 16px; padding-left:20px; }
.insurance-home-list li { margin:4px 0; }
.home-page .cta { margin-top:0 !important; }
@media(max-width:900px){ .recognition-grid{grid-template-columns:repeat(2,minmax(0,1fr));} .insurance-home-grid{grid-template-columns:1fr;gap:24px;} }
@media(max-width:700px){ .home-page .home-recognition{padding:32px 0 !important;} .recognition-grid{grid-template-columns:1fr;} .insurance-home-list ul{columns:1;} .home-page .home-experience{padding-top:32px !important;padding-bottom:32px !important;} .home-page .home-insurance{padding:32px 0 !important;} }


/* v3.4.23 — restore the full-width five-stage Recovery Model presentation */
@media (min-width: 1051px) {
  .home-page .home-framework .recovery-stage-grid {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    width: min(1380px, calc(100% - 68px)) !important;
    max-width: 1380px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    gap: 18px !important;
  }
  .home-page .home-framework .recovery-stage-card {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
  }
  .home-page .home-framework .recovery-stage-card img {
    width: 100% !important;
    max-width: none !important;
    aspect-ratio: 1.28 / 1 !important;
  }
}

/* Keep the five stage names and descriptors directly under their images. */
.home-page .home-framework .recovery-stage-card h3 {
  margin-top: 12px !important;
  margin-bottom: 3px !important;
}
.home-page .home-framework .recovery-stage-focus {
  min-height: 24px !important;
  margin-bottom: 9px !important;
}

/* v3.4.24 — From the Second Sunrise article library: editorial list instead of cards */
.blog-page .article-grid{
  display:flex;
  flex-direction:column;
  gap:0;
  max-width:980px;
  margin:0 auto;
  border-top:1px solid var(--line);
}
.blog-page .article-card{
  display:block;
  min-height:0;
  border:0;
  border-bottom:1px solid var(--line);
  border-radius:0;
  box-shadow:none;
  background:transparent;
  transition:none;
}
.blog-page .article-card:hover{
  transform:none;
  box-shadow:none;
  background:#fbfaf7;
}
.blog-page .article-card-body{
  display:grid;
  grid-template-columns:180px minmax(0,1fr) auto;
  grid-template-areas:
    "category title read"
    "category excerpt read";
  gap:5px 28px;
  align-items:start;
  padding:25px 18px;
}
.blog-page .article-category{
  grid-area:category;
  padding-top:6px;
}
.blog-page .article-card h3{
  grid-area:title;
  font-size:28px;
  line-height:1.2;
  margin:0;
}
.blog-page .article-card p{
  grid-area:excerpt;
  margin:0;
  color:var(--muted);
  line-height:1.55;
}
.blog-page .article-read{
  grid-area:read;
  align-self:center;
  white-space:nowrap;
}
.blog-page .article-card[hidden]{display:none}

@media(max-width:800px){
  .blog-page .article-card-body{
    grid-template-columns:150px minmax(0,1fr);
    grid-template-areas:
      "category title"
      "category excerpt"
      "category read";
    gap:5px 20px;
  }
  .blog-page .article-read{align-self:start;margin-top:5px}
}
@media(max-width:620px){
  .blog-page .article-grid{border-top:1px solid var(--line)}
  .blog-page .article-card-body{
    display:block;
    padding:22px 8px;
  }
  .blog-page .article-category{margin-bottom:7px;padding-top:0}
  .blog-page .article-card h3{font-size:25px;margin-bottom:9px}
  .blog-page .article-card p{margin-bottom:12px}
  .blog-page .article-read{display:inline-block;margin-top:0}
}

/* v3.4.25 conversion + SEO refinement */
.concern-link-list{max-width:1000px}
.concern-link-row{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:28px 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}
.concern-link-row:first-child{border-top:1px solid var(--line)}
.concern-link-row h3{margin:5px 0 8px;font-size:28px;color:var(--navy)}
.concern-link-row p{margin:0;color:var(--muted);max-width:780px;line-height:1.55}
.concern-link-row>span{font-size:28px;color:var(--purple);font-weight:700;flex:0 0 auto}
.concern-link-row:hover h3,.concern-link-row:hover>span{color:var(--teal)}
.detail-grid{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);gap:70px;align-items:start}
.detail-grid h2{max-width:520px}
.detail-grid p{font-size:18px;line-height:1.72}
.detail-recognition{max-width:1000px;margin:0 auto}
.detail-recognition .recognition-item{min-height:0}
.lead-copy{font-family:Georgia,"Times New Roman",serif;font-size:27px!important;line-height:1.4!important;color:var(--navy);max-width:850px}
/* Editorial article list: no cards/boxes */
.article-list-item{border-top:1px solid var(--line);display:block;background:transparent}
.article-list-item:last-child{border-bottom:1px solid var(--line)}
.article-list-item[hidden]{display:none}
.article-list-body{padding:30px 8px 30px 0;display:grid;grid-template-columns:minmax(180px,.35fr) minmax(0,1fr) auto;gap:22px;align-items:start}
.article-list-body .article-category{padding-top:5px}
.article-list-body h3{font-size:30px;line-height:1.2;margin:0 0 8px}
.article-list-body p{color:var(--muted);line-height:1.55;margin:0;max-width:720px}
.article-list-body .article-read{white-space:nowrap;margin-top:5px}
.article-list-item:hover .article-list-body h3{color:var(--purple)}
@media(max-width:800px){.detail-grid{grid-template-columns:1fr;gap:20px}.article-list-body{grid-template-columns:1fr;gap:8px;padding:24px 0}.article-list-body .article-read{margin-top:8px}.concern-link-row{padding:23px 0}.concern-link-row h3{font-size:24px}.lead-copy{font-size:22px!important}}


/* v3.4.26 — article cleanup: tighter title-to-content rhythm, no duplicate dek,
   functional filters, and a quieter reading experience. */
.article-page .article-header {
  padding-top: 22px !important;
  padding-bottom: 12px !important;
}
.article-page .article-header-inner {
  max-width: 1120px !important;
}
.article-page .back-to-blog {
  display: inline-block;
  margin-bottom: 5px !important;
}
.article-page .article-category {
  margin-top: 2px !important;
  margin-bottom: 3px !important;
}
.article-page .article-header h1 {
  margin: 3px 0 7px !important;
}
.article-page .article-dek {
  margin: 0 !important;
  max-width: 900px !important;
}
.article-page .article-content-section {
  padding-top: 16px !important;
  padding-bottom: 28px !important;
}
.article-page .article-layout {
  align-items: start !important;
  gap: 42px !important;
}
.article-page .article-content {
  max-width: 790px !important;
}
.article-page .article-content > p:first-child {
  margin-top: 0 !important;
}
.article-page .article-content p {
  margin-top: 0 !important;
  margin-bottom: 14px !important;
  line-height: 1.68 !important;
}
.article-page .article-content h2 {
  margin-top: 24px !important;
  margin-bottom: 7px !important;
}
.article-page .article-content blockquote {
  margin: 22px 0 4px !important;
  padding: 14px 18px !important;
}
.article-page .article-aside {
  padding-top: 0 !important;
}
.article-page .article-aside-card {
  margin-bottom: 14px !important;
  padding: 17px !important;
}
.article-page .related-card a {
  padding: 8px 0 !important;
}
@media (max-width: 800px) {
  .article-page .article-header {
    padding-top: 15px !important;
    padding-bottom: 9px !important;
  }
  .article-page .article-content-section {
    padding-top: 11px !important;
    padding-bottom: 20px !important;
  }
  .article-page .article-layout {
    gap: 20px !important;
  }
  .article-page .article-content h2 {
    margin-top: 20px !important;
  }
}


/* v3.4.27 — remove the remaining article/blog dead space.
   The editorial pages should move directly from title/dek into reading. */
.compact-blog-hero {
  padding: 14px 0 6px !important;
  min-height: 0 !important;
}
.compact-blog-hero .blog-hero-inner {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  min-height: 0 !important;
}
.compact-blog-hero h1 { margin: 4px 0 7px !important; }
.compact-blog-hero p { margin: 0 0 6px !important; }
.compact-blog-hero .blog-search-wrap { margin: 5px 0 0 !important; }
.compact-blog-hero .blog-search-wrap input { padding: 8px 12px !important; }
.compact-blog-library {
  padding: 7px 0 18px !important;
  min-height: 0 !important;
}
.compact-blog-library .blog-topline { margin: 0 0 6px !important; }
.compact-blog-library .blog-topic-title { margin: 1px 0 4px !important; }
.compact-blog-library .article-grid { margin-top: 5px !important; }

.article-page .article-header {
  padding: 14px 0 9px !important;
  min-height: 0 !important;
}
.article-page .article-header-inner {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  min-height: 0 !important;
}
.article-page .back-to-blog { margin-bottom: 4px !important; }
.article-page .article-category { margin: 0 0 2px !important; }
.article-page .article-header h1 { margin: 2px 0 6px !important; }
.article-page .article-dek { margin: 0 !important; }
.article-page .article-content-section {
  padding: 7px 0 26px !important;
  min-height: 0 !important;
}
.article-page .article-layout {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.article-page .article-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.article-page .article-content > p:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
@media (max-width: 700px) {
  .compact-blog-hero { padding: 10px 0 4px !important; }
  .compact-blog-library { padding: 5px 0 12px !important; }
  .article-page .article-header { padding: 10px 0 6px !important; }
  .article-page .article-content-section { padding: 5px 0 18px !important; }
}

/* v3.4.28 — HARD COLLAPSE OF EDITORIAL DEAD SPACE
   The previous spacing overrides were not enough in the WordPress preview.
   These rules deliberately pull the next content block up so there is no
   unexplained white/cream band between the title area and the content. */

/* Blog library: directly follows the blog introduction/search. */
.blog-page .compact-blog-library {
  margin-top: -105px !important;
  padding-top: 0 !important;
  padding-bottom: 18px !important;
  min-height: 0 !important;
  height: auto !important;
}
.blog-page .compact-blog-library > .wrap {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.blog-page .compact-blog-library .blog-topline {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Individual articles: content begins immediately under the dek. */
.article-page .article-content-section {
  margin-top: -105px !important;
  padding-top: 0 !important;
  padding-bottom: 26px !important;
  min-height: 0 !important;
  height: auto !important;
}
.article-page .article-content-section > .wrap {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.article-page .article-layout {
  margin-top: 0 !important;
  padding-top: 0 !important;
  min-height: 0 !important;
  height: auto !important;
}
.article-page .article-content,
.article-page .article-aside {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Remove hidden spacing that can be introduced by empty first/last elements. */
.article-page .article-content > :first-child,
.blog-page .blog-topline > :first-child {
  margin-top: 0 !important;
}
.article-page .article-content > :last-child {
  margin-bottom: 0 !important;
}

/* Same compact transition on smaller screens; use a smaller pull-up to avoid overlap. */
@media (max-width: 700px) {
  .blog-page .compact-blog-library {
    margin-top: -55px !important;
    padding-bottom: 12px !important;
  }
  .article-page .article-content-section {
    margin-top: -55px !important;
    padding-bottom: 18px !important;
  }
}

/* ============================================================
   v3.4.29 — FINAL LIVE-SITE CRITIQUE FIXES
   ============================================================ */

/* ARTICLE PAGES — eliminate structural blank space */
.single-post main,
.single-post .site-main,
.single-post .article-page,
.article-page {
  min-height: 0 !important;
}

.single-post .article-header,
.single-post .article-header-tight,
.single-post .post-header {
  min-height: 0 !important;
  height: auto !important;
  padding-top: 18px !important;
  padding-bottom: 8px !important;
  margin-bottom: 0 !important;
}

.single-post .article-header::after,
.single-post .post-header::after {
  display: none !important;
  content: none !important;
}

.single-post .article-header h1,
.single-post .post-header h1 {
  margin-top: 4px !important;
  margin-bottom: 7px !important;
}

.single-post .article-header .dek,
.single-post .article-header .excerpt,
.single-post .article-header p,
.single-post .post-header .dek,
.single-post .post-header .excerpt,
.single-post .post-header p {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.single-post .article-content,
.single-post .article-content-tight,
.single-post .post-content {
  min-height: 0 !important;
  height: auto !important;
  margin-top: 0 !important;
  padding-top: 4px !important;
  padding-bottom: 28px !important;
}

.single-post .article-content > :first-child,
.single-post .article-content-tight > :first-child,
.single-post .post-content > :first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.single-post .article-content p,
.single-post .article-content-tight p,
.single-post .post-content p {
  margin-top: 0 !important;
  margin-bottom: 11px !important;
}

.single-post .article-content h2,
.single-post .article-content-tight h2,
.single-post .post-content h2 {
  margin-top: 18px !important;
  margin-bottom: 7px !important;
}

.single-post .article-content h3,
.single-post .article-content-tight h3,
.single-post .post-content h3 {
  margin-top: 14px !important;
  margin-bottom: 5px !important;
}

/* Kill common old spacer/min-height classes only inside article pages. */
.single-post .spacer,
.single-post .article-spacer,
.single-post .hero-spacer,
.single-post .content-spacer,
.single-post .post-spacer {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
}

/* ARTICLE ARCHIVE — search and topic navigation should sit together. */
.blog-hero,
.compact-blog-hero {
  min-height: 0 !important;
  height: auto !important;
  padding-top: 18px !important;
  padding-bottom: 8px !important;
  margin-bottom: 0 !important;
}

.compact-blog-hero + .blog-library,
.compact-blog-hero + .compact-blog-library {
  margin-top: 0 !important;
  padding-top: 5px !important;
}

.blog-library,
.compact-blog-library {
  min-height: 0 !important;
  padding-top: 5px !important;
  padding-bottom: 20px !important;
  margin-top: 0 !important;
}

.blog-library .section-heading,
.compact-blog-library .section-heading {
  margin-top: 0 !important;
  margin-bottom: 7px !important;
}

.blog-library .topic-filters,
.compact-blog-library .topic-filters {
  margin-top: 5px !important;
  margin-bottom: 8px !important;
}

.blog-library .article-list,
.compact-blog-library .article-list {
  margin-top: 7px !important;
}

/* HOMEPAGE — insurance is a brief practical note, not a full content chapter. */
.home-page .home-insurance,
.home-page .insurance-section {
  padding-top: 18px !important;
  padding-bottom: 18px !important;
  min-height: 0 !important;
}
.home-page .home-insurance .narrow,
.home-page .insurance-section .narrow {
  max-width: 900px !important;
}
.home-page .home-insurance h2,
.home-page .insurance-section h2 {
  margin: 4px 0 6px !important;
}
.home-page .home-insurance p,
.home-page .insurance-section p {
  margin: 0 0 7px !important;
}
.home-page .home-insurance a,
.home-page .insurance-section a {
  font-weight: 700 !important;
}

/* TRAUMA RECOVERY MODEL — compact but readable. */
.home-page .home-framework {
  padding-top: 21px !important;
  padding-bottom: 20px !important;
}
.home-page .home-framework .framework-grid {
  gap: 24px !important;
  padding-top: 0 !important;
  padding-bottom: 5px !important;
}
.home-page .home-framework .compact-recovery-image,
.home-page .home-framework .framework-image {
  width: min(760px, 100%) !important;
  max-width: 760px !important;
}
.home-page .home-framework .recovery-table-wrap {
  margin-top: 2px !important;
  padding-bottom: 0 !important;
}
.home-page .home-framework .recovery-table th,
.home-page .home-framework .recovery-table td {
  text-align: center !important;
  vertical-align: middle !important;
  padding: 5px 6px !important;
}
.home-page .home-framework .recovery-table .recovery-focus td {
  color: inherit !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}
.home-page .home-framework .recovery-table tbody tr:last-child td {
  color: inherit !important;
  font-size: 12px !important;
  line-height: 1.28 !important;
}

/* Keep homepage "You might be here because..." readable without giant gaps. */
.home-page .home-recognition,
.home-page .recognition-section {
  min-height: 0 !important;
}
.home-page .home-recognition .recognition-grid,
.home-page .recognition-section .recognition-grid {
  gap: 10px !important;
}
.home-page .home-recognition p,
.home-page .recognition-section p {
  margin-top: 3px !important;
  margin-bottom: 7px !important;
}

/* MOBILE — never shrink the recovery table into unreadable microtext. */
@media (max-width: 700px) {
  .single-post .article-header,
  .single-post .article-header-tight,
  .single-post .post-header {
    padding-top: 12px !important;
    padding-bottom: 5px !important;
  }
  .single-post .article-content,
  .single-post .article-content-tight,
  .single-post .post-content {
    padding-top: 2px !important;
    padding-bottom: 18px !important;
  }
  .single-post .article-content p,
  .single-post .article-content-tight p,
  .single-post .post-content p {
    margin-bottom: 9px !important;
  }

  .compact-blog-hero {
    padding-top: 12px !important;
    padding-bottom: 5px !important;
  }
  .compact-blog-library {
    padding-top: 3px !important;
    padding-bottom: 14px !important;
  }

  .home-page .home-insurance,
  .home-page .insurance-section {
    padding-top: 14px !important;
    padding-bottom: 14px !important;
  }

  .home-page .home-framework {
    padding-top: 17px !important;
    padding-bottom: 16px !important;
  }
  .home-page .home-framework .recovery-table-wrap {
    overflow-x: auto !important;
  }
  .home-page .home-framework .recovery-table {
    min-width: 690px !important;
  }
}

/* ============================================================
   v3.4.30 — FINAL VISUAL/EDITORIAL PASS
   ============================================================ */

/* Recognition: separate thoughts, not giant blocks. */
.home-page .recognition-item,
.home-page .home-recognition .recognition-item {
  margin: 0 0 7px !important;
  padding: 0 !important;
  line-height: 1.45 !important;
}
.home-page .recognition-item span {
  display: inline !important;
}

/* Compact insurance reassurance on homepage. */
.home-page .home-insurance,
.home-page .insurance-section {
  min-height: 0 !important;
  padding-top: 16px !important;
  padding-bottom: 16px !important;
}
.home-page .home-insurance .narrow,
.home-page .insurance-section .narrow {
  max-width: 860px !important;
}
.home-page .home-insurance h2,
.home-page .insurance-section h2 {
  margin: 3px 0 5px !important;
}
.home-page .home-insurance p,
.home-page .insurance-section p {
  margin: 0 0 6px !important;
}

/* Trauma model: retain all five descriptors, reduce vertical footprint. */
.home-page .home-framework {
  padding-top: 19px !important;
  padding-bottom: 18px !important;
}
.home-page .home-framework .framework-grid {
  padding-top: 0 !important;
  padding-bottom: 4px !important;
  gap: 22px !important;
}
.home-page .home-framework .compact-recovery-image,
.home-page .home-framework .framework-image {
  width: min(700px, 100%) !important;
  max-width: 700px !important;
}
.home-page .home-framework .recovery-table-wrap {
  margin-top: 1px !important;
}
.home-page .home-framework .recovery-table th,
.home-page .home-framework .recovery-table td {
  padding: 4px 5px !important;
  text-align: center !important;
  vertical-align: middle !important;
}
.home-page .home-framework .recovery-table .recovery-focus td {
  font-size: 14px !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
}
.home-page .home-framework .recovery-table tbody tr:last-child td {
  font-size: 11.5px !important;
  line-height: 1.25 !important;
}

/* Blog archive: heading/search/topics/articles should read as one continuous block. */
.compact-blog-hero,
.blog-hero {
  min-height: 0 !important;
  height: auto !important;
  padding-top: 16px !important;
  padding-bottom: 4px !important;
  margin-bottom: 0 !important;
}
.compact-blog-library,
.blog-library {
  min-height: 0 !important;
  padding-top: 2px !important;
  padding-bottom: 16px !important;
  margin-top: 0 !important;
}
.compact-blog-library .blog-topline,
.blog-library .blog-topline {
  margin-bottom: 4px !important;
}
.compact-blog-library .blog-topic-title,
.blog-library .blog-topic-title {
  margin-top: 0 !important;
  margin-bottom: 4px !important;
}
.compact-blog-library .topic-filters,
.blog-library .topic-filters {
  margin-top: 3px !important;
  margin-bottom: 6px !important;
}
.compact-blog-library .article-list,
.blog-library .article-list {
  margin-top: 5px !important;
}

/* Article pages: 20-ish px of intentional space, never a blank section. */
.single-post .article-header-final,
.single-post .article-header,
.single-post .post-header {
  min-height: 0 !important;
  height: auto !important;
  padding-top: 16px !important;
  padding-bottom: 8px !important;
  margin: 0 !important;
}
.single-post .article-content-final,
.single-post .article-content,
.single-post .post-content {
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding-top: 4px !important;
  padding-bottom: 24px !important;
}
.single-post .article-content-final > :first-child,
.single-post .article-content > :first-child,
.single-post .post-content > :first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.single-post .article-header-final h1,
.single-post .article-header h1,
.single-post .post-header h1 {
  margin-top: 3px !important;
  margin-bottom: 6px !important;
}
.single-post .article-header-final p,
.single-post .article-header p,
.single-post .post-header p {
  margin: 0 !important;
}

/* Don't let old spacer components reintroduce the problem. */
.single-post [class*="spacer"],
.single-post [class*="Spacer"] {
  min-height: 0 !important;
}

/* Mobile: compact without crushing readability. */
@media (max-width: 700px) {
  .home-page .home-framework {
    padding-top: 16px !important;
    padding-bottom: 15px !important;
  }
  .home-page .home-framework .compact-recovery-image,
  .home-page .home-framework .framework-image {
    width: min(90vw, 620px) !important;
  }
  .home-page .home-framework .recovery-table-wrap {
    overflow-x: auto !important;
  }
  .home-page .home-framework .recovery-table {
    min-width: 690px !important;
  }

  .home-page .home-insurance,
  .home-page .insurance-section {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }

  .compact-blog-hero,
  .blog-hero {
    padding-top: 11px !important;
    padding-bottom: 3px !important;
  }
  .compact-blog-library,
  .blog-library {
    padding-top: 2px !important;
    padding-bottom: 12px !important;
  }

  .single-post .article-header-final,
  .single-post .article-header,
  .single-post .post-header {
    padding-top: 11px !important;
    padding-bottom: 5px !important;
  }
  .single-post .article-content-final,
  .single-post .article-content,
  .single-post .post-content {
    padding-top: 2px !important;
    padding-bottom: 17px !important;
  }
}

/* ============================================================
   v3.4.32 — RESTORE + CLEANUP
   Restores v3.4.30 Trauma Recovery Model.
   Recognition items are informational, not buttons/links.
   ============================================================ */

/* Recognition: remove card/button appearance. */
.home-page .recognition-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px 34px !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
}

.home-page .recognition-item {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  min-height: 0 !important;
  padding: 2px 4px 10px !important;
  box-sizing: border-box !important;
  cursor: default !important;
}

.home-page .recognition-item strong {
  display: block !important;
  color: var(--navy) !important;
  font: 700 20px/1.2 Georgia, "Times New Roman", serif !important;
  margin: 0 0 6px !important;
}

.home-page .recognition-item span {
  display: block !important;
  color: var(--muted) !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
}

/* Give the section a little structure without creating another wall of space. */
.home-page .home-recognition {
  padding-top: 24px !important;
  padding-bottom: 22px !important;
}

.home-page .home-recognition .section-heading {
  margin-bottom: 16px !important;
}

/* Mobile: one clean informational item at a time. */
@media (max-width: 900px) {
  .home-page .recognition-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px 24px !important;
  }
}

@media (max-width: 700px) {
  .home-page .recognition-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .home-page .recognition-item {
    padding: 0 0 8px !important;
  }

  .home-page .recognition-item strong {
    font-size: 19px !important;
  }

  .home-page .home-recognition {
    padding-top: 20px !important;
    padding-bottom: 18px !important;
  }
}

/* v3.4.35 — repair article archive layout
   The archive uses .article-list-item while older blog-card rules remain in the
   stylesheet. Explicitly reset inherited grid-area rules so category/title/
   excerpt/read link cannot overlap or jump columns. */
.blog-page .article-list-item .article-list-body {
  display:grid !important;
  grid-template-columns:minmax(170px, .32fr) minmax(0, 1fr) auto !important;
  grid-template-areas:none !important;
  gap:22px !important;
  align-items:start !important;
  padding:26px 8px 26px 0 !important;
}
.blog-page .article-list-item .article-category {
  grid-area:auto !important;
  align-self:start !important;
  padding-top:5px !important;
  margin:0 !important;
}
.blog-page .article-list-item h3 {
  grid-area:auto !important;
  margin:0 0 8px !important;
  font-size:30px !important;
  line-height:1.2 !important;
}
.blog-page .article-list-item p {
  grid-area:auto !important;
  margin:0 !important;
  max-width:720px !important;
  color:var(--muted) !important;
  line-height:1.55 !important;
}
.blog-page .article-list-item .article-read {
  grid-area:auto !important;
  align-self:start !important;
  margin:5px 0 0 !important;
  white-space:nowrap !important;
}
@media(max-width:800px){
  .blog-page .article-list-item .article-list-body {
    grid-template-columns:1fr !important;
    grid-template-areas:none !important;
    gap:7px !important;
    padding:24px 0 !important;
  }
  .blog-page .article-list-item .article-category,
  .blog-page .article-list-item h3,
  .blog-page .article-list-item p,
  .blog-page .article-list-item .article-read {
    grid-area:auto !important;
  }
  .blog-page .article-list-item .article-read { margin-top:5px !important; }
}

/* v3.4.38 — restore the preferred full-width credential banner.
   This intentionally overrides the later compact-banner rules. */
.top-sunrise {
  min-height: 170px !important;
  height: auto !important;
  padding: 18px 24px !important;
  background-image: linear-gradient(90deg, rgba(12,34,65,.54), rgba(12,34,65,.06), rgba(12,34,65,.54)), url('assets/second-sunrise-landscape.webp') !important;
  background-position: center center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}
.top-sunrise .brand-title {
  font-size: clamp(30px, 3.5vw, 50px) !important;
  line-height: 1.05 !important;
  margin: 0 !important;
}
.top-sunrise .brand-name {
  display: inline-block !important;
  width: auto !important;
  max-width: calc(100% - 24px) !important;
  margin: 10px 0 0 !important;
  padding: 5px 13px !important;
  background: #183b6b !important;
  border: 2px solid #fff !important;
  border-radius: 8px !important;
  color: #fff !important;
  font-size: clamp(12px, 1.25vw, 16px) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-shadow: 0 1px 3px rgba(0,0,0,.65) !important;
}
@media (max-width: 700px) {
  .top-sunrise {
    min-height: 108px !important;
    padding: 12px 10px !important;
  }
  .top-sunrise .brand-title {
    font-size: 25px !important;
  }
  .top-sunrise .brand-name {
    margin-top: 6px !important;
    padding: 4px 8px !important;
    font-size: 10px !important;
  }
}


/* ============================================================
   v3.4.40 — HOMEPAGE EDITORIAL TIGHTENING
   Content hierarchy and spacing refinements only.
   Trauma Recovery Model visuals remain unchanged; detailed
   stage explanations now live on How I Work.
   ============================================================ */

/* Recognition statements are editorial, not clickable cards. */
.home-page .recognition-item:hover { transform:none !important; box-shadow:none !important; }
.home-page .recognition-item { cursor:default !important; }

/* Keep the homepage moving: no oversized vertical bands. */
.home-page .home-philosophy { padding-top:30px !important; padding-bottom:28px !important; }
.home-page .home-recognition { padding-top:30px !important; padding-bottom:28px !important; }
.home-page .home-therapy { padding-top:30px !important; padding-bottom:30px !important; }
.home-page .home-framework { padding-top:34px !important; padding-bottom:28px !important; }
.home-page .home-experience { padding-top:30px !important; padding-bottom:30px !important; }
.home-page .home-keeper { padding-top:32px !important; padding-bottom:32px !important; }
.home-page .home-blog { padding-top:34px !important; padding-bottom:34px !important; }
.home-page .home-insurance { padding-top:30px !important; padding-bottom:30px !important; }
.home-page .cta { padding-top:30px !important; padding-bottom:32px !important; }

/* The model's homepage job is orientation, not a second full treatment page. */
.home-page .home-framework .recovery-stage-card p,
.home-page .home-framework .recovery-stage-card .recovery-stage-help {
  display:none !important;
}
.home-page .home-framework .recovery-stage-card {
  padding-bottom:12px !important;
}
.home-page .home-framework .recovery-stage-card h3 {
  margin-top:10px !important;
  margin-bottom:3px !important;
}
.home-page .home-framework .recovery-stage-focus {
  margin-bottom:0 !important;
}

/* The five-stage explanation belongs on How I Work. */
.approaches-framework {
  padding-top:34px !important;
  padding-bottom:34px !important;
  background:#183765;
  color:#fff;
}
.approaches-framework h2 { color:#fff; }
.approaches-framework .section-heading p { color:rgba(255,255,255,.88); }
.approaches-recovery-image {
  display:block;
  width:min(1120px,100%);
  margin:20px auto 24px;
  border-radius:18px;
  box-shadow:0 18px 55px rgba(0,0,0,.25);
}
.approaches-stage-grid {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
}
.approaches-stage {
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.18);
  border-radius:14px;
  padding:17px;
}
.approaches-stage .eyebrow { color:#f2cc67; font-size:11px; }
.approaches-stage h3 {
  color:#fff;
  font-size:22px;
  margin:4px 0 8px;
}
.approaches-stage p {
  color:rgba(255,255,255,.86);
  font-size:14px;
  line-height:1.48;
  margin:0 0 10px;
}
.approaches-stage p:last-child { margin-bottom:0; }
.approaches-stage strong { color:#fff; }

/* Insurance is deliberately later in the homepage story, after the human pieces. */
.home-page .home-insurance { border-top:1px solid var(--line) !important; }
.home-page .home-insurance .insurance-home-list {
  padding:20px 24px !important;
}

/* Mobile keeps the same hierarchy without introducing extra white space. */
@media (max-width: 900px) {
  .approaches-stage-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 620px) {
  .home-page .home-philosophy,
  .home-page .home-recognition,
  .home-page .home-therapy,
  .home-page .home-framework,
  .home-page .home-experience,
  .home-page .home-keeper,
  .home-page .home-blog,
  .home-page .home-insurance,
  .home-page .cta {
    padding-top:22px !important;
    padding-bottom:22px !important;
  }
  .approaches-framework {
    padding-top:24px !important;
    padding-bottom:24px !important;
  }
  .approaches-recovery-image {
    margin-top:14px;
    margin-bottom:18px;
  }
  .approaches-stage-grid { grid-template-columns:1fr; }
  .approaches-stage { padding:15px; }
}

/* ============================================================
   v3.4.41 — WHOLE-SITE EDITORIAL CHECKLIST PASS
   ============================================================ */

/* GLOBAL RHYTHM: compact, readable, intentional. */
.page-header,
.about-hero-editorial,
.concerns-hero-editorial,
.condition-hero-editorial,
.contact-hero-editorial {
  min-height: 0 !important;
  padding-top: 18px !important;
  padding-bottom: 13px !important;
}
.page-content,
.about-body-editorial,
.condition-content-editorial,
.contact-content-editorial {
  padding-top: 15px !important;
  padding-bottom: 22px !important;
}
.page-content section,
.about-body-editorial section,
.condition-content-editorial section,
.contact-content-editorial section {
  min-height: 0 !important;
}

/* ABOUT LYDIA: narrative rather than resume-like spacing. */
.about-hero-editorial h1,
.about-hero-editorial h2 {
  margin-top: 4px !important;
  margin-bottom: 7px !important;
}
.about-body-editorial p {
  margin-top: 5px !important;
  margin-bottom: 9px !important;
}
.about-body-editorial .section-heading {
  margin-bottom: 9px !important;
}

/* HOW I WORK: detailed trauma model belongs here; keep it readable. */
.how-we-work-framework-image {
  width: min(760px, 100%) !important;
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.how-we-work-recovery-table th,
.how-we-work-recovery-table td {
  text-align: center !important;
  vertical-align: middle !important;
  padding: 6px 7px !important;
}
.how-we-work-detail {
  display: block !important;
}
.page-approaches .home-framework,
.page-approaches .framework-section {
  min-height: 0 !important;
  padding-top: 22px !important;
  padding-bottom: 22px !important;
}

/* WHAT I HELP WITH: scan first, click second. */
.concerns-hero-editorial h1 {
  margin-bottom: 7px !important;
}
.concerns-grid-editorial {
  gap: 12px !important;
  margin-top: 8px !important;
}
.concerns-grid-editorial .card,
.concerns-grid-editorial article {
  padding: 14px !important;
}
.concerns-grid-editorial h2,
.concerns-grid-editorial h3 {
  margin-top: 0 !important;
  margin-bottom: 5px !important;
}
.concerns-grid-editorial p {
  margin: 0 0 7px !important;
}

/* INDIVIDUAL CONCERN PAGES: consistent five-part journey. */
.condition-page-editorial .condition-content-editorial {
  max-width: 1040px !important;
  margin: 0 auto !important;
}
.condition-page-editorial h2,
.condition-page-editorial h3 {
  margin-top: 17px !important;
  margin-bottom: 6px !important;
}
.condition-page-editorial p {
  margin-top: 4px !important;
  margin-bottom: 9px !important;
}
.condition-page-editorial .condition-cta,
.condition-page-editorial .cta {
  margin-top: 12px !important;
}

/* KEEPER: preserve the rich story without oversized section gaps. */
.keeper-story-editorial,
.keeper-practice-editorial {
  min-height: 0 !important;
  padding-top: 22px !important;
  padding-bottom: 22px !important;
}
.keeper-name-story-editorial {
  margin-top: 14px !important;
}
.keeper-story-editorial p,
.keeper-practice-editorial p {
  margin-top: 5px !important;
  margin-bottom: 9px !important;
}

/* BLOG ARCHIVE: title → search → topics → articles. */
.blog-hero-final {
  min-height: 0 !important;
  height: auto !important;
  padding-top: 15px !important;
  padding-bottom: 4px !important;
  margin: 0 !important;
}
.blog-library-final {
  min-height: 0 !important;
  padding-top: 2px !important;
  padding-bottom: 17px !important;
  margin: 0 !important;
}
.blog-library-final .topic-filters {
  margin-top: 3px !important;
  margin-bottom: 6px !important;
}
.article-list-final {
  margin-top: 5px !important;
}
.article-list-final .article-row,
.article-list-final article {
  min-height: 0 !important;
  padding-top: 9px !important;
  padding-bottom: 9px !important;
}

/* ARTICLE PAGES: intentional 20px-ish breathing room, never a blank band. */
.single-post .article-header-final-pass {
  min-height: 0 !important;
  height: auto !important;
  padding-top: 15px !important;
  padding-bottom: 7px !important;
  margin: 0 !important;
}
.single-post .article-content-final-pass {
  min-height: 0 !important;
  height: auto !important;
  padding-top: 3px !important;
  padding-bottom: 22px !important;
  margin: 0 !important;
}
.single-post .article-content-final-pass > :first-child {
  margin-top: 0 !important;
}
.single-post .article-content-final-pass p {
  margin-top: 0 !important;
  margin-bottom: 10px !important;
}

/* FAQ: answers should be quick to scan. */
.faq-grid-editorial {
  gap: 11px !important;
  margin-top: 7px !important;
}
.faq-grid-editorial .card {
  padding: 14px !important;
}
.faq-grid-editorial h3 {
  margin: 0 0 5px !important;
}
.faq-grid-editorial p {
  margin: 0 !important;
}

/* CONTACT / GET STARTED: one clear invitation, no clutter. */
.contact-hero-editorial h1 {
  margin-bottom: 6px !important;
}
.contact-content-editorial p {
  margin-top: 5px !important;
  margin-bottom: 9px !important;
}
.contact-content-editorial .cta {
  margin-top: 12px !important;
}

/* Preserve the approved header/banner. */
.top-sunrise {
  min-height: 150px !important;
}
.brand-title {
  font-size: clamp(32px, 4vw, 52px) !important;
}
.brand-name {
  font-size: clamp(11px, 1.25vw, 15px) !important;
}

/* MOBILE: one-column reading flow without giant gaps. */
@media (max-width: 700px) {
  .page-header,
  .about-hero-editorial,
  .concerns-hero-editorial,
  .condition-hero-editorial,
  .contact-hero-editorial {
    padding-top: 12px !important;
    padding-bottom: 9px !important;
  }
  .page-content,
  .about-body-editorial,
  .condition-content-editorial,
  .contact-content-editorial {
    padding-top: 11px !important;
    padding-bottom: 16px !important;
  }
  .how-we-work-framework-image {
    width: min(90vw, 650px) !important;
  }
  .how-we-work-recovery-table-wrap,
  .recovery-table-wrap {
    overflow-x: auto !important;
  }
  .how-we-work-recovery-table,
  .recovery-table {
    min-width: 690px !important;
  }
  .concerns-grid-editorial {
    grid-template-columns: 1fr !important;
  }
  .blog-hero-final {
    padding-top: 10px !important;
    padding-bottom: 2px !important;
  }
  .blog-library-final {
    padding-top: 1px !important;
    padding-bottom: 12px !important;
  }
  .single-post .article-header-final-pass {
    padding-top: 10px !important;
    padding-bottom: 4px !important;
  }
  .single-post .article-content-final-pass {
    padding-top: 2px !important;
    padding-bottom: 16px !important;
  }
}

/* ============================================================
   v3.4.42 — BLOG ARCHIVE REPAIR
   The previous archive grid treated title, excerpt and read-link
   as separate grid items in a three-column grid, creating an
   unintended fourth implicit row/column and overlapping text.
   ============================================================ */

.blog-page .article-grid {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
}

.blog-page .article-list-item {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border-top: 1px solid var(--line, #ddd7ca) !important;
}

.blog-page .article-list-item .article-list-body {
  display: grid !important;
  grid-template-columns: 145px minmax(0, 1fr) 105px !important;
  grid-template-areas: "category main read" !important;
  gap: 26px !important;
  align-items: start !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 20px 0 !important;
  margin: 0 !important;
}

.blog-page .article-list-item .article-category {
  grid-area: category !important;
  min-width: 0 !important;
  padding: 4px 0 0 !important;
  margin: 0 !important;
  line-height: 1.25 !important;
}

.blog-page .article-list-item .article-list-main {
  grid-area: main !important;
  min-width: 0 !important;
}

.blog-page .article-list-item .article-list-main h3 {
  margin: 0 0 5px !important;
  padding: 0 !important;
  font-size: 30px !important;
  line-height: 1.08 !important;
}

.blog-page .article-list-item .article-list-main h3 a {
  text-decoration: none !important;
}

.blog-page .article-list-item .article-list-main p {
  margin: 0 !important;
  padding: 0 !important;
  max-width: 720px !important;
  line-height: 1.45 !important;
}

.blog-page .article-list-item .article-read {
  grid-area: read !important;
  align-self: start !important;
  justify-self: start !important;
  margin: 5px 0 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
}

.blog-page .blog-library {
  padding-top: 0 !important;
}

.blog-page .blog-topline {
  align-items: end !important;
  gap: 18px !important;
  margin-bottom: 4px !important;
}

.blog-page .blog-topic-title {
  max-width: 620px !important;
  margin-bottom: 0 !important;
}

.blog-page .blog-filters {
  align-self: end !important;
}

@media (max-width: 800px) {
  .blog-page .article-list-item .article-list-body {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "category"
      "main"
      "read" !important;
    gap: 5px !important;
    padding: 14px 0 !important;
  }

  .blog-page .article-list-item .article-category {
    padding-top: 0 !important;
  }

  .blog-page .article-list-item .article-list-main h3 {
    font-size: 25px !important;
    line-height: 1.12 !important;
  }

  .blog-page .article-list-item .article-read {
    margin-top: 4px !important;
  }

  .blog-page .blog-topline {
    display: block !important;
    margin-bottom: 8px !important;
  }

  .blog-page .blog-filters {
    margin-top: 8px !important;
  }
}

/* ============================================================
   v3.4.44 — ARTICLES DROPDOWN
   ============================================================ */
.articles-menu {
  position: relative;
}
.articles-menu > summary {
  color: var(--ink);
  cursor: pointer;
  list-style: none;
}
.articles-menu > summary::-webkit-details-marker {
  display: none;
}
.articles-menu > summary span {
  margin-left: 3px;
  font-size: .8em;
}
.articles-dropdown {
  position: absolute;
  right: 0;
  top: calc(100% + 14px);
  min-width: 310px;
  max-width: min(390px, 82vw);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: 0 16px 35px rgba(24,55,101,.15);
  padding: 8px;
  display: grid;
  gap: 2px;
  z-index: 1000;
}
.articles-dropdown a {
  color: var(--ink);
  padding: 10px 12px;
  border-radius: 8px;
  line-height: 1.25;
  font-size: 14px;
}
.articles-dropdown a:hover,
.articles-dropdown a:focus-visible {
  background: #f3f0f7;
  color: var(--purple);
}
.articles-dropdown .articles-all {
  font-weight: 800;
  border-bottom: 1px solid var(--line);
  border-radius: 8px 8px 4px 4px;
  margin-bottom: 3px;
}
@media (max-width: 760px) {
  .articles-dropdown {
    position: static;
    min-width: 0;
    max-width: none;
    width: min(100%, 360px);
    margin-top: 8px;
    box-shadow: none;
  }
}

/* v3.4.45 — ARTICLE OVERLAP REPAIR
   The prior compact/dead-space pass pulled article content upward with a
   negative margin. That caused the opening paragraphs to overlap the title.
   Articles now flow naturally: header -> dek -> content. */
.article-page .article-header,
.single-post .article-header,
.single-post .article-header-tight {
  position: relative !important;
  height: auto !important;
  min-height: 0 !important;
  margin-bottom: 0 !important;
  padding: 24px 0 22px !important;
  overflow: visible !important;
}

.article-page .article-header-inner,
.single-post .article-header-inner {
  height: auto !important;
  min-height: 0 !important;
}

.article-page .article-header h1,
.single-post .article-header h1,
.single-post .article-header-tight h1 {
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 6px 0 12px !important;
  line-height: 1.08 !important;
}

.article-page .article-dek,
.single-post .article-header .article-dek,
.single-post .article-header-tight .article-dek {
  display: block !important;
  height: auto !important;
  margin: 0 !important;
  line-height: 1.55 !important;
}

/* Never pull the reading column into the header. */
.article-page .article-content-section,
.single-post .article-content-section {
  position: relative !important;
  margin-top: 0 !important;
  padding: 28px 0 65px !important;
  min-height: 0 !important;
  height: auto !important;
  overflow: visible !important;
}

.article-page .article-layout,
.single-post .article-layout {
  margin-top: 0 !important;
  padding-top: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  align-items: start !important;
}

.article-page .article-content,
.single-post .article-content,
.single-post .article-content-tight {
  margin-top: 0 !important;
  padding-top: 0 !important;
  height: auto !important;
  min-height: 0 !important;
}

.article-page .article-content > :first-child,
.single-post .article-content > :first-child,
.single-post .article-content-tight > :first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

@media (max-width: 800px) {
  .article-page .article-header,
  .single-post .article-header,
  .single-post .article-header-tight {
    padding: 18px 0 16px !important;
  }
  .article-page .article-content-section,
  .single-post .article-content-section {
    padding: 20px 0 45px !important;
  }
}

/* ============================================================
   v3.4.42 — RECOGNITION + THERAPY CONVERSATION POLISH
   ============================================================ */

/* Recognition statements are editorial content, NOT controls. */
.home-page .recognition-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px 30px !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
}
.home-page .recognition-item,
.home-page .recognition-card {
  display: block !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  padding: 4px 2px 9px !important;
  margin: 0 !important;
  min-height: 0 !important;
  cursor: default !important;
  text-align: left !important;
}
.home-page .recognition-item::before,
.home-page .recognition-item::after,
.home-page .recognition-card::before,
.home-page .recognition-card::after {
  display: none !important;
  content: none !important;
}
.home-page .recognition-item a,
.home-page .recognition-card a {
  color: inherit !important;
  text-decoration: none !important;
  cursor: default !important;
  display: inline !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}
.home-page .recognition-item strong,
.home-page .recognition-card strong {
  display: block !important;
  margin: 0 0 4px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}
.home-page .recognition-item p,
.home-page .recognition-card p,
.home-page .recognition-item span,
.home-page .recognition-card span {
  margin: 0 !important;
  line-height: 1.43 !important;
}

/* Therapy Is a Conversation: make this section a visual anchor,
   not another large block. */
.home-page .therapy-conversation-prominent {
  padding-top: 26px !important;
  padding-bottom: 25px !important;
  min-height: 0 !important;
}
.home-page .therapy-conversation-prominent h2 {
  margin-top: 0 !important;
  margin-bottom: 8px !important;
}
.home-page .therapy-conversation-prominent p {
  margin-top: 5px !important;
  margin-bottom: 9px !important;
  max-width: 760px !important;
}
.home-page .therapy-conversation-prominent .therapy-inline-logo,
.home-page .therapy-conversation-prominent .therapy-yarn-image {
  width: 88px !important;
  max-width: 88px !important;
  margin: 0 0 6px 14px !important;
  float: right !important;
}
@media (max-width: 700px) {
  .home-page .recognition-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  .home-page .recognition-item,
  .home-page .recognition-card {
    padding-bottom: 7px !important;
  }
  .home-page .therapy-conversation-prominent {
    padding-top: 20px !important;
    padding-bottom: 19px !important;
  }
  .home-page .therapy-conversation-prominent .therapy-inline-logo,
  .home-page .therapy-conversation-prominent .therapy-yarn-image {
    width: 64px !important;
    max-width: 64px !important;
    margin: 0 auto 7px !important;
    float: none !important;
    display: block !important;
  }
}

/* v3.4.44 — Trauma Recovery Model page only */
.trauma-model-page .trauma-model-hero{padding:30px 0 12px!important;min-height:0!important}
.trauma-model-page .trauma-model-hero h1{margin-bottom:8px}
.trauma-model-page .trauma-model-hero .lead{font:700 22px/1.4 Georgia,"Times New Roman",serif;max-width:900px}
.trauma-model-page .trauma-model-hero p{max-width:900px;margin:7px auto;line-height:1.5}
.trauma-model-page .trauma-model-visual{padding:4px 0 16px!important}
.trauma-model-page .trauma-model-art{max-width:960px;margin:0 auto;text-align:center}
.trauma-model-page .trauma-model-art img{display:block;width:100%;height:auto;max-height:500px;object-fit:contain}
.trauma-model-page .trauma-stages{padding:12px 0 28px!important}
.trauma-model-page .trauma-stage-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.trauma-model-page .trauma-stage{text-align:center;padding:8px 8px 4px}
.trauma-model-page .trauma-stage-label{font:700 20px/1.1 Georgia,"Times New Roman",serif;margin-bottom:4px}
.trauma-model-page .trauma-stage h2{font-size:17px!important;line-height:1.2!important;margin:0 0 5px!important}
.trauma-model-page .trauma-stage p{font-size:13px;line-height:1.4;margin:3px 0}
.trauma-model-page .trauma-nonlinear,.trauma-model-page .trauma-how,.trauma-model-page .trauma-tools,.trauma-model-page .trauma-cta{padding:26px 0!important;min-height:0!important}
.trauma-model-page .trauma-nonlinear{background:rgba(243,240,247,.45)}
.trauma-model-page .trauma-how blockquote{margin:14px 0 0;padding-left:16px;border-left:3px solid #4f367d;font:700 22px/1.35 Georgia,"Times New Roman",serif}
.trauma-model-page .trauma-tools-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 22px;margin-top:12px}
.trauma-model-page .trauma-tools-grid>div{padding:5px 0}
.trauma-model-page .trauma-tools-grid h3{margin:0 0 3px;font-size:17px}
.trauma-model-page .trauma-tools-grid p{margin:0;font-size:13px;line-height:1.4}
.trauma-model-page .trauma-cta{text-align:center}
@media(max-width:900px){.trauma-model-page .trauma-stage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trauma-model-page .trauma-tools-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.trauma-model-page .trauma-stage-grid,.trauma-model-page .trauma-tools-grid{grid-template-columns:1fr}.trauma-model-page .trauma-model-hero{padding:20px 0 10px!important}.trauma-model-page .trauma-model-hero .lead{font-size:20px}}


/* v3.4.46 — homepage editorial polish
   Recognition items are intentionally editorial, not navigation cards. */
.home-page .home-recognition .recognition-grid {
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:0 !important;
  max-width:1180px !important;
  margin:12px auto 0 !important;
}
.home-page .home-recognition .recognition-item {
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  min-height:0 !important;
  padding:18px 24px 18px 0 !important;
}
.home-page .home-recognition .recognition-item:nth-child(3n+2),
.home-page .home-recognition .recognition-item:nth-child(3n) {
  padding-left:24px !important;
}
.home-page .home-recognition .recognition-item:nth-child(3n+2) {
  border-left:1px solid var(--line) !important;
}
.home-page .home-recognition .recognition-item:nth-child(3n) {
  border-left:1px solid var(--line) !important;
}
.home-page .home-recognition .recognition-item strong {
  font-size:21px !important;
  line-height:1.18 !important;
  margin-bottom:7px !important;
}
.home-page .home-recognition .recognition-item span {
  font-size:15px !important;
  line-height:1.5 !important;
}

/* Therapy Is a Conversation gets emphasis through scale and breathing,
   without adding more copy. */
.home-page .home-therapy-prominent {
  padding-top:28px !important;
  padding-bottom:30px !important;
}
.home-page .home-therapy-prominent .therapy-conversation {
  max-width:1000px !important;
  padding:18px 0 !important;
}
.home-page .home-therapy-prominent .therapy-conversation h2 {
  font-size:clamp(40px,4.5vw,58px) !important;
  margin-bottom:12px !important;
}
.home-page .home-therapy-prominent .therapy-conversation p {
  font-size:17px !important;
  max-width:850px !important;
}

/* Lydia section: make the personal introduction feel like a true meeting point. */
.home-page .home-experience .lydia-intro {
  margin:0 0 12px !important;
  color:var(--navy) !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:clamp(28px,3vw,38px) !important;
  line-height:1.12 !important;
  font-weight:700 !important;
}

/* Homepage insurance is intentionally brief; the FAQ holds the details. */
.home-page .home-insurance .insurance-home-list {
  background:transparent !important;
  border-radius:0 !important;
  padding:0 !important;
  max-width:650px !important;
}
.home-page .home-insurance .insurance-home-list p {
  margin-bottom:8px !important;
}

/* Responsive editorial grid */
@media (max-width:900px) {
  .home-page .home-recognition .recognition-grid {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .home-page .home-recognition .recognition-item,
  .home-page .home-recognition .recognition-item:nth-child(3n+2),
  .home-page .home-recognition .recognition-item:nth-child(3n) {
    padding-left:0 !important;
    border-left:0 !important;
  }
  .home-page .home-recognition .recognition-item:nth-child(even) {
    padding-left:24px !important;
    border-left:1px solid var(--line) !important;
  }
}
@media (max-width:700px) {
  .home-page .home-recognition .recognition-grid {
    grid-template-columns:1fr !important;
  }
  .home-page .home-recognition .recognition-item,
  .home-page .home-recognition .recognition-item:nth-child(even) {
    padding:14px 0 !important;
    border-left:0 !important;
    border-top:1px solid var(--line) !important;
  }
  .home-page .home-recognition .recognition-item:first-child {
    border-top:0 !important;
  }
  .home-page .home-therapy-prominent {
    padding-top:20px !important;
    padding-bottom:22px !important;
  }
  .home-page .home-therapy-prominent .therapy-conversation {
    padding:10px 0 !important;
  }
}

/* v3.4.47 — reliable concern/article connections */
.concern-related-article{padding:38px 0;background:#edf5f5}
.related-article-row{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;border-top:1px solid rgba(24,55,96,.16);padding-top:20px}
.related-article-row h2{margin:0 0 8px}
.related-article-row p{max-width:760px;margin:0}
.related-article-row .text-link{white-space:nowrap}
@media(max-width:760px){.related-article-row{display:block}.related-article-row .text-link{display:inline-block;margin-top:18px}}

.articles-menu-label{padding:8px 12px 4px;color:var(--teal);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:800}
.articles-dropdown .articles-browse{border-top:1px solid var(--line);margin-top:4px;padding-top:12px;color:var(--purple);font-weight:800}


/* v3.4.54 — serve the smaller existing-design banner on phones. */
@media(max-width:620px){.top-sunrise{background-image:linear-gradient(90deg,rgba(12,34,65,.58),rgba(12,34,65,.10),rgba(12,34,65,.58)),url('assets/second-sunrise-landscape-mobile.webp') !important}}

/* v3.4.58: content/navigation polish only; performance layer preserved. */


/* v3.4.63 — show every article in the Articles dropdown.
 * One clean vertical list; the blog page remains available at the top.
 */
.main-menu > .articles-dropdown {
  position: relative;
}
.main-menu > .articles-dropdown > .dropdown-panel {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  display: flex;
  flex-direction: column;
  width: min(360px, 82vw);
  min-width: 300px;
  max-height: min(70vh, 620px);
  overflow-y: auto;
  gap: 2px;
  padding: 10px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: 0 16px 36px rgba(24,55,101,.15);
  z-index: 1000;
}
.main-menu > .articles-dropdown > .dropdown-panel > a {
  display: block;
  width: 100%;
  flex: 0 0 auto;
  color: var(--ink);
  padding: 10px 12px;
  border-radius: 8px;
  line-height: 1.3;
  font-size: 14px;
  white-space: normal;
}
.main-menu > .articles-dropdown > .dropdown-panel > a:hover,
.main-menu > .articles-dropdown > .dropdown-panel > a:focus-visible {
  background: #f3f0f7;
  color: var(--purple);
}
.main-menu > .articles-dropdown > .dropdown-panel > a.articles-all {
  font-weight: 800;
  color: var(--purple);
  border-bottom: 1px solid var(--line);
  border-radius: 8px 8px 4px 4px;
  margin-bottom: 4px;
}
@media (max-width: 760px) {
  .main-menu > .articles-dropdown > .dropdown-panel {
    position: static;
    width: min(100%, 360px);
    min-width: 0;
    max-height: 60vh;
    margin-top: 8px;
    box-shadow: none;
  }
}

/* v3.4.64 — clean single-column Articles menu
   The Articles menu should read like a simple list, never a newspaper/grid.
   Strong overrides are intentional because earlier versions contained
   competing dropdown rules. */
.main-menu > details.articles-dropdown {
  position: relative !important;
}
.main-menu > details.articles-dropdown > .dropdown-panel {
  position: absolute !important;
  top: calc(100% + 10px) !important;
  right: 0 !important;
  left: auto !important;
  display: block !important;
  width: 390px !important;
  min-width: 390px !important;
  max-width: min(390px, 88vw) !important;
  max-height: min(72vh, 640px) !important;
  overflow-y: auto !important;
  box-sizing: border-box !important;
  padding: 8px !important;
  margin: 0 !important;
  background: #fff !important;
  border: 1px solid var(--line) !important;
  border-radius: 14px !important;
  box-shadow: 0 16px 36px rgba(24,55,101,.15) !important;
  z-index: 10000 !important;
}
.main-menu > details.articles-dropdown > .dropdown-panel > a {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 9px 12px !important;
  color: var(--ink) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
}
.main-menu > details.articles-dropdown > .dropdown-panel > a:hover,
.main-menu > details.articles-dropdown > .dropdown-panel > a:focus-visible {
  background: #f3f0f7 !important;
  color: var(--purple) !important;
}
.main-menu > details.articles-dropdown > .dropdown-panel > a.articles-all {
  color: var(--purple) !important;
  font-weight: 800 !important;
  border-bottom: 1px solid var(--line) !important;
  border-radius: 8px 8px 4px 4px !important;
  margin-bottom: 4px !important;
  padding-bottom: 11px !important;
}
@media (max-width: 760px) {
  .main-menu > details.articles-dropdown > .dropdown-panel {
    position: absolute !important;
    width: min(340px, 88vw) !important;
    min-width: 0 !important;
    max-width: 88vw !important;
    max-height: 62vh !important;
  }
}


/* v3.4.65 — Articles dropdown: true left-aligned vertical list.
   Use list markup so global navigation styles cannot turn article links
   into an inline/grid layout. */
.main-menu > details.articles-dropdown > .dropdown-panel {
  left: 0 !important;
  right: auto !important;
  width: 390px !important;
  min-width: 390px !important;
  max-width: min(390px, 88vw) !important;
  display: block !important;
  padding: 10px !important;
  box-sizing: border-box !important;
}
.main-menu > details.articles-dropdown > .dropdown-panel > .article-dropdown-list {
  display: block !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}
.main-menu > details.articles-dropdown > .dropdown-panel > .article-dropdown-list > li {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}
.main-menu > details.articles-dropdown > .dropdown-panel > .article-dropdown-list > li > a {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 9px 12px !important;
  text-align: left !important;
  color: var(--ink) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 7px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
  white-space: normal !important;
}
.main-menu > details.articles-dropdown > .dropdown-panel > .article-dropdown-list > li > a:hover,
.main-menu > details.articles-dropdown > .dropdown-panel > .article-dropdown-list > li > a:focus-visible {
  background: #f3f0f7 !important;
  color: var(--purple) !important;
}
.main-menu > details.articles-dropdown > .dropdown-panel > .article-dropdown-list > li.articles-all {
  padding-bottom: 5px !important;
  margin-bottom: 5px !important;
  border-bottom: 1px solid var(--line) !important;
}
.main-menu > details.articles-dropdown > .dropdown-panel > .article-dropdown-list > li.articles-all > a {
  color: var(--purple) !important;
  font-weight: 800 !important;
}
@media (max-width: 760px) {
  .main-menu > details.articles-dropdown > .dropdown-panel {
    left: auto !important;
    right: 0 !important;
    width: min(360px, 88vw) !important;
    min-width: 0 !important;
    max-width: 88vw !important;
  }
}


/* v3.4.66 — Combine How I Work + Trauma Recovery Model.
   The recovery model is the framework; the modalities are the tools. */
.approaches-page .approaches-hero { padding: 46px 0 34px !important; min-height: 0 !important; }
.approaches-page .approaches-hero h1 { margin-bottom: 12px; }
.approaches-page .approaches-hero .lead { font: 700 22px/1.45 Georgia,"Times New Roman",serif; max-width: 900px; }
.approaches-page .approaches-hero p { max-width: 900px; margin-left: auto; margin-right: auto; }
.approaches-page .approaches-conversation { padding: 38px 0 34px !important; }
.approaches-page .approaches-intro { max-width: 940px; margin: 0 auto 20px; font-size: 18px; }
.approaches-page .approaches-conversation .therapy-image { width: min(420px,70%); margin: 0 auto; display:block; }
.approaches-page .approaches-framework { padding-top: 40px !important; padding-bottom: 42px !important; }
.approaches-page .approaches-framework .section-heading { max-width: 980px; margin: 0 auto; text-align:center; }
.approaches-page .approaches-framework .section-heading p { max-width: 900px; margin-left:auto; margin-right:auto; }
.approaches-page .approaches-stage { min-height: 100%; }
.approaches-page .approaches-stage p { margin-bottom: 9px; }
.approaches-page .approaches-nonlinear { padding: 34px 0 !important; background: rgba(243,240,247,.45); }
.approaches-page .approaches-nonlinear h2 { margin-top: 7px; }
.approaches-page .approaches-tools { padding: 40px 0 44px !important; background:#fff; }
.approaches-page .approaches-tools .section-heading { max-width: 900px; margin:0 auto 24px; text-align:center; }
.approaches-page .approaches-tools-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 54px; max-width:1120px; margin:0 auto; }
.approaches-page .approaches-tools-grid article { padding: 0 0 18px; border-bottom:1px solid var(--line); }
.approaches-page .approaches-tools-grid h3 { font-size:24px; margin:0 0 8px; }
.approaches-page .approaches-tools-grid p { margin:0; font-size:15px; line-height:1.62; }
.approaches-page .approaches-how { padding: 38px 0 !important; }
.approaches-page .approaches-how blockquote { margin:18px 0 0; padding-left:18px; border-left:3px solid #4f367d; font:700 23px/1.4 Georgia,"Times New Roman",serif; color:var(--navy); }
.approaches-page .approaches-cta { padding:40px 0 !important; text-align:center; }
@media(max-width:900px){
  .approaches-page .approaches-tools-grid { grid-template-columns:1fr; gap:20px; }
}
@media(max-width:620px){
  .approaches-page .approaches-hero { padding:28px 0 24px !important; }
  .approaches-page .approaches-hero .lead { font-size:19px; }
  .approaches-page .approaches-conversation,
  .approaches-page .approaches-framework,
  .approaches-page .approaches-tools,
  .approaches-page .approaches-how,
  .approaches-page .approaches-cta { padding-top:26px !important; padding-bottom:26px !important; }
  .approaches-page .approaches-conversation .therapy-image { width:80%; }
  .approaches-page .approaches-tools-grid h3 { font-size:21px; }
}

/* v3.4.67 — Credentials are informational, not clickable cards. */
.about-body .credential-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 44px !important;
  margin-top: 22px !important;
}
.about-body .credential {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  text-align: left !important;
}
.about-body .credential h3 {
  margin: 0 0 10px !important;
  font-size: 25px !important;
  line-height: 1.15 !important;
}
.about-body .credential p {
  margin: 0 !important;
  line-height: 1.6 !important;
}
@media (max-width: 760px) {
  .about-body .credential-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
}


/* v3.4.68 — Replace credential cards with plain editorial columns.
   New class names prevent older card rules from affecting this section. */
.about-body .credential-list {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  column-gap:52px !important;
  row-gap:24px !important;
  margin:22px 0 0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
}
.about-body .credential-list .credential-item {
  display:block !important;
  width:auto !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  text-align:left !important;
}
.about-body .credential-list .credential-item h3 {
  margin:0 0 10px !important;
  padding:0 !important;
  font-size:25px !important;
  line-height:1.15 !important;
}
.about-body .credential-list .credential-item p {
  margin:0 !important;
  padding:0 !important;
  font-size:16px !important;
  line-height:1.6 !important;
}
@media(max-width:760px){
  .about-body .credential-list { grid-template-columns:1fr !important; row-gap:26px !important; }
}


/* v3.4.69 — Make section labels more pronounced throughout the site */
.eyebrow {
  display:block !important;
  text-transform:uppercase !important;
  letter-spacing:.22em !important;
  font-size:15px !important;
  line-height:1.25 !important;
  font-weight:900 !important;
  margin-top:0 !important;
  margin-bottom:9px !important;
}
@media (max-width:700px) {
  .eyebrow {
    font-size:13px !important;
    letter-spacing:.18em !important;
    margin-bottom:8px !important;
  }
}

/* v3.4.70 — Stronger editorial section labels */
.eyebrow {
  display: block !important;
  width: fit-content;
  max-width: 100%;
  margin-top: 0 !important;
  margin-bottom: 12px !important;
  padding: 0 !important;
  color: var(--teal) !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: .28em !important;
  text-transform: uppercase !important;
}
.eyebrow::before {
  content: "";
  display: inline-block;
  width: 30px;
  height: 3px;
  margin: 0 11px 4px 0;
  background: var(--gold, #d5a63a);
  vertical-align: middle;
}
.framework .eyebrow,
.keeper .eyebrow,
.recovery-model-header .eyebrow {
  color: #f2cc67 !important;
}
.framework .eyebrow::before,
.keeper .eyebrow::before,
.recovery-model-header .eyebrow::before {
  background: #f2cc67;
}
@media (max-width: 700px) {
  .eyebrow {
    font-size: 13px !important;
    letter-spacing: .2em !important;
    margin-bottom: 9px !important;
  }
  .eyebrow::before {
    width: 22px;
    height: 2px;
    margin-right: 8px;
    margin-bottom: 3px;
  }
}

/* v3.4.71 — Remove decorative dash before section labels */
.eyebrow::before {
  display: none !important;
  content: none !important;
}

/* v3.4.72 — Align How I Work section labels like About Lydia.
   Labels are section markers; keep them consistently flush-left while
   allowing the larger headings and body copy to retain their intended layout. */
.approaches-page .eyebrow {
  width: auto !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: left !important;
}
.approaches-page .approaches-stage .eyebrow {
  width: 100% !important;
}
.approaches-page .section-heading > .eyebrow {
  text-align: left !important;
}
.approaches-page .approaches-conversation > .wrap > .eyebrow {
  text-align: left !important;
}
.approaches-page .approaches-hero > .wrap > .eyebrow {
  text-align: left !important;
}

/* v3.4.73 — Consistent editorial section labels across every page.
   Section labels align with the left edge of their content container,
   regardless of whether the section's main heading is centered. */
.eyebrow,
.section-heading > .eyebrow,
.center > .eyebrow,
.about-body > .eyebrow,
.page-header .eyebrow,
.keeper .eyebrow,
.framework .eyebrow,
.therapy .eyebrow,
.cta .eyebrow,
.trauma-cta .eyebrow {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: left !important;
}

/* v3.4.75 — Whole-site section-label alignment and content-rail cleanup.
   Match the clean About Lydia treatment: labels anchor to the left edge
   of the page's content rail, while centered headings may remain centered. */

/* Use one editorial content rail for major interior-page sections. */
.page-header > .wrap,
.approaches-page > section > .wrap,
.keeper > .wrap,
.keeper-story > .wrap,
.keeper-practice > .wrap,
.blog-page > section > .wrap,
.condition-page-editorial .page-header > .wrap,
.contact-content-editorial > .wrap {
  max-width: 1120px !important;
}

/* Section-heading labels should begin exactly where the section content begins. */
.section-heading > .eyebrow,
.blog-topline .eyebrow,
.approaches-page .eyebrow:not(.approaches-stage .eyebrow),
.keeper .eyebrow,
.page-header .eyebrow,
.about-body .eyebrow {
  display: block !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: left !important;
  box-sizing: border-box !important;
}

/* Keep the label left-anchored even when the heading below is centered. */
.approaches-page .section-heading,
.keeper-story .section-heading,
.keeper-practice .section-heading,
.blog-library .section-heading {
  max-width: 1120px !important;
}

/* About Lydia is the visual benchmark; don't disturb its centered hero. */
.about-hero .eyebrow { width: auto !important; text-align: center !important; }

/* Topic/library labels get the same clean left anchor as About Lydia. */
.blog-topline { max-width: 1120px !important; }
.blog-topline > div:first-child { min-width: 0; }

@media (max-width: 700px) {
  .page-header > .wrap,
  .approaches-page > section > .wrap,
  .keeper > .wrap,
  .keeper-story > .wrap,
  .keeper-practice > .wrap,
  .blog-page > section > .wrap,
  .condition-page-editorial .page-header > .wrap,
  .contact-content-editorial > .wrap {
    max-width: 100% !important;
  }
}


/* v3.4.78 — Refined editorial rhythm for interior pages.
   About Lydia is the visual benchmark: one consistent content rail,
   left-anchored section labels, restrained spacing, and clear hierarchy.
   How I Work follows that system while keeping its recovery-model image centered. */

/* Shared interior-page rhythm: compact, intentional, never floaty. */
.page-approaches,
.keeper,
.blog-page,
.concern-detail,
.page-content,
.page-header {
  --editorial-rail: 1120px;
}

/* HOW I WORK — use the About Lydia content rhythm. */
.approaches-page > section > .wrap {
  max-width: 1120px !important;
}
.approaches-page .approaches-conversation > .wrap,
.approaches-page .approaches-framework > .wrap,
.approaches-page .approaches-tools > .wrap,
.approaches-page .approaches-nonlinear > .wrap,
.approaches-page .approaches-how > .wrap {
  text-align: left !important;
}
.approaches-page .approaches-conversation,
.approaches-page .approaches-framework,
.approaches-page .approaches-nonlinear,
.approaches-page .approaches-tools,
.approaches-page .approaches-how {
  padding-top: 30px !important;
  padding-bottom: 32px !important;
}
.approaches-page .approaches-conversation .eyebrow,
.approaches-page .approaches-framework .section-heading > .eyebrow,
.approaches-page .approaches-nonlinear .eyebrow,
.approaches-page .approaches-tools .section-heading > .eyebrow,
.approaches-page .approaches-how .eyebrow {
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.approaches-page .approaches-conversation h2,
.approaches-page .approaches-framework .section-heading h2,
.approaches-page .approaches-nonlinear h2,
.approaches-page .approaches-tools .section-heading h2,
.approaches-page .approaches-how h2 {
  text-align: left !important;
  margin-top: 4px !important;
  margin-bottom: 10px !important;
}
.approaches-page .approaches-conversation .approaches-intro,
.approaches-page .approaches-framework .section-heading p,
.approaches-page .approaches-nonlinear p,
.approaches-page .approaches-tools .section-heading p,
.approaches-page .approaches-how p {
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: left !important;
}
.approaches-page .approaches-conversation .therapy-image {
  margin-left: auto !important;
  margin-right: auto !important;
}
.approaches-page .approaches-framework .section-heading,
.approaches-page .approaches-tools .section-heading {
  max-width: 1120px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: left !important;
}
.approaches-page .approaches-framework .section-heading p,
.approaches-page .approaches-tools .section-heading p {
  max-width: 900px !important;
}
.approaches-page .approaches-recovery-image {
  margin-left: auto !important;
  margin-right: auto !important;
}
.approaches-page .approaches-tools-grid {
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: 1120px !important;
}
.approaches-page .approaches-how blockquote {
  margin-left: 0 !important;
}

/* Keep the recovery-stage labels readable and consistent inside the model. */
.approaches-page .approaches-stage .eyebrow {
  text-align: left !important;
}

/* Interior page headers share the same calm left edge as About Lydia's body. */
.page-header > .wrap,
.blog-topline,
.contact-content-editorial > .wrap {
  text-align: left !important;
}
.page-header .eyebrow,
.blog-topline .eyebrow {
  text-align: left !important;
}

@media (max-width: 620px) {
  .approaches-page .approaches-conversation,
  .approaches-page .approaches-framework,
  .approaches-page .approaches-nonlinear,
  .approaches-page .approaches-tools,
  .approaches-page .approaches-how {
    padding-top: 24px !important;
    padding-bottom: 26px !important;
  }
}


/* =====================================================================
   Second Sunrise Therapy v4.1 — Site-wide Editorial Design System
   Visual benchmark: About Lydia.
   Content, imagery, and navigation are intentionally unchanged.
   ===================================================================== */
:root{
  --sst-content:1120px;
  --sst-reading:780px;
  --sst-section:clamp(42px,5vw,64px);
  --sst-gap:clamp(18px,2.4vw,30px);
}

/* Consistent editorial rail for interior pages. */
.page-content > .wrap,.page-header > .wrap,.about-body,
.keeper-story > .wrap,.keeper-practice > .wrap,
.approaches-page > section > .wrap,.concern-detail > section > .wrap,
.blog-page > section > .wrap,.article-page > section > .wrap,
.site-main:not(.home-page) > section > .wrap{
  max-width:var(--sst-content) !important;
}

/* Section labels: the visual anchor used by About Lydia. */
.site-main:not(.home-page) .eyebrow,.page-content .eyebrow,.page-header .eyebrow{
  display:block;
  text-align:left !important;
  font-size:12px !important;
  line-height:1.25 !important;
  letter-spacing:.24em !important;
  font-weight:800 !important;
  margin:0 0 10px !important;
}

/* Predictable heading/body rhythm. */
.site-main:not(.home-page) h1,.site-main:not(.home-page) h2,
.page-content h1,.page-content h2,.page-header h1,.page-header h2{
  line-height:1.1 !important;
}
.site-main:not(.home-page) h2,.page-content h2{margin:0 0 16px !important;}
.site-main:not(.home-page) p,.page-content p,.page-header p{
  line-height:1.58 !important;
  margin-top:0 !important;
  margin-bottom:16px !important;
}

/* Intentional section breathing room. */
.site-main:not(.home-page) > section,.page-content{
  padding-top:var(--sst-section) !important;
  padding-bottom:var(--sst-section) !important;
}

/* Editorial section headings default left; explicit .center remains centered. */
.site-main:not(.home-page) .section-heading{
  max-width:var(--sst-content) !important;
  margin:0 0 var(--sst-gap) !important;
  text-align:left !important;
}
.site-main:not(.home-page) .section-heading p{
  max-width:var(--sst-reading) !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
.site-main:not(.home-page) .section-heading.center,.site-main:not(.home-page) .section-heading.center .eyebrow{
  text-align:center !important;
}
.site-main:not(.home-page) .section-heading.center p{
  margin-left:auto !important;
  margin-right:auto !important;
}

/* About Lydia is the benchmark: centered hero, left-aligned body. */
.about-hero .eyebrow{text-align:center !important;}
.about-hero h1{margin-top:8px !important;margin-bottom:16px !important;}
.about-body{margin-left:auto !important;margin-right:auto !important;}
.about-body > .eyebrow{margin-bottom:10px !important;}
.about-body h2{max-width:900px;}

/* How I Work: one editorial rail; only the illustrative image stays centered. */
.approaches-page .approaches-conversation .wrap.center{text-align:left !important;}
.approaches-page .approaches-conversation .eyebrow,
.approaches-page .approaches-conversation h2,
.approaches-page .approaches-conversation p{text-align:left !important;}
.approaches-page .approaches-conversation .therapy-image{
  display:block;max-width:520px;margin:24px auto 0;
}
.approaches-page .approaches-framework .section-heading,
.approaches-page .approaches-tools .section-heading,
.approaches-page .approaches-framework .section-heading .eyebrow,
.approaches-page .approaches-tools .section-heading .eyebrow{
  text-align:left !important;
}
.approaches-page .approaches-framework .section-heading p,
.approaches-page .approaches-tools .section-heading p{
  margin-left:0 !important;margin-right:0 !important;
}
.approaches-page .approaches-stage-grid,.approaches-page .approaches-tools-grid{margin-top:var(--sst-gap) !important;}
.approaches-page .approaches-nonlinear .eyebrow,.approaches-page .approaches-how .eyebrow,
.approaches-page .approaches-nonlinear h2,.approaches-page .approaches-how h2,
.approaches-page .approaches-nonlinear p,.approaches-page .approaches-how p{text-align:left !important;}

/* Keeper: explanatory sections follow the same left edge. */
.keeper-story .section-heading,.keeper-practice .section-heading,
.keeper-story .section-heading .eyebrow,.keeper-practice .section-heading .eyebrow{
  text-align:left !important;
}
.keeper-story-copy,.keeper-name-story,.keeper-practice-editorial .keeper-practice-grid{
  max-width:var(--sst-content) !important;
}

/* Concerns / FAQ / contact: same page rail and comfortable reading measure. */
.concern-detail .page-header .wrap,.page-header .wrap{max-width:var(--sst-content) !important;}
.concern-detail .detail-grid{gap:clamp(32px,5vw,68px) !important;}
.page-content .faq-grid{gap:clamp(26px,3vw,38px) !important;}

/* Articles: editorial headers, while clickable article cards remain cards. */
.blog-hero-inner,.blog-library > .wrap,.article-header-inner,.article-content-section > .wrap{
  max-width:var(--sst-content) !important;
}
.blog-hero .eyebrow,.blog-library .eyebrow,.article-header .eyebrow{text-align:left !important;}
.blog-topline{align-items:flex-start !important;gap:40px !important;}
.article-content{max-width:var(--sst-reading) !important;}

.site-footer .wrap{max-width:var(--sst-content) !important;}

@media (max-width:700px){
  :root{--sst-section:34px;--sst-gap:20px;}
  .site-main:not(.home-page) > section,.page-content{
    padding-top:var(--sst-section) !important;padding-bottom:var(--sst-section) !important;
  }
  .site-main:not(.home-page) .eyebrow,.page-content .eyebrow,.page-header .eyebrow{
    font-size:11px !important;letter-spacing:.20em !important;margin-bottom:8px !important;
  }
  .site-main:not(.home-page) h2,.page-content h2{margin-bottom:13px !important;}
  .site-main:not(.home-page) p,.page-content p,.page-header p{margin-bottom:13px !important;}
  .approaches-page .approaches-conversation .therapy-image{max-width:100%;margin-top:18px;}
  .blog-topline{display:block !important;}
}

/* v4.0 Keeper editorial content refinement: informational content, not cards */
.keeper-practice-grid {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:0 34px !important;
  margin-top:28px !important;
}
.keeper-practice-grid .point,
.keeper-practice-grid .point:hover,
.points .point,
.points .point:hover {
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  color:var(--ink) !important;
  padding:18px 0 !important;
  min-height:0 !important;
}
.keeper-practice-grid .point {
  border-top:1px solid var(--line) !important;
}
.keeper-practice-grid .point strong,
.points .point strong {
  color:var(--purple) !important;
  font-size:18px !important;
  margin-bottom:7px !important;
}
.points {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:0 38px !important;
  margin-top:22px !important;
}
.points .point {
  border-top:1px solid var(--line) !important;
}
.points .point:nth-last-child(-n+2) {
  border-bottom:1px solid var(--line) !important;
}
@media (max-width:900px) {
  .keeper-practice-grid { grid-template-columns:1fr !important; }
  .points { grid-template-columns:1fr !important; }
  .points .point { border-bottom:0 !important; }
  .points .point:last-child { border-bottom:1px solid var(--line) !important; }
}


/* =====================================================================
   Second Sunrise Therapy v5.1 — Standardized Editorial Design System
   Benchmark: About Lydia page.
   Purpose: consistent headings, labels, rails, and vertical rhythm across
   interior pages without changing approved content or imagery.
   ===================================================================== */
:root{
  --sst-rail:1120px;
  --sst-reading:780px;
  --sst-section-space:clamp(52px,5.2vw,68px);
  --sst-heading-gap:30px;
  --sst-text-gap:18px;
}

/* Interior pages share one clean content rail. Homepage keeps its wider composition. */
.site-main:not(.home-page) > section > .wrap,
.site-main:not(.home-page) .wrap,
.page-content > .wrap,
.page-header > .wrap,
.about-body,
.about-intro,
.blog-hero-inner,
.blog-library > .wrap,
.article-header-inner,
.article-content-section > .wrap,
.site-footer .wrap{
  max-width:var(--sst-rail) !important;
}

/* One consistent section rhythm. */
.site-main:not(.home-page) > section,
.page-content,
.blog-page > section,
.article-page > section{
  padding-top:var(--sst-section-space) !important;
  padding-bottom:var(--sst-section-space) !important;
}

/* About Lydia is the visual benchmark: centered opening, editorial body. */
.about-hero{
  padding:56px 0 48px !important;
}
.about-intro{
  text-align:center !important;
  max-width:980px !important;
}
.about-photo{
  width:min(360px,70vw) !important;
  margin:0 auto 26px !important;
  border-radius:18px !important;
}
.about-hero .eyebrow{
  text-align:center !important;
  margin-bottom:9px !important;
}
.about-hero h1{
  max-width:900px !important;
  margin:0 auto 18px !important;
  font-size:clamp(42px,4.6vw,60px) !important;
  line-height:1.08 !important;
}
.about-intro > p{
  max-width:800px !important;
  margin:0 auto !important;
  font-size:18px !important;
  line-height:1.62 !important;
}
.about-body{
  text-align:left !important;
  max-width:1120px !important;
}
.about-body > .eyebrow{
  text-align:left !important;
  margin:0 0 9px !important;
}
.about-body h2{
  max-width:900px !important;
  margin:0 0 var(--sst-text-gap) !important;
  font-size:clamp(34px,3.5vw,46px) !important;
  line-height:1.12 !important;
}
.about-body p{
  max-width:820px !important;
  margin:0 0 var(--sst-text-gap) !important;
  font-size:17px !important;
  line-height:1.65 !important;
}
.about-body .credential-list{
  max-width:1120px !important;
  margin:30px 0 10px !important;
}
.about-body .credential-list .credential-item{
  padding:0 26px 0 0 !important;
}
.about-body .credential-list .credential-item h3{
  font-size:22px !important;
  line-height:1.2 !important;
  margin:0 0 8px !important;
}
.about-body .credential-list .credential-item p{
  max-width:none !important;
  font-size:16px !important;
  line-height:1.6 !important;
}
.about-body.center{
  text-align:center !important;
}
.about-body.center > .eyebrow{
  text-align:center !important;
}
.about-body.center h2,
.about-body.center p{
  margin-left:auto !important;
  margin-right:auto !important;
}

/* All interior section labels use the same visual language. */
.site-main:not(.home-page) .eyebrow,
.page-content .eyebrow,
.page-header .eyebrow,
.blog-page .eyebrow,
.article-page .eyebrow{
  display:block !important;
  font-size:12px !important;
  line-height:1.25 !important;
  letter-spacing:.22em !important;
  font-weight:800 !important;
  margin:0 0 9px !important;
  color:var(--teal) !important;
}
.framework .eyebrow,
.keeper .eyebrow,
.cta .eyebrow,
.trauma-cta .eyebrow{
  color:#f2cc67 !important;
}

/* Consistent interior heading hierarchy. */
.site-main:not(.home-page) h1,
.page-header h1,
.blog-hero h1,
.article-header h1{
  font-size:clamp(42px,4.8vw,62px) !important;
  line-height:1.08 !important;
  margin:0 0 16px !important;
}
.site-main:not(.home-page) h2,
.page-content h2,
.page-header h2,
.blog-page h2,
.article-content h2{
  font-size:clamp(34px,3.5vw,46px) !important;
  line-height:1.12 !important;
  margin:0 0 var(--sst-text-gap) !important;
}
.site-main:not(.home-page) h3,
.page-content h3,
.article-content h3{
  line-height:1.2 !important;
}
.site-main:not(.home-page) p,
.page-content p,
.page-header p,
.blog-page p,
.article-content p{
  line-height:1.65 !important;
}

/* Standard section-heading behavior: label and heading share the same left edge. */
.site-main:not(.home-page) .section-heading,
.page-content .section-heading{
  max-width:var(--sst-rail) !important;
  margin:0 0 var(--sst-heading-gap) !important;
  text-align:left !important;
}
.site-main:not(.home-page) .section-heading > .eyebrow,
.page-content .section-heading > .eyebrow{
  text-align:left !important;
}
.site-main:not(.home-page) .section-heading p,
.page-content .section-heading p{
  max-width:var(--sst-reading) !important;
  margin-left:0 !important;
  margin-right:0 !important;
  margin-bottom:var(--sst-text-gap) !important;
}
.site-main:not(.home-page) .section-heading.center,
.site-main:not(.home-page) .section-heading.center > .eyebrow,
.page-content .section-heading.center,
.page-content .section-heading.center > .eyebrow{
  text-align:center !important;
}
.site-main:not(.home-page) .section-heading.center p,
.page-content .section-heading.center p{
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Standard page headers: calm, left aligned, and not oversized. */
.page-header{
  padding:54px 0 44px !important;
}
.page-header > .wrap{
  text-align:left !important;
}
.page-header p{
  max-width:820px !important;
  margin:0 0 18px !important;
  font-size:18px !important;
}
.page-header .buttons{
  margin-top:22px !important;
}

/* How I Work uses the same rail and rhythm as About Lydia. */
.approaches-page > section > .wrap{
  max-width:var(--sst-rail) !important;
}
.approaches-page .approaches-conversation .wrap.center{
  text-align:left !important;
}
.approaches-page .approaches-conversation h2,
.approaches-page .approaches-conversation p{
  text-align:left !important;
  max-width:var(--sst-reading) !important;
}
.approaches-page .approaches-conversation .therapy-image{
  max-width:560px !important;
  margin:28px auto 0 !important;
}
.approaches-page .approaches-framework .section-heading,
.approaches-page .approaches-tools .section-heading{
  max-width:var(--sst-rail) !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
.approaches-page .approaches-stage-grid,
.approaches-page .approaches-tools-grid{
  margin-top:30px !important;
}

/* Keeper explanatory sections read like editorial content, not controls. */
.keeper-story .section-heading,
.keeper-practice .section-heading{
  max-width:var(--sst-rail) !important;
  margin-left:0 !important;
  margin-right:0 !important;
  text-align:left !important;
}
.keeper-story .section-heading > .eyebrow,
.keeper-practice .section-heading > .eyebrow{
  text-align:left !important;
}
.keeper-practice-grid{
  max-width:var(--sst-rail) !important;
  margin-top:30px !important;
}

/* Concerns, FAQ, contact, and articles share the same reading architecture. */
.concern-detail .detail-grid{
  gap:clamp(34px,5vw,72px) !important;
}
.concern-detail .detail-grid > div:last-child,
.contact-content-editorial .contact-copy,
.article-content{
  max-width:var(--sst-reading) !important;
}
.faq-grid{
  gap:30px !important;
}
.blog-topline{
  align-items:flex-start !important;
  gap:40px !important;
}
.blog-hero h1{
  max-width:900px !important;
}
.article-header{
  padding:54px 0 44px !important;
}
.article-header h1{
  max-width:900px !important;
}
.article-dek{
  max-width:780px !important;
  font-size:20px !important;
  line-height:1.55 !important;
}
.article-content-section{
  padding-top:52px !important;
  padding-bottom:68px !important;
}
.article-content h2{
  margin-top:42px !important;
}

/* Buttons remain clearly interactive; informational content stays editorial. */
.btn{
  line-height:1.25 !important;
}

@media (max-width:700px){
  :root{
    --sst-section-space:38px;
    --sst-heading-gap:22px;
    --sst-text-gap:14px;
  }
  .about-hero{padding:38px 0 32px !important;}
  .about-photo{width:min(320px,82vw) !important;margin-bottom:20px !important;}
  .about-hero h1{font-size:38px !important;margin-bottom:14px !important;}
  .about-intro > p{font-size:17px !important;}
  .about-body h2{font-size:34px !important;}
  .about-body p{font-size:16.5px !important;}
  .about-body .credential-list .credential-item{padding:0 !important;}
  .page-header{padding:38px 0 32px !important;}
  .page-header h1,.blog-hero h1,.article-header h1{font-size:40px !important;}
  .page-header p{font-size:17px !important;}
  .approaches-page .approaches-conversation .therapy-image{max-width:100% !important;margin-top:20px !important;}
  .article-header{padding:38px 0 32px !important;}
  .article-content-section{padding-top:36px !important;padding-bottom:48px !important;}
  .article-dek{font-size:18px !important;}
}

/* v5.2 — DEEPER EDITORIAL ARTICLES */
.article-header-rich{padding:56px 0 42px;background:#f4f7fb;border-bottom:1px solid var(--line)}
.article-header-rich .article-header-inner{max-width:980px}
.article-meta-line{display:flex;gap:9px;align-items:center;color:#68737d;font-size:13px;margin-top:18px}
.article-meta-line .article-category{color:var(--teal)}
.article-dot{color:#a79a88}
.article-collection{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--purple);font-weight:800;margin-top:14px}
.article-header-rich h1{max-width:900px;margin:12px 0 18px}
.article-content-rich-section{padding:48px 0 90px}
.article-layout-rich{grid-template-columns:minmax(0,780px) minmax(240px,300px);gap:70px}
.article-content-rich{font-size:18px;line-height:1.82}
.article-opening{border-bottom:1px solid var(--line);padding-bottom:30px;margin-bottom:30px}
.article-opening-text{font:italic 25px/1.5 Georgia,"Times New Roman",serif;color:var(--purple);margin:8px 0 0!important}
.article-toc{background:#faf8f4;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 24px;margin:0 0 34px}
.article-toc-label{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--teal);margin-bottom:9px}
.article-toc ol{margin:0;padding-left:20px}.article-toc li{margin:5px 0}.article-toc a{color:var(--navy);text-decoration:none}.article-toc a:hover{color:var(--purple);text-decoration:underline}
.article-content-rich h2{font-size:36px;line-height:1.16;margin:54px 0 16px;scroll-margin-top:110px}
.article-content-rich ul,.article-content-rich ol{margin:0 0 28px;padding-left:25px}.article-content-rich li{margin:9px 0;padding-left:5px}
.article-content-rich blockquote{margin:44px 0;padding:28px 30px;border-left:4px solid var(--gold);background:#f5f1e8;color:var(--purple);font:italic 26px/1.48 Georgia,"Times New Roman",serif}
.article-reflection{margin:36px 0;padding:24px 26px;background:#eef5f5;border-left:3px solid var(--teal);color:#31444b}.article-reflection strong{font-family:Georgia,"Times New Roman",serif;color:var(--navy)}
.article-end-note{margin-top:52px;padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.article-end-note p{margin:8px 0 0;font-size:17px}
.article-aside-editorial{top:110px}.article-aside-editorial .article-aside-card{border-radius:0;background:transparent;border-top:2px solid var(--navy);padding:20px 0;margin-bottom:34px}.article-aside-editorial .article-reflection-card{border-top-color:var(--gold)}.article-aside-editorial .article-aside-card h3{font-size:25px;margin:9px 0 10px}.article-aside-editorial .article-aside-card p{font-size:15px;line-height:1.65}.related-editorial-card a{display:block;padding:13px 0;border-bottom:1px solid var(--line);color:var(--navy)}.related-editorial-card a strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:17px;line-height:1.3}.related-editorial-card a span{display:block;margin-top:4px;font-size:13px;color:#68737d;line-height:1.45}.related-editorial-card .all-articles{border:0;color:var(--purple);font-weight:800}
.blog-hero-editorial{padding:62px 0 50px;background:#f4f7fb}.blog-hero-editorial .blog-hero-inner{max-width:980px}.blog-hero-editorial h1{max-width:850px}.blog-hero-editorial p{max-width:820px;font-size:19px;line-height:1.7;color:#4e5963}.article-library-intro{padding:52px 0 25px;background:#fff}.article-library-intro .wrap{max-width:980px}.article-library-intro h2{font-size:38px;margin:9px 0 10px}.article-library-intro p{max-width:760px;color:#59636d;font-size:17px}
.blog-library-editorial{padding:25px 0 90px;background:#fff}.blog-filters-editorial{display:flex;flex-wrap:wrap;gap:8px;padding:15px 0 32px;border-bottom:1px solid var(--line)}.blog-filters-editorial .topic-filter{border:0;border-radius:0;background:transparent;color:#53606a;padding:7px 2px;margin-right:17px;font-weight:800}.blog-filters-editorial .topic-filter.active{color:var(--purple);box-shadow:inset 0 -2px 0 var(--gold)}
.article-collection{padding:48px 0 18px}.article-collection-heading{display:grid;grid-template-columns:1fr 2fr;gap:40px;align-items:start;margin-bottom:10px}.article-collection-heading p{margin:0;color:#68737d;line-height:1.6}.article-editorial-item{display:grid;grid-template-columns:60px minmax(0,1fr) 150px;gap:22px;align-items:center;padding:26px 0;border-bottom:1px solid var(--line)}.article-number{font:400 28px/1 Georgia,"Times New Roman",serif;color:#a79a88}.article-editorial-body h3{font-size:27px;margin:7px 0 7px}.article-editorial-body h3 a{color:var(--navy);text-decoration:none}.article-editorial-body h3 a:hover{color:var(--purple)}.article-editorial-body p{margin:0;color:#59636d;line-height:1.55}.article-read-editorial{justify-self:end;color:var(--purple);font-weight:800;text-decoration:none}.article-read-editorial:hover{text-decoration:underline}.article-read-editorial span{margin-left:5px}.article-editorial-item[hidden],.article-collection[hidden]{display:none!important}
@media(max-width:760px){.article-header-rich{padding:38px 0 30px}.article-content-rich-section{padding:34px 0 60px}.article-layout-rich{grid-template-columns:1fr;gap:30px}.article-content-rich{font-size:17px}.article-content-rich h2{font-size:31px;margin-top:42px}.article-opening-text{font-size:21px}.article-collection-heading{grid-template-columns:1fr;gap:8px}.article-editorial-item{grid-template-columns:38px minmax(0,1fr);gap:14px}.article-read-editorial{grid-column:2;justify-self:start;margin-top:-7px}.article-number{font-size:22px}.blog-hero-editorial{padding:45px 0 35px}.blog-hero-editorial p{font-size:17px}.article-library-intro{padding:38px 0 20px}.article-library-intro h2{font-size:31px}.blog-filters-editorial{gap:4px}.blog-filters-editorial .topic-filter{margin-right:11px}.article-aside-editorial{top:auto}}

/* v5.2.1 — clearer article collection hierarchy */
.article-category-nav{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;padding:18px 0 20px;margin:0 0 18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.article-category-nav-label{width:100%;font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--teal);margin-bottom:2px}
.article-category-nav a{font-size:14px;font-weight:700;color:var(--navy);text-decoration:none;border-bottom:1px solid transparent;padding-bottom:2px}
.article-category-nav a:hover{color:var(--purple);border-bottom-color:var(--purple)}
.article-collection{padding:54px 0 12px;scroll-margin-top:110px}
.article-collection + .article-collection{border-top:1px solid rgba(24,55,96,.14);margin-top:46px;padding-top:62px}
.article-collection-heading{display:grid;grid-template-columns:96px minmax(0,1fr);gap:26px;align-items:start;margin-bottom:28px}
.article-collection-kicker{font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--teal);padding-top:8px}
.article-collection-heading .eyebrow{margin:0 0 7px}
.article-collection-heading h2{font-family:Georgia,"Times New Roman",serif;color:var(--navy);font-size:38px;line-height:1.12;margin:0 0 10px}
.article-collection-heading p{max-width:720px;margin:0;color:#59636d;font-size:17px;line-height:1.6}
.article-editorial-list{border-top:2px solid var(--navy)}
@media(max-width:760px){
 .article-category-nav{display:block;padding:16px 0}
 .article-category-nav-label{margin-bottom:10px}
 .article-category-nav a{display:block;margin:8px 0}
 .article-collection{padding:42px 0 8px}
 .article-collection + .article-collection{margin-top:34px;padding-top:46px}
 .article-collection-heading{grid-template-columns:1fr;gap:5px;margin-bottom:22px}
 .article-collection-kicker{padding-top:0}
 .article-collection-heading h2{font-size:31px}
 .article-collection-heading p{font-size:16px}
}

/* v5.2.2 — Article library editorial refinement
   Replace the overly compact/fragmented collection treatment with a clean,
   full-width editorial structure modeled on the About Lydia page. */
.blog-page-editorial .blog-library-editorial {
  padding: 54px 0 78px !important;
}
.blog-page-editorial .blog-library-editorial > .wrap {
  max-width: 1120px;
}
.blog-page-editorial .article-category-nav {
  display: flex !important;
  align-items: baseline;
  gap: 18px;
  flex-wrap: wrap;
  margin: 0 0 64px !important;
  padding: 0 0 16px !important;
  border-bottom: 1px solid var(--line);
}
.blog-page-editorial .article-category-nav-label {
  width: 100%;
  margin-bottom: 2px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--teal);
}
.blog-page-editorial .article-category-nav a {
  color: var(--navy);
  font-weight: 700;
  text-decoration: none;
  border-bottom: 1px solid transparent;
}
.blog-page-editorial .article-category-nav a:hover {
  color: var(--purple);
  border-bottom-color: currentColor;
}
.blog-page-editorial .article-collection {
  margin: 0 0 78px !important;
  padding: 0 !important;
}
.blog-page-editorial .article-collection:last-child {
  margin-bottom: 0 !important;
}
.blog-page-editorial .article-collection-heading {
  display: block !important;
  margin: 0 0 28px !important;
  padding: 0 0 22px !important;
  border-bottom: 1px solid var(--line);
}
.blog-page-editorial .article-collection-kicker {
  display: inline-block;
  margin: 0 0 7px !important;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--teal);
}
.blog-page-editorial .article-collection-heading .eyebrow {
  display: none;
}
.blog-page-editorial .article-collection-heading h2 {
  margin: 0 0 8px !important;
  max-width: 820px;
  font-size: clamp(34px, 4vw, 50px);
  line-height: 1.06;
  color: var(--navy);
}
.blog-page-editorial .article-collection-heading p {
  max-width: 760px;
  margin: 0 !important;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.55;
}
.blog-page-editorial .article-editorial-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 54px;
  row-gap: 0;
}
.blog-page-editorial .article-editorial-item {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 16px;
  align-items: start;
  min-width: 0;
  padding: 24px 0 25px !important;
  border-bottom: 1px solid var(--line);
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.blog-page-editorial .article-editorial-item[hidden] { display: none !important; }
.blog-page-editorial .article-number {
  grid-column: 1;
  grid-row: 1 / span 2;
  padding-top: 2px;
  font-size: 15px;
  line-height: 1;
  font-family: Georgia, "Times New Roman", serif;
  color: #a28a62;
}
.blog-page-editorial .article-editorial-body {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
}
.blog-page-editorial .article-editorial-body .article-category {
  margin: 0 0 7px !important;
  font-size: 10px;
  line-height: 1.25;
  letter-spacing: .12em;
}
.blog-page-editorial .article-editorial-body h3 {
  margin: 0 0 8px !important;
  font-size: clamp(23px, 2vw, 29px);
  line-height: 1.12;
}
.blog-page-editorial .article-editorial-body h3 a {
  color: var(--navy);
  text-decoration: none;
}
.blog-page-editorial .article-editorial-body h3 a:hover {
  color: var(--purple);
}
.blog-page-editorial .article-editorial-body p {
  margin: 0 !important;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.5;
}
.blog-page-editorial .article-read-editorial {
  grid-column: 2;
  grid-row: 2;
  align-self: end;
  margin: 14px 0 0 !important;
  font-size: 12px;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.blog-page-editorial .no-results {
  margin-top: 30px;
}

/* The article-library intro should read as one intentional opening, not a
   separate oversized block. */
.blog-page-editorial .article-library-intro {
  padding: 48px 0 18px !important;
}
.blog-page-editorial .article-library-intro .wrap {
  max-width: 1120px;
}
.blog-page-editorial .article-library-intro h2 {
  max-width: 900px;
  margin: 6px 0 10px !important;
  font-size: clamp(34px, 4vw, 52px);
  line-height: 1.08;
}
.blog-page-editorial .article-library-intro p {
  max-width: 720px;
  margin: 0 !important;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.55;
}

@media (max-width: 800px) {
  .blog-page-editorial .blog-library-editorial { padding: 40px 0 55px !important; }
  .blog-page-editorial .article-category-nav { margin-bottom: 42px !important; gap: 10px 16px; }
  .blog-page-editorial .article-collection { margin-bottom: 58px !important; }
  .blog-page-editorial .article-editorial-list { grid-template-columns: 1fr; }
  .blog-page-editorial .article-collection-heading h2 { font-size: 36px; }
}
