:root{
  --cream:#f6f0df;
  --cream-2:#fbf8ef;
  --ink:#18211e;
  --muted:#647068;
  --couch:#6f7768;
  --couch-dark:#4f5a50;
  --forest:#457e70;
  --forest-dark:#2f6258;
  --sage:#d7dfcf;
  --sage-2:#e8ecdf;
  --line:rgba(24,33,30,.12);
  --shadow:0 22px 70px rgba(43,62,55,.12);
  --radius:28px;
  --font:'Lato','Helvetica Neue',Arial,sans-serif;
  --serif:'Playfair Display',Georgia,serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font);background:linear-gradient(180deg,var(--cream) 0%,#fff 72%);color:var(--ink);line-height:1.65;overflow-x:hidden}
p,h1,h2,h3{max-width:100%;overflow-wrap:break-word}
a{color:inherit;text-decoration:none} img{max-width:100%;display:block}.centered{text-align:center}
.site-nav{position:fixed;top:0;left:0;right:0;width:100%;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:1.2rem;padding:.9rem clamp(1rem,4vw,3.8rem);background:rgba(111,119,104,.94);border-bottom:1px solid rgba(255,255,255,.24);box-shadow:0 16px 45px rgba(35,44,39,.14);color:#fff;transition:.3s ease;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.site-nav.scrolled{background:rgba(79,90,80,.97)}
.brand{display:flex;align-items:center;gap:.72rem;min-width:260px;font-weight:800;letter-spacing:-.02em}.brand-mark{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.18);font-family:var(--serif);font-size:1.35rem}.brand-text{display:grid;line-height:1.05}.brand-text strong{font-size:1.12rem}.brand-text small{font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;font-weight:700;opacity:.9}.nav-links{display:flex;align-items:center;gap:1.55rem;font-size:.92rem;font-weight:700}.nav-links a:not(.nav-cta){opacity:.92}.nav-links a:hover{opacity:1}.nav-cta{padding:.65rem 1.15rem;border-radius:999px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.28)}.nav-toggle{display:none;background:none;border:0;width:42px;height:42px;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#fff}.nav-toggle span{width:22px;height:2px;background:currentColor;border-radius:2px}
.hero{position:relative;min-height:92svh;display:flex;align-items:center;padding:8.2rem max(1.5rem,calc((100vw - 1160px)/2)) 4.5rem;overflow:hidden}.hero-bg{position:absolute;inset:0;background:var(--hero-img,url('assets/hero-watercolor-therapy-session.jpg')) var(--hero-position,center)/cover no-repeat;transform:scale(1.01);z-index:0}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(250,248,238,.94) 0%,rgba(250,248,238,.78) 35%,rgba(250,248,238,.28) 66%,rgba(250,248,238,.08) 100%),linear-gradient(180deg,rgba(22,39,34,.10),rgba(255,255,255,.05));z-index:1}.hero-content{position:relative;z-index:2;max-width:610px}.eyebrow,.label{text-transform:uppercase;letter-spacing:.16em;font-weight:850;font-size:clamp(1rem,1.15vw,1.12rem);line-height:1.25;color:var(--forest-dark)}.hero h1{font-family:var(--serif);font-weight:650;letter-spacing:-.04em;line-height:1.05;font-size:clamp(2.45rem,4.6vw,4.35rem);max-width:620px;margin:.9rem 0 1.15rem;color:#182620}.hero-copy{font-size:clamp(1rem,1.45vw,1.17rem);max-width:590px;color:#3d4d46}.hero-actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:2rem}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.92rem 1.35rem;font-weight:800;border:0;cursor:pointer;transition:transform .22s,box-shadow .22s,background .22s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--forest);color:#fff;box-shadow:0 16px 36px rgba(69,126,112,.22)}.btn-ghost{background:rgba(255,255,255,.66);border:1px solid rgba(24,33,30,.12);color:var(--ink)}
.section{padding:5.5rem max(1.5rem,calc((100vw - 1160px)/2))}.section-soft{background:linear-gradient(180deg,var(--cream) 0%,var(--cream-2) 100%)}.section-head{max-width:700px;margin:0 auto 2.35rem}.section h2{font-family:var(--serif);font-size:clamp(1.85rem,3.25vw,2.9rem);line-height:1.1;letter-spacing:-.03em;margin:.65rem 0 1rem;overflow-wrap:break-word}.section-head p{color:var(--muted);font-size:1.02rem}.pathway-tabs{display:flex;justify-content:center;gap:.8rem;margin-bottom:2rem;flex-wrap:wrap}.tab{border:0;border-radius:14px;padding:.95rem 1.1rem;background:#ebe8df;color:#27312d;font-weight:800;cursor:pointer}.tab.active{background:var(--couch-dark);color:#fff}.service-grid{display:none;grid-template-columns:repeat(3,1fr);gap:1rem}.service-grid.active{display:grid}.service-card{min-width:0;background:#fff;border-radius:24px;padding:1.45rem;box-shadow:var(--shadow);border:1px solid var(--line);min-height:230px;position:relative;overflow:hidden}.service-card::after{content:'';position:absolute;right:-60px;bottom:-60px;width:145px;height:145px;border-radius:50%;background:var(--sage-2)}.service-card h3{font-family:var(--serif);font-size:1.35rem;line-height:1.1;margin-bottom:.65rem;letter-spacing:-.02em}.service-card p{color:var(--muted);font-size:.95rem}.story-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:4rem;align-items:center;background:linear-gradient(180deg,#fff 0%,var(--cream-2) 100%)}.story-circle{width:min(380px,78vw);aspect-ratio:1;border-radius:50%;background:url('assets/hero-watercolor-therapy-session.jpg') 64% 50%/210% no-repeat;box-shadow:var(--shadow);border:12px solid rgba(246,240,223,.8)}.story-copy p{font-size:1.08rem;color:#35433e;margin-bottom:1.05rem;max-width:650px}.text-link{font-weight:850;color:var(--forest-dark);font-size:clamp(1.15rem,1.5vw,1.35rem);line-height:1.35;display:inline-flex;align-items:center}.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem}.team-card{text-align:center;background:#fff;border:1px solid var(--line);border-radius:24px;padding:1rem 1rem 1.35rem;box-shadow:var(--shadow)}.avatar{height:210px;border-radius:20px;margin-bottom:1rem;background:linear-gradient(135deg,var(--sage),#fff);position:relative;overflow:hidden}.avatar::before{content:'';position:absolute;width:140px;height:140px;border-radius:50%;background:rgba(69,126,112,.32);left:50%;transform:translateX(-50%);top:38px}.avatar::after{content:'';position:absolute;width:95px;height:95px;border-radius:50%;background:#efe2cb;left:50%;transform:translateX(-50%);top:34px;box-shadow:0 86px 0 52px rgba(69,126,112,.22)}.a2{background:linear-gradient(135deg,#dfe8d6,#fff0d2)}.a3{background:linear-gradient(135deg,#dce9ea,#f7efe0)}.a4{background:linear-gradient(135deg,#efe5d6,#e5efea)}.team-card h3{font-family:var(--serif);font-size:1.25rem;line-height:1.1}.team-card p{color:var(--muted);font-size:.9rem}.conditions-section{background:#fff;padding-top:4.8rem;padding-bottom:4.8rem}.condition-panel{max-width:980px;margin:0 auto;text-align:center;border-radius:34px;background:linear-gradient(135deg,#24433d,#4a897a);color:#fff;padding:3.35rem 2rem;box-shadow:0 28px 80px rgba(47,98,88,.2)}.condition-panel .label{color:#dceee8}.condition-panel h2{max-width:760px;margin:.8rem auto 1rem}.condition-panel p{max-width:700px;margin:0 auto 1.6rem;color:rgba(255,255,255,.82)}.condition-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem}.condition-tags span{padding:.55rem .85rem;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.1);font-size:.86rem;font-weight:800}.blog-section{background:var(--cream-2)}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.blog-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:1.4rem;box-shadow:var(--shadow)}.blog-card span{display:inline-block;color:var(--forest-dark);font-weight:800;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:.7rem}.blog-card h3{font-family:var(--serif);font-size:1.35rem;line-height:1.1;margin-bottom:.6rem}.blog-card p{color:var(--muted)}.contact-section{background:linear-gradient(180deg,#fff 0%,var(--cream) 100%)}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:2rem;align-items:stretch}.contact-visual,.contact-form{background:#fff;border:1px solid var(--line);border-radius:28px;padding:1.15rem;box-shadow:var(--shadow)}.mini-watercolor{height:340px;border-radius:22px;background:url('assets/hero-watercolor-therapy-session.jpg') right center/cover no-repeat;margin-bottom:1.1rem}.contact-list{display:grid;grid-template-columns:1fr;gap:.75rem;font-size:.94rem;color:#33423d}.contact-form{padding:1.8rem}.contact-form h3{font-family:var(--serif);font-size:1.55rem;letter-spacing:-.02em}.contact-form > p{color:var(--muted);margin:.25rem 0 1.4rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}label{display:grid;gap:.42rem;font-weight:800;font-size:.86rem;margin-bottom:1rem}input,select,textarea{font:inherit;border:1px solid rgba(24,33,30,.18);border-radius:12px;padding:.9rem;background:#fff;color:var(--ink)}textarea{min-height:120px;resize:vertical}.full{width:100%;margin-top:.3rem}.contact-form small{display:block;text-align:center;color:var(--muted);margin-top:.8rem}.footer{padding:3rem max(1.5rem,calc((100vw - 1160px)/2));background:#1f312d;color:#fff}.footer-main{display:grid;grid-template-columns:1.4fr .8fr 1fr 1fr;gap:2rem;align-items:start}.footer strong,.footer h4{color:#fff}.footer h4{font-size:.82rem;text-transform:uppercase;letter-spacing:.14em;margin:0 0 .9rem}.footer p,.footer a{color:rgba(255,255,255,.74);font-size:.92rem;line-height:1.7}.footer a{text-decoration:none}.footer a:hover{text-decoration:underline}.footer-nav{display:flex;flex-direction:column;gap:.55rem}.footer-bottom{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-top:2.2rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.16)}.footer-bottom p{margin:0}.buildtower a{text-decoration:underline}
@media(max-width:980px){.footer-main{grid-template-columns:1fr}.footer-bottom{flex-direction:column;align-items:flex-start}.nav-toggle{display:flex}.nav-links{position:fixed;top:70px;left:1rem;right:1rem;width:auto;padding:1rem;border-radius:22px;background:rgba(255,255,255,.97);color:var(--ink);box-shadow:var(--shadow);display:none;flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.nav-cta{background:var(--couch-dark);color:#fff;text-align:center}.brand{min-width:0}.hero{min-height:auto;display:block;padding-top:8rem;padding-bottom:2.4rem}.hero-content{max-width:100%}.eyebrow{font-size:.66rem;letter-spacing:.12em;line-height:1.6;max-width:340px}.hero h1{font-size:clamp(2.15rem,8.8vw,3.05rem);line-height:1.04;max-width:360px}.hero-copy{font-size:1rem;line-height:1.62;max-width:360px}.hero-bg{background-position:63% center}.hero-overlay{background:linear-gradient(180deg,rgba(250,248,238,.96) 0%,rgba(250,248,238,.82) 45%,rgba(250,248,238,.2) 100%)}.hero-actions{max-width:340px}.service-grid,.story-section,.team-grid,.blog-grid,.contact-grid{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr}.footer-bottom{flex-direction:column;align-items:flex-start}}
@media(max-width:560px){.site-nav{padding:.75rem 1rem}.brand{max-width:300px}.nav-toggle{flex:0 0 42px}.brand-text strong{font-size:1rem}.brand-text small{font-size:.62rem;line-height:1.16;margin-top:.14rem}.hero{padding-left:1rem;padding-right:1rem}.hero-actions{flex-direction:column}.btn{width:100%}.section{padding:4.2rem 1rem}.section-head{max-width:320px}.section h2{font-size:clamp(1.55rem,6.5vw,1.95rem);letter-spacing:-.02em;line-height:1.14}.service-category-header h2{font-size:clamp(1.45rem,6vw,1.8rem);line-height:1.15;max-width:330px}.pathway-tabs{flex-direction:column}.tab{width:100%}.service-grid,.service-grid.active,.always-grid{width:100%;min-width:0;display:grid!important;grid-template-columns:minmax(0,1fr)!important;overflow:visible}.service-card{padding:1.25rem;width:100%;max-width:100%;min-width:0}.service-card a,.service-card p,.service-card h3{min-width:0;overflow-wrap:break-word;word-break:normal}.service-card h3{font-size:1.18rem;line-height:1.18}.service-card p{font-size:.92rem;line-height:1.62}.mini-watercolor{height:250px}.condition-panel{border-radius:28px;padding:2.8rem 1.2rem}.footer{padding:2.5rem 1rem}}

/* multipage additions */
.nav-dropdown{position:relative}.nav-dropdown>a{display:inline-flex;align-items:center;gap:.25rem}.nav-dropdown-panel{position:absolute;top:100%;left:50%;transform:translateX(-50%);width:min(920px,92vw);display:grid;grid-template-columns:2fr 1fr 1fr;gap:1rem;padding:1rem;border-radius:22px;background:rgba(255,255,255,.97);color:var(--ink);box-shadow:var(--shadow);border:1px solid var(--line);opacity:0;visibility:hidden;pointer-events:none;transition:.2s ease}.nav-dropdown:hover .nav-dropdown-panel,.nav-dropdown:focus-within .nav-dropdown-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}.nav-services-group{display:grid;gap:.35rem;align-content:start}.nav-services-group strong{font-family:var(--serif);font-size:1.05rem;color:var(--forest-dark);margin-bottom:.25rem}.nav-services-group a{font-size:.86rem;font-weight:700;color:#384840;padding:.25rem .35rem;border-radius:8px}.nav-services-group a:hover{background:var(--sage-2)}.home-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.feature-card{display:block;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:24px;padding:1.6rem;min-height:210px}.feature-card h3{font-family:var(--serif);font-size:1.45rem;line-height:1.1;margin-bottom:.7rem}.feature-card p{color:var(--muted)}.service-category{margin-top:3rem}.service-category:first-of-type{margin-top:0}.service-category-header{margin-bottom:1.2rem}.always-grid{display:grid!important}.service-card a{display:block;position:relative;z-index:1}.service-card small{display:inline-block;margin-top:1rem;font-weight:800;color:var(--forest-dark)}.service-detail{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:1.5rem;align-items:start}.service-detail article,.service-detail aside{background:#fff;border:1px solid var(--line);border-radius:26px;padding:1.8rem;box-shadow:var(--shadow)}.service-detail h2{font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.55rem);line-height:1.1;margin:.5rem 0 1rem}.service-detail h3{font-family:var(--serif);font-size:1.25rem;margin-top:1.2rem}.service-page-hero{min-height:72svh}.service-page-hero .hero-content{max-width:700px}@media(max-width:980px){.nav-dropdown-panel{position:static;transform:none;width:100%;display:grid;grid-template-columns:1fr;box-shadow:none;border:0;background:var(--cream-2);opacity:1;visibility:visible;pointer-events:auto;margin-top:.75rem}.nav-dropdown:hover .nav-dropdown-panel,.nav-dropdown:focus-within .nav-dropdown-panel{transform:none}.home-card-grid,.service-detail{grid-template-columns:1fr}.service-page-hero{min-height:auto}}@media(max-width:560px){.home-card-grid{grid-template-columns:1fr}.feature-card{min-height:auto}.nav-services-group a{font-size:.82rem}.service-detail article,.service-detail aside{padding:1.35rem}}


/* final mobile multipage safety overrides */
@media(max-width:560px){
  .service-grid,.service-grid.active,.always-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important;max-width:100%!important;overflow:visible!important;}
  .service-card{width:100%!important;max-width:100%!important;min-width:0!important;}
  .service-card a,.service-card h3,.service-card p{max-width:100%;min-width:0;overflow-wrap:anywhere;}
  .section-soft{overflow:hidden;}
}


/* corrected homepage/category navigation */
.nav-dropdown-panel.category-only{grid-template-columns:repeat(2,minmax(0,1fr));width:min(620px,92vw);align-items:stretch}
.nav-dropdown-panel.category-only>a{display:grid;grid-template-rows:1fr auto;gap:.42rem;min-height:104px;padding:1rem;border-radius:16px;background:var(--cream-2);border:1px solid var(--line);color:var(--ink);align-content:stretch}
.nav-dropdown-panel.category-only>a strong{font-family:var(--serif);font-size:1.05rem;line-height:1.12;color:var(--forest-dark);display:flex;align-items:flex-start;min-height:2.4rem}
.nav-dropdown-panel.category-only>a small{font-size:.78rem;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.08em;align-self:end}.home-more{margin-top:1.8rem}
@media(max-width:980px){.nav-dropdown-panel.category-only{grid-template-columns:1fr;width:100%}.nav-dropdown-panel.category-only>a{padding:.85rem;min-height:auto}.nav-dropdown-panel.category-only>a strong{min-height:auto}}


/* final homepage mobile readability fix */
@media(max-width:560px){
  .section-head.centered{max-width:330px;margin-left:auto;margin-right:auto;overflow:visible;}
  .section-head.centered h2{font-size:clamp(1.42rem,5.8vw,1.78rem);line-height:1.12;overflow-wrap:anywhere;word-break:normal;}
  .section-head.centered p{font-size:.98rem;max-width:310px;margin-left:auto;margin-right:auto;}
  .home-card-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%;max-width:100%;overflow:visible;}
  .feature-card{width:100%;max-width:100%;min-width:0;padding:1.35rem;overflow:visible;}
  .feature-card h3{font-size:clamp(1.2rem,5.5vw,1.42rem);line-height:1.14;overflow-wrap:anywhere;}
  .feature-card p{font-size:.94rem;line-height:1.65;overflow-wrap:anywhere;}
}


/* hard mobile width containment for homepage cards */
@media(max-width:560px){
  html,body{width:100%;max-width:100%;overflow-x:hidden;}
  .section{padding-left:16px!important;padding-right:16px!important;max-width:100vw!important;overflow-x:hidden;}
  .section-head.centered{width:calc(100vw - 32px)!important;max-width:calc(100vw - 32px)!important;}
  .section-head.centered h2,.section-head.centered p{max-width:100%!important;}
  .home-card-grid{width:calc(100vw - 32px)!important;max-width:calc(100vw - 32px)!important;margin-left:auto!important;margin-right:auto!important;}
  .feature-card{width:calc(100vw - 32px)!important;max-width:calc(100vw - 32px)!important;box-sizing:border-box!important;}
  .feature-card h3,.feature-card p,.feature-card small{display:block;max-width:100%!important;}
}


/* service image card/background concept */
.service-card-image{padding:0;min-height:310px;background-image:linear-gradient(180deg,rgba(22,33,30,.06),rgba(22,33,30,.72)),var(--service-img);background-size:cover;background-position:center;border:0;color:#fff;display:flex;align-items:flex-end;box-shadow:0 24px 72px rgba(34,58,52,.18)}
.service-card-image::after{display:none}.service-card-image a{width:100%;min-height:310px;padding:1.35rem;display:flex;flex-direction:column;justify-content:flex-end}.service-card-image span{background:rgba(255,255,255,.86);color:var(--forest-dark)}.service-card-image h3,.service-card-image p,.service-card-image small{color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.24)}.service-card-image p{color:rgba(255,255,255,.9)}
.service-copy-card-image{position:relative;overflow:hidden;background:linear-gradient(90deg,rgba(255,255,255,.88),rgba(255,255,255,.62)),var(--service-img) center/cover no-repeat;border:1px solid rgba(69,126,112,.18)}
.service-copy-card-image::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(246,240,223,.72),rgba(255,255,255,.38));z-index:0}.service-copy-card-image>*{position:relative;z-index:1}
@media(max-width:560px){.service-card-image,.service-card-image a{min-height:285px}.service-card-image a{padding:1.2rem}.service-copy-card-image{background-position:center}}


/* service detail main-card heading alignment: center headings inside the content card only */
.service-copy-card-image > h2,
.service-copy-card-image > h3,
.service-copy-card-image .service-fit-grid h3{
  text-align:center;
  text-wrap:balance;
}

/* service detail paragraph spacing: separate consecutive intro paragraphs */
.service-copy-card-image > p + p{margin-top:1rem}
@media(max-width:560px){.service-copy-card-image > p + p{margin-top:1.1rem}}


/* stable desktop dropdown hover bridge + copied service detail layout */
@media(min-width:981px){.nav-dropdown{padding-block:.9rem;margin-block:-.9rem}.nav-dropdown-panel{margin-top:0}.nav-dropdown-panel::before{content:'';position:absolute;left:0;right:0;top:-18px;height:18px}}
.service-copy-card-image .service-focus-list{display:grid;gap:.7rem;margin:1.25rem 0;padding:0;list-style:none}.service-copy-card-image .service-focus-list li{padding:.75rem .9rem;border-radius:14px;background:rgba(255,255,255,.72);border:1px solid rgba(69,126,112,.14);font-weight:700;color:#2f413b}.service-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.35rem}.service-info-box{background:rgba(255,255,255,.76);border:1px solid rgba(69,126,112,.14);border-radius:18px;padding:1rem}.service-info-box h3{margin:0 0 .45rem!important}.related-service-links{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.2rem}.related-service-links a{padding:.62rem .82rem;border-radius:999px;background:rgba(69,126,112,.12);color:var(--forest-dark);font-weight:800}
@media(max-width:700px){.service-info-grid{grid-template-columns:1fr}.related-service-links{display:grid}.related-service-links a{text-align:center}}

/* Rich blog cards restored for MindUp demo */
.rich-blog-grid { align-items: stretch; }
.rich-blog-card { position: relative; display: flex; flex-direction: column; gap: 0.75rem; min-height: 100%; }
.rich-blog-card .blog-meta { color: var(--muted); font-size: 0.9rem; margin-top: auto; }
.rich-blog-card .blog-read { font-weight: 700; color: var(--green); text-decoration: none; }
.rich-blog-card.upcoming { opacity: 0.86; }
.all-blog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 900px) { .all-blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .all-blog-grid { grid-template-columns: 1fr; }  }

/* Full blog article pages */
.blog-article-full { width: min(920px, calc(100% - 32px)); margin: 110px auto 72px; background: rgba(255,255,255,0.92); border: 1px solid rgba(17,140,126,0.16); border-radius: 32px; padding: clamp(28px, 5vw, 56px); box-shadow: 0 24px 70px rgba(30,64,58,0.12); }
.blog-article-full h1 { font-family: var(--display); font-size: clamp(2rem, 5vw, 4rem); line-height: 1.05; margin: 18px 0; color: var(--ink); }
.article-intro { max-width: 760px; }
.article-block { border-top: 1px solid rgba(17,140,126,0.14); padding-top: 24px; margin-top: 28px; }
.article-block h2 { font-family: var(--display); font-size: clamp(1.45rem, 3vw, 2.2rem); margin-bottom: 10px; color: var(--ink); }
.article-block p { color: var(--muted); line-height: 1.85; white-space: normal; }
.article-disclaimer { background: rgba(17,140,126,0.08); border: 0; border-radius: 24px; padding: 22px; }
.article-cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
@media (max-width: 640px) { .blog-article-full { margin-top: 92px; padding: 24px 20px; border-radius: 24px; } }

/* Smooth hero transitions between pages */
body.page-ready .hero .eyebrow {
  animation: heroTextIn .72s cubic-bezier(.2,.78,.2,1) .05s both;
}

body.page-ready .hero h1 {
  animation: heroTitleIn .86s cubic-bezier(.2,.78,.2,1) .16s both;
}

body.page-ready .hero .hero-copy {
  animation: heroTextIn .78s cubic-bezier(.2,.78,.2,1) .34s both;
}

body.page-ready .hero .hero-actions {
  animation: heroTextIn .78s cubic-bezier(.2,.78,.2,1) .48s both;
}

body.page-ready .hero .hero-bg {
  animation: heroImageDrift 5.8s ease-out both;
}

.hero h1 {
  position: relative;
}

.hero h1::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -.18em;
  width: min(8.2rem, 42%);
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--forest), rgba(69,126,112,0));
  transform-origin: left;
  transform: scaleX(0);
  opacity: 0;
}

