:root{--bg:#eef7f6;--bg2:#e0f0ee;--panel:#fff;--ink:#16343a;--muted:#5d7a80;--teal:#0f8c8c;--teal-d:#0b6b6e;--mint:#9fdccf;--coral:#ef7b6a;--line:#cfe3e1;--serif:'Iowan Old Style','Palatino Linotype',Palatino,Georgia,serif;--sans:system-ui,-apple-system,'Segoe UI',Roboto,sans-serif}
body{background:var(--bg);color:var(--ink);font:16px/1.7 var(--sans)}
h1,h2,h3{font-family:var(--serif);font-weight:600;margin:0}
.eyebrow{margin:0 0 14px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--teal);font-weight:700}
.top{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:22px;padding:14px 5vw;background:#eef7f6ee;backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;margin-right:auto}
.logo svg{width:30px;height:30px;fill:none;stroke:var(--teal);stroke-width:2.4;stroke-linecap:round}.logo svg circle{fill:var(--teal)}
.logo span,.logo-word{font:600 24px var(--serif);color:var(--ink)}
.logo b,.logo-word b{color:var(--teal)}
.nav{display:flex;align-items:center;gap:26px}
.nav a{font-size:14px;font-weight:600;text-decoration:none;color:var(--muted)}
.nav a:hover{color:var(--teal)}
.nav .nav-cta{padding:10px 22px;border-radius:999px;background:var(--teal);color:#fff}
.nav .nav-cta:hover{background:var(--teal-d);color:#fff}
.lang-select{color:var(--ink);border-color:var(--line);background:#fff}
.menu-btn{display:none;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:#fff;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.menu-btn span{width:18px;height:2px;background:var(--ink)}

.hero{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:5vw;padding:clamp(40px,8vh,96px) 5vw clamp(56px,9vh,100px);max-width:1240px;margin:0 auto}
.hero h1{font-size:clamp(36px,4.6vw,62px);line-height:1.1;margin-bottom:20px;color:var(--teal-d)}
.lead{max-width:540px;margin:0 0 30px;font-size:18px;color:var(--muted)}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-block;padding:15px 30px;border:2px solid var(--teal);border-radius:999px;background:var(--teal);color:#fff;font-size:14px;font-weight:700;text-decoration:none;cursor:pointer;transition:background .2s,transform .2s}
.btn:hover{background:var(--teal-d);border-color:var(--teal-d);transform:translateY(-2px)}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn-ghost{background:transparent;color:var(--teal-d)}
.btn-ghost:hover{background:var(--teal);color:#fff}
.trust{list-style:none;display:flex;gap:22px;flex-wrap:wrap;padding:0;margin:32px 0 0;font-size:13px;color:var(--muted)}
.trust li::before{content:'✓ ';color:var(--teal);font-weight:700}
.hero-art{display:grid;place-items:center;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#bfe8df 55%,#8fd2c6)}
.body{width:56%;fill:none;stroke:var(--teal-d);stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.body circle:first-child{fill:#fff}
.dot{fill:var(--coral);stroke:#fff;stroke-width:3;animation:pulse 2.4s ease-in-out infinite}
.d2{animation-delay:.5s}.d3{animation-delay:1s}.d4{animation-delay:1.5s}
@keyframes pulse{0%,100%{opacity:.55}50%{opacity:1}}

.section{max-width:1120px;margin:0 auto;padding:90px 5vw}
.section.alt{max-width:none;background:var(--bg2);border-block:1px solid var(--line)}
.section.alt>*{max-width:calc(1120px - 10vw);margin-inline:auto}
.head{max-width:620px;margin-bottom:40px}
.head h2{font-size:clamp(30px,4.2vw,50px);line-height:1.1;color:var(--teal-d)}
.head p:last-child{color:var(--muted)}
.finder{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:start}
.finder-q{display:grid;gap:22px}
fieldset{margin:0;padding:0;border:0}
legend{margin-bottom:10px;font-size:13px;font-weight:700;color:var(--ink)}
.chips{display:flex;gap:10px;flex-wrap:wrap}
.chip{padding:10px 18px;border:1.5px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-size:14px;font-weight:600;cursor:pointer}
.chip:hover{border-color:var(--teal)}
.chip[aria-checked="true"]{background:var(--teal);border-color:var(--teal);color:#fff}
.chip:disabled{opacity:.35;cursor:not-allowed;text-decoration:line-through}
.finder-out{position:sticky;top:90px;padding:28px;border:1px solid var(--line);border-radius:22px;background:var(--panel)}
.finder-out h3{font-size:24px;color:var(--teal-d);margin-bottom:8px}
.finder-out p{margin:0 0 12px;color:var(--muted);font-size:15px}
.finder-out .plan{margin:14px 0 0;padding:14px 16px;border-radius:14px;background:var(--bg);font-size:14px;color:var(--ink)}
.finder-out .warn{padding:12px 14px;border-radius:12px;background:#fdebe7;color:#8a2a1c;font-size:14px}
.finder-out a{display:inline-block;margin-top:14px;font-weight:700;color:var(--teal-d)}
.therapies{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.th{padding:26px;border:1px solid var(--line);border-radius:20px;background:var(--panel)}
.th .ico{display:grid;place-items:center;width:50px;height:50px;margin-bottom:14px;border-radius:14px;background:var(--bg2);font:700 22px var(--serif);color:var(--teal-d)}
.th h3{font-size:22px;margin-bottom:6px}
.th p{margin:0 0 12px;color:var(--muted);font-size:14px}
.th .meta{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-d);font-weight:700}

.exercise{display:grid;grid-template-columns:.8fr 1.2fr;gap:5vw;align-items:center;padding:36px;border:1px solid var(--line);border-radius:28px;background:var(--panel)}
.breath{position:relative;display:grid;place-items:center;aspect-ratio:1;max-width:300px;width:100%;margin-inline:auto}
.breath::before,.breath::after{content:'';position:absolute;border-radius:50%}
.breath::before{inset:0;background:radial-gradient(circle,#bfe8df,#8fd2c600 70%);transform:scale(var(--s,.6));transition:transform var(--t,1s) ease-in-out}
.breath::after{inset:22%;background:var(--teal);opacity:.18;transform:scale(var(--s,.6));transition:transform var(--t,1s) ease-in-out}
.breath span{position:relative;z-index:1;font:600 26px var(--serif);color:var(--teal-d);text-align:center}
.ex-panel h3{font-size:28px;margin-bottom:8px;color:var(--teal-d)}
.ex-panel p{margin:0 0 10px;color:var(--muted)}
.ex-state{min-height:26px;font-weight:700;color:var(--ink)!important}
.ex-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:14px}

.book{max-width:none;background:var(--bg2);border-top:1px solid var(--line)}
.book>*{max-width:calc(1120px - 10vw);margin-inline:auto}
.book-form{display:grid;gap:22px;max-width:740px!important;margin-left:calc(max(0px,(100vw - 1120px)/2) + 5vw)!important}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
label{font-size:14px;font-weight:600}
.book-form input{width:100%;padding:13px 15px;border:1.5px solid var(--line);border-radius:12px;background:#fff;font-size:16px}
.book-form input:focus{border-color:var(--teal);outline:0}
.summary{min-height:26px;padding:16px 20px;border:1.5px dashed var(--teal);border-radius:14px;background:#fff;font-size:15px}
.hint{min-height:20px;margin:0;color:#b3402c;font-size:14px;font-weight:600}
.note{margin:0;font-size:13px;color:var(--muted)}
.foot{padding:50px 5vw 26px;background:var(--teal-d);color:#d9f1ee}
.foot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;max-width:1120px;margin:0 auto}
.foot p{margin:8px 0 0;color:#a9d6d3;font-size:14px}
.foot strong{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--mint)}
.foot .logo-word{color:#fff}.foot .logo-word b{color:var(--mint)}
.foot-demo{max-width:1120px;margin:34px auto 0!important;padding-top:18px;border-top:1px solid #ffffff22;font-size:12px!important}

@media(max-width:900px){
  .hero,.finder,.exercise{grid-template-columns:1fr}.hero-art{max-width:320px}
  .finder-out{position:static}.therapies,.foot-grid{grid-template-columns:1fr}
  .row2{grid-template-columns:1fr}.book-form{margin-left:5vw!important}
  .menu-btn{display:flex}
  .nav{position:absolute;left:0;right:0;top:100%;display:none;flex-direction:column;align-items:flex-start;gap:16px;padding:22px 5vw;background:var(--bg);border-bottom:1px solid var(--line)}
  .nav-open .nav{display:flex}
}
@media(prefers-reduced-motion:reduce){.dot{animation:none}.breath::before,.breath::after{transition:none}}
