:root{
  --purple:#6d3a9c;
  --purple-soft:#f2e9fb;
  --pink:#ef4d8f;
  --pink-soft:#ffe4ef;
  --blue:#1f83cf;
  --blue-soft:#eaf6ff;
  --orange:#ff8c32;
  --orange-soft:#fff0e3;
  --text:#32243d;
  --muted:#74677d;
  --line:#eee6f2;
  --bg:#fffafd;
  --panel:#fff;
  --shadow:0 18px 42px rgba(95,60,121,.09);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:linear-gradient(180deg,#fffafd,#fff);color:var(--text);font-family:Inter,Arial,sans-serif;line-height:1.55}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:Poppins,Arial,sans-serif;letter-spacing:0;margin:0;color:var(--purple)}
p{margin:0;color:var(--muted)}
.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px clamp(18px,4vw,54px);background:rgba(255,255,255,.9);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}
.brand img{width:132px}
nav{display:flex;gap:18px;align-items:center;font-weight:800;color:var(--muted);font-size:.94rem}
nav a:hover{color:var(--purple)}
.private-link,.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:8px;padding:11px 15px;font-weight:900}
.private-link,.secondary{border:1px solid var(--line);background:#fff;color:var(--purple)}
.primary{border:1px solid var(--purple);background:linear-gradient(135deg,var(--purple),#8f5cc0);color:#fff;box-shadow:0 12px 20px rgba(109,58,156,.18)}
.section,.hero{width:min(1120px,calc(100% - 36px));margin:0 auto}
.hero{min-height:calc(100vh - 78px);display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,470px);gap:44px;align-items:center;padding:44px 0}
.hero-copy{display:grid;gap:18px}
.eyebrow{font-family:Poppins,Arial,sans-serif;font-weight:800;color:var(--pink);font-size:.78rem;text-transform:uppercase;margin:0;letter-spacing:0}
h1{font-size:clamp(3rem,8vw,6.2rem);line-height:.95}
h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.08;margin-bottom:14px}
.hero p{font-size:1.15rem;max-width:650px}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:4px}
.hero-points{display:flex;gap:10px;flex-wrap:wrap}
.hero-points span{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;color:var(--purple);font-weight:800;font-size:.92rem}
.hero-visual{position:relative;min-height:430px;display:grid;place-items:center}
.hero-visual img{width:min(330px,80%);position:relative;z-index:2;filter:drop-shadow(0 18px 30px rgba(109,58,156,.12))}
.shape{position:absolute;border-radius:46% 54% 60% 40%;filter:blur(.2px);opacity:.75}
.shape.pink{width:210px;height:210px;background:var(--pink-soft);left:0;top:36px}
.shape.lilac{width:250px;height:250px;background:var(--purple-soft);right:4px;bottom:20px}
.floating-card{position:absolute;right:8px;top:62px;z-index:3;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:14px;width:170px}
.floating-card strong{display:block;color:var(--purple);font-family:Poppins,Arial,sans-serif}
.floating-card span{color:var(--muted);font-size:.9rem}
.section{padding:72px 0}
.section-intro{max-width:720px}
.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px}
.card-grid article,.card,.contact-card,details{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:20px}
.card-grid h3,.card h3{margin-bottom:8px;color:var(--purple)}
#public-bio,#public-work-style,#public-training,#public-evaluation-text,#public-therapy-text,#public-modalities-text{white-space:pre-line}
.services article:nth-child(2n){background:linear-gradient(180deg,#fff,#fff7fb)}
.services article:nth-child(3n){background:linear-gradient(180deg,#fff,#f3faff)}
.soft{width:100%;max-width:none;background:linear-gradient(180deg,#fff7fb,#fff);padding-left:max(18px,calc((100% - 1120px)/2));padding-right:max(18px,calc((100% - 1120px)/2))}
.split{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;align-items:start}
.stack{display:grid;gap:12px}
.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.photo-placeholder{min-height:190px;border:1px dashed #d9c4ea;border-radius:8px;background:linear-gradient(135deg,#fff7fb,#f2f9ff);display:grid;place-items:center;color:var(--purple);font-weight:900;text-align:center;padding:16px}
.photo-frame{margin:0;border-radius:8px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);background:#fff}
.photo-frame img{width:100%;height:100%;display:block;object-fit:cover}
.photo-frame.portrait{margin-top:22px;height:380px}
.photo-frame.wide{grid-column:1/-1;height:290px}
.faq{display:grid;gap:12px;max-width:860px}
summary{font-family:Poppins,Arial,sans-serif;font-weight:800;color:var(--purple);cursor:pointer}
details p{margin-top:10px}
.contact-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:26px;align-items:start}
.contact-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
label{display:grid;gap:7px;color:var(--text);font-weight:800}
input,textarea{border:1px solid var(--line);border-radius:8px;min-height:44px;padding:11px 12px;font:inherit;color:var(--text);outline:none;background:#fff}
textarea{min-height:130px;resize:vertical}
input:focus,textarea:focus{border-color:#d9c3f1;box-shadow:0 0 0 3px rgba(109,58,156,.08)}
.wide{grid-column:1/-1}
small{color:var(--muted);font-weight:700}
footer{border-top:1px solid var(--line);padding:28px 18px;text-align:center;display:grid;place-items:center;gap:8px;background:#fff}
footer img{width:120px}
@media(max-width:900px){
  .topbar{align-items:flex-start;flex-wrap:wrap}
  nav{order:3;width:100%;overflow:auto;padding-bottom:4px}
  .hero,.split,.contact-section{grid-template-columns:1fr}
  .hero{min-height:auto}
  .hero-visual{min-height:320px}
  .card-grid,.photo-grid,.contact-card{grid-template-columns:1fr}
}
@media(max-width:560px){
  .private-link,.primary,.secondary{width:100%}
  .actions{width:100%}
  .brand img{width:112px}
  .section{padding:52px 0}
  h1{font-size:3.2rem}
}