body.page-ready .hero h1::after {
  animation: heroLineDraw .84s cubic-bezier(.2,.78,.2,1) .54s both;
}

body.page-exiting .hero .eyebrow,
body.page-exiting .hero h1,
body.page-exiting .hero .hero-copy,
body.page-exiting .hero .hero-actions {
  animation: heroTextOut .2s ease-in both;
}

body.page-exiting main {
  transition: opacity .22s ease, filter .22s ease;
  opacity: .72;
  filter: blur(2px);
}

@keyframes heroTextIn {
  from { opacity: 0; transform: translateY(18px); filter: blur(6px); }
  to { opacity: 1; transform: translateY(0); filter: blur(0); }
}

@keyframes heroTitleIn {
  0% { opacity: 0; transform: translateY(22px); clip-path: inset(0 0 100% 0); filter: blur(6px); }
  55% { opacity: 1; }
  100% { opacity: 1; transform: translateY(0); clip-path: inset(0 0 0 0); filter: blur(0); }
}

@keyframes heroTextOut {
  to { opacity: 0; transform: translateY(-10px); filter: blur(4px); }
}

@keyframes heroImageDrift {
  from { transform: scale(1.055); }
  to { transform: scale(1.01); }
}

@keyframes heroLineDraw {
  from { opacity: 0; transform: scaleX(0); }
  to { opacity: 1; transform: scaleX(1); }
}

