
  :root{
    --cream:#FFFFFF;
    --cream-deep:#F7F1E9;
    --sage:#5E734A;
    --sage-deep:#415033;
    --clay:#E18D4F;
    --ochre:#D9A256;
    --blush:#C97D8B;
    --brown:#6B4A34;
    --ink:#2B2620;
    --ink-soft:#5C5448;
    --line:rgba(46,90,75,0.16);
    --max:1160px;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{margin:0; font-family:'Work Sans', sans-serif; background:var(--cream); color:var(--ink); line-height:1.7; font-size:16px;}
  h1,h2,h3,h4{font-family:'Fraunces', serif; font-weight:500; line-height:1.15; margin:0 0 0.5em 0; color:var(--sage-deep);}
  a{color:var(--clay); text-decoration:none;}
  a:hover{text-decoration:underline;}
  :focus-visible{outline:2px solid var(--clay); outline-offset:3px; border-radius:4px;}
  .wrap{max-width:var(--max); margin:0 auto; padding:0 24px;}
  section{padding:64px 0;}
  section + section{border-top:1px solid var(--line);}

  /* ---------- nav ---------- */
  header{position:sticky; top:0; z-index:50; background:rgba(255,255,255,0.94); backdrop-filter:blur(6px); border-bottom:1px solid var(--line);}
  #scrollProgress{position:fixed; top:0; left:0; height:3px; width:0%; background:var(--clay); z-index:100; transition:width .1s linear;}
  nav{max-width:var(--max); margin:0 auto; display:flex; align-items:center; justify-content:space-between; padding:16px 24px; gap:20px; flex-wrap:wrap;}
  .logo{font-family:'Fraunces', serif; font-style:italic; font-weight:500; font-size:1.35rem; color:var(--sage-deep); letter-spacing:0.01em; background:none; border:none; cursor:pointer; padding:0;}
  .logo span{color:var(--clay);}
  .nav-links{display:flex; gap:22px; list-style:none; margin:0; padding:0; flex-wrap:wrap; align-items:center;}
  .nav-links a{font-family:'Work Sans', sans-serif; font-size:0.93rem; letter-spacing:0.02em; background:none; border:none; cursor:pointer; color:var(--ink-soft); padding:6px 2px; border-bottom:2px solid transparent; transition:color .2s, border-color .2s;}
  .nav-links a:hover{color:var(--sage-deep);}
  .nav-links a.active{color:var(--sage-deep); border-bottom-color:var(--clay);}
  .nav-cta{background:var(--sage); color:var(--cream) !important; border-radius:999px; padding:9px 18px !important; border-bottom:none !important;}
  .nav-cta:hover{background:var(--clay); color:var(--cream) !important;}
  .nav-toggle{display:none; background:none; border:none; cursor:pointer; padding:8px;}
  .nav-toggle span{display:block; width:22px; height:2px; background:var(--sage-deep); margin:5px 0;}

  /* ---------- pages ---------- */
  main{display:block;}
  .page{display:none;}
  .page.active{display:block; animation:fade .35s ease;}
  @keyframes fade{from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:translateY(0);}}
  @media (prefers-reduced-motion: reduce){ .page.active{animation:none;} html{scroll-behavior:auto;} }

  .eyebrow{font-size:0.8rem; letter-spacing:0.12em; color:var(--clay); text-transform:lowercase; font-weight:500; margin-bottom:10px; display:block;}

  /* ===================== REFINED TYPE & DETAIL PASS ===================== */
  h1{ font-size:clamp(2.4rem, 5.5vw, 4rem); letter-spacing:-0.01em; }
  h2{ font-size:clamp(1.75rem, 3.6vw, 2.4rem); letter-spacing:-0.01em; }
  .lede{ font-size:1.1rem; }

  .eyebrow{ font-size:0.78rem; letter-spacing:0.14em; }

  .photo-rect, .about-frame{ transition:transform .3s ease, box-shadow .3s ease; }
  .photo-rect:hover, .about-frame:hover{ transform:scale(1.015); box-shadow:0 14px 28px -16px rgba(30,60,50,0.3); }

  .journal-card{ transition:transform .3s ease, box-shadow .3s ease; }
  .journal-card:hover{ transform:translateY(-4px); box-shadow:0 14px 24px -16px rgba(30,60,50,0.26); }

  .org-chip{ transition:background .2s ease, color .2s ease, border-color .2s ease; display:inline-block; }
  .org-chip:hover{ background:var(--sage-deep); color:var(--cream); border-color:var(--sage-deep); }

  .btn{ transition:background .2s ease, opacity .2s ease; }
  .btn:hover{ opacity:0.88; }
  .btn:active{ opacity:0.75; }

  .nav-links a{ position:relative; }
  .nav-links a::after{
    content:""; display:block; height:2px; width:0; background:var(--clay);
    transition:width .25s ease; margin-top:2px; position:absolute; left:2px; bottom:-4px;
  }
  .nav-links a:hover::after{ width:calc(100% - 4px); }

  .reveal{ opacity:0; transform:translateY(14px); transition:opacity .6s ease, transform .6s ease; }
  .reveal.in-view{ opacity:1; transform:translateY(0); }
  @media (prefers-reduced-motion: reduce){ .reveal{opacity:1; transform:none; transition:none;} .photo-rect:hover, .about-frame:hover, .journal-card:hover{transform:none;} }

  /* photo-with-text-overlay hero */
  .hero-overlay{ position:relative; width:100%; height:min(56vw,720px); overflow:hidden; display:flex; align-items:flex-end; }
  .hero-overlay img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
  .hero-overlay::after{ content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(20,26,22,0.85) 0%, rgba(20,26,22,0.55) 35%, rgba(20,26,22,0.15) 65%, rgba(20,26,22,0) 85%); z-index:1; }
  .hero-overlay .hero-overlay-text{ position:relative; z-index:2; padding:48px 24px 64px; max-width:var(--max); margin:0 auto; width:100%; }
  .hero-overlay .eyebrow{ color:var(--cream); opacity:0.85; }
  .hero-overlay h1, .hero-overlay h2{ color:var(--cream); }
  .hero-overlay p{ color:rgba(255,255,255,0.92); }
  .hero-overlay .btn-outline{ color:var(--cream); border-color:rgba(255,255,255,0.6); }
  @media (max-width:720px){ .hero-overlay{ height:74vh; } }
  /* =================== END REFINED TYPE & DETAIL PASS =================== */

  /* plain (no-photo) page hero */
  .hero-plain{ background:var(--sage-deep); padding:72px 24px 56px; }
  .hero-plain .hero-plain-inner{ max-width:var(--max); margin:0 auto; }
  .hero-plain .eyebrow{ color:var(--cream); opacity:0.85; }
  .hero-plain h1{ color:var(--cream); margin-top:4px; }
  .hero-plain p{ color:rgba(255,255,255,0.92); margin-top:14px; max-width:640px; }
  .lede{font-size:1.1rem; color:var(--ink-soft); max-width:56ch;}

  /* ---------- hero ---------- */
  .hero{background:var(--cream-deep); border-bottom:1px solid var(--line); padding:0;}
  .hero .wrap{padding:44px 24px 64px;}
  .hero-text{flex:1; min-width:0;}
  .hero h1{font-size:clamp(2.3rem, 5vw, 3.4rem); font-style:italic; max-width:16ch;}
  .hero h1 em{color:var(--clay); font-style:italic;}
  .hero p{font-size:1.1rem; color:var(--ink-soft); max-width:46ch; margin-top:16px;}
  .hero-art{width:100%; height:min(70vh, 620px); overflow:hidden;}
  .hero-art svg{position:absolute; inset:0; width:100%; height:100%;}
  @media (max-width:720px){ .hero-art{height:52vh;} .hero .wrap{padding-top:32px;} }

  .root-line{fill:none; stroke:var(--sage); stroke-width:1.6; stroke-linecap:round; stroke-dasharray:600; stroke-dashoffset:600; animation:draw 2.2s ease forwards;}
  .root-bud{fill:var(--ochre); opacity:0; animation:budIn 0.6s ease forwards; animation-delay:2s;}
  @keyframes draw{ to{ stroke-dashoffset:0; } }
  @keyframes budIn{ to{ opacity:1; } }
  @media (prefers-reduced-motion: reduce){ .root-line{animation:none; stroke-dashoffset:0;} .root-bud{animation:none; opacity:1;} }

  /* ---------- buttons ---------- */
  .btn{display:inline-flex; align-items:center; gap:8px; background:var(--sage); color:var(--cream); font-family:'Work Sans', sans-serif; font-size:0.95rem; font-weight:500; padding:13px 26px; border-radius:999px; border:none; cursor:pointer; text-decoration:none; transition:background .2s, transform .15s;}
  .btn:hover{background:var(--clay); text-decoration:none;}
  .btn:active{transform:scale(0.98);}
  .btn-outline{background:transparent; color:var(--sage-deep); border:1.5px solid var(--sage);}
  .btn-outline:hover{background:var(--sage); color:var(--cream);}
  .btn-row{display:flex; gap:14px; margin-top:26px; flex-wrap:wrap;}

  /* ---------- quick-nav cards (home) ---------- */
  .quick-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; margin-top:12px;}
  .quick-card{background:var(--cream-deep); border-radius:8px; border:1px solid var(--line); padding:26px; cursor:pointer; text-align:left; font-family:inherit;}
  .quick-card:hover{border-color:var(--clay);}
  .quick-card h3{font-size:1.1rem; margin-bottom:8px;}
  .quick-card p{font-size:0.92rem; color:var(--ink-soft); margin:0;}
  @media (max-width:820px){ .quick-grid{grid-template-columns:1fr;} }

  /* ---------- about ---------- */
  .about-card{display:flex; gap:40px; align-items:flex-start; flex-wrap:wrap;}
  .about-frame{flex:0 0 360px; width:360px; aspect-ratio:4/5; border-radius:4px; overflow:hidden;}
  .about-frame img{width:100%; height:100%; object-fit:cover; display:block;}
  .photo-rect{border-radius:4px; overflow:hidden;}
  .photo-rect img{width:100%; height:100%; object-fit:cover; display:block;}
  .about-body{flex:1; min-width:260px;}
  .about-body p{color:var(--ink-soft); margin:0 0 14px;}
  .about-body strong{color:var(--sage-deep); font-weight:600;}

  /* ---------- tags ---------- */
  .tags{display:flex; flex-wrap:wrap; gap:12px; margin:24px 0 0;}
  .tag{background:var(--cream-deep); color:var(--sage-deep); font-size:0.92rem; padding:9px 18px; border-radius:6px; border:1px solid var(--line);}
  .tag:nth-child(3n+2){border-color:var(--blush);}
  .tag:nth-child(3n+3){border-color:var(--brown);}

  /* ---------- services / spec lists ---------- */
  .services-grid{display:grid; grid-template-columns:1fr 1fr; gap:44px; margin-top:16px;}
  .service-col h3{font-size:1.2rem;}
  .service-col .col-note{color:var(--ink-soft); font-size:0.92rem; margin:4px 0 18px;}
  .spec-list{list-style:none; margin:0; padding:0; display:grid; gap:12px;}
  .spec-list li{display:flex; align-items:baseline; gap:14px; font-size:1rem; padding-bottom:12px; border-bottom:1px solid var(--line); color:var(--ink);}
  .spec-list li:last-child{border-bottom:none;}
  .spec-list .dot{width:8px; height:8px; border-radius:50%; background:var(--ochre); flex:none; transform:translateY(2px);}
  .spec-list li:nth-child(even) .dot{background:var(--blush);}
  .services-foot{margin-top:20px; font-size:0.92rem; color:var(--ink-soft);}
  @media (max-width:820px){ .services-grid{grid-template-columns:1fr; gap:32px;} }

  /* ---------- credentials strip ---------- */
  .cred-grid{display:grid; grid-template-columns:repeat(2, 1fr); gap:0; margin-top:12px; border-top:1px solid var(--line);}
  .cred-item{padding:16px 24px 16px 0; border-bottom:1px solid var(--line);}
  .cred-item:nth-child(odd){border-right:1px solid var(--line); padding-right:24px;}
  .cred-item:nth-child(even){padding-left:24px;}
  .cred-item .label{font-size:0.78rem; letter-spacing:0.08em; color:var(--clay); text-transform:lowercase; margin-bottom:3px;}
  .cred-item .value{color:var(--sage-deep); font-size:0.98rem;}
  @media (max-width:820px){ .cred-grid{grid-template-columns:1fr;} .cred-item:nth-child(odd){border-right:none; padding-right:0;} .cred-item:nth-child(even){padding-left:0;} }

  /* ---------- org proof-of-concept ---------- */
  .org-grid{display:flex; flex-wrap:wrap; gap:10px; margin-top:20px;}
  .org-chip{background:var(--cream-deep); border:1px solid var(--line); border-radius:8px; padding:12px 18px; font-size:0.95rem; color:var(--sage-deep); font-weight:500;}

  /* ---------- journals ---------- */
  .journal-grid{display:grid; grid-template-columns:repeat(2, 1fr); gap:24px; margin-top:16px;}
  .journal-card{background:var(--cream-deep); border-radius:6px; border:1px solid var(--line); padding:26px; overflow:hidden;}
  .journal-card img{border-radius:6px; box-shadow:0 12px 28px -16px rgba(30,60,50,0.35);}
  .journal-card .jname{font-family:'Fraunces', serif; font-size:1.15rem; color:var(--sage-deep); display:block; margin-bottom:8px;}
  .journal-card p{font-size:0.92rem; color:var(--ink-soft); margin:0;}
  @media (max-width:820px){ .journal-grid{grid-template-columns:1fr;} }

  /* ---------- blog / writing ---------- */
  #blog-composer{margin-top:20px;}
  #blog-composer summary{cursor:pointer; font-size:0.95rem; color:var(--clay); font-weight:500;}
  .field{margin-top:14px;}
  .field label{display:block; font-size:0.85rem; color:var(--ink-soft); text-transform:lowercase; margin-bottom:6px;}
  .field input, .field textarea{width:100%; padding:12px 14px; background:var(--cream); border:1px solid var(--line); border-radius:8px; font-family:inherit; font-size:0.98rem; color:var(--ink);}
  .field textarea{min-height:130px; resize:vertical;}
  .entries{margin-top:36px; display:flex; flex-direction:column; gap:26px;}
  .entry{border-left:3px solid var(--ochre); padding-left:20px;}
  .entry:nth-child(even){border-left-color:var(--blush);}
  .entry-date{font-size:0.82rem; color:var(--ink-soft); letter-spacing:0.03em;}
  .entry h3{margin-top:4px; font-size:1.25rem;}
  .entry-body{white-space:pre-wrap; color:var(--ink); margin-top:6px;}
  .entry-body.clamped{max-height:5.2em; overflow:hidden; mask-image:linear-gradient(to bottom, black 60%, transparent 100%);}
  .entry-actions{margin-top:8px; display:flex; gap:16px;}
  .link-btn{background:none; border:none; padding:0; font-family:'Work Sans', sans-serif; font-size:0.85rem; color:var(--sage); cursor:pointer; text-decoration:underline;}
  .link-btn.danger{color:var(--clay);}
  .empty-state{color:var(--ink-soft); font-style:italic; padding:20px 0;}

  /* ---------- therapists page ---------- */
  .placeholder-card{border:1px dashed var(--line); border-radius:12px; padding:22px; margin-top:16px; color:var(--ink-soft); font-size:0.95rem;}

  /* ---------- contact footer ---------- */
  footer{background:var(--sage-deep); color:var(--cream); margin-top:0;}
  footer .wrap{padding:40px 24px; display:flex; flex-wrap:wrap; justify-content:space-between; gap:24px;}
  footer .foot-brand{font-family:'Fraunces', serif; font-style:italic; color:var(--cream); font-size:1.1rem; margin-bottom:8px; display:block;}
  footer .contact-line{margin-bottom:6px; font-size:0.92rem;}
  footer a{color:var(--cream); opacity:0.9;}
  footer a:hover{opacity:1;}
  footer .foot-bottom{margin-top:0; font-size:0.8rem; opacity:0.6;}

  @media (max-width:860px){
    .nav-links{position:absolute; top:100%; left:0; right:0; background:var(--cream); flex-direction:column; gap:0; border-bottom:1px solid var(--line); max-height:0; overflow:hidden; transition:max-height .25s ease;}
    .nav-links.open{max-height:400px;}
    .nav-links a{padding:16px 24px; display:block; width:100%; text-align:left; border-bottom:1px solid var(--line);}
    .nav-toggle{display:block;}
    .quick-grid{grid-template-columns:1fr;}
    .about-card{flex-direction:column; align-items:center;}
  }

  /* ============ ARCHED PHOTO (About Me) ============ */
  .arch-frame{ border-radius:50% 50% 8px 8px / 30% 30% 8px 8px; }

  /* ============ HERO VARIANTS ============ */
  .hero-overlay-top{ align-items:flex-start; }
  .hero-overlay-top::after{ background:linear-gradient(to bottom, rgba(20,26,22,0.82) 0%, rgba(20,26,22,0.45) 35%, rgba(20,26,22,0.1) 65%, rgba(20,26,22,0) 85%); }
  .hero-overlay-top .hero-overlay-text{ padding:56px 24px 40px; }

  .hero-overlay-side{ align-items:center; }
  .hero-overlay-side .hero-overlay-inner{ position:relative; z-index:2; width:100%; max-width:var(--max); margin:0 auto; padding:40px 24px; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
  .hero-overlay-side .hero-overlay-text{ padding:0; flex:1 1 320px; }
  .hero-overlay-portrait{ position:relative; flex:0 0 auto; width:160px; height:160px; border-radius:50%; overflow:hidden; border:4px solid rgba(255,255,255,0.85); box-shadow:0 10px 26px -10px rgba(0,0,0,0.5); }
  .hero-overlay-portrait img{ width:100%; height:100%; object-fit:cover; display:block; }
  @media (max-width:640px){ .hero-overlay-side .hero-overlay-inner{ flex-direction:column-reverse; text-align:center; } }

  /* ============ CONTACT FORM ============ */
  .contact-form{ max-width:560px; margin-top:24px; display:flex; flex-direction:column; gap:14px; }
  .contact-form .field-row{ display:flex; gap:14px; flex-wrap:wrap; }
  .contact-form .field-row > *{ flex:1 1 220px; }
  .contact-form label{ display:block; font-size:0.85rem; color:var(--ink-soft); margin-bottom:6px; }
  .contact-form input, .contact-form textarea{ width:100%; padding:12px 14px; border:1.5px solid var(--line); border-radius:8px; font-family:'Work Sans', sans-serif; font-size:0.95rem; background:var(--cream); color:var(--ink); }
  .contact-form input:focus, .contact-form textarea:focus{ outline:none; border-color:var(--sage); }
  .contact-form textarea{ min-height:110px; resize:vertical; }

  /* ============ FOOTER SOCIAL ============ */
  .foot-social{ display:flex; flex-direction:column; gap:8px; align-items:flex-start; }
  .foot-social a{ color:var(--cream); opacity:0.85; font-size:0.92rem; text-decoration:none; }
  .foot-social a:hover{ opacity:1; text-decoration:underline; }
  @media (max-width:640px){ .foot-social{ align-items:flex-start; } }

  /* plain blog hero with circular portrait */
  .hero-blog{ background:#FFE5D5; padding:72px 24px 64px; text-align:center; }
  .hero-blog-inner{ max-width:620px; margin:0 auto; }
  .hero-blog-photo{ width:180px; height:180px; margin:0 auto 32px; border-radius:50%; padding:5px; border:2px solid #E18D4F; }
  .hero-blog-photo img{ width:100%; height:100%; border-radius:50%; object-fit:cover; object-position:52% 33%; transform:scale(1.18); transform-origin:53% 45%; display:block; }
  .hero-blog-clip{ width:100%; height:100%; border-radius:50%; overflow:hidden; }
  .page{ padding-top:0; border-top:none; }
  .hero-blog h1{ font-size:clamp(2rem,4.5vw,2.9rem); color:var(--sage-deep); max-width:18ch; margin:0 auto 24px; }
  .hero-blog p{ font-family:'Fraunces', serif; font-size:1.12rem; line-height:1.8; color:var(--ink); margin:0 0 18px; }
  .hero-blog .hero-blog-note{ font-family:'Work Sans', sans-serif; font-size:1rem; color:var(--ink-soft); margin-top:30px; padding-top:24px; border-top:2px solid #E18D4F; display:inline-block; max-width:48ch; }
  @media (max-width:720px){ .hero-blog{ padding:52px 20px 48px; } .hero-blog-photo{ width:140px; height:140px; } }
  .help-opening{ font-family:'Fraunces', serif; font-size:1.35rem; color:var(--sage-deep); margin:0 0 12px; }
  .lede + .lede{ margin-top:12px; }
  .quick-card{ line-height:1.6; display:flex; flex-direction:column; justify-content:flex-start; align-items:flex-start; text-align:left; }
  .quick-card p{ line-height:1.65; margin-top:6px; }
  .home-cta .btn{ background:#E18D4F; color:#FFFFFF; border:1.5px solid #E18D4F; }
  .home-cta .btn:hover{ background:#C9763A; border-color:#C9763A; opacity:1; }
  .home-cta .btn-outline{ background:transparent; color:#FFE5D5; border:1.5px solid #E18D4F; }
  .home-cta .btn-outline:hover{ background:#E18D4F; color:#FFFFFF; }
  @media (min-width:821px){ .quick-grid{ grid-template-columns:repeat(2, 1fr); } }
  .nav-links a.nav-cta{ background:#E18D4F; color:#FFFFFF !important; border-radius:999px; padding:9px 18px !important; border-bottom:none !important; }
  .nav-links a.nav-cta:hover{ background:#C9763A; }
  .nav-links a.nav-cta::after{ display:none; }
  .nav-links.open{ padding-bottom:20px; }
  .nav-links.open .nav-cta{ margin-top:8px; }
  .how-help-title{ font-size:clamp(1.6rem,3vw,2.1rem) !important; margin-bottom:10px; }
  .help-opening{ color:#E18D4F !important; font-size:1.55rem !important; }
  .client-sub{ font-size:clamp(1.35rem,2.4vw,1.6rem); color:var(--sage-deep); margin:44px 0 10px; }
  .next-steps{ list-style:none; padding:0; margin:16px 0 0; display:grid; gap:18px; max-width:760px; }
  .next-steps li{ display:flex; gap:16px; align-items:flex-start; line-height:1.75; color:var(--ink-soft); font-size:1.05rem; }
  .next-steps strong{ color:var(--ink); font-weight:600; }
  .step-num{ flex:0 0 36px; height:36px; border-radius:50%; background:#FFE5D5; color:#B5602A; font-weight:600; display:flex; align-items:center; justify-content:center; font-family:'Fraunces', serif; margin-top:2px; }
  .client-intro{ display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:56px; align-items:start; margin-top:14px; }
  .client-intro .client-sub{ margin-top:36px; }
  .client-photo{ aspect-ratio:4/5; border-radius:18px; overflow:hidden; margin-top:6px; }
  .client-photo img{ width:100%; height:100%; object-fit:cover; object-position:50% 55%; display:block; }
  @media (max-width:820px){ .client-intro{ grid-template-columns:1fr; gap:28px; } .client-photo{ max-width:460px; } }
  #clients .btn{ background:#E18D4F; color:#FFFFFF; }
  #clients .btn:hover{ background:#C9763A; opacity:1; }
  .org-services{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:18px; margin-top:28px; }
  .org-service{ background:#FBF6F0; border:1px solid var(--line); border-radius:14px; padding:22px 24px; }
  .org-service h3{ font-size:1.15rem; color:var(--sage-deep); margin:0 0 8px; }
  .org-service p{ margin:0; color:var(--ink-soft); line-height:1.7; font-size:0.98rem; }
  @media (min-width:1100px){ .org-services{ grid-template-columns:repeat(4, minmax(0,1fr)); } }
  @media (max-width:640px){ .org-services{ grid-template-columns:1fr; } }
  #orgs .btn{ background:#E18D4F; color:#FFFFFF; }
  #orgs .btn:hover{ background:#C9763A; opacity:1; }
  @media (max-width:640px){ #orgs .photo-rect[style*="height:260px"]{ height:auto !important; width:100%; flex:1 1 100% !important; } }
  .intro-band{ background:#FFE5D5; padding:44px 24px; text-align:center; }
  .intro-band p{ max-width:64ch; margin:0 auto; font-family:'Fraunces', serif; font-size:clamp(1.1rem,2vw,1.3rem); line-height:1.75; color:var(--ink); }
  @media (max-width:640px){ .intro-band{ padding:36px 22px; } }
  #home .hero-overlay{ align-items:center; }
  #home .hero-overlay::after{ background:linear-gradient(to bottom, rgba(20,26,22,0.28) 0%, rgba(20,26,22,0.48) 45%, rgba(20,26,22,0.62) 100%); }
  #home .hero-overlay .hero-overlay-text{ padding:40px 24px 56px; }
  .jgrid{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:24px; }
  .jcard{ display:flex; flex-direction:column; background:#FFFFFF; border:1px solid var(--line); border-radius:16px; overflow:hidden; }
  .jcard-photo{ aspect-ratio:4/5; overflow:hidden; background:#F4EEE6; }
  .jcard-photo img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease; }
  .jcard:hover .jcard-photo img{ transform:scale(1.03); }
  .jcard-body{ padding:20px 20px 22px; display:flex; flex-direction:column; flex:1; }
  .jcard h3{ font-size:1.25rem; color:var(--sage-deep); margin:0 0 6px; }
  .jcard-for{ font-family:'Fraunces', serif; font-style:italic; color:#B5602A; margin:0 0 10px; line-height:1.5; }
  .jcard-desc{ color:var(--ink-soft); font-size:0.95rem; line-height:1.7; margin:0 0 18px; }
  .jcard-foot{ margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; }
  .jcard-price{ font-family:'Fraunces', serif; font-size:1.15rem; color:var(--ink); }
  #journals .btn{ background:#E18D4F; color:#FFFFFF; }
  #journals .btn:hover{ background:#C9763A; opacity:1; }
  #journals .btn-outline{ background:transparent; color:#B5602A; border:1.5px solid #E18D4F; }
  #journals .btn-outline:hover{ background:#E18D4F; color:#FFFFFF; }
  .jcard-btn{ padding:10px 18px !important; font-size:0.88rem !important; }
  .j-h2{ margin-top:64px; }
  .j-extra{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; align-items:center; margin-top:64px; padding-top:48px; border-top:1px solid var(--line); }
  .j-pop{ margin:0; }
  .j-pop img{ width:100%; aspect-ratio:3/2; object-fit:cover; border-radius:16px; display:block; }
  .j-pop figcaption{ font-size:0.85rem; color:var(--ink-soft); margin-top:10px; }
  .next-steps a{ color:#B5602A; }
  @media (max-width:1100px){ .jgrid{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
  @media (max-width:760px){ .j-extra{ grid-template-columns:1fr; gap:28px; } }
  @media (max-width:560px){ .jgrid{ grid-template-columns:1fr; } }
  .j-extra-solo{ grid-template-columns:1fr; max-width:760px; }
  .mc-intro{ display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:56px; align-items:start; }
  .mc-photo{ aspect-ratio:4/5; border-radius:18px; overflow:hidden; margin-top:14px; }
  .mc-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
  .mc-meta{ list-style:none; padding:0; margin:26px 0 0; display:grid; gap:8px; color:var(--ink-soft); }
  .mc-meta strong{ display:inline-block; min-width:96px; color:#B5602A; font-weight:600; font-size:0.85rem; letter-spacing:.06em; text-transform:uppercase; }
  .mc-ask{ margin-top:56px; background:#FFE5D5; border-radius:18px; padding:36px 40px; }
  .mc-list{ margin:12px 0 0; padding-left:20px; display:grid; gap:10px; color:var(--ink-soft); line-height:1.7; }
  .mc-list li::marker{ color:#E18D4F; }
  .mc-list strong{ color:var(--ink); font-weight:600; }
  .mc-parts{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:22px; margin-top:18px; }
  .mc-part{ background:#FFFFFF; border:1px solid var(--line); border-radius:16px; padding:26px 26px 28px; }
  .mc-part p{ color:var(--ink-soft); line-height:1.7; margin:0 0 10px; }
  .mc-part-num{ font-size:0.8rem; letter-spacing:.12em; text-transform:uppercase; color:#B5602A; font-weight:600; }
  .mc-part h4{ font-family:'Fraunces', serif; font-weight:400; font-size:1.45rem; color:var(--sage-deep); margin:6px 0 4px; }
  .mc-part .mc-part-meta{ font-size:0.9rem; color:var(--ink); margin-bottom:14px; }
  .mc-sub{ font-weight:600; color:var(--ink) !important; margin:16px 0 0 !important; }
  .mc-outcome{ margin-top:16px !important; padding-top:14px; border-top:1px solid var(--line); font-family:'Fraunces', serif; font-style:italic; color:var(--sage-deep) !important; }
  .mc-invest{ margin-top:40px; display:flex; gap:32px; align-items:center; justify-content:space-between; flex-wrap:wrap; border:1.5px solid #E18D4F; border-radius:18px; padding:30px 34px; }
  .mc-invest > div:first-child{ flex:1 1 420px; }
  .mc-total{ font-family:'Fraunces', serif; font-size:clamp(1.5rem,3vw,2rem); color:var(--sage-deep); margin:6px 0 10px; }
  #therapists .btn{ background:#E18D4F; color:#FFFFFF; }
  #therapists .btn:hover{ background:#C9763A; opacity:1; }
  .contact-form select{ width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:10px; font:inherit; background:#FFFFFF; color:var(--ink); }
  @media (max-width:980px){ .mc-parts{ grid-template-columns:1fr; } }
  @media (max-width:820px){ .mc-intro{ grid-template-columns:1fr; gap:28px; } .mc-photo{ max-width:420px; } .mc-ask{ padding:28px 24px; } }
  .mc-pack{ margin-top:18px; max-width:760px; background:#FFFFFF; border:1px solid var(--line); border-radius:16px; padding:26px 28px; }
  .mc-pack h4{ font-family:'Fraunces', serif; font-weight:400; font-size:1.45rem; color:var(--sage-deep); margin:0 0 4px; }
  .mc-pack p{ color:var(--ink-soft); line-height:1.7; margin:0 0 10px; }
  .mc-pack .mc-part-meta{ color:var(--ink); }
  .mc-pack-note{ font-size:0.9rem; margin-top:14px !important; padding-top:12px; border-top:1px solid var(--line); }
  .mc-pack{ max-width:none !important; }
  .mc-forms{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:22px; margin-top:20px; }
  .mc-forms > div{ background:#FBF6F0; border-radius:12px; padding:18px 20px; }
  .mc-forms h5{ font-family:'Fraunces', serif; font-weight:400; font-size:1.15rem; color:var(--sage-deep); margin:0 0 8px; }
  .mc-forms p{ font-size:0.95rem; margin:0; }
  @media (max-width:900px){ .mc-forms{ grid-template-columns:1fr; } }
  .hero-h1-match{ font-size:clamp(1.75rem, 3.6vw, 2.4rem); letter-spacing:-0.01em; }
  .consent{ display:flex; gap:10px; align-items:flex-start; font-size:0.92rem; color:var(--ink-soft); line-height:1.6; max-width:62ch; }
  .consent input{ width:18px; height:18px; margin-top:3px; flex:0 0 auto; accent-color:#E18D4F; }
  .consent a{ color:#B5602A; }
  .privacy-body{ max-width:72ch; }
  .privacy-body h3{ font-size:1.25rem; margin:32px 0 8px; }
  .privacy-body p, .privacy-body li{ color:var(--ink-soft); line-height:1.75; }
  .privacy-body ul{ padding-left:20px; }
  .footer-legal a{ color:inherit; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
  .contact-form label.consent{ display:flex !important; gap:10px; align-items:flex-start; margin:0; font-weight:400; text-transform:none; letter-spacing:0; }
  .contact-form label.consent input[type=checkbox]{ width:18px !important; height:18px; padding:0; margin-top:3px; flex:0 0 18px; }

  /* multi-page link versions of former buttons */
  .nav-links a{ text-decoration:none; display:inline-block; }
  a.logo{ text-decoration:none; }
  a.quick-card{ text-decoration:none; color:inherit; display:flex; flex-direction:column; }
  a.btn{ text-decoration:none; }
  .post-list{ display:grid; gap:28px; max-width:760px; }
  .post-item{ border-bottom:1px solid var(--line); padding-bottom:26px; }
  .post-item a{ text-decoration:none; color:inherit; }
  .post-item h2{ font-size:clamp(1.4rem,2.6vw,1.8rem); margin:6px 0 8px; }
  .post-item h2:hover{ color:#B5602A; }
  .post-meta{ font-size:0.85rem; letter-spacing:.06em; text-transform:uppercase; color:#B5602A; }
  .post-summary{ color:var(--ink-soft); line-height:1.75; margin:0; }
  .post-wrap{ max-width:720px; margin:0 auto; }
  .post-wrap h1{ font-size:clamp(2rem,4.5vw,3rem); margin:10px 0 18px; }
  .post-cover{ width:100%; border-radius:16px; margin:8px 0 28px; display:block; }
  .post-body{ font-size:1.08rem; line-height:1.85; color:var(--ink); }
  .post-body p{ margin:0 0 1.2em; }
  .post-body h2{ font-size:1.6rem; margin:1.6em 0 .5em; }
  .post-body h3{ font-size:1.25rem; margin:1.4em 0 .4em; }
  .post-body blockquote{ margin:1.5em 0; padding:4px 0 4px 20px; border-left:3px solid #E18D4F; font-family:'Fraunces', serif; font-style:italic; color:var(--sage-deep); }
  .post-body img{ max-width:100%; border-radius:12px; }
  .post-body a{ color:#B5602A; }
  .post-back{ display:inline-block; margin-top:40px; color:#B5602A; text-decoration:none; }

  .post-comments{ margin-top:56px; padding-top:36px; border-top:1px solid var(--line); }
  .post-comments h2{ font-size:1.5rem; margin:0 0 10px; }
  .comments-note{ font-size:0.92rem; color:var(--ink-soft); line-height:1.65; margin:0 0 20px; padding:12px 16px; background:#FBF6F0; border-radius:10px; }

  .comment-list{ list-style:none; padding:0; margin:18px 0 26px; display:grid; gap:16px; }
  .comment{ background:#FFFFFF; border:1px solid var(--line); border-radius:12px; padding:16px 20px; }
  .comment-meta{ margin:0 0 6px; font-size:0.9rem; color:var(--ink-soft); }
  .comment-meta strong{ color:var(--ink); font-weight:600; }
  .comment-body{ line-height:1.75; color:var(--ink); }
  .comment-empty{ color:var(--ink-soft); margin:8px 0 18px; }
  .post-comments .btn{ background:#E18D4F; color:#FFFFFF; }
  .post-comments .btn:hover{ background:#C9763A; }

  .jcard-ig{ display:inline-block; margin-top:10px; font-size:0.88rem; color:#B5602A; text-decoration:underline; text-underline-offset:3px; }
  .order-items{ border:1px solid var(--line); border-radius:14px; padding:18px 20px 12px; margin:0; display:grid; gap:10px; }
  .order-items legend{ padding:0 6px; font-weight:600; color:var(--ink); }
  .order-row{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:6px 0; border-bottom:1px solid var(--line); }
  .order-row:last-of-type{ border-bottom:none; }
  .order-row label{ margin:0 !important; font-family:'Fraunces', serif; font-size:1.05rem; color:var(--sage-deep); }
  .order-row label span{ font-family:'Work Sans', sans-serif; font-size:0.88rem; color:var(--ink-soft); margin-left:6px; }
  .order-row input{ width:80px !important; text-align:center; }
  .order-error{ color:#B5602A; font-size:0.92rem; margin:4px 0 0; }

  .hero-split{ background:#FFE5D5; }
  .hero-split-inner{ max-width:var(--max); margin:0 auto; padding:64px 24px; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:56px; align-items:center; }
  .hero-split h1{ font-size:clamp(2.2rem,4.6vw,3.4rem); color:var(--sage-deep); margin:8px 0 18px; }
  .hero-split p{ font-family:'Fraunces', serif; font-size:1.15rem; line-height:1.7; color:var(--ink); max-width:44ch; margin:0; }
  .hero-split .btn{ background:#E18D4F; color:#FFFFFF; }
  .hero-split .btn:hover{ background:#C9763A; }
  .hero-split-photo{ justify-self:end; width:100%; max-width:440px; aspect-ratio:4/5; border-radius:20px; overflow:hidden; }
  .hero-split-photo img{ width:100%; height:100%; object-fit:cover; object-position:50% 40%; display:block; }
  @media (max-width:820px){ .hero-split-inner{ grid-template-columns:1fr; gap:32px; padding:44px 20px 48px; } .hero-split-photo{ justify-self:center; max-width:400px; } }
