@font-face{font-family:'Quicksand';font-style:normal;font-weight:300;font-display:swap;src:url('/assets/quicksand-300.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Quicksand';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/quicksand-400.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Quicksand';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/quicksand-500.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Quicksand';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/quicksand-600.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Quicksand';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/quicksand-700.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --green-primary:#99a684;   /* Primary Green (brand) */
  --green-tranquil:#cfd4c4;  /* Tranquil Green – section tint */
  --green-dark:#22340c;      /* body copy on cream */
  --earth:#58433b;           /* Rich Earth – footer */
  --earth-text:#533f38;      /* nav text */
  --earth-soft:#70594a;      /* disclaimer copy */
  --cloud:#ebe5d7;           /* Cloud – intro section */
  --header:#f0f0f0;          /* header bar as built on the live site */
  --tan:#c1a272;             /* button */
  --ink:#2c2c2c;             /* headings */
  --white:#ffffff;
  --content:980px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:'Quicksand',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;color:var(--ink);background:var(--green-primary);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--content);margin:0 auto;padding:0 20px}

/* ---------- header ---------- */
.site-header{background:var(--header);height:116px}
.site-header .bar{display:flex;align-items:center;justify-content:space-between;height:100%;max-width:1160px;margin:0 auto;padding:0 20px}
.logo-svg{width:239px;height:auto;display:block}
.nav-toggle{display:none}
.nav-btn{display:none}
.site-nav ul{list-style:none;display:flex;gap:clamp(14px,2.4vw,34px);margin:0;padding:0;align-items:center}
.site-nav a{font-size:16px;color:var(--earth-text);line-height:21px;white-space:nowrap}
.site-nav a[aria-current="page"]{font-weight:700}
.site-nav a:hover{color:var(--tan)}