@media (prefers-reduced-motion: reduce) {
  .hero .eyebrow,
  .hero h1,
  .hero .hero-copy,
  .hero .hero-actions,
  .hero .hero-bg,
  .hero h1::after,
  body.page-exiting main {
    animation: none !important;
    transition: none !important;
    filter: none !important;
  }

  .hero h1::after {
    opacity: 1;
    transform: scaleX(1);
  }
}

/* MindUp actual team profiles and contact image */
.team-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;align-items:stretch}.team-profile-card{background:#fff;border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);overflow:hidden;display:grid;grid-template-rows:auto 1fr}.team-profile-card img{width:100%;aspect-ratio:4/3;object-fit:contain;object-position:top center;background:linear-gradient(180deg,#f7f1df,#fffaf0);padding:.45rem .45rem 0}.team-profile-card div{padding:1.45rem}.team-profile-card h3{font-family:var(--serif);font-size:1.45rem;line-height:1.15;margin:.45rem 0 .65rem}.team-profile-card p{color:var(--muted);margin:.45rem 0}.contact-watercolor{background-image:linear-gradient(180deg,rgba(22,33,30,.06),rgba(22,33,30,.22)),url('assets/contact-us-watercolor.jpg');background-size:cover;background-position:center}.team-profile-card .label{color:var(--forest-dark)}@media(max-width:760px){.team-profile-grid{grid-template-columns:1fr}.team-profile-card img{aspect-ratio:16/11}}

/* section label and inline link readability */
@media(max-width:560px){.eyebrow,.label{font-size:.96rem;letter-spacing:.13em}.text-link{font-size:1.15rem}}

/* logo-colour buttons + softly emphasized service descriptions */
:root{--logo-button-mint:#8acb78;--logo-button-teal:#4fb7c3;--logo-button-deep:#2f7f86;}
.btn-primary,.contact-form button[type="submit"]{background:linear-gradient(135deg,var(--logo-button-teal),var(--logo-button-mint));color:#fff;box-shadow:0 16px 36px rgba(79,183,195,.24)}
.btn-primary:hover,.contact-form button[type="submit"]:hover{box-shadow:0 18px 42px rgba(79,183,195,.30)}
.btn-ghost{background:rgba(255,255,255,.76);border:1px solid rgba(79,183,195,.34);color:var(--logo-button-deep)}
.btn-ghost:hover{background:rgba(224,245,236,.92);box-shadow:0 14px 30px rgba(79,183,195,.16)}
.tab.active,.nav-cta{background:linear-gradient(135deg,var(--logo-button-teal),var(--logo-button-mint));color:#fff;border-color:rgba(255,255,255,.36)}
.service-card p,.feature-card p{font-weight:600;color:#53625b}.service-card-image p{font-weight:650;color:rgba(255,255,255,.96)}

/* service page hero readability: larger category label + darker description */
.service-page-hero .eyebrow{font-size:clamp(1.12rem,1.35vw,1.28rem);letter-spacing:.14em;font-weight:900;color:var(--forest-dark)}
.service-page-hero .hero-copy{font-size:clamp(1.1rem,1.65vw,1.32rem);line-height:1.65;color:#24342f;font-weight:600;max-width:720px}
@media(max-width:560px){.service-page-hero .eyebrow{font-size:1rem;letter-spacing:.12em}.service-page-hero .hero-copy{font-size:1.04rem;line-height:1.62}}

/* service detail CTA rhythm: consistent spacing around Next Step, button, and related links */
.service-copy-card-image .service-fit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.35rem;margin:1.8rem 0 0}
.service-copy-card-image .service-fit-grid h3{margin:0 0 .5rem!important}
.service-copy-card-image .service-fit-grid p{margin:0}
.service-copy-card-image > .btn{margin:1.85rem 0;display:inline-flex}
.service-copy-card-image > .btn + h3{margin-top:0!important}
.service-copy-card-image .related-services{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:.65rem}
.service-copy-card-image .related-services a{padding:.62rem .82rem;border-radius:999px;background:rgba(69,126,112,.12);color:var(--forest-dark);font-weight:800;line-height:1.25}
@media(max-width:700px){.service-copy-card-image .service-fit-grid{grid-template-columns:1fr}.service-copy-card-image > .btn{width:100%;margin:1.65rem 0}.service-copy-card-image .related-services{display:grid}.service-copy-card-image .related-services a{text-align:center}}

/* requested service UX polish: clickable arrows, tighter contact card, clearer service heroes */
.service-card h3::after{
  content:" →";
  font-family:var(--sans);
  font-weight:900;
  font-size:.92em;
  color:currentColor;
  white-space:nowrap;
}
.nav-dropdown-panel.category-only>a strong::after{content:none!important}
.service-card-image p{display:none!important}
.service-card-image small{display:inline-flex;align-items:center;gap:.35rem;margin-top:.55rem;font-weight:900;letter-spacing:.02em}
.service-card-image small::after{content:"→";font-size:1.08em;line-height:1;color:currentColor}
.service-card-image{min-height:235px;background-image:linear-gradient(180deg,rgba(22,33,30,.04),rgba(22,33,30,.58)),var(--service-img)}
.service-card-image a{min-height:235px}
.osteopath-service-card{background-image:linear-gradient(135deg,rgba(79,183,195,.26),rgba(231,183,98,.34)),linear-gradient(160deg,#eff7f4,#fff9ee);color:var(--forest-dark);border:1px solid var(--line)}
.osteopath-service-card h3,.osteopath-service-card small{color:var(--forest-dark);text-shadow:none}
.service-detail aside .service-contact-stack{display:flex;flex-direction:column;gap:.18rem;margin:.35rem 0 1.35rem;line-height:1.22}
.service-detail aside .service-contact-stack a{color:var(--ink);font-weight:700}
.service-detail aside .service-back-link{display:inline-flex;margin-top:1.4rem;line-height:1.3}
.service-page-hero .hero-overlay{background:linear-gradient(90deg,rgba(250,248,238,.78) 0%,rgba(250,248,238,.55) 38%,rgba(250,248,238,.16) 70%,rgba(250,248,238,.04) 100%)}
@media(max-width:560px){
  .service-card-image,.service-card-image a{min-height:190px}
  .service-detail aside .service-back-link{margin-top:1.7rem}
  .service-detail aside .service-contact-stack{gap:.12rem;margin-bottom:1.65rem}
}

/* keep service sidebar back-arrow attached to the wrapped text */
.service-detail aside .service-back-link{display:inline!important;width:auto!important;max-width:18rem;align-items:baseline;gap:.22rem}
.service-detail aside .service-back-link::after{content:" →";margin-left:.22rem;display:inline-block;color:currentColor}

/* requested arrow refinements */
@media(max-width:980px){.nav-dropdown-panel.category-only>a strong::after{content:none!important}}
.service-copy-card-image a[href*="soulwellnessclinic.com"],
.service-detail aside a[href*="soulwellnessclinic.com"]{color:var(--forest-dark);font-weight:850;text-decoration:underline;text-underline-offset:.18em}

/* category-card arrow placement: keep arrows beside Explore section, not in headings */
.feature-card h3::after{content:none!important}
.feature-card small{display:inline-flex;align-items:center;gap:.55rem;width:max-content;max-width:100%;padding:.42rem .5rem .42rem .7rem;border-radius:999px;background:rgba(69,126,112,.12);border:1px solid rgba(69,126,112,.18);color:var(--forest-dark);font-weight:900;letter-spacing:.01em}
.feature-card small::after{content:"";display:inline-block;flex:0 0 1.65rem;width:1.65rem;height:1.65rem;border-radius:50%;background-color:var(--forest-dark);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.35' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h13'/%3E%3Cpath d='m13 6 6 6-6 6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:1.05rem 1.05rem;white-space:nowrap;box-shadow:0 7px 16px rgba(47,94,84,.22);vertical-align:middle}
.feature-card:hover small,.feature-card:focus-visible small{background:rgba(69,126,112,.18);border-color:rgba(69,126,112,.34)}
.feature-card:hover small::after,.feature-card:focus-visible small::after{transform:translateX(2px)}

/* article links already include their arrow in the text, so do not auto-add a second one */
.blog-card .text-link::after,.article-card .text-link::after{content:none!important}

/* service hero title placement after removing hero descriptions */
.service-page-hero .hero-content{transform:translateY(clamp(1.9rem,4.2vh,3.3rem))}
@media(max-width:980px){.service-page-hero .hero-content{transform:translateY(1.45rem)}}
@media(max-width:560px){.service-page-hero .hero-content{transform:translateY(1.2rem)}}

/* taller service hero image area while keeping the brighter image treatment */
.service-page-hero{min-height:78svh}
@media(max-width:980px){
  .service-page-hero{min-height:clamp(430px,58svh,560px);display:flex;align-items:center;padding-top:8rem;padding-bottom:3.8rem}
}
@media(max-width:560px){
  .service-page-hero{min-height:430px;padding-top:7.7rem;padding-bottom:3.35rem}
}

/* place service hero label/title closer to the bottom without resizing hero images */
.service-page-hero{align-items:flex-end}
.service-page-hero .hero-content{transform:translateY(0);margin-bottom:clamp(3.6rem,7vh,5.4rem)}
@media(max-width:980px){.service-page-hero{align-items:flex-end}.service-page-hero .hero-content{transform:translateY(0);margin-bottom:3.4rem}}
@media(max-width:560px){.service-page-hero .hero-content{transform:translateY(0);margin-bottom:2.85rem}}

/* final service hero bottom placement refinement */
.service-page-hero .hero-content{margin-bottom:clamp(1.8rem,4.2vh,3.1rem)}
@media(max-width:980px){.service-page-hero .hero-content{margin-bottom:2rem}}
@media(max-width:560px){.service-page-hero .hero-content{margin-bottom:1.35rem}}

/* center two-card service sections such as Coaching & Support */
.service-grid.two-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:780px;margin-left:auto;margin-right:auto}
@media(max-width:700px){.service-grid.two-card-grid{grid-template-columns:1fr;max-width:100%}}
/* production contact details */
.contact-list a,.footer-contact a{color:inherit;text-decoration:none}
.contact-list a:hover,.footer-contact a:hover{text-decoration:underline;text-underline-offset:.18em}
.form-status{min-height:1.4em;margin:.75rem 0 0;text-align:center;color:var(--forest-dark);font-weight:800}


/* MindUp homepage/service pathway card alignment */
.home-card-grid{align-items:stretch}
.home-card-grid .feature-card{
  display:grid;
  grid-template-rows:auto auto 1fr auto;
  min-height:300px;
  height:100%;
}
.home-card-grid .feature-card .label{align-self:start}
.home-card-grid .feature-card h3{align-self:start;margin-bottom:.72rem;min-height:3.2rem}
.home-card-grid .feature-card p{align-self:start;margin:0}
.home-card-grid .feature-card small{align-self:end;margin-top:1rem}
@media (min-width: 981px){
  .home-card-grid .feature-card-centered-desktop{
    grid-column:2 / span 1;
    max-width:none;
    justify-self:stretch;
    width:100%;
  }
}
@media(max-width:560px){
  .home-card-grid .feature-card{min-height:auto}
  .home-card-grid .feature-card h3{min-height:0}
}


/* MindUp service-detail center polish + brand spacing */
.brand{gap:.86rem}
.brand-text{gap:.18rem;line-height:1.02}
.brand-text small{margin-top:.08rem;letter-spacing:.12em}
.service-copy-card-image{text-align:center}
.service-copy-card-image > p{max-width:850px;margin-left:auto;margin-right:auto;text-align:center}
.service-copy-card-image .service-focus-list{justify-items:center;text-align:center;max-width:900px;margin-left:auto;margin-right:auto}
.service-copy-card-image .service-focus-list li{width:min(100%,820px);text-align:center}
.service-copy-card-image .service-fit-grid{text-align:center;justify-items:stretch}
.service-copy-card-image .service-fit-grid p{text-align:center;max-width:430px;margin-left:auto;margin-right:auto}
.service-copy-card-image > .btn{margin-left:auto;margin-right:auto;justify-content:center}
.service-copy-card-image .related-services,.related-service-links{justify-content:center;text-align:center}
.service-copy-card-image .related-services a,.related-service-links a{text-align:center;display:inline-flex;align-items:center;justify-content:center}
@media(max-width:560px){
  .brand{gap:.68rem}
  .brand-text{gap:.14rem}
  .brand-text small{letter-spacing:.105em;margin-top:.1rem}
}


/* service-detail centered focus boxes/buttons refinement */
.service-copy-card-image > ul{display:grid;gap:.7rem;justify-items:center;max-width:900px;margin:1.2rem auto;padding-left:0;list-style:none;text-align:center}
.service-copy-card-image > ul li{width:min(100%,820px);text-align:center;padding:.75rem .9rem;border-radius:14px;background:rgba(255,255,255,.72);border:1px solid rgba(69,126,112,.14);font-weight:700;color:#2f413b}
.service-copy-card-image > .btn{display:flex;width:max-content;max-width:100%;align-items:center;text-align:center}
@media(max-width:560px){.service-copy-card-image > .btn{width:100%}}


/* MindUp provided logo mark in header: no circle, larger on green nav */
.brand-mark-logo{width:62px;height:62px;flex:0 0 62px;background:transparent!important;border-radius:0;overflow:visible;padding:0;box-shadow:none;font-size:0;margin-left:-4px;margin-right:-2px}
.brand-mark-logo img{width:100%;height:100%;object-fit:contain;border-radius:0;display:block;filter:drop-shadow(0 3px 7px rgba(22,33,30,.18))}
@media(max-width:560px){.brand-mark-logo{width:52px;height:52px;flex-basis:52px;margin-left:-2px;margin-right:-2px}}

@media(max-width:560px){.home-card-grid .feature-card small{display:inline-flex!important;align-items:center!important;justify-content:space-between!important;width:max-content!important;max-width:100%!important}.home-card-grid .feature-card small::after{background-position:center!important}}

/* mobile homepage hero centering: keeps desktop hero unchanged */
@media(max-width:560px){
  #home .hero-content{
    text-align:center;
    display:flex;
    flex-direction:column;
    align-items:center;
    margin-left:auto;
    margin-right:auto;
  }
  #home .hero .eyebrow,
  #home .hero h1,
  #home .hero-copy,
  #home .hero-actions{
    margin-left:auto;
    margin-right:auto;
    text-align:center;
  }
  #home .hero-actions{
    width:100%;
    max-width:340px;
    align-items:center;
    justify-content:center;
  }
}
