:root{
  --bg:#ffffff;
  --paper:#fbfbf8;
  --ink:#27313d;
  --muted:#657281;
  --teal:#3e8f88;
  --teal-dark:#246b66;
  --sage:#dceee8;
  --lilac:#eee6f6;
  --sand:#f5efe4;
  --line:#e7ecea;
  --shadow:0 24px 70px rgba(39,49,61,.12);
  --soft-shadow:0 16px 35px rgba(39,49,61,.08);
  --radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Nunito',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.65;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.section-shell{width:min(1160px,92%);margin:0 auto}
.site-header{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at top left, rgba(220,238,232,.8), transparent 34%),
    radial-gradient(circle at 86% 18%, rgba(238,230,246,.9), transparent 30%),
    linear-gradient(180deg,#fff 0%,#fbfbf8 100%);
}
.site-header::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:linear-gradient(rgba(62,143,136,.06) 1px, transparent 1px),linear-gradient(90deg, rgba(62,143,136,.06) 1px, transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.85),transparent 85%);
  pointer-events:none;
}
.navbar{
  width:min(1180px,94%);
  margin:0 auto;
  padding:20px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  position:relative;
  z-index:10;
}
.brand{display:flex;align-items:center;gap:12px}
.brand-mark{
  width:52px;height:52px;border-radius:18px;
  display:grid;place-items:center;
  color:#fff;font-weight:800;letter-spacing:.03em;
  background:linear-gradient(135deg,var(--teal),#8c70ac);
  box-shadow:var(--soft-shadow);
}
.brand-text{display:flex;flex-direction:column;line-height:1.15}
.brand-text strong{font-size:1rem}
.brand-text small{color:var(--muted);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}
.nav-links{display:flex;align-items:center;gap:8px}
.nav-links a{padding:10px 14px;border-radius:999px;color:#3b4856;font-weight:700;font-size:.95rem;transition:.25s ease}
.nav-links a:hover{background:var(--sage);color:var(--teal-dark)}
.nav-cta{background:var(--ink)!important;color:#fff!important;box-shadow:var(--soft-shadow)}
.menu-toggle{display:none;background:#fff;border:1px solid var(--line);border-radius:14px;width:46px;height:42px;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer}
.menu-toggle span{width:20px;height:2px;background:var(--ink);border-radius:10px}
.hero{
  position:relative;
  z-index:2;
  min-height:720px;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  align-items:center;
  gap:56px;
  padding:70px 0 100px;
}
.eyebrow{margin:0 0 12px;color:var(--teal-dark);font-weight:900;text-transform:uppercase;letter-spacing:.16em;font-size:.78rem}
h1,h2,h3{font-family:'Marcellus',Georgia,serif;line-height:1.08;margin:0;color:#202a34;font-weight:400}
h1{font-size:clamp(3rem,7vw,5.9rem);letter-spacing:-.06em;max-width:760px}
h2{font-size:clamp(2.1rem,4vw,3.5rem);letter-spacing:-.035em}
h3{font-size:1.55rem}
.hero-lead{font-size:1.24rem;color:#506070;max-width:640px;margin:22px 0 0}
.hero-tags{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 32px}
.hero-tags span{background:#fff;border:1px solid var(--line);padding:9px 14px;border-radius:999px;font-weight:800;color:#506070;box-shadow:0 10px 26px rgba(39,49,61,.05)}
.hero-actions,.contact-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:15px 24px;font-weight:900;transition:.25s ease;border:1px solid transparent;min-height:54px}
.btn-primary{background:linear-gradient(135deg,var(--teal),var(--teal-dark));color:#fff;box-shadow:0 16px 36px rgba(36,107,102,.24)}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 20px 42px rgba(36,107,102,.3)}
.btn-outline{background:#fff;color:var(--ink);border-color:var(--line)}
.btn-outline:hover{border-color:var(--teal);color:var(--teal-dark);transform:translateY(-3px)}
.btn-outline.light{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.38);color:#fff}
.hero-contact-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:34px;max-width:620px}
.hero-contact-card div{background:rgba(255,255,255,.82);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.9);border-radius:22px;padding:18px;box-shadow:var(--soft-shadow)}
.hero-contact-card span,.footer-grid span{display:block;color:var(--muted);font-size:.82rem;text-transform:uppercase;font-weight:900;letter-spacing:.12em;margin-bottom:4px}
.hero-contact-card strong{font-size:1.02rem}
.hero-visual{min-height:560px;position:relative;display:grid;place-items:center}
.orb{position:absolute;border-radius:50%;filter:blur(.2px);opacity:.9}
.orb-one{width:320px;height:320px;background:var(--sage);top:18px;left:10px}
.orb-two{width:250px;height:250px;background:var(--lilac);right:18px;bottom:45px}
.portrait-card{position:relative;width:min(410px,90%);min-height:470px;border-radius:44px;padding:42px 34px;background:linear-gradient(155deg,#fff 0%,#f9f4ec 100%);border:1px solid rgba(255,255,255,.9);box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
.portrait-card::before{content:"";position:absolute;width:250px;height:250px;border-radius:50%;top:54px;left:50%;transform:translateX(-50%);background:radial-gradient(circle,#fff 0 22%,var(--sage) 23% 48%,transparent 49%);border:1px solid rgba(62,143,136,.14)}
.portrait-card::after{content:"";position:absolute;width:150px;height:150px;border-radius:45% 45% 48% 48%;top:140px;left:50%;transform:translateX(-50%);background:linear-gradient(180deg,#8c70ac,#3e8f88);opacity:.18}
.portrait-icon{position:absolute;top:86px;left:50%;transform:translateX(-50%);width:86px;height:86px;border-radius:30px;background:#fff;display:grid;place-items:center;color:var(--teal-dark);font-size:2.2rem;box-shadow:var(--soft-shadow);z-index:1}
.portrait-card h2{font-size:2rem;position:relative;z-index:2;margin-bottom:12px}
.portrait-card p{position:relative;z-index:2;color:var(--muted);margin:0;font-weight:700}
.floating-card{position:absolute;background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px 18px;box-shadow:var(--soft-shadow);font-weight:900;color:var(--teal-dark)}
.card-top{top:94px;right:0}.card-bottom{bottom:96px;left:0}
.intro-band{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:-54px;position:relative;z-index:5}
.intro-item{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:25px;box-shadow:var(--soft-shadow)}
.intro-item span,.focus-card span{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:14px;background:var(--sage);color:var(--teal-dark);font-weight:900;margin-bottom:14px}
.intro-item strong{display:block;font-size:1.14rem;margin-bottom:6px}.intro-item p{margin:0;color:var(--muted)}
.about,.process{padding:100px 0}.section-heading{max-width:760px}.section-heading.centered{text-align:center;margin:0 auto 46px}.section-heading p:not(.eyebrow){color:var(--muted);font-size:1.08rem}
.about-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:24px;margin-top:34px}.about-card,.quote-card{border-radius:var(--radius);padding:36px;border:1px solid var(--line);box-shadow:var(--soft-shadow)}
.about-card{background:var(--paper)}.about-card p{font-size:1.1rem;color:#465464}.quote-card{background:linear-gradient(135deg,var(--teal-dark),#3e8f88);color:#fff;display:flex;flex-direction:column;justify-content:center}.quote-card span{font-size:5rem;line-height:.7;opacity:.4}.quote-card p{font-family:'Marcellus',Georgia,serif;font-size:1.75rem;line-height:1.22;margin:0}
.therapies{padding:105px 0;background:linear-gradient(180deg,#fbfbf8 0%,#fff 100%);position:relative;overflow:hidden}.therapies::before{content:"";position:absolute;width:360px;height:360px;border-radius:50%;background:var(--lilac);right:-120px;top:80px;opacity:.6}.therapy-grid{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.therapy-card{background:#fff;border:1px solid var(--line);border-radius:30px;padding:28px;box-shadow:var(--soft-shadow);min-height:330px;transition:.25s ease}.therapy-card:hover{transform:translateY(-8px);box-shadow:var(--shadow)}.therapy-icon{width:62px;height:62px;border-radius:22px;display:grid;place-items:center;background:var(--sand);font-size:2rem;color:var(--teal-dark);margin-bottom:24px}.therapy-card p,.focus-card p,.location-card p,.contact-shell p,.site-footer p{color:var(--muted);margin-bottom:0}
.focus-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:38px}.focus-card{border:1px solid var(--line);border-radius:26px;padding:26px;background:#fff;box-shadow:var(--soft-shadow)}
.location{padding:30px 0 105px}.location-card{display:grid;grid-template-columns:1fr .9fr;gap:30px;align-items:center;padding:42px;border-radius:34px;background:linear-gradient(135deg,var(--sand),#fff);border:1px solid var(--line);box-shadow:var(--soft-shadow)}.map-visual{min-height:260px;border-radius:28px;background:linear-gradient(135deg,#fff,var(--sage));border:1px solid rgba(62,143,136,.18);display:grid;place-items:center;text-align:center;position:relative;overflow:hidden}.map-visual::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(39,49,61,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(39,49,61,.05) 1px,transparent 1px);background-size:34px 34px}.pin{position:relative;z-index:1;width:82px;height:82px;border-radius:30px;background:#fff;display:grid;place-items:center;box-shadow:var(--soft-shadow);font-size:2.4rem;color:var(--teal-dark)}.map-visual span{position:absolute;bottom:26px;font-weight:900;color:var(--teal-dark);z-index:1}
.contact{padding:105px 0;background:linear-gradient(135deg,#20313d,#246b66);color:#fff}.contact-shell{text-align:center;max-width:820px}.contact h2{color:#fff}.contact .eyebrow{color:#dceee8}.contact-shell p{color:rgba(255,255,255,.78);font-size:1.12rem}.phone-display{display:inline-block;font-family:'Marcellus',Georgia,serif;font-size:clamp(2rem,5vw,3.5rem);margin:18px 0 24px;color:#fff}.contact-actions{justify-content:center}.site-footer{padding:38px 0;background:#fff}.footer-grid{display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:24px;align-items:start}.site-footer strong{font-family:'Marcellus',Georgia,serif;font-size:1.3rem}.site-footer a{color:var(--teal-dark);font-weight:900}.whatsapp-float{position:fixed;right:20px;bottom:20px;z-index:20;background:#25d366;color:#fff;font-weight:900;border-radius:999px;padding:14px 18px;box-shadow:0 16px 34px rgba(0,0,0,.2)}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:translateY(0)}
@media (max-width:980px){.hero{grid-template-columns:1fr;padding-top:40px}.hero-visual{min-height:460px}.intro-band,.therapy-grid,.focus-grid{grid-template-columns:repeat(2,1fr)}.about-grid,.location-card,.footer-grid{grid-template-columns:1fr}.nav-links{position:absolute;top:78px;left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:24px;padding:16px;box-shadow:var(--shadow);display:none;flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.nav-links a{text-align:center}.menu-toggle{display:flex}}
@media (max-width:640px){.section-shell{width:min(92%,520px)}.hero{min-height:auto;padding-bottom:72px;gap:25px}h1{font-size:2.75rem}.hero-tags span{font-size:.88rem}.hero-contact-card,.intro-band,.therapy-grid,.focus-grid{grid-template-columns:1fr}.portrait-card{min-height:390px;border-radius:34px}.floating-card{display:none}.about,.process,.therapies,.contact{padding:76px 0}.location{padding-bottom:76px}.about-card,.quote-card,.location-card{padding:26px}.quote-card p{font-size:1.45rem}.whatsapp-float{right:14px;bottom:14px;padding:12px 15px}.brand-text strong{font-size:.9rem}}
