:root{
    --green:#41B274;
    --blue:#417FB2;
    --teal:#41B2AC;
    --green-ink:#2E8656;
    --blue-ink:#33689A;
    --teal-ink:#2F8A85;
    --green-pale:#E5F5EC;
    --blue-pale:#E7F0F8;
    --teal-pale:#E4F4F3;
    --ink:#14201A;
    --ink-soft:#4A5A50;
    --paper:#FBF8F2;
    --line:#14201A;
    --hairline:#DDD8CC;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth;scroll-padding-top:96px}
  body{
    background:var(--paper);
    color:var(--ink);
    font-family:'Fira Sans',sans-serif;
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  a{color:inherit;text-decoration:none}
  img{max-width:100%;display:block}
  .wrap{max-width:1240px;margin:0 auto;padding:0 40px}

  /* ---------- top strip ---------- */
  .topstrip{border-bottom:1px solid var(--line);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:600}
  .topstrip .wrap{display:flex;justify-content:space-between;align-items:center;padding-top:10px;padding-bottom:10px}
  .topstrip .est span{color:var(--green)}
  .topstrip .contact{display:flex;gap:26px;color:var(--ink-soft)}
  .topstrip .contact a:hover{color:var(--green-ink)}

  /* ---------- nav ---------- */
  nav{border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(251,248,242,.94);backdrop-filter:blur(8px);z-index:50}
  nav .wrap{display:flex;justify-content:space-between;align-items:center;padding-top:18px;padding-bottom:18px}
  .logo{font-weight:800;font-size:20px;letter-spacing:-.01em}
  .logo span{color:var(--green)}
  .logo small{display:block;font-weight:400;font-size:10.5px;letter-spacing:.08em;color:var(--ink-soft);margin-top:1px;text-wrap:balance}
  nav ul{display:flex;gap:32px;list-style:none;font-size:13.5px;font-weight:500}
  nav ul a{padding-bottom:4px;border-bottom:2px solid transparent;transition:border-color .2s}
  nav ul a:hover{border-color:var(--green)}
  nav ul .has-sub{position:relative}
  nav ul .caret{font-size:9px;margin-left:6px;color:var(--green-ink);display:inline-block;transform:translateY(-1px)}
  nav ul .sub{display:none;position:absolute;top:calc(100% + 19px);left:-18px;min-width:180px;background:var(--paper);border:1px solid var(--line);padding:6px 0;box-shadow:0 10px 24px rgba(43,43,38,.07)}
  nav ul .sub::before{content:"";position:absolute;top:-20px;left:0;right:0;height:20px}
  nav ul .has-sub:hover .sub,nav ul .has-sub:focus-within .sub{display:block}
  nav ul .sub li{display:block}
  nav ul .sub a{display:block;padding:9px 18px;border-bottom:2px solid transparent;white-space:nowrap}
  nav ul .sub a:hover{background:rgba(65,178,116,.08);border-color:transparent}
  .nav-cta{background:var(--blue);color:#fff;font-size:13px;font-weight:600;letter-spacing:.04em;padding:11px 22px;transition:background .2s}
  .nav-cta:hover{background:var(--blue-ink)}

  /* ---------- masthead ---------- */
  .masthead{border-bottom:1px solid var(--line)}
  .masthead .wrap{padding-top:84px;padding-bottom:64px}
  .kicker{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--blue-ink);font-weight:700;margin-bottom:28px;display:flex;align-items:center;gap:14px}
  .kicker::before{content:"";width:34px;height:2px;background:var(--green)}
  .masthead h1{
    font-weight:800;
    font-size:clamp(46px,8.2vw,104px);
    line-height:.96;
    letter-spacing:-.035em;
    text-transform:uppercase;
    max-width:1000px;
  }
  .masthead h1 em{font-style:normal;color:var(--green)}
  .masthead .below{display:flex;justify-content:space-between;align-items:flex-end;gap:48px;margin-top:44px;flex-wrap:wrap}
  .masthead .sub{
    font-family:'IBM Plex Serif',serif;
    font-weight:300;
    font-style:italic;
    font-size:20px;
    line-height:1.55;
    color:var(--ink-soft);
    max-width:520px;
  }
  .masthead .sub b{color:var(--ink);font-weight:500}
  .masthead .actions{display:flex;gap:16px;flex-wrap:wrap}
  .btn{display:inline-block;font-weight:600;font-size:14.5px;padding:15px 30px;letter-spacing:.03em;transition:all .2s}
  .btn-solid{background:var(--green);color:#fff;box-shadow:4px 4px 0 var(--blue)}
  .btn-solid:hover{background:var(--green-ink);box-shadow:2px 2px 0 var(--blue);transform:translate(2px,2px)}
  .btn-ghost{border:1.5px solid var(--blue);color:var(--blue-ink)}
  .btn-ghost:hover{background:var(--blue);color:#fff}

  /* ---------- meta row ---------- */
  .metarow{border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-soft);font-weight:500}
  .metarow .wrap{display:flex;justify-content:space-between;gap:20px;padding-top:12px;padding-bottom:12px;flex-wrap:wrap}

  /* ---------- feature split ---------- */
  .feature{border-bottom:1px solid var(--line)}
  .feature .grid{display:grid;grid-template-columns:1fr 1fr}
  .feature .photo{
    display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--line);
    aspect-ratio:7/5;min-height:380px;width:100%;min-width:0;position:relative;
  }
  .feature .photo .ph{background-position:center 25%;background-size:cover;background-repeat:no-repeat}
  .feature .photo .p1{background-image:url(img/playroom-session.jpg)}
  .feature .photo .p2{background-image:url(img/playroom-toys.jpg)}
  .feature .photo.one{grid-template-columns:1fr}
  .feature .photo .classes{background-image:url(img/classes-teaching.jpg);background-position:center 45%}
  .feature .photo .tag{position:absolute;top:22px;left:22px;background:var(--paper);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;padding:7px 14px}
  .feature .photo .cap{position:absolute;bottom:22px;left:22px;right:22px;background:rgba(251,248,242,.94);color:var(--ink-soft);font-size:13px;line-height:1.6;max-width:420px;padding:12px 16px}
  .feature .photo .cap b{color:var(--ink)}
  .feature .text{border-left:1px solid var(--line);padding:56px 0 56px 56px;display:flex;flex-direction:column;justify-content:space-between;gap:36px}
  .feature .text .inner{padding-right:40px}
  .feature .text .who{font-family:'Fira Sans',sans-serif;font-size:13px;line-height:1.6;
    color:var(--ink-soft);margin-top:22px;padding-left:14px;border-left:2px solid var(--green)}
  .feature .text .who b{color:var(--ink);font-weight:600}
  .feature h2{font-weight:700;font-size:clamp(26px,2.6vw,34px);line-height:1.12;letter-spacing:-.02em;max-width:460px}
  .feature .text p{font-family:'IBM Plex Serif',serif;font-weight:300;font-size:16.5px;line-height:1.7;color:var(--ink-soft);margin-top:20px;max-width:480px}
  .stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-right:0}
  .stats .stat{padding:24px 24px 0 0}
  .stats .stat+.stat{border-left:1px solid var(--hairline);padding-left:24px}
  .stats b{display:block;font-weight:800;font-size:34px;letter-spacing:-.02em;color:var(--green-ink)}
  .stats .stat:nth-child(2) b{color:var(--blue-ink)}
  .stats .stat:nth-child(3) b{color:var(--teal-ink)}
  .stats span{font-size:12.5px;line-height:1.5;color:var(--ink-soft);display:block;margin-top:4px}

  /* ---------- services ---------- */
  .services{border-bottom:1px solid var(--line)}
  .sec-head{display:flex;justify-content:space-between;align-items:baseline;padding-top:64px;padding-bottom:40px;gap:24px;flex-wrap:wrap}
  .sec-head h2{font-weight:800;font-size:clamp(30px,3.6vw,46px);letter-spacing:-.03em;text-transform:uppercase}
  .sec-head .note{font-family:'IBM Plex Serif',serif;font-style:italic;color:var(--ink-soft);font-size:16px}
  .svc-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
  .svc{padding:32px 28px 44px 0;border-right:1px solid var(--hairline);margin-right:28px;position:relative;transition:transform .2s}
  .svc:last-child{border-right:none;margin-right:0}
  .svc .num{font-family:'IBM Plex Serif',serif;font-size:15px;color:var(--green);display:block;margin-bottom:52px}
  .svc h3{font-weight:700;font-size:19px;letter-spacing:-.01em;line-height:1.2}
  .svc .age{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--green-ink);background:var(--green-pale);padding:4px 10px;margin:12px 0 14px}
  .svc p{font-size:13.5px;line-height:1.65;color:var(--ink-soft)}
  .svc .go{display:inline-block;margin-top:22px;font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border-bottom:2px solid var(--green);padding-bottom:3px}
  .svc:nth-of-type(2) .num{color:var(--blue)}
  .svc:nth-of-type(2) .age{color:var(--blue-ink);background:var(--blue-pale)}
  .svc:nth-of-type(2) .go{border-color:var(--blue)}
  .svc:nth-of-type(3) .num{color:var(--teal)}
  .svc:nth-of-type(3) .age{color:var(--teal-ink);background:var(--teal-pale)}
  .svc:nth-of-type(3) .go{border-color:var(--teal)}
  .svc:hover{transform:translateY(-4px)}
  .svc .svcmark{display:block;color:var(--green);height:31px;margin-bottom:38px}
  .svc .svcmark svg{display:block}
  .svc:nth-of-type(2) .svcmark{color:var(--blue)}
  .svc:nth-of-type(3) .svcmark{color:var(--teal)}
  .svc:nth-of-type(4) .svcmark{color:var(--green-ink)}

  /* ---------- brand band ---------- */
  .band{background:linear-gradient(120deg,var(--green-pale) 0%,var(--teal-pale) 60%,var(--blue-pale) 130%);color:var(--ink);border-bottom:1px solid var(--line)}
  .band .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;padding-top:72px;padding-bottom:72px;align-items:center}
  .band h2{font-weight:800;font-size:clamp(30px,3.4vw,44px);line-height:1.02;letter-spacing:-.03em;text-transform:uppercase;color:var(--ink)}
  .band h2 em{font-style:normal;color:var(--green-ink)}
  .band .lede{font-family:'IBM Plex Serif',serif;font-weight:300;font-size:16.5px;line-height:1.7;color:var(--ink-soft);margin-top:22px;max-width:440px}
  .creds{display:flex;flex-direction:column}
  .cred{display:flex;gap:24px;align-items:baseline;padding:20px 0;border-bottom:1px solid rgba(20,32,26,.15)}
  .cred:first-child{border-top:1px solid rgba(20,32,26,.15)}
  .cred b{font-weight:800;font-size:26px;letter-spacing:-.01em;color:var(--green-ink);min-width:96px}
  .cred:nth-child(2) b{color:var(--blue-ink)}
  .cred:nth-child(3) b{color:var(--teal-ink)}
  .cred:nth-child(4) b{color:var(--blue-ink)}
  .cred span{font-size:14px;line-height:1.55;color:var(--ink-soft)}

  /* ---------- training ---------- */
  .training{border-bottom:1px solid var(--line)}
  .tr-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
  .tr-col{padding:40px 40px 56px 0}
  .tr-col+.tr-col{border-left:1px solid var(--hairline);padding-left:40px;padding-right:0}
  .tr-col .label{font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--green-ink);margin-bottom:18px;display:block}
  .tr-col+.tr-col .label{color:var(--blue-ink)}
  .tr-col ul{list-style:none}
  .tr-col li{display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding:13px 0;border-bottom:1px solid var(--hairline);font-weight:600;font-size:15.5px}
  .tr-col li span+span{font-family:'IBM Plex Serif',serif;font-weight:400;font-style:italic;font-size:13px;color:var(--ink-soft);white-space:nowrap}
  .tr-col li:hover{color:var(--green-ink)}
  .tr-col+.tr-col li:hover{color:var(--blue-ink)}
  .tr-foot{padding:28px 0 64px;display:flex;gap:16px;flex-wrap:wrap}

  /* ---------- quote ---------- */
  .quote{border-bottom:1px solid var(--line)}
  .quote .wrap{padding-top:76px;padding-bottom:76px;max-width:980px}
  .quote blockquote{font-family:'IBM Plex Serif',serif;font-weight:300;font-size:clamp(20px,2.4vw,29px);line-height:1.5;letter-spacing:-.01em}
  .quote blockquote::before{content:"“";color:var(--green);font-size:1.6em;line-height:0;vertical-align:-.35em;margin-right:6px}
  .quote cite{display:block;margin-top:26px;font-family:'Fira Sans',sans-serif;font-style:normal;font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--ink-soft)}
  .quote cite b{color:var(--teal-ink)}

  /* ---------- CTA ---------- */
  .cta{border-bottom:1px solid var(--line)}
  .cta .wrap{padding-top:80px;padding-bottom:88px;text-align:center}
  .cta h2{font-weight:800;font-size:clamp(34px,5vw,64px);letter-spacing:-.03em;text-transform:uppercase;line-height:1}
  .cta h2 em{font-style:normal;color:var(--green-ink)}
  .cta p{font-family:'IBM Plex Serif',serif;font-style:italic;font-weight:300;color:var(--ink-soft);font-size:17px;margin:20px auto 34px;max-width:460px}
  .cta .btn-solid{font-size:16px;padding:17px 38px}
  .cta .sub-contact{margin-top:26px;font-size:13px;color:var(--ink-soft);letter-spacing:.04em}
  .cta .sub-contact a{font-weight:700;color:var(--blue-ink);border-bottom:1.5px solid var(--blue)}

  /* ---------- footer ---------- */
  footer{background:#F4EFE4;color:var(--ink-soft);font-size:13.5px}
  footer .wrap{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:44px;padding-top:64px;padding-bottom:48px}
  footer h4{color:var(--green-ink);font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;margin-bottom:16px}
  footer .wrap>div:nth-child(3) h4{color:var(--blue-ink)}
  footer .wrap>div:nth-child(4) h4{color:var(--teal-ink)}
  footer .flogo{font-weight:800;font-size:19px;color:var(--ink)}
  footer .flogo span{color:var(--green)}
  footer p,footer li{line-height:1.7}
  footer ul{list-style:none}
  footer li a:hover{color:var(--ink)}
  footer li a.ig{display:inline-flex;align-items:center;gap:8px}
  footer li a.ig svg{width:15px;height:15px;fill:currentColor;flex:0 0 auto}
  footer .fbottom{border-top:1px solid var(--hairline)}
  footer .fbottom .wrap{display:flex;justify-content:space-between;gap:16px;padding-top:20px;padding-bottom:20px;font-size:11.5px;letter-spacing:.06em;color:#8A968C;flex-wrap:wrap}

  /* ---------- reveal animation ---------- */
  @media (prefers-reduced-motion:no-preference){
    .reveal{opacity:0;transform:translateY(18px);animation:rise .7s cubic-bezier(.2,.65,.3,1) forwards}
    .r2{animation-delay:.12s}.r3{animation-delay:.24s}.r4{animation-delay:.36s}
    @keyframes rise{to{opacity:1;transform:none}}
  }

  /* ---------- responsive ---------- */
  @media (max-width:1000px){
    .svc-grid{grid-template-columns:1fr 1fr}
    .svc:nth-child(2){border-right:none;margin-right:0}
    .svc:nth-child(n+3){border-top:1px solid var(--hairline)}
    .feature .grid{grid-template-columns:minmax(0,1fr)}
    .feature .photo{aspect-ratio:auto;height:330px;min-height:0}
    .feature .text{border-left:none;border-top:1px solid var(--line);padding:44px 0 48px 0}
    .feature .text .inner{padding-right:0}
    .band .wrap{grid-template-columns:1fr;gap:40px}
    footer .wrap{grid-template-columns:1fr 1fr;gap:36px}
  }
  @media (max-width:720px){
    .wrap{padding:0 22px}
    nav ul{display:none}
    .topstrip .contact span.addr{display:none}
    .topstrip .contact a[href^="mailto"]{display:none}
    .topstrip .est,.topstrip .contact a{white-space:nowrap}
    .feature .text{padding-left:22px;padding-right:22px}
    .masthead .wrap{padding-top:56px;padding-bottom:44px}
    .masthead .below{margin-top:32px}
    .stats{grid-template-columns:1fr}
    .stats .stat+.stat{border-left:none;border-top:1px solid var(--hairline);padding-left:0;margin-top:4px}
    .svc-grid{grid-template-columns:1fr}
    .svc{border-right:none;margin-right:0;padding-right:0}
    .svc .num{margin-bottom:24px}
    .tr-grid{grid-template-columns:1fr}
    .tr-col{padding-right:0}
    .tr-col+.tr-col{border-left:none;border-top:1px solid var(--line);padding-left:0;margin-top:8px}
    footer .wrap{grid-template-columns:1fr}
  }

  /* ---------- inner pages ---------- */
  .crumb{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--ink-soft);margin-bottom:20px}
  .crumb a{color:var(--blue-ink)}
  .page-hero{border-bottom:1px solid var(--line)}
  .page-hero .wrap{padding-top:64px;padding-bottom:52px}
  .page-hero h1{font-weight:800;font-size:clamp(40px,6.5vw,80px);line-height:.98;letter-spacing:-.03em;text-transform:uppercase;max-width:900px}
  .page-hero h1 em{font-style:normal;color:var(--green)}
  .page-hero .lead{font-family:'IBM Plex Serif',serif;font-weight:300;font-style:italic;font-size:19px;line-height:1.6;color:var(--ink-soft);max-width:560px;margin-top:24px}
  .split{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:start}
  .wrap-pad{padding-top:64px;padding-bottom:72px}
  @media (max-width:720px){.wrap-pad{padding-top:48px;padding-bottom:56px}}
  .prose h2{font-weight:800;font-size:clamp(26px,3vw,38px);letter-spacing:-.025em;text-transform:uppercase;line-height:1.05}
  .prose p{font-family:'IBM Plex Serif',serif;font-weight:300;font-size:16.5px;line-height:1.75;color:var(--ink-soft);margin-top:18px;max-width:560px}
  .prose p b{font-weight:500;color:var(--ink)}
  .prose h3{font-weight:800;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--green-ink);margin-top:38px}
  .photo-ph{aspect-ratio:5/4;min-height:300px;width:100%;min-width:0;position:relative;background:radial-gradient(circle at 70% 25%, rgba(255,255,255,.4), transparent 55%),linear-gradient(135deg,var(--teal) 0%,var(--green) 65%,#8AD8AE 135%)}
  .photo-ph.blue{background:radial-gradient(circle at 70% 25%, rgba(255,255,255,.4), transparent 55%),linear-gradient(135deg,var(--blue) 0%,var(--teal) 75%,#9BD8D4 140%)}
  .photo-ph.playroom-slinky{background:url(img/playroom-room.jpg) center 55%/cover no-repeat}
  .photo-ph.training-group{background:url(img/training-cprt102.jpg) center 45%/cover no-repeat}
  .photo-ph.team-group{background:url(img/team-group.jpg) center 70%/cover no-repeat}
  .photo-ph.about-team{background:url(img/about-team.jpg) 43% 58%/cover no-repeat}
  .photo-ph.school-portable{background:url(img/school-portable.jpg) center 45%/cover no-repeat}
  .photo-ph.counselling-room{background:url(img/counselling-room.jpg) center 75%/cover no-repeat}
  .photo-ph .tag{position:absolute;top:18px;left:18px;background:var(--paper);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;padding:7px 14px}
  .faq{border-top:1px solid var(--line)}
  .faq-item{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;padding:44px 0;border-bottom:1px solid var(--hairline)}
  .faq-item:last-child{border-bottom:none}
  .faq-item .q{font-weight:700;font-size:21px;letter-spacing:-.01em;line-height:1.3}
  .faq-item .q .qm{color:var(--blue);margin-right:10px;font-family:'IBM Plex Serif',serif}
  .faq-item .a{font-family:'IBM Plex Serif',serif;font-weight:300;font-size:16px;line-height:1.75;color:var(--ink-soft)}
  .faq-item .a b{font-weight:500;color:var(--ink)}

  /* ---------- foldable FAQ (services + play therapy only) ---------- */
  .faq-fold .faq-item{display:block;padding:0;gap:0}
  .faq-fold .faq-item>summary{list-style:none;cursor:pointer;display:flex;
    align-items:flex-start;gap:20px;padding:26px 0;font-weight:700;font-size:20px;
    letter-spacing:-.01em;line-height:1.35;transition:color .2s}
  .faq-fold .faq-item>summary::-webkit-details-marker{display:none}
  .faq-fold .faq-item>summary:hover{color:var(--blue-ink)}
  .faq-fold .faq-item>summary::after{content:'';flex:none;margin-left:auto;
    width:15px;height:15px;margin-top:6px;transition:opacity .2s;
    background:linear-gradient(var(--blue),var(--blue)) center/15px 1.6px no-repeat,
               linear-gradient(var(--blue),var(--blue)) center/1.6px 15px no-repeat}
  .faq-fold .faq-item[open]>summary{color:var(--blue-ink)}
  .faq-fold .faq-item[open]>summary::after{
    background:linear-gradient(var(--blue),var(--blue)) center/15px 1.6px no-repeat}
  .faq-fold .faq-item>.a{max-width:760px;padding:0 34px 30px 0;
    animation:faqReveal .28s ease both}
  @keyframes faqReveal{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}

  /* ---------- credential matrix (under fee tiers) ---------- */
  .tierq{margin-top:46px}
  .tierq-lab{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;
    font-weight:700;color:var(--ink-soft);margin-bottom:18px}
  .tierq-grid{border-top:1px solid var(--line)}
  .tierq-tiers{display:contents}
  .tierq-row{display:grid;grid-template-columns:1.7fr repeat(var(--tiers),.75fr);
    gap:24px;align-items:center;padding:17px 0;border-bottom:1px solid var(--hairline)}
  .tierq-row:last-child{border-bottom:none}
  .tierq-row .crit{font-size:14.5px;line-height:1.55;color:var(--ink-soft)}
  .tierq-head{padding:14px 0 13px}
  .tierq-head .crit{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;
    font-weight:700;color:var(--ink)}
  .tierq-head .tier{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
    font-weight:700;color:var(--blue-ink);text-align:center;line-height:1.4}
  .tierq-row .cell{display:flex;justify-content:center;align-items:center;min-height:20px}
  .tierq .yes{display:block;width:8px;height:15px;border:solid var(--green);
    border-width:0 2.2px 2.2px 0;transform:rotate(45deg);margin-top:-4px}
  .tierq .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);
    white-space:nowrap}
  @media (max-width:800px){
    .tierq-head{display:none}
    .tierq-row{grid-template-columns:1fr;gap:9px;padding:20px 0}
    .tierq-row .crit{font-size:15px;color:var(--ink);font-weight:500}
    .tierq-row .cell{display:none}
    .tierq-row .cell:has(.yes){display:inline-flex;justify-content:flex-start;
      min-height:0;font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;
      font-weight:700;color:var(--blue-ink);gap:7px;align-items:center}
    .tierq-row .cell:has(.yes)::after{content:attr(data-t)}
    .tierq-row .cell .yes{width:5px;height:10px;border-width:0 2px 2px 0;margin-top:-3px}
    .tierq-tiers{display:flex;flex-wrap:wrap;gap:8px 16px}
  }
  @media (max-width:1000px){
    .faq-fold .faq-item{padding:0}
    .faq-fold .faq-item>summary{font-size:17.5px;padding:22px 0;gap:14px}
    .faq-fold .faq-item>.a{padding:0 0 24px}
  }
  .sec-pad{padding-top:64px;padding-bottom:72px}
  @media (max-width:1000px){
    .split{grid-template-columns:minmax(0,1fr)}
    .photo-ph{aspect-ratio:auto;height:300px;min-height:0}
    .faq-item{grid-template-columns:1fr;gap:14px;padding:32px 0}
  }
  .lang-sw{font-size:13px;font-weight:700;letter-spacing:.06em;border:1.5px solid var(--hairline);padding:8px 13px;margin-left:14px;transition:all .2s}
  .lang-sw:hover{border-color:var(--teal);color:var(--teal-ink)}
  nav .navright{display:flex;align-items:center}

  /* ---------- counselling band (blue-led) ---------- */
  .band.blue{background:linear-gradient(120deg,var(--blue-pale) 0%,var(--teal-pale) 65%,var(--green-pale) 135%)}
  .band.blue h2 em{color:var(--blue-ink)}
  .band .band-cta{margin-top:30px}

  /* ---------- team page ---------- */
  .team-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
  .member{padding:36px 36px 40px 0;border-bottom:1px solid var(--hairline)}
  .member:nth-child(odd){border-right:1px solid var(--hairline)}
  .member:nth-child(even){padding-left:36px;padding-right:0}
  .member h3{font-weight:700;font-size:21px;letter-spacing:-.01em;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
  .member h3 .cname{font-family:'IBM Plex Serif',serif;font-weight:400;font-size:17px;color:var(--ink-soft)}
  .member .role{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--green-ink);background:var(--green-pale);padding:4px 10px;margin:12px 0 16px}
  .member ul{list-style:none}
  .member li{font-size:13.5px;line-height:1.5;color:var(--ink-soft);padding:7px 0;border-top:1px solid #EFEAE0}
  .member li:first-child{border-top:none}
  .member li b{color:var(--ink);font-weight:600}
  .member li span{display:block;font-size:12px;color:#8A968C}

  /* ---------- press page ---------- */
  .press-list{border-top:1px solid var(--line);margin-bottom:64px}
  .press-item{display:flex;justify-content:space-between;align-items:baseline;gap:28px;padding:17px 0;border-bottom:1px solid var(--hairline)}
  .press-item .t{font-weight:600;font-size:16px;line-height:1.4}
  .press-item .src{font-family:'IBM Plex Serif',serif;font-style:italic;font-size:13.5px;color:var(--ink-soft);white-space:nowrap}

  /* ---------- 404 ---------- */
  .nf{text-align:center;padding:110px 24px 130px;border-bottom:1px solid var(--line)}
  .nf .code{font-weight:900;font-size:clamp(90px,18vw,200px);line-height:1;letter-spacing:-.04em;color:var(--green);text-shadow:6px 6px 0 var(--blue-pale)}
  .nf h1{font-weight:800;font-size:clamp(24px,3vw,36px);letter-spacing:-.02em;text-transform:uppercase;margin-top:18px}
  .nf p{font-family:'IBM Plex Serif',serif;font-style:italic;color:var(--ink-soft);margin:16px auto 34px;max-width:440px}

  @media (max-width:820px){
    .team-grid{grid-template-columns:1fr}
    .member:nth-child(odd){border-right:none}
    .member{padding-left:0!important;padding-right:0!important}
    .press-item{flex-direction:column;gap:4px}
    .press-item .src{white-space:normal}
  }

  /* ---------- member avatars ---------- */
  .member .mhead{display:flex;align-items:center;gap:18px;margin-bottom:14px}
  .member .avatar{width:76px;height:76px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:21px;letter-spacing:.02em;background:var(--green-pale);color:var(--green-ink);border:1.5px dashed rgba(20,32,26,.22)}
  .member .avatar.b{background:var(--blue-pale);color:var(--blue-ink)}
  .member .avatar.t{background:var(--teal-pale);color:var(--teal-ink)}
  .member .avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}
  .member .mhead .role{margin:9px 0 0}

  /* ---------- member portraits (v2 — big blocks, 3-col grid) ---------- */
  .team-grid{grid-template-columns:repeat(3,1fr);gap:44px 36px;padding-top:44px;border-top:1px solid var(--line)}
  .team-grid .member{border:none;padding:0}
  .member .portrait{aspect-ratio:4/5;background:var(--green-pale);border:1.5px dashed rgba(20,32,26,.25);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:40px;letter-spacing:.02em;color:var(--green-ink);margin-bottom:20px;position:relative}
  .member .portrait.b{background:var(--blue-pale);color:var(--blue-ink)}
  .member .portrait.t{background:var(--teal-pale);color:var(--teal-ink)}
  .member .portrait em{position:absolute;bottom:12px;left:14px;font-style:normal;font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;opacity:.55}
  .member .portrait img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
  .member .role{margin:10px 0 14px}
  @media (max-width:1000px){.team-grid{grid-template-columns:1fr 1fr}}
  @media (max-width:600px){.team-grid{grid-template-columns:1fr}}

  /* ---------- therapist profile pages + clickable team cards (added 2026-07-19, additive only) ---------- */
  .member-link{display:block}
  .member-link h3{transition:color .2s}
  .member-link:hover h3{color:var(--green-ink)}
  .member-link .more{display:inline-block;margin-top:16px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--green-ink)}
  .member-link .more:after{content:" \2192"}
  .prose .readmore{display:inline-block;margin-top:10px;font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--green-ink);border-bottom:1.5px solid currentColor;padding-bottom:2px}
  .prose .readmore:after{content:" \2192"}
  .pf-side{padding-top:64px;padding-bottom:64px}
  .pf-side .pf-portrait{aspect-ratio:4/5;position:relative;background:var(--green-pale);border:1.5px dashed rgba(20,32,26,.25);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:44px;color:var(--green-ink)}
  .pf-side .pf-portrait img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
  .pf-side h4{font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin:28px 0 6px}
  .pf-side ul{list-style:none}
  .pf-side li{font-size:13.5px;line-height:1.5;color:var(--ink-soft);padding:8px 0;border-top:1px solid #EFEAE0}
  .pf-side li:first-child{border-top:none}
  .pf-side li b{color:var(--ink);font-weight:600}
  .pf-side li span{display:block;font-size:12px;color:#8A968C}
  @media (max-width:900px){.pf-side{padding-top:0}}

  /* ---------- mobile navigation (was hidden entirely below 720px) ---------- */
  @media (max-width:720px){
    nav .wrap{flex-wrap:wrap;row-gap:0;padding-bottom:0}
    nav ul{display:flex;order:3;width:100%;gap:0;overflow-x:auto;border-top:1px solid var(--hairline);
           margin:14px -22px 0;padding:0 22px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
    nav ul::-webkit-scrollbar{display:none}
    nav ul li{flex:0 0 auto}
    nav ul a{display:block;padding:13px 15px 11px;white-space:nowrap}
    nav ul li:first-child a{padding-left:0}
    nav ul li:last-child a{padding-right:0}
    nav ul .sub{display:none!important}
    nav ul .caret{display:none}
  }

  /* ---------- how to start ---------- */
  .howto{border-bottom:1px solid var(--line)}
  .howto .wrap{padding-top:64px;padding-bottom:72px}
  .steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-top:34px}
  .step{padding:30px 28px 34px 0;border-right:1px solid var(--hairline)}
  .step:last-child{border-right:none;padding-right:0}
  .step+.step{padding-left:28px}
  .step .snum{display:block;font-family:'IBM Plex Serif',serif;font-size:12.5px;font-weight:400;
              letter-spacing:.18em;color:var(--green-ink);margin-bottom:20px}
  .step h3{font-weight:700;font-size:17.5px;line-height:1.32;letter-spacing:-.01em}
  .step p{font-family:'IBM Plex Serif',serif;font-weight:300;font-size:14.5px;line-height:1.7;
          color:var(--ink-soft);margin-top:10px}
  .tbc{display:inline-block;background:var(--blue-pale);color:var(--blue-ink);font-family:'Fira Sans',sans-serif;
       font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;margin-left:2px}

  /* ---------- enquiry form ---------- */
  .enquiry{border-bottom:1px solid var(--line)}
  .enquiry .wrap{padding-top:66px;padding-bottom:78px;display:grid;grid-template-columns:.82fr 1.18fr;
                 gap:56px;align-items:start}
  .enquiry h2{font-weight:800;font-size:clamp(30px,4vw,46px);letter-spacing:-.03em;text-transform:uppercase;line-height:1.02}
  .enquiry h2 em{font-style:normal;color:var(--green-ink)}
  .enquiry .lede{font-family:'IBM Plex Serif',serif;font-weight:300;font-style:italic;font-size:17px;
                 line-height:1.65;color:var(--ink-soft);margin-top:18px}
  .ecred{list-style:none;margin-top:28px;border-top:1px solid var(--hairline)}
  .ecred li{font-size:13.5px;line-height:1.5;color:var(--ink-soft);padding:12px 0;border-bottom:1px solid var(--hairline)}
  .ecred li b{display:block;font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
              color:var(--ink);margin-bottom:3px}

  @media (min-width:1001px){ .enquiry .wrap > div:first-child{position:sticky;top:112px} }
  .form-card{border:1px solid var(--line);background:#fff;padding:34px 34px 38px;box-shadow:7px 7px 0 var(--green-pale)}
  .field{margin-bottom:19px}
  .field > label,.fieldset-label{display:block;font-size:11px;font-weight:700;letter-spacing:.14em;
                                 text-transform:uppercase;color:var(--ink);margin-bottom:8px}
  .field .opt{font-weight:500;letter-spacing:.05em;text-transform:none;color:#657268}
  .field input,.field select,.field textarea{width:100%;font-family:inherit;font-size:15.5px;line-height:1.5;
    color:var(--ink);background:var(--paper);border:1px solid var(--hairline);padding:12px 14px;transition:border-color .2s,box-shadow .2s}
  .field textarea{min-height:92px;resize:vertical}
  .field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--green);
    box-shadow:0 0 0 3px rgba(65,178,116,.18)}
  .field .hint{font-family:'IBM Plex Serif',serif;font-weight:300;font-size:13px;line-height:1.6;
               color:var(--ink-soft);margin-top:8px}
  .chips{display:flex;flex-wrap:wrap;gap:8px}
  .chip{position:relative;display:block}
  .chip input{position:absolute;width:1px;height:1px;opacity:0}
  .chip span{display:block;border:1px solid #948D7F;background:var(--paper);padding:9px 14px;
             font-size:13.5px;cursor:pointer;transition:all .18s}
  .chip input:checked+span{background:var(--green-pale);border-color:var(--green);color:var(--green-ink);font-weight:600}
  .chip input:focus-visible+span{outline:2px solid var(--blue);outline-offset:2px}
  fieldset.field{border:0;padding:0;margin-bottom:19px}
  fieldset.field > legend{padding:0}
  .form-error{display:none;background:#FDECEC;border:1px solid #C0574F;color:#8E3830;font-size:13.5px;
              line-height:1.6;padding:12px 14px;margin-top:16px}
  .hp{position:absolute;left:-9999px}
  .form-card button.btn{width:100%;border:none;cursor:pointer;font-family:inherit;margin-top:6px}
  .form-legal{font-family:'IBM Plex Serif',serif;font-weight:300;font-size:12.5px;line-height:1.65;
              color:#657268;margin-top:16px;text-align:center}
  .form-alt{margin-top:20px;padding-top:18px;border-top:1px solid var(--hairline);text-align:center;
            font-size:13.5px;color:var(--ink-soft)}
  .form-alt a{font-weight:700;color:var(--blue-ink);border-bottom:1.5px solid var(--blue)}
  .form-done{display:none;text-align:center;padding:34px 4px 30px}
  .form-done.on{display:block}
  .form-done .tick{width:52px;height:52px;margin:0 auto 20px;border-radius:50%;background:var(--green-pale);
                   color:var(--green-ink);font-size:25px;font-weight:700;display:flex;align-items:center;justify-content:center}
  .form-done h3{font-weight:800;font-size:22px;letter-spacing:-.02em;text-transform:uppercase}
  .form-done p{font-family:'IBM Plex Serif',serif;font-weight:300;font-size:15px;line-height:1.7;
               color:var(--ink-soft);margin:12px auto 0;max-width:330px}

  @media (max-width:1000px){
    .enquiry .wrap{grid-template-columns:1fr;gap:38px}
    .steps{grid-template-columns:1fr 1fr}
    .step:nth-child(2){border-right:none;padding-right:0}
    .step:nth-child(n+3){border-top:1px solid var(--hairline)}
  }
  @media (max-width:720px){
    html{scroll-padding-top:132px}
    .steps{grid-template-columns:1fr}
    .step{border-right:none;border-top:1px solid var(--hairline);padding:26px 0 28px}
    .step+.step{padding-left:0}
    .step:first-child{border-top:none;padding-top:22px}
    .step .snum{margin-bottom:14px}
    .form-card{padding:26px 22px 30px;box-shadow:5px 5px 0 var(--green-pale)}
    .howto .wrap{padding-top:52px;padding-bottom:56px}
    .enquiry .wrap{padding-top:52px;padding-bottom:60px}
  }

  /* ---------- parents band with photo (play therapy) ---------- */
  .band-photo .wrap{display:block}
  .band-photo .bp-top{display:grid;grid-template-columns:.92fr 1.08fr;gap:56px;align-items:center}
  .band-photo .bp-photo{margin:0;position:relative}
  .band-photo .bp-photo img{width:100%;aspect-ratio:5/4;height:auto;object-fit:cover;object-position:center 58%;
                            display:block;border:1px solid rgba(20,32,26,.14)}
  .band-photo .bp-photo figcaption{position:absolute;bottom:14px;left:14px;background:var(--paper);
    font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;padding:6px 12px;color:var(--ink-soft)}
  .band-photo .creds{margin-top:48px;padding-top:8px}
  @media (max-width:1000px){
    .band-photo .bp-top{grid-template-columns:1fr;gap:34px}
    .band-photo .bp-photo img{aspect-ratio:4/3}
    .band-photo .creds{margin-top:36px}
  }

  /* ---------- mobile menu (burger + panel) — JS-enhanced, .js-nav only ---------- */
  .burger{display:none;width:44px;height:38px;background:none;border:1.5px solid var(--line);
          cursor:pointer;padding:0;position:relative;flex:0 0 auto}
  .burger span{position:absolute;left:11px;width:20px;height:1.5px;background:var(--ink);
               transition:transform .22s ease,opacity .16s ease}
  .burger span:nth-child(1){top:13px}
  .burger span:nth-child(2){top:18px}
  .burger span:nth-child(3){top:23px}
  nav.menu-open .burger span:nth-child(1){transform:translateY(5px) rotate(45deg)}
  nav.menu-open .burger span:nth-child(2){opacity:0}
  nav.menu-open .burger span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}

  .mobile-menu{display:none}

  @media (max-width:720px){
    nav.js-nav ul{display:none}
    nav.js-nav .nav-cta{display:none}
    nav.js-nav .wrap{flex-wrap:nowrap;padding-bottom:18px}
    nav.js-nav .navright{gap:10px}
    nav.js-nav .burger{display:block}

    nav.js-nav .mobile-menu{display:block;position:absolute;left:0;right:0;top:100%;
      background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);
      box-shadow:0 14px 28px rgba(43,43,38,.10);
      max-height:0;overflow:hidden;transition:max-height .26s ease}
    nav.js-nav.menu-open .mobile-menu{max-height:80vh;overflow-y:auto}
    nav.js-nav .mobile-menu ul{display:block;list-style:none;padding:6px 22px 0;margin:0}
    nav.js-nav .mobile-menu > ul > li{border-bottom:1px solid var(--hairline)}
    nav.js-nav .mobile-menu > ul > li:last-child{border-bottom:none}
    nav.js-nav .mobile-menu a{display:block;padding:15px 0;font-size:16px;font-weight:500;
                              border-bottom:none;letter-spacing:.01em}
    nav.js-nav .mobile-menu .mm-group{display:block;padding:15px 0 6px;font-size:11px;font-weight:700;
      letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}
    nav.js-nav .mobile-menu .mm-group + ul{padding:0 0 8px 0}
    nav.js-nav .mobile-menu .mm-group + ul a{padding:11px 0 11px 16px;
      border-left:2px solid var(--green-pale);font-size:15.5px}
    nav.js-nav .mobile-menu .mm-foot{padding:16px 22px 22px;border-top:1px solid var(--hairline)}
    nav.js-nav .mobile-menu .mm-cta{display:block;text-align:center;width:calc(100% - 5px)}
    html.menu-open{overflow:hidden}
  }

  /* ---------- "is this for my child" / core principles grid ---------- */
  .needs{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:14px}
  .need{padding:26px 28px 30px 0;border-right:1px solid var(--hairline);
        border-bottom:1px solid var(--hairline);margin-right:28px}
  .need:nth-child(3n){border-right:none;margin-right:0}
  .need b{display:block;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;
          color:var(--green-ink);margin-bottom:12px}
  .need:nth-child(3n+2) b{color:var(--blue-ink)}
  .need:nth-child(3n+3) b{color:var(--teal-ink)}
  .need span{display:block;font-size:14px;line-height:1.7;color:var(--ink-soft)}
  .needs-intro{font-family:'IBM Plex Serif',serif;font-weight:300;font-size:17px;line-height:1.65;
               color:var(--ink-soft);max-width:640px;margin-top:6px}
  @media (max-width:1000px){
    .needs{grid-template-columns:1fr 1fr}
    .need:nth-child(3n){border-right:1px solid var(--hairline);margin-right:28px}
    .need:nth-child(2n){border-right:none;margin-right:0}
  }
  @media (max-width:720px){
    .needs{grid-template-columns:1fr}
    .need,.need:nth-child(3n){border-right:none;margin-right:0;padding-right:0}
  }

  /* extra feature-photo panels used on the training page */
  .feature .photo .p3{background-image:url(img/playroom-slinky.jpg)}
  .feature .photo .p4{background-image:url(img/parents-children.jpg)}
  .feature .photo .ts-l{background-image:url(img/training-professional.jpg)}
  .feature .photo .ts-r{background-image:url(img/training-practice.jpg)}

  /* keeps longer dropdown labels (School-Based Play Therapy) on one line */
  nav ul .sub a{white-space:nowrap}

  /* ---------- course intake status (training page only) ---------- */
  .svc-top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:52px}
  .svc-top .num{margin-bottom:0}

  .status{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;
          font-family:'Fira Sans',sans-serif;font-style:normal;font-size:10px;font-weight:700;
          letter-spacing:.13em;text-transform:uppercase;padding:5px 10px;border:1px solid}
  .status::before{content:"";width:6px;height:6px;border-radius:50%;flex:0 0 auto}
  .status.is-open{background:var(--green);border-color:var(--green);color:#fff}
  .status.is-open::before{background:#fff}
  .status.is-periodic{background:transparent;border-color:var(--hairline);color:var(--ink-soft)}
  .status.is-periodic::before{background:transparent;box-shadow:inset 0 0 0 1.5px var(--ink-soft)}

  .status-key{display:flex;flex-wrap:wrap;gap:10px 30px;margin:-8px 0 30px;
              padding-bottom:26px;border-bottom:1px solid var(--hairline)}
  .status-key .k{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink-soft);
                 line-height:1.5}
  .status-key .k .status{flex:0 0 auto}

  .tr-col li .tr-meta{display:flex;align-items:center;justify-content:flex-end;gap:14px}
  .tr-col li .tr-tag{font-family:'IBM Plex Serif',serif;font-weight:400;font-style:italic;
                     font-size:13px;color:var(--ink-soft);white-space:nowrap}
  .tr-col li span.status{font-family:'Fira Sans',sans-serif;font-style:normal;font-weight:700;
                         font-size:10px;color:var(--ink-soft)}
  .tr-col li span.status.is-open{color:#fff}

  @media (max-width:720px){
    .svc-top{gap:10px;margin-bottom:24px}
    .status-key{gap:14px 0;flex-direction:column}
    .status-key .k{flex-wrap:wrap;align-items:flex-start;gap:8px}
    .tr-col .has-status li{flex-wrap:wrap}
    .tr-col li .tr-meta{gap:10px;margin-left:auto}
  }

  /* ── enquiry form v2 (shared, mounted by form.js) ─────────────── */
  .enquiry-form [hidden]{display:none}
  .field .hint.hint-tight{margin:-2px 0 10px}
  .fee-panel{background:var(--green-pale);border-radius:10px;padding:15px 17px;margin:4px 0 10px}
  .fee-panel .fh{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;
    color:var(--green-ink);margin-bottom:10px}
  .fee-panel dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0}
  .fee-panel dt{font-weight:700;font-size:15px;color:var(--green-ink);white-space:nowrap}
  .fee-panel dd{margin:0;font-size:13.5px;line-height:1.45;align-self:center}
  .fee-panel .fee-q{font-size:13px;font-weight:600;color:var(--green-ink);margin:0 0 9px}
  .fee-opts{display:grid;gap:7px}
  .fee-opt{position:relative;display:block}
  .fee-opt input{position:absolute;width:1px;height:1px;opacity:0}
  .fee-opt>span{display:grid;grid-template-columns:auto 1fr;gap:2px 14px;align-items:center;
    background:var(--paper);border:1px solid #948D7F;border-radius:8px;padding:10px 13px;
    cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s}
  .fee-opt>span b{font-weight:700;font-size:15px;color:var(--green-ink);white-space:nowrap}
  .fee-opt>span i{font-style:normal;font-size:13.5px;line-height:1.45}
  .fee-opt.any>span{grid-template-columns:1fr}
  .fee-opt.any>span i{color:var(--ink-soft)}
  .fee-opt>span:hover{border-color:var(--green)}
  .fee-opt input:checked+span{background:#fff;border-color:var(--green);
    box-shadow:inset 0 0 0 1px var(--green)}
  .fee-opt input:checked+span i{font-weight:600}
  .fee-opt input:focus-visible+span{outline:2px solid var(--blue);outline-offset:2px}
  .fee-panel .fn{font-family:'IBM Plex Serif',serif;font-weight:300;font-size:13px;
    line-height:1.55;color:var(--ink-soft);margin:11px 0 0}
  .fee-panel .fn:first-of-type:last-child{margin:0}
  .form-done .sched-ph{border:1px dashed var(--line);border-radius:10px;padding:22px 18px;
    margin:16px 0 6px;font-family:'IBM Plex Serif',serif;font-weight:300;font-size:13.5px;
    line-height:1.6;color:var(--ink-soft);background:#fafbfa}
  .form-done .sched-ph b{display:block;font-family:'Fira Sans',sans-serif;font-weight:600;
    font-size:15px;color:var(--ink);margin-bottom:6px}
  .form-done .wa-cta{margin:6px 0 14px}
  .form-done .wa-cta .btn{display:inline-block;width:auto}
  .form-done .pay-note{margin-top:-6px}
  .form-done .hint{font-family:'IBM Plex Serif',serif;font-weight:300;font-size:13px;
    line-height:1.6;color:var(--ink-soft);margin-top:14px}
  .confirm-note{color:var(--blue-ink);font-style:italic}

  /* ── photo placeholders awaiting real images ──────────────────────
     The .brief notes are our own shot list, not for anyone else to read.
     They stay in the HTML so we know what to photograph, but never show
     on the page — delete the display:none below to see them again.   */
  .photo-ph .brief{display:none;position:absolute;left:18px;right:18px;bottom:18px;background:rgba(251,248,242,.95);
    color:var(--blue-ink);font-family:'IBM Plex Serif',serif;font-style:italic;font-size:12.5px;
    line-height:1.5;padding:10px 13px}
  .photo-band{position:relative;aspect-ratio:auto;min-height:380px;margin:0}
  .photo-band .wrap{padding:0}
  @media (max-width:720px){
    .photo-band{min-height:260px}
  }

  /* ── counselling page: published fees + the "we also serve" line ──
     Scoped to this page's own classes. Nothing shared is touched.   */
  .fee-tiers{display:grid;grid-template-columns:repeat(3,1fr);
    border-top:1px solid var(--line);margin-top:14px}
  .fee-tier{padding:26px 28px 30px 0;border-right:1px solid var(--hairline);
    border-bottom:1px solid var(--hairline);margin-right:28px}
  .fee-tier:nth-child(3n){border-right:none;margin-right:0}
  .fee-tier .role{display:block;font-size:11.5px;letter-spacing:.16em;
    text-transform:uppercase;color:var(--blue-ink);margin-bottom:14px}
  .fee-tier .amt{display:block;font-size:34px;font-weight:700;
    letter-spacing:-.02em;line-height:1;color:var(--ink)}
  .fee-tier .amt small{font-family:'IBM Plex Serif',serif;font-size:13px;
    font-weight:300;letter-spacing:0;color:var(--ink-soft);margin-left:8px}
  .fee-tier p{font-size:14px;line-height:1.7;color:var(--ink-soft);margin-top:14px}
  .also-line{font-family:'IBM Plex Serif',serif;font-weight:300;font-size:15px;
    line-height:1.7;color:var(--ink-soft);margin-top:26px;padding-left:16px;
    border-left:2px solid var(--line);max-width:640px}
  @media (max-width:720px){
    .fee-tiers{grid-template-columns:1fr}
    .fee-tier,.fee-tier:nth-child(3n){border-right:none;margin-right:0;padding-right:0}
    .fee-tier .amt{font-size:30px}
  }