/* ---------- buttons ---------- */
.btn{display:inline-block;background:var(--tan);color:#f0f0f0;font-weight:700;font-size:18px;line-height:39px;height:39px;padding:0 34px;border-radius:60px;transition:background .2s}
.btn:hover{background:#b3935f}
.btn.small{font-size:17px;line-height:36px;height:36px;padding:0 30px}

/* ---------- nav variants ---------- */
.site-nav li.cta a{background:var(--tan);color:#f0f0f0;font-weight:700;border-radius:60px;padding:0 22px;line-height:36px;display:inline-block}
.site-nav li.cta a:hover{background:#b3935f;color:#f0f0f0}
.site-nav li.aside a{font-size:14px;color:var(--earth-soft);text-decoration:underline;text-underline-offset:3px}
.site-nav li.aside a:hover{color:var(--tan)}

/* ---------- home: hero (artwork backdrop + live headline) ---------- */
.hero{position:relative;background:#c2c9b5;overflow:hidden;min-height:560px;display:flex;align-items:center}
.hero-svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.hero .panel{position:relative;max-width:1160px;width:100%;margin:0 auto;padding:64px 20px}
.hero .panel-inner{max-width:640px;background:rgba(235,229,215,.9);border-radius:24px;padding:40px 44px 42px}
.hero h1{margin:0;font-size:42px;line-height:1.18;font-weight:700;color:var(--ink)}
.hero .sub{margin:18px 0 0;font-size:18px;line-height:1.55;color:var(--green-dark)}
.hero .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}

/* ---------- home: client band ---------- */
.clients{background:var(--cloud);padding:56px 20px 64px;text-align:center}
.clients h2{margin:0;font-size:34px;line-height:1.25;font-weight:700;color:var(--ink)}
.clients .lead{max-width:820px;margin:14px auto 0;font-size:18px;line-height:1.55;color:var(--green-dark)}
.clients .grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;max-width:1100px;margin:40px auto 0}
.clients .mini{display:flex;flex-direction:column;align-items:center}
.clients .mini img{width:110px;height:auto;display:block;border-radius:14px}
.clients .mini h3{margin:14px 0 2px;font-size:20px;line-height:1.3;font-weight:400;color:var(--ink)}
.clients .mini .role{font-size:14px;color:var(--earth);margin:0 0 10px}
.clients .mini a.more{color:var(--earth);text-decoration:underline;text-underline-offset:3px;font-size:15px}
.clients .btn{margin-top:36px}

/* ---------- home: value proposition ---------- */
.why{background:var(--green-tranquil);padding:64px 20px 70px;text-align:center}
.why h2,.included h2,.who h2,.locate h2{margin:0;font-size:38px;line-height:1.2;font-weight:700;color:var(--ink)}
.why .copy{max-width:900px;margin:18px auto 0;font-size:18px;line-height:1.55;color:var(--ink)}
.why .stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:900px;margin:36px auto 0}
.why .stat{background:rgba(235,229,215,.75);border-radius:20px;padding:26px 20px 24px}
.why .stat b{display:block;font-size:40px;line-height:1.1;color:var(--earth);font-weight:700}
.why .stat b.long{font-size:32px;white-space:nowrap}
.why .stat b.wrap{font-size:30px;line-height:1.15}
.why .stat span{display:block;margin-top:8px;font-size:15px;line-height:1.4;color:var(--ink)}
.why .btn{margin-top:36px}

/* ---------- home: what's included ---------- */
.included{background:var(--cloud);padding:64px 20px 70px;text-align:center}
.included .tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:1060px;margin:36px auto 0;text-align:left}
.included .tile{background:#e4d4bd;border-radius:20px;padding:24px 26px}
.included .tile h3{margin:0 0 8px;font-size:20px;line-height:1.3;font-weight:700;color:var(--ink)}
.included .tile p{margin:0;font-size:16px;line-height:1.5;color:var(--ink)}
.included .btn{margin-top:36px}

/* ---------- home: who practises here + values ---------- */
.who{background:var(--green-tranquil);padding:64px 20px 70px;text-align:center}
.who .copy{max-width:900px;margin:18px auto 0;font-size:18px;line-height:1.55;color:var(--ink)}
.who h2.values-h{margin-top:56px}
.who .vals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;max-width:1060px;margin:30px auto 0}
.who .val{background:rgba(235,229,215,.75);border-radius:50%;aspect-ratio:1;max-width:320px;margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px}
.who .val h3{margin:0 0 10px;font-size:22px;line-height:1.25;font-weight:700;color:var(--earth)}
.who .val p{margin:0;font-size:15px;line-height:1.45;color:var(--ink)}

/* ---------- home: location + final CTA ---------- */
.locate{background:var(--cloud);padding:64px 20px 70px}
.locate .cols{max-width:1060px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:50px;align-items:center}
.locate .copy{font-size:18px;line-height:1.55;color:var(--ink)}
.locate .copy p{margin:16px 0 0}
.locate .copy a{color:var(--earth);text-decoration:underline;text-underline-offset:3px}
.locate .map{display:block;width:100%;max-width:480px;height:auto;margin:0 auto}
.final{padding:64px 20px 72px;text-align:center;color:var(--white)}
.final h2{margin:0;font-size:34px;line-height:1.25;font-weight:700;color:var(--white)}
.final p{max-width:720px;margin:14px auto 0;font-size:18px;line-height:1.55}
.final a.tel{color:var(--white);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.final .btn{margin-top:26px;background:var(--cloud);color:var(--earth)}
.final .btn:hover{background:var(--tan);color:#f0f0f0}

/* ---------- brochure request form (what we offer) ---------- */
.brochure{max-width:620px;margin:30px auto 0;background:#e4d4bd;border-radius:20px;padding:30px 34px 32px;text-align:left}
.brochure h3{margin:0 0 6px;font-size:24px;line-height:1.3;font-weight:700;color:var(--ink)}
.brochure p{margin:0 0 20px;font-size:16px;line-height:1.5}
.cform select{width:100%;height:40px;border:1px solid rgba(83,63,56,.6);border-radius:10px;background:transparent;font:inherit;font-size:16px;color:var(--ink);padding:0 10px}

/* ---------- find a therapist: banner ---------- */
.page-banner{background:var(--green-tranquil);text-align:center;padding:86px 20px 72px}
.page-banner h1{margin:0;font-size:50px;line-height:70px;font-weight:700;color:var(--ink)}
.page-banner .lead{margin:15px auto 0;max-width:1040px;font-size:20px;line-height:28px;color:var(--green-dark);font-weight:400}
.page-banner .lead a{text-decoration:underline;text-underline-offset:3px}
.page-banner .disclaimer{margin:21px auto 0;font-size:18px;line-height:1.4;color:var(--earth-soft);font-weight:400}
.page-banner .disclaimer b{color:var(--ink)}

/* ---------- find a therapist: directory ---------- */
.directory{background:var(--cloud);padding:58px 20px 90px}
.directory .grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px;max-width:1300px;margin:0 auto}
.therapist{text-align:center;display:flex;flex-direction:column;align-items:center}
.therapist .photo{width:132px;height:127px;object-fit:cover;display:block}
.therapist h2{font-size:26px;line-height:36.4px;font-weight:400;margin:22px 0 10px;color:var(--ink)}
.therapist .tags{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 0;margin:0 0 12px}
.therapist .tag{display:inline-block;border:1.5px solid var(--green-tranquil);border-radius:50px;padding:0 16px;height:36px;line-height:33px;font-size:14px;color:var(--earth);white-space:nowrap}
.therapist .creds{font-size:18px;line-height:25.2px;margin:6px 0 28px;color:var(--ink)}
.therapist .bio{font-size:16px;line-height:22.4px;color:var(--ink);max-width:379px}
.therapist .bio p{margin:0 0 22px}
.therapist .bio ul{margin:0 0 22px;padding-left:26px;text-align:left;color:var(--earth)}
.therapist .bio ul.centered{list-style-position:inside;padding-left:0;text-align:center;color:var(--ink)}
.therapist .bio li{margin:0}
.therapist .btn{margin-top:4px}

/* ---------- generic content sections ---------- */
.band{padding:64px 20px 70px;text-align:center}
.band.cloud{background:var(--cloud)}
.band.tranquil{background:var(--green-tranquil)}
.band h1,.band h2{margin:0;font-size:50px;line-height:70px;font-weight:700;color:var(--ink)}
.band .copy{max-width:1120px;margin:22px auto 0;font-size:18px;line-height:25.2px;color:var(--ink)}
.band .copy p{margin:0 0 25px}
.band .copy p:last-child{margin-bottom:0}
.band .copy a{color:var(--earth);text-decoration:underline;text-underline-offset:3px}
.band .copy.narrow{max-width:1092px}
.band .btn{margin-top:26px}
.band .sub{font-size:23px;line-height:32.2px;color:var(--green-dark);margin:28px auto 0;max-width:760px}
.band .tagline{font-size:27px;line-height:37.8px;font-weight:700;margin:48px 0 26px}
.three-circles{display:block;width:874px;max-width:100%;height:auto;margin:0 auto}

/* session blocks */
.blocks-lead{font-size:20px;line-height:28px;color:var(--green-dark);margin:30px 0 16px}
.blocks{display:grid;grid-template-columns:repeat(12,1fr);gap:8px;max-width:600px;margin:0 auto 30px}
.blocks span{background:#c2c9b5;color:var(--green-dark);font-size:17px;line-height:38px;height:38px;white-space:nowrap}
.blocks .b6{grid-column:span 6}.blocks .b3{grid-column:span 3}

/* our practice (two columns) */
.practice{background:var(--green-tranquil);padding:70px 20px 76px}
.practice .cols{display:grid;grid-template-columns:408px 1fr;gap:30px;max-width:1250px;margin:0 auto;align-items:start}
.practice h1,.practice h2{margin:0;font-size:50px;line-height:70px;font-weight:700;color:var(--ink)}
.practice .copy{font-size:18px;line-height:25.2px;margin:22px 0 30px}
.practice .copy p{margin:0 0 25px}
.practice .plan{display:block;width:100%;max-width:811px;height:auto;margin-left:auto}

/* what we offer: cards */
.cards{display:grid;grid-template-columns:repeat(2,460px);gap:46px 60px;justify-content:center;margin:48px auto 0}
.card{background:#e4d4bd;border-radius:20px;min-height:238px;padding:28px 40px 26px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}
.card h3{margin:0 0 14px;font-size:25px;line-height:30px;font-weight:700;color:var(--ink)}
.card p{margin:0;font-size:16px;line-height:22.4px;color:var(--ink)}
.card p a{color:var(--earth);text-decoration:underline;text-underline-offset:3px}
.card p b a{font-weight:700}
.card .btn{margin-top:16px}

/* pricing table */
.pricing-intro{max-width:848px;margin:22px auto 0;font-size:16px;line-height:22.4px}
.pricing-wrap{overflow-x:auto;max-width:854px;margin:22px auto 0}
.pricing{width:100%;min-width:560px;border-collapse:separate;border-spacing:2px;font-size:16px;line-height:22.4px}
.pricing th{background:var(--green-primary);color:#fff;font-weight:700;padding:8px 10px;text-align:left;vertical-align:top}
.pricing td{background:#fff;padding:8px 10px;text-align:left}
.pricing td:first-child{font-weight:700}
.pricing-notes{max-width:890px;margin:26px auto 0;font-size:16px;line-height:22.4px}
.pricing-notes p{margin:0 0 22px}
.pricing-notes p:last-child{margin-bottom:0}

/* become a member: 3 steps */
.steps{display:grid;grid-template-columns:repeat(3,322px);gap:0 60px;justify-content:center;margin:54px auto 0}
.step{text-align:center}
.step-svg{width:322px;max-width:100%;height:auto;display:block;margin:0 auto}
.step h3{margin:28px 0 14px;font-size:24px;line-height:28.8px;font-weight:700;color:var(--ink)}
.step p{margin:0 auto;max-width:264px;font-size:16px;line-height:22.4px}

/* our spaces gallery */
.gallery{background:var(--cloud);padding:59px 20px 70px;text-align:center}
.gallery h1,.gallery h2{margin:0 0 35px;font-size:50px;line-height:70px;font-weight:700;color:var(--ink)}
.gallery .g{max-width:1226px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;text-align:left}
.gallery .g img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.gallery .row{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.gallery .group{display:grid;gap:10px;align-content:start}
.gallery .group.wide{grid-column:span 2;grid-template-columns:1fr 1fr}
.gallery .group h2,.gallery .group h3{grid-column:1/-1;margin:56px 0 4px;font-size:22px;line-height:30.8px;font-weight:400;color:var(--ink)}
.gallery .btn{margin-top:38px}

/* contact us */
.flowers{width:100%;aspect-ratio:1425/421;overflow:hidden;background:#dce0d5;line-height:0}
.flowers-svg{width:100%;height:100%;display:block}
.contact{background:var(--cloud);padding:66px 20px 90px}
.contact h1{margin:0;font-size:50px;line-height:70px;font-weight:700;color:var(--ink);text-align:center}
.contact .cols{display:grid;grid-template-columns:589px 542px;gap:59px;justify-content:center;margin-top:33px}
.contact .lead{font-size:21px;line-height:29.4px;margin:0 0 34px}
.contact .alt{font-size:18px;line-height:25.2px;margin:0 0 49px}
.contact .where{font-size:18px;line-height:25.2px;margin:0 0 55px}
.contact .where a{color:var(--earth-text);text-decoration:underline;text-underline-offset:3px}
.contact .map{display:block;width:100%;max-width:528px;height:auto}
.cform{display:grid;grid-template-columns:1fr 1fr;gap:25px 36px;max-width:559px}
.cform .full{grid-column:1/-1}
.cform label{display:block;font-size:14px;line-height:19.6px;margin-bottom:9px}
.cform input[type=text],.cform input[type=email],.cform textarea{width:100%;height:40px;border:1px solid rgba(83,63,56,.6);border-radius:10px;background:transparent;font:inherit;font-size:16px;color:var(--ink);padding:0 12px}
.cform textarea{height:74px;padding:8px 12px;resize:vertical}
.cform .consent{grid-column:1/-1;display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.45;margin-top:8px}
.cform .consent a{color:var(--earth);text-decoration:underline;text-underline-offset:3px}
.cform .consent input{width:16px;height:16px;flex:0 0 16px;margin-top:2px;accent-color:var(--tan)}
.cform .submit{grid-column:1/-1}
.cform button{font:inherit;font-weight:700;font-size:18px;color:#f0f0f0;background:var(--tan);border:0;border-radius:100px;height:44px;padding:0 44px;cursor:pointer}
.cform button:hover{background:#b3935f}
.cform button[disabled]{opacity:.6;cursor:default}
.cform .hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.form-status{grid-column:1/-1;font-size:15px;line-height:1.5;margin:0;min-height:1em}
.form-status.ok{color:var(--green-dark);font-weight:700}
.form-status.err{color:#8a3a2b;font-weight:700}
.cform{position:relative}

/* ---------- find a therapist: teaser cards (hub) ---------- */
.therapist .photo-link{display:block}
.therapist .photo-link:hover{opacity:.85}
.therapist h2 a:hover{color:var(--tan)}
.therapist .blurb{font-size:16px;line-height:22.4px;color:var(--ink);max-width:340px;margin:0 0 22px}
.therapist .actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:auto}
.btn.ghost{background:transparent;color:var(--earth);border:1.5px solid var(--tan);line-height:33px}
.btn.ghost:hover{background:var(--tan);color:#f0f0f0}
.choose{max-width:760px;margin:70px auto 0;text-align:center;font-size:18px;line-height:25.2px;color:var(--ink)}
.choose h2{margin:0 0 12px;font-size:27px;line-height:1.3;font-weight:700}
.choose p{margin:0}
.choose a{color:var(--earth);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}

/* ---------- therapist profile ---------- */
.crumbs{background:var(--green-tranquil);padding:18px 20px 0;font-size:14px;line-height:20px;color:var(--earth-text)}
.crumbs ol{list-style:none;margin:0 auto;padding:0;max-width:1160px;display:flex;flex-wrap:wrap}
.crumbs li+li::before{content:"\203A";margin:0 8px;opacity:.6}
.crumbs a:hover{text-decoration:underline}
.profile-head{background:var(--green-tranquil);padding:34px 20px 56px}
.profile-head .cols{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:auto minmax(0,1fr);gap:44px;align-items:center}
.profile-head .photo{width:172px;height:auto;display:block;border-radius:18px}
.profile-head h1{margin:0;font-size:42px;line-height:1.2;font-weight:700;color:var(--ink)}
.profile-head .creds{font-size:18px;line-height:25.2px;margin:12px 0 14px;color:var(--ink)}
.profile-head .tags{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 24px}
.profile-head .tag{display:inline-block;border:1.5px solid var(--green-primary);border-radius:50px;padding:0 16px;height:36px;line-height:33px;font-size:14px;color:var(--earth);white-space:nowrap}
.profile-head .actions{display:flex;gap:12px;flex-wrap:wrap}
.profile{background:var(--cloud);padding:60px 20px 72px}
.profile .cols{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:60px;align-items:start}
.profile h2{margin:0 0 14px;font-size:27px;line-height:1.3;font-weight:700;color:var(--ink)}
.profile section+section{margin-top:40px}
.profile .bio{font-size:17px;line-height:1.55;color:var(--ink)}
.profile .bio p{margin:0 0 18px}
.profile .bio ul{margin:0 0 18px;padding-left:24px}
.profile .bio li{margin:0 0 4px}
.profile .list{margin:0;padding-left:24px;font-size:17px;line-height:1.55;color:var(--ink)}
.profile .list li{margin:0 0 6px}
.profile .side{background:#e4d4bd;border-radius:20px;padding:28px 30px 30px}
.profile .side h2{font-size:22px}
.profile .side p{margin:0 0 16px;font-size:16px;line-height:22.4px;color:var(--ink)}
.profile .side p:last-of-type{margin-bottom:22px}
.profile .side a{color:var(--earth);text-decoration:underline;text-underline-offset:3px}
.profile .side a.btn{color:#f0f0f0;text-decoration:none}
.also{background:var(--green-tranquil);padding:56px 20px 64px;text-align:center}
.also h2{margin:0 0 32px;font-size:27px;line-height:1.3;font-weight:700;color:var(--ink)}
.also .grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;max-width:980px;margin:0 auto}
.also .mini{display:flex;flex-direction:column;align-items:center}
.also .mini img{width:110px;height:auto;display:block;border-radius:14px}
.also .mini h3{margin:16px 0 4px;font-size:21px;line-height:1.3;font-weight:400;color:var(--ink)}
.also .mini .role{font-size:15px;color:var(--earth);margin:0 0 12px}
.also .mini a.more{color:var(--earth);text-decoration:underline;text-underline-offset:3px;font-size:15px}
.also .mini a.more:hover{color:var(--tan)}

/* ---------- conditions: index + pages ---------- */
.cond-index{background:var(--cloud);padding:56px 20px 80px}
.cond-index .grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:1100px;margin:0 auto}
/* Four cards in a three-column grid leaves an orphan on the second row. The
   .four variant lays them out 2x2 and collapses to one column on its own. */
.cond-index .grid.four{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));max-width:820px}
.cond-card{background:#e4d4bd;border-radius:20px;padding:26px 28px 24px;display:flex;flex-direction:column}
.cond-card h2{margin:0 0 10px;font-size:23px;line-height:1.3;font-weight:700;color:var(--ink)}
.cond-card h2 a:hover{color:var(--tan)}
.cond-card p{margin:0 0 18px;font-size:16px;line-height:1.5;color:var(--ink);flex:1}
.cond-card .who-unused{font-size:14px;color:var(--earth);margin:0 0 14px}
.clients .actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:36px}
.clients .actions .btn{margin-top:0}
.cond-index .short-version{max-width:780px;margin:0 auto 30px;background:rgba(255,255,255,.55);border-radius:20px;padding:22px 26px}
.cond-index .short-version p{margin:0;font-size:16.5px;line-height:1.55;color:var(--ink)}
.prose p.note{background:#e4d4bd;border-radius:14px;padding:14px 18px}
.cond-card a.more{color:var(--earth);text-decoration:underline;text-underline-offset:3px;font-size:15px}
.cond-head{background:var(--green-tranquil);padding:34px 20px 52px}
.cond-head .inner{max-width:1160px;margin:0 auto}
.cond-head h1{margin:0;font-size:42px;line-height:1.2;font-weight:700;color:var(--ink);max-width:900px}
.cond-head .lead{margin:16px 0 0;max-width:820px;font-size:19px;line-height:1.55;color:var(--green-dark)}
.cond-head .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.cond{background:var(--cloud);padding:60px 20px 72px}
.cond .cols{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:60px;align-items:start}
.cond h2{margin:0 0 14px;font-size:27px;line-height:1.3;font-weight:700;color:var(--ink)}
.cond section+section{margin-top:40px}
.cond .prose{font-size:17px;line-height:1.6;color:var(--ink)}
.cond .prose p{margin:0 0 16px}
.cond .prose ul{margin:0 0 16px;padding-left:24px}
.cond .prose li{margin:0 0 6px}
.cond .prose a{color:var(--earth);text-decoration:underline;text-underline-offset:3px}
.cond .side{background:#e4d4bd;border-radius:20px;padding:26px 28px 28px}
.cond .side h2{font-size:22px}
.cond .side p{margin:0 0 14px;font-size:15px;line-height:1.5}
.cond .side a{color:var(--earth);text-decoration:underline;text-underline-offset:3px}
.cond .side .who{list-style:none;margin:0 0 18px;padding:0}
.cond .side .who li{display:flex;align-items:center;gap:12px;margin:0 0 12px}
.cond .side .who img{width:52px;height:50px;object-fit:cover;border-radius:10px;display:block}
.cond .side .who b{display:block;font-size:16px;font-weight:700;color:var(--ink)}
.cond .side .who span{font-size:13px;color:var(--earth)}
.cond .side a.btn{color:#f0f0f0;text-decoration:none;margin-top:4px}
.faq{max-width:1160px;margin:48px auto 0}
.faq h2{margin:0 0 6px;font-size:27px;line-height:1.3;font-weight:700;color:var(--ink)}
.faq details{border-top:1px solid rgba(88,67,59,.25);padding:14px 0}
.faq details:last-of-type{border-bottom:1px solid rgba(88,67,59,.25)}
.faq summary{cursor:pointer;font-size:18px;font-weight:700;color:var(--ink);list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--tan);font-size:24px;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:10px 0 0;font-size:16px;line-height:1.55;color:var(--ink);max-width:860px}
.crisis{background:var(--green-tranquil);padding:28px 20px}
.crisis p{max-width:1160px;margin:0 auto;font-size:15px;line-height:1.5;color:var(--ink)}
.crisis a{color:var(--earth);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}

/* ---------- legal pages ---------- */
.legal-page{background:var(--cloud);padding:56px 20px 80px}
.legal-page .inner{max-width:860px;margin:0 auto;font-size:17px;line-height:1.6;color:var(--ink)}
.legal-page h1{margin:0 0 8px;font-size:42px;line-height:1.2;font-weight:700}
.legal-page .meta{margin:0 0 34px;font-size:15px;color:var(--earth-soft)}
.legal-page h2{margin:36px 0 10px;font-size:24px;line-height:1.3;font-weight:700}
.legal-page p{margin:0 0 14px}
.legal-page ul{margin:0 0 14px;padding-left:24px}
.legal-page li{margin:0 0 6px}
.legal-page a{color:var(--earth);text-decoration:underline;text-underline-offset:3px}
.legal-page .box{background:#e4d4bd;border-radius:16px;padding:18px 22px;margin:0 0 18px}

/* ---------- footer ---------- */
.site-footer{background:var(--earth);color:var(--white)}
.site-footer .row{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:89px;padding-top:12px;padding-bottom:12px}
.foot-nav>ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.foot-nav .group{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap}
.foot-nav .group-label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--tan);min-width:150px}
.foot-nav .group ul{list-style:none;margin:0;padding:0;display:flex;gap:4px 22px;flex-wrap:wrap}
.foot-nav a{font-size:15px;line-height:22px;color:var(--white);display:inline-block;white-space:nowrap}
.foot-nav a:hover{color:var(--cloud)}
.social{display:flex;gap:14px}
.social a{width:36px;height:36px;border-radius:50%;background:var(--cloud);display:flex;align-items:center;justify-content:center;color:var(--earth)}
.social a:hover{background:var(--tan)}
.social svg{width:18px;height:18px;display:block}
.site-footer .nap{padding:6px 20px 24px;font-size:14px;line-height:1.5;color:var(--cloud)}
.site-footer .nap p{margin:0}
.site-footer .nap a:hover{text-decoration:underline}
.sub-footer{background:#fffffe;color:var(--ink);font-size:15px}
.sub-footer .row{display:flex;align-items:center;justify-content:space-between;height:69px;gap:20px;flex-wrap:wrap}
.sub-footer .legal{display:flex;gap:25px}
.sub-footer a:hover{text-decoration:underline}
.sub-footer .brand{color:var(--earth)}

/* ---------- responsive ---------- */
@media (max-width:1240px){
  .cond-index .grid{grid-template-columns:1fr 1fr}
  .contact .cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px}
  .steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 30px}
  .cards{grid-template-columns:repeat(2,minmax(0,460px));gap:30px}
}
/* Between the 1180px collapse and ~1400px the six client-nav items plus the
   "For practitioners" link overflow at the clamped gap. Tighten it in that band. */
@media (max-width:1400px){.site-nav ul{gap:18px}}
@media (max-width:1100px){
  .directory .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 40px}
  .practice .cols{grid-template-columns:1fr}
  .practice .plan{margin:0 auto}
}
@media (max-width:1180px){
  .site-header{height:auto}
  .site-header .bar{flex-wrap:wrap;padding:16px 20px}
  .logo-svg{width:190px}
  .nav-btn{display:block;width:44px;height:44px;border:0;background:transparent;cursor:pointer;padding:8px}
  .nav-btn span{display:block;height:2px;background:var(--earth-text);margin:6px 0;border-radius:2px}
  .site-nav{display:none;width:100%;padding:10px 0 4px}
  .nav-toggle:checked ~ .site-nav{display:block}
  .site-nav ul{flex-direction:column;gap:0}
  .site-nav a{display:block;padding:12px 4px;border-top:1px solid #dcdcdc;font-size:17px}
  .hero{min-height:0}
  .hero .panel{padding:36px 16px}
  .hero .panel-inner{padding:28px 24px 30px;border-radius:18px}
  .hero h1{font-size:30px}
  .hero .sub{font-size:16px}
  .clients .grid{grid-template-columns:1fr 1fr;gap:28px 16px}
  .clients h2{font-size:28px}
  .why h2,.included h2,.who h2,.locate h2{font-size:30px}
  .why .stats{grid-template-columns:1fr;gap:14px}
  .included .tiles{grid-template-columns:1fr;gap:14px}
  .who .vals{grid-template-columns:1fr;gap:18px}
  .who .val{border-radius:20px;aspect-ratio:auto;max-width:none}
  .locate .cols{grid-template-columns:1fr;gap:30px}
  .cond-index .grid{grid-template-columns:1fr;gap:16px}
  .cond-head h1{font-size:30px}
  .legal-page h1{font-size:30px}
  .legal-page h2{font-size:21px}
  .cond-head .lead{font-size:17px}
  .cond{padding:44px 20px 54px}
  .cond .cols{grid-template-columns:1fr;gap:36px}
  .site-nav li.cta a{display:block;text-align:center;margin-top:10px}
  .page-banner{padding:56px 20px 48px}
  .page-banner h1{font-size:38px;line-height:1.2}
  .page-banner .lead{font-size:18px;line-height:1.5}
  .band{padding:48px 20px 54px}
  .band h1,.band h2,.practice h1,.practice h2,.gallery h1,.gallery h2,.contact h1{font-size:38px;line-height:1.2}
  .band .tagline{font-size:22px;line-height:1.3;margin:34px 0 20px}
  .band .sub{font-size:19px;line-height:1.4}
  .cards{grid-template-columns:1fr;gap:24px}
  .card{min-height:0;padding:26px 24px}
  .steps{grid-template-columns:1fr;gap:40px 0}
  .step-svg{width:260px}
  .gallery .g,.gallery .row{grid-template-columns:1fr 1fr}
  .gallery .group.wide{grid-column:span 2}
  .gallery .group h2,.gallery .group h3{margin-top:30px}
  .contact .cols{grid-template-columns:1fr}
  .contact .map{margin:0 auto}
  .profile-head{padding:28px 20px 44px}
  .profile-head .cols{grid-template-columns:1fr;gap:24px;text-align:center;justify-items:center}
  .profile-head .tags,.profile-head .actions{justify-content:center}
  .profile-head h1{font-size:32px}
  .profile{padding:44px 20px 54px}
  .profile .cols{grid-template-columns:1fr;gap:40px}
  .also .grid{grid-template-columns:1fr;gap:36px}
  .flowers{aspect-ratio:1600/510}
  .blocks span{font-size:14px}
  .site-footer .row{height:auto;flex-direction:column;align-items:flex-start;gap:18px;padding:26px 20px}
  .foot-nav .group{flex-direction:column;gap:6px}
  .foot-nav .group ul{gap:6px 18px}
  .sub-footer .row{height:auto;padding:18px 20px;flex-direction:column;align-items:flex-start;gap:12px}
  .sub-footer .legal{flex-wrap:wrap;gap:8px 20px}
}
@media (max-width:640px){
  .directory .grid{grid-template-columns:1fr;gap:56px}
}
@media (max-width:520px){
  .gallery .g,.gallery .row{grid-template-columns:1fr}
  .gallery .group.wide{grid-column:auto;grid-template-columns:1fr}
  .cform{grid-template-columns:1fr}
  .blocks{gap:4px}
  .blocks span{font-size:12px}
  .pricing{font-size:13px;line-height:1.3}
  .pricing th,.pricing td{padding:6px 5px}
  .btn{font-size:16px;padding:0 22px;height:auto;line-height:1.3;padding-top:11px;padding-bottom:11px}
  .hero h1{font-size:26px}
  .page-banner h1{font-size:32px}
}

.hero-svg,.flowers-svg{object-fit:cover;object-position:center}
