/*
  Kaeva Counselling 9.0
  Compiled from assets/css-source.
  Edit the source modules and rebuild rather than appending patches.
*/

:root{
  --pine:#718f80;
  --pine-deep:#4f695e;
  --pine-soft:#91aa9e;
  --matcha-pale:#e7eee6;
  --sage:#e3ebe3;
  --sage-light:#f3f6f0;
  --ivory:#fbf7f0;
  --kinari:#f7f0e6;
  --paper:#fffdf9;
  --sakura:#d8aaa9;
  --sakura-deep:#9d5d5d;
  --sakura-pale:#f4e6e5;
  --sakura-mist:#faefee;
  --mist-blue:#e9f0f1;
  --wisteria:#eee8ef;
  --clay:#9b6258;
  --ink:#3e4d47;
  --muted:#65736d;
  --line:rgba(79,105,94,.14);
  --line-strong:rgba(79,105,94,.25);
  --white:#fff;
  --shadow-sm:0 10px 30px rgba(70,92,83,.055);
  --shadow-md:0 20px 58px rgba(70,92,83,.085);
  --shadow-lg:0 30px 84px rgba(70,92,83,.11);
  --radius-s:16px;
  --radius-m:28px;
  --radius-l:38px;
  --shell:1220px;
  --transition:.25s cubic-bezier(.2,.75,.25,1)
}

*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;background:var(--pine-deep);min-height:100%}body{margin:0;min-width:320px;min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden;background:var(--ivory);color:var(--ink);font:16px/1.72 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-rendering:optimizeLegibility}body.menu-open{overflow:hidden}main{flex:1 0 auto}footer{margin-top:auto}img{display:block;max-width:100%}a{color:inherit}button,input,select,textarea{font:inherit}p{margin:.2rem 0 1.08rem}h1,h2,h3{margin:0 0 .72rem;color:var(--pine);font-family:Georgia,"Times New Roman",serif;font-weight:700;line-height:1.07;letter-spacing:-.03em;text-wrap:balance}h1{font-size:clamp(3.25rem,6.8vw,6.35rem)}h2{font-size:clamp(2.18rem,4.2vw,3.75rem)}h3{font-size:clamp(1.28rem,2vw,1.58rem)}ul{padding-left:1.2rem}.shell{width:min(var(--shell),calc(100% - 52px));margin-inline:auto}.skip{position:fixed;left:18px;top:-120px;z-index:300;padding:10px 15px;border:2px solid var(--pine);border-radius:10px;background:#fff;font-weight:800;text-decoration:none}.skip:focus{top:18px}.nav{position:sticky;top:0;z-index:120;border-bottom:1px solid rgba(18,59,54,.09);background:rgba(251,248,241,.92);backdrop-filter:blur(18px)}.navin{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:26px}.brand{display:inline-flex;flex-direction:column;color:var(--pine);font-family:Georgia,"Times New Roman",serif;text-decoration:none}.brand-name{font-size:2.58rem;font-weight:700;line-height:.8;letter-spacing:.025em}.brand small{margin-top:.34rem;font:780 .66rem/1 Inter,ui-sans-serif,sans-serif;letter-spacing:.31em}.links{display:flex;align-items:center;gap:22px}.links>a:not(.btn){position:relative;min-height:44px;display:flex;align-items:center;font-size:.9rem;font-weight:730;text-decoration:none;white-space:nowrap}.links>a:not(.btn)::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:2px;border-radius:2px;background:var(--pine-soft);transform:scaleX(0);transition:transform .2s ease}.links>a:hover::after,.links>a[aria-current="page"]::after{transform:scaleX(1)}.nav-actions{display:flex;align-items:center;gap:8px}.lang{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line-strong);border-radius:999px;background:rgba(255,255,255,.75);color:var(--pine);font-weight:830;text-decoration:none;cursor:pointer}.menu{display:none;width:46px;height:46px;padding:0;border:1px solid var(--line-strong);border-radius:999px;background:#fff;cursor:pointer}.menu span{display:block;width:18px;height:2px;margin:5px auto;border-radius:2px;background:var(--pine);transition:transform .2s ease,opacity .2s ease}body.menu-open .menu span:first-child{transform:translateY(3.5px) rotate(45deg)}body.menu-open .menu span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.btn{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:.42rem;padding:13px 23px;border:1px solid var(--pine);border-radius:999px;font-weight:790;line-height:1.2;text-align:center;text-decoration:none;transition:transform .18s ease,background .18s ease,border .18s ease,box-shadow .18s ease}.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.primary,.nav-cta{background:var(--pine);border-color:var(--pine);color:#fff}.primary:hover,.nav-cta:hover{background:var(--pine-soft);border-color:var(--pine-soft)}.secondary{background:transparent;color:var(--pine)}.secondary:hover{background:#fff}.light{background:#fff;border-color:#fff;color:var(--pine)}.text-link{display:inline-flex;align-items:center;gap:.35rem;color:var(--pine);font-weight:790;text-decoration:none;text-underline-offset:5px}.text-link:hover{text-decoration:underline}.light-link{color:#fff}.eyebrow{margin-bottom:17px;color:var(--clay);font-size:.72rem;font-weight:900;letter-spacing:.18em;line-height:1.35;text-transform:uppercase}.hero-lead,.lead{max-width:780px;color:var(--muted);font-size:clamp(1.04rem,1.55vw,1.2rem);line-height:1.76}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:28px}.section{padding:108px 0}.section-heading{max-width:820px;margin-bottom:44px}.section-heading>p{color:var(--muted);font-size:1.04rem}.split-heading{max-width:none;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.65fr);align-items:end;gap:64px}.split-heading>p{margin-bottom:8px}.compact{max-width:520px}.grid2,.grid3,.grid4{display:grid;gap:24px}.grid2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{min-width:0;padding:30px;border:1px solid var(--line);border-radius:var(--radius-m);background:#fff;box-shadow:var(--shadow-sm)}a.card{text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}a.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.small{color:var(--muted);font-size:.88rem}.list li{margin:.52rem 0}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.chip{display:inline-flex;align-items:center;min-height:32px;padding:6px 11px;border:1px solid rgba(18,59,54,.09);border-radius:999px;background:var(--sage-light);color:var(--pine);font-size:.8rem;font-weight:760}.credentials{max-width:100%;color:var(--muted);font-size:.88rem;font-weight:680;line-height:1.62;overflow-wrap:anywhere}.role-label{margin:0 0 8px;color:var(--clay);font-size:.75rem;font-weight:880;letter-spacing:.11em;text-transform:uppercase}.v4-hero{position:relative;overflow:hidden;padding:96px 0 86px;background:linear-gradient(140deg,var(--paper),#edf4ef)}.v4-hero::before{content:"";position:absolute;width:520px;height:520px;right:-240px;top:-300px;border:1px solid rgba(18,59,54,.14);border-radius:50%}.v4-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.03fr) minmax(430px,.97fr);align-items:center;gap:76px}.hero-copy h1{max-width:760px}.hero-copy .hero-lead{max-width:690px}.trust-line{display:flex;flex-wrap:wrap;gap:10px 0;margin-top:37px;padding-top:22px;border-top:1px solid var(--line)}.trust-line span{display:flex;align-items:center;color:var(--muted);font-size:.83rem;font-weight:710}.trust-line span:not(:last-child)::after{content:"";width:4px;height:4px;margin:0 12px;border-radius:50%;background:var(--clay)}.concerns-section{background:var(--paper)}.concern-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}.concern-card{position:relative;min-width:0;display:grid;grid-template-columns:45px minmax(0,1fr) 32px;gap:18px;padding:30px 20px 30px 0;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}.concern-card:nth-child(odd){padding-right:40px;border-right:1px solid var(--line)}.concern-card:nth-child(even){padding-left:40px}.concern-card h3{font-size:1.45rem}.concern-card p{max-width:500px;margin:0;color:var(--muted)}.concern-index{color:var(--clay);font-size:.76rem;font-weight:900;letter-spacing:.1em}.card-arrow{color:var(--pine);font-size:1.2rem;transition:transform .18s ease}.concern-card:hover .card-arrow{transform:translate(3px,-3px)}.clinician-section{background:var(--sage-light)}.clinician-showcase{display:grid;gap:34px}.clinician-feature{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-l);background:#fff;box-shadow:var(--shadow-md)}.clinician-feature.reverse{grid-template-columns:minmax(0,1.22fr) minmax(300px,.78fr)}.clinician-feature.reverse .feature-photo{order:2}.feature-photo img{width:100%;height:100%;min-height:560px;object-fit:cover;object-position:center top}.feature-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:56px}.feature-copy h3{font-size:clamp(2.3rem,4vw,3.5rem)}.feature-copy>p:not(.credentials):not(.role-label):not(.format-line){max-width:650px;font-size:1.04rem}.focus-row{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 20px}.focus-row span{padding:7px 12px;border-radius:999px;background:var(--sage-light);color:var(--pine);font-size:.78rem;font-weight:760}.format-line{margin-top:2px;color:var(--muted);font-size:.86rem;font-weight:690}.feature-copy .btn{margin-top:14px}.process-section{background:var(--paper)}.process-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(420px,1.15fr);gap:100px;align-items:start}.process-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.process-list li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:18px;padding:28px 0;border-bottom:1px solid var(--line)}.process-list>li>span{color:var(--clay);font-weight:900;letter-spacing:.1em}.process-list p{margin:0;color:var(--muted)}.approaches-preview{background:#e3ece6}.approach-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-m);background:rgba(255,255,255,.72)}.approach-strip a{min-height:170px;display:flex;flex-direction:column;justify-content:flex-end;padding:24px;border-right:1px solid var(--line);text-decoration:none;transition:background .18s ease}.approach-strip a:last-child{border-right:0}.approach-strip a:hover{background:#fff}.approach-strip span{color:var(--pine);font-family:Georgia,"Times New Roman",serif;font-size:1.28rem;font-weight:700;line-height:1.2}.approach-strip small{margin-top:9px;color:var(--muted);font-size:.78rem}.trust-section{background:var(--paper)}.trust-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(370px,.8fr);gap:74px;padding:62px;border:1px solid var(--line);border-radius:var(--radius-l);background:linear-gradient(145deg,#fff,var(--sage-light));box-shadow:var(--shadow-md)}.trust-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 28px;margin:0;padding:0;list-style:none}.trust-list li{position:relative;padding-left:22px;color:var(--pine);font-size:.9rem;font-weight:720}.trust-list li::before{content:"✓";position:absolute;left:0;color:var(--clay);font-weight:900}.final-cta-section,.profile-final{padding:74px 0;background:var(--pine-deep);color:#fff}.final-cta{display:flex;align-items:center;justify-content:space-between;gap:52px}.final-cta h2{max-width:850px;color:#fff;font-size:clamp(2rem,4vw,3.55rem)}.final-cta .eyebrow{color:#d7a68f}.editorial-hero{padding:86px 0 78px;background:linear-gradient(145deg,var(--paper),var(--sage-light));border-bottom:1px solid var(--line)}.editorial-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.55fr);align-items:end;gap:90px}.editorial-note{padding:27px;border-left:3px solid var(--clay);background:rgba(255,255,255,.55)}.editorial-note strong{display:block;margin-bottom:8px;color:var(--pine);font-family:Georgia,"Times New Roman",serif;font-size:1.25rem}.editorial-note p{color:var(--muted)}.therapist-comparison{background:var(--paper)}.compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.compare-card{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-l);background:#fff;box-shadow:var(--shadow-md)}.compare-photo img{width:100%;height:520px;object-fit:cover;object-position:center top}.compare-copy{padding:40px}.compare-copy h2{font-size:2.7rem}.compare-block{margin:26px 0;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.compare-block h3{font:800 .83rem/1.4 Inter,ui-sans-serif,sans-serif;letter-spacing:.08em;text-transform:uppercase}.compare-block li{margin:.45rem 0}.compare-meta{display:grid;gap:11px;color:var(--muted);font-size:.88rem}.compare-meta b{color:var(--pine)}.fit-section{background:var(--sage-light)}.insight-card{padding:30px 0;border-top:1px solid var(--line)}.insight-card>span{display:block;margin-bottom:18px;color:var(--clay);font-weight:900;letter-spacing:.1em}.service-section{background:var(--paper)}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.service-card{min-height:280px;display:flex;flex-direction:column;padding:30px;border:1px solid var(--line);border-radius:var(--radius-m);background:#fff;color:inherit;text-decoration:none;box-shadow:var(--shadow-sm);transition:transform .18s ease,box-shadow .18s ease}.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.service-card p{color:var(--muted)}.service-more{margin-top:auto;color:var(--pine);font-size:.85rem;font-weight:800}.format-section{background:var(--sage-light)}.compact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.professional-services,.supervision-section{background:var(--pine)}.professional-panel,.supervision-v4{display:flex;align-items:center;justify-content:space-between;gap:60px;color:#fff}.professional-panel h2,.supervision-v4 h2{color:#fff}.professional-panel .eyebrow,.supervision-v4 .eyebrow{color:#d7a68f}.professional-panel p,.supervision-v4 p{max-width:820px;color:rgba(255,255,255,.8)}.professional-actions{display:flex;flex-direction:column;align-items:flex-start;gap:16px}.profile-hero-v4{padding:80px 0 92px;background:linear-gradient(145deg,var(--paper),var(--sage-light))}.profile-hero-grid{display:grid;grid-template-columns:minmax(340px,430px) minmax(0,1fr);align-items:center;gap:82px}.profile-portrait-wrap{position:relative}.profile-photo-v4{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top;border-radius:32px;box-shadow:var(--shadow-lg)}.profile-facts{position:relative;width:calc(100% - 34px);margin:-40px auto 0;padding:20px 22px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.95);box-shadow:var(--shadow-md)}.profile-facts>div{display:grid;grid-template-columns:90px 1fr;gap:14px;padding:9px 0;border-bottom:1px solid var(--line)}.profile-facts>div:last-child{border-bottom:0}.profile-facts span{color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.profile-facts strong{color:var(--pine);font-size:.83rem}.profile-intro h1{font-size:clamp(3.8rem,7vw,6.2rem)}.large-credentials{margin-bottom:28px}.profile-intro h2{max-width:780px;font-size:clamp(2rem,3.7vw,3.35rem)}.profile-intro>.text-link{margin-top:18px}.profile-work{background:var(--paper)}.profile-work-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,.72fr);gap:90px;align-items:start}.session-panel{padding:36px;border:1px solid var(--line);border-radius:var(--radius-m);background:var(--sage-light)}.session-panel ul{margin:0;padding:0;list-style:none}.session-panel li{position:relative;padding:13px 0 13px 28px;border-bottom:1px solid var(--line)}.session-panel li:last-child{border-bottom:0}.session-panel li::before{content:"—";position:absolute;left:0;color:var(--clay);font-weight:900}.profile-approaches{background:#e4ede7}.approach-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.approach-tile{min-height:180px;padding:26px;border:1px solid rgba(18,59,54,.12);border-radius:20px;background:rgba(255,255,255,.72)}.approach-tile p{margin:0;color:var(--muted);font-size:.9rem}.background-section{background:var(--paper)}.background-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.background-card{padding:28px 0;border-top:2px solid var(--pine)}.background-card p{color:var(--muted)}.credentials-section{background:var(--sage-light)}.credential-accordion{display:grid;gap:14px}.credential-accordion details{border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow-sm)}.credential-accordion summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 28px;color:var(--pine);font-family:Georgia,"Times New Roman",serif;font-size:1.38rem;font-weight:700;cursor:pointer;list-style:none}.credential-accordion summary::-webkit-details-marker{display:none}.credential-accordion .accordion-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;font-family:Inter,sans-serif;font-size:1.3rem;line-height:1;transition:transform .18s ease}.credential-accordion details[open] .accordion-icon{transform:rotate(45deg)}.details-body{padding:0 28px 26px;border-top:1px solid var(--line)}.details-body li{margin:.72rem 0}.profile-note{margin-top:28px;padding:25px;border-left:4px solid var(--clay);background:#fff}.contact-section{background:var(--paper)}.contact-grid-v4{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.contact-profile{display:grid;grid-template-columns:190px minmax(0,1fr);gap:28px;padding:28px;border:1px solid var(--line);border-radius:var(--radius-l);background:#fff;box-shadow:var(--shadow-md)}.contact-profile>img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:20px}.contact-profile h2{font-size:2.4rem}.contact-actions{display:grid;gap:10px;margin:20px 0}.contact-actions .btn{width:100%}.profile-mini-link{color:var(--pine);font-size:.85rem;font-weight:790;text-decoration:none}.contact-note{margin-top:34px;padding:30px;border:1px solid rgba(166,94,68,.22);border-radius:20px;background:#fff6f0}.contact-note h2{font-size:1.65rem}.pagehero{padding:74px 0 66px;background:linear-gradient(145deg,var(--paper),var(--sage-light));border-bottom:1px solid var(--line)}.pagehero h1{font-size:clamp(3rem,5.8vw,5.35rem)}.pagehero p{max-width:840px;color:var(--muted);font-size:1.08rem}.profile-grid{display:grid;grid-template-columns:minmax(320px,420px) minmax(0,1fr);gap:68px;align-items:start}.profile-photo{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:30px;box-shadow:var(--shadow-lg)}.quote{margin:26px 0;padding:17px 0 17px 23px;border-left:4px solid var(--clay);color:var(--pine);font:1.22rem/1.55 Georgia,"Times New Roman",serif}.supervision-panel{display:grid;grid-template-columns:1.18fr .82fr;gap:36px;padding:40px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(145deg,#fff,var(--sage-light));box-shadow:var(--shadow-md)}.banner{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:42px;border-radius:28px;background:var(--pine);color:#fff}.banner h3{color:#fff}.fee-table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-sm)}.fee-table th,.fee-table td{padding:17px 18px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.fee-table tr:last-child td{border-bottom:0}.fee-table th{background:var(--sage-light);color:var(--pine)}.faq details{margin:12px 0;padding:19px 21px;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:var(--shadow-sm)}.faq summary{cursor:pointer;color:var(--pine);font-weight:820}.notice{padding:23px 24px;border:1px solid rgba(166,94,68,.24);border-radius:18px;background:#fff4ed}.policy h2{margin-top:2.4rem;font-size:clamp(1.65rem,3vw,2.35rem)}.policy h2:first-child{margin-top:0}.footer{padding:70px 0 30px;background:var(--pine-deep);color:rgba(255,255,255,.78)}.footer .brand{color:#fff}.footer .brand-name{font-size:2.72rem}.footer h3{color:#fff;font:800 .86rem/1.4 Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase}.footer a{display:block;margin:.48rem 0;color:rgba(255,255,255,.86);text-decoration:none}.footer a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}.footgrid{display:grid;grid-template-columns:2fr 1fr 1.2fr 1fr;gap:48px}.footer-brand-block p{max-width:420px}.footer-languages{display:inline-flex;padding:8px 12px;border:1px solid rgba(255,255,255,.16);border-radius:999px;color:#fff;font-size:.78rem;font-weight:750}.fine{margin-top:44px;padding-top:22px;border-top:1px solid rgba(255,255,255,.13);font-size:.8rem;color:rgba(255,255,255,.62)}.mobile-action-bar{display:none}.nav-backdrop{position:fixed;inset:92px 0 0;z-index:90;background:rgba(9,42,39,.46);opacity:0;pointer-events:none;transition:opacity .2s ease}body.menu-open .nav-backdrop{opacity:1;pointer-events:auto}[data-lang="zh"]{display:none}body.zh [data-lang="en"]{display:none}body.zh [data-lang="zh"]{display:inline}.block[data-lang="en"]{display:block}body.zh .block[data-lang="en"]{display:none}body.zh .block[data-lang="zh"]{display:block}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #0b7c70;outline-offset:4px}
@media(max-width:1130px){.links{position:fixed;top:92px;right:0;bottom:0;z-index:100;width:min(460px,92vw);display:flex;flex-direction:column;align-items:stretch;gap:3px;overflow:auto;padding:24px;background:var(--paper);box-shadow:-24px 30px 70px rgba(9,42,39,.2);transform:none;transition:transform .24s ease}.links.open{transform:none}.links>a:not(.btn){min-height:54px;padding:8px 12px;border-bottom:1px solid var(--line);font-size:1.02rem}.links>a:not(.btn)::after{display:none}.links a[aria-current="page"]{color:var(--clay)}.links .btn{margin-top:15px}.menu{display:block}.v4-hero-grid{grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);gap:48px}.approach-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.approach-strip a{border-bottom:1px solid var(--line)}.approach-strip a:nth-child(3){border-right:0}.compare-grid{grid-template-columns:1fr}.compare-card{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr)}.compare-photo img{height:100%;min-height:610px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footgrid{grid-template-columns:1.7fr 1fr 1fr}.footgrid>div:last-child{grid-column:2/4}}
@media(max-width:840px){.shell{width:min(var(--shell),calc(100% - 36px))}.section{padding:84px 0}.v4-hero{padding:66px 0 64px}.v4-hero-grid,.editorial-grid,.profile-hero-grid,.profile-work-grid,.process-layout,.trust-panel{grid-template-columns:1fr}.editorial-grid{gap:36px}.editorial-note{max-width:620px}.split-heading{grid-template-columns:1fr;gap:16px}.clinician-feature,.clinician-feature.reverse{grid-template-columns:minmax(230px,.72fr) minmax(0,1.28fr)}.clinician-feature.reverse .feature-photo{order:0}.feature-photo img{min-height:500px}.feature-copy{padding:38px}.process-layout{gap:48px}.approach-grid,.background-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-hero-grid{gap:44px}.profile-portrait-wrap{width:min(100%,430px);margin-inline:auto}.professional-panel,.supervision-v4,.final-cta{align-items:flex-start;flex-direction:column}.contact-grid-v4{grid-template-columns:1fr}.contact-profile{grid-template-columns:160px minmax(0,1fr)}.grid3{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-grid{grid-template-columns:1fr}.supervision-panel{grid-template-columns:1fr}.footgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.footgrid>div:first-child{grid-column:1/-1}.footgrid>div:last-child{grid-column:auto}}
@media(max-width:620px){body{font-size:15.7px;line-height:1.68}.shell{width:min(var(--shell),calc(100% - 28px))}.navin{min-height:76px}.brand-name{font-size:1.82rem}.brand small{font-size:.5rem;letter-spacing:.27em}.lang{min-width:40px;min-height:40px;font-size:.83rem}.menu{width:42px;height:42px}.links{top:76px;width:100vw;padding:20px 18px}.nav-backdrop{inset:76px 0 0}h1{font-size:clamp(2.75rem,13vw,3.65rem)}h2{font-size:clamp(2rem,9vw,2.8rem)}h3{font-size:1.34rem}.section{padding:66px 0}.section-heading{margin-bottom:30px}.v4-hero{padding:46px 0 48px}.hero-lead{font-size:1rem}.actions{display:grid;grid-template-columns:1fr;gap:11px;margin-top:23px}.actions .btn{width:100%}.actions .text-link{justify-content:center;min-height:42px}.trust-line{display:grid;gap:8px;margin-top:26px;padding-top:18px}.trust-line span:not(:last-child)::after{display:none}.concern-grid{grid-template-columns:1fr}.concern-card,.concern-card:nth-child(odd),.concern-card:nth-child(even){grid-template-columns:34px minmax(0,1fr) 24px;padding:22px 0;border-right:0}.concern-card h3{font-size:1.27rem}.concern-card p{font-size:.9rem}.clinician-feature,.clinician-feature.reverse{grid-template-columns:1fr;border-radius:24px}.feature-photo img{height:auto;min-height:0;aspect-ratio:4/4.25}.feature-copy{padding:25px}.feature-copy h3{font-size:2.35rem}.focus-row{flex-wrap:nowrap;max-width:100%;overflow-x:auto;padding-bottom:6px;scrollbar-width:none}.focus-row::-webkit-scrollbar{display:none}.focus-row span{flex:0 0 auto}.process-list li{grid-template-columns:48px minmax(0,1fr);padding:22px 0}.approach-strip{display:flex;overflow-x:auto;border-radius:20px;scroll-snap-type:x mandatory}.approach-strip a{min-width:78%;min-height:150px;border-right:1px solid var(--line);scroll-snap-align:start}.trust-panel{gap:32px;padding:28px 22px;border-radius:24px}.trust-list{grid-template-columns:1fr}.final-cta-section,.profile-final{padding:54px 0}.editorial-hero{padding:48px 0 44px}.editorial-note{padding:20px}.compare-card{display:block;border-radius:24px}.compare-photo img{height:auto;min-height:0;aspect-ratio:4/4.1}.compare-copy{padding:25px}.compare-copy h2{font-size:2.35rem}.service-grid,.compact-grid,.approach-grid,.background-grid,.grid2,.grid3,.grid4{grid-template-columns:1fr}.service-card{min-height:230px;padding:24px}.professional-panel,.supervision-v4{gap:28px}.profile-hero-v4{padding:42px 0 62px}.profile-hero-grid{gap:32px}.profile-portrait-wrap{width:min(100%,325px)}.profile-photo-v4{border-radius:22px}.profile-facts{width:calc(100% - 20px);margin-top:-27px;padding:14px 16px}.profile-facts>div{grid-template-columns:78px 1fr;gap:10px}.profile-intro h1{font-size:3.35rem}.large-credentials{font-size:.78rem}.profile-work-grid{gap:34px}.session-panel{padding:23px}.approach-tile{min-height:0;padding:22px}.credential-accordion summary{padding:20px;font-size:1.18rem}.details-body{padding:0 20px 20px}.details-body ul{padding-left:1.05rem}.contact-profile{grid-template-columns:1fr;padding:23px;border-radius:22px}.contact-profile>img{width:116px}.contact-profile h2{font-size:2.25rem}.contact-note{padding:22px}.pagehero{padding:45px 0 40px}.card{padding:22px}.banner{flex-direction:column;align-items:stretch;padding:26px 23px}.fee-table{display:block;overflow-x:auto;white-space:nowrap}.footer{padding:52px 0 94px}.footer .brand-name{font-size:2.22rem}.footgrid{grid-template-columns:1fr;gap:28px}.footgrid>div:first-child{grid-column:auto}.fine{margin-top:30px}.mobile-action-bar{position:fixed;left:10px;right:10px;bottom:10px;z-index:150;display:grid;grid-template-columns:.78fr 1.22fr;gap:8px;padding:8px;border:1px solid rgba(255,255,255,.65);border-radius:18px;background:rgba(255,253,249,.94);backdrop-filter:blur(18px);box-shadow:0 18px 55px rgba(9,42,39,.24)}.mobile-action{min-height:48px;display:flex;align-items:center;justify-content:center;border-radius:12px;font-weight:800;text-decoration:none}.secondary-action{border:1px solid var(--line-strong);color:var(--pine)}.primary-action{background:var(--pine);color:#fff}.has-mobile-bar{padding-bottom:82px}.has-mobile-bar .footer{padding-bottom:104px}}
@media(max-width:380px){.brand-name{font-size:1.62rem}.brand small{font-size:.44rem}.profile-intro h1{font-size:3rem}.contact-profile>img{width:98px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* ================================================================
   KAEVA COUNSELLING 6.0 - SAKURA HEALING DESIGN SYSTEM
   ================================================================ */

html,body{
  width:100%;
  max-width:100%;
  overflow-x:clip
}
body{
  background:
    radial-gradient(circle at 14% 8%,rgba(216,170,169,.07),transparent 19rem),
    linear-gradient(180deg,#fcfaf6 0%,var(--ivory) 100%);
  color:var(--ink)
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.32;
  background-image:
    radial-gradient(circle,rgba(79,105,94,.10) .45px,transparent .7px),
    radial-gradient(circle,rgba(216,170,169,.08) .45px,transparent .7px);
  background-position:0 0,9px 11px;
  background-size:18px 18px,22px 22px
}
main,section,.shell,.v4-hero-grid,.grid2,.grid3,.grid4,.contact-grid-v4,
.compare-grid,.profile-hero-grid,.profile-work-grid,.service-grid,
.approach-grid,.background-grid{
  min-width:0
}
img{max-width:100%;height:auto}
h1,h2,h3{color:var(--pine-deep)}
p{color:inherit}

html[lang^="zh-Hant"] body{
  font-family:"PingFang TC","Noto Sans TC","Microsoft JhengHei",system-ui,sans-serif
}
html[lang^="zh-Hans"] body{
  font-family:"PingFang SC","Noto Sans SC","Microsoft YaHei",system-ui,sans-serif
}
html[lang^="zh-Hant"] h1,
html[lang^="zh-Hant"] h2,
html[lang^="zh-Hant"] h3,
html[lang^="zh-Hant"] .brand-name{
  font-family:"Songti TC","Noto Serif CJK TC","PMingLiU",Georgia,serif;
  letter-spacing:-.015em
}
html[lang^="zh-Hans"] h1,
html[lang^="zh-Hans"] h2,
html[lang^="zh-Hans"] h3,
html[lang^="zh-Hans"] .brand-name{
  font-family:"Songti SC","Noto Serif CJK SC","STSong",Georgia,serif;
  letter-spacing:-.015em
}

/* Language visibility on legacy bilingual root pages. */
[data-lang="zh"]{display:none!important}
body.zh [data-lang="en"]{display:none!important}
body.zh [data-lang="zh"]{display:revert!important}
body.zh .block[data-lang="zh"]{display:block!important}

/* Header and language navigation. */
.nav{
  background:rgba(252,248,242,.94);
  border-bottom:1px solid rgba(79,105,94,.10);
  box-shadow:0 5px 22px rgba(79,105,94,.035)
}
.navin{min-height:98px}
.brand,.links a,.text-link{color:var(--pine-deep)}
.brand-name{font-size:3rem;letter-spacing:.018em}
.brand small{margin-top:.38rem;font-size:.68rem;letter-spacing:.31em;color:#71827a}
.links>a:not(.btn){transition:color var(--transition)}
.links>a:not(.btn)::after{background:var(--sakura-deep);transition:transform var(--transition)}
.nav-actions{position:relative}
.language-picker{position:relative;z-index:160}
.language-picker summary{
  min-width:46px;
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 12px;
  border:1px solid var(--line-strong);
  border-radius:999px;
  background:rgba(255,253,249,.88);
  color:var(--pine-deep);
  font-size:.82rem;
  font-weight:820;
  cursor:pointer;
  list-style:none;
  transition:background var(--transition),border-color var(--transition),transform var(--transition)
}
.language-picker summary::-webkit-details-marker{display:none}
.language-picker summary:hover{background:var(--sakura-mist);border-color:rgba(185,120,120,.3);transform:translateY(-1px)}
.language-options{
  position:absolute;
  right:0;
  top:calc(100% + 10px);
  min-width:158px;
  padding:8px;
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(255,253,249,.98);
  box-shadow:var(--shadow-md)
}
.language-options a{
  display:block;
  padding:10px 12px;
  border-radius:11px;
  color:var(--ink);
  font-size:.88rem;
  font-weight:720;
  text-decoration:none
}
.language-options a:hover,.language-options a[aria-current="true"]{background:var(--sakura-mist);color:var(--pine-deep)}
.menu{background:rgba(255,253,249,.92)}
.menu span{background:var(--pine-deep)}

/* Consistent interaction and accessibility. */
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{
  outline:3px solid #a96467;
  outline-offset:4px
}
.btn{
  min-height:50px;
  transition:transform var(--transition),background var(--transition),border-color var(--transition),box-shadow var(--transition)
}
.btn:hover{transform:translateY(-2px);box-shadow:0 11px 25px rgba(79,105,94,.10)}
.primary,.nav-cta,.mobile-action.primary-action{
  color:#fff;
  background:linear-gradient(135deg,#5f7d6d 0%,#4f695e 100%);
  border-color:#536f64
}
.primary:hover,.nav-cta:hover,.mobile-action.primary-action:hover{
  background:linear-gradient(135deg,#536f64 0%,#425b52 100%);
  border-color:#475f56
}
.secondary,.secondary-action{
  color:var(--pine-deep);
  background:rgba(255,253,249,.78);
  border-color:#91a99f
}
.secondary:hover,.secondary-action:hover{background:var(--sakura-mist);border-color:#c89a99}
.light{background:#fffaf6;border-color:#fffaf6;color:var(--pine-deep)}
.text-link{transition:color var(--transition),transform var(--transition)}
.text-link:hover{color:var(--sakura-deep);transform:translateX(2px)}

/* Washi and sakura hero. */
.v4-hero{
  position:relative;
  isolation:isolate;
  background:
    radial-gradient(circle at 84% 15%,rgba(216,170,169,.24),transparent 25%),
    radial-gradient(circle at 12% 88%,rgba(233,240,241,.72),transparent 27%),
    linear-gradient(145deg,#fffaf5 0%,#f7f3ed 46%,#eef4ef 100%)
}
.v4-hero::before{
  width:560px;
  height:560px;
  right:-260px;
  top:-330px;
  border-color:rgba(185,120,120,.17)
}
.v4-hero::after{
  content:"";
  position:absolute;
  z-index:-1;
  left:-70px;
  bottom:-110px;
  width:310px;
  height:310px;
  border-radius:52% 48% 62% 38%;
  background:radial-gradient(circle at 62% 36%,rgba(216,170,169,.16),rgba(227,235,227,.16) 55%,transparent 72%);
  transform:rotate(-16deg)
}
.hero-copy h1{max-width:780px}
.hero-copy .hero-lead{color:#64736d}
.trust-line{border-color:rgba(79,105,94,.12)}
.trust-line span:not(:last-child)::after{background:var(--sakura)}

/* Stable hero portraits - never rotated, stretched or overlapped. */
.hero-therapists{
  position:relative;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  align-items:start;
  width:100%;
  max-width:620px;
  min-height:0;
  margin-inline:auto
}
.hero-therapist-card{
  position:static;
  min-width:0;
  overflow:hidden;
  transform:none!important;
  rotate:none!important;
  border:5px solid rgba(255,253,249,.96);
  border-radius:30px;
  background:var(--paper);
  box-shadow:0 24px 60px rgba(79,105,94,.10)
}
.hero-therapist-card:nth-child(2){margin-top:32px}
.hero-therapist-card img{
  position:static;
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:center top;
  transform:none!important;
  rotate:none!important;
  background:var(--sage-light)
}
.hero-therapist-caption{position:static;padding:15px 16px 17px;background:var(--paper)}
.hero-therapist-caption strong{display:block;color:var(--pine-deep);font-size:1.18rem}
.hero-therapist-credentials{
  display:block;
  min-height:2.7em;
  margin-top:5px;
  color:var(--muted);
  font-size:.68rem;
  font-weight:680;
  line-height:1.42;
  overflow-wrap:anywhere
}
.hero-therapist-note{
  position:static;
  grid-column:1/-1;
  width:auto;
  margin-top:-3px;
  padding:16px 19px;
  transform:none;
  border-radius:18px;
  background:linear-gradient(135deg,#789787,#97aea3);
  color:#fff;
  font:700 1rem/1.52 Georgia,"Times New Roman",serif;
  box-shadow:var(--shadow-md)
}

/* Unified cards and softer section rhythm. */
.section{padding:112px 0}
.card,.service-card,.insight-card,.approach-tile,.background-card,
.contact-profile,.contact-note,.credential-accordion details,.editorial-note,
.trust-panel,.clinician-feature,.compare-card{
  border-color:rgba(79,105,94,.13);
  background:var(--paper);
  box-shadow:var(--shadow-sm)
}
.card,.service-card,.approach-tile,.background-card,.contact-profile,
.contact-note,.credential-accordion details,.editorial-note{border-radius:var(--radius-m)}
.card,a.card,.service-card,.approach-tile,.background-card,.clinician-feature,.compare-card{
  transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition)
}
a.card:hover,.service-card:hover,.approach-tile:hover,.background-card:hover{
  transform:translateY(-4px);
  border-color:rgba(185,120,120,.22);
  box-shadow:var(--shadow-md)
}
.eyebrow,.role-label,.concern-index{color:var(--sakura-deep)}

.concerns-section{background:#fffdf9}
.concern-card{transition:background var(--transition),transform var(--transition)}
.concern-card:hover{background:linear-gradient(90deg,rgba(250,239,238,.75),rgba(244,246,240,.58));transform:translateY(-1px)}
.concern-index{
  width:34px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--sakura-mist)
}
.card-arrow{color:var(--sakura-deep)}

.clinician-section{
  position:relative;
  background:linear-gradient(180deg,#f9efeb 0%,#f8f4ed 46%,#f1f5ef 100%)
}
.clinician-section::before{
  content:"";
  position:absolute;
  right:4%;
  top:5%;
  width:210px;
  height:210px;
  pointer-events:none;
  border-radius:58% 42% 63% 37%;
  background:radial-gradient(circle at 40% 42%,rgba(216,170,169,.16),transparent 67%);
  transform:rotate(18deg)
}
.clinician-feature{border-radius:38px;box-shadow:0 20px 58px rgba(79,105,94,.08)}
.feature-photo img{min-height:540px}
.feature-copy{padding:58px}
.focus-row > span,.chip{background:#edf3eb;color:var(--pine-deep);border-color:rgba(79,105,94,.08)}
.focus-row > span::before{content:"";width:5px;height:5px;margin-right:7px;border-radius:50%;background:var(--sakura);display:inline-block;vertical-align:middle}
.credentials,.large-credentials{color:#65736d}

.process-section{background:linear-gradient(180deg,var(--kinari),#fbf8f2)}
.process-list>li>span{
  width:44px;
  height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  color:var(--sakura-deep);
  background:var(--sakura-mist)
}
.approaches-preview{background:linear-gradient(180deg,#eaf1f1,#f2f4ed)}
.approach-strip{background:rgba(255,253,249,.82);border-radius:30px}
.approach-strip a{transition:background var(--transition),transform var(--transition)}
.approach-strip a:hover{background:var(--sakura-mist);transform:translateY(-2px)}
.approach-strip span{color:var(--pine-deep)}
.trust-section{background:#fffdf9}
.trust-panel{background:linear-gradient(135deg,#f7faf5,#fff9f6)}
.trust-list li::before{color:var(--sakura-deep)}
.final-cta-section,.profile-final{background:linear-gradient(135deg,#69877b,#8ca59a 68%,#a99b91)}
.professional-services{background:linear-gradient(135deg,#779287,#9aada5)}
.footer{background:linear-gradient(180deg,#536f64 0%,#425b52 100%)}

/* Editorial, profiles and service pages. */
.pagehero,.editorial-hero,.profile-hero-v4{
  background:
    radial-gradient(circle at 88% 12%,rgba(216,170,169,.16),transparent 24%),
    linear-gradient(145deg,#fffaf5,#f2f5ef)
}
.profile-photo-v4,.profile-portrait-wrap,.compare-photo,.contact-portrait{transform:none!important;rotate:none!important}
.profile-facts{background:rgba(255,253,249,.96);border-color:rgba(79,105,94,.14)}
.session-panel{background:linear-gradient(135deg,#f8f3ed,#f4f7f1)}
.profile-note{border-left-color:var(--sakura);background:var(--sakura-mist)}

/* Comparison images and metadata. */
.compare-card{align-items:start;min-width:0}
.compare-photo{min-width:0;align-self:start;overflow:hidden;background:var(--sage-light)}
.compare-photo img{
  display:block;
  width:100%;
  height:auto;
  min-height:0;
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:center top
}
.compare-copy,.compare-meta,.compare-meta-row{min-width:0}
.compare-meta{
  display:grid;
  gap:16px;
  margin-top:0;
  padding-top:20px;
  border-top:1px solid var(--line)
}
.compare-meta-row{display:block;min-width:0;white-space:normal;overflow:visible;overflow-wrap:anywhere}
.compare-meta-label{display:block;margin:0 0 5px;color:var(--pine-deep);font-size:.9rem;font-weight:820;line-height:1.4}
.compare-meta-value{display:block;color:var(--muted);font-size:.9rem;line-height:1.68;overflow-wrap:anywhere}

/* Contact portraits must never stretch with their text column. */
.contact-profile{
  grid-template-columns:170px minmax(0,1fr);
  align-items:start;
  align-content:start;
  grid-auto-rows:min-content;
  min-height:0
}
.contact-profile>.contact-portrait{
  display:block;
  width:170px;
  max-width:100%;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:4/5;
  align-self:start;
  justify-self:start;
  object-fit:cover;
  object-position:center top;
  border-radius:20px
}
.contact-profile>div{min-width:0;align-self:start}
.contact-note{background:linear-gradient(135deg,var(--sakura-mist),#fffaf6);border-color:rgba(185,120,120,.20)}

/* Accordion - only the plus icon rotates. */
.credential-accordion summary{overflow:hidden}
.credential-accordion summary>span:not(.accordion-icon){min-width:0;transform:none!important;rotate:none!important}
.credential-accordion .accordion-icon{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  color:var(--sakura-deep);
  transition:transform var(--transition)
}
.credential-accordion details[open] .accordion-icon{transform:rotate(45deg)}

/* Scroll reveal: subtle and disabled for reduced-motion users. */
.reveal{opacity:1;transform:none}
.reveal.reveal-ready{opacity:1;transform:translateY(8px);transition:transform .52s ease}
.reveal.reveal-ready.is-visible{opacity:1;transform:none}

/* Safe wrapping. */
.credentials,.large-credentials,.compare-meta-row,.contact-profile,.btn,.text-link,
.hero-therapist-credentials{overflow-wrap:anywhere;word-break:normal}

@media(min-width:1131px){
  .compare-grid{align-items:stretch}
  .compare-card{display:grid;grid-template-rows:auto minmax(0,1fr);height:100%}
  .compare-copy{display:flex;flex-direction:column;height:100%}
  .compare-copy>.role-label{min-height:1.5rem}
  .compare-copy>h2{min-height:3.2rem}
  .compare-copy>.credentials{min-height:5.5rem}
  .compare-copy>p:not(.role-label):not(.credentials){min-height:7.3rem}
  .compare-copy>.compare-block{min-height:245px;margin-bottom:0}
  .compare-copy>.actions{margin-top:auto;padding-top:24px}
}

/* Mobile menu is removed from layout while closed. */
@media(max-width:1130px){
  .links{
    display:none;
    left:auto;
    right:0;
    width:min(460px,100%);
    max-width:100%;
    transform:none!important
  }
  .links.open{display:flex;transform:none!important}
  .hero-therapist-card:nth-child(2){margin-top:22px}
  .contact-grid-v4{grid-template-columns:1fr;max-width:900px;margin-inline:auto}
  .contact-profile{grid-template-columns:160px minmax(0,1fr)}
  .contact-profile>.contact-portrait{width:160px}
  .compare-card{display:grid;grid-template-columns:280px minmax(0,1fr);align-items:start}
  .compare-copy>.role-label,.compare-copy>h2,.compare-copy>.credentials,
  .compare-copy>p:not(.role-label):not(.credentials),.compare-copy>.compare-block{min-height:0}
}

@media(max-width:820px){
  .brand-name{font-size:2.45rem}
  .section{padding:88px 0}
  .feature-copy{padding:42px}
  .hero-therapists{max-width:590px}
}

@media(max-width:620px){
  .navin{min-height:78px}
  .brand-name{font-size:1.93rem}
  .brand small{font-size:.47rem;letter-spacing:.25em}
  .language-picker summary{min-width:40px;min-height:40px;padding:0 9px}
  .language-options{right:-44px}
  .links{left:0;right:0;width:auto;max-width:none;top:78px}
  .section{padding:68px 0}
  .v4-hero{padding:50px 0 48px}
  .v4-hero::after{width:220px;height:220px;left:-100px;bottom:-80px}
  .hero-therapists{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .hero-therapist-card,.hero-therapist-card:nth-child(2){margin-top:0;border-width:3px;border-radius:19px}
  .hero-therapist-caption{padding:10px 10px 12px}
  .hero-therapist-caption strong{font-size:.95rem}
  .hero-therapist-credentials{min-height:0;font-size:.57rem;line-height:1.38}
  .hero-therapist-note{padding:13px 14px;border-radius:14px;font-size:.84rem}
  .clinician-feature{border-radius:26px}
  .feature-copy{padding:27px}
  .feature-photo img{min-height:0;height:auto;aspect-ratio:4/4.35}
  .focus-row > span::before{display:none}
  .approach-strip{border-radius:22px}
  .contact-profile{grid-template-columns:1fr;gap:20px;padding:23px}
  .contact-profile>.contact-portrait{width:132px;justify-self:start;border-radius:17px}
  .compare-card{display:block}
  .compare-photo img{aspect-ratio:4/4.55}
  .compare-meta{gap:13px;padding-top:16px}
  .compare-meta-label{font-size:.86rem}
  .compare-meta-value{font-size:.88rem;line-height:1.62}
  .credential-accordion .accordion-icon{width:28px;height:28px;font-size:1.15rem}
  .reveal.reveal-ready{transform:translateY(10px)}
}

@media(max-width:430px){
  .shell{width:min(var(--shell),calc(100% - 24px))}
  .hero-therapist-credentials{display:none}
  .hero-therapist-caption{min-height:48px}
  .feature-copy h3,.compare-copy h2{font-size:2.2rem}
  .mobile-action-bar{left:8px;right:8px;bottom:8px}
}

@media(max-width:360px){
  .brand-name{font-size:1.68rem}
  .hero-therapists{grid-template-columns:1fr;max-width:285px}
  .hero-therapist-caption{min-height:0}
  .hero-therapist-credentials{display:block;font-size:.62rem}
}

@media(prefers-reduced-motion:reduce){
  .reveal,.reveal.is-visible{opacity:1;transform:none;transition:none}
}

/* ================================================================
   VERSION 6.1 PRODUCTION AUDIT FIXES
   ================================================================ */

html{
  scroll-padding-top:112px;
  scroll-padding-bottom:112px
}

/* Maintain readable footer fine print. */
.fine{
  color:rgba(255,255,255,.72)
}

/* Contrast-safe compact labels. */
.eyebrow,
.role-label,
.concern-index,
.card-arrow{
  color:var(--sakura-deep)
}

/* Focus remains visible above sticky navigation and mobile action bars. */
a:focus-visible,
button:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible{
  outline:3px solid #8e4f52;
  outline-offset:4px;
  scroll-margin-block:112px
}

.language-options a:focus-visible{
  border-radius:9px
}

/* Prevent 100vw scrollbar overflow on narrow screens. */
@media(max-width:620px){
  html{
    scroll-padding-top:90px;
    scroll-padding-bottom:112px
  }
  .links{
    left:0;
    right:0;
    width:auto;
    max-width:none
  }
}

/* Windows high-contrast mode. */
@media(forced-colors:active){
  .btn,
  .language-picker summary,
  .menu,
  .card,
  .service-card,
  .contact-profile,
  .credential-accordion details{
    border:1px solid ButtonText
  }
  .primary,
  .nav-cta,
  .mobile-action.primary-action{
    background:ButtonFace;
    color:ButtonText
  }
}

/* ================================================================
   VERSION 7.0 PRODUCTION-READY HARDENING
   ================================================================ */

:root{
  --tap-target:44px;
  --safe-bottom:max(10px,env(safe-area-inset-bottom));
}

/* Global resilience. */
html{
  overflow-x:clip;
  text-size-adjust:100%;
}
body{
  min-width:320px;
  overflow-x:clip;
}
main,section,.shell,.navin,.links,.actions,
.v4-hero-grid,.hero-therapists,.clinician-feature,.compare-card,
.profile-hero-grid,.profile-work-grid,.contact-profile,.service-grid{
  min-width:0;
}
img{
  max-width:100%;
  height:auto;
}

/* Consistent touch and keyboard targets. */
a,button,summary{
  touch-action:manipulation;
  -webkit-tap-highlight-color:rgba(64,86,77,.12);
}
.menu,.language-picker summary,.btn,.mobile-action{
  min-height:var(--tap-target);
}
.footer a{
  min-height:36px;
  display:flex;
  align-items:center;
}

/* Readable compact information. */
.hero-therapist-credentials{
  font-size:.75rem;
  line-height:1.5;
}
.credentials,.large-credentials,
.profile-facts strong,.format-line,.small,.fine{
  text-wrap:pretty;
}
.profile-facts span{
  font-size:.75rem;
}
.profile-facts strong{
  font-size:.86rem;
}

/* Stable cards and images. */
.hero-therapist-card,
.clinician-feature,.compare-card,.contact-profile,
.background-card,.service-card,.approach-tile{
  contain:layout paint;
}
.hero-therapist-card img,
.profile-photo-v4,.feature-photo img,.compare-photo img,
.contact-portrait{
  transform:none!important;
  rotate:none!important;
}
.background-card{
  min-height:0;
}

/* Exact primary CTA contrast across every link state. */
.primary,.primary:link,.primary:visited,.primary:hover,.primary:active,
.nav-cta,.nav-cta:link,.nav-cta:visited,.nav-cta:hover,.nav-cta:active,
.mobile-action.primary-action,
.mobile-action.primary-action:link,
.mobile-action.primary-action:visited,
.mobile-action.primary-action:hover,
.mobile-action.primary-action:active{
  color:#fff!important;
}
.primary span,.nav-cta span,.mobile-action.primary-action span{
  color:inherit!important;
  opacity:1!important;
}

/* Sticky interface safe areas. */
.mobile-action-bar{
  bottom:var(--safe-bottom);
  padding-bottom:max(8px,env(safe-area-inset-bottom));
}
.has-mobile-bar{
  padding-bottom:calc(88px + env(safe-area-inset-bottom));
}
.has-mobile-bar .footer{
  padding-bottom:calc(110px + env(safe-area-inset-bottom));
}

/* Language menu never leaves the viewport. */
.language-options{
  max-width:calc(100vw - 24px);
}
@media(max-width:620px){
  .language-options{
    right:0;
  }
}

/* Tablet transition before the mobile stack. */
@media(max-width:960px){
  .v4-hero-grid{
    grid-template-columns:1fr;
    gap:42px;
  }
  .hero-copy{
    max-width:760px;
  }
  .hero-therapists{
    max-width:620px;
    margin-inline:auto;
  }
}

/* Narrow mobile typography and spacing. */
@media(max-width:620px){
  body{
    font-size:16px;
  }
  .hero-therapist-credentials{
    font-size:.72rem;
  }
  .large-credentials{
    font-size:.88rem;
  }
  .background-card{
    padding:23px 21px;
  }
  .profile-facts span{
    font-size:.72rem;
  }
  .profile-facts strong{
    font-size:.82rem;
  }
}

/* Prevent fixed heights from creating clipping at large text zoom. */
@media(max-width:1130px){
  .compare-photo img,
  .feature-photo img{
    min-height:0;
  }
}
@media(min-width:1131px){
  .compare-copy>.role-label,
  .compare-copy>h2,
  .compare-copy>.credentials,
  .compare-copy>p:not(.role-label):not(.credentials),
  .compare-copy>.compare-block{
    min-height:0;
  }
}

/* Accessibility preferences. */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }
}
@media(prefers-contrast:more){
  :root{
    --muted:#4f5f58;
    --line:rgba(64,86,77,.35);
  }
  .card,.service-card,.contact-profile,
  .credential-accordion details,.background-card{
    border-width:2px;
  }
}
@media print{
  .nav,.mobile-action-bar,.nav-backdrop,.actions,
  .language-picker,.footer{
    display:none!important;
  }
  body{
    background:#fff;
    color:#000;
    font-size:11pt;
  }
  .section,.pagehero,.profile-hero-v4{
    padding:22px 0;
  }
  a{
    color:#000;
    text-decoration:none;
  }
}

/* ================================================================
   VERSION 7.3 LAYOUT HIERARCHY AND EDITORIAL REFINEMENT
   ================================================================ */

/* More deliberate section rhythm: related sections are closer together. */
.section{
  padding-block:92px;
}
.section-heading{
  margin-bottom:36px;
}
.concerns-section,
.clinician-section,
.process-section{
  padding-block:94px;
}
.approaches-preview{
  padding-block:86px;
}
.profile-work,
.profile-approaches,
.background-section,
.credentials-section,
.supervision-section{
  padding-block:82px;
}
.final-cta-section,
.profile-final{
  padding-block:96px;
}

/* Chinese titles need more leading and no compressed Latin letter spacing. */
html[lang^="zh-Hant"] h1,
html[lang^="zh-Hant"] h2,
html[lang^="zh-Hant"] h3{
  font-family:"PingFang TC","Noto Serif TC","Songti TC","Microsoft JhengHei",serif;
  line-height:1.2;
  letter-spacing:0;
  text-wrap:pretty;
}
html[lang^="zh-Hans"] h1,
html[lang^="zh-Hans"] h2,
html[lang^="zh-Hans"] h3{
  font-family:"PingFang SC","Noto Serif SC","Songti SC","Microsoft YaHei",serif;
  line-height:1.2;
  letter-spacing:0;
  text-wrap:pretty;
}
html[lang^="zh-"] .eyebrow{
  letter-spacing:.1em;
  text-transform:none;
}
html[lang^="zh-"] .hero-lead,
html[lang^="zh-"] p,
html[lang^="zh-"] li{
  line-height:1.82;
}

/* Merge the former credibility section into the approaches section. */
.approach-trust-panel{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(340px,.82fr);
  gap:58px;
  align-items:start;
  margin-top:44px;
  padding-top:38px;
  border-top:1px solid rgba(79,105,94,.22);
}
.approach-trust-panel h2{
  max-width:720px;
  font-size:clamp(1.85rem,3vw,2.75rem);
}
.approach-trust-panel .trust-list{
  align-self:center;
}

/* Quick comparison provides true row alignment before the detailed profiles. */
.quick-compare{
  grid-column:1/-1;
  margin-bottom:12px;
  padding:34px 36px 12px;
  border-top:3px solid var(--pine);
  border-bottom:1px solid rgba(79,105,94,.22);
  background:rgba(255,253,249,.76);
}
.quick-compare-intro{
  display:grid;
  grid-template-columns:minmax(0,.55fr) minmax(0,1.45fr);
  gap:30px;
  align-items:end;
  margin-bottom:22px;
}
.quick-compare-intro .eyebrow{
  margin:0 0 4px;
}
.quick-compare-intro h2{
  margin:0;
  font-size:clamp(1.7rem,3vw,2.55rem);
}
.quick-compare-table{
  width:100%;
}
.quick-compare-row{
  display:grid;
  grid-template-columns:minmax(145px,.55fr) minmax(0,1fr) minmax(0,1fr);
  border-top:1px solid rgba(79,105,94,.16);
}
.quick-compare-row>div{
  min-width:0;
  padding:16px 18px;
}
.quick-compare-row>div+div{
  border-left:1px solid rgba(79,105,94,.13);
}
.quick-compare-header{
  border-top:0;
}
.quick-compare-header>div{
  padding-top:10px;
  padding-bottom:12px;
}
.quick-compare-person{
  color:var(--pine-deep);
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.32rem;
  font-weight:700;
}
.quick-compare-label{
  color:var(--pine-deep);
  font-size:.78rem;
  font-weight:850;
  letter-spacing:.04em;
}
.quick-compare-value{
  color:var(--muted);
  font-size:.92rem;
  line-height:1.62;
}

/* The choice prompts should read as editorial guidance, not three large boxes. */
.fit-section .grid3{
  gap:0;
  border-top:1px solid rgba(79,105,94,.22);
  border-bottom:1px solid rgba(79,105,94,.22);
}
.fit-section .insight-card{
  min-height:0;
  padding:26px 28px 28px;
  border:0;
  border-right:1px solid rgba(79,105,94,.18);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.fit-section .insight-card:last-child{
  border-right:0;
}
.fit-section .insight-card>span{
  margin-bottom:12px;
  font-size:.72rem;
}
.fit-section .insight-card h3{
  margin-bottom:9px;
  font-size:clamp(1.45rem,2vw,1.8rem);
}

/* Reduce repeated card treatment on professional and approach sections. */
.background-section .background-grid{
  gap:0;
  border-top:1px solid rgba(79,105,94,.22);
  border-bottom:1px solid rgba(79,105,94,.22);
}
.background-section .background-card{
  min-height:0;
  padding:26px 28px;
  border:0;
  border-right:1px solid rgba(79,105,94,.18);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.background-section .background-card:last-child{
  border-right:0;
}
.profile-approaches .approach-grid{
  gap:18px;
}
.profile-approaches .approach-tile{
  min-height:0;
  border:0;
  border-top:2px solid rgba(79,105,94,.25);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

/* Footer should support contact completion rather than dominate the page. */
.footer .brand-name{
  font-size:2.05rem;
}
.footer .brand small{
  font-size:.55rem;
}
.footer-brand-block p{
  max-width:440px;
}

/* Desktop/tablet refinements. */
@media(max-width:960px){
  .approach-trust-panel{
    grid-template-columns:1fr;
    gap:28px;
  }
  .quick-compare-intro{
    grid-template-columns:1fr;
    gap:4px;
  }
}

/* Mobile layout preserves the comparison while avoiding sideways overflow. */
@media(max-width:760px){
  .section,
  .concerns-section,
  .clinician-section,
  .process-section,
  .approaches-preview,
  .profile-work,
  .profile-approaches,
  .background-section,
  .credentials-section,
  .supervision-section{
    padding-block:62px;
  }
  .final-cta-section,
  .profile-final{
    padding-block:72px;
  }
  .section-heading{
    margin-bottom:28px;
  }
  .quick-compare{
    padding:25px 0 4px;
    background:transparent;
  }
  .quick-compare-row{
    grid-template-columns:1fr 1fr;
  }
  .quick-compare-row .quick-compare-label{
    grid-column:1/-1;
    padding:16px 0 8px;
    border-left:0;
  }
  .quick-compare-row .quick-compare-value,
  .quick-compare-header .quick-compare-person{
    padding:12px 14px 16px;
  }
  .quick-compare-row>div:nth-child(2){
    border-left:0;
  }
  .quick-compare-header .quick-compare-label{
    display:none;
  }
  .fit-section .grid3,
  .background-section .background-grid{
    border-bottom:0;
  }
  .fit-section .insight-card,
  .background-section .background-card{
    padding:22px 0 24px;
    border-right:0;
    border-bottom:1px solid rgba(79,105,94,.18);
  }
  .fit-section .insight-card:last-child,
  .background-section .background-card:last-child{
    border-bottom:0;
  }
  .footgrid>div:nth-child(4){
    order:1;
  }
  .footer-brand-block{
    order:2;
  }
  .footgrid>div:nth-child(2){
    order:3;
  }
  .footgrid>div:nth-child(3){
    order:4;
  }
}

@media(max-width:430px){
  html[lang^="zh-"] h1{
    font-size:clamp(2.65rem,13vw,3.3rem);
  }
  html[lang^="zh-"] h2{
    font-size:clamp(2rem,9vw,2.55rem);
  }
  .quick-compare-person{
    font-size:1.05rem;
  }
  .quick-compare-value{
    font-size:.84rem;
  }
}

/* ==================================================================
   KAEVA COUNSELLING 8.0 — SIGNATURE EDITORIAL DESIGN
   ================================================================== */

:root{
  --pine:#647f70;
  --pine-deep:#3f594f;
  --pine-dark:#30483f;
  --pine-soft:#8ea79a;
  --sage-light:#f0f4ee;
  --sage:#e4ebe4;
  --ivory:#fbf8f2;
  --paper:#fffdf9;
  --sakura:#d8aaa7;
  --sakura-deep:#9d625c;
  --sakura-mist:#f7ecea;
  --mist-blue:#eaf1f1;
  --ink:#34413c;
  --muted:#68756f;
  --line:rgba(63,89,79,.15);
  --line-strong:rgba(63,89,79,.28);
  --shadow-xs:0 8px 24px rgba(48,72,63,.05);
  --shadow-sm:0 14px 38px rgba(48,72,63,.07);
  --shadow-md:0 26px 70px rgba(48,72,63,.10);
  --shadow-lg:0 38px 100px rgba(48,72,63,.13);
  --radius-s:14px;
  --radius-m:24px;
  --radius-l:34px;
  --shell:1180px;
}

/* Foundation */
body{
  background:var(--ivory);
  color:var(--ink);
  font-size:16px;
  line-height:1.72;
}
body::before{
  opacity:.18;
}
.shell{
  width:min(var(--shell),calc(100% - 64px));
}
h1,h2,h3{
  color:var(--pine-deep);
  letter-spacing:-.035em;
}
h1{
  font-size:clamp(3.8rem,6.4vw,5.95rem);
  line-height:.98;
}
h2{
  font-size:clamp(2.35rem,4.15vw,3.75rem);
  line-height:1.02;
}
h3{
  font-size:clamp(1.3rem,1.9vw,1.65rem);
  line-height:1.16;
}
.eyebrow{
  margin-bottom:15px;
  color:var(--sakura-deep);
  font-size:.69rem;
  letter-spacing:.2em;
}
.hero-lead,.lead{
  color:var(--muted);
  line-height:1.75;
}
.section{
  padding-block:94px;
}
.section-heading{
  margin-bottom:38px;
}
.section-heading h2{
  max-width:820px;
}
.section-heading>p{
  max-width:620px;
  line-height:1.75;
}

/* Header */
.nav{
  background:rgba(251,248,242,.93);
  border-bottom-color:rgba(63,89,79,.09);
  box-shadow:none;
  transition:box-shadow .25s ease,background .25s ease;
}
.nav.nav-scrolled{
  background:rgba(251,248,242,.97);
  box-shadow:0 10px 34px rgba(48,72,63,.075);
}
.navin{
  min-height:84px;
}
.brand-name{
  font-size:2.45rem;
  color:var(--pine-deep);
}
.brand small{
  margin-top:.32rem;
  font-size:.59rem;
  color:#74837c;
}
.links{
  gap:20px;
}
.links>a:not(.btn){
  font-size:.84rem;
  font-weight:760;
}
.nav-cta{
  min-height:46px;
  padding:11px 19px;
}
.language-picker summary{
  min-width:44px;
  min-height:44px;
}

/* Buttons */
.btn{
  min-height:52px;
  padding:13px 24px;
  border-radius:999px;
  font-size:.88rem;
  box-shadow:none;
}
.primary,.nav-cta,.mobile-action.primary-action{
  background:var(--pine-deep);
  border-color:var(--pine-deep);
}
.primary:hover,.nav-cta:hover,.mobile-action.primary-action:hover{
  background:var(--pine-dark);
  border-color:var(--pine-dark);
  box-shadow:0 14px 32px rgba(48,72,63,.16);
}
.secondary{
  border-color:rgba(63,89,79,.34);
  background:rgba(255,253,249,.62);
}
.secondary:hover{
  background:#fff;
  border-color:var(--pine-deep);
}

/* ---------------------------------------------------------------
   Homepage hero
   --------------------------------------------------------------- */
.page-home .v4-hero{
  min-height:700px;
  display:flex;
  align-items:center;
  padding:92px 0 96px;
  background:
    radial-gradient(circle at 82% 14%,rgba(216,170,167,.23),transparent 26rem),
    radial-gradient(circle at 8% 94%,rgba(234,241,241,.86),transparent 30rem),
    linear-gradient(140deg,#fffaf5 0%,#f8f2eb 50%,#eef4ef 100%);
}
.page-home .v4-hero::before{
  width:620px;
  height:620px;
  right:-315px;
  top:-390px;
}
.page-home .v4-hero-grid{
  grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr);
  gap:80px;
}
.page-home .hero-copy h1{
  max-width:660px;
  font-size:clamp(4.15rem,6.25vw,6rem);
  line-height:.96;
}
.page-home .hero-copy .hero-lead{
  max-width:620px;
  font-size:1.05rem;
}
.page-home .actions{
  margin-top:28px;
}
.page-home .trust-line{
  max-width:650px;
  margin-top:32px;
  padding-top:19px;
}
.page-home .trust-line span{
  font-size:.78rem;
}
.page-home .hero-therapists{
  max-width:560px;
  gap:18px;
}
.page-home .hero-therapist-card{
  border:4px solid rgba(255,253,249,.98);
  border-radius:26px;
  box-shadow:0 30px 78px rgba(48,72,63,.14);
}
.page-home .hero-therapist-card:nth-child(2){
  margin-top:44px;
}
.page-home .hero-therapist-card img{
  aspect-ratio:4/5;
}
.page-home .hero-therapist-caption{
  min-height:86px;
  padding:15px 16px 16px;
}
.page-home .hero-therapist-caption strong{
  font-size:1.07rem;
}
.page-home .hero-therapist-credentials{
  min-height:0;
  font-size:.68rem;
}
.page-home .hero-therapist-note{
  margin-top:0;
  padding:15px 18px;
  border-radius:16px;
  background:var(--pine-deep);
  font-size:.93rem;
  box-shadow:0 18px 45px rgba(48,72,63,.16);
}

/* Concerns — six balanced editorial tiles */
.page-home .concerns-section{
  background:var(--paper);
}
.page-home .split-heading{
  grid-template-columns:minmax(0,1.05fr) minmax(300px,.7fr);
  gap:84px;
}
.page-home .concern-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:15px;
  border:0;
}
.page-home .concern-card,
.page-home .concern-card:nth-child(odd),
.page-home .concern-card:nth-child(even){
  min-height:205px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
  padding:26px 26px 24px;
  border:1px solid var(--line);
  border-radius:22px;
  background:rgba(255,255,255,.66);
  box-shadow:none;
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.page-home .concern-card:hover{
  transform:translateY(-4px);
  border-color:rgba(63,89,79,.27);
  background:#fff;
  box-shadow:var(--shadow-sm);
}
.page-home .concern-index{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  border-radius:999px;
  background:var(--sakura-mist);
  font-size:.66rem;
}
.page-home .concern-card h3{
  margin:5px 0 4px;
  font-size:1.42rem;
}
.page-home .concern-card p{
  font-size:.88rem;
  line-height:1.62;
}
.page-home .card-arrow{
  margin-top:auto;
  align-self:flex-end;
}

/* Clinicians — balanced side-by-side portraits */
.page-home .clinician-section{
  background:
    radial-gradient(circle at 94% 8%,rgba(216,170,167,.12),transparent 20rem),
    var(--sage-light);
}
.page-home .clinician-showcase{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
}
.page-home .clinician-feature,
.page-home .clinician-feature.reverse{
  display:grid;
  grid-template-columns:1fr;
  grid-template-rows:auto 1fr;
  overflow:hidden;
  border:1px solid rgba(63,89,79,.13);
  border-radius:28px;
  background:var(--paper);
  box-shadow:var(--shadow-sm);
}
.page-home .clinician-feature.reverse .feature-photo{
  order:0;
}
.page-home .feature-photo{
  overflow:hidden;
  background:var(--sage);
}
.page-home .feature-photo img{
  width:100%;
  height:auto;
  min-height:0;
  aspect-ratio:4/3.15;
  object-fit:cover;
  object-position:center 25%;
  transition:transform .6s cubic-bezier(.2,.75,.25,1);
}
.page-home .clinician-feature:hover .feature-photo img{
  transform:scale(1.018)!important;
}
.page-home .feature-copy{
  justify-content:flex-start;
  padding:34px 36px 38px;
}
.page-home .feature-copy h3{
  font-size:clamp(2.2rem,3.1vw,3rem);
}
.page-home .feature-copy>p:not(.credentials):not(.role-label):not(.format-line){
  font-size:.96rem;
}
.page-home .focus-row{
  margin:12px 0 16px;
}
.page-home .feature-copy .btn{
  margin-top:auto;
}

/* Process — concise horizontal pathway */
.page-home .process-section{
  background:var(--paper);
}
.page-home .process-layout{
  grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);
  gap:78px;
  align-items:start;
}
.page-home .process-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  border:0;
}
.page-home .process-list li{
  display:block;
  min-height:190px;
  padding:25px 23px;
  border:1px solid var(--line);
  border-radius:20px;
  background:rgba(255,253,249,.82);
}
.page-home .process-list>li>span{
  display:inline-flex;
  margin-bottom:20px;
  color:var(--sakura-deep);
  font-size:.7rem;
}
.page-home .process-list h3{
  font-size:1.2rem;
}
.page-home .process-list p{
  font-size:.86rem;
  line-height:1.62;
}

/* Approaches and professional credibility */
.page-home .approaches-preview{
  background:
    linear-gradient(180deg,rgba(234,241,241,.72),rgba(228,235,228,.92));
}
.page-home .approach-strip{
  border-radius:22px;
  background:rgba(255,253,249,.75);
  box-shadow:var(--shadow-xs);
}
.page-home .approach-strip a{
  min-height:188px;
  padding:25px 22px;
}
.page-home .approach-strip span{
  font-size:1.2rem;
}
.page-home .approach-trust-panel{
  margin-top:40px;
  padding-top:34px;
}
.page-home .approach-trust-panel h2{
  font-size:clamp(1.8rem,2.8vw,2.65rem);
}
.page-home .trust-list li{
  font-size:.84rem;
}

/* Final CTA */
.final-cta-section,.profile-final{
  background:
    linear-gradient(120deg,var(--pine-deep),#789789 72%,#aeb7aa);
}
.final-cta{
  gap:48px;
}
.final-cta h2{
  max-width:760px;
  color:#fff;
  font-size:clamp(2.45rem,4vw,3.65rem);
}
.final-cta .eyebrow{
  color:#f0c8c3;
}

/* ---------------------------------------------------------------
   Team page
   --------------------------------------------------------------- */
.page-team .editorial-hero{
  padding:88px 0 84px;
  background:
    radial-gradient(circle at 87% 19%,rgba(216,170,167,.18),transparent 23rem),
    linear-gradient(140deg,#fffaf5,#f1f5ef);
}
.page-team .editorial-grid{
  grid-template-columns:minmax(0,1.15fr) minmax(300px,.55fr);
  gap:82px;
  align-items:end;
}
.page-team .editorial-hero h1{
  max-width:830px;
  font-size:clamp(4rem,6.3vw,5.75rem);
  line-height:.98;
}
.page-team .editorial-note{
  padding:26px 27px;
  border:1px solid rgba(63,89,79,.12);
  border-radius:22px;
  background:rgba(255,253,249,.78);
  box-shadow:var(--shadow-sm);
}
.page-team .therapist-comparison{
  background:var(--paper);
}
.page-team .quick-compare{
  margin-bottom:28px;
  padding:34px 36px 22px;
  border:1px solid var(--line);
  border-top:3px solid var(--pine-deep);
  border-radius:24px;
  background:#fff;
  box-shadow:var(--shadow-xs);
}
.page-team .quick-compare-intro{
  margin-bottom:24px;
}
.page-team .quick-compare-row>div{
  padding:17px 18px;
}
.page-team .quick-compare-label{
  font-size:.76rem;
}
.page-team .quick-compare-value{
  font-size:.9rem;
}
.page-team .compare-grid{
  gap:24px;
}
.page-team .compare-card{
  overflow:hidden;
  border:1px solid rgba(63,89,79,.13);
  border-radius:28px;
  box-shadow:var(--shadow-sm);
}
.page-team .compare-photo img{
  aspect-ratio:4/4.15;
  object-fit:cover;
  object-position:center top;
}
.page-team .compare-copy{
  padding:34px 34px 38px;
}
.page-team .compare-copy h2{
  font-size:2.7rem;
}
.page-team .fit-section{
  background:var(--sage-light);
}
.page-team .fit-section .grid3{
  border-top:1px solid var(--line-strong);
}

/* ---------------------------------------------------------------
   Clinician profiles
   --------------------------------------------------------------- */
.page-profile .profile-hero-v4{
  padding:72px 0 82px;
  background:
    radial-gradient(circle at 88% 12%,rgba(216,170,167,.17),transparent 23rem),
    linear-gradient(145deg,#fffaf5,#eff4ef);
}
.page-profile .profile-hero-grid{
  grid-template-columns:minmax(330px,410px) minmax(0,1fr);
  gap:72px;
  align-items:center;
}
.page-profile .profile-portrait-wrap{
  width:100%;
  max-width:410px;
}
.page-profile .profile-photo-v4{
  border-radius:28px;
  box-shadow:var(--shadow-lg);
}
.page-profile .profile-facts{
  width:calc(100% - 28px);
  margin-top:-37px;
  padding:17px 18px;
  border-radius:18px;
  box-shadow:var(--shadow-md);
}
.page-profile .profile-intro{
  max-width:720px;
}
.page-profile .profile-intro h1{
  font-size:clamp(4.1rem,6vw,5.65rem);
}
.page-profile .profile-intro h2{
  max-width:720px;
  font-size:clamp(2rem,3.1vw,3rem);
  line-height:1.05;
}
.page-profile .profile-intro>p:not(.credentials):not(.role-label){
  max-width:700px;
  font-size:1rem;
}
.page-profile .profile-work{
  background:var(--paper);
}
.page-profile .profile-work-grid{
  grid-template-columns:minmax(0,1.12fr) minmax(310px,.68fr);
  gap:80px;
  align-items:start;
}
.page-profile .session-panel{
  position:sticky;
  top:116px;
  padding:28px 28px 30px;
  border-radius:22px;
  background:linear-gradient(145deg,#fffdf9,#f3f6f1);
  box-shadow:var(--shadow-xs);
}
.page-profile .profile-approaches{
  background:linear-gradient(180deg,#e7eeea,#dfe9e3);
}
.page-profile .profile-approaches .approach-grid{
  gap:0;
  border-top:1px solid rgba(63,89,79,.24);
  border-bottom:1px solid rgba(63,89,79,.24);
}
.page-profile .profile-approaches .approach-tile{
  padding:25px 24px;
  border-top:0;
  border-right:1px solid rgba(63,89,79,.18);
}
.page-profile .profile-approaches .approach-tile:nth-child(3n){
  border-right:0;
}
.page-profile .background-section{
  background:var(--paper);
}
.page-profile .background-section .background-grid{
  border-color:var(--line-strong);
}
.page-profile .background-section .background-card{
  padding:28px 30px;
}
.page-profile .credentials-section{
  background:var(--sage-light);
}
.page-profile .credential-accordion details{
  border-radius:18px;
  box-shadow:var(--shadow-xs);
}
.page-profile .supervision-section{
  background:var(--pine);
}
.page-profile .supervision-v4{
  padding:10px 0;
}
.page-profile .supervision-v4 h2{
  color:#fff;
}
.page-profile .supervision-v4 p{
  color:rgba(255,255,255,.84);
}

/* ---------------------------------------------------------------
   General content pages
   --------------------------------------------------------------- */
.page-services .editorial-hero,
.page-contact .editorial-hero,
.page-supervision .editorial-hero{
  padding:82px 0 76px;
}
.pagehero{
  padding:78px 0 72px;
  background:
    radial-gradient(circle at 86% 12%,rgba(216,170,167,.15),transparent 20rem),
    linear-gradient(140deg,#fffaf5,#f2f5f0);
}
.pagehero h1,
.editorial-hero h1{
  max-width:880px;
}
.service-card{
  border-radius:22px;
  box-shadow:var(--shadow-xs);
}
.service-card:hover{
  box-shadow:var(--shadow-sm);
}
.paper,
.service-section,
.contact-section{
  background:var(--paper);
}

/* Footer */
.footer{
  padding:66px 0 28px;
  background:var(--pine-dark);
}
.footer .brand-name{
  font-size:2rem;
}
.footer .brand small{
  font-size:.5rem;
}
.footgrid{
  grid-template-columns:1.75fr .9fr 1.05fr .9fr;
  gap:52px;
}
.footer-brand-block p{
  max-width:390px;
  font-size:.9rem;
}
.footer h3{
  font-size:.72rem;
}
.footer a{
  font-size:.86rem;
}
.fine{
  margin-top:38px;
}

/* ---------------------------------------------------------------
   Tablet
   --------------------------------------------------------------- */
@media(max-width:1130px){
  .shell{
    width:min(var(--shell),calc(100% - 44px));
  }
  .page-home .v4-hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(370px,.82fr);
    gap:48px;
  }
  .page-home .hero-copy h1{
    font-size:clamp(3.8rem,7vw,5.25rem);
  }
  .page-home .concern-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .page-home .clinician-showcase{
    grid-template-columns:1fr 1fr;
  }
  .page-home .process-layout{
    grid-template-columns:1fr;
    gap:36px;
  }
  .page-team .editorial-grid{
    grid-template-columns:minmax(0,1fr) minmax(270px,.5fr);
    gap:48px;
  }
}

/* ---------------------------------------------------------------
   Mobile and small tablet
   --------------------------------------------------------------- */
@media(max-width:840px){
  .shell{
    width:min(var(--shell),calc(100% - 36px));
  }
  .section{
    padding-block:74px;
  }
  h1{
    font-size:clamp(3.2rem,11vw,4.7rem);
  }
  h2{
    font-size:clamp(2.15rem,7.8vw,3.15rem);
  }
  .page-home .v4-hero{
    min-height:0;
    padding:68px 0 72px;
  }
  .page-home .v4-hero-grid{
    grid-template-columns:1fr;
    gap:48px;
  }
  .page-home .hero-copy h1{
    max-width:720px;
  }
  .page-home .hero-therapists{
    max-width:620px;
  }
  .page-home .concern-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .page-home .clinician-showcase{
    grid-template-columns:1fr;
  }
  .page-home .feature-photo img{
    aspect-ratio:16/10;
  }
  .page-home .process-list{
    grid-template-columns:1fr;
  }
  .page-home .process-list li{
    min-height:0;
  }
  .page-home .approach-trust-panel{
    grid-template-columns:1fr;
  }
  .page-team .editorial-grid{
    grid-template-columns:1fr;
    gap:30px;
  }
  .page-team .editorial-hero h1{
    font-size:clamp(3.35rem,10vw,4.65rem);
  }
  .page-profile .profile-hero-grid{
    grid-template-columns:1fr;
    gap:46px;
  }
  .page-profile .profile-portrait-wrap{
    max-width:390px;
    margin-inline:auto;
  }
  .page-profile .profile-work-grid{
    grid-template-columns:1fr;
    gap:38px;
  }
  .page-profile .session-panel{
    position:static;
  }
  .footgrid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* ---------------------------------------------------------------
   Phone
   --------------------------------------------------------------- */
@media(max-width:620px){
  .shell{
    width:min(var(--shell),calc(100% - 28px));
  }
  .navin{
    min-height:74px;
  }
  .brand-name{
    font-size:1.78rem;
  }
  .brand small{
    font-size:.44rem;
  }
  .section{
    padding-block:62px;
  }
  h1{
    font-size:clamp(2.95rem,13vw,3.8rem);
    line-height:1;
  }
  h2{
    font-size:clamp(2.05rem,9vw,2.7rem);
    line-height:1.05;
  }
  .page-home .v4-hero{
    padding:50px 0 56px;
  }
  .page-home .hero-copy h1{
    font-size:clamp(3.15rem,14vw,4.15rem);
  }
  .page-home .hero-therapists{
    gap:10px;
  }
  .page-home .hero-therapist-card,
  .page-home .hero-therapist-card:nth-child(2){
    margin-top:0;
    border-width:3px;
    border-radius:18px;
  }
  .page-home .hero-therapist-caption{
    min-height:78px;
    padding:12px 12px 14px;
  }
  .page-home .hero-therapist-caption strong{
    font-size:.92rem;
  }
  .page-home .hero-therapist-credentials{
    font-size:.61rem;
  }
  .page-home .hero-therapist-note{
    padding:13px 14px;
    font-size:.82rem;
  }
  .page-home .split-heading{
    grid-template-columns:1fr;
    gap:14px;
  }
  .page-home .concern-grid{
    grid-template-columns:1fr;
    gap:10px;
  }
  .page-home .concern-card,
  .page-home .concern-card:nth-child(odd),
  .page-home .concern-card:nth-child(even){
    min-height:0;
    padding:22px 21px;
  }
  .page-home .clinician-feature,
  .page-home .clinician-feature.reverse{
    border-radius:22px;
  }
  .page-home .feature-photo img{
    aspect-ratio:4/3.4;
  }
  .page-home .feature-copy{
    padding:25px 22px 27px;
  }
  .page-home .approach-strip{
    display:grid;
    grid-template-columns:1fr 1fr;
    overflow:visible;
  }
  .page-home .approach-strip a{
    min-width:0;
    min-height:145px;
    border-bottom:1px solid var(--line);
  }
  .page-home .approach-strip a:nth-child(2n){
    border-right:0;
  }
  .page-home .approach-strip a:last-child{
    grid-column:1/-1;
  }
  .page-team .quick-compare{
    padding:24px 18px 10px;
  }
  .page-team .compare-copy{
    padding:25px 23px 29px;
  }
  .page-profile .profile-hero-v4{
    padding:46px 0 60px;
  }
  .page-profile .profile-intro h1{
    font-size:clamp(3.2rem,14vw,4.1rem);
  }
  .page-profile .profile-intro h2{
    font-size:2.15rem;
  }
  .page-profile .profile-approaches .approach-grid{
    grid-template-columns:1fr;
  }
  .page-profile .profile-approaches .approach-tile{
    border-right:0;
    border-bottom:1px solid rgba(63,89,79,.18);
  }
  .page-profile .profile-approaches .approach-tile:last-child{
    border-bottom:0;
  }
  .footgrid{
    grid-template-columns:1fr;
    gap:28px;
  }
}

/* Chinese typography */
html[lang^="zh-Hant"] h1,
html[lang^="zh-Hant"] h2,
html[lang^="zh-Hant"] h3{
  font-family:"PingFang TC","Noto Serif TC","Songti TC","Microsoft JhengHei",serif;
  letter-spacing:0;
  line-height:1.16;
}
html[lang^="zh-Hans"] h1,
html[lang^="zh-Hans"] h2,
html[lang^="zh-Hans"] h3{
  font-family:"PingFang SC","Noto Serif SC","Songti SC","Microsoft YaHei",serif;
  letter-spacing:0;
  line-height:1.16;
}
html[lang^="zh-"] .page-home .hero-copy h1{
  max-width:720px;
}
html[lang^="zh-"] p,
html[lang^="zh-"] li{
  line-height:1.82;
}
@media(max-width:620px){
  html[lang^="zh-"] .page-home .hero-copy h1{
    font-size:clamp(2.85rem,12vw,3.65rem);
    line-height:1.15;
  }
}

/* Full-page rendering and browser paint stability for portrait media. */
.hero-therapist-card,
.clinician-feature,
.compare-card,
.contact-profile{
  contain:none;
}

/* ==================================================================
   KAEVA COUNSELLING 9.0 — FINAL PRODUCTION LAYER
   ================================================================== */

/* Keep visible content independent of JavaScript and rendering timing. */
.reveal,
.reveal.reveal-ready,
.reveal.reveal-ready.revealed{
  opacity:1 !important;
  transform:none !important;
}

/* Consistent reading width and vertical rhythm. */
p,li{
  text-wrap:pretty;
}
.hero-lead,
.section-heading>p,
.feature-copy>p,
.profile-intro>p,
.editorial-note p,
.contact-note p{
  max-width:68ch;
}

/* Prevent long professional titles and URLs from breaking layout. */
.credentials,
.large-credentials,
.compare-meta-value,
.details-body li,
.footer a{
  overflow-wrap:anywhere;
  word-break:normal;
}

/* 200% zoom and narrow-reflow resilience. */
@media(max-width:700px){
  .quick-compare-row,
  .fee-table,
  .contact-profile,
  .professional-panel,
  .supervision-v4{
    min-width:0;
  }
  .btn,
  .nav-cta,
  .mobile-action{
    white-space:normal;
  }
}

/* Strong and uniform focus indication. */
a:focus-visible,
button:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible{
  outline:3px solid #a85f62 !important;
  outline-offset:4px !important;
  border-radius:8px;
}

/* Explicit focus treatment on dark surfaces. */
.footer a:focus-visible,
.final-cta a:focus-visible,
.supervision-section a:focus-visible{
  outline-color:#ffd9d4 !important;
}

/* Accurate dark-mode signalling: the website intentionally remains light. */
:root{
  color-scheme:light;
}

/* Avoid accidental layout containment clipping in long pages. */
.hero-therapist-card,
.clinician-feature,
.compare-card,
.contact-profile,
.background-card,
.service-card,
.approach-tile{
  contain:none;
}

/* Ensure the footer remains a supporting action area rather than a second hero. */
.footer-brand-block p{
  max-width:38ch;
}

/* Chinese localization typography and non-Latin wrapping. */
html[lang^="zh-Hant"] p,
html[lang^="zh-Hant"] li,
html[lang^="zh-Hans"] p,
html[lang^="zh-Hans"] li{
  text-wrap:pretty;
  overflow-wrap:break-word;
}

/* Print and assistive reading. */
@media print{
  .mobile-action-bar,
  .nav,
  .language-picker,
  .actions,
  .service-nav{
    display:none !important;
  }
  main{
    display:block !important;
  }
  h1,h2,h3{
    break-after:avoid;
  }
  section,.card,.compare-card,.contact-profile{
    break-inside:avoid;
  }
}


/* Semantic heading upgrades retain the established visual hierarchy. */
.content-card-title{
  margin:0 0 .72rem;
  color:var(--pine-deep);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.28rem,2vw,1.58rem);
  font-weight:700;
  line-height:1.16;
  letter-spacing:-.025em;
}
.footer-heading{
  margin:0 0 .72rem;
  color:rgba(255,255,255,.76);
  font-family:inherit;
  font-size:.72rem;
  font-weight:850;
  line-height:1.35;
  letter-spacing:.13em;
  text-transform:uppercase;
}
html[lang^="zh-"] .content-card-title{
  letter-spacing:0;
  line-height:1.22;
}


/* ==================================================================
   KAEVA COUNSELLING 9.1 — CONTENT EXPANSION
   ================================================================== */

.consultation-inline{
  max-width:66ch;
  margin:17px 0 0;
  padding-left:16px;
  border-left:3px solid var(--sakura);
  color:var(--muted);
  font-size:.88rem;
  line-height:1.65;
}
.profile-consultation-note{
  margin-top:19px;
}

.consultation-banner{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:24px;
  align-items:center;
  margin:0 0 34px;
  padding:24px 26px;
  border:1px solid rgba(63,89,79,.15);
  border-left:4px solid var(--sakura-deep);
  border-radius:22px;
  background:
    linear-gradient(135deg,rgba(247,236,234,.88),rgba(255,253,249,.95));
  box-shadow:var(--shadow-xs);
}
.consultation-badge{
  min-width:116px;
  padding:10px 13px;
  border-radius:999px;
  background:var(--pine-deep);
  color:#fff;
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.04em;
  text-align:center;
}
.consultation-copy h2{
  margin:0 0 4px;
  font-size:clamp(1.35rem,2vw,1.75rem);
}
.consultation-copy p{
  max-width:68ch;
  margin:0;
  color:var(--muted);
  font-size:.9rem;
  line-height:1.62;
}
.consultation-banner .btn{
  white-space:nowrap;
}

.page-home .approach-strip-expanded{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  overflow:hidden;
  border:1px solid rgba(63,89,79,.14);
  border-radius:22px;
  background:rgba(255,253,249,.78);
  box-shadow:var(--shadow-xs);
}
.page-home .approach-strip-expanded a{
  min-width:0;
  min-height:158px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:24px 23px;
  border-right:1px solid rgba(63,89,79,.13);
  border-bottom:1px solid rgba(63,89,79,.13);
}
.page-home .approach-strip-expanded a:nth-child(3n){
  border-right:0;
}
.page-home .approach-strip-expanded a:nth-last-child(-n+3){
  border-bottom:0;
}
.page-home .approach-strip-expanded span{
  font-size:1.08rem;
  line-height:1.25;
}
.page-home .approach-strip-expanded small{
  margin-top:18px;
  color:var(--muted);
  line-height:1.5;
}

.approach-directory-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.approach-directory-card{
  min-height:238px;
  display:flex;
  flex-direction:column;
  padding:27px 26px;
  border:1px solid rgba(63,89,79,.14);
  border-radius:22px;
  background:var(--paper);
  box-shadow:var(--shadow-xs);
}
.approach-directory-card p:last-child{
  margin-top:auto;
  color:var(--muted);
  font-size:.91rem;
  line-height:1.65;
}
.approach-directory-card strong{
  color:var(--sakura-deep);
  font-size:.76rem;
  letter-spacing:.03em;
}
a.approach-directory-card{
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
a.approach-directory-card:hover{
  transform:translateY(-3px);
  border-color:rgba(63,89,79,.28);
  box-shadow:var(--shadow-sm);
}

@media(max-width:960px){
  .consultation-banner{
    grid-template-columns:auto minmax(0,1fr);
  }
  .consultation-banner .btn{
    grid-column:1/-1;
    justify-self:start;
  }
  .approach-directory-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:700px){
  .consultation-banner{
    grid-template-columns:1fr;
    gap:14px;
    padding:22px 20px;
  }
  .consultation-badge{
    justify-self:start;
    min-width:0;
  }
  .consultation-banner .btn{
    width:100%;
    justify-content:center;
  }
  .page-home .approach-strip-expanded{
    grid-template-columns:1fr 1fr;
  }
  .page-home .approach-strip-expanded a,
  .page-home .approach-strip-expanded a:nth-child(3n),
  .page-home .approach-strip-expanded a:nth-last-child(-n+3){
    min-height:145px;
    border-right:1px solid rgba(63,89,79,.13);
    border-bottom:1px solid rgba(63,89,79,.13);
  }
  .page-home .approach-strip-expanded a:nth-child(2n){
    border-right:0;
  }
  .page-home .approach-strip-expanded a:last-child{
    grid-column:1/-1;
    border-right:0;
    border-bottom:0;
  }
  .approach-directory-grid{
    grid-template-columns:1fr;
  }
  .approach-directory-card{
    min-height:0;
  }
}


/* ==================================================================
   KAEVA COUNSELLING 9.2 — FOUR ADDITIONAL APPROACHES
   ================================================================== */

/* Thirteen items: centre the final item rather than leaving it at the edge. */
@media(min-width:701px){
  .page-home .approach-strip-thirteen > :last-child{
    grid-column:2;
  }
  .approach-directory-thirteen > :last-child{
    grid-column:2;
  }
}

/* Keep long bilingual approach names readable. */
.page-home .approach-strip-thirteen span,
.approach-directory-thirteen .content-card-title{
  overflow-wrap:anywhere;
  text-wrap:balance;
}

@media(max-width:700px){
  .page-home .approach-strip-thirteen > :last-child,
  .approach-directory-thirteen > :last-child{
    grid-column:1/-1;
  }
}


/* ==================================================================
   KAEVA COUNSELLING 9.3 — MOBILE SPECIALTY CHIP FIX
   ================================================================== */

/* Allow expanded specialties to wrap naturally on larger screens. */
.page-home .focus-row-expanded{
  width:100%;
  max-width:100%;
  align-items:stretch;
}
.page-home .focus-row-expanded > span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  white-space:normal;
  text-align:center;
  line-height:1.35;
}

/* Override the older mobile horizontal scroller that clipped the last chip. */
@media(max-width:700px){
  .page-home .focus-row,
  .page-home .focus-row-expanded{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%;
    max-width:100%;
    overflow:visible !important;
    flex-wrap:wrap !important;
    gap:9px;
    margin:14px 0 18px;
    padding:0 !important;
    scrollbar-width:auto;
  }

  .page-home .focus-row::-webkit-scrollbar,
  .page-home .focus-row-expanded::-webkit-scrollbar{
    display:none;
  }

  .page-home .focus-row > span,
  .page-home .focus-row-expanded > span{
    width:100%;
    min-width:0;
    min-height:44px;
    flex:1 1 auto !important;
    padding:9px 10px;
    border-radius:16px;
    white-space:normal;
    overflow-wrap:anywhere;
    text-align:center;
    line-height:1.35;
  }

  .page-home .focus-row > span::before,
  .page-home .focus-row-expanded > span::before{
    display:none !important;
  }
}

/* Two columns remain usable at 320 px; reduce typography slightly. */
@media(max-width:360px){
  .page-home .focus-row,
  .page-home .focus-row-expanded{
    gap:7px;
  }

  .page-home .focus-row > span,
  .page-home .focus-row-expanded > span{
    min-height:42px;
    padding:8px 7px;
    font-size:.72rem;
  }
}


/* ==================================================================
   KAEVA COUNSELLING 9.4 — FULL-VIEWPORT MOBILE MENU
   ================================================================== */

:root{
  --mobile-nav-offset:84px;
}

/* Menu is portalled to <body> while open, avoiding the sticky header's
   backdrop-filter containing block in Safari and Chromium. */
@media(max-width:1130px){
  body.menu-open{
    overflow:hidden !important;
    overscroll-behavior:none;
  }

  body.menu-open .nav{
    z-index:190;
  }

  .links.menu-portalled{
    position:fixed !important;
    top:var(--mobile-nav-offset) !important;
    right:0 !important;
    bottom:auto !important;
    left:auto !important;
    z-index:180 !important;
    width:min(460px,100vw) !important;
    height:calc(100vh - var(--mobile-nav-offset)) !important;
    height:calc(100dvh - var(--mobile-nav-offset)) !important;
    max-height:calc(100vh - var(--mobile-nav-offset)) !important;
    max-height:calc(100dvh - var(--mobile-nav-offset)) !important;
    box-sizing:border-box;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    padding:18px 22px max(28px,env(safe-area-inset-bottom));
    background:var(--paper);
    box-shadow:-24px 30px 70px rgba(9,42,39,.22);
    transform:none !important;
  }

  .links.menu-portalled.open{
    display:flex !important;
  }

  .links.menu-portalled > a:not(.btn){
    flex:0 0 auto;
    width:100%;
    min-height:58px;
    display:flex;
    align-items:center;
    padding:10px 12px;
    border-bottom:1px solid var(--line);
    white-space:normal;
    font-size:1.03rem;
    line-height:1.35;
  }

  .links.menu-portalled .nav-cta{
    flex:0 0 auto;
    width:100%;
    min-height:54px;
    margin:18px 0 max(8px,env(safe-area-inset-bottom));
    padding:14px 18px;
  }

  body.menu-open .nav-backdrop{
    z-index:170;
    inset:var(--mobile-nav-offset) 0 0;
  }

  body.menu-open .mobile-action-bar{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(130%);
  }

  .mobile-action-bar{
    transition:
      opacity .18s ease,
      visibility .18s ease,
      transform .22s ease;
  }
}

@media(max-width:620px){
  :root{
    --mobile-nav-offset:74px;
  }

  .links.menu-portalled{
    right:0 !important;
    left:0 !important;
    width:100vw !important;
    max-width:none !important;
    padding:
      14px max(18px,env(safe-area-inset-right))
      max(28px,env(safe-area-inset-bottom))
      max(18px,env(safe-area-inset-left));
    box-shadow:none;
  }

  .links.menu-portalled > a:not(.btn){
    min-height:60px;
    padding:10px 14px;
    font-size:1.08rem;
  }
}

@media(max-width:360px){
  .links.menu-portalled{
    padding-inline:14px;
  }

  .links.menu-portalled > a:not(.btn){
    min-height:56px;
    font-size:1rem;
  }

  .links.menu-portalled .nav-cta{
    font-size:.88rem;
  }
}


/* ==================================================================
   KAEVA COUNSELLING 9.5 — EDUCATION + BALANCED SPECIALTIES
   ================================================================== */

/* Compact clinician cards: show education clearly beneath each name. */
.page-home .hero-therapist-caption{
  min-height:128px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:4px;
}
.page-home .hero-therapist-caption strong{
  margin-bottom:1px;
}
.page-home .hero-therapist-degree{
  display:block;
  max-width:100%;
  color:var(--sakura-deep);
  font-size:.63rem;
  font-weight:780;
  line-height:1.35;
  overflow-wrap:anywhere;
  text-wrap:pretty;
}
.page-home .hero-therapist-credentials{
  margin-top:auto;
}

/* Larger homepage clinician cards: separate education from registration. */
.page-home .feature-education{
  max-width:100%;
  margin:-2px 0 5px;
  color:var(--sakura-deep);
  font-size:.79rem;
  font-weight:790;
  line-height:1.45;
  overflow-wrap:anywhere;
  text-wrap:pretty;
}
.page-home .feature-education + .credentials{
  margin-top:0;
}

/* Both clinicians now use the same six-specialty responsive layout. */
.page-home .focus-row-expanded{
  width:100%;
  max-width:100%;
}

/* Keep both compact cards visually balanced on tablets and phones. */
@media(max-width:700px){
  .page-home .hero-therapist-caption{
    min-height:120px;
    padding:13px 13px 14px;
  }
  .page-home .hero-therapist-degree{
    font-size:.59rem;
    line-height:1.34;
  }
  .page-home .feature-education{
    font-size:.75rem;
  }
}

@media(max-width:430px){
  /* The degree remains visible even though registration abbreviations are hidden. */
  .page-home .hero-therapist-caption{
    min-height:104px !important;
  }
  .page-home .hero-therapist-degree{
    display:block !important;
    font-size:.55rem;
    line-height:1.32;
  }
  .page-home .hero-therapist-credentials{
    display:none;
  }
}

@media(max-width:360px){
  .page-home .hero-therapist-caption{
    min-height:0 !important;
  }
  .page-home .hero-therapist-degree{
    font-size:.63rem;
  }
  .page-home .hero-therapist-credentials{
    display:block;
    font-size:.62rem;
  }
}


/* ==================================================================
   KAEVA COUNSELLING 9.6 — VERIFIED BUGFIX
   ================================================================== */

/* Keep direct supervision links visible below the sticky header. */
#clinical-supervision{
  scroll-margin-top:112px;
}

@media(max-width:620px){
  #clinical-supervision{
    scroll-margin-top:88px;
  }
}


/* ==================================================================
   KAEVA COUNSELLING 10.0 — CONVERSION AND MOBILE POLISH
   ================================================================== */

/* Preferred Chinese hero line break is mobile-only. */
.mobile-title-break{
  display:none;
}

/* Curated homepage approaches: eight representative items. */
.page-home .approach-strip-curated{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.page-home .approach-strip-curated > a,
.page-home .approach-strip-curated > a:nth-child(3n),
.page-home .approach-strip-curated > a:nth-last-child(-n+3){
  min-height:168px;
  border-right:1px solid rgba(63,89,79,.13);
  border-bottom:1px solid rgba(63,89,79,.13);
}
.page-home .approach-strip-curated > a:nth-child(4n){
  border-right:0;
}
.page-home .approach-strip-curated > a:nth-last-child(-n+4){
  border-bottom:0;
}
.approach-more{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:24px;
}
.approach-more p{
  margin:0;
  color:var(--muted);
  font-size:.9rem;
}

/* Degrees are visibly part of the professional hierarchy. */
.page-home .hero-therapist-degree{
  font-size:.7rem;
  line-height:1.4;
}
.page-home .hero-therapist-credentials{
  font-size:.66rem;
  line-height:1.35;
}
.page-home .feature-education{
  font-size:.86rem;
  line-height:1.5;
}

/* The bottom CTA is an enhancement, not a permanent obstruction. */
.mobile-action-bar[data-smart-cta="true"]{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(calc(100% + 28px));
}
.mobile-action-bar[data-smart-cta="true"].is-visible{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
}
.mobile-action-bar[data-smart-cta="true"].is-near-footer{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(calc(100% + 28px));
}

/* Shorter footer and quieter supporting content. */
.footer{
  padding-top:56px;
  padding-bottom:24px;
}
.footgrid{
  gap:42px;
}
.fine{
  margin-top:28px;
}

/* Slightly tighter mobile rhythm while retaining generous reading space. */
@media(max-width:840px){
  .page-home .v4-hero{
    padding-top:56px;
    padding-bottom:62px;
  }
  .page-home .v4-hero-grid{
    gap:40px;
  }
}

@media(max-width:700px){
  .mobile-title-break{
    display:block;
  }

  .mobile-action-bar{
    left:12px;
    right:12px;
    bottom:max(8px,env(safe-area-inset-bottom));
    grid-template-columns:.88fr 1.12fr;
    gap:6px;
    padding:6px;
    border-radius:16px;
  }
  .mobile-action{
    min-height:44px;
    padding:8px 10px;
    border-radius:11px;
    font-size:.84rem;
    line-height:1.2;
  }

  .page-home .approach-strip-curated{
    grid-template-columns:1fr 1fr;
  }
  .page-home .approach-strip-curated > a,
  .page-home .approach-strip-curated > a:nth-child(3n),
  .page-home .approach-strip-curated > a:nth-child(4n),
  .page-home .approach-strip-curated > a:nth-last-child(-n+4){
    min-height:142px;
    border-right:1px solid rgba(63,89,79,.13);
    border-bottom:1px solid rgba(63,89,79,.13);
  }
  .page-home .approach-strip-curated > a:nth-child(2n){
    border-right:0;
  }
  .page-home .approach-strip-curated > a:nth-last-child(-n+2){
    border-bottom:0;
  }
  .approach-more{
    align-items:stretch;
    flex-direction:column;
    gap:14px;
  }
  .approach-more .btn{
    width:100%;
    justify-content:center;
  }

  .page-home .hero-therapist-caption{
    min-height:124px;
  }
  .page-home .hero-therapist-degree{
    display:block!important;
    font-size:.64rem;
    line-height:1.38;
  }
  .page-home .hero-therapist-credentials{
    display:block!important;
    font-size:.57rem;
    line-height:1.32;
  }

  .footer{
    padding-top:48px;
    padding-bottom:20px;
  }
  .footgrid{
    gap:24px;
  }
}

/* The mobile hero now reveals service information and actions sooner. */
@media(max-width:620px){
  .page-home .v4-hero{
    padding-top:42px;
    padding-bottom:50px;
  }
  .page-home .hero-copy h1{
    max-width:100%;
    font-size:clamp(2.65rem,11.4vw,3.35rem);
    line-height:1.02;
  }
  html[lang^="zh-"] .page-home .hero-copy h1{
    font-size:clamp(2.42rem,10.3vw,3rem);
    line-height:1.16;
    word-break:keep-all;
    line-break:strict;
  }
  .page-home .hero-copy .hero-lead{
    font-size:.96rem;
    line-height:1.7;
  }
  .page-home .hero-copy .actions{
    margin-top:23px;
  }
  .page-home .trust-line{
    margin-top:24px;
  }
  .page-home .v4-hero-grid{
    gap:34px;
  }
}

@media(max-width:430px){
  .page-home .hero-therapist-caption{
    min-height:118px!important;
  }
  .page-home .hero-therapist-degree{
    font-size:.61rem;
  }
  .page-home .hero-therapist-credentials{
    display:block!important;
    font-size:.55rem;
  }
}

@media(max-width:360px){
  .page-home .hero-copy h1{
    font-size:2.62rem;
  }
  html[lang^="zh-"] .page-home .hero-copy h1{
    font-size:2.28rem;
  }
  .page-home .hero-therapist-caption{
    min-height:0!important;
  }
  .page-home .hero-therapist-degree{
    font-size:.66rem;
  }
  .page-home .hero-therapist-credentials{
    font-size:.62rem;
  }
  .mobile-action{
    font-size:.78rem;
  }
}


/* ==================================================================
   KAEVA COUNSELLING 10.2 — FINAL PORTRAIT AND PRODUCTION POLISH
   ================================================================== */

/* Portraits use a consistent crop without filters or artificial recolouring. */
.page-home .hero-therapist-card img,
.page-team .compare-photo img,
.contact-portrait,
.profile-photo-v4{
  object-fit:cover;
  object-position:center top;
}

/* Homepage clinician images show the whole face and upper shoulders. */
.page-home .feature-photo img{
  width:100%;
  height:auto;
  aspect-ratio:1/1;
  object-fit:cover;
  object-position:center 16%;
  background:var(--sage);
}
.page-home .feature-photo img.person-trautman{
  object-position:center 10%;
}

/* Prevent image stretching and keep both cards visually aligned. */
.page-home .clinician-feature,
.page-home .clinician-feature.reverse{
  grid-template-rows:auto 1fr;
}
.page-home .feature-copy{
  min-height:100%;
}
.page-home .feature-copy .actions{
  margin-top:auto;
}

/* Compact hero portraits keep a stable, balanced five-by-four crop. */
.page-home .hero-therapist-card img{
  aspect-ratio:4/5;
}
.page-home .hero-therapist-card img.person-trautman{
  object-position:center top;
}

/* Team and contact portraits use the same visual scale. */
.page-team .compare-photo img{
  object-position:center top;
}
.contact-portrait{
  object-position:center 8%;
}

/* More conservative image motion: no crop drift on hover. */
.page-home .clinician-feature:hover .feature-photo img{
  transform:none!important;
}

/* Long credentials remain readable at intermediate widths. */
.hero-therapist-degree,
.feature-education,
.credentials,
.large-credentials{
  hyphens:none;
  overflow-wrap:anywhere;
}

@media(max-width:840px){
  .page-home .feature-photo img{
    aspect-ratio:4/4.45;
    object-position:center 8%;
  }
  .page-home .feature-photo img.person-trautman{
    object-position:center 4%;
  }
}

@media(max-width:620px){
  .page-home .feature-photo img{
    aspect-ratio:4/4.55!important;
  }
  .page-home .feature-copy{
    min-height:0;
  }
  .page-team .compare-photo img{
    aspect-ratio:4/4.45;
  }
}

@media(max-width:360px){
  .page-home .hero-therapist-degree{
    font-size:.64rem;
  }
  .page-home .hero-therapist-credentials{
    font-size:.6rem;
  }
}


/* VERSION 10.5 — approach-label consistency */
.approach-directory-card .content-card-title,
.page-home .approach-strip-curated > a > span,
.profile-approaches .approach-tile h3,
.page-service-detail .pagehero h1{
  overflow-wrap:anywhere;
  text-wrap:balance;
}
@media(max-width:700px){
  .approach-directory-card .content-card-title{font-size:clamp(1.18rem,6vw,1.52rem);}
  .profile-approaches .approach-tile h3{font-size:1.12rem;}
}


/* ==================================================================
   KAEVA COUNSELLING 10.6 — COMPLETE APPROACH SUBPAGES
   ================================================================== */

.approach-detail-section .grid2,
.approach-integration-section .grid2{
  align-items:start;
  gap:56px;
}
.approach-detail-section h2 + p,
.approach-integration-section h2 + p{
  max-width:68ch;
  color:var(--muted);
}
.approach-detail-section h2:nth-of-type(2){
  margin-top:34px;
}
.approach-support-card,
.approach-fit-card{
  padding:30px;
}
.approach-support-card .list{
  margin-top:18px;
}
.approach-detail-actions{
  margin-top:24px;
}

a.approach-tile{
  color:inherit;
  text-decoration:none;
  cursor:pointer;
  transition:
    transform .2s ease,
    border-color .2s ease,
    background .2s ease;
}
a.approach-tile:hover{
  transform:translateY(-3px);
  border-color:rgba(63,89,79,.32);
  background:rgba(255,253,249,.38);
}
a.approach-tile:focus-visible{
  outline:3px solid var(--sakura-deep);
  outline-offset:4px;
}

@media(max-width:760px){
  .approach-detail-section .grid2,
  .approach-integration-section .grid2{
    gap:28px;
  }
  .approach-support-card,
  .approach-fit-card{
    padding:24px 22px;
  }
  .approach-detail-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }
  .approach-detail-actions .btn{
    width:100%;
    justify-content:center;
  }
}


/* ==================================================================
   KAEVA COUNSELLING 10.7 — EXPANDED FAQ
   ================================================================== */

.faq-hero p{
  max-width:760px;
}
.faq-layout{
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  gap:68px;
  align-items:start;
}
.faq-category-nav{
  position:sticky;
  top:116px;
  display:grid;
  gap:7px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:20px;
  background:rgba(255,253,249,.92);
  box-shadow:var(--shadow-xs);
}
.faq-category-nav a{
  padding:12px 13px;
  border-radius:12px;
  color:var(--muted);
  font-size:.82rem;
  font-weight:780;
  line-height:1.4;
  text-decoration:none;
}
.faq-category-nav a:hover,
.faq-category-nav a:focus-visible{
  background:var(--sage-light);
  color:var(--pine-deep);
}
.faq-groups{
  min-width:0;
}
.faq-group{
  scroll-margin-top:112px;
  margin-bottom:64px;
}
.faq-group > h2{
  display:flex;
  align-items:baseline;
  gap:15px;
  margin-bottom:22px;
  padding-bottom:16px;
  border-bottom:1px solid var(--line-strong);
  font-size:clamp(1.75rem,3vw,2.5rem);
}
.faq-group-index{
  color:var(--sakura-deep);
  font-family:Inter,ui-sans-serif,system-ui,sans-serif;
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.12em;
}
.faq details{
  margin:10px 0;
  padding:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  box-shadow:var(--shadow-xs);
}
.faq summary{
  position:relative;
  min-height:64px;
  display:flex;
  align-items:center;
  padding:18px 58px 18px 22px;
  color:var(--pine-deep);
  font-weight:820;
  line-height:1.5;
  list-style:none;
}
.faq summary::-webkit-details-marker{
  display:none;
}
.faq summary::after{
  content:"+";
  position:absolute;
  right:20px;
  top:50%;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  transform:translateY(-50%);
  border-radius:999px;
  background:var(--sage-light);
  color:var(--pine-deep);
  font-size:1.15rem;
  font-weight:600;
  transition:transform .18s ease,background .18s ease;
}
.faq details[open] summary::after{
  transform:translateY(-50%) rotate(45deg);
  background:var(--sakura-mist);
}
.faq details > p{
  margin:0;
  padding:0 22px 22px;
  color:var(--muted);
  line-height:1.76;
}
.faq details[open] summary{
  padding-bottom:13px;
}
.faq-closing{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:36px;
  align-items:center;
  margin-top:70px;
  padding:34px 36px;
  border:1px solid var(--line);
  border-left:4px solid var(--sakura-deep);
  border-radius:24px;
  background:linear-gradient(135deg,var(--sakura-mist),var(--paper));
  box-shadow:var(--shadow-sm);
}
.faq-closing h2{
  margin-bottom:7px;
  font-size:clamp(1.75rem,2.8vw,2.4rem);
}
.faq-closing p{
  max-width:650px;
  margin:0;
  color:var(--muted);
}
.faq-actions{
  justify-content:flex-end;
  margin:0;
}
.faq-actions .btn{
  min-width:145px;
}

@media(max-width:980px){
  .faq-layout{
    grid-template-columns:1fr;
    gap:34px;
  }
  .faq-category-nav{
    position:static;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .faq-closing{
    grid-template-columns:1fr;
  }
  .faq-actions{
    justify-content:flex-start;
  }
}

@media(max-width:620px){
  .faq-category-nav{
    grid-template-columns:1fr;
    gap:5px;
    padding:10px;
  }
  .faq-category-nav a{
    min-height:44px;
    display:flex;
    align-items:center;
    padding:10px 12px;
  }
  .faq-group{
    scroll-margin-top:86px;
    margin-bottom:48px;
  }
  .faq-group > h2{
    gap:11px;
    font-size:1.8rem;
  }
  .faq summary{
    min-height:60px;
    padding:16px 52px 16px 18px;
    font-size:.95rem;
  }
  .faq summary::after{
    right:16px;
  }
  .faq details > p{
    padding:0 18px 19px;
    font-size:.93rem;
  }
  .faq-closing{
    margin-top:52px;
    padding:26px 22px;
  }
  .faq-actions{
    display:grid;
    grid-template-columns:1fr;
    width:100%;
    gap:9px;
  }
  .faq-actions .btn{
    width:100%;
  }
}


/* ==================================================================
   KAEVA COUNSELLING 10.8 — MOBILE HOME HERO SAFETY FIX
   ================================================================== */

/* Prevent occasional iOS mobile headline drift/clipping on the home hero,
   especially in Chinese layouts and narrow portrait viewports. */
.page-home .hero-copy,
.page-home .hero-copy > *{
  min-width:0;
}

@media(max-width:620px){
  .page-home .v4-hero,
  .page-home .v4-hero-grid,
  .page-home .hero-copy{
    overflow-x:clip;
  }
  .page-home .hero-copy h1{
    max-width:100%;
    margin-right:0;
    text-wrap:pretty;
    overflow-wrap:anywhere;
    word-break:normal;
  }
  html[lang^="zh-"] .page-home .hero-copy h1{
    max-width:100%;
    padding-right:.02em;
    font-size:clamp(2.26rem,9.55vw,2.92rem);
    line-height:1.14;
    text-wrap:normal;
    overflow-wrap:anywhere;
    word-break:break-word;
    hyphens:none;
  }
  .page-home .hero-copy .hero-lead,
  .page-home .trust-line{
    max-width:100%;
  }
}

@media(max-width:430px){
  html[lang^="zh-"] .page-home .hero-copy h1{
    font-size:clamp(2.16rem,9.1vw,2.74rem);
    line-height:1.15;
  }
}


/* ==================================================================
   KAEVA COUNSELLING 10.18 — FOCUS CHIP DOT FIX
   ================================================================== */

/*
  Apply the decorative dot only to each top-level specialty chip.
  Nested language spans must not receive a dot, padding or pill styling.
*/
.page-home .focus-row > span,
.page-home .focus-row-expanded > span {
  position: relative;
}

.page-home .focus-row > span > [data-lang],
.page-home .focus-row-expanded > span > [data-lang] {
  width: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: inherit !important;
  font: inherit !important;
  line-height: inherit !important;
  text-align: inherit !important;
}

.page-home .focus-row > span > [data-lang]::before,
.page-home .focus-row > span > [data-lang]::after,
.page-home .focus-row-expanded > span > [data-lang]::before,
.page-home .focus-row-expanded > span > [data-lang]::after {
  content: none !important;
  display: none !important;
}

.page-home .focus-row > span::before,
.page-home .focus-row-expanded > span::before {
  content: "";
  flex: 0 0 5px;
  width: 5px;
  height: 5px;
  margin-right: 7px;
  border-radius: 50%;
  background: var(--sakura);
}

@media (max-width: 700px) {
  .page-home .focus-row > span::before,
  .page-home .focus-row-expanded > span::before {
    display: none !important;
  }
}
