/* ===== Flux – main styles (tokens taken from the Figma frame) ===== */
:root{
  --bg:#ecfdfd; --alt:#e6f7f8; --card:#ffffff; --chip:#e0f1f2;
  --ink:#0f1e1f; --body:#3f4948; --muted:#6f7978; --sub:#4f6358;
  --primary:#145c5a; --deep:#004342; --mint:#cfe5d7; --mint2:#d2e8d9;
  --line:rgba(191,200,199,.3); --dash:rgba(20,92,90,.4);
  --header-bg:rgba(236,253,253,.92); --footer-bg:#0f1e1f; --footer-text:#c9dddd;
  --cta-bg:#004342; --cta-ink:#004342;
  --font-head:'Playfair Display',Georgia,serif; --font-body:'Inter',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  --header-h:112px; --pad-x:48px; --shadow-card:0 1px 1px rgba(0,0,0,.05);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--body);font-family:var(--font-body);font-size:16px;line-height:1.5;padding-top:var(--header-h);overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,p{margin:0}
ul{margin:0;padding:0;list-style:none}
button,input,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--primary);outline-offset:3px}
.container{width:100%;max-width:1280px;margin-inline:auto}
.section{padding:80px var(--pad-x)}
.section--alt{background:var(--alt)}
.fa-solid,.fa-regular,.fa-brands{line-height:1}

/* ---------- Header ---------- */
.site-header{position:fixed;inset-block-start:0;inset-inline:0;z-index:100;height:var(--header-h);background:var(--header-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-block-end:1px solid var(--line)}
.header-inner{height:100%;max-width:1280px;margin-inline:auto;padding-inline:var(--pad-x);display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-head);font-weight:600;font-size:28px;color:var(--ink);letter-spacing:-.6px}
.logo__mark{width:44px;height:44px;border-radius:12px;background:var(--primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:20px}
.nav{display:flex;align-items:center;gap:36px}
.nav a{font-weight:500;font-size:15px;color:#3f4948;padding-block:8px;border-block-end:2px solid transparent;transition:color .2s,border-color .2s}
.nav a:hover,.nav a.is-active{color:black;}
.header-actions{display:flex;align-items:center;gap:12px}
.icon-btn{width:44px;height:44px;border-radius:50%;border:0;background:var(--chip);color:var(--deep);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:16px;transition:background .2s}
.icon-btn:hover{background:var(--mint)}
.icon-btn--text{font-size:12px;font-weight:600;letter-spacing:.5px}
.menu-toggle{display:none}
.mobile-nav{display:none}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:16px 32px;border-radius:9999px;font-weight:600;font-size:16px;line-height:24px;border:0;cursor:pointer;white-space:nowrap;transition:transform .2s,background .2s,box-shadow .2s}
.btn--primary{background:var(--primary);color:#fff;box-shadow:var(--shadow-card)}
.btn--primary:hover{background:var(--deep);transform:translateY(-1px)}
.btn--soft{background:var(--chip);color:var(--deep)}
.btn--soft:hover{background:var(--mint)}
.btn--white{background:#fff;color:var(--cta-ink);padding-inline:40px;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)}
.btn--white:hover{transform:translateY(-1px)}
.btn--sm{padding:12px 24px;font-size:15px}
.link-arrow{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:16px;line-height:24px;color:var(--deep)}
.link-arrow i{font-size:14px;transition:transform .2s}
.link-arrow:hover i{transform:translateX(4px)}

/* ---------- Typography blocks ---------- */
.eyebrow{font-weight:600;font-size:12px;line-height:16px;letter-spacing:1.2px;text-transform:uppercase;color:var(--deep)}
.h2{font-family:var(--font-head);font-weight:600;font-size:40px;line-height:50px;letter-spacing:-.6px;color:var(--ink)}
.lead{font-size:18px;line-height:28px;color:var(--body)}
.section-head{display:flex;flex-direction:column;gap:16px;max-width:768px;padding-block-start:4.5px}
.section-head .h2{padding-block-start:3.5px}
.section-head--row{max-width:none;flex-direction:row;align-items:flex-end;justify-content:space-between;gap:32px}
.section-head--row .section-head__text{display:flex;flex-direction:column;gap:16px;max-width:672px;padding-block-start:4.5px}
.section-head--row .section-head__text .h2{padding-block-start:3.5px}
.stack-48{display:flex;flex-direction:column;gap:48px}

/* ---------- Hero ---------- */
.hero{padding:80px var(--pad-x);overflow:hidden}
.hero__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:64px;align-items:center;min-height:560px}
.hero__copy{grid-column:1/span 7;display:flex;flex-direction:column;align-items:flex-start}
.hero__visual{grid-column:8/span 5;position:relative}
.pill{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:9999px;background:rgba(207,229,215,.4)}
.pill__dot{width:8px;height:8px;border-radius:50%;background:var(--primary)}
.hero h1{font-family:var(--font-head);font-weight:600;font-size:56px;line-height:68px;letter-spacing:-1.12px;color:var(--ink);margin-block-start:24px;padding-inline-end:54px}
.hero__text{max-width:576px;margin-block-start:24px;padding-inline-end:40px;font-size:18px;line-height:28px;color:var(--body)}
.hero__cta{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-block-start:24px;padding-block-start:8px}
.trust{margin-block-start:24px;display:grid;grid-template-columns:auto auto;gap:24px 40px;padding-block:20px}
.trust li{display:flex;align-items:center;gap:8px;font-weight:600;font-size:12px;line-height:16px;letter-spacing:.6px;color:var(--body)}
.trust li i{color:var(--primary);font-size:15px;width:16px;text-align:center}
.hero__frame{position:relative;border-radius:16px;overflow:hidden;background:var(--chip);height:560px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1)}
.hero__frame img{width:100%;height:100%;object-fit:cover;object-position:60% center}
.hero__frame::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,67,66,.6),rgba(0,67,66,0) 50%)}
.hero__blob{position:absolute;inset-inline-end:-16px;top:-16px;width:96px;height:96px;border-radius:50%;background:rgba(210,232,217,.4);filter:blur(12px);z-index:0}
.credential{position:absolute;z-index:2;inset-inline:24px;bottom:24px;display:flex;align-items:center;gap:12px;padding:16px;border-radius:12px;background:rgba(255,255,255,.95);backdrop-filter:blur(6px);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)}
.credential__icon{width:40px;height:40px;border-radius:50%;background:var(--mint);color:var(--deep);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.credential strong{display:block;font-weight:600;font-size:16px;line-height:24px;color:#0f1e1f}
.credential span{display:block;font-size:13px;line-height:20px;letter-spacing:.13px;color:#3f4948}

/* ---------- Expertise ---------- */
.expertise-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;align-items:stretch}
.exp-card{background:var(--card);border-radius:12px;box-shadow:var(--shadow-card);padding:32px;display:flex;flex-direction:column;justify-content:space-between;gap:30px;overflow:hidden}
.exp-card__top{display:flex;align-items:center;justify-content:space-between}
.icon-tile{width:48px;height:48px;border-radius:8px;background:var(--chip);color:var(--deep);display:inline-flex;align-items:center;justify-content:center;font-size:19px}
.num{font-weight:600;font-size:12px;line-height:16px;letter-spacing:.6px;color:var(--muted)}
.card-title{font-family:var(--font-head);font-weight:500;font-size:22px;line-height:30px;color:var(--ink)}
.exp-card .card-title{padding-block-start:20px;margin-block-start:12px}
.exp-card p.card-text{margin-block-start:12px;font-size:15px;line-height:24px;color:var(--body)}
.exp-card__foot{margin:0 -32px -32px;padding:30px 32px 20px;background:rgba(230,247,248,.5);border-radius:0 0 12px 12px}
.label-sm{font-weight:500;font-size:11px;line-height:14px;letter-spacing:.55px;text-transform:uppercase;color:var(--deep)}
.action-end{display:flex;justify-content:flex-end}

/* ---------- Roadmap ---------- */
.roadmap-wrap{padding:24px 80px 48px;max-width:1184px;margin-inline:auto;width:100%}
.roadmap{position:relative;display:flex;flex-direction:column;gap:64px}
.roadmap::before{content:"";position:absolute;inset-block:40px;inset-inline-start:50%;border-inline-start:2px dashed var(--dash);transform:translateX(-50%)}
.step{display:grid;grid-template-columns:minmax(0,1fr) 80px minmax(0,1fr);align-items:center;position:relative}
.step__card{grid-column:1;padding-inline-end:48px;max-width:100%}
.step:nth-child(even) .step__card{grid-column:3;padding-inline-end:0;padding-inline-start:48px}
.step__marker{grid-column:2;grid-row:1;position:relative;width:80px;height:80px;border-radius:50%;background:var(--card);border:4px solid var(--primary);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 0 4px rgba(207,229,215,.4),0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)}
.step__marker::before{content:"";position:absolute;top:50%;width:60px;border-block-start:2px dashed var(--dash);inset-inline-end:100%;margin-inline-end:4px}
.step:nth-child(even) .step__marker::before{inset-inline-end:auto;inset-inline-start:100%;margin-inline-end:0;margin-inline-start:4px}
.step__marker small{font-weight:600;font-size:10px;line-height:10px;letter-spacing:.5px;text-transform:uppercase;color:var(--sub)}
.step__marker b{font-family:var(--font-head);font-weight:700;font-size:20px;line-height:20px;color:var(--deep);margin-block-start:4px}
.step__box{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-card);padding:29px;display:flex;gap:16px;align-items:flex-start;max-width:512px}
.step:nth-child(even) .step__box{margin-inline-start:0}
.step__icon{width:48px;height:48px;border-radius:12px;background:rgba(207,229,215,.5);color:var(--deep);display:inline-flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0}
.step__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:7px}
.step__row{display:flex;align-items:center;justify-content:space-between;gap:8px}
.phase{font-weight:600;font-size:11px;line-height:14px;letter-spacing:1.1px;text-transform:uppercase;color:var(--deep)}
.badge{padding:2px 10px;border-radius:9999px;background:var(--mint);color:#53675c;font-weight:500;font-size:11px;line-height:14px;letter-spacing:.44px}
.step:first-child .badge{background:var(--mint2);color:#0c1f16}
.step__text{font-size:15px;line-height:24.38px;color:var(--body)}
.step__chip{margin-block-start:9px;display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:9999px;background:var(--chip);color:var(--deep);font-weight:500;font-size:11px;line-height:14px;letter-spacing:.44px;align-self:flex-start}
.step__chip i{font-size:11px}

/* ---------- Conditions ---------- */
.cond-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.cond{background:var(--card);border-radius:12px;padding:24px;min-height:176px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:var(--shadow-card)}
.cond__top{display:flex;align-items:center;justify-content:space-between;color:var(--deep)}
.cond__num{width:32px;height:32px;border-radius:50%;background:rgba(207,229,215,.5);display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:12px;letter-spacing:.6px;color:var(--deep)}
.cond__top i{font-size:13px}
.cond .card-title{margin-block-end:4px}
.cond p{font-size:13px;line-height:20px;letter-spacing:.13px;color:var(--body)}

/* ---------- Team ---------- */
.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.expert{background:var(--alt);border-radius:16px;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.05);display:flex;flex-direction:column}
.expert__photo{background:var(--chip);aspect-ratio:1/1.0;overflow:hidden}
.expert__photo img{width:100%;height:100%;object-fit:cover}
.expert__body{padding:32px;display:flex;flex-direction:column;flex:1;justify-content:space-between}
.expert__role{font-weight:500;font-size:11px;line-height:14px;letter-spacing:.55px;text-transform:uppercase;color:var(--deep)}
.expert .card-title{margin-block-start:4px}
.expert__meta{margin-block-start:4px;font-size:13px;line-height:20px;letter-spacing:.13px;color:var(--sub)}
.expert__text{margin-block-start:16px;font-size:15px;line-height:24px;color:var(--body)}
.expert__foot{margin-block-start:32px;padding-block-start:16px;display:flex;align-items:center;justify-content:space-between;color:var(--deep)}
.avail{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:12px;line-height:16px;letter-spacing:.6px;color:var(--deep)}
.avail::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--deep)}

/* ---------- Testimonials ---------- */
.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.story{background:var(--card);border-radius:16px;box-shadow:var(--shadow-card);padding:40px;display:flex;flex-direction:column;justify-content:space-between}
.story__quote{padding-block-end:24px;display:flex;flex-direction:column;gap:8px}
.story__mark{font-family:Georgia,'Liberation Serif',serif;font-weight:700;font-size:40px;line-height:40px;letter-spacing:-.6px;color:rgba(20,92,90,.3)}
.story blockquote{margin:0;font-family:var(--font-head);font-weight:500;font-size:22px;line-height:30.25px;color:var(--ink)}
.story__foot{border-block-start:1px solid var(--line);padding-block-start:25px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.story__name{font-weight:600;font-size:16px;line-height:24px;color:var(--ink)}
.story__sub{font-size:13px;line-height:20px;letter-spacing:.13px;color:var(--sub)}
.stars{display:flex;gap:4px;color:var(--primary);font-size:11px}

/* ---------- CTA ---------- */
.cta{position:relative;overflow:hidden;background:var(--cta-bg);padding:96px 128px;color:#fff}
.cta__blob{position:absolute;border-radius:50%;filter:blur(32px);pointer-events:none}
.cta__blob--a{width:384px;height:384px;background:rgba(20,92,90,.4);inset-inline-start:-96px;bottom:-95px}
.cta__blob--b{width:384px;height:384px;background:rgba(207,229,215,.1);inset-inline-end:-96px;top:-96px}
.cta__inner{position:relative;max-width:1024px;margin-inline:auto;display:flex;flex-direction:column;align-items:center;text-align:center}
.cta .pill{background:#145c5a;padding:6px 16px}
.cta .pill .pill__dot{background:#d2e8d9}
.cta .eyebrow{color:#d2e8d9}
.cta h2{font-family:var(--font-head);font-weight:600;font-size:56px;line-height:68px;letter-spacing:-1.12px;color:#fff;margin-block-start:32px;max-width:768px}
.cta__lead{margin-block-start:32px;max-width:672px;font-size:18px;line-height:29.25px;color:#dbebec}
.cta__bullets{margin-block-start:32px;padding-block-start:8px;display:flex;flex-wrap:wrap;justify-content:center;gap:16px 40px}
.cta__bullets li{display:flex;align-items:center;gap:8px;font-weight:600;font-size:16px;line-height:24px;color:#fff}
.cta__bullets i{color:#d2e8d9;font-size:20px}
.cta__action{margin-block-start:32px;padding-block-start:24px;display:flex;flex-direction:column;align-items:center}
.cta__note{margin-block-start:12px;font-size:13px;line-height:20px;letter-spacing:.13px;color:#d2e8d9}

/* ---------- Footer ---------- */
.site-footer{background:var(--footer-bg);color:var(--footer-text);padding:64px var(--pad-x) 24px}
.footer-grid{max-width:1280px;margin-inline:auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.4fr;gap:48px}
.site-footer .logo{color:#fff}
.site-footer h4{font-family:var(--font-head);font-weight:500;font-size:18px;color:#fff;margin-block-end:16px}
.site-footer li+li{margin-block-start:10px}
.site-footer a:hover{color:#fff}
.footer-about{margin-block-start:16px;font-size:14px;line-height:22px;max-width:320px}
.socials{display:flex;gap:10px;margin-block-start:20px}
.socials a{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.08);display:inline-flex;align-items:center;justify-content:center;transition:background .2s}
.socials a:hover{background:var(--primary)}
.footer-bottom{max-width:1280px;padding-block-start:24px;border-block-start:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:13px}

/* ---------- Forms (custom validation) ---------- */
.form{display:flex;flex-direction:column;gap:16px}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-weight:600;font-size:14px;color:var(--ink)}
.input{width:100%;padding:14px 16px;border-radius:12px;border:1.5px solid var(--line);background:var(--card);color:var(--ink);font-size:15px;transition:border-color .2s,box-shadow .2s}
.input::placeholder{color:var(--muted)}
textarea.input{min-height:140px;resize:vertical}
.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(20,92,90,.18)}
.field.has-error .input{border-color:#c0392b}
.field-error{min-height:18px;font-size:12.5px;color:#c0392b;display:none}
.field.has-error .field-error{display:block}
.form-success{display:none;padding:14px 16px;border-radius:12px;background:var(--mint);color:#0c1f16;font-weight:600;font-size:14px}
.form-success.is-visible{display:block}
.newsletter{display:flex;gap:8px;margin-block-start:4px}
.newsletter .field{flex:1}
.site-footer .input{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#fff}
.site-footer .input::placeholder{color:#9db5b5}
.site-footer .field-error{color:#ff9d92}
.site-footer .field label{color:#fff}
.site-footer .form-success{background:var(--mint)}
.site-footer .btn--primary{background:var(--primary)}

/* ---------- Inner pages ---------- */
.page-hero{padding:80px var(--pad-x) 56px}
.page-hero .h2{font-size:56px;line-height:68px;letter-spacing:-1.12px;margin-block-start:16px}
.page-hero .lead{margin-block-start:20px;max-width:640px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;align-items:start}
.plain-card{background:var(--card);border-radius:16px;padding:32px;box-shadow:var(--shadow-card)}
.plain-card .card-title{margin-block:20px 12px}
.plain-card p{font-size:15px;line-height:24px}
.blog-card{background:var(--card);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-card);display:flex;flex-direction:column}
.blog-card__img{aspect-ratio:16/10;background:linear-gradient(135deg,var(--chip),var(--mint));display:flex;align-items:center;justify-content:center;font-size:40px;color:var(--primary)}
.blog-card__body{padding:28px;display:flex;flex-direction:column;gap:10px;flex:1}
.blog-card__meta{font-size:12px;letter-spacing:.6px;color:var(--sub);font-weight:600;text-transform:uppercase}
.contact-list li{display:flex;gap:16px;align-items:flex-start;padding-block:14px}
.contact-list i{width:44px;height:44px;border-radius:12px;background:var(--chip);color:var(--deep);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.contact-list strong{display:block;color:var(--ink)}

/* ---------- Responsive ---------- */
@media (max-width:1280px){
  .cta{padding-inline:64px}
  .hero h1{font-size:50px;line-height:60px}
}
@media (max-width:1024px){
  :root{--pad-x:32px;--header-h:88px}
  .nav,.header-actions .btn{display:none}
  .menu-toggle{display:inline-flex}
  .mobile-nav{position:fixed;inset-block-start:var(--header-h);inset-inline:0;background:var(--bg);border-block-end:1px solid var(--line);padding:16px var(--pad-x) 24px;display:none;flex-direction:column;gap:4px;z-index:99}
  .mobile-nav.is-open{display:flex}
  .mobile-nav a{padding:14px 0;font-weight:600;color:var(--ink);border-block-end:1px solid var(--line)}
  .mobile-nav .btn{margin-block-start:16px;color:#fff;border:0}
  .hero__grid{grid-template-columns:1fr;gap:48px;min-height:0}
  .hero__copy,.hero__visual{grid-column:1/-1}
  .hero__frame{height:480px}
  .expertise-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cond-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .team-grid,.story-grid,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .team-grid .expert:last-child,.story-grid .story:last-child{grid-column:1/-1}
  .section-head--row{flex-direction:column;align-items:flex-start}
  .roadmap-wrap{padding-inline:0}
  .cta{padding:80px 32px}
  .cta h2,.hero h1,.page-hero .h2{font-size:44px;line-height:54px}
  .footer-grid{grid-template-columns:1fr 1fr}
  .grid-2{grid-template-columns:1fr}
}
@media (max-width:767px){
  :root{--pad-x:20px;--header-h:76px}
  .section,.hero{padding-block:56px}
  .logo{font-size:24px}.logo__mark{width:38px;height:38px}
  .hero h1{font-size:34px;line-height:42px;letter-spacing:-.6px;padding-inline-end:0}
  .hero__text{padding-inline-end:0;font-size:16px;line-height:26px}
  .hero__cta .btn{width:100%}
  .trust{grid-template-columns:1fr;gap:14px}
  .hero__frame{height:380px}
  .h2{font-size:30px;line-height:38px}
  .lead{font-size:16px;line-height:26px}
  .expertise-grid,.cond-grid,.team-grid,.story-grid,.grid-3,.footer-grid{grid-template-columns:1fr}
  .team-grid .expert:last-child,.story-grid .story:last-child{grid-column:auto}
  .action-end{justify-content:flex-start}
  .roadmap::before{inset-inline-start:40px;transform:none}
  .step,.step:nth-child(even){grid-template-columns:80px minmax(0,1fr)}
  .step__marker{grid-column:1;grid-row:1;width:64px;height:64px;margin-inline-start:8px}
  .step__marker::before,.step:nth-child(even) .step__marker::before{display:none}
  .step__card,.step:nth-child(even) .step__card{grid-column:2;grid-row:1;padding-inline:8px 0}
  .step__box{padding:20px;flex-direction:column}
  .story{padding:28px}
  .cta{padding:64px 20px}
  .cta h2{font-size:32px;line-height:40px;letter-spacing:-.6px}
  .cta__lead{font-size:16px;line-height:26px}
  .cta__bullets{flex-direction:column;align-items:flex-start}
  .page-hero{padding-block:56px 32px}
  .page-hero .h2{font-size:34px;line-height:42px}
  .newsletter{flex-direction:column}
  .footer-bottom{flex-direction:column}
}
@media (max-width:360px){
  .btn{padding-inline:20px;white-space:normal;text-align:center}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* =====================================================================
   HOME 2 (pages/home2.html)
   ===================================================================== */
:root{--cta2-bg:#145c5a;--backdrop:#dbebec}
.hm2 .eyebrow{color:var(--sub)}
.hm2 .h2{color:var(--deep);letter-spacing:-1px}
.hm2 .lead{line-height:29.25px}
.hm2 .btn{border-radius:8px}
.hm2 .btn--primary{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)}
.hm2 .btn--pill{border-radius:9999px}
.hm2-wrap{width:100%;max-width:1280px;margin-inline:auto;padding-inline:var(--pad-x)}
.hm2-sec{padding-block:96px}
.hm2-sec--alt{background:var(--alt)}
.hm2-stack{display:flex;flex-direction:column;gap:64px}
.hm2-head{display:flex;flex-direction:column;gap:12px;max-width:768px}
.hm2-head .lead{padding-block-start:4px}
.hm2-head--row{max-width:none;flex-direction:row;align-items:flex-end;justify-content:space-between;gap:32px}
.hm2-head--row .hm2-head__text{display:flex;flex-direction:column;gap:12px;max-width:672px}
.hm2-head--center{align-items:center;text-align:center;margin-inline:auto;max-width:672px}
.grid12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr))}

/* hero */
.hm2-hero{padding:32px var(--pad-x) 80px;overflow:hidden}
.hm2-hero__grid{gap:32px;align-items:center;min-height:540px}
.hm2-hero__copy{grid-column:1/span 6;grid-row:1;display:flex;flex-direction:column;align-items:flex-start}
.hm2-tag{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:9999px;background:var(--chip);box-shadow:var(--shadow-card);margin-block-end:24px}
.hm2-tag i{width:6px;height:6px;border-radius:50%;background:var(--primary)}
.hm2-hero h1{font-family:var(--font-head);font-weight:600;font-size:40px;line-height:50px;letter-spacing:-1px;color:var(--deep);margin-block-end:24px}
.hm2-hero h1 span{display:block}
.hm2-hero h1 em{font-weight:500;font-style:italic;color:var(--sub)}
.hm2-hero__text{max-width:576px;padding-inline-end:17px;margin-block-end:40px;font-size:18px;line-height:29.25px;color:var(--body)}
.hm2-hero__cta{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-block-end:48px}
.hm2-hero__cta .btn--soft{padding-inline:28px;gap:6px}
.hm2-hero__cta .btn--soft i{font-size:11px}
.hm2-badges{display:flex;flex-wrap:wrap;align-items:center;gap:24px 40px;padding-block-start:32px;width:100%}
.hm2-badge{display:flex;align-items:center;gap:12px}
.hm2-badge__ic{width:40px;height:40px;border-radius:50%;background:var(--chip);color:var(--deep);display:inline-flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}
.hm2-badge strong{display:block;font-weight:600;font-size:16px;line-height:20px;color:var(--ink)}
.hm2-badge span{display:block;font-size:13px;line-height:20px;letter-spacing:.13px;color:var(--sub)}
.hm2-vdiv{width:1px;height:32px;background:var(--line)}
.hm2-visual{grid-column:7/span 6;grid-row:1;height:540px;display:flex;justify-content:flex-end}
.hm2-visual__in{position:relative;flex:1;max-width:576px;min-width:0;height:100%}
.hm2-visual__back{position:absolute;inset:-6.7px -5.5px;border-radius:24px;background:var(--backdrop);opacity:.6;transform:rotate(1deg)}
.hm2-visual__img{position:relative;height:100%;border-radius:16px;overflow:hidden;background:var(--chip);box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1)}
.hm2-visual__img img{width:100%;height:100%;object-fit:cover;object-position:60% center}
.hm2-visual__img::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,67,66,.3),rgba(0,67,66,0) 50%)}
.hm2-metric{position:absolute;z-index:2;inset-inline-start:16px;bottom:-24px;max-width:320px;background:#fff;border-radius:12px;padding:24px;display:flex;align-items:center;gap:16px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1)}
.hm2-metric__ic{width:48px;height:48px;border-radius:8px;background:#cfe5d7;color:#004342;display:inline-flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.hm2-metric b{display:block;font-family:var(--font-head);font-weight:500;font-size:22px;line-height:22px;color:#004342;margin-block-end:3px}
.hm2-metric span{display:block;font-size:13px;line-height:17.88px;letter-spacing:.13px;color:#3f4948}
.hm2-status{position:absolute;z-index:2;inset-inline-end:24px;top:24px;display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:9999px;background:rgba(255,255,255,.9);backdrop-filter:blur(6px);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);font-weight:600;font-size:12px;line-height:16px;letter-spacing:.3px;text-transform:uppercase;color:#004342}
.hm2-status i{width:8px;height:8px;border-radius:50%;background:#92d2cf}

/* expertise */
.hm2-split{gap:48px;align-items:start}
.hm2-left{grid-column:1/span 5;display:flex;flex-direction:column;gap:24px}
.hm2-right{grid-column:6/span 7;display:flex;flex-direction:column;gap:16px}
.hm2-showcase{position:relative;border-radius:16px;overflow:hidden;background:var(--chip);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)}
.hm2-showcase img{width:100%;height:384px;object-fit:cover}
.hm2-showcase__panel{position:absolute;inset-inline:16px;bottom:16px;padding:20px;border-radius:12px;background:rgba(255,255,255,.95);backdrop-filter:blur(6px);box-shadow:0 1px 2px rgba(0,0,0,.05);display:flex;flex-direction:column;gap:4px}
.hm2-showcase__row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.hm2-showcase__row strong{font-weight:600;font-size:16px;line-height:24px;color:#004342}
.hm2-pill{display:inline-block;padding:2px 8px;border-radius:9999px;background:#cfe5d7;color:#004342;font-weight:600;font-size:12px;line-height:16px;letter-spacing:.6px}
.hm2-showcase__panel p{font-size:13px;line-height:20px;letter-spacing:.13px;color:#3f4948}
.hm2-callout{background:var(--card);border-radius:16px;padding:24px;display:flex;gap:16px;align-items:flex-start;box-shadow:var(--shadow-card)}
.hm2-callout>i{color:var(--primary);font-size:18px;width:16px;margin-block-start:2px}
.hm2-callout h4{font-weight:600;font-size:16px;line-height:24px;color:var(--deep);margin-block-end:4px}
.hm2-callout p{font-size:13px;line-height:20px;letter-spacing:.13px;color:var(--body)}
.hm2-mod{background:var(--card);border-radius:16px;padding:28px;display:flex;flex-direction:column;gap:16px}
.hm2-mod__top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.hm2-mod__main{display:flex;gap:24px;align-items:flex-start}
.hm2-mod__num{font-family:var(--font-head);font-weight:600;font-size:28px;line-height:36px;letter-spacing:-.28px;color:var(--sub);opacity:.45}
.hm2-mod .card-title{color:var(--deep);margin-block-end:6.9px}
.hm2-mod p{font-size:15px;line-height:24.38px;color:var(--body)}
.hm2-mod__top>i{font-size:13px;color:var(--sub);margin-block-start:4px}
.hm2-chips{display:flex;flex-wrap:wrap;gap:8px;padding-block-start:16px;padding-inline-start:56px}
.hm2-chip{padding:4px 12px;border-radius:9999px;background:var(--chip);color:var(--body);font-weight:500;font-size:11px;line-height:14px;letter-spacing:.44px}

/* treatments */
.hm2-tgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.hm2-tcard{position:relative;background:var(--card);border-radius:16px;box-shadow:0 1px 2px rgba(0,0,0,.05);padding:32px 32px 0;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}
.hm2-tcard::before{content:"";position:absolute;inset-inline-start:0;top:32px;width:6px;height:48px;background:var(--primary);border-radius:0 4px 4px 0}
html[dir="rtl"] .hm2-tcard::before{border-radius:4px 0 0 4px}
.hm2-tcard__body{display:flex;flex-direction:column;gap:11px;padding-block-end:24px}
.hm2-tcard__top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.hm2-tcard .eyebrow{font-size:12px}
.hm2-tag2{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:9999px;background:var(--mint);color:var(--deep);font-weight:500;font-size:11px;line-height:14px;letter-spacing:.44px}
.hm2-tag2 i{width:6px;height:6px;border-radius:50%;background:var(--deep)}
.hm2-tcard .card-title{color:var(--deep);padding-block-start:5px}
.hm2-tcard__body p{font-size:15px;line-height:24.38px;color:var(--body)}
.hm2-tcard__foot{margin:0 -32px;padding:24px 32px;background:var(--alt);display:flex;align-items:center;justify-content:space-between;gap:16px}
.hm2-tcard__foot span{font-size:13px;line-height:20px;letter-spacing:.13px;color:var(--sub)}
.hm2-tcard__foot strong{font-weight:600;font-size:16px;line-height:24px;color:var(--deep);text-align:end}

/* conditions index */
.hm2-conds{padding-block:96px 144px}
.hm2-conds__copy{grid-column:1/span 5;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.hm2-conds__copy .lead{padding-block:4px 20px}
.hm2-table{grid-column:6/span 7;display:flex;flex-direction:column}
.hm2-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 16px;border-radius:12px}
.hm2-row__l{display:flex;gap:24px;align-items:center;min-width:0}
.hm2-row__n{font-family:var(--font-head);font-weight:500;font-size:22px;line-height:30px;color:var(--sub);opacity:.55}
.hm2-row .card-title{color:var(--deep)}
.hm2-row p{font-size:13px;line-height:20px;letter-spacing:.13px;color:var(--body)}
.hm2-row__r{display:flex;align-items:center;gap:16px;flex-shrink:0}
.hm2-row__r .tagp{padding:4px 12px;border-radius:9999px;background:var(--chip);font-weight:600;font-size:12px;line-height:16px;letter-spacing:.6px;color:var(--sub);white-space:nowrap}
.hm2-row__r i{font-size:13px;color:var(--sub)}
.hm2-hr{height:1px;background:var(--line)}

/* journey */
.hm2-journey-wrap{display:flex;flex-direction:column;gap:80px}
.hm2-journey{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.hm2-journey::before{content:"";position:absolute;inset-inline:0;top:calc(50% - 30px);height:4px;background:var(--mint);transform:translateY(-50%)}
.hm2-stage{position:relative;background:var(--card);border-radius:16px;padding:28px;box-shadow:var(--shadow-card);display:flex;flex-direction:column}
.hm2-stage__top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-block-end:24px}
.hm2-stage__n{width:56px;height:56px;border-radius:50%;background:var(--chip);color:var(--deep);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-head);font-weight:700;font-size:22px}
.hm2-stage__n--3{background:var(--primary);color:#fff}
.hm2-stage__n--4{background:var(--mint)}
.hm2-stage__lbl{padding:4px 12px;border-radius:9999px;background:var(--chip);font-weight:600;font-size:12px;line-height:16px;letter-spacing:.6px;text-transform:uppercase;color:var(--sub)}
.hm2-stage__lbl--3{background:var(--mint);color:var(--deep)}
.hm2-stage .card-title{color:var(--deep);padding-block-end:8px}
.hm2-stage p{font-size:15px;line-height:24.38px;color:var(--body);flex:1}
.hm2-stage__foot{display:flex;align-items:center;gap:8px;padding-block-start:16px;font-weight:600;font-size:12px;line-height:16px;letter-spacing:.6px;color:var(--sub)}
.hm2-stage__foot i{font-size:12px}

/* results */
.hm2-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-block-start:16px}
.hm2-metrics__c{background:var(--card);border-radius:16px;padding:32px;display:flex;align-items:center;gap:20px;box-shadow:var(--shadow-card)}
.hm2-metrics__ic{min-width:50px;height:56px;padding-inline:12px;border-radius:12px;background:var(--mint);color:var(--deep);display:inline-flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}
.hm2-metrics__c b{display:block;font-family:var(--font-head);font-weight:600;font-size:40px;line-height:50px;letter-spacing:-.6px;color:var(--deep)}
.hm2-metrics__c span{display:block;font-size:13px;line-height:20px;letter-spacing:.13px;color:var(--body)}
.hm2-voices{gap:40px;align-items:start;padding-block-start:16px}
.hm2-spec{grid-column:1/span 4;background:var(--card);border-radius:16px;padding:28px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:32px}
.hm2-spec__who{display:flex;align-items:center;gap:16px}
.hm2-spec__who img{width:80px;height:80px;border-radius:50%;object-fit:cover;box-shadow:0 4px 3px rgba(0,0,0,.1),0 2px 2px rgba(0,0,0,.1)}
.hm2-spec h4{font-weight:600;font-size:20px;line-height:28px;letter-spacing:-.2px;color:var(--deep)}
.hm2-spec small{display:block;font-size:13px;line-height:20px;letter-spacing:.13px;color:var(--sub)}
.hm2-spec blockquote{margin:0;font-style:italic;font-size:15px;line-height:24.38px;color:var(--body)}
.hm2-spec__foot{border-block-start:1px solid var(--line);padding-block-start:17px;margin-block-start:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:600;font-size:12px;line-height:16px;letter-spacing:.6px}
.hm2-spec__foot span:first-child{color:var(--body)}
.hm2-spec__foot span:last-child{color:var(--deep)}
.hm2-quotes{grid-column:5/span 8;display:flex;flex-direction:column;gap:24px}
.hm2-big{background:var(--card);border-radius:16px;padding:32px;display:flex;flex-direction:column;gap:16px;box-shadow:var(--shadow-card)}
.hm2-big__top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.hm2-big blockquote{margin:0;font-family:var(--font-head);font-style:italic;font-weight:500;font-size:22px;line-height:30px;color:var(--deep)}
.hm2-big__foot{display:flex;align-items:center;justify-content:space-between;gap:12px}
.hm2-big__foot strong{font-weight:600;font-size:16px;line-height:24px;color:var(--ink)}
.hm2-big__foot span{font-size:13px;line-height:20px;letter-spacing:.13px;color:var(--body)}
.hm2-pill--up{padding:4px 14px;text-transform:uppercase}
.hm2-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.hm2-small{background:var(--card);border-radius:16px;padding:24px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;justify-content:space-between}
.hm2-small .hm2-chip{display:inline-block;text-transform:uppercase;color:var(--sub);margin-block-end:12px}
.hm2-small blockquote{margin:0;font-style:italic;font-size:15px;line-height:24px;color:var(--body);padding-block-end:16px}
.hm2-small strong{display:block;padding-block-start:8px;font-weight:600;font-size:16px;line-height:24px;color:var(--deep)}
.hm2-center{display:flex;justify-content:center}

/* final CTA */
.hm2-cta{position:relative;overflow:hidden;background:var(--cta2-bg);padding:96px 256px;color:#fff}
.hm2-cta__a{position:absolute;width:384px;height:384px;border-radius:50%;background:#004342;filter:blur(20px);opacity:.5;inset-inline-end:-96px;bottom:-95px}
.hm2-cta__b{position:absolute;width:256px;height:256px;border-radius:50%;background:#e0f1f2;filter:blur(32px);opacity:.1;inset-inline-start:40px;top:40px}
.hm2-cta__in{position:relative;max-width:768px;margin-inline:auto;display:flex;flex-direction:column;align-items:center;text-align:center}
.hm2-cta__tag{padding:4px 16px;border-radius:9999px;background:#4f6358;font-weight:600;font-size:12px;line-height:16px;letter-spacing:1.2px;text-transform:uppercase;color:#fff;margin-block-end:24px}
.hm2-cta h2{font-family:var(--font-head);font-weight:600;font-size:40px;line-height:50px;letter-spacing:-1px;color:#fff;margin-block-end:24px}
.hm2-cta__lead{max-width:672px;padding-inline:16px;font-size:18px;line-height:29.25px;color:#e6f7f8;margin-block-end:16px}
.hm2-cta__note{font-style:italic;font-size:15px;line-height:24px;color:#dbebec;margin-block-end:40px}
.hm2-cta__btns{display:flex;flex-wrap:wrap;gap:24px;justify-content:center}
.hm2-cta .btn--w{background:#fff;color:#004342;padding-inline:36px;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)}
.hm2-cta .btn--d{background:#004342;color:#fff}
.hm2-cta .btn--d:hover{background:#00302f}
.hm2-cta__foot{margin-block-start:56px;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 24px}
.hm2-cta__foot span.i{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:12px;line-height:16px;letter-spacing:.6px;color:#e6f7f8}
.hm2-cta__foot span.d{width:4px;height:4px;border-radius:50%;background:rgba(230,247,248,.4)}

@media (max-width:1280px){.hm2-cta{padding-inline:96px}}
@media (max-width:1024px){
  .hm2-hero__grid{grid-template-columns:1fr;gap:64px;min-height:0}
  .hm2-hero__copy,.hm2-visual{grid-column:1/-1;grid-row:auto}
  .hm2-visual{height:480px;justify-content:center}
  .hm2-visual__in{max-width:none}
  .hm2-split,.hm2-voices{grid-template-columns:1fr}
  .hm2-left,.hm2-right,.hm2-conds__copy,.hm2-table,.hm2-spec,.hm2-quotes{grid-column:1/-1}
  .hm2-conds{padding-block:80px 96px}
  .hm2-head--row{flex-direction:column;align-items:flex-start}
  .hm2-journey{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hm2-journey::before{display:none}
  .hm2-metrics{grid-template-columns:1fr}
  .hm2-cta{padding:80px 32px}
  .hm2-sec{padding-block:80px}
}
@media (max-width:767px){
  .hm2-hero{padding-block:24px 64px}
  .hm2-hero h1{font-size:34px;line-height:42px}
  .hm2-hero__text{padding-inline-end:0;font-size:16px;line-height:26px}
  .hm2-hero__cta .btn{width:100%}
  .hm2-vdiv{display:none}
  .hm2-visual{height:380px}
  .hm2-metric{inset-inline-start:12px;max-width:calc(100% - 24px);padding:16px}
  .hm2-status{inset-inline-end:12px;top:12px;font-size:11px}
  .hm2-sec{padding-block:56px}
  .hm2-stack{gap:40px}
  .hm2-tgrid,.hm2-journey,.hm2-two{grid-template-columns:1fr}
  .hm2-tcard__foot{flex-direction:column;align-items:flex-start;gap:6px}
  .hm2-tcard__foot strong{text-align:start}
  .hm2-tcard__top{flex-wrap:wrap}
  .hm2-chips{padding-inline-start:0}
  .hm2-mod__main{gap:14px}
  .hm2-row{flex-direction:column;align-items:flex-start}
  .hm2-row__r{width:100%;justify-content:space-between}
  .hm2-row__l{gap:14px}
  .hm2-conds{padding-block:56px 64px}
  .hm2-metrics__c{padding:24px}
  .hm2-metrics__c b{font-size:32px;line-height:40px}
  .hm2-big{padding:24px}
  .hm2-big__top,.hm2-big__foot{flex-wrap:wrap}
  .hm2-cta{padding:64px 20px}
  .hm2-cta h2{font-size:30px;line-height:38px}
  .hm2-cta__lead{padding-inline:0;font-size:16px;line-height:26px}
  .hm2-cta__btns{flex-direction:column;width:100%;gap:12px}
  .hm2-cta__btns .btn{width:100%}
  .hm2-cta__foot .d{display:none}
}

/* ===== Flux – main styles (tokens taken from the Figma frame) ===== */
:root{
  --bg:#ecfdfd; --alt:#e6f7f8; --card:#ffffff; --chip:#e0f1f2;
  --ink:#0f1e1f; --body:#3f4948; --muted:#6f7978; --sub:#4f6358;
  --primary:#145c5a; --deep:#004342; --mint:#cfe5d7; --mint2:#d2e8d9;
  --line:rgba(191,200,199,.3); --dash:rgba(20,92,90,.4);
  --header-bg:rgba(236,253,253,.92); --footer-bg:#0f1e1f; --footer-text:#c9dddd;
  --cta-bg:#004342; --cta-ink:#004342;
  --font-head:'Playfair Display',Georgia,serif; --font-body:'Inter',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  --header-h:112px; --pad-x:48px; --shadow-card:0 1px 1px rgba(0,0,0,.05);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--body);font-family:var(--font-body);font-size:16px;line-height:1.5;padding-top:var(--header-h);overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,p{margin:0}
ul{margin:0;padding:0;list-style:none}
button,input,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--primary);outline-offset:3px}
.container{width:100%;max-width:1280px;margin-inline:auto}
.section{padding:80px var(--pad-x)}
.section--alt{background:var(--alt)}
.fa-solid,.fa-regular,.fa-brands{line-height:1}

/* ---------- Header ---------- */
.site-header{position:fixed;inset-block-start:0;inset-inline:0;z-index:100;height:var(--header-h);background:var(--header-bg);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-block-end:1px solid rgba(191,200,199,.3);box-shadow:0 1px 8px rgba(20,92,90,.05)}
.topbar{height:31px;background:var(--alt);border-block-end:1px solid rgba(191,200,199,.2)}
.topbar__in{max-width:1280px;height:100%;margin-inline:auto;padding-inline:var(--pad-x);display:flex;align-items:center;justify-content:space-between;gap:16px}
.topbar__l{display:inline-flex;align-items:center;gap:4px;font-weight:600;font-size:12px;line-height:16px;letter-spacing:.6px;color:#3f4948}
.topbar__l i{font-size:11px;width:11px}
.topbar__r{display:inline-flex;align-items:center;gap:16px;font-weight:500;font-size:11px;line-height:14px;letter-spacing:.44px;color:#3f4948}
.topbar__r i{width:4px;height:4px;border-radius:50%;background:#bfc8c7}
.header-inner{height:80px;max-width:1280px;margin-inline:auto;padding-inline:var(--pad-x);display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-head);font-weight:500;font-size:22px;line-height:30px;letter-spacing:-.55px;color:var(--deep)}
.logo__mark{width:32px;height:32px;border-radius:8px;background:#145c5a;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}
.nav{display:flex;align-items:center;gap:24px}
.nav>a,.nav__btn{font:inherit;font-size:15px;line-height:24px;font-weight:400;color:#3f4948;padding-block:4px;background:none;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:4px;white-space:nowrap;transition:color .2s}
.nav>a:hover,.nav__btn:hover,.nav>a.is-active,.nav__btn.is-active{color:#3f4948}
.nav>a.is-active,.nav__btn.is-active{font-weight:600}
.nav__btn i{font-size:7px;transition:transform .2s}
.nav__item{position:relative}
.nav__item.is-open .nav__btn i,.nav__item:hover .nav__btn i{transform:rotate(180deg)}
.nav__menu{position:absolute;inset-block-start:100%;inset-inline-start:-12px;min-width:180px;padding:8px;border-radius:12px;background:var(--card);border:1px solid var(--line);box-shadow:0 10px 25px -5px rgba(0,0,0,.12);display:none;flex-direction:column;gap:2px;z-index:5}
.nav__menu::before{content:"";position:absolute;inset-inline:0;top:-10px;height:10px}
.nav__item:hover .nav__menu,.nav__item.is-open .nav__menu,.nav__item:focus-within .nav__menu{display:flex}
.nav__menu a{padding:10px 12px;border-radius:8px;font-size:14px;color:var(--body)}
.nav__menu a:hover{background:var(--chip);color:var(--deep)}
.header-actions{display:flex;align-items:center;gap:16px}
.rc-btn{height:36px;border-radius:8px;border:1px solid rgba(191,200,199,.4);background:rgba(255,255,255,.8);color:var(--body);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:12px;transition:background .2s}
.rc-btn:hover{background:var(--chip)}
.rc-btn--rtl{padding-inline:13px;font-weight:600;letter-spacing:.6px;text-transform:uppercase}
.rc-btn--rtl i{font-size:10px}
.rc-btn--sq{width:36px;font-size:14px}
.rc-login{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;border-radius:8px;background:#145c5a;color:#fff;font-size:14px;line-height:20px;box-shadow:var(--shadow-card);transition:background .2s}
.rc-login:hover{background:#004342}
.icon-btn{width:44px;height:44px;border-radius:50%;border:0;background:var(--chip);color:var(--deep);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:16px;transition:background .2s}
.icon-btn:hover{background:var(--mint)}
.menu-toggle{display:none}
.mobile-nav{display:none}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:16px 32px;border-radius:9999px;font-weight:600;font-size:16px;line-height:24px;border:0;cursor:pointer;white-space:nowrap;transition:transform .2s,background .2s,box-shadow .2s}
.btn--primary{background:var(--primary);color:#fff;box-shadow:var(--shadow-card)}
.btn--primary:hover{background:var(--deep);transform:translateY(-1px)}
.btn--soft{background:var(--chip);color:var(--deep)}
.btn--soft:hover{background:var(--mint)}
.btn--white{background:#fff;color:var(--cta-ink);padding-inline:40px;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)}
.btn--white:hover{transform:translateY(-1px)}
.btn--sm{padding:12px 24px;font-size:15px}
.link-arrow{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:16px;line-height:24px;color:var(--deep)}
.link-arrow i{font-size:14px;transition:transform .2s}
.link-arrow:hover i{transform:translateX(4px)}

/* ---------- Typography blocks ---------- */
.eyebrow{font-weight:600;font-size:12px;line-height:16px;letter-spacing:1.2px;text-transform:uppercase;color:var(--deep)}
.h2{font-family:var(--font-head);font-weight:600;font-size:40px;line-height:50px;letter-spacing:-.6px;color:var(--ink)}
.lead{font-size:18px;line-height:28px;color:var(--body)}
.section-head{display:flex;flex-direction:column;gap:16px;max-width:768px;padding-block-start:4.5px}
.section-head .h2{padding-block-start:3.5px}
.section-head--row{max-width:none;flex-direction:row;align-items:flex-end;justify-content:space-between;gap:32px}
.section-head--row .section-head__text{display:flex;flex-direction:column;gap:16px;max-width:672px;padding-block-start:4.5px}
.section-head--row .section-head__text .h2{padding-block-start:3.5px}
.stack-48{display:flex;flex-direction:column;gap:48px}

/* ---------- Hero ---------- */
.hero{padding:80px var(--pad-x);overflow:hidden}
.hero__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:64px;align-items:center;min-height:560px}
.hero__copy{grid-column:1/span 7;display:flex;flex-direction:column;align-items:flex-start}
.hero__visual{grid-column:8/span 5;position:relative}
.pill{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:9999px;background:rgba(207,229,215,.4)}
.pill__dot{width:8px;height:8px;border-radius:50%;background:var(--primary)}
.hero h1{font-family:var(--font-head);font-weight:600;font-size:56px;line-height:68px;letter-spacing:-1.12px;color:var(--ink);margin-block-start:24px;padding-inline-end:54px}
.hero__text{max-width:576px;margin-block-start:24px;padding-inline-end:40px;font-size:18px;line-height:28px;color:var(--body)}
.hero__cta{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-block-start:24px;padding-block-start:8px}
.trust{margin-block-start:24px;display:grid;grid-template-columns:auto auto;gap:24px 40px;padding-block:20px}
.trust li{display:flex;align-items:center;gap:8px;font-weight:600;font-size:12px;line-height:16px;letter-spacing:.6px;color:var(--body)}
.trust li i{color:var(--primary);font-size:15px;width:16px;text-align:center}
.hero__frame{position:relative;border-radius:16px;overflow:hidden;background:var(--chip);height:560px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1)}
.hero__frame img{width:100%;height:100%;object-fit:cover;object-position:60% center}
.hero__frame::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,67,66,.6),rgba(0,67,66,0) 50%)}
.hero__blob{position:absolute;inset-inline-end:-16px;top:-16px;width:96px;height:96px;border-radius:50%;background:rgba(210,232,217,.4);filter:blur(12px);z-index:0}
.credential{position:absolute;z-index:2;inset-inline:24px;bottom:24px;display:flex;align-items:center;gap:12px;padding:16px;border-radius:12px;background:rgba(255,255,255,.95);backdrop-filter:blur(6px);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)}
.credential__icon{width:40px;height:40px;border-radius:50%;background:var(--mint);color:var(--deep);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.credential strong{display:block;font-weight:600;font-size:16px;line-height:24px;color:#0f1e1f}
.credential span{display:block;font-size:13px;line-height:20px;letter-spacing:.13px;color:#3f4948}

/* ---------- Expertise ---------- */
.expertise-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;align-items:stretch}
.exp-card{background:var(--card);border-radius:12px;box-shadow:var(--shadow-card);padding:32px;display:flex;flex-direction:column;justify-content:space-between;gap:30px;overflow:hidden}
.exp-card__top{display:flex;align-items:center;justify-content:space-between}
.icon-tile{width:48px;height:48px;border-radius:8px;background:var(--chip);color:var(--deep);display:inline-flex;align-items:center;justify-content:center;font-size:19px}
.num{font-weight:600;font-size:12px;line-height:16px;letter-spacing:.6px;color:var(--muted)}
.card-title{font-family:var(--font-head);font-weight:500;font-size:22px;line-height:30px;color:var(--ink)}
.exp-card .card-title{padding-block-start:20px;margin-block-start:12px}
.exp-card p.card-text{margin-block-start:12px;font-size:15px;line-height:24px;color:var(--body)}
.exp-card__foot{margin:0 -32px -32px;padding:30px 32px 20px;background:rgba(230,247,248,.5);border-radius:0 0 12px 12px}
.label-sm{font-weight:500;font-size:11px;line-height:14px;letter-spacing:.55px;text-transform:uppercase;color:var(--deep)}
.action-end{display:flex;justify-content:flex-end}

/* ---------- Roadmap ---------- */
.roadmap-wrap{padding:24px 80px 48px;max-width:1184px;margin-inline:auto;width:100%}
.roadmap{position:relative;display:flex;flex-direction:column;gap:64px}
.roadmap::before{content:"";position:absolute;inset-block:40px;inset-inline-start:50%;border-inline-start:2px dashed var(--dash);transform:translateX(-50%)}
.step{display:grid;grid-template-columns:minmax(0,1fr) 80px minmax(0,1fr);align-items:center;position:relative}
.step__card{grid-column:1;padding-inline-end:48px;max-width:100%}
.step:nth-child(even) .step__card{grid-column:3;padding-inline-end:0;padding-inline-start:48px}
.step__marker{grid-column:2;grid-row:1;position:relative;width:80px;height:80px;border-radius:50%;background:var(--card);border:4px solid var(--primary);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 0 4px rgba(207,229,215,.4),0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)}
.step__marker::before{content:"";position:absolute;top:50%;width:60px;border-block-start:2px dashed var(--dash);inset-inline-end:100%;margin-inline-end:4px}
.step:nth-child(even) .step__marker::before{inset-inline-end:auto;inset-inline-start:100%;margin-inline-end:0;margin-inline-start:4px}
.step__marker small{font-weight:600;font-size:10px;line-height:10px;letter-spacing:.5px;text-transform:uppercase;color:var(--sub)}
.step__marker b{font-family:var(--font-head);font-weight:700;font-size:20px;line-height:20px;color:var(--deep);margin-block-start:4px}
.step__box{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-card);padding:29px;display:flex;gap:16px;align-items:flex-start;max-width:512px}
.step:nth-child(even) .step__box{margin-inline-start:0}
.step__icon{width:48px;height:48px;border-radius:12px;background:rgba(207,229,215,.5);color:var(--deep);display:inline-flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0}
.step__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:7px}
.step__row{display:flex;align-items:center;justify-content:space-between;gap:8px}
.phase{font-weight:600;font-size:11px;line-height:14px;letter-spacing:1.1px;text-transform:uppercase;color:var(--deep)}
.badge{padding:2px 10px;border-radius:9999px;background:var(--mint);color:#53675c;font-weight:500;font-size:11px;line-height:14px;letter-spacing:.44px}
.step:first-child .badge{background:var(--mint2);color:#0c1f16}
.step__text{font-size:15px;line-height:24.38px;color:var(--body)}
.step__chip{margin-block-start:9px;display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:9999px;background:var(--chip);color:var(--deep);font-weight:500;font-size:11px;line-height:14px;letter-spacing:.44px;align-self:flex-start}
.step__chip i{font-size:11px}

/* ---------- Conditions ---------- */
.cond-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.cond{background:var(--card);border-radius:12px;padding:24px;min-height:176px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:var(--shadow-card)}
.cond__top{display:flex;align-items:center;justify-content:space-between;color:var(--deep)}
.cond__num{width:32px;height:32px;border-radius:50%;background:rgba(207,229,215,.5);display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:12px;letter-spacing:.6px;color:var(--deep)}
.cond__top i{font-size:13px}
.cond .card-title{margin-block-end:4px}
.cond p{font-size:13px;line-height:20px;letter-spacing:.13px;color:var(--body)}

/* ---------- Team ---------- */
.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.expert{background:var(--alt);border-radius:16px;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.05);display:flex;flex-direction:column}
.expert__photo{background:var(--chip);aspect-ratio:1/1.0;overflow:hidden}
.expert__photo img{width:100%;height:100%;object-fit:cover}
.expert__body{padding:32px;display:flex;flex-direction:column;flex:1;justify-content:space-between}
.expert__role{font-weight:500;font-size:11px;line-height:14px;letter-spacing:.55px;text-transform:uppercase;color:var(--deep)}
.expert .card-title{margin-block-start:4px}
.expert__meta{margin-block-start:4px;font-size:13px;line-height:20px;letter-spacing:.13px;color:var(--sub)}
.expert__text{margin-block-start:16px;font-size:15px;line-height:24px;color:var(--body)}
.expert__foot{margin-block-start:32px;padding-block-start:16px;display:flex;align-items:center;justify-content:space-between;color:var(--deep)}
.avail{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:12px;line-height:16px;letter-spacing:.6px;color:var(--deep)}
.avail::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--deep)}

/* ---------- Testimonials ---------- */
.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.story{background:var(--card);border-radius:16px;box-shadow:var(--shadow-card);padding:40px;display:flex;flex-direction:column;justify-content:space-between}
.story__quote{padding-block-end:24px;display:flex;flex-direction:column;gap:8px}
.story__mark{font-family:Georgia,'Liberation Serif',serif;font-weight:700;font-size:40px;line-height:40px;letter-spacing:-.6px;color:rgba(20,92,90,.3)}
.story blockquote{margin:0;font-family:var(--font-head);font-weight:500;font-size:22px;line-height:30.25px;color:var(--ink)}
.story__foot{border-block-start:1px solid var(--line);padding-block-start:25px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.story__name{font-weight:600;font-size:16px;line-height:24px;color:var(--ink)}
.story__sub{font-size:13px;line-height:20px;letter-spacing:.13px;color:var(--sub)}
.stars{display:flex;gap:4px;color:var(--primary);font-size:11px}

/* ---------- CTA ---------- */
.cta{position:relative;overflow:hidden;background:var(--cta-bg);padding:96px 128px;color:#fff}
.cta__blob{position:absolute;border-radius:50%;filter:blur(32px);pointer-events:none}
.cta__blob--a{width:384px;height:384px;background:rgba(20,92,90,.4);inset-inline-start:-96px;bottom:-95px}
.cta__blob--b{width:384px;height:384px;background:rgba(207,229,215,.1);inset-inline-end:-96px;top:-96px}
.cta__inner{position:relative;max-width:1024px;margin-inline:auto;display:flex;flex-direction:column;align-items:center;text-align:center}
.cta .pill{background:#145c5a;padding:6px 16px}
.cta .pill .pill__dot{background:#d2e8d9}
.cta .eyebrow{color:#d2e8d9}
.cta h2{font-family:var(--font-head);font-weight:600;font-size:56px;line-height:68px;letter-spacing:-1.12px;color:#fff;margin-block-start:32px;max-width:768px}
.cta__lead{margin-block-start:32px;max-width:672px;font-size:18px;line-height:29.25px;color:#dbebec}
.cta__bullets{margin-block-start:32px;padding-block-start:8px;display:flex;flex-wrap:wrap;justify-content:center;gap:16px 40px}
.cta__bullets li{display:flex;align-items:center;gap:8px;font-weight:600;font-size:16px;line-height:24px;color:#fff}
.cta__bullets i{color:#d2e8d9;font-size:20px}
.cta__action{margin-block-start:32px;padding-block-start:24px;display:flex;flex-direction:column;align-items:center}
.cta__note{margin-block-start:12px;font-size:13px;line-height:20px;letter-spacing:.13px;color:#d2e8d9}

/* ---------- Footer ---------- */
.site-footer{background:var(--footer-bg);color:rgba(255,255,255,.75);padding:64px var(--pad-x) 48px}
.footer-wrap{max-width:1280px;margin-inline:auto}
.footer-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:32px;padding-block-end:65px;border-block-end:1px solid rgba(255,255,255,.1)}
.site-footer .logo{color:#fff;font-weight:700;font-size:20px;line-height:28px;letter-spacing:-.5px}
.site-footer h4{font-family:var(--font-head);font-weight:600;font-size:14px;line-height:20px;letter-spacing:.35px;color:#fff;margin-block-end:12px}
.site-footer li+li{margin-block-start:10px}
.site-footer li,.site-footer li a{font-size:12px;line-height:16px;color:rgba(255,255,255,.75)}
.site-footer a:hover{color:#fff}
.footer-about,.footer-news-text{margin-block-start:16px;font-size:12px;line-height:19.5px;color:rgba(183,205,191,.8);max-width:240px}
.footer-news-text{margin-block-start:0}
.socials{display:flex;gap:10px;margin-block-start:24px}
.socials a{width:32px;height:32px;border-radius:8px;background:rgba(255,255,255,.1);display:inline-flex;align-items:center;justify-content:center;font-size:13px;color:#fff;transition:background .2s}
.socials a:hover{background:#145c5a}
.footer-contact li{display:flex;gap:10px;align-items:flex-start}
.footer-contact li+li{margin-block-start:12px}
.footer-contact i{font-size:11px;width:12px;margin-block-start:2px;color:rgba(255,255,255,.75)}
.rc-news{margin-block-start:12px}
.rc-news__box{position:relative}
.rc-news__input{width:100%;height:44px;border-radius:9999px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.1);color:#fff;font-size:12px;padding:0 97px 0 17px;transition:border-color .2s}
html[dir="rtl"] .rc-news__input{padding:0 17px 0 97px}
.rc-news__input::placeholder{color:rgba(255,255,255,.4)}
.rc-news__input:focus{outline:none;border-color:#86b596}
.rc-news__btn{position:absolute;inset-block:4px;inset-inline-end:4px;padding:0 16px;border:0;border-radius:9999px;background:#86b596;color:#092b2a;font-weight:600;font-size:12px;cursor:pointer;box-shadow:var(--shadow-card);transition:filter .2s}
.rc-news__btn:hover{filter:brightness(1.08)}
.rc-news .field{gap:6px}
.site-footer .field-error{color:#ff9d92}
.site-footer .form-success{margin-block-start:10px;background:#cfe5d7;color:#092b2a;font-size:12px;padding:10px 12px}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding-block-start:32px;font-size:12px;line-height:16px;color:rgba(255,255,255,.6)}
.footer-legal{display:flex;gap:24px;flex-wrap:wrap}
.footer-legal a{color:rgba(255,255,255,.6)}
.to-top{width:40px;height:40px;border-radius:50%;background:#86b596;color:#092b2a!important;display:inline-flex;align-items:center;justify-content:center;font-size:13px;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);transition:transform .2s}
.to-top:hover{transform:translateY(-2px)}

/* ---------- Forms (custom validation) ---------- */
.form{display:flex;flex-direction:column;gap:16px}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-weight:600;font-size:14px;color:var(--ink)}
.input{width:100%;padding:14px 16px;border-radius:12px;border:1.5px solid var(--line);background:var(--card);color:var(--ink);font-size:15px;transition:border-color .2s,box-shadow .2s}
.input::placeholder{color:var(--muted)}
textarea.input{min-height:140px;resize:vertical}
.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(20,92,90,.18)}
.field.has-error .input{border-color:#c0392b}
.field-error{min-height:18px;font-size:12.5px;color:#c0392b;display:none}
.field.has-error .field-error{display:block}
.form-success{display:none;padding:14px 16px;border-radius:12px;background:var(--mint);color:#0c1f16;font-weight:600;font-size:14px}
.form-success.is-visible{display:block}

/* ---------- Inner pages ---------- */
.page-hero{padding:80px var(--pad-x) 56px}
.page-hero .h2{font-size:56px;line-height:68px;letter-spacing:-1.12px;margin-block-start:16px}
.page-hero .lead{margin-block-start:20px;max-width:640px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;align-items:start}
.plain-card{background:var(--card);border-radius:16px;padding:32px;box-shadow:var(--shadow-card)}
.plain-card .card-title{margin-block:20px 12px}
.plain-card p{font-size:15px;line-height:24px}
.blog-card{background:var(--card);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-card);display:flex;flex-direction:column}
.blog-card__img{aspect-ratio:16/10;background:linear-gradient(135deg,var(--chip),var(--mint));display:flex;align-items:center;justify-content:center;font-size:40px;color:var(--primary)}
.blog-card__body{padding:28px;display:flex;flex-direction:column;gap:10px;flex:1}
.blog-card__meta{font-size:12px;letter-spacing:.6px;color:var(--sub);font-weight:600;text-transform:uppercase}
.contact-list li{display:flex;gap:16px;align-items:flex-start;padding-block:14px}
.contact-list i{width:44px;height:44px;border-radius:12px;background:var(--chip);color:var(--deep);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.contact-list strong{display:block;color:var(--ink)}

/* ---------- Responsive ---------- */
@media (max-width:1280px){
  .cta{padding-inline:64px}
  .hero h1{font-size:50px;line-height:60px}
}
@media (max-width:1024px){
  :root{--pad-x:32px;--header-h:104px}
  .hero__grid{grid-template-columns:1fr;gap:48px;min-height:0}
  .hero__copy,.hero__visual{grid-column:1/-1}
  .hero__frame{height:480px}
  .expertise-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cond-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .team-grid,.story-grid,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .team-grid .expert:last-child,.story-grid .story:last-child{grid-column:1/-1}
  .section-head--row{flex-direction:column;align-items:flex-start}
  .roadmap-wrap{padding-inline:0}
  .cta{padding:80px 32px}
  .cta h2,.hero h1,.page-hero .h2{font-size:44px;line-height:54px}
  .grid-2{grid-template-columns:1fr}
}
@media (max-width:767px){
  :root{--pad-x:20px;--header-h:74px}
  .section,.hero{padding-block:56px}
  .hero h1{font-size:34px;line-height:42px;letter-spacing:-.6px;padding-inline-end:0}
  .hero__text{padding-inline-end:0;font-size:16px;line-height:26px}
  .hero__cta .btn{width:100%}
  .trust{grid-template-columns:1fr;gap:14px}
  .hero__frame{height:380px}
  .h2{font-size:30px;line-height:38px}
  .lead{font-size:16px;line-height:26px}
  .expertise-grid,.cond-grid,.team-grid,.story-grid,.grid-3{grid-template-columns:1fr}
  .team-grid .expert:last-child,.story-grid .story:last-child{grid-column:auto}
  .action-end{justify-content:flex-start}
  .roadmap::before{inset-inline-start:40px;transform:none}
  .step,.step:nth-child(even){grid-template-columns:80px minmax(0,1fr)}
  .step__marker{grid-column:1;grid-row:1;width:64px;height:64px;margin-inline-start:8px}
  .step__marker::before,.step:nth-child(even) .step__marker::before{display:none}
  .step__card,.step:nth-child(even) .step__card{grid-column:2;grid-row:1;padding-inline:8px 0}
  .step__box{padding:20px;flex-direction:column}
  .story{padding:28px}
  .cta{padding:64px 20px}
  .cta h2{font-size:32px;line-height:40px;letter-spacing:-.6px}
  .cta__lead{font-size:16px;line-height:26px}
  .cta__bullets{flex-direction:column;align-items:flex-start}
  .page-hero{padding-block:56px 32px}
  .page-hero .h2{font-size:34px;line-height:42px}
  }
@media (max-width:360px){
  .btn{padding-inline:20px;white-space:normal;text-align:center}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* =====================================================================
   HOME 2 (pages/home2.html)
   ===================================================================== */
:root{--cta2-bg:#145c5a;--backdrop:#dbebec}
.hm2 .eyebrow{color:var(--sub)}
.hm2 .h2{color:var(--deep);letter-spacing:-1px}
.hm2 .lead{line-height:29.25px}
.hm2 .btn{border-radius:8px}
.hm2 .btn--primary{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)}
.hm2 .btn--pill{border-radius:9999px}
.hm2-wrap{width:100%;max-width:1280px;margin-inline:auto;padding-inline:var(--pad-x)}
.hm2-sec{padding-block:96px}
.hm2-sec--alt{background:var(--alt)}
.hm2-stack{display:flex;flex-direction:column;gap:64px}
.hm2-head{display:flex;flex-direction:column;gap:12px;max-width:768px}
.hm2-head .lead{padding-block-start:4px}
.hm2-head--row{max-width:none;flex-direction:row;align-items:flex-end;justify-content:space-between;gap:32px}
.hm2-head--row .hm2-head__text{display:flex;flex-direction:column;gap:12px;max-width:672px}
.hm2-head--center{align-items:center;text-align:center;margin-inline:auto;max-width:672px}
.grid12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr))}

/* hero */
.hm2-hero{padding:32px var(--pad-x) 80px;overflow:hidden}
.hm2-hero__grid{gap:32px;align-items:center;min-height:540px}
.hm2-hero__copy{grid-column:1/span 6;grid-row:1;display:flex;flex-direction:column;align-items:flex-start}
.hm2-tag{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:9999px;background:var(--chip);box-shadow:var(--shadow-card);margin-block-end:24px}
.hm2-tag i{width:6px;height:6px;border-radius:50%;background:var(--primary)}
.hm2-hero h1{font-family:var(--font-head);font-weight:600;font-size:40px;line-height:50px;letter-spacing:-1px;color:var(--deep);margin-block-end:24px}
.hm2-hero h1 span{display:block}
.hm2-hero h1 em{font-weight:500;font-style:italic;color:var(--sub)}
.hm2-hero__text{max-width:576px;padding-inline-end:17px;margin-block-end:40px;font-size:18px;line-height:29.25px;color:var(--body)}
.hm2-hero__cta{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-block-end:48px}
.hm2-hero__cta .btn--soft{padding-inline:28px;gap:6px}
.hm2-hero__cta .btn--soft i{font-size:11px}
.hm2-badges{display:flex;flex-wrap:wrap;align-items:center;gap:24px 40px;padding-block-start:32px;width:100%}
.hm2-badge{display:flex;align-items:center;gap:12px}
.hm2-badge__ic{width:40px;height:40px;border-radius:50%;background:var(--chip);color:var(--deep);display:inline-flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}
.hm2-badge strong{display:block;font-weight:600;font-size:16px;line-height:20px;color:var(--ink)}
.hm2-badge span{display:block;font-size:13px;line-height:20px;letter-spacing:.13px;color:var(--sub)}
.hm2-vdiv{width:1px;height:32px;background:var(--line)}
.hm2-visual{grid-column:7/span 6;grid-row:1;height:540px;display:flex;justify-content:flex-end}
.hm2-visual__in{position:relative;flex:1;max-width:576px;min-width:0;height:100%}
.hm2-visual__back{position:absolute;inset:-6.7px -5.5px;border-radius:24px;background:var(--backdrop);opacity:.6;transform:rotate(1deg)}
.hm2-visual__img{position:relative;height:100%;border-radius:16px;overflow:hidden;background:var(--chip);box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1)}
.hm2-visual__img img{width:100%;height:100%;object-fit:cover;object-position:60% center}
.hm2-visual__img::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,67,66,.3),rgba(0,67,66,0) 50%)}
.hm2-metric{position:absolute;z-index:2;inset-inline-start:16px;bottom:-24px;max-width:320px;background:#fff;border-radius:12px;padding:24px;display:flex;align-items:center;gap:16px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1)}
.hm2-metric__ic{width:48px;height:48px;border-radius:8px;background:#cfe5d7;color:#004342;display:inline-flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.hm2-metric b{display:block;font-family:var(--font-head);font-weight:500;font-size:22px;line-height:22px;color:#004342;margin-block-end:3px}
.hm2-metric span{display:block;font-size:13px;line-height:17.88px;letter-spacing:.13px;color:#3f4948}
.hm2-status{position:absolute;z-index:2;inset-inline-end:24px;top:24px;display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:9999px;background:rgba(255,255,255,.9);backdrop-filter:blur(6px);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);font-weight:600;font-size:12px;line-height:16px;letter-spacing:.3px;text-transform:uppercase;color:#004342}
.hm2-status i{width:8px;height:8px;border-radius:50%;background:#92d2cf}

/* expertise */
.hm2-split{gap:48px;align-items:start}
.hm2-left{grid-column:1/span 5;display:flex;flex-direction:column;gap:24px}
.hm2-right{grid-column:6/span 7;display:flex;flex-direction:column;gap:16px}
.hm2-showcase{position:relative;border-radius:16px;overflow:hidden;background:var(--chip);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)}
.hm2-showcase img{width:100%;height:384px;object-fit:cover}
.hm2-showcase__panel{position:absolute;inset-inline:16px;bottom:16px;padding:20px;border-radius:12px;background:rgba(255,255,255,.95);backdrop-filter:blur(6px);box-shadow:0 1px 2px rgba(0,0,0,.05);display:flex;flex-direction:column;gap:4px}
.hm2-showcase__row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.hm2-showcase__row strong{font-weight:600;font-size:16px;line-height:24px;color:#004342}
.hm2-pill{display:inline-block;padding:2px 8px;border-radius:9999px;background:#cfe5d7;color:#004342;font-weight:600;font-size:12px;line-height:16px;letter-spacing:.6px}
.hm2-showcase__panel p{font-size:13px;line-height:20px;letter-spacing:.13px;color:#3f4948}
.hm2-callout{background:var(--card);border-radius:16px;padding:24px;display:flex;gap:16px;align-items:flex-start;box-shadow:var(--shadow-card)}
.hm2-callout>i{color:var(--primary);font-size:18px;width:16px;margin-block-start:2px}
.hm2-callout h4{font-weight:600;font-size:16px;line-height:24px;color:var(--deep);margin-block-end:4px}
.hm2-callout p{font-size:13px;line-height:20px;letter-spacing:.13px;color:var(--body)}
.hm2-mod{background:var(--card);border-radius: 40px 0px 40px 0px;;padding:28px;display:flex;flex-direction:column;gap:16px}
.hm2-mod__top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.hm2-mod__main{display:flex;gap:24px;align-items:flex-start}
.hm2-mod__num{font-family:var(--font-head);font-weight:600;font-size:28px;line-height:36px;letter-spacing:-.28px;color:var(--sub);opacity:.45}
.hm2-mod .card-title{color:var(--deep);margin-block-end:6.9px}
.hm2-mod p{font-size:15px;line-height:24.38px;color:var(--body)}
.hm2-mod__top>i{font-size:13px;color:var(--sub);margin-block-start:4px}
.hm2-chips{display:flex;flex-wrap:wrap;gap:8px;padding-block-start:16px;padding-inline-start:56px}
.hm2-chip{padding:4px 12px;border-radius:9999px;background:var(--chip);color:var(--body);font-weight:500;font-size:11px;line-height:14px;letter-spacing:.44px}

/* treatments */
.hm2-tgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.hm2-tcard{position:relative;background:var(--card);border-radius:16px;box-shadow:0 1px 2px rgba(0,0,0,.05);padding:32px 32px 0;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}
.hm2-tcard::before{content:"";position:absolute;inset-inline-start:0;top:32px;width:6px;height:48px;background:var(--primary);border-radius:0 4px 4px 0}
html[dir="rtl"] .hm2-tcard::before{border-radius:4px 0 0 4px}
.hm2-tcard__body{display:flex;flex-direction:column;gap:11px;padding-block-end:24px}
.hm2-tcard__top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.hm2-tcard .eyebrow{font-size:12px}
.hm2-tag2{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:9999px;background:var(--mint);color:var(--deep);font-weight:500;font-size:11px;line-height:14px;letter-spacing:.44px}
.hm2-tag2 i{width:6px;height:6px;border-radius:50%;background:var(--deep)}
.hm2-tcard .card-title{color:var(--deep);padding-block-start:5px}
.hm2-tcard__body p{font-size:15px;line-height:24.38px;color:var(--body)}
.hm2-tcard__foot{margin:0 -32px;padding:24px 32px;background:var(--alt);display:flex;align-items:center;justify-content:space-between;gap:16px}
.hm2-tcard__foot span{font-size:13px;line-height:20px;letter-spacing:.13px;color:var(--sub)}
.hm2-tcard__foot strong{font-weight:600;font-size:16px;line-height:24px;color:var(--deep);text-align:end}

/* conditions index */
.hm2-conds{padding-block:96px 144px}
.hm2-conds__copy{grid-column:1/span 5;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.hm2-conds__copy .lead{padding-block:4px 20px}
.hm2-table{grid-column:6/span 7;display:flex;flex-direction:column}
.hm2-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 16px;border-radius:12px}
.hm2-row__l{display:flex;gap:24px;align-items:center;min-width:0}
.hm2-row__n{font-family:var(--font-head);font-weight:500;font-size:22px;line-height:30px;color:var(--sub);opacity:.55}
.hm2-row .card-title{color:var(--deep)}
.hm2-row p{font-size:13px;line-height:20px;letter-spacing:.13px;color:var(--body)}
.hm2-row__r{display:flex;align-items:center;gap:16px;flex-shrink:0}
.hm2-row__r .tagp{padding:4px 12px;border-radius:9999px;background:var(--chip);font-weight:600;font-size:12px;line-height:16px;letter-spacing:.6px;color:var(--sub);white-space:nowrap}
.hm2-row__r i{font-size:13px;color:var(--sub)}
.hm2-hr{height:1px;background:var(--line)}

/* journey */
.hm2-journey-wrap{display:flex;flex-direction:column;gap:80px}
.hm2-journey{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.hm2-journey::before{content:"";position:absolute;inset-inline:0;top:calc(50% - 30px);height:4px;background:var(--mint);transform:translateY(-50%)}
.hm2-stage{position:relative;background:var(--card);border-radius:16px;padding:28px;box-shadow:var(--shadow-card);display:flex;flex-direction:column}
.hm2-stage__top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-block-end:24px}
.hm2-stage__n{width:56px;height:56px;border-radius:50%;background:var(--chip);color:var(--deep);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-head);font-weight:700;font-size:22px}
.hm2-stage__n--3{background:var(--primary);color:#fff}
.hm2-stage__n--4{background:var(--mint)}
.hm2-stage__lbl{padding:4px 12px;border-radius:9999px;background:var(--chip);font-weight:600;font-size:12px;line-height:16px;letter-spacing:.6px;text-transform:uppercase;color:var(--sub)}
.hm2-stage__lbl--3{background:var(--mint);color:var(--deep)}
.hm2-stage .card-title{color:var(--deep);padding-block-end:8px}
.hm2-stage p{font-size:15px;line-height:24.38px;color:var(--body);flex:1}
.hm2-stage__foot{display:flex;align-items:center;gap:8px;padding-block-start:16px;font-weight:600;font-size:12px;line-height:16px;letter-spacing:.6px;color:var(--sub)}
.hm2-stage__foot i{font-size:12px}

/* results */
.hm2-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-block-start:16px}
.hm2-metrics__c{background:var(--card);border-radius:16px;padding:32px;display:flex;align-items:center;gap:20px;box-shadow:var(--shadow-card)}
.hm2-metrics__ic{min-width:50px;height:56px;padding-inline:12px;border-radius:12px;background:var(--mint);color:var(--deep);display:inline-flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}
.hm2-metrics__c b{display:block;font-family:var(--font-head);font-weight:600;font-size:40px;line-height:50px;letter-spacing:-.6px;color:var(--deep)}
.hm2-metrics__c span{display:block;font-size:13px;line-height:20px;letter-spacing:.13px;color:var(--body)}
.hm2-voices{gap:10px;align-items:start;padding-block-start:16px}
.hm2-spec{grid-column:1/span 4;background:var(--card);border-radius:16px;padding:28px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:32px}
.hm2-spec__who{display:flex;align-items:center;gap:16px}
.hm2-spec__who img{width:80px;height:80px;border-radius:50%;object-fit:cover;box-shadow:0 4px 3px rgba(0,0,0,.1),0 2px 2px rgba(0,0,0,.1)}
.hm2-spec h4{font-weight:600;font-size:20px;line-height:28px;letter-spacing:-.2px;color:var(--deep)}
.hm2-spec small{display:block;font-size:13px;line-height:20px;letter-spacing:.13px;color:var(--sub)}
.hm2-spec blockquote{margin:0;font-style:italic;font-size:15px;line-height:24.38px;color:var(--body)}
.hm2-spec__foot{border-block-start:1px solid var(--line);padding-block-start:17px;margin-block-start:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:600;font-size:12px;line-height:16px;letter-spacing:.6px}
.hm2-spec__foot span:first-child{color:var(--body)}
.hm2-spec__foot span:last-child{color:var(--deep)}
.hm2-quotes{grid-column:5/span 8;display:flex;flex-direction:column;gap:10px}
.hm2-big{background:var(--card);border-radius:16px;padding:32px;display:flex;flex-direction:column;gap:16px;box-shadow:var(--shadow-card)}
.hm2-big__top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.hm2-big blockquote{margin:0;font-family:var(--font-head);font-style:italic;font-weight:500;font-size:22px;line-height:30px;color:var(--deep)}
.hm2-big__foot{display:flex;align-items:center;justify-content:space-between;gap:12px}
.hm2-big__foot strong{font-weight:600;font-size:16px;line-height:24px;color:var(--ink)}
.hm2-big__foot span{font-size:13px;line-height:20px;letter-spacing:.13px;color:var(--body)}
.hm2-pill--up{padding:4px 14px;text-transform:uppercase}
.hm2-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap: 10px;}
.hm2-small{background:var(--card);border-radius:16px;padding:24px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;justify-content:space-between}
.hm2-small .hm2-chip{display:inline-block;text-transform:uppercase;color:var(--sub);margin-block-end:12px}
.hm2-small blockquote{margin:0;font-style:italic;font-size:15px;line-height:24px;color:var(--body);padding-block-end:16px}
.hm2-small strong{display:block;padding-block-start:8px;font-weight:600;font-size:16px;line-height:24px;color:var(--deep)}
.hm2-center{display:flex;justify-content:center}

/* final CTA */
.hm2-cta{position:relative;overflow:hidden;background:var(--cta2-bg);padding:96px 256px;color:#fff}
.hm2-cta__a{position:absolute;width:384px;height:384px;border-radius:50%;background:#004342;filter:blur(20px);opacity:.5;inset-inline-end:-96px;bottom:-95px}
.hm2-cta__b{position:absolute;width:256px;height:256px;border-radius:50%;background:#e0f1f2;filter:blur(32px);opacity:.1;inset-inline-start:40px;top:40px}
.hm2-cta__in{position:relative;max-width:768px;margin-inline:auto;display:flex;flex-direction:column;align-items:center;text-align:center}
.hm2-cta__tag{padding:4px 16px;border-radius:9999px;background:#4f6358;font-weight:600;font-size:12px;line-height:16px;letter-spacing:1.2px;text-transform:uppercase;color:#fff;margin-block-end:24px}
.hm2-cta h2{font-family:var(--font-head);font-weight:600;font-size:40px;line-height:50px;letter-spacing:-1px;color:#fff;margin-block-end:24px}
.hm2-cta__lead{max-width:672px;padding-inline:16px;font-size:18px;line-height:29.25px;color:#e6f7f8;margin-block-end:16px}
.hm2-cta__note{font-style:italic;font-size:15px;line-height:24px;color:#dbebec;margin-block-end:40px}
.hm2-cta__btns{display:flex;flex-wrap:wrap;gap:24px;justify-content:center}
.hm2-cta .btn--w{background:#fff;color:#004342;padding-inline:36px;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)}
.hm2-cta .btn--d{background:#004342;color:#fff}
.hm2-cta .btn--d:hover{background:#00302f}
.hm2-cta__foot{margin-block-start:56px;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 24px}
.hm2-cta__foot span.i{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:12px;line-height:16px;letter-spacing:.6px;color:#e6f7f8}
.hm2-cta__foot span.d{width:4px;height:4px;border-radius:50%;background:rgba(230,247,248,.4)}

@media (max-width:1280px){.hm2-cta{padding-inline:96px}}
@media (max-width:1023px){
  .hm2-hero__grid{grid-template-columns:1fr;gap:64px;min-height:0}
  .hm2-hero__copy,.hm2-visual{grid-column:1/-1;grid-row:auto}
  .hm2-visual{height:480px;justify-content:center}
  .hm2-visual__in{max-width:none}
  .hm2-split,.hm2-voices{grid-template-columns:1fr}
  .hm2-left,.hm2-right,.hm2-conds__copy,.hm2-table,.hm2-spec,.hm2-quotes{grid-column:1/-1}
  .hm2-conds{padding-block:80px 96px}
  .hm2-head--row{flex-direction:column;align-items:flex-start}
  .hm2-journey{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hm2-journey::before{display:none}
  .hm2-metrics{grid-template-columns:1fr}
  .hm2-cta{padding:80px 32px}
  .hm2-sec{padding-block:80px}
}


@media (max-width:767px){
  .hm2-hero{padding-block:24px 64px}
  .hm2-hero h1{font-size:34px;line-height:42px}
  .hm2-hero__text{padding-inline-end:0;font-size:16px;line-height:26px}
  .hm2-hero__cta .btn{width:100%}
  .hm2-vdiv{display:none}
  .hm2-visual{height:380px}
  .hm2-metric{inset-inline-start:12px;max-width:calc(100% - 24px);padding:16px}
  .hm2-status{inset-inline-end:12px;top:12px;font-size:11px}
  .hm2-sec{padding-block:56px}
  .hm2-stack{gap:40px}
  .hm2-tgrid,.hm2-journey,.hm2-two{grid-template-columns:1fr}
  .hm2-tcard__foot{flex-direction:column;align-items:flex-start;gap:6px}
  .hm2-tcard__foot strong{text-align:start}
  .hm2-tcard__top{flex-wrap:wrap}
  .hm2-chips{padding-inline-start:0}
  .hm2-mod__main{gap:14px}
  .hm2-row{flex-direction:column;align-items:flex-start}
  .hm2-row__r{width:100%;justify-content:space-between}
  .hm2-row__l{gap:14px}
  .hm2-conds{padding-block:56px 64px}
  .hm2-metrics__c{padding:24px}
  .hm2-metrics__c b{font-size:32px;line-height:40px}
  .hm2-big{padding:24px}
  .hm2-big__top,.hm2-big__foot{flex-wrap:wrap}
  .hm2-cta{padding:64px 20px}
  .hm2-cta h2{font-size:30px;line-height:38px}
  .hm2-cta__lead{padding-inline:0;font-size:16px;line-height:26px}
  .hm2-cta__btns{flex-direction:column;width:100%;gap:12px}
  .hm2-cta__btns .btn{width:100%}
  .hm2-cta__foot .d{display:none}
}

/* ---------- Header / footer responsive (RehabCore) ---------- */
@media (max-width:1024px){
  :root{--header-h:72px}
  .nav,.rc-login,.topbar{display:none}
  .header-inner{height:var(--header-h)}
  .menu-toggle{display:inline-flex}
  .mobile-nav{position:fixed;inset-block-start:var(--header-h);inset-inline:0;background:var(--bg);border-block-end:1px solid var(--line);padding:12px var(--pad-x) 24px;display:none;flex-direction:column;gap:2px;z-index:99;max-height:calc(100vh - var(--header-h));overflow-y:auto}
  .mobile-nav.is-open{display:flex}
  .mobile-nav a{padding:14px 0;font-weight:600;color:var(--ink);border-block-end:1px solid var(--line)}
  .mobile-nav .btn{margin-block-start:16px;color:#fff;border:0;justify-content:center}
  .footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:767px){
  :root{--header-h:68px}
  .logo{font-size:20px}
  .rc-btn--rtl span{display:none}
  .rc-btn--rtl{width:36px;padding:0}
  .footer-grid{grid-template-columns:1fr;padding-block-end:40px}
  .footer-about,.footer-news-text{max-width:none}
  .footer-bottom{flex-direction:column;align-items:flex-start}
}

/* =====================================================================
   SERVICES (pages/services.html)
   ===================================================================== */
:root{--sv-bg:#f8faf8;--sv-alt:#eef5f6;--sv-card:#ffffff;--sv-ink:#145c5a;--sv-dark:#263536;--sv-muted:#6f98a3;--sv-sage:#b7cdbf;--sv-body:rgba(38,53,54,.8);--sv-btn:#145c5a;--sv-mono:'Liberation Mono',ui-monospace,Menlo,Consolas,monospace}
.sv{background:var(--sv-bg)}
.sv-wrap{width:100%;max-width:1280px;margin-inline:auto;padding-inline:var(--pad-x)}
.sv-sec{padding-block:96px}
.sv-sec--alt{background:var(--sv-alt)}
.sv-sec--bg{background:var(--sv-bg)}
.sv-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:9999px;background:var(--sv-alt);font-weight:600;font-size:12px;line-height:16px;letter-spacing:1.2px;text-transform:uppercase;color:var(--sv-muted)}
.sv-pill::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--sv-btn);flex-shrink:0}
.sv-pill--lg::before{width:8px;height:8px}
.sv-pill--ghost{background:rgba(255,255,255,.8);padding:4px 12px}
.sv .h2s{font-family:var(--font-head);font-weight:600;color:var(--sv-ink)}
.sv em{font-style:italic;font-weight:500;color:var(--sv-dark)}
.sv-h1{font-family:var(--font-head);font-weight:600;font-size:54px;line-height:54px;letter-spacing:-1.35px;color:var(--sv-ink)}
.sv-h2{font-family:var(--font-head);font-weight:600;font-size:44px;line-height:40px;letter-spacing:-1.1px;color:var(--sv-ink)}
.sv-h2--42{font-size:42px;letter-spacing:-1.05px}
.sv-h2--46{font-size:46px;letter-spacing:-1.15px}
.sv-h1 em,.sv-h2 em{display:block}
.sv-h2 em.inline{display:inline}
.sv-lead{font-size:18px;line-height:28px;color:rgba(38,53,54,.8)}
.sv-intro{display:flex;flex-direction:column;gap:16px;max-width:672px;padding-block-start:2px}
.sv-intro .sv-pill{align-self:flex-start}
.sv-stack{display:flex;flex-direction:column;gap:48px}
.sv-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:14px 32px;border-radius:9999px;background:var(--sv-btn);color:#fff;font-weight:500;font-size:16px;line-height:24px;box-shadow:0 8px 30px -4px rgba(20,92,90,.22);transition:transform .2s,box-shadow .2s,background .2s;border:0;cursor:pointer;white-space:nowrap}
.sv-btn:hover{transform:translateY(-2px);background:#0f4a48}
.sv-btn i{font-size:10px;transition:transform .2s}
.sv-btn:hover i{transform:translateX(3px)}
.sv-btn--lg{padding:16px 36px;box-shadow:0 10px 35px -4px rgba(20,92,90,.25)}
.sv-btn--ghost{background:transparent;color:var(--sv-btn);border:1px solid var(--sv-btn);box-shadow:none;padding:13px 29px;gap:8px}
.sv-btn--ghost:hover{background:var(--sv-btn);color:#fff}
.sv-btn--ghost i{font-size:9px}
.sv-btn--light{background:var(--sv-bg);color:var(--sv-ink);border-radius:12px;font-weight:600;font-size:14px;line-height:20px;width:100%;padding:14px 24px;gap:8px;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)}
.sv-btn--light:hover{background:var(--sv-bg);transform:translateY(-1px)}
.sv-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr))}

/* hero */
.sv-hero{padding:56px var(--pad-x) 64px;overflow:hidden}
.sv-hero__in{display:flex;flex-direction:column;gap:56px}
.sv-hero__grid{gap:56px;align-items:center}
.sv-hero__copy{grid-column:1/span 7;grid-row:1;display:flex;flex-direction:column;align-items:flex-start}
.sv-hero__copy .sv-h1{margin-block-start:24px}
.sv-hero__p{max-width:576px;margin-block-start:24px;display:flex;flex-direction:column;gap:16px}
.sv-hero__p p:first-child{font-size:18px;line-height:28px;color:rgba(38,53,54,.85)}
.sv-hero__p p:last-child{font-size:16px;line-height:24px;color:rgba(38,53,54,.7)}
.sv-hero__cta{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-block-start:24px;padding-block-start:8px}
.sv-hero__tag{display:inline-flex;align-items:center;gap:12px;padding-inline:12px;font-weight:500;font-size:12px;line-height:16px;letter-spacing:.3px;text-transform:uppercase;color:var(--sv-muted)}
.sv-hero__tag i{font-size:13px}
.sv-hero__vis{grid-column:8/span 5;grid-row:1;position:relative;aspect-ratio:3/3.8;border-radius:16px;overflow:hidden;background:var(--sv-alt);box-shadow:0 16px 40px -10px rgba(20,92,90,.12)}
.sv-hero__vis img,.sv-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sv-hero__vis::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(20,92,90,.4),rgba(20,92,90,0) 50%)}
.sv-chip{position:absolute;z-index:2;inset-inline:16px;bottom:15px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-radius:12px;background:rgba(255,255,255,.95);backdrop-filter:blur(6px);box-shadow:0 1px 2px rgba(0,0,0,.05)}
.sv-chip__l{display:flex;align-items:center;gap:10px;font-family:var(--font-head);font-weight:600;font-size:12px;line-height:16px;color:#145c5a}
.sv-chip__l i{width:10px;height:10px;border-radius:50%;background:#b7cdbf}
.sv-chip__r{font-family:var(--sv-mono);font-size:11px;line-height:24px;letter-spacing:.55px;text-transform:uppercase;color:#6f98a3}
.sv-strip{position:relative;background:rgba(255,255,255,.7);border-radius:16px;padding:32px;box-shadow:0 4px 24px -4px rgba(20,92,90,.04);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.sv-ben{padding-inline-end:25px;border-inline-end:1px solid rgba(183,205,191,.5)}
.sv-ben:last-child{border-inline-end:0;padding-inline-end:8px}
.sv-ben__h{display:flex;align-items:center;gap:10px}
.sv-ben__n{font-family:var(--font-head);font-weight:700;font-size:14px;line-height:20px;color:var(--sv-muted)}
.sv-ben__d{width:6px;height:6px;border-radius:50%;background:var(--sv-sage);flex-shrink:0}
.sv-ben h3{font-family:var(--font-head);font-weight:600;font-size:18px;line-height:28px;color:var(--sv-ink)}
.sv-ben p{margin-block-start:6.9px;font-size:14px;line-height:22.75px;color:rgba(38,53,54,.8)}

/* sports */
.sv-prog{display:inline-flex;align-items:center;gap:12px;padding:8px 16px;border-radius:9999px;background:var(--sv-card);box-shadow:0 1px 1px rgba(0,0,0,.05);align-self:flex-start;flex-wrap:wrap}
.sv-prog small{font-weight:500;font-size:11px;line-height:16px;letter-spacing:.55px;text-transform:uppercase;color:rgba(38,53,54,.6)}
.sv-prog b{font-weight:600;font-size:12px;line-height:16px;color:var(--sv-ink)}
.sv-prog i{font-size:8px;color:var(--sv-ink)}
.sv-comp{gap:40px;align-items:start;margin-block-start:0}
.sv-path{grid-column:1/span 5;grid-row:1;background:#145c5a;border-radius:16px;padding:40px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 20px 50px -15px rgba(20,92,90,.18);min-height:566px;color:#fff}
.sv-path__top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block-end:17px;border-block-end:1px solid rgba(255,255,255,.15);margin-block-end:24px}
.sv-path__top b{font-weight:600;font-size:12px;line-height:16px;letter-spacing:1.2px;text-transform:uppercase;color:#b7cdbf}
.sv-path__top span{font-family:var(--sv-mono);font-size:12px;line-height:16px;color:rgba(255,255,255,.6)}
.sv-path ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:24px}
.sv-path li{display:flex;gap:16px;align-items:flex-start}
.sv-path li>b{font-family:var(--font-head);font-weight:700;font-size:18px;line-height:28px;color:#b7cdbf;padding-block-start:2px}
.sv-path h4{font-family:var(--font-head);font-weight:600;font-size:16px;line-height:24px;letter-spacing:.4px;color:#fff;margin-block-end:4px}
.sv-path li p{font-size:14px;line-height:20px;color:rgba(255,255,255,.8)}
.sv-path__foot{margin-block-start:32px;padding-block-start:25px;border-block-start:1px solid rgba(255,255,255,.15)}
.sv-media{position:relative;grid-column:6/span 7;grid-row:1;min-height:460px;height:566px;border-radius:16px;overflow:hidden;background:var(--sv-alt);box-shadow:0 20px 50px -15px rgba(20,92,90,.18)}

/* chronic */
.sv-chronic{gap:64px;align-items:center}
.sv-chronic__l{grid-column:1/span 6;display:flex;flex-direction:column;align-items:flex-start}
.sv-chronic__l .sv-h2{margin-block-start:24px;padding-inline-end:40px}
.sv-chronic__p{max-width:576px;margin-block-start:24px;font-size:18px;line-height:28px;color:rgba(38,53,54,.85)}
.sv-quote{width:100%;margin-block-start:24px;padding:16px 16px 16px 22px;background:rgba(238,245,246,.6);border-inline-start:2px solid var(--sv-sage);border-radius:0 12px 12px 0}
html[dir="rtl"] .sv-quote{border-radius:12px 0 0 12px;padding:16px 22px 16px 16px}
.sv-quote p{font-family:var(--font-head);font-style:italic;font-weight:500;font-size:18px;line-height:28px;color:var(--sv-ink)}
.sv-quote small{display:block;margin-block-start:4px;font-weight:500;font-size:12px;line-height:16px;letter-spacing:.3px;text-transform:uppercase;color:var(--sv-muted)}
.sv-chronic__l .sv-btn{margin-block-start:32px}
.sv-pathway{grid-column:7/span 6;padding-inline-start:24px;position:relative}
.sv-pathway::before{content:"";position:absolute;inset-block:24px;inset-inline-start:46px;width:2px;background:var(--sv-sage)}
.sv-pathway ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:32px;position:relative}
.sv-pathway li{display:flex;gap:20px;align-items:flex-start}
.sv-node{width:48px;height:48px;border-radius:50%;background:var(--sv-card);border:2px solid var(--sv-sage);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-head);font-weight:700;font-size:14px;color:var(--sv-ink);box-shadow:0 1px 1px rgba(0,0,0,.05);flex-shrink:0;transition:background .25s,color .25s,border-color .25s}
.sv-pathway li:hover .sv-node{background:var(--sv-btn);color:#fff;border-color:var(--sv-btn)}
.sv-pathway li>div{padding-block-start:6px;min-width:0}
.sv-pathway h3{display:flex;align-items:center;gap:8px;font-family:var(--font-head);font-weight:600;font-size:18px;line-height:28px;color:var(--sv-ink)}
.sv-pathway h3 small{font-family:var(--sv-mono);font-weight:400;font-size:11px;line-height:24px;letter-spacing:1.1px;text-transform:uppercase;color:var(--sv-muted)}
.sv-pathway p{margin-block-start:2.9px;font-size:14px;line-height:22.75px;color:rgba(38,53,54,.8)}

/* personalized */
.sv-pers{gap:56px;align-items:center}
.sv-photo{grid-column:1/span 5;grid-row:1;background:var(--sv-card);border-radius:16px;overflow:hidden;box-shadow:0 16px 40px -10px rgba(20,92,90,.15)}
.sv-photo__img{position:relative;height:614px;background:var(--sv-alt)}
.sv-photo__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sv-photo__cap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:21px 20px 20px;border-block-start:1px solid rgba(183,205,191,.3);background:var(--sv-card)}
.sv-photo__cap b{display:block;font-family:var(--font-head);font-weight:600;font-size:14px;line-height:20px;color:var(--sv-ink)}
.sv-photo__cap span{display:block;font-size:12px;line-height:16px;color:var(--sv-muted)}
.sv-photo__cap code{font-family:var(--sv-mono);font-size:11px;line-height:24px;padding:4px 10px;border-radius:4px;background:var(--sv-alt);color:var(--sv-ink)}
.sv-index{grid-column:6/span 7;grid-row:1;display:flex;flex-direction:column}
.sv-index ul{list-style:none;margin:0;padding:0;border-block:1px solid rgba(183,205,191,.4)}
.sv-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:21px 12px 20px;border-radius:8px;transition:background .25s}
.sv-item+.sv-item{border-block-start:1px solid rgba(183,205,191,.4)}
.sv-item:hover{background:rgba(255,255,255,.6)}
.sv-item__l{display:flex;gap:16px;align-items:flex-start;min-width:0}
.sv-item__n{font-family:var(--font-head);font-weight:700;font-size:18px;line-height:28px;color:var(--sv-muted);padding-block-start:2px}
.sv-item h3{font-family:var(--font-head);font-weight:600;font-size:18px;line-height:28px;letter-spacing:-.45px;color:var(--sv-ink)}
.sv-item p{margin-block-start:3px;font-size:14px;line-height:22.75px;color:rgba(38,53,54,.8)}
.sv-tag{padding:2px 10px;border-radius:9999px;background:rgba(183,205,191,.3);font-weight:500;font-size:12px;line-height:16px;color:var(--sv-ink);white-space:nowrap}
.sv-index .sv-btn{align-self:flex-start;margin-block-start:32px}

/* method */
.sv-method{padding-block:112px}
.sv-method__head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;max-width:768px;margin-inline:auto}
.sv-method__head .sv-lead{max-width:680px}
.sv-stages{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;padding-block-start:16px;margin-block-start:64px}
.sv-stages::before{content:"";position:absolute;inset-inline:5%;top:44px;height:2px;background:rgba(183,205,191,.6)}
.sv-stage{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding-block-end:20px}
.sv-stage__n{width:56px;height:56px;border-radius:50%;background:var(--sv-card);border:2px solid var(--sv-btn);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-head);font-weight:700;font-size:20px;color:var(--sv-ink);box-shadow:0 1px 1px rgba(0,0,0,.05);margin-block-end:16px;transition:background .25s,color .25s,transform .25s}
.sv-stage:hover .sv-stage__n{background:var(--sv-btn);color:#fff;transform:translateY(-3px)}
.sv-stage h3{font-family:var(--font-head);font-weight:600;font-size:18px;line-height:28px;color:var(--sv-ink);margin-block-end:6px}
.sv-stage p{font-size:14px;line-height:20px;color:rgba(38,53,54,.75);max-width:200px}
.sv-concl{max-width:672px;margin:64px auto 0;padding-block-start:41px;border-block-start:1px solid rgba(183,205,191,.4);display:flex;flex-direction:column;align-items:center;text-align:center}
.sv-concl p{font-family:var(--font-head);font-style:italic;font-weight:500;font-size:24px;line-height:32px;color:var(--sv-ink)}
.sv-concl .sv-btn{margin-block-start:24px}

/* NEW 05 — condition finder */
.sv-find{gap:56px;align-items:stretch}
.sv-find__tabs{grid-column:1/span 5;display:flex;flex-direction:column;gap:12px}
.sv-tab{display:flex;align-items:center;gap:16px;width:100%;text-align:start;padding:18px 20px;border-radius:14px;border:1px solid rgba(183,205,191,.5);background:var(--sv-card);color:var(--sv-ink);cursor:pointer;transition:transform .25s,background .25s,border-color .25s,box-shadow .25s}
.sv-tab:hover{transform:translateX(4px);border-color:var(--sv-sage)}
html[dir="rtl"] .sv-tab:hover{transform:translateX(-4px)}
.sv-tab__n{font-family:var(--font-head);font-weight:700;font-size:16px;color:var(--sv-muted);width:28px}
.sv-tab__t{flex:1;min-width:0}
.sv-tab__t b{display:block;font-family:var(--font-head);font-weight:600;font-size:18px;line-height:26px}
.sv-tab__t small{display:block;font-size:13px;line-height:18px;color:var(--sv-muted)}
.sv-tab>i{font-size:12px;opacity:.5;transition:transform .25s,opacity .25s}
.sv-tab.is-active{background:#145c5a;border-color:#145c5a;color:#fff;box-shadow:0 14px 30px -12px rgba(20,92,90,.45)}
.sv-tab.is-active .sv-tab__n,.sv-tab.is-active small{color:#b7cdbf}
.sv-tab.is-active>i{opacity:1;transform:translateX(4px)}
html[dir="rtl"] .sv-tab.is-active>i{transform:translateX(-4px)}
.sv-find__panels{grid-column:6/span 7}
.sv-panel{background:var(--sv-card);border-radius:20px;padding:40px;box-shadow:0 16px 40px -10px rgba(20,92,90,.15);height:100%;display:flex;flex-direction:column;gap:24px;animation:svFade .45s ease}
.sv-panel[hidden]{display:none}
@keyframes svFade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.sv-panel__top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.sv-panel__top span{font-family:var(--sv-mono);font-size:11px;letter-spacing:1.1px;text-transform:uppercase;color:var(--sv-muted)}
.sv-panel__ic{width:48px;height:48px;border-radius:12px;background:var(--sv-alt);color:var(--sv-ink);display:inline-flex;align-items:center;justify-content:center;font-size:19px}
.sv-panel h3{font-family:var(--font-head);font-weight:600;font-size:30px;line-height:36px;letter-spacing:-.6px;color:var(--sv-ink)}
.sv-panel>p{font-size:15px;line-height:24px;color:var(--sv-body)}
.sv-chips{display:flex;flex-wrap:wrap;gap:8px}
.sv-chips span{padding:6px 14px;border-radius:9999px;background:rgba(183,205,191,.3);font-weight:500;font-size:12px;line-height:16px;color:var(--sv-ink)}
.sv-mix__lbl{display:flex;justify-content:space-between;font-weight:600;font-size:12px;letter-spacing:.6px;text-transform:uppercase;color:var(--sv-muted);margin-block-end:10px}
.sv-mix__bar{display:flex;height:14px;border-radius:9999px;overflow:hidden;gap:3px}
.sv-mix__bar i{display:block;height:100%;border-radius:9999px;transform-origin:left;animation:svGrow .8s cubic-bezier(.2,.8,.2,1) both}
html[dir="rtl"] .sv-mix__bar i{transform-origin:right}
.sv-mix__bar i:nth-child(1){background:#145c5a}
.sv-mix__bar i:nth-child(2){background:#6f98a3;animation-delay:.1s}
.sv-mix__bar i:nth-child(3){background:#b7cdbf;animation-delay:.2s}
@keyframes svGrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.sv-mix__key{display:flex;flex-wrap:wrap;gap:8px 20px;margin-block-start:12px;font-size:13px;color:var(--sv-body)}
.sv-mix__key span{display:inline-flex;align-items:center;gap:6px}
.sv-mix__key span::before{content:"";width:10px;height:10px;border-radius:3px;background:var(--c)}
.sv-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-block-start:auto;padding-block-start:24px;border-block-start:1px solid rgba(183,205,191,.4)}
.sv-facts b{display:block;font-family:var(--font-head);font-weight:600;font-size:28px;line-height:34px;color:var(--sv-ink)}
.sv-facts small{font-size:12px;line-height:16px;color:var(--sv-muted)}

/* NEW 06 — anatomy of a session */
.sv-sess{display:flex;flex-direction:column;gap:40px}
.sv-timeline{background:var(--sv-card);border-radius:20px;padding:32px;box-shadow:0 16px 40px -10px rgba(20,92,90,.12)}
.sv-bar{display:flex;gap:6px;height:88px}
.sv-seg{position:relative;flex:var(--w) 1 0;min-width:0;border-radius:14px;border:0;cursor:pointer;background:var(--sv-alt);color:var(--sv-ink);display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:12px 14px;text-align:start;transition:background .3s,color .3s,transform .3s,flex-grow .4s}
.sv-seg:hover{transform:translateY(-4px)}
.sv-seg b{font-family:var(--font-head);font-weight:600;font-size:15px;line-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.sv-seg small{font-family:var(--sv-mono);font-size:11px;letter-spacing:.55px;color:var(--sv-muted)}
.sv-seg.is-active{background:#145c5a;color:#fff;flex-grow:calc(var(--w) + 4);box-shadow:0 12px 24px -10px rgba(20,92,90,.5)}
.sv-seg.is-active small{color:#b7cdbf}
.sv-ticks{display:flex;justify-content:space-between;margin-block-start:14px;font-family:var(--sv-mono);font-size:11px;color:var(--sv-muted)}
.sv-ticks span{position:relative;padding-block-start:8px}
.sv-ticks span::before{content:"";position:absolute;top:0;inset-inline-start:0;width:1px;height:5px;background:var(--sv-sage)}
.sv-ticks span:last-child::before{inset-inline-start:auto;inset-inline-end:0}
.sv-detail{margin-block-start:28px;display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;padding:28px;border-radius:16px;background:var(--sv-alt);animation:svFade .4s ease}
.sv-detail[hidden]{display:none}
.sv-detail__ic{width:64px;height:64px;border-radius:50%;background:var(--sv-card);border:2px solid var(--sv-sage);color:var(--sv-ink);display:inline-flex;align-items:center;justify-content:center;font-size:24px}
.sv-detail h3{font-family:var(--font-head);font-weight:600;font-size:22px;line-height:30px;color:var(--sv-ink)}
.sv-detail p{margin-block-start:4px;font-size:15px;line-height:24px;color:var(--sv-body);max-width:640px}
.sv-detail__t{text-align:end;font-family:var(--sv-mono);font-size:12px;letter-spacing:.6px;text-transform:uppercase;color:var(--sv-muted)}
.sv-detail__t b{display:block;font-family:var(--font-head);font-weight:600;font-size:36px;line-height:40px;letter-spacing:-.6px;color:var(--sv-ink);text-transform:none}
.sv-hint{font-size:13px;color:var(--sv-muted);margin-block-start:14px}

/* services responsive */
@media (max-width:1280px){.sv-h1{font-size:50px;line-height:52px}}
@media (max-width:1024px){
  .sv-sec{padding-block:80px}
  .sv-hero__grid{grid-template-columns:1fr;gap:48px}
  .sv-hero__copy,.sv-hero__vis{grid-column:1/-1;grid-row:auto}
  .sv-hero__vis{aspect-ratio:4/3;max-width:640px}
  .sv-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sv-ben:nth-child(2){border-inline-end:0;padding-inline-end:8px}
  .sv-comp,.sv-chronic,.sv-pers,.sv-find{grid-template-columns:1fr;gap:40px}
  .sv-path,.sv-media,.sv-chronic__l,.sv-pathway,.sv-photo,.sv-index,.sv-find__tabs,.sv-find__panels{grid-column:1/-1;grid-row:auto}
  .sv-path{min-height:0}
  .sv-media{height:440px}
  .sv-chronic__l .sv-h2{padding-inline-end:0}
  .sv-photo__img{height:480px}
  .sv-stages{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:40px}
  .sv-stages::before{display:none}
  .sv-method{padding-block:88px}
  .sv-h1{font-size:44px;line-height:48px}
  .sv-h2,.sv-h2--42,.sv-h2--46{font-size:38px;line-height:42px}
  .sv-find__tabs{flex-direction:row;flex-wrap:wrap}
  .sv-tab{flex:1 1 calc(50% - 6px);width:auto}
  .sv-detail{grid-template-columns:auto 1fr}
  .sv-detail__t{grid-column:1/-1;text-align:start}
}
@media (max-width:767px){
  .sv-sec{padding-block:56px}
  .sv-hero{padding-block:32px 48px}
  .sv-hero__in{gap:40px}
  .sv-h1{font-size:36px;line-height:42px;letter-spacing:-.9px}
  .sv-h2,.sv-h2--42,.sv-h2--46{font-size:30px;line-height:36px;letter-spacing:-.6px}
  .sv-lead,.sv-hero__p p:first-child,.sv-chronic__p{font-size:16px;line-height:26px}
  .sv-hero__cta{flex-direction:column;align-items:flex-start}
  .sv-btn{white-space:normal;text-align:center}
  .sv-hero__vis{aspect-ratio:3/3.6}
  .sv-chip{flex-direction:column;align-items:flex-start;gap:2px}
  .sv-strip{grid-template-columns:1fr;padding:24px;gap:20px}
  .sv-ben,.sv-ben:nth-child(2){border-inline-end:0;padding-inline-end:0;padding-block-end:20px;border-block-end:1px solid rgba(183,205,191,.5)}
  .sv-ben:last-child{border-block-end:0;padding-block-end:0}
  .sv-path{padding:28px 22px}
  .sv-path__top{flex-direction:column;align-items:flex-start;gap:4px}
  .sv-media{height:320px;min-height:0}
  .sv-pathway{padding-inline-start:0}
  .sv-pathway::before{inset-inline-start:23px}
  .sv-pathway li{gap:14px}
  .sv-photo__img{height:340px}
  .sv-item{flex-direction:column;align-items:flex-start;padding-inline:8px}
  .sv-stages{grid-template-columns:1fr 1fr;gap:32px 16px}
  .sv-concl p{font-size:20px;line-height:28px}
  .sv-concl{margin-block-start:48px}
  .sv-tab{flex-basis:100%}
  .sv-panel{padding:24px}
  .sv-panel h3{font-size:24px;line-height:30px}
  .sv-facts{grid-template-columns:1fr 1fr 1fr;gap:10px}
  .sv-facts b{font-size:22px;line-height:28px}
  .sv-timeline{padding:20px}
  .sv-bar{flex-direction:column;height:auto}
  .sv-seg{flex:none;flex-direction:row;align-items:center;height:56px;padding:0 16px}
  .sv-seg.is-active{flex-grow:0}
  .sv-ticks{display:none}
  .sv-detail{grid-template-columns:1fr;padding:22px;text-align:start}
  .sv-detail__ic{width:52px;height:52px;font-size:20px}
}
@media (max-width:360px){.sv-facts{grid-template-columns:1fr}}

/* =====================================================================
   THERAPISTS PAGE  (pages/therapists.html · from Figma node 3:557)
   Header + footer are the shared services ones. Tokens: --sv-* in this file.
   ===================================================================== */
.th{background:var(--sv-a)}
.th-wrap{width:100%;max-width:1280px;margin-inline:auto;padding-inline:var(--pad-x)}
.th-sec{padding-block:70px}
.th-sec--a{background:var(--sv-a)}
.th-sec--b{background:var(--sv-b)}
.th-stack48{display:flex;flex-direction:column;gap:48px; align-items:center}
.th-eyebrow{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:12px;line-height:16px;letter-spacing:1.2px;text-transform:uppercase;color:var(--sv-eyebrow); justify-content:center}
.th-eyebrow--wide{letter-spacing:2.4px}
.th-eyebrow--light{color:#cfe5d7}
.th-dot{width:8px;height:8px;border-radius:50%;background:var(--sv-head);flex-shrink:0}
.th-dot--light{background:#cfe5d7}
.th-h2{font-family:var(--font-head);font-weight:600;font-size:40px;line-height:50px;letter-spacing:-1px;color:var(--sv-ink)}
.th-h2 em{font-style:italic;font-weight:500;color:var(--sv-head)}
.th-h2--md{font-size:40px;line-height:50px;margin-block-start:12px}
.th-h2--light{color:#fff}
.th-h2--light em{color:#cfe5d7}
.th-lead{font-size:18px;line-height:28px;color:rgba(var(--sv-body),.8)}
.th-lead--sm{font-size:15px;line-height:24px}
.th-kicker{font-weight:500;font-size:11px;line-height:14px;letter-spacing:.55px;text-transform:uppercase;color:var(--sv-eyebrow)}
.th-kicker--light{color:#cfe5d7}
.th-tags{display:flex;flex-wrap:wrap;gap:8px}
.th-tag{padding:4px 12px;border-radius:9999px;background:#e0f1f2;color:var(--sv-head);font-weight:500;font-size:11px;line-height:14px;letter-spacing:.44px;white-space:nowrap}
.th-tag--strong{font-weight:600;font-size:12px;line-height:16px;letter-spacing:.6px;color:var(--sv-head2)}
.th-chip{display:inline-flex;align-items:center;padding:4px 10px;border-radius:9999px;font-weight:500;font-size:11px;line-height:14px;letter-spacing:.55px;text-transform:uppercase;white-space:nowrap}
.th-chip--glass{background:rgba(0,67,66,.55);color:#cfe5d7;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.th-chip--glass2{background:rgba(255,255,255,.15);color:#fff;font-size:11px;letter-spacing:.44px;text-transform:none;padding:4px 12px;font-weight:500}
.th-pill-link{display:inline-flex;align-items:center;gap:12px;font-weight:600;font-size:16px;line-height:24px;color:var(--sv-head);padding:12px 24px;border-radius:9999px;background:#e0f1f2;align-self:flex-start;transition:background .2s}
.th-pill-link:hover{background:#cfe5d7}
.th-pill-link--soft{margin-block-start:8px}
.th-pill-link i,.th-link i{font-size:11px;transition:transform .2s}
.th-pill-link:hover i,.th-link:hover i{transform:translateX(3px)}
.th-link{display:inline-flex;align-items:center;gap:8px;margin-block-start:24px;font-weight:600;font-size:16px;line-height:24px;color:var(--sv-head)}
.th-note{margin-block-start:20px;display:inline-block;padding:8px 12px;border-radius:8px;background:rgba(207,229,215,.4);color:#53675c;font-weight:600;font-size:12px;line-height:16px;letter-spacing:.6px}

/* 1 · hero (photo + copy overlay on desktop, stacked on small screens) */
.th-hero{position:relative;min-height:560px;display:flex;align-items:center;overflow:hidden;background:#d5e6e7}
.th-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.th-hero__shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.4),rgba(0,0,0,0) 50%)}
.th-hero__inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:40px;padding-block:72px}
.th-hero__copy{max-width:600px;background:rgba(248,250,248,.82);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:32px 36px;border-radius:20px;display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.th-h1{font-family:var(--font-head);font-weight:600;font-size:56px;line-height:66px;letter-spacing:-1.4px;color:#0f1e1f;margin-block-start:4px}
.th-h1 span,.th-h1 em{display:block}
.th-h1 em{font-style:italic;font-weight:400;color:var(--sv-head)}
.th-hero__text{font-size:16px;line-height:26px;color:#3f4948;max-width:520px}
.th-hero .sv-btn{margin-block-start:8px}
.th-principle{max-width:360px;width:100%;padding:32px;border-radius:16px;background:#004342;color:#fff;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);display:flex;flex-direction:column;gap:12px}
.th-principle__label{display:flex;align-items:center;gap:8px;font-weight:500;font-size:11px;line-height:14px;letter-spacing:1.1px;color:#cfe5d7}
.th-principle__quote{font-family:var(--font-head);font-weight:500;font-size:22px;line-height:30px}
.th-principle__tags{display:flex;flex-wrap:wrap;gap:8px;font-weight:600;font-size:12px;line-height:16px;letter-spacing:.6px;color:#cfe5d7}

/* values strip */
.th-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;padding-block:32px 16px}
.th-value{display:flex;flex-direction:column;gap:6px;min-width:0}
.th-value__n{font-weight:600;font-size:12px;line-height:16px;letter-spacing:.6px;color:#4f6358}
.th-value h3{font-family:var(--font-body);font-weight:600;font-size:20px;line-height:28px;letter-spacing:-.2px;color:var(--sv-ink)}
.th-value p{font-size:15px;line-height:24px;color:rgba(var(--sv-body),.8)}

/* 2 · specialists */
.th-head{display:flex;flex-direction:column;gap:12px;max-width:768px}
.th-showcase{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:start}
.th-lead-card{grid-column:1/span 7;position:relative;margin:0;height:520px;border-radius:24px;overflow:hidden;background:#d5e6e7;box-shadow:0 14px 40px -6px rgba(20,92,90,.08)}
.th-lead-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 25%}
.th-lead-card__shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,67,66,.8),rgba(0,67,66,0) 50%)}
.th-lead-card__body{position:absolute;inset-inline:0;bottom:0;padding:43px 40px 40px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;color:#fff}
.th-lead-card h3{font-family:var(--font-head);font-weight:600;font-size:28px;line-height:36px;letter-spacing:-.28px;color:#fff}
.th-lead-card__role{font-weight:600;font-size:16px;line-height:24px;color:#cfe5d7}
.th-lead-card .th-tags{margin-block-start:8px}
.th-duo{grid-column:8/span 5;display:flex;flex-direction:column;gap:24px;padding-block-start:32px}
.th-person{display:flex;gap:16px;align-items:center;padding:16px;border-radius:16px;background:#fff;box-shadow:0 8px 30px -4px rgba(20,92,90,.06);min-width:0}
.th-person__photo{width:176px;height:176px;flex-shrink:0;border-radius:12px;overflow:hidden;background:#d5e6e7}
.th-person__photo img{width:100%;height:100%;object-fit:cover}
.th-person__body{display:flex;flex-direction:column;gap:4px;min-width:0}
.th-person h3,.th-wide h3{font-family:var(--font-head);font-weight:500;font-size:22px;line-height:30px;color:var(--sv-ink)}
.th-role{font-weight:600;font-size:12px;line-height:16px;letter-spacing:.6px;color:var(--sv-head)}
.th-role--lg{font-size:16px;line-height:24px;letter-spacing:0}
.th-bio{font-size:13px;line-height:20px;letter-spacing:.13px;color:rgba(var(--sv-body),.8);margin-block:4px 8px}
.th-bio--lg{font-size:18px;line-height:28px;letter-spacing:0;margin-block:12px 16px;max-width:640px}
.th-wide{grid-column:1/-1;position:relative;display:grid;grid-template-columns:224px minmax(0,1fr) auto;gap:40px;align-items:center;padding:40px;border-radius:24px;background:#fff;box-shadow:0 8px 30px -4px rgba(20,92,90,.06)}
.th-wide__photo{width:224px;height:224px;border-radius:16px;overflow:hidden;background:#d5e6e7}
.th-wide__photo img{width:100%;height:100%;object-fit:cover}
.th-wide__body{display:flex;flex-direction:column;min-width:0}
.th-wide .th-pill-link{align-self:center}

/* 3 · expertise split */
.th-split{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:40px;align-items:start}
.th-split__left{grid-column:1/span 5;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.th-preview{position:relative;width:100%;height:320px;margin:24px 0 0;border-radius:24px;overflow:hidden;background:#e0f1f2;box-shadow:0 8px 30px -4px rgba(20,92,90,.06)}
.th-preview img{width:100%;height:100%;object-fit:cover}
.th-preview figcaption{position:absolute;inset-inline:0;bottom:0;padding:16px;background:linear-gradient(to top,rgba(0,67,66,.75),rgba(0,67,66,0));color:#fff;font-weight:600;font-size:16px;line-height:24px}
.th-flow{grid-column:7/span 6;display:flex;flex-direction:column;gap:0;min-width:0}
.th-flow li{display:flex;gap:20px;padding-block:24px;border-block-start:1px solid rgba(183,205,191,.4)}
.th-flow li:first-child{border-block-start:0;padding-block-start:0}
.th-flow__n{font-family:var(--font-head);font-weight:500;font-size:28px;line-height:36px;color:#6f98a3;opacity:.9;flex-shrink:0;min-width:44px}
.th-flow li>div{display:flex;flex-direction:column;gap:8px;min-width:0}
.th-flow__head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.th-flow h3{font-family:var(--font-head);font-weight:500;font-size:22px;line-height:30px;color:var(--sv-ink)}
.th-flow__head i{font-size:14px;color:var(--sv-head);opacity:.6}
.th-flow p{font-size:15px;line-height:24.4px;color:rgba(var(--sv-body),.85)}

/* 4 · approach */
.th-approach{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:40px;align-items:start}
.th-steps{grid-column:1/span 7;position:relative;display:flex;flex-direction:column;gap:24px;padding-inline-start:40px}
.th-steps::before{content:"";position:absolute;inset-block:13px;inset-inline-start:27px;width:2px;background:rgba(20,92,90,.2)}
.th-step{position:relative;min-width:0}
.th-step__n{position:static;inset-inline-start:-40px;top:4px;width:24px;height:24px;border-radius:50%;background:var(--sv-head);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:12px;line-height:18px;transform:translateX(-50%)}
.th-step__card{background:#fff;border-radius:16px;padding:23px 16px 16px;box-shadow:0 4px 10px rgba(20,92,90,.03);display:flex;flex-direction:column;gap:3px}
.th-phase{font-weight:500;font-size:11px;line-height:14px;letter-spacing:.55px;text-transform:uppercase;color:#4f6358}
.th-step h3{font-family:var(--font-head);font-weight:500;font-size:22px;line-height:30px;color:var(--sv-ink);margin-block-start:4px}
.th-step p{font-size:15px;line-height:24px;color:rgba(var(--sv-body),.85);margin-block-start:2px}
.th-approach__side{grid-column:8/span 5;display:flex;flex-direction:column;gap:24px;align-self:center}
.th-tall{position:relative;margin:0;height:580px;border-radius:24px;overflow:hidden;background:#d5e6e7;box-shadow:0 14px 40px -6px rgba(20,92,90,.12)}
.th-tall>img{width:100%;height:100%;object-fit:cover}
.th-tall figcaption{position:absolute;inset-inline:0;bottom:0;padding:24px;background:linear-gradient(to top,rgba(0,0,0,.6),rgba(0,0,0,0));display:flex;flex-direction:column;gap:6px;color:#fff}
.th-tall strong{font-weight:600;font-size:16px;line-height:24px}
.th-callout{margin:0;padding:24px;border-radius:16px;background:#004342;color:#fff;display:flex;flex-direction:column;gap:6px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1)}
.th-callout p{font-family:var(--font-head);font-style:italic;font-weight:400;font-size:22px;line-height:30px}
.th-callout cite{font-style:normal;font-weight:500;font-size:11px;line-height:14px;letter-spacing:1.1px;color:#cfe5d7}

/* 5 · CTA band */
.th-cta{position:relative;overflow:hidden;background:#004342;padding-block:128px}
.th-cta__bg{position:absolute;inset:0}
.th-cta__bg img{width:100%;height:100%;object-fit:cover;opacity:.2}
.th-cta__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(to right,#004342 0%,rgba(0,67,66,.9) 50%,rgba(0,67,66,.8) 100%)}
.th-cta__grid{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:40px;align-items:center}
.th-cta__left{grid-column:1/span 7;display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.th-cta__left .th-eyebrow{letter-spacing:3px}
.th-cta__lead{max-width:576px;font-size:18px;line-height:29.25px;color:#a3cdd8}
.th-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding-block-start:16px;width:100%}
.th-pillars li{display:flex;flex-direction:column;gap:4px;padding:16px;border-radius:12px;background:rgba(255,255,255,.1);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);padding-block-end:20px}
.th-pillars i{font-size:15px;color:#cfe5d7;margin-block-end:4px}
.th-pillars h3{font-weight:600;font-size:16px;line-height:24px;color:#fff}
.th-pillars p{font-size:13px;line-height:20px;letter-spacing:.13px;color:#a3cdd8}
.th-action{grid-column:8/span 5;display:flex;flex-direction:column;gap:16px;padding:40px;border-radius:24px;background:#fff;box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}
.th-action h3{font-family:var(--font-head);font-weight:500;font-size:22px;line-height:30px;color:var(--sv-ink)}
.th-action>p{font-size:15px;line-height:24px;color:rgba(var(--sv-body),.85)}
.th-action__btns{display:flex;flex-direction:column;gap:8px;padding-block-start:4px}
.th-btn-solid,.th-btn-soft{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;border-radius:12px;font-weight:600;font-size:16px;line-height:24px;transition:background .2s,transform .2s}
.th-btn-solid{background:#064442;color:#fff;box-shadow:0 8px 12px rgba(20,92,90,.2)}
.th-btn-solid:hover{background:var(--sv-btn-hover);transform:translateY(-1px)}
.th-btn-soft{background:#e6f7f8;color:var(--sv-head)}
.th-btn-soft:hover{background:#d5eef0}
.th-btn-solid i,.th-btn-soft i{font-size:13px}
.th-action__meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;padding-block-start:8px;font-weight:500;font-size:11px;line-height:14px;letter-spacing:.44px;color:rgba(var(--sv-body),.8)}
.th-action__meta span{display:inline-flex;align-items:center;gap:6px}
.th-action__quote{text-align:center;font-style:italic;font-weight:600;font-size:12px;line-height:16px;letter-spacing:.6px;color:#4f6358;padding-block-start:8px}

/* ---- therapists · responsive (1280 / 1024 / 767 / 320) ---- */
@media (max-width:1280px){
  .th-h1{font-size:50px;line-height:60px}
  .th-h2{font-size:36px;line-height:44px}
}
@media (max-width:1024px){
  .th-sec{padding-block:64px}
  .th-hero{min-height:0;display:block}
  .th-hero__img{position:relative;height:340px}
  .th-hero__shade{display:none}
  .th-hero__inner{flex-direction:column;align-items:stretch;padding-block:0 48px;gap:24px}
  .th-hero__copy{max-width:none;margin-block-start:-56px;background:#f8faf8;backdrop-filter:none;-webkit-backdrop-filter:none}
  .th-principle{max-width:none}
  .th-strip{grid-template-columns:1fr;gap:28px}
  .th-showcase{grid-template-columns:1fr;gap:24px}
  .th-lead-card,.th-duo{grid-column:1/-1}
  .th-duo{padding-block-start:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
  .th-person{flex-direction:column;align-items:flex-start}
  .th-person__photo{width:100%;height:auto;aspect-ratio:1/1}
  .th-wide{grid-template-columns:1fr;padding:28px}
  .th-wide__photo{width:100%;height:auto;aspect-ratio:4/3}
  .th-wide .th-pill-link{align-self:flex-start}
  .th-split{grid-template-columns:1fr;gap:40px}
  .th-split__left,.th-flow{grid-column:1/-1}
  .th-approach{grid-template-columns:1fr;gap:40px}
  .th-steps,.th-approach__side{grid-column:1/-1}
  .th-approach__side{align-self:stretch}
  .th-tall{height:440px}
  .th-cta{padding-block:88px}
  .th-cta__grid{grid-template-columns:1fr;gap:40px}
  .th-cta__left,.th-action{grid-column:1/-1}
  .th-h2{font-size:34px;line-height:42px}
}
@media (max-width:767px){
  .th-sec{padding-block:48px}
  .th-cta{padding-block:64px}
  .th-hero__img{height:260px}
  .th-hero__copy{margin-block-start:-40px;padding:24px 20px;border-radius:16px}
  .th-h1{font-size:34px;line-height:40px;letter-spacing:-.6px}
  .th-hero__text{font-size:15px;line-height:24px}
  .th-hero .sv-btn{width:100%}
  .th-principle{padding:24px}
  .th-principle__quote{font-size:19px;line-height:27px}
  .th-h2,.th-h2--md{font-size:28px;line-height:36px;letter-spacing:-.5px}
  .th-lead{font-size:16px;line-height:26px}
  .th-lead-card{height:420px;border-radius:20px}
  .th-lead-card__body{padding:24px 22px}
  .th-lead-card h3{font-size:24px;line-height:32px}
  .th-duo{grid-template-columns:1fr}
  .th-person__photo{aspect-ratio:4/3}
  .th-wide{gap:24px}
  .th-wide__photo{aspect-ratio:4/3}
  .th-flow__n{min-width:32px;font-size:22px}
  .th-flow h3{font-size:19px;line-height:26px}
  .th-flow li{gap:14px}
  .th-steps{padding-inline-start:32px}
  .th-steps::before{inset-inline-start:12px}
  .th-step__n{inset-inline-start:-32px;width:24px;height:24px}
  .th-step h3{font-size:19px;line-height:26px}
  .th-tall{height:360px;border-radius:20px}
  .th-callout p{font-size:19px;line-height:27px}
  .th-pillars{grid-template-columns:1fr}
  .th-cta__lead{font-size:16px;line-height:26px}
  .th-action{padding:28px 22px;border-radius:20px}
  .th-action__btns .th-btn-solid,.th-action__btns .th-btn-soft{width:100%}
  .th-preview{height:240px}
  .th-pill-link{width:100%;justify-content:center}
}
@media (max-width:360px){
  .th-h1{font-size:30px;line-height:36px}
  .th-principle__quote{font-size:17px;line-height:25px}
  .th-tags{gap:6px}
  .th-wide__photo{aspect-ratio:1/1}
}

/* =====================================================================
   ABOUT PAGE  (pages/about.html · from Figma node 5:1100)
   Header + footer are the shared services ones.
   ===================================================================== */
.ab{background:#ecfdfd;overflow-x:hidden}
.ab-wrap{width:100%;max-width:1280px;margin-inline:auto;padding-inline:var(--pad-x);position:relative}
.ab-sec{position:relative;padding-block:112px}
.ab-sec--a{background:#ecfdfd}
.ab-sec--b{background:#e6f7f8}
.ab-stack{display:flex;flex-direction:column;gap:48px}
.ab-head{display:flex;flex-direction:column;gap:12px;max-width:768px}
.ab-head--wide{max-width:768px}
.ab-eyebrow{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:12px;line-height:16px;letter-spacing:2.4px;text-transform:uppercase;color:#14414a}
.ab-eyebrow--wide{letter-spacing:2.4px}
.ab-eyebrow--light{color:#004342}
.ab-rule{width:32px;height:1.5px;background:#14414a;flex-shrink:0}
.ab-kicker{font-weight:600;font-size:12px;line-height:16px;letter-spacing:.6px;text-transform:uppercase;color:#4f6358}
.ab-kicker--mint{display:inline-flex;align-items:center;gap:8px;color:#d2e8d9;font-weight:500;font-size:11px;letter-spacing:1.1px}
.ab-caps{font-weight:500;font-size:11px;line-height:14px;letter-spacing:1.1px;text-transform:uppercase;color:#4f6358}
.ab-h2{font-family:var(--font-head);font-weight:600;font-size:40px;line-height:50px;letter-spacing:-.6px;color:#004342}
.ab-h2 em{display:block;font-style:italic;font-weight:400;color:#14414a}
.ab-h3{font-family:var(--font-head);font-weight:500;font-size:28px;line-height:36px;letter-spacing:-.28px;color:#004342}
.ab-lead{font-size:18px;line-height:29.25px;color:#3f4948}
.ab-body{font-size:15px;line-height:24.4px;color:#3f4948}

/* 1 · hero */
.ab-hero{position:relative;padding:96px 0 112px;overflow:hidden}
.ab-blob{position:absolute;border-radius:9999px;filter:blur(32px);pointer-events:none}
.ab-blob--a{width:560px;height:560px;top:-176px;right:-120px;background:rgba(207,229,215,.4)}
.ab-blob--b{width:640px;height:640px;left:-220px;top:50%;background:rgba(224,241,242,.6)}
.ab-visual{position:relative;height:620px;border-radius:32px;overflow:hidden;background:#d5e6e7;box-shadow:0 20px 50px -10px rgba(20,92,90,.12)}
.ab-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 50%}
.ab-visual__shade{position:absolute;inset:0;background:linear-gradient(to right,rgba(255,255,255,.85) 20%,rgba(236,253,253,.35) 45%,rgba(0,67,66,.05) 100%)}
.ab-badge{position:absolute;top:16px;right:16px;display:inline-flex;align-items:center;gap:8px;padding:4px 16px;border-radius:9999px;background:rgba(255,255,255,.9);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 1px 2px rgba(0,0,0,.05);font-weight:500;font-size:11px;line-height:14px;letter-spacing:.55px;text-transform:uppercase;color:#004342}
.ab-badge i{width:8px;height:8px;border-radius:50%;background:#145c5a}
.ab-visual__copy{position:absolute;top:0;left:0;right:0;bottom:0;padding:48px 32px;display:flex;flex-direction:column;justify-content:flex-start;gap:20px;max-width:860px}
.ab-visual__copy .ab-eyebrow{margin-block-start:8px}
.ab-h1{font-family:var(--font-head);font-weight:600;font-size:56px;line-height:68px;letter-spacing:-1.12px;color:#004342;display:block;max-width:760px}
.ab-h1 em{font-style:italic;font-weight:400;color:#14414a}
.ab-h1 span{display:block;font-style:italic;font-weight:400;color:#14414a}
.ab-visual__text{max-width:400px;font-size:18px;line-height:29.25px;color:#3f4948}
.ab-quote{position:absolute;right:24px;bottom:24px;width:min(464px,calc(100% - 48px));padding:40px;border-radius:16px;background:#145c5a;color:#ecfdfd;box-shadow:0 24px 50px -8px rgba(20,92,90,.28);display:flex;flex-direction:column;gap:14px}
.ab-quote>i{font-size:18px;color:#d2e8d9;opacity:.8}
.ab-quote p{font-family:var(--font-head);font-weight:500;font-size:22px;line-height:30.25px;color:#ecfdfd}
.ab-quote__foot{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-block-start:16px;margin-block-start:8px;font-size:11px;letter-spacing:.5px;flex-wrap:wrap}
.ab-quote__foot span:first-child{font-weight:600;font-size:12px;letter-spacing:.6px;text-transform:uppercase;color:#adeeeb}
.ab-quote__foot span:last-child{font-weight:500;color:rgba(213,230,231,.8)}
.ab-mission{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px;padding-block-start:96px;align-items:start}
.ab-mission__copy{display:flex;flex-direction:column;gap:12px;padding-block-start:0}
.ab-mission__copy .ab-body{margin-block-start:8px;max-width:490px}
.ab-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.ab-principle{position:relative;display:flex;flex-direction:column;gap:12px;padding:24px;border-radius:12px;background:#fff;box-shadow:0 4px 24px -4px rgba(20,92,90,.05);min-width:0}
.ab-principle__n{font-family:var(--font-head);font-weight:500;font-size:15px;line-height:24px;color:#4f6358;opacity:.3}
.ab-principle h3{font-weight:600;font-size:20px;line-height:28px;letter-spacing:-.2px;color:#004342}
.ab-principle p{font-size:13px;line-height:21px;letter-spacing:.13px;color:#3f4948}
.ab-principle__rule{display:block;width:48px;height:2px;background:#b6ccbe;margin-block-start:auto}

/* 2 · covenant */
.ab-covenant{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:40px;align-items:center;margin-block-start:48px}
.ab-covenant__left{display:flex;flex-direction:column;gap:16px;min-width:0}
.ab-quotecard{position:relative;padding:40px;border-radius:24px;background:#fff;box-shadow:0 12px 40px -6px rgba(20,92,90,.06);display:flex;flex-direction:column;gap:8px}
.ab-quotecard .ab-kicker{color:#145c5a;font-weight:500;font-size:11px;letter-spacing:1.1px}
.ab-blockquote{margin-block-start:4px}
.ab-blockquote p{font-family:var(--font-head);font-style:italic;font-weight:400;font-size:40px;line-height:50px;letter-spacing:-.6px;color:#004342}
.ab-author{display:flex;align-items:center;gap:16px;padding-block-start:32px}
.ab-author__ic{width:40px;height:40px;border-radius:50%;background:#cfe5d7;color:#004342;display:inline-flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}
.ab-author strong{display:block;font-weight:600;font-size:16px;line-height:20px;color:#0f1e1f}
.ab-author span{display:block;font-size:13px;line-height:20px;letter-spacing:.13px;color:#3f4948}
.ab-callout{display:flex;align-items:center;gap:16px;padding:24px;border-radius:16px;background:rgba(210,232,217,.5)}
.ab-callout i{font-size:20px;color:#004342;flex-shrink:0;width:26px;text-align:center}
.ab-callout p{font-weight:600;font-size:16px;line-height:24px;color:#004342}
.ab-arch{position:relative;margin:0;height:525px;max-width:420px;width:100%;justify-self:center;border-radius:224px 224px 16px 16px;overflow:hidden;background:#d5e6e7;box-shadow:0 20px 50px -10px rgba(20,92,90,.16)}
.ab-arch>img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.ab-arch::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,67,66,.4),rgba(0,67,66,0) 50%);pointer-events:none}
.ab-arch figcaption{position:absolute;left:24px;right:24px;bottom:24px;z-index:1;padding:16px;border-radius:12px;background:rgba(255,255,255,.9);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);text-align:center;display:flex;flex-direction:column;gap:2px}
.ab-arch strong{font-weight:600;font-size:12px;line-height:16px;letter-spacing:.6px;color:#004342}
.ab-arch span{font-size:13px;line-height:20px;letter-spacing:.13px;color:#3f4948}

/* 3 · difference */
.ab-bands{display:flex;flex-direction:column;gap:16px}
.ab-band{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,6fr);gap:16px;align-items:center;padding:40px;border-radius:24px;box-shadow:0 4px 24px -4px rgba(20,92,90,.04)}
.ab-band--white{background:#fff}
.ab-band--mint{background:#e0f1f2}
.ab-band__n{font-family:var(--font-head);font-weight:500;font-size:88px;line-height:88px;color:rgba(0,67,66,.12);letter-spacing:-2px}
.ab-band__title{display:flex;flex-direction:column;gap:4px;min-width:0}
.ab-band h3{font-family:var(--font-head);font-weight:500;font-size:22px;line-height:30px;color:#004342}
.ab-band p{font-size:15px;line-height:24.4px;color:#3f4948}
.ab-banner{margin:48px 0 0;padding:40px 232px;border-radius:24px;background:#145c5a;box-shadow:0 20px 50px -10px rgba(20,92,90,.2);display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}
.ab-banner__kicker{font-weight:600;font-size:12px;line-height:16px;letter-spacing:3px;text-transform:uppercase;color:#adeeeb}
.ab-banner p{font-family:var(--font-head);font-style:italic;font-size:40px;line-height:50px;letter-spacing:-.6px;color:#ecfdfd}
.ab-banner cite{display:flex;align-items:center;gap:12px;font-style:normal;font-size:13px;line-height:20px;letter-spacing:.13px;color:#92d2cf}
.ab-banner cite i{width:24px;height:1px;background:#92d2cf;display:inline-block}

/* 4 · day in the life */
.ab-life-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px}
.ab-note{max-width:448px;padding:24px;border-radius:16px;background:#fff;box-shadow:0 1px 1px rgba(0,0,0,.05);display:flex;flex-direction:column;gap:6px}
.ab-note strong{font-weight:600;font-size:20px;line-height:28px;letter-spacing:-.2px;color:#004342}
.ab-note span{font-size:13px;line-height:20px;letter-spacing:.13px;color:#3f4948}
.ab-moments{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.ab-moment{display:flex;flex-direction:column;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 8px 30px -6px rgba(20,92,90,.05);min-width:0}
.ab-moment__photo{position:relative;height:256px;background:#d5e6e7;overflow:hidden}
.ab-moment__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ab-time{position:absolute;top:12px;left:12px;padding:4px 8px;border-radius:9999px;background:#145c5a;color:#fff;font-weight:500;font-size:11px;line-height:14px;letter-spacing:.44px;white-space:nowrap}
.ab-moment__body{display:flex;flex-direction:column;gap:12px;padding:24px;flex:1}
.ab-moment__body .ab-kicker{font-size:12px;letter-spacing:.6px}
.ab-moment h3{font-family:var(--font-head);font-weight:500;font-size:22px;line-height:30px;color:#004342}
.ab-moment p{font-size:13px;line-height:21px;color:#3f4948}
.ab-phase{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-block-start:auto;padding-block-start:16px;border-block-start:1px solid rgba(183,205,191,.4);font-weight:500;font-size:11px;line-height:14px;letter-spacing:.44px;color:#004342}
.ab-phase i{font-size:14px;color:#145c5a;opacity:.7}

/* buttons */
.ab-actions{display:flex;flex-wrap:wrap;gap:16px;margin-block-start:8px}
.ab-actions--center{justify-content:center}
.ab-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 40px;border-radius:8px;font-weight:600;font-size:16px;line-height:24px;transition:background .2s,transform .2s,color .2s;white-space:nowrap}
.ab-btn i{font-size:13px;transition:transform .2s}
.ab-btn:hover i{transform:translateX(3px)}
.ab-btn--solid{background:#004342;color:#fff;box-shadow:0 8px 24px -4px rgba(20,92,90,.2);padding:12px 40px}
.ab-btn--solid:hover{background:#0f5b5a}
.ab-btn--soft{background:#e0f1f2;color:#004342;padding:12px 24px}
.ab-btn--soft:hover{background:#cfe5d7}
.ab-btn--light{background:#ecfdfd;color:#004342;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)}
.ab-btn--light:hover{background:#fff}
.ab-btn--solid-light{background:#145c5a;color:#fff}
.ab-btn--solid-light:hover{background:#1b7571}

/* 5 · closing */
.ab-close{padding-block:112px 128px}
.ab-impact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ab-impact__card{display:flex;flex-direction:column;gap:12px;padding:24px;border-radius:16px}
.ab-impact__card--a{background:#e6f7f8}
.ab-impact__card--b{background:#e0f1f2}
.ab-impact__card--c{background:rgba(207,229,215,.6)}
.ab-impact__card p{font-family:var(--font-head);font-weight:500;font-size:22px;line-height:30px;color:#004342}
.ab-manifesto{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);border-radius:40px;overflow:hidden;background:#004342;box-shadow:0 24px 60px -12px rgba(20,92,90,.25)}
.ab-manifesto__text{padding:64px;display:flex;flex-direction:column;gap:16px;justify-content:center}
.ab-manifesto h3{font-family:var(--font-head);font-weight:600;font-size:40px;line-height:50px;letter-spacing:-.6px;color:#ecfdfd}
.ab-manifesto__text p{font-size:18px;line-height:29.25px;color:#b6ccbe;max-width:576px}
.ab-manifesto__text .ab-actions{margin-block-start:24px}
.ab-manifesto__photo{position:relative;min-height:455px;background:#145c5a;overflow:hidden}
.ab-manifesto__photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ab-manifesto__photo::after{content:"";position:absolute;inset:0;background:linear-gradient(to right,#004342 0%,rgba(0,67,66,0) 40%)}
.ab-manifesto__label{position:absolute;right:24px;bottom:24px;z-index:1;padding:8px 8px 10px;border-radius:8px;background:rgba(20,92,90,.8);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right}
.ab-manifesto__label span{font-weight:500;font-size:11px;line-height:14px;letter-spacing:.55px;text-transform:uppercase;color:#adeeeb}
.ab-manifesto__label strong{font-weight:400;font-size:13px;line-height:20px;letter-spacing:.13px;color:#fff}

/* ---- about · responsive (1280 / 1024 / 767 / 320) ---- */
@media (max-width:1280px){
  .ab-h1{font-size:50px;line-height:60px}
  .ab-banner{padding-inline:120px}
}
@media (max-width:1024px){
  .ab-sec{padding-block:80px}
  .ab-hero{padding:56px 0 72px}
  .ab-visual{height:auto;min-height:620px}
  .ab-visual__copy{position:relative;padding:40px 32px 0}
  .ab-visual__shade{display:none}
  .ab-visual>img{position:relative;inset:auto;display:block;width:100%;height:320px;order:-1}
  .ab-quote{position:relative;right:auto;bottom:auto;margin:auto 24px 24px;width:auto}
  .ab-visual{display:flex;flex-direction:column;justify-content:flex-start}
  .ab-visual__copy{order:0}
  .ab-mission{grid-template-columns:1fr;padding-block-start:64px}
  .ab-covenant{grid-template-columns:1fr;gap:32px}
  .ab-arch{max-width:420px;justify-self:center}
  .ab-band{grid-template-columns:1fr;padding:32px;gap:12px}
  .ab-band__n{font-size:64px;line-height:64px}
  .ab-banner{padding-inline:48px}
  .ab-life-head{flex-direction:column;align-items:flex-start}
  .ab-moments{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ab-impact{grid-template-columns:1fr}
  .ab-manifesto{grid-template-columns:1fr}
  .ab-manifesto__text{padding:48px}
  .ab-manifesto__photo{min-height:320px}
  .ab-manifesto__photo::after{background:linear-gradient(to top,#004342 0%,rgba(0,67,66,0) 45%)}
  .ab-h2{font-size:36px;line-height:44px}
}
@media (max-width:767px){
  .ab-sec{padding-block:56px}
  .ab-close{padding-block:64px 72px}
  .ab-hero{padding:32px 0 48px}
  .ab-visual{min-height:0;border-radius:24px}
  .ab-visual>img{height:260px}
  .ab-visual__copy{padding:28px 20px 0;gap:14px}
  .ab-h1{font-size:34px;line-height:42px;letter-spacing:-.6px}
  .ab-visual__text{font-size:16px;line-height:26px}
  .ab-badge{top:12px;right:12px;font-size:10px}
  .ab-quote{margin:20px 20px 24px;padding:28px 24px;border-radius:16px}
  .ab-quote p{font-size:19px;line-height:27px}
  .ab-principles{grid-template-columns:1fr;gap:16px}
  .ab-mission{gap:28px}
  .ab-h2{font-size:28px;line-height:36px;letter-spacing:-.5px}
  .ab-h2 em{display:inline}
  .ab-h3{font-size:24px;line-height:32px}
  .ab-lead{font-size:16px;line-height:26px}
  .ab-quotecard{padding:28px 22px}
  .ab-blockquote p{font-size:26px;line-height:34px}
  .ab-callout{padding:18px}
  .ab-arch{height:420px;border-radius:160px 160px 16px 16px}
  .ab-arch figcaption{left:16px;right:16px;bottom:16px}
  .ab-band{padding:24px 20px}
  .ab-band__n{font-size:48px;line-height:48px}
  .ab-band h3{font-size:20px;line-height:28px}
  .ab-banner{margin-top:32px;padding:28px 22px;border-radius:20px}
  .ab-banner p{font-size:24px;line-height:32px}
  .ab-banner cite{font-size:12px}
  .ab-moments{grid-template-columns:1fr;gap:20px}
  .ab-moment__photo{height:220px}
  .ab-note{max-width:none}
  .ab-impact__card p{font-size:20px;line-height:28px}
  .ab-manifesto{border-radius:24px}
  .ab-manifesto__text{padding:32px 24px}
  .ab-manifesto h3{font-size:30px;line-height:38px}
  .ab-manifesto__text p{font-size:16px;line-height:26px}
  .ab-btn{padding-inline:24px;width:100%}
  .ab-btn--soft{width:100%}
  .ab-actions{flex-direction:column;align-items:stretch}
  .ab-actions--center{align-items:stretch}
  .ab-manifesto__photo{min-height:260px}
  .ab-manifesto__label{left:16px;right:16px;bottom:16px;align-items:flex-start;text-align:left}
}
@media (max-width:360px){
  .ab-h1{font-size:30px;line-height:36px}
  .ab-quote p{font-size:17px;line-height:25px}
  .ab-blockquote p{font-size:22px;line-height:30px}
}


/* =====================================================================
   SHARED HEADER + FOOTER  (all pages)
   Paste at the END of assets/css/style.css (later rules override earlier ones)
   ===================================================================== */
:root{
  --hdr-bg:rgba(255,255,255,.9); --hdr-line:rgba(191,200,199,.3); --hdr-hover:rgba(20,92,90,.07);
  --top-bg:#e6f7f8; --top-line:rgba(191,200,199,.2); --top-text:#3f4948;
  --nav-text:#3f4948; --nav-active:#004342; --hbtn-bg:rgba(255,255,255,.8); --hbtn-line:rgba(191,200,199,.4);
  --brand:#004342; --menu-bg:#ffffff; --ftr-bg:#092b2a;
}

/* ---------- Header (shared by every page · from the services Figma) ---------- */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
[id]{scroll-margin-top:calc(var(--header-h) + 8px)}
.site-header{position:fixed;inset-block-start:0;inset-inline:0;z-index:100;background:var(--hdr-bg);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-block-end:1px solid var(--hdr-line);box-shadow:0 1px 8px rgba(20,92,90,.05)}
.topbar{background:var(--top-bg);border-block-end:1px solid var(--top-line);padding:6px var(--pad-x)}
.topbar__in{max-width:1280px;margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:16px}
.topbar p{margin:0}
.topbar__left{display:flex;align-items:center;gap:4px;min-width:0;font-weight:600;font-size:12px;line-height:16px;letter-spacing:.6px;color:var(--top-text)}
.topbar__left i{font-size:11px;flex-shrink:0}
.topbar__left>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.topbar__right{display:flex;align-items:center;gap:16px;flex-shrink:0;font-weight:500;font-size:11px;line-height:14px;letter-spacing:.44px;color:var(--top-text);white-space:nowrap}
.topbar__dot{width:4px;height:4px;border-radius:50%;background:#bfc8c7}
.header-inner{height:80px;max-width:1376px;margin-inline:auto;padding-inline:var(--pad-x);display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{display:inline-flex;align-items:center;gap:10px;flex-shrink:0;color:var(--brand)}
.logo__mark{width:32px;height:32px;border-radius:8px;background:#145c5a;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}
.logo__text{font-family:var(--font-head);font-weight:500;font-size:22px;line-height:30px;letter-spacing:-.55px}
.nav{display:flex;align-items:center;gap:24px}
.nav-link{display:inline-flex;align-items:center;gap:4px;padding-block:4px;font-weight:400;font-size:15px;line-height:24px;color:var(--nav-text);transition:color .2s}
.nav-link i{font-size:7px;transition:transform .2s}
.nav-link:hover,.nav-link.is-active{color:var(--nav-active)}
.nav-link.is-active{font-weight:600}
.nav-item{position:relative}
.nav-menu{position:absolute;inset-block-start:100%;inset-inline-start:-14px;min-width:180px;padding:12px 8px 8px;display:none;flex-direction:column}
.nav-menu::before{content:"";position:absolute;inset-inline:0;inset-block:8px 0;border-radius:12px;background:var(--menu-bg);border:1px solid var(--hdr-line);box-shadow:0 12px 30px -8px rgba(20,92,90,.25);z-index:-1}
.nav-menu a{position:relative;padding:9px 14px;border-radius:8px;font-size:14px;line-height:20px;color:var(--nav-text);white-space:nowrap}
.nav-menu a:hover{background:var(--hdr-hover);color:var(--nav-active)}
.nav-item.is-open .nav-menu,.nav-item:focus-within .nav-menu{display:flex}
@media (hover:hover){.nav-item:hover .nav-menu{display:flex}}
.nav-item.is-open .nav-link i,.nav-item:hover .nav-link i{transform:rotate(180deg)}
.header-actions{display:flex;align-items:center;gap:16px}
.hbtn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--hbtn-line);background:var(--hbtn-bg);color:var(--nav-text);border-radius:8px;cursor:pointer;transition:background .2s,border-color .2s}
.hbtn:hover{background:var(--hdr-hover)}
.hbtn--rtl{padding:8px 13px;font-weight:600;font-size:12px;line-height:16px;letter-spacing:.6px;text-transform:uppercase}
.hbtn--rtl i{font-size:10px}
.hbtn--icon{width:36px;height:36px;font-size:14px}
.hbtn-login{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;border:0;border-radius:8px;background:#145c5a;color:#fff;font-weight:400;font-size:14px;line-height:20px;cursor:pointer;filter:drop-shadow(0 1px 1px rgba(0,0,0,.05));transition:background .2s}
.hbtn-login:hover{background:#0f4a48}
.hbtn-login--block{width:100%;padding:13px 20px;font-weight:500;font-size:15px}
.menu-toggle{display:none}
.mobile-nav{display:none}

/* login dialog (opened from the header "Login" button) */
.login-modal{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:20px}
.login-modal[hidden]{display:none}
.login-modal__backdrop{position:absolute;inset:0;background:rgba(9,43,42,.55);backdrop-filter:blur(3px)}
.login-modal__panel{position:relative;width:100%;max-width:420px;max-height:calc(100vh - 40px);overflow:auto;background:var(--menu-bg);color:var(--body);border-radius:16px;padding:36px 32px 32px;box-shadow:0 24px 60px -12px rgba(0,0,0,.35)}
.login-modal__close{position:absolute;inset-block-start:14px;inset-inline-end:14px;width:36px;height:36px;border:0;border-radius:50%;background:var(--chip);color:var(--deep);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.login-modal__title{font-family:var(--font-head);font-weight:600;font-size:28px;line-height:36px;color:var(--ink)}
.login-modal__sub{margin-block:6px 22px;font-size:14px;line-height:22px;color:var(--body)}
.login-social{display:flex;flex-direction:column;gap:10px}
.login-social__btn{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;border-radius:10px;border:1.5px solid var(--line);background:var(--card);color:var(--ink);font-weight:500;font-size:15px;cursor:pointer;transition:background .2s,border-color .2s}
.login-social__btn:hover{background:var(--chip);border-color:var(--primary)}
.login-social__btn i{font-size:16px}
.login-social__btn .fa-google{color:#db4437}
.login-social__btn .fa-facebook-f{color:#1877f2}
.login-or{display:flex;align-items:center;gap:12px;margin-block:20px;font-size:13px;color:var(--muted)}
.login-or::before,.login-or::after{content:"";flex:1;height:1px;background:var(--line)}
body.has-modal{overflow:hidden}

/* ---------- Footer (shared by every page · from the services Figma) ---------- */
.site-footer{background:var(--ftr-bg);color:rgba(255,255,255,.75);padding:64px var(--pad-x) 48px}
.footer-in{max-width:1280px;margin-inline:auto}
.footer-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:32px;padding-block-end:65px;border-block-end:1px solid rgba(255,255,255,.1)}
.footer-col{min-width:0}
.site-footer .logo{color:#fff}
.site-footer .logo__text{font-weight:700;font-size:20px;line-height:28px;letter-spacing:-.5px}
.footer-about{margin-block-start:16px;font-size:12px;line-height:19.5px;color:rgba(183,205,191,.8)}
.socials{display:flex;gap:10px;margin-block-start:24px}
.socials a{width:32px;height:32px;border-radius:8px;background:rgba(255,255,255,.1);color:rgba(255,255,255,.85);display:inline-flex;align-items:center;justify-content:center;font-size:12px;transition:background .2s,color .2s}
.socials a:hover{background:#86b596;color:#092b2a}
.site-footer h3{font-family:var(--font-head);font-weight:600;font-size:14px;line-height:20px;letter-spacing:.35px;color:#fff}
.site-footer ul{margin-block-start:12px;display:flex;flex-direction:column;gap:10px}
.site-footer li{font-size:12px;line-height:16px;color:rgba(255,255,255,.75)}
.site-footer li a{transition:color .2s}
.site-footer li a:hover,.footer-legal a:hover{color:#fff}
.footer-contact{gap:12px}
.footer-contact li{display:flex;align-items:flex-start;gap:10px}
.footer-contact i{width:14px;flex-shrink:0;margin-block-start:2px;font-size:11px;text-align:center;color:rgba(255,255,255,.85)}
.footer-news-text{margin-block-start:12px;font-size:12px;line-height:19.5px;color:rgba(183,205,191,.8)}
.news-form{margin-block-start:12px}
.news-pill{position:relative;display:flex;align-items:center;height:42px;border-radius:9999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);transition:border-color .2s}
.news-pill:focus-within{border-color:#86b596}
.news-input{flex:1;min-width:0;height:100%;padding-block:0;padding-inline:17px 100px;border:0;background:transparent;color:#fff;font-size:12px;outline:none}
.news-input::placeholder{color:rgba(255,255,255,.4)}
.news-btn{position:absolute;inset-block:4px;inset-inline-end:4px;padding:0 16px;border:0;border-radius:9999px;background:#86b596;color:#092b2a;font-weight:600;font-size:12px;line-height:16px;cursor:pointer;filter:drop-shadow(0 1px 1px rgba(0,0,0,.05));transition:background .2s}
.news-btn:hover{background:#9ac7aa}
.site-footer .field{gap:0}
.site-footer .field-error{margin-block-start:6px;min-height:0;font-size:12px;line-height:16px;color:#ff9d92}
.site-footer .field.has-error .news-pill{border-color:#ff9d92}
.site-footer .form-success{margin-block-start:10px;padding:8px 12px;border-radius:10px;font-size:12px;background:rgba(134,181,150,.2);color:#cfe5d7}
.footer-bottom{padding-block-start:32px;display:flex;align-items:center;justify-content:space-between;gap:16px 24px;font-size:12px;line-height:16px;color:rgba(255,255,255,.6)}
.footer-legal{display:flex;align-items:center;flex-wrap:wrap;gap:8px 24px}
.footer-legal a{transition:color .2s}
.to-top{width:40px;height:40px;border-radius:50%;background:#86b596;color:#092b2a;display:inline-flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);transition:transform .2s,background .2s}
.to-top:hover{background:#9ac7aa;transform:translateY(-2px)}

@media (max-width:1024px){
  .nav,.header-actions .hbtn--rtl,.header-actions .hbtn-login{display:none}
  .header-inner{height:64px}
  .menu-toggle{display:inline-flex}
  .mobile-nav{position:fixed;inset-block-start:var(--header-h);inset-inline:0;max-height:calc(100vh - var(--header-h));overflow-y:auto;background:var(--menu-bg);border-block-end:1px solid var(--hdr-line);box-shadow:0 12px 24px -8px rgba(20,92,90,.2);padding:8px var(--pad-x) 24px;display:none;flex-direction:column;gap:0;z-index:99}
  .mobile-nav.is-open{display:flex}
  .mobile-nav>a{padding:14px 20px;font-weight:500;font-size:16px;color:#163434;border-block-end:1px solid var(--hdr-line)}
  .mobile-nav__actions{display:flex;align-items:center;gap:12px;margin-block-start:20px}
  .mobile-nav__actions .hbtn-login{display:inline-flex;flex:1;padding-block:12px}
  .mobile-nav__actions .hbtn--rtl{display:inline-flex;padding-block:11px}
}

@media (max-width:1024px){
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 32px;padding-block-end:48px}
  .footer-brand{grid-column:1/-1}
  .footer-about{max-width:420px}
  .footer-bottom{flex-wrap:wrap}
}

@media (max-width:767px){
  .topbar__right{display:none}
  .topbar__place{display:none}
  .topbar__in{justify-content:center}
  .logo__text{font-size:20px}
  .header-actions{gap:10px}
  .footer-grid{grid-template-columns:1fr;gap:36px}
  .site-footer{padding-block:48px 36px}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:16px}
  .footer-legal{gap:8px 20px}
  .to-top{align-self:flex-end;margin-block-start:-8px}
  .login-modal__panel{padding:32px 22px 24px}
}


/* =====================================================================
   CONTACT PAGE  (pages/contact.html · from Figma node 7:2063)
   Header + footer are the shared services ones.
   ===================================================================== */
.ct{background:#fff;overflow-x:hidden}
.ct-wrap{width:100%;max-width:1280px;margin-inline:auto;padding-inline:var(--pad-x);position:relative}
.ct-sec{position:relative;padding-block:128px;overflow:hidden}
.ct-sec--w{background:#fff}
.ct-sec--b{background:#e6f7f8}
.ct-stack{display:flex;flex-direction:column;gap:64px}
.ct-head{display:flex;flex-direction:column;gap:12px;max-width:768px}
.ct-pill{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:4px 12px;border-radius:9999px;background:#e6f7f8;font-weight:600;font-size:12px;line-height:16px;letter-spacing:1.2px;text-transform:uppercase;color:#004342}
.ct-pill--soft{background:#e0f1f2;letter-spacing:.6px}
.ct-dot{width:6px;height:6px;border-radius:50%;background:#145c5a;flex-shrink:0}
.ct-tag{display:inline-flex;align-self:flex-start;padding:4px 12px;border-radius:9999px;background:#ecfdfd;font-weight:600;font-size:12px;line-height:16px;letter-spacing:.6px;text-transform:uppercase;color:#14414a}
.ct-kicker{font-weight:600;font-size:12px;line-height:16px;letter-spacing:.6px;text-transform:uppercase;color:#4f6358}
.ct-h1{font-family:var(--font-head);font-weight:600;font-size:56px;line-height:56px;letter-spacing:-1.4px;color:#004342;margin-block-start:24px}
.ct-h1 span{display:block}
.ct-h2{font-family:var(--font-head);font-weight:600;font-size:40px;line-height:50px;letter-spacing:-1px;color:#004342}
.ct-lead{font-size:18px;line-height:29.25px;color:#3f4948}
.ct-lead--sm{font-size:18px;line-height:29.25px}
.ct-note{font-size:13px;line-height:19.5px;color:rgba(63,73,72,.8);letter-spacing:.13px}

/* glows + hero */
.ct-glow{position:absolute;border-radius:9999px;filter:blur(32px);pointer-events:none}
.ct-glow--a{width:550px;height:550px;top:-128px;right:-60px;background:rgba(207,229,215,.3)}
.ct-glow--b{width:420px;height:420px;left:-80px;bottom:-95px;background:rgba(207, 229, 215, .3);}
.ct-hero__top{position:relative;display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:48px;align-items:start}
.ct-hero__side{display:flex;flex-direction:column;gap:16px;padding-block-start:48px}
.ct-divider{display:block;width:100%;height:48px;margin-block:40px 16px;position:relative}
.ct-channels{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;padding-block-start:24px}
.ct-channel{position:relative;display:flex;flex-direction:column;gap:8px;min-width:0}
.ct-channel__idx{display:flex;align-items:center;gap:8px;margin-block-end:4px;font-weight:500;font-size:11px;line-height:14px;letter-spacing:1.1px;text-transform:uppercase;color:#4f6358}
.ct-channel__idx i{width:24px;height:1px;background:#cfe5d7}
.ct-channel__label{font-weight:600;font-size:12px;line-height:16px;letter-spacing:.6px;text-transform:uppercase;color:#3f4948}
.ct-channel__big{font-family:var(--font-head);font-weight:500;font-size:28px;line-height:36px;letter-spacing:-.7px;color:#004342;white-space:nowrap;transition:color .2s}
.ct-channel__big:hover{color:#145c5a}
.ct-channel__big--static{display:block}
.ct-channel p{font-size:13px;line-height:21px;letter-spacing:.13px;color:#3f4948;margin-block-start:4px}
.ct-channel__meta{display:inline-flex;align-items:center;gap:8px;margin-block-start:auto;padding-block-start:16px;font-weight:600;font-size:12px;line-height:16px;letter-spacing:.6px;color:#004342}
.ct-channel__meta i{font-size:11px;color:#145c5a}
.ct-cta-row{position:relative;margin-block-start:56px}
.ct-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:16px 32px;border-radius:8px;font-weight:600;font-size:16px;line-height:24px;transition:background .2s,transform .2s,color .2s;white-space:nowrap;border:0;cursor:pointer}
.ct-btn i{font-size:13px;transition:transform .2s}
.ct-btn:hover i{transform:translateX(3px)}
.ct-btn--solid{background:#145c5a;color:#fff;box-shadow:0 10px 30px -5px rgba(20,92,90,.2)}
.ct-btn--solid:hover{background:#0f4a48}
.ct-btn--white{background:#fff;color:#004342;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1)}
.ct-btn--white:hover{background:#ecfdfd}
.ct-btn--glass{background:rgba(20,92,90,.6);color:#fff;padding:16px 28px}
.ct-btn--glass:hover{background:rgba(20,92,90,.8)}
.ct-btn--glass i:first-child{margin-inline-end:-2px}
.ct-btn--submit{padding:16px 32px}

/* enquiry form */
.ct-enquiry{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:64px;align-items:start}
.ct-form-card{position:relative;background:#fff;border-radius:12px;padding:48px;box-shadow:0 12px 45px -8px rgba(20,92,90,.08)}
.ct-form{display:flex;flex-direction:column;gap:32px}
.ct-row{display:flex;flex-direction:column;gap:8px}
.ct-row--2{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.ct-form .field{display:flex;flex-direction:column;gap:6px;min-width:0}
.ct-label{display:block;font-weight:600;font-size:12px;line-height:16px;letter-spacing:.6px;text-transform:uppercase;color:#3f4948;padding:0}
.ct-input{width:100%;padding:3px 0 14px;border:0;border-bottom:1px solid rgba(191,200,199,.6);background:transparent;font-family:var(--font-body);font-size:18px;line-height:24px;color:#0f1e1f;outline:none;transition:border-color .2s;border-radius:0}
.ct-input::placeholder{color:rgba(191,200,199,.9)}
.ct-input:focus{border-bottom-color:#145c5a}
.ct-textarea{resize:vertical;min-height:84px;font-size:15px;line-height:24px}
.ct-textarea::placeholder{color:rgba(191,200,199,.9)}
.ct-form .field.has-error .ct-input{border-bottom-color:#c0392b}
.ct-form .field-error{min-height:0;font-size:12px;line-height:16px;color:#c0392b}
.ct-fieldset{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:16px;min-width:0}
.ct-fieldset legend{padding:0;margin-block-end:0}
.ct-pills{display:flex;flex-wrap:wrap;gap:8px 8px}
.ct-pill-opt{position:relative;display:inline-flex;cursor:pointer}
.ct-pill-opt input{position:absolute;opacity:0;pointer-events:none}
.ct-pill-opt span{display:inline-block;padding:10px 16px;border-radius:9999px;background:#e6f7f8;font-size:13px;line-height:20px;letter-spacing:.13px;color:#3f4948;transition:background .2s,color .2s;user-select:none}
.ct-pill-opt:hover span{background:#d5eef0}
.ct-pill-opt input:checked + span{background:#004342;color:#fff}
.ct-pill-opt input:focus-visible + span{outline:2px solid #145c5a;outline-offset:2px}
.ct-times{display:flex;flex-wrap:wrap;gap:12px}
.ct-time{position:relative;display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:8px;background:#e6f7f8;cursor:pointer}
.ct-time input{appearance:none;-webkit-appearance:none;width:13px;height:13px;margin:0;border-radius:50%;border:1px solid #767676;background:#fff;flex-shrink:0;display:grid;place-content:center;cursor:pointer}
.ct-time input::before{content:"";width:7px;height:7px;border-radius:50%;background:#004342;transform:scale(0);transition:transform .15s}
.ct-time input:checked{border-color:#004342}
.ct-time input:checked::before{transform:scale(1)}
.ct-time span{font-size:13px;line-height:20px;letter-spacing:.13px;color:#0f1e1f}
.ct-time input:focus-visible{outline:2px solid #145c5a;outline-offset:2px}
.ct-submit{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-block-start:16px}
.ct-privacy{display:flex;align-items:flex-start;gap:8px;max-width:320px;font-size:11px;line-height:14px;letter-spacing:.44px;color:#3f4948}
.ct-privacy i{font-size:12px;color:#145c5a;margin-block-start:1px}
.ct-form .form-success{padding:12px 16px;border-radius:8px;background:#e0f1f2;color:#004342;font-size:14px;line-height:20px}

/* portrait column */
.ct-portrait{display:flex;flex-direction:column;gap:24px;min-width:0}
.ct-arch{position:relative;margin:0;height:520px;border-radius:140px 140px 16px 16px;overflow:hidden;background:#e0f1f2;box-shadow:0 20px 50px -10px rgba(20,92,90,.12)}
.ct-arch>img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.ct-quote-badge{position:absolute;left:24px;right:24px;bottom:24px;padding:24px;border-radius:12px;background:rgba(255,255,255,.95);box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);display:flex;flex-direction:column;gap:8px}
.ct-quote-badge__k{display:inline-flex;align-items:center;gap:12px;font-weight:600;font-size:12px;line-height:16px;letter-spacing:1.2px;text-transform:uppercase;color:#4f6358}
.ct-quote-badge__k i{font-size:13px;color:#145c5a}
.ct-quote-badge p{font-family:var(--font-head);font-style:italic;font-weight:500;font-size:22px;line-height:30px;color:#004342}
.ct-quote-badge cite{font-style:normal;font-weight:500;font-size:11px;line-height:14px;letter-spacing:.44px;color:#3f4948;padding-block-start:4px}
.ct-accred{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px;border-radius:12px;background:rgba(255,255,255,.8)}
.ct-accred__l{display:flex;align-items:center;gap:12px;min-width:0}
.ct-accred__l>i{font-size:20px;color:#145c5a;flex-shrink:0}
.ct-accred strong{display:block;font-weight:600;font-size:16px;line-height:24px;color:#0f1e1f}
.ct-accred__l span{display:block;font-size:13px;line-height:20px;letter-spacing:.13px;color:#3f4948}
.ct-accred__r{text-align:right;flex-shrink:0}
.ct-accred__r strong{font-family:var(--font-head);font-weight:500;font-size:22px;line-height:30px;color:#004342}
.ct-accred__r span{display:block;font-weight:500;font-size:11px;line-height:14px;letter-spacing:.44px;color:#3f4948}
.ct-prefer{display:flex;gap:16px;padding:24px;border-radius:12px;background:#fff;border:1px solid rgba(191,200,199,.3);box-shadow:0 12px 45px -8px rgba(20,92,90,.06)}
.ct-prefer__ic{width:32px;height:32px;border-radius:50%;background:#e6f7f8;color:#004342;display:inline-flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0}
.ct-prefer strong{display:block;font-weight:600;font-size:12px;line-height:16px;letter-spacing:.6px;color:#0f1e1f}
.ct-prefer p{margin-block-start:6px;font-size:13px;line-height:20px;color:#3f4948}
.ct-prefer a{font-weight:600;color:#004342;white-space:nowrap}

/* 3 · visit */
.ct-visit-head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:40px;align-items:end}
.ct-visit-lead{font-size:15px;line-height:24px;color:#3f4948;max-width:448px;justify-self:end}
.ct-visit{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:32px;align-items:start}
.ct-map{position:relative;min-height:686px;border-radius:16px;overflow:hidden;background:#e6f7f8;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.ct-map__svg{position:absolute;inset:0;width:100%;height:calc(100% - 0px);display:block}
.ct-marker{position:absolute;left:40px;right:40px;display:flex;align-items:flex-start;gap:12px;z-index:1}
.ct-marker--a{top:40px}
.ct-marker--b{top:340px}
.ct-marker--b{right:auto;width:calc(100% - 80px)}
.ct-marker__dot{width:12px;height:12px;border-radius:50%;background:#004342;box-shadow:0 0 0 4px rgba(0,67,66,.2);margin-block-start:8px;flex-shrink:0}
.ct-marker__dot--alt{background:#145c5a;box-shadow:0 0 0 4px rgba(20,92,90,.2)}
.ct-marker__card{max-width:384px;padding:20px;border-radius:12px;background:rgba(255,255,255,.92);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);display:flex;flex-direction:column;gap:4px}
.ct-marker__card strong{font-weight:600;font-size:16px;line-height:24px;color:#004342}
.ct-marker__card p{font-size:13px;line-height:20px;letter-spacing:.13px;color:#3f4948}
.ct-map__foot{position:absolute;left:40px;right:40px;bottom:32px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block-start:16px;border-block-start:1px solid rgba(191,200,199,.3);z-index:1}
.ct-map__foot>span{display:inline-flex;align-items:center;gap:8px;font-size:13px;line-height:20px;letter-spacing:.13px;color:#3f4948}
.ct-map__foot>span i{color:#145c5a}
.ct-link{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:16px;line-height:24px;color:#004342;white-space:nowrap}
.ct-link i{font-size:11px;transition:transform .2s}
.ct-link:hover i{transform:translate(2px,-2px)}
.ct-side{display:flex;flex-direction:column;gap:24px;min-width:0}
.ct-hours{display:flex;flex-direction:column;gap:24px;padding:32px;border-radius:16px;background:#e6f7f8;box-shadow:0 1px 1px rgba(0,0,0,.05)}
.ct-hours__title{display:flex;align-items:center;gap:10px;font-weight:600;font-size:20px;line-height:28px;letter-spacing:-.2px;color:#004342}
.ct-hours__title i{font-size:16px}
.ct-hours__rows{display:flex;flex-direction:column;gap:16px}
.ct-hours__rows>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:8px}
.ct-hours__rows dt{font-weight:600;font-size:16px;line-height:24px;color:#0f1e1f}
.ct-hours__rows dd{margin:0;font-family:"Liberation Mono","Courier New",monospace;font-size:13px;line-height:20px;letter-spacing:.13px;color:#3f4948;text-align:right}
.ct-hours__rows .is-closed dt{font-weight:400;font-size:13px;line-height:20px;letter-spacing:.13px;color:#3f4948}
.ct-hours__rows .is-closed dd{font-family:var(--font-body);font-weight:600;font-size:12px;line-height:16px;letter-spacing:.6px;text-transform:uppercase;color:#4f6358}
.ct-hours__emg{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 -32px -32px;padding:24px 32px;border-radius:0 0 16px 16px;background:rgba(255,255,255,.6)}
.ct-hours__emg span{font-weight:600;font-size:12px;line-height:16px;letter-spacing:.6px;color:#3f4948}
.ct-hours__emg a{font-weight:600;font-size:16px;line-height:24px;color:#004342}
.ct-prep{display:flex;flex-direction:column;gap:24px;padding:32px;border-radius:16px;background:#fff;box-shadow:0 1px 1px rgba(0,0,0,.05);border:1px solid rgba(191,200,199,.2)}
.ct-prep__list{display:flex;flex-direction:column;gap:20px}
.ct-prep__list li{display:flex;align-items:flex-start;gap:16px}
.ct-prep__list li>span{font-family:var(--font-head);font-weight:500;font-size:22px;line-height:22px;color:rgba(79,99,88,.6);flex-shrink:0;min-width:24px}
.ct-prep__list strong{display:block;font-weight:600;font-size:16px;line-height:24px;color:#0f1e1f}
.ct-prep__list p{font-size:13px;line-height:20px;letter-spacing:.13px;color:#3f4948;margin-block-start:2px}

/* 4 · closing banner */
.ct-close{position:relative;background:#004342;padding:144px 0;overflow:hidden}
.ct-close__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.25;mix-blend-mode:luminosity}
.ct-close__scrim{position:absolute;inset:0;background:linear-gradient(to right,#004342 0%,rgba(0,67,66,.95) 50%,rgba(0,67,66,.8) 100%)}
.ct-close__grid{position:relative;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:64px;align-items:center}
.ct-close__copy{display:flex;flex-direction:column;align-items:flex-start;gap:24px;min-width:0}
.ct-close__pill{display:inline-flex;padding:4px 14px;border-radius:9999px;background:rgba(20,92,90,.8);font-weight:600;font-size:12px;line-height:16px;letter-spacing:1.2px;text-transform:uppercase;color:#92d2cf}
.ct-close__h2{display:flex;flex-direction:column;font-family:var(--font-head);font-weight:600;font-size:56px;line-height:70px;letter-spacing:-1.4px;color:#fff}
.ct-close__h2 span{display:block}
.ct-close__lead{max-width:576px;font-size:18px;line-height:29.25px;color:#adeeeb}
.ct-close__actions{display:flex;flex-wrap:wrap;gap:16px;padding-block-start:8px}
.ct-close__micro{font-weight:500;font-size:11px;line-height:14px;letter-spacing:.44px;color:rgba(146,210,207,.9)}
.ct-affirm{display:flex;flex-direction:column;gap:32px;padding:40px;border-radius:16px;background:rgba(20,65,74,.6);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);min-width:0}
.ct-affirm__item{display:flex;align-items:flex-start;gap:16px}
.ct-affirm__ic{width:32px;height:32px;border-radius:50%;background:#145c5a;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0;margin-block-start:4px}
.ct-affirm h3{font-family:var(--font-head);font-weight:500;font-size:22px;line-height:30px;color:#fff}
.ct-affirm p{margin-block-start:4px;font-size:13px;line-height:20px;letter-spacing:.13px;color:#adeeeb}
.ct-affirm__rule{height:1px;background:rgba(191,200,199,.2)}
.ct-affirm__quote{margin-block-start:-4px;padding-block-start:17px;border-block-start:1px solid rgba(191,200,199,.1);font-family:var(--font-head);font-style:italic;font-weight:500;font-size:22px;line-height:30px;color:#cfe5d7}

/* ---- contact · responsive (1280 / 1024 / 767 / 320) ---- */
@media (max-width:1280px){
  .ct-h1{font-size:50px;line-height:52px}
  .ct-close__h2{font-size:48px;line-height:60px}
}
@media (max-width:1024px){
  .ct-sec{padding-block:96px}
  .ct-sec--w,.ct-sec--b{padding-block:88px}
  .ct-hero__top{grid-template-columns:1fr;gap:24px}
  .ct-hero__side{padding-block-start:0}
  .ct-channels{grid-template-columns:1fr;gap:32px}
  .ct-enquiry{grid-template-columns:1fr;gap:48px}
  .ct-arch{height:460px}
  .ct-visit-head{grid-template-columns:1fr;gap:16px}
  .ct-visit-lead{justify-self:start}
  .ct-visit{grid-template-columns:1fr;gap:32px}
  .ct-map{min-height:520px}
  .ct-close{padding:96px 0}
  .ct-close__grid{grid-template-columns:1fr;gap:48px}
  .ct-h2{font-size:34px;line-height:42px}
}
@media (max-width:767px){
  .ct-sec{padding-block:64px}
  .ct-sec--w,.ct-sec--b{padding-block:56px}
  .ct-stack{gap:40px}
  .ct-h1{font-size:34px;line-height:40px;letter-spacing:-.6px}
  .ct-h1 span{display:inline}
  .ct-h2{font-size:28px;line-height:36px;letter-spacing:-.5px}
  .ct-lead,.ct-lead--sm{font-size:16px;line-height:26px}
  .ct-divider{height:32px;margin-block:24px 8px}
  .ct-channel__big{font-size:22px;line-height:30px;white-space:normal;word-break:break-word}
  .ct-btn{white-space:normal;width:100%;padding-inline:20px}
  .ct-cta-row{margin-block-start:36px}
  .ct-form-card{padding:28px 22px;border-radius:12px}
  .ct-form{gap:28px}
  .ct-row--2{grid-template-columns:1fr;gap:28px}
  .ct-input{font-size:16px}
  .ct-submit{flex-direction:column;align-items:stretch}
  .ct-submit .ct-btn{width:100%}
  .ct-privacy{max-width:none}
  .ct-arch{height:400px;border-radius:120px 120px 16px 16px}
  .ct-quote-badge{left:12px;right:12px;bottom:12px;padding:18px}
  .ct-quote-badge p{font-size:18px;line-height:26px}
  .ct-accred{flex-direction:column;align-items:flex-start}
  .ct-accred__r{text-align:left}
  .ct-map{min-height:600px}
  .ct-marker{left:16px;right:16px}
  .ct-marker--a{top:16px}
  .ct-marker--b{top:300px;width:auto}
  .ct-marker__card{padding:16px;max-width:none}
  .ct-map__foot{left:16px;right:16px;flex-direction:column;align-items:flex-start;gap:12px;bottom:20px}
  .ct-hours,.ct-prep{padding:24px}
  .ct-hours__emg{margin:0 -24px -24px;padding:20px 24px;flex-direction:column;align-items:flex-start}
  .ct-h1{margin-block-start:16px}
  .ct-close__h2{font-size:32px;line-height:40px;letter-spacing:-.6px}
  .ct-close__h2 span{display:inline}
  .ct-close__lead{font-size:16px;line-height:26px}
  .ct-close__actions{flex-direction:column;align-items:stretch}
  .ct-affirm{padding:28px 22px}
  .ct-affirm__quote{font-size:19px;line-height:27px}
  .ct-close__actions .ct-btn{width:100%}
}
@media (max-width:360px){
  .ct-h1{font-size:30px;line-height:36px}
  .ct-close__h2{font-size:28px;line-height:34px}
  .ct-form-card{padding:22px 16px}
  .ct-pill-opt span{font-size:12px;padding:8px 12px}
}

/* =====================================================================
   PATIENT DASHBOARD  (pages/parent.html)
   Header + footer are the shared services ones.
   ===================================================================== */
.pd{background:var(--bg);overflow-x:hidden}
.pd-wrap{width:100%;max-width:1280px;margin-inline:auto;padding-inline:var(--pad-x)}
.pd-sec{padding-block:64px}
.pd-sec--w{background:#fff}
.pd-sec--b{background:var(--bg)}
.pd-stack{display:flex;flex-direction:column;gap:32px}
.pd-h1{font-family:var(--font-head);font-weight:600;font-size:52px;line-height:60px;letter-spacing:-1.2px;color:var(--deep);margin-block-start:20px}
.pd-h1 span{display:block}
.pd-h1 em{display:block;font-style:italic;font-weight:400;color:var(--primary)}
.pd-h2{font-family:var(--font-head);font-weight:600;font-size:30px;line-height:38px;letter-spacing:-.4px;color:var(--deep)}
.pd-h3{font-family:var(--font-head);font-weight:600;font-size:22px;line-height:30px;letter-spacing:-.2px;color:var(--deep)}
.pd-lead{font-size:17px;line-height:28px;color:var(--body);max-width:560px;margin-block-start:14px}
.pd-muted{font-size:14px;line-height:22px;color:var(--body);opacity:.85}
.pd-small{font-size:12px;line-height:18px;display:flex;align-items:flex-start;gap:8px;margin:0}
.pd-small i{margin-block-start:3px;color:var(--primary)}
.pd-kicker{display:block;font-weight:600;font-size:11px;line-height:16px;letter-spacing:1.1px;text-transform:uppercase;color:var(--sub)}
.pd-kicker--light{color:var(--mint)}
.pd-pill{display:inline-flex;align-items:center;gap:8px;padding:5px 14px;border-radius:9999px;background:var(--alt);font-weight:600;font-size:12px;line-height:16px;letter-spacing:1.1px;text-transform:uppercase;color:var(--deep)}
.pd-dot{width:7px;height:7px;border-radius:50%;background:var(--primary)}
.pd-label{display:block;font-weight:600;font-size:12px;line-height:16px;letter-spacing:.6px;text-transform:uppercase;color:var(--body);margin-block-end:8px}
.pd-card{background:var(--card);border-radius:16px;padding:28px;box-shadow:0 8px 30px -8px rgba(20,92,90,.08);display:flex;flex-direction:column;gap:16px;min-width:0}
.pd-card--deep{background:var(--deep);color:#e6f7f8;box-shadow:0 20px 50px -15px rgba(20,92,90,.25)}
.pd-card--deep .pd-kicker{color:var(--mint)}
.pd-card--form{padding:36px}

/* welcome */
.pd-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,400px);gap:48px;align-items:center}
.pd-profile{display:flex;align-items:center;gap:20px;padding:20px;border-radius:16px;background:var(--card);box-shadow:0 8px 30px -8px rgba(20,92,90,.1)}
.pd-profile__img{width:84px;height:84px;border-radius:14px;object-fit:cover;flex-shrink:0}
.pd-profile__body{display:flex;flex-direction:column;gap:4px;min-width:0}
.pd-profile__body strong{font-family:var(--font-head);font-weight:600;font-size:20px;line-height:28px;color:var(--deep)}
.pd-profile__body>span{font-size:13px;line-height:20px;color:var(--body)}
.pd-profile__meta{display:inline-flex;align-items:center;gap:8px;margin-block-start:4px;font-weight:600;color:var(--primary)!important}
.pd-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-block-start:40px}
.pd-stat{display:flex;flex-direction:column;gap:8px;padding:24px;border-radius:16px;background:var(--alt);min-width:0}
.pd-stat__label{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:12px;line-height:16px;letter-spacing:.5px;color:var(--sub);text-transform:uppercase}
.pd-stat__label i{color:var(--primary)}
.pd-stat__value{font-family:var(--font-head);font-weight:600;font-size:28px;line-height:36px;color:var(--deep);margin-block-start:4px}
.pd-stat__sub{font-size:13px;line-height:20px;color:var(--body)}
.pd-bar{display:block;height:6px;border-radius:9999px;background:rgba(20,92,90,.15);overflow:hidden;margin-block-start:6px}
.pd-bar>span{display:block;height:100%;border-radius:inherit;background:var(--primary);transition:width .4s ease}

/* tabs */
.pd-tabs{display:flex;gap:8px;padding:6px;border-radius:14px;background:var(--card);box-shadow:0 4px 20px -6px rgba(20,92,90,.1);overflow-x:auto;scrollbar-width:none;align-self:flex-start;max-width:100%}
.pd-tabs::-webkit-scrollbar{display:none}
.pd-tab{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border:0;border-radius:10px;background:transparent;font-weight:600;font-size:15px;line-height:20px;color:var(--body);cursor:pointer;white-space:nowrap;transition:background .2s,color .2s}
.pd-tab i{font-size:14px}
.pd-tab:hover{background:var(--chip)}
.pd-tab.is-active{background:var(--deep);color:#fff}

/* booking */
.pd-book{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:24px;align-items:start}
.pd-side{display:flex;flex-direction:column;gap:24px;min-width:0}
.pd-grid2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.pd-form{display:flex;flex-direction:column;gap:24px;margin-block-start:8px}
.pd-form .field{display:flex;flex-direction:column;min-width:0}
.pd-input{width:100%;padding:12px 16px;border-radius:10px;border:1px solid rgba(191,200,199,.8);background:var(--card);font-size:15px;line-height:22px;color:var(--ink);outline:none;transition:border-color .2s,box-shadow .2s;appearance:auto}
.pd-input::placeholder{color:#8a9694}
.pd-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(20,92,90,.15)}
.pd-textarea{resize:vertical;min-height:96px;line-height:24px}
.pd-form .field.has-error .pd-input{border-color:#c0392b}
.pd-form .field-error{min-height:0;margin-block-start:6px;font-size:12px;line-height:16px;color:#c0392b}
.pd-check{display:inline-flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:14px;line-height:22px;color:var(--body)}
.pd-check input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--primary);flex-shrink:0}
.pd-check--goal{font-size:15px;line-height:24px;color:var(--ink)}
.pd-form__foot{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-block-start:8px}
.pd-form .form-success{display:none;padding:14px 16px;border-radius:10px;background:var(--mint2);color:var(--deep);font-size:14px;line-height:22px}
.pd-form .form-success.is-visible{display:block}
.pd-sessions{display:flex;flex-direction:column;gap:12px}
.pd-session{display:flex;align-items:center;gap:16px;padding:14px;border-radius:12px;background:var(--bg)}
.pd-session__date{display:flex;flex-direction:column;align-items:center;justify-content:center;width:58px;height:62px;border-radius:10px;background:var(--card);flex-shrink:0;color:var(--deep)}
.pd-session__date span{font-weight:600;font-size:11px;line-height:14px;letter-spacing:.5px;text-transform:uppercase;color:var(--sub)}
.pd-session__date strong{font-family:var(--font-head);font-weight:600;font-size:22px;line-height:26px}
.pd-session__date small{font-size:11px;line-height:14px;color:var(--sub)}
.pd-session__body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.pd-session__body strong{font-size:15px;line-height:22px;color:var(--ink)}
.pd-session__body span{font-size:13px;line-height:20px;color:var(--body)}
.pd-link-btn{border:0;background:none;padding:6px 4px;font-weight:600;font-size:13px;color:#a6372e;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.pd-link-btn:hover{color:#7d271f}
.pd-empty{font-size:14px;line-height:22px;color:var(--body);padding:12px 0}
.pd-tips{display:flex;flex-direction:column;gap:12px;counter-reset:tip}
.pd-tips li{position:relative;padding-inline-start:36px;font-size:15px;line-height:24px;color:#e6f7f8;counter-increment:tip}
.pd-tips li::before{content:counter(tip);position:absolute;inset-inline-start:0;top:0;width:24px;height:24px;border-radius:50%;background:var(--mint);color:var(--deep);display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:12px}

/* buttons */
.pd-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 26px;border-radius:10px;border:0;font-weight:600;font-size:15px;line-height:22px;cursor:pointer;transition:background .2s,transform .2s;white-space:nowrap}
.pd-btn i{font-size:12px;transition:transform .2s}
.pd-btn:hover i{transform:translateX(3px)}
.pd-btn--solid{background:var(--primary);color:#fff;box-shadow:0 8px 20px -6px rgba(20,92,90,.35)}
.pd-btn--solid:hover{background:var(--deep)}
.pd-btn--soft{background:var(--chip);color:var(--deep)}
.pd-btn--soft:hover{background:var(--mint)}
.pd-btn--soft[aria-pressed="true"]{background:var(--mint2);color:var(--deep)}
.pd-btn--sm{padding:9px 16px;font-size:13px;line-height:18px;gap:8px}
.pd-btn--sm i{font-size:11px}
.pd-link{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:15px;line-height:22px;color:var(--primary);align-self:flex-start}
.pd-link i{font-size:12px;transition:transform .2s}
.pd-link:hover i{transform:translateX(3px)}
.pd-link--light{color:#fff}

/* plan */
.pd-plan-head{flex-direction:row;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.pd-plan-head .pd-h2{margin-block:6px 6px}
.pd-status{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:9999px;background:var(--mint2);color:var(--deep);font-weight:600;font-size:13px;line-height:18px;white-space:nowrap}
.pd-status i{font-size:8px;color:var(--primary)}
.pd-phases{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.pd-phases li{position:relative;display:flex;flex-direction:column;gap:12px;padding:20px;border-radius:14px;background:var(--bg);min-width:0}
.pd-phases li>div{display:flex;flex-direction:column;gap:4px}
.pd-phases strong{font-family:var(--font-head);font-weight:600;font-size:18px;line-height:26px;color:var(--ink)}
.pd-phases span:not(.pd-phase__n){font-size:13px;line-height:20px;color:var(--body)}
.pd-phases em{font-style:normal;font-weight:600;font-size:11px;line-height:14px;letter-spacing:.5px;text-transform:uppercase;color:var(--muted)}
.pd-phase__n{width:36px;height:36px;border-radius:50%;background:var(--card);border:2px solid var(--mint);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-head);font-weight:600;font-size:15px;color:var(--sub)}
.pd-phases .is-done .pd-phase__n{background:var(--primary);border-color:var(--primary);color:#fff}
.pd-phases .is-done em{color:var(--primary)}
.pd-phases .is-current{background:var(--mint2)}
.pd-phases .is-current .pd-phase__n{border-color:var(--primary);color:var(--deep)}
.pd-phases .is-current em{color:var(--deep)}
.pd-plan-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:24px;align-items:stretch}
.pd-goals{display:flex;flex-direction:column;gap:14px;margin-block-start:4px}
.pd-goals li{padding:14px 16px;border-radius:12px;background:var(--bg)}
.pd-note-quote{display:flex;flex-direction:column;gap:12px;margin:0}
.pd-note-quote p{font-family:var(--font-head);font-style:italic;font-weight:400;font-size:24px;line-height:34px;color:#fff}
.pd-note-quote cite{font-style:normal;font-weight:600;font-size:13px;line-height:20px;color:var(--mint)}

/* exercises */
.pd-ex-top{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
.pd-ex-top .pd-muted{margin-block-start:8px;max-width:520px}
.pd-filters{display:flex;flex-wrap:wrap;gap:8px}
.pd-chip{padding:9px 18px;border-radius:9999px;border:1px solid rgba(191,200,199,.6);background:var(--card);font-weight:600;font-size:13px;line-height:18px;color:var(--body);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.pd-chip:hover{border-color:var(--primary)}
.pd-chip.is-active{background:var(--deep);border-color:var(--deep);color:#fff}
.pd-videos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.pd-video{display:flex;flex-direction:column;border-radius:16px;overflow:hidden;background:var(--card);box-shadow:0 8px 30px -8px rgba(20,92,90,.1);min-width:0}
.pd-video[hidden]{display:none}
.pd-video__thumb{position:relative;height:190px;background:var(--chip);overflow:hidden}
.pd-video__thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.pd-video:hover .pd-video__thumb img{transform:scale(1.04)}
.pd-video__time{position:absolute;left:12px;bottom:12px;display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:9999px;background:rgba(0,67,66,.85);color:#fff;font-weight:600;font-size:12px;line-height:16px}
.pd-video__body{display:flex;flex-direction:column;gap:8px;padding:22px;flex:1}
.pd-video__body h3{font-family:var(--font-head);font-weight:600;font-size:20px;line-height:28px;color:var(--ink)}
.pd-video__body p{font-size:14px;line-height:22px;color:var(--body)}
.pd-video__actions{display:flex;flex-wrap:wrap;gap:8px;margin-block-start:auto;padding-block-start:12px}

/* video dialog */
.pd-modal{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:20px}
.pd-modal[hidden]{display:none}
.pd-modal__backdrop{position:absolute;inset:0;background:rgba(9,43,42,.6);backdrop-filter:blur(3px)}
.pd-modal__panel{position:relative;width:100%;max-width:760px;max-height:calc(100vh - 40px);overflow:auto;background:var(--card);color:var(--body);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:16px;box-shadow:0 24px 60px -12px rgba(0,0,0,.35)}
.pd-modal__head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.pd-modal__close{width:36px;height:36px;border:0;border-radius:50%;background:var(--chip);color:var(--deep);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.pd-player{position:relative;aspect-ratio:16/9;border-radius:12px;background:var(--deep);display:flex;align-items:center;justify-content:center;overflow:hidden}
.pd-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.pd-player__msg{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px;text-align:center;font-size:15px;line-height:24px;color:var(--mint)}
.pd-player__msg i{font-size:40px;color:var(--mint)}

/* ---- dashboard · responsive (1280 / 1024 / 767 / 320) ---- */
@media (max-width:1280px){
  .pd-h1{font-size:46px;line-height:54px}
  .pd-videos{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1024px){
  .pd-sec{padding-block:48px}
  .pd-hero{grid-template-columns:1fr;gap:28px}
  .pd-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pd-book,.pd-plan-grid{grid-template-columns:1fr}
  .pd-phases{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pd-h2{font-size:26px;line-height:34px}
}
@media (max-width:767px){
  .pd-sec{padding-block:36px}
  .pd-h1{font-size:34px;line-height:40px;letter-spacing:-.6px}
  .pd-h2{font-size:23px;line-height:30px}
  .pd-h3{font-size:19px;line-height:26px}
  .pd-lead{font-size:15px;line-height:24px}
  .pd-stats{grid-template-columns:1fr 1fr;gap:12px;margin-block-start:28px}
  .pd-stat{padding:16px}
  .pd-stat__value{font-size:22px;line-height:30px}
  .pd-stat__label{font-size:10px;letter-spacing:.3px}
  .pd-tabs{width:100%;align-self:stretch}
  .pd-tab{padding:10px 14px;font-size:14px}
  .pd-card{padding:22px}
  .pd-card--form{padding:24px 20px}
  .pd-grid2{grid-template-columns:1fr;gap:20px}
  .pd-form__foot .pd-btn{width:100%}
  .pd-plan-head{flex-direction:column;align-items:flex-start}
  .pd-phases{grid-template-columns:1fr}
  .pd-note-quote p{font-size:20px;line-height:30px}
  .pd-ex-top{flex-direction:column;align-items:flex-start}
  .pd-videos{grid-template-columns:1fr;gap:20px}
  .pd-video__thumb{height:200px}
  .pd-profile{padding:16px}
  .pd-profile__img{width:64px;height:64px}
  .pd-modal__panel{padding:18px}
}
@media (max-width:360px){
  .pd-h1{font-size:30px;line-height:36px}
  .pd-stats{grid-template-columns:1fr}
  .pd-session{flex-wrap:wrap}
  .pd-session__body{flex-basis:calc(100% - 74px)}
}

/* =====================================================================
   PATIENT DASHBOARD · SIDEBAR LAYOUT  (pages/parent.html)
   No site header or footer on this page. Top bar holds profile, RTL,
   dark mode and notifications. Uses logical properties so RTL flips.
   ===================================================================== */
body.db{padding-top:0;background:#f2f9f9;overflow-x:hidden}
.db-app{min-height:100vh}

/* sidebar */
.db-side{position:fixed;inset-block:0;inset-inline-start:0;width:264px;z-index:200;display:flex;flex-direction:column;gap:20px;padding:24px 16px;background:var(--card);border-inline-end:1px solid var(--line);overflow-y:auto;transition:inset-inline-start .3s ease}
.db-brand{display:flex;align-items:center;gap:12px;padding:4px 12px 12px;color:var(--deep)}
.db-brand__mark{width:40px;height:40px;border-radius:10px;background:var(--primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0}
.db-brand__text{display:flex;flex-direction:column;line-height:1.2}
.db-brand__text strong{font-family:var(--font-head);font-weight:600;font-size:20px}
.db-brand__text small{font-size:12px;color:var(--sub)}
.db-nav{display:flex;flex-direction:column;gap:4px}
.db-nav__group{margin:14px 12px 6px;font-weight:600;font-size:11px;line-height:16px;letter-spacing:1.1px;color:var(--muted)}
.db-nav__group:first-child{margin-block-start:0}
.db-nav__link{display:flex;align-items:center;gap:14px;width:100%;padding:12px 14px;border:0;border-radius:12px;background:transparent;font:inherit;font-weight:500;font-size:15px;line-height:22px;color:var(--body);text-align:start;cursor:pointer;transition:background .2s,color .2s}
.db-nav__link i{width:18px;text-align:center;font-size:15px;color:var(--sub)}
.db-nav__link:hover{background:var(--chip);color:var(--deep)}
.db-nav__link.is-active{background:var(--deep);color:#fff;font-weight:600}
.db-nav__link.is-active i{color:#fff}
.db-nav__link--out{margin-block-start:8px;color:#a6372e}
.db-nav__link--out i{color:#a6372e}
.db-side__card{margin-block-start:auto;display:flex;flex-direction:column;gap:6px;padding:18px;border-radius:16px;background:var(--deep);color:#e6f7f8}
.db-side__card strong{font-family:var(--font-head);font-weight:600;font-size:17px;line-height:24px;color:#fff}
.db-side__card>span:not(.db-kicker){font-size:13px;color:var(--mint)}
.db-side__card .db-btn{margin-block-start:10px;align-self:flex-start}
.db-scrim{position:fixed;inset:0;z-index:150;background:rgba(9,43,42,.45);backdrop-filter:blur(2px)}
.db-scrim[hidden]{display:none}

/* main column */
.db-main{min-width:0;min-height:100vh;margin-inline-start:264px;display:flex;flex-direction:column}

/* top bar */
.db-top{position:sticky;inset-block-start:0;z-index:120;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 32px;background:var(--card);border-block-end:1px solid var(--line);box-shadow:0 1px 8px rgba(20,92,90,.05)}
.db-top__left{display:flex;align-items:center;gap:14px;min-width:0}
.db-top__titles{display:flex;flex-direction:column;min-width:0}
.db-top__eyebrow{font-weight:600;font-size:11px;line-height:16px;letter-spacing:1.1px;color:var(--sub)}
.db-top__title{font-family:var(--font-head);font-weight:600;font-size:24px;line-height:30px;color:var(--deep);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.db-top__right{display:flex;align-items:center;gap:10px;flex-shrink:0}
.db-iconbtn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:40px;height:40px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--deep);font-size:15px;cursor:pointer;transition:background .2s,border-color .2s}
.db-iconbtn:hover{background:var(--chip);border-color:var(--primary)}
.db-iconbtn--text{width:auto;padding:0 14px;font-weight:600;font-size:12px;letter-spacing:.6px;text-transform:uppercase}
.db-iconbtn--text i{font-size:12px}
.db-menu{display:none}
.db-badge{position:absolute;inset-block-start:-5px;inset-inline-end:-5px;min-width:18px;height:18px;padding:0 5px;border-radius:9999px;background:#c0392b;color:#fff;font-weight:600;font-size:10px;line-height:18px;text-align:center}
.db-badge[data-zero="true"]{display:none}
.db-notify{position:relative}
.db-pop{position:absolute;inset-block-start:calc(100% + 10px);inset-inline-end:0;width:340px;max-width:calc(100vw - 32px);z-index:160;background:var(--card);border-radius:16px;box-shadow:0 20px 50px -12px rgba(0,0,0,.25);border:1px solid var(--line);overflow:hidden}
.db-pop[hidden]{display:none}
.db-pop__head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-block-end:1px solid var(--line);color:var(--deep)}
.db-pop__list{display:flex;flex-direction:column}
.db-pop__list li{display:flex;gap:12px;padding:14px 18px;border-block-end:1px solid var(--line);align-items:flex-start;opacity:.7}
.db-pop__list li.is-unread{opacity:1;background:rgba(207,229,215,.25)}
.db-pop__list li>i{width:32px;height:32px;border-radius:50%;background:var(--chip);color:var(--primary);display:inline-flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0}
.db-pop__list strong{display:block;font-size:14px;line-height:20px;color:var(--ink)}
.db-pop__list span{font-size:13px;line-height:20px;color:var(--body)}
.db-profile{display:flex;align-items:center;gap:10px;padding:4px 8px 4px 4px;margin-inline-start:6px;border-radius:12px;cursor:pointer}
.db-profile__img{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0}
.db-profile__text{display:flex;flex-direction:column;line-height:1.25}
.db-profile__text strong{font-size:14px;color:var(--ink)}
.db-profile__text span{font-size:12px;color:var(--sub)}
.db-profile__chev{font-size:10px;color:var(--sub)}

/* content */
.db-content{padding:28px 32px 48px;display:flex;flex-direction:column;gap:24px;min-width:0}
.db-view{display:flex;flex-direction:column;gap:24px;min-width:0}
.db-view[hidden]{display:none}
.db-h2{font-family:var(--font-head);font-weight:600;font-size:26px;line-height:34px;letter-spacing:-.3px;color:var(--deep)}
.db-h3{font-family:var(--font-head);font-weight:600;font-size:21px;line-height:28px;color:var(--deep)}
.db-card h3,.db-card h4{font-family:var(--font-head);font-weight:600;font-size:18px;line-height:26px;color:var(--deep)}
.db-card h4{font-size:19px;line-height:26px;color:var(--ink)}
.db-muted{font-size:14px;line-height:22px;color:var(--body)}
.db-small{display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:18px;color:var(--body);margin:0}
.db-small i{margin-block-start:3px;color:var(--primary)}
.db-kicker{display:block;font-weight:600;font-size:11px;line-height:16px;letter-spacing:1.1px;text-transform:uppercase;color:var(--sub)}
.db-kicker--light{color:var(--mint)}
.db-label{display:block;font-weight:600;font-size:12px;line-height:16px;letter-spacing:.6px;text-transform:uppercase;color:var(--body);margin-block-end:8px}
.db-empty{font-size:14px;line-height:22px;color:var(--body);padding:8px 0}
.db-bar{display:block;height:6px;border-radius:9999px;background:rgba(20,92,90,.15);overflow:hidden;margin-block-start:8px}
.db-bar>span{display:block;height:100%;border-radius:inherit;background:var(--primary);transition:width .4s ease}

/* welcome banner */
.db-welcome{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:32px;border-radius:20px;background:linear-gradient(120deg,#004342 0%,#145c5a 100%);color:#e6f7f8;box-shadow:0 20px 50px -20px rgba(0,67,66,.45)}
.db-welcome__h{font-family:var(--font-head);font-weight:600;font-size:32px;line-height:40px;color:#fff}
.db-welcome__h span{font-style:italic;font-weight:400;color:var(--mint)}
.db-welcome p{margin-block-start:8px;font-size:15px;line-height:24px;color:#d4ebe8;max-width:560px}
.db-welcome p strong{color:#fff}
.db-welcome__actions{display:flex;flex-wrap:wrap;gap:12px}

/* stats */
.db-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.db-stat{display:flex;flex-direction:column;gap:6px;padding:22px;border-radius:16px;background:var(--card);box-shadow:0 8px 30px -10px rgba(20,92,90,.12);min-width:0}
.db-stat__label{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:11px;line-height:16px;letter-spacing:.5px;text-transform:uppercase;color:var(--sub)}
.db-stat__label i{color:var(--primary)}
.db-stat__value{font-family:var(--font-head);font-weight:600;font-size:28px;line-height:36px;color:var(--deep);margin-block-start:4px}
.db-stat__sub{font-size:13px;line-height:20px;color:var(--body)}

/* two-column grids */
.db-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:24px;align-items:start}
.db-two{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:24px;align-items:start}
.db-col{display:flex;flex-direction:column;gap:24px;min-width:0}
.db-grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px}

/* cards */
.db-card{display:flex;flex-direction:column;gap:16px;padding:24px;border-radius:16px;background:var(--card);box-shadow:0 8px 30px -10px rgba(20,92,90,.12);min-width:0}
.db-card--form{padding:32px}
.db-card--deep{background:var(--deep);color:#e6f7f8}
.db-card--deep h3{color:#fff}
.db-card__head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.db-link-btn{border:0;background:none;padding:6px 4px;font:inherit;font-weight:600;font-size:13px;color:var(--primary);cursor:pointer;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.db-link-btn:hover{color:var(--deep)}
.db-link-btn--danger{color:#a6372e}
.db-link-btn--danger:hover{color:#7d271f}

/* lists */
.db-list{display:flex;flex-direction:column;gap:10px}
.db-item{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:12px;background:var(--bg);min-width:0}
.db-item__ic{width:40px;height:40px;border-radius:50%;background:var(--card);color:var(--primary);display:inline-flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}
.db-item__body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.db-item__body strong{font-size:15px;line-height:22px;color:var(--ink)}
.db-item__body span{font-size:13px;line-height:20px;color:var(--body)}
.db-avatar{width:44px;height:44px;border-radius:12px;object-fit:cover;flex-shrink:0}
.db-date{display:flex;flex-direction:column;align-items:center;justify-content:center;width:56px;height:60px;border-radius:10px;background:var(--card);color:var(--deep);flex-shrink:0}
.db-date span{font-weight:600;font-size:11px;line-height:14px;letter-spacing:.5px;text-transform:uppercase;color:var(--sub)}
.db-date strong{font-family:var(--font-head);font-weight:600;font-size:22px;line-height:26px}
.db-date small{font-size:11px;line-height:14px;color:var(--sub)}

/* quick links */
.db-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.db-tile{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 10px;border-radius:14px;background:var(--bg);color:var(--deep);font:inherit;font-weight:600;font-size:13px;line-height:18px;text-align:center;border:0;cursor:pointer;transition:background .2s,transform .2s}
.db-tile:hover{background:var(--chip);transform:translateY(-2px)}
.db-tile span{width:44px;height:44px;border-radius:12px;background:var(--card);color:var(--primary);display:inline-flex;align-items:center;justify-content:center;font-size:17px}

/* deep card extras */
.db-note{display:flex;flex-direction:column;gap:12px;margin:0}
.db-note p{font-family:var(--font-head);font-style:italic;font-size:21px;line-height:30px;color:#fff}
.db-note cite{font-style:normal;font-weight:600;font-size:13px;color:var(--mint)}
.db-tips{display:flex;flex-direction:column;gap:12px;counter-reset:tip}
.db-tips li{position:relative;padding-inline-start:39px;font-size:15px;line-height:24px;color:#e6f7f8;counter-increment:tip}
.db-tips li::before{content:counter(tip);position:absolute;inset-inline-start:0;top:0;width:24px;height:24px;border-radius:50%;background:var(--mint);color:var(--deep);display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:12px}
.db-tips li::marker{content:none}
/* buttons */
.db-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 22px;border-radius:10px;border:1px solid transparent;font:inherit;font-weight:600;font-size:15px;line-height:22px;cursor:pointer;white-space:nowrap;transition:background .2s,color .2s,transform .2s}
.db-btn i{font-size:12px;transition:transform .2s}
.db-btn:hover i{transform:translateX(3px)}
.db-btn--solid{background:var(--primary);color:#fff;box-shadow:0 8px 20px -8px rgba(20,92,90,.45)}
.db-btn--solid:hover{background:var(--deep)}
.db-btn--soft{background:var(--chip);color:var(--deep)}
.db-btn--soft:hover{background:var(--mint)}
.db-btn--soft[aria-pressed="true"]{background:var(--mint2);color:var(--deep)}
.db-btn--light{background:#fff;color:var(--deep)}
.db-btn--light:hover{background:var(--chip)}
.db-btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.db-btn--ghost:hover{background:rgba(255,255,255,.1)}
.db-btn--sm{padding:9px 16px;font-size:13px;line-height:18px;gap:8px}
.db-btn--sm i{font-size:11px}

/* forms */
.db-form{display:flex;flex-direction:column;gap:22px;margin-block-start:8px}
.db-form .field{display:flex;flex-direction:column;min-width:0}
.db-input{width:100%;padding:12px 16px;border-radius:10px;border:1px solid rgba(191,200,199,.8);background:var(--card);font:inherit;font-size:15px;line-height:22px;color:var(--ink);outline:none;transition:border-color .2s,box-shadow .2s}
.db-input::placeholder{color:#8a9694}
.db-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(20,92,90,.15)}
.db-textarea{resize:vertical;min-height:110px;line-height:24px}
.db-form .field.has-error .db-input{border-color:#c0392b}
.db-form .field-error{min-height:0;margin-block-start:6px;font-size:12px;line-height:16px;color:#c0392b}
.db-form .form-success{display:none;padding:14px 16px;border-radius:10px;background:var(--mint2);color:var(--deep);font-size:14px;line-height:22px}
.db-form .form-success.is-visible{display:block}
.db-check{display:inline-flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:14px;line-height:22px;color:var(--body)}
.db-check input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--primary);flex-shrink:0}
.db-check--goal{font-size:15px;line-height:24px;color:var(--ink)}
.db-form__foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}

/* plan */
.db-plan-head{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}
.db-plan-head .db-h2{margin-block:6px 6px}
.db-status{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:9999px;background:var(--mint2);color:var(--deep);font-weight:600;font-size:13px;line-height:18px;white-space:nowrap}
.db-status i{font-size:8px;color:var(--primary)}
.db-phases{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.db-phases li{display:flex;flex-direction:column;gap:12px;padding:18px;border-radius:14px;background:var(--bg);min-width:0}
.db-phases li>div{display:flex;flex-direction:column;gap:4px}
.db-phases strong{font-family:var(--font-head);font-weight:600;font-size:17px;line-height:24px;color:var(--ink)}
.db-phases li>div>span{font-size:13px;line-height:20px;color:var(--body)}
.db-phases em{font-style:normal;font-weight:600;font-size:11px;line-height:14px;letter-spacing:.5px;text-transform:uppercase;color:var(--muted)}
.db-phase__n{width:36px;height:36px;border-radius:50%;background:var(--card);border:2px solid var(--mint);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-head);font-weight:600;font-size:15px;color:var(--sub)}
.db-phases .is-done .db-phase__n{background:var(--primary);border-color:var(--primary);color:#fff}
.db-phases .is-done em{color:var(--primary)}
.db-phases .is-current{background:var(--mint2)}
.db-phases .is-current .db-phase__n{border-color:var(--primary);color:var(--deep)}
.db-phases .is-current em{color:var(--deep)}
.db-goals{display:flex;flex-direction:column;gap:12px;margin-block-start:4px}
.db-goals li{padding:14px 16px;border-radius:12px;background:var(--bg)}

/* exercises */
.db-ex-top{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap}
.db-ex-top .db-muted{margin-block-start:6px;max-width:560px}
.db-filters{display:flex;flex-wrap:wrap;gap:8px}
.db-chip{padding:9px 18px;border-radius:9999px;border:1px solid rgba(191,200,199,.6);background:var(--card);font:inherit;font-weight:600;font-size:13px;line-height:18px;color:var(--body);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.db-chip:hover{border-color:var(--primary)}
.db-chip.is-active{background:var(--deep);border-color:var(--deep);color:#fff}
.db-videos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.db-video{display:flex;flex-direction:column;border-radius:16px;overflow:hidden;background:var(--card);box-shadow:0 8px 30px -10px rgba(20,92,90,.12);min-width:0}
.db-video[hidden]{display:none}
.db-video__thumb{position:relative;height:180px;background:var(--chip);overflow:hidden}
.db-video__thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.db-video:hover .db-video__thumb img{transform:scale(1.04)}
.db-video__time{position:absolute;inset-inline-start:12px;bottom:12px;display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:9999px;background:rgba(0,67,66,.85);color:#fff;font-weight:600;font-size:12px;line-height:16px}
.db-video__body{display:flex;flex-direction:column;gap:8px;padding:20px;flex:1}
.db-video__body p{font-size:14px;line-height:22px;color:var(--body)}
.db-video__actions{display:flex;flex-wrap:wrap;gap:8px;margin-block-start:auto;padding-block-start:10px}

/* video dialog */
.db-modal{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:20px}
.db-modal[hidden]{display:none}
.db-modal__backdrop{position:absolute;inset:0;background:rgba(9,43,42,.6);backdrop-filter:blur(3px)}
.db-modal__panel{position:relative;width:100%;max-width:760px;max-height:calc(100vh - 40px);overflow:auto;background:var(--card);color:var(--body);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:16px;box-shadow:0 24px 60px -12px rgba(0,0,0,.35)}
.db-modal__head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.db-player{position:relative;aspect-ratio:16/9;border-radius:12px;background:var(--deep);display:flex;align-items:center;justify-content:center;overflow:hidden}
.db-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.db-player__msg{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px;text-align:center;font-size:15px;line-height:24px;color:var(--mint)}
.db-player__msg i{font-size:40px;color:var(--mint)}

/* ---- sidebar dashboard · responsive ---- */
@media (max-width:1280px){
  .db-videos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .db-phases{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1100px){
  .db-grid,.db-two{grid-template-columns:1fr}
}
@media (max-width:1023px){
  .db-side{inset-inline-start:-290px;box-shadow:0 0 40px rgba(0,0,0,.2)}
  .db-side.is-open{inset-inline-start:0}
  .db-main{margin-inline-start:0}
  .db-menu{display:inline-flex}
  .db-profile__text,.db-profile__chev{display:none}
  .db-iconbtn--text{width:40px;padding:0}
  .db-top{padding:12px 20px}
  .db-content{padding:22px 20px 40px}
  .db-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .db-welcome__h{font-size:27px;line-height:34px}
}
@media (max-width:767px){
  .db-top__title{font-size:20px;line-height:26px}
  .db-top__eyebrow{display:none}
  .db-stat{padding:16px}
  .db-stat__value{font-size:22px;line-height:30px}
  .db-stat__label{font-size:10px;letter-spacing:.3px}
  .db-welcome{padding:24px}
  .db-welcome__actions{width:100%}
  .db-welcome__actions .db-btn{flex:1 1 auto}
  .db-videos{grid-template-columns:1fr;gap:16px}
  .db-phases{grid-template-columns:1fr}
  .db-grid2{grid-template-columns:1fr;gap:16px}
  .db-card{padding:20px}
  .db-card--form{padding:22px 18px}
  .db-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .db-pop{inset-inline-end:-56px;width:300px}
  .db-plan-head{flex-direction:column;align-items:flex-start}
  .db-ex-top{flex-direction:column;align-items:flex-start}
  .db-form__foot .db-btn{width:100%}
}
@media (max-width:360px){
  .db-h2{font-size:22px;line-height:30px}
  .db-stats{grid-template-columns:1fr}
  .db-top{padding:10px 14px}
  .db-content{padding:18px 14px 32px}
  .db-iconbtn{width:36px;height:36px}
  .db-pop{inset-inline-end:-100px;width:270px}
}

/* =====================================================================
   ADMIN CONSOLE  (admin/parent.html)
   Reuses the sidebar layout classes (db-*). Adds tables, badges,
   charts, switches and admin cards (ad-*). No footer on this page.
   ===================================================================== */
.ad-count{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;padding:0 8px;border-radius:9999px;background:var(--primary);color:#fff;font-weight:600;font-size:12px;line-height:26px}
.ad-row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ad-time{flex-shrink:0;min-width:58px;padding:8px 10px;border-radius:10px;background:var(--card);font-family:var(--font-head);font-weight:600;font-size:15px;line-height:20px;color:var(--deep);text-align:center}

/* badges */
.ad-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:9999px;font-weight:600;font-size:12px;line-height:18px;white-space:nowrap;background:var(--chip);color:var(--deep)}
.ad-badge--ok{background:var(--mint2);color:var(--deep)}
.ad-badge--info{background:#dbeafe;color:#1e3a5f}
.ad-badge--warn{background:#fdf0d5;color:#7a4e00}
.ad-badge--danger{background:#fbe0dd;color:#8a2a20}
.ad-badge--muted{background:#e7ecec;color:#4f6358}

/* bar chart */
.ad-bars{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;height:220px;padding-block-start:8px}
.ad-bar{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:0}
.ad-bar>span{width:100%;max-width:44px;border-radius:10px 10px 4px 4px;background:var(--mint);transition:background .2s;margin-block-start:auto}
.ad-bar.is-today>span,.ad-bar:hover>span{background:var(--primary)}
.ad-bar em{font-style:normal;font-weight:600;font-size:12px;line-height:16px;color:var(--deep);margin-block-start:6px}
.ad-bar small{font-size:11px;line-height:16px;letter-spacing:.4px;color:var(--sub)}
.ad-util{display:flex;flex-direction:column;gap:6px}
.ad-util>div{display:flex;justify-content:space-between;gap:12px;font-size:14px;line-height:20px;color:var(--body)}
.ad-util strong{color:var(--ink);font-weight:600}

/* tables */
.ad-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.ad-table{width:100%;min-width:620px;border-collapse:separate;border-spacing:0;font-size:14px;line-height:20px;color:var(--body)}
.ad-table th{position:sticky;top:0;text-align:start;padding:12px 14px;font-weight:600;font-size:11px;line-height:16px;letter-spacing:.8px;text-transform:uppercase;color:var(--sub);background:var(--bg);border-block-end:1px solid var(--line)}
.ad-table td{padding:14px;border-block-end:1px solid var(--line);vertical-align:middle}
.ad-table td strong{color:var(--ink);font-weight:600}
.ad-table tr:last-child td{border-block-end:0}
.ad-table tbody tr:hover td{background:rgba(207,229,215,.18)}
.ad-table tr[hidden]{display:none}
.ad-prog{display:inline-block;vertical-align:middle;width:110px;height:6px;border-radius:9999px;background:rgba(20,92,90,.15);overflow:hidden;margin-inline-end:8px}
.ad-prog>span{display:block;height:100%;background:var(--primary);border-radius:inherit}
.ad-table small{font-size:12px;color:var(--sub)}

/* toolbar */
.ad-toolbar{gap:18px}
.ad-filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.ad-filter-row>select{width:auto;min-width:170px}
.ad-search{position:relative;flex:1 1 240px;min-width:200px;display:block}
.ad-search>i{position:absolute;inset-inline-start:14px;top:50%;transform:translateY(-50%);color:var(--sub);font-size:13px;pointer-events:none}
.ad-search>input{padding-inline-start:40px}
.ad-search input[type="search"]::-webkit-search-cancel-button{cursor:pointer}

/* switch */
.ad-switch{position:relative;flex-shrink:0;width:46px;height:26px;border:0;border-radius:9999px;background:rgba(20,92,90,.22);cursor:pointer;padding:0;transition:background .2s}
.ad-switch>span{position:absolute;top:3px;inset-inline-start:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:inset-inline-start .2s}
.ad-switch[aria-checked="true"]{background:var(--primary)}
.ad-switch[aria-checked="true"]>span{inset-inline-start:23px}
.ad-switch em{display:none}
.ad-switch:focus-visible{outline:3px solid var(--primary);outline-offset:3px}
.ad-avail,.ad-switchrow{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;line-height:20px;color:var(--body)}
.ad-switchrow{padding-block-start:8px;border-block-start:1px solid var(--line)}

/* clinicians */
.ad-clinicians{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.ad-clin{gap:18px}
.ad-clin__top{display:flex;align-items:center;gap:14px}
.ad-clin__top .db-avatar{width:60px;height:60px;border-radius:14px}
.ad-clin h4{margin:0}
.ad-clin__top span{font-size:13px;line-height:20px;color:var(--body)}
.ad-clin__meta{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ad-clin__meta>div{display:flex;flex-direction:column;padding:12px 14px;border-radius:12px;background:var(--bg)}
.ad-clin__meta strong{font-family:var(--font-head);font-weight:600;font-size:22px;line-height:30px;color:var(--deep)}
.ad-clin__meta span{font-size:12px;line-height:16px;color:var(--body)}

/* exercise library */
.ad-exgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ad-ex{padding:0;overflow:hidden}
.ad-ex .db-video__thumb{height:160px}
.ad-ex__body{display:flex;flex-direction:column;gap:8px;padding:18px 20px 20px}
.ad-ex__body h4{font-family:var(--font-head);font-weight:600;font-size:18px;line-height:26px;color:var(--ink)}
.ad-ex[hidden]{display:none}

/* toast */
.ad-toast{position:fixed;inset-block-end:24px;inset-inline-end:24px;z-index:400;max-width:360px;padding:14px 18px;border-radius:12px;background:var(--deep);color:#fff;font-size:14px;line-height:22px;box-shadow:0 14px 34px -10px rgba(0,0,0,.35)}
.ad-toast[hidden]{display:none}

/* ---- admin · responsive ---- */
@media (max-width:1280px){
  .ad-exgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1023px){
  .ad-clinicians{grid-template-columns:1fr}
}
@media (max-width:767px){
  .ad-exgrid{grid-template-columns:1fr}
  .ad-bars{height:180px;gap:6px}
  .ad-filter-row>select{flex:1 1 100%;min-width:0}
  .ad-search{flex:1 1 100%}
  .ad-toast{inset-inline:16px;inset-block-end:16px;max-width:none}
  .ad-clin__meta strong{font-size:20px}
}

/* =====================================================================
   AUTH PAGES  (pages/login.html · pages/signup.html)
   Layout follows the reference: top bar with logo, RTL, dark mode and
   "Back to Home"; a two-column card with photo and form. No footer.
   ===================================================================== */
body.au{padding-top:0;background:var(--bg);overflow-x:hidden}
.au-page{min-height:100vh;display:flex;flex-direction:column}
.au-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 32px;background:var(--card);border-block-end:1px solid var(--line)}
.au-brand{display:flex;align-items:center;gap:12px;min-width:0;color:var(--deep)}
.au-brand__mark{width:44px;height:44px;border-radius:10px;background:var(--primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.au-brand__text{display:flex;flex-direction:column;line-height:1.15;min-width:0}
.au-brand__text strong{font-family:var(--font-head);font-weight:600;font-size:22px;letter-spacing:.2px}
.au-brand__text small{font-weight:600;font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:var(--sub);white-space:nowrap}
.au-top__right{display:flex;align-items:center;gap:12px}
.au-iconbtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--deep);font-size:15px;cursor:pointer;transition:background .2s,border-color .2s}
.au-iconbtn:hover{background:var(--chip);border-color:var(--primary)}
.au-iconbtn--text{width:auto;border-radius:10px;padding:0 14px;font-weight:600;font-size:12px;letter-spacing:.6px;text-transform:uppercase}
.au-iconbtn--text i{font-size:12px}
.au-back{display:inline-flex;align-items:center;gap:10px;padding:9px 16px;border-radius:10px;font-weight:600;font-size:14px;color:var(--deep);transition:background .2s}
.au-back:hover{background:var(--chip)}
.au-back i{font-size:12px}

.au-main{flex:1;display:flex;align-items:center;justify-content:center;padding:48px 24px}
.au-card{width:100%;max-width:980px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--card);border-radius:22px;overflow:hidden;box-shadow:0 24px 60px -24px rgba(20,92,90,.28)}
.au-media{position:relative;margin:0;min-height:560px;overflow:hidden;background:var(--chip)}
.au-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.au-media__shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,22,22,.78) 0%,rgba(0,22,22,.1) 55%,rgba(0,0,0,0) 100%)}
.au-media__cap{position:absolute;inset-inline:36px;bottom:36px;display:flex;flex-direction:column;gap:12px;color:#fff}
.au-media__quote{font-family:var(--font-head);font-weight:500;font-size:26px;line-height:36px;color:#fff}
.au-media__by{font-weight:600;font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:#cfe5d7}
.au-panel{display:flex;flex-direction:column;justify-content:center;padding:52px 52px 48px;min-width:0}
.au-eyebrow{font-weight:500;font-size:14px;line-height:20px;color:var(--sub)}
.au-title{font-family:var(--font-head);font-weight:600;font-size:40px;line-height:46px;letter-spacing:-.6px;color:var(--deep);margin-block:8px 12px}
.au-lead{font-size:15px;line-height:24px;color:var(--body)}
.au-form{display:flex;flex-direction:column;gap:18px;margin-block-start:26px}
.au-form .field{display:flex;flex-direction:column;min-width:0}
.au-label{display:block;font-weight:600;font-size:13px;line-height:18px;color:var(--ink);margin-block-end:8px}
.au-input{width:100%;height:50px;padding:0 16px;border-radius:12px;border:1px solid rgba(191,200,199,.9);background:var(--card);font:inherit;font-size:15px;color:var(--ink);outline:none;transition:border-color .2s,box-shadow .2s}
.au-input::placeholder{color:#8a9694}
.au-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(20,92,90,.15)}
.au-form .field.has-error .au-input{border-color:#c0392b}
.au-form .field-error{min-height:0;margin-block-start:6px;font-size:12px;line-height:16px;color:#c0392b}
.au-pass{position:relative}
.au-pass .au-input{padding-inline-end:52px}
.au-pass__btn{position:absolute;inset-inline-end:6px;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;border-radius:50%;background:transparent;color:var(--sub);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.au-pass__btn:hover{background:var(--chip);color:var(--deep)}
.au-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.au-check{display:inline-flex;align-items:flex-start;gap:10px;font-size:14px;line-height:22px;color:var(--body);cursor:pointer}
.au-check input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--primary);flex-shrink:0}
.au-link{color:var(--deep);font-weight:600;text-decoration:underline;text-underline-offset:3px;font-size:14px}
.au-link:hover{color:var(--primary)}
.au-btn{width:100%;height:52px;border:0;border-radius:12px;font:inherit;font-weight:600;font-size:16px;cursor:pointer;transition:background .2s,transform .2s}
.au-btn--solid{background:var(--primary);color:#fff;box-shadow:0 10px 24px -10px rgba(20,92,90,.6)}
.au-btn--solid:hover{background:var(--deep);transform:translateY(-1px)}
.au-or{display:flex;align-items:center;gap:14px;margin:26px 0 18px;font-weight:600;font-size:11px;letter-spacing:1.2px;color:var(--muted)}
.au-or::before,.au-or::after{content:"";flex:1;height:1px;background:var(--line)}
.au-social{display:flex;flex-direction:column;gap:12px}
.au-social__btn{display:flex;align-items:center;justify-content:center;gap:12px;height:50px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit;font-weight:500;font-size:15px;cursor:pointer;transition:background .2s,border-color .2s}
.au-social__btn:hover{background:var(--chip);border-color:var(--primary)}
.au-social__btn i{font-size:17px}
.au-social__btn .fa-google{color:#db4437}
.au-social__btn .fa-facebook-f{color:#1877f2}
.au-switch{margin-block-start:22px;text-align:center;font-size:14px;line-height:22px;color:var(--body)}
.au-toast{position:fixed;inset-block-end:24px;inset-inline-end:24px;z-index:400;max-width:360px;padding:14px 18px;border-radius:12px;background:var(--deep);color:#fff;font-size:14px;line-height:22px;box-shadow:0 14px 34px -10px rgba(0,0,0,.35)}
.au-toast[hidden]{display:none}

/* ---- auth · responsive (1280 / 1024 / 767 / 320) ---- */
@media (max-width:1024px){
  .au-card{max-width:820px}
  .au-panel{padding:44px 40px 40px}
  .au-title{font-size:34px;line-height:40px}
}
@media (max-width:767px){
  .au-top{padding:14px 18px}
  .au-brand__text small{display:none}
  .au-card{grid-template-columns:1fr;max-width:520px}
  .au-media{min-height:220px}
  .au-media__cap{inset-inline:24px;bottom:24px}
  .au-media__quote{font-size:21px;line-height:30px}
  .au-panel{padding:32px 24px 34px}
  .au-title{font-size:30px;line-height:36px}
  .au-main{padding:28px 16px}
  .au-back span{display:none}
  .au-back{padding:10px}
}
@media (max-width:360px){
  .au-top{padding:12px 12px}
  .au-brand__text strong{font-size:18px}
  .au-iconbtn--text{width:36px;height:36px;padding:0}
  .au-iconbtn--text span{display:none}
  .au-panel{padding:26px 18px 28px}
  .au-title{font-size:26px;line-height:32px}
  .au-social__btn{font-size:14px}
}

/* Hide the browser's built-in password reveal and clear buttons (Edge),
   so only the site's own eye button shows */
input[type="password"]::-ms-reveal,
input[type="password"]::-ms-clear{display:none!important;width:0;height:0;pointer-events:none}

/* Sign-up: Password and Confirm password stacked with the same spacing as the other fields */
.au-grid2{display:flex;flex-direction:column;gap:18px;min-width:0}

/* Centre Font Awesome icons inside their icon boxes/circles */
*:has(> i.fa-solid:only-child),
*:has(> i.fa-regular:only-child),
*:has(> i.fa-brands:only-child){
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}
*:has(> i.fa-solid:only-child) > i,
*:has(> i.fa-regular:only-child) > i,
*:has(> i.fa-brands:only-child) > i{
  margin:0;
  line-height:1;
}

/* Home 2: left column stays fixed while the right column scrolls (sections 01 and 03, desktop only) */
@media (min-width:1024px){
  .hm2-split > .hm2-left,
  .hm2-conds__copy{position:sticky;top:calc(var(--header-h) + 32px);align-self:start}
}

/* Floating back-to-top button: appears after the hero section, bottom right */
.rc-totop{position:fixed;inset-block-end:28px;inset-inline-end:28px;z-index:90;width:52px;height:52px;border-radius:50%;border:0;background:var(--primary);color:#fff;font-size:17px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 12px 26px -8px rgba(20,92,90,.45);transition:background .2s,transform .2s}
.rc-totop:hover{background:var(--deep);transform:translateY(-2px)}
.rc-totop:focus-visible{outline:3px solid var(--primary);outline-offset:3px}
.rc-totop[hidden]{display:none!important}
html[data-theme="dark"] .rc-totop{background:#1b7571;color:#fff}
html[data-theme="dark"] .rc-totop:hover{background:#238d88}
@media (max-width:767px){
  .rc-totop{inset-block-end:18px;inset-inline-end:18px;width:46px;height:46px;font-size:15px}
}

/* Contact hero: text on the left, image on the right */
.ct-hero__top{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:56px}
.ct-hero__text{display:flex;flex-direction:column;min-width:0}
.ct-hero__side{padding-block-start:24px}
.ct-hero__media{position:relative;margin:0;aspect-ratio:4/3;border-radius:20px;overflow:hidden;background:var(--chip);box-shadow:0 20px 50px -20px rgba(20,92,90,.3)}
.ct-hero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media (max-width:1024px){
  .ct-hero__top{grid-template-columns:1fr;gap:32px}
  .ct-hero__side{padding-block-start:16px}
}

/* Contact Visit section: real Google map in place of the drawn map */
.ct-map{position:relative;min-height:686px;padding:0;background:var(--chip);overflow:hidden}
.ct-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media (max-width:1024px){
  .ct-map{min-height:520px}
}
@media (max-width:767px){
  .ct-map{min-height:460px}
}

/* =====================================================================
   404 PAGE  (pages/404.html)
   Shared header and footer. Heartbeat-line "404" with a live search.
   ===================================================================== */
.nf{background:var(--bg);overflow:hidden}
.nf-wrap{width:100%;max-width:1280px;margin-inline:auto;padding-inline:var(--pad-x);position:relative}
.nf-hero{position:relative;padding:96px 0 72px;overflow:hidden}
.nf-hero::before,.nf-hero::after{content:"";position:absolute;border-radius:50%;filter:blur(40px);pointer-events:none}
.nf-hero::before{width:520px;height:520px;top:-160px;inset-inline-end:-120px;background:rgba(207,229,215,.45)}
.nf-hero::after{width:420px;height:420px;bottom:-180px;inset-inline-start:-140px;background:rgba(224,241,242,.7)}
.nf-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.nf-copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.nf-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:9999px;background:var(--alt);font-weight:600;font-size:12px;line-height:16px;letter-spacing:1.1px;color:var(--deep)}
.nf-dot{width:7px;height:7px;border-radius:50%;background:var(--primary);animation:nf-blink 1.6s ease-in-out infinite}
.nf-h1{font-family:var(--font-head);font-weight:600;font-size:56px;line-height:64px;letter-spacing:-1.2px;color:var(--deep);margin-block:22px 14px}
.nf-h1 span{display:block}
.nf-h1 em{display:block;font-style:italic;font-weight:400;color:var(--primary)}
.nf-lead{font-size:17px;line-height:28px;color:var(--body);max-width:520px}
.nf-actions{display:flex;flex-wrap:wrap;gap:14px;margin-block-start:30px}
.nf-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 26px;border-radius:12px;border:1px solid transparent;font:inherit;font-weight:600;font-size:16px;line-height:24px;cursor:pointer;transition:background .2s,color .2s,transform .2s,border-color .2s}
.nf-btn i{font-size:13px;transition:transform .2s}
.nf-btn:hover i{transform:translateX(3px)}
.nf-btn--solid{background:var(--primary);color:#fff;box-shadow:0 12px 26px -10px rgba(20,92,90,.55)}
.nf-btn--solid:hover{background:var(--deep);transform:translateY(-2px)}
.nf-btn--ghost{background:transparent;color:var(--deep);border-color:rgba(20,92,90,.35)}
.nf-btn--ghost:hover{background:var(--chip);border-color:var(--primary)}
.nf-btn--ghost i{transform:none}
.nf-btn--ghost:hover i{transform:translateX(-3px)}

/* 404 visual */
.nf-visual{position:relative;display:flex;flex-direction:column;align-items:center;gap:18px;padding:40px 24px;border-radius:24px;background:var(--card);box-shadow:0 24px 60px -24px rgba(20,92,90,.3);min-width:0;overflow:hidden}
.nf-code{display:flex;align-items:center;justify-content:center;gap:10px}
.nf-digit{position:relative;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-head);font-weight:600;font-size:150px;line-height:1;color:var(--deep);letter-spacing:-4px;animation:nf-float 4s ease-in-out infinite}
.nf-digit:nth-child(3){animation-delay:-2s}
.nf-digit--ring{width:150px;height:150px;font-size:0;color:var(--primary);animation:none}
.nf-digit--ring i{font-size:56px;color:var(--primary);position:relative;z-index:1}
.nf-ring{position:absolute;inset:0;border-radius:50%;border:3px solid var(--mint);animation:nf-pulse 2.2s ease-out infinite}
.nf-ring::after{content:"";position:absolute;inset:-14px;border-radius:50%;border:2px solid rgba(20,92,90,.18);animation:nf-pulse 2.2s ease-out .6s infinite}
.nf-ecg{width:100%;max-width:440px;height:80px;overflow:visible}
.nf-ecg path{fill:none;stroke:var(--primary);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:nf-draw 2.6s ease-in-out forwards,nf-beat 2.6s linear 2.6s infinite}

/* finder */
.nf-finder{padding:24px 0 112px}
.nf-finder__head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;margin-block-end:40px}
.nf-kicker{font-weight:600;font-size:12px;line-height:16px;letter-spacing:1.2px;color:var(--sub)}
.nf-h2{font-family:var(--font-head);font-weight:600;font-size:36px;line-height:44px;letter-spacing:-.4px;color:var(--deep)}
.nf-search{position:relative;display:block;width:100%;max-width:520px;margin-block-start:6px}
.nf-search>i{position:absolute;inset-inline-start:18px;top:50%;transform:translateY(-50%);color:var(--sub);font-size:14px;pointer-events:none}
.nf-search input{width:100%;height:54px;padding:0 20px 0 48px;border-radius:9999px;border:1px solid rgba(191,200,199,.9);background:var(--card);font:inherit;font-size:15px;color:var(--ink);outline:none;transition:border-color .2s,box-shadow .2s;box-shadow:0 8px 24px -12px rgba(20,92,90,.2)}
.nf-search input::placeholder{color:#8a9694}
.nf-search input:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(20,92,90,.15)}
.nf-tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
.nf-tile{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:24px;border-radius:18px;background:var(--card);box-shadow:0 8px 30px -10px rgba(20,92,90,.12);color:var(--ink);min-width:0;transition:transform .25s,box-shadow .25s}
.nf-tile:hover{transform:translateY(-4px);box-shadow:0 18px 40px -14px rgba(20,92,90,.25)}
.nf-tile:focus-visible{outline:3px solid var(--primary);outline-offset:3px}
.nf-tile[hidden]{display:none}
.nf-tile__ic{width:48px;height:48px;border-radius:14px;background:var(--mint2);color:var(--deep);display:inline-flex;align-items:center;justify-content:center;font-size:18px;margin-block-end:6px;transition:background .25s,color .25s}
.nf-tile:hover .nf-tile__ic{background:var(--primary);color:#fff}
.nf-tile strong{font-family:var(--font-head);font-weight:600;font-size:19px;line-height:26px;color:var(--deep)}
.nf-tile span:not(.nf-tile__ic){font-size:13px;line-height:20px;color:var(--body)}
.nf-none{margin-block-start:28px;text-align:center;font-size:15px;line-height:24px;color:var(--body)}
.nf-none a{color:var(--deep);font-weight:600;text-decoration:underline;text-underline-offset:3px}

/* keyframes */
@keyframes nf-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes nf-pulse{0%{transform:scale(1);opacity:.9}100%{transform:scale(1.35);opacity:0}}
@keyframes nf-blink{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes nf-draw{to{stroke-dashoffset:0}}
@keyframes nf-beat{0%{stroke-dashoffset:0}100%{stroke-dashoffset:-1}}

/* ---- 404 · responsive ---- */
@media (max-width:1280px){
  .nf-h1{font-size:50px;line-height:58px}
  .nf-digit{font-size:128px}
  .nf-digit--ring{width:128px;height:128px}
  .nf-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:1024px){
  .nf-hero{padding:72px 0 56px}
  .nf-grid{grid-template-columns:1fr;gap:40px}
  .nf-copy{align-items:center;text-align:center}
  .nf-actions{justify-content:center}
  .nf-visual{order:-1}
  .nf-h1 span,.nf-h1 em{display:inline}
}
@media (max-width:767px){
  .nf-hero{padding:48px 0 40px}
  .nf-h1{font-size:36px;line-height:42px;letter-spacing:-.6px}
  .nf-lead{font-size:15px;line-height:24px}
  .nf-digit{font-size:88px;letter-spacing:-2px}
  .nf-digit--ring{width:88px;height:88px}
  .nf-digit--ring i{font-size:36px}
  .nf-visual{padding:28px 16px}
  .nf-code{gap:6px}
  .nf-h2{font-size:28px;line-height:36px}
  .nf-tiles{grid-template-columns:1fr 1fr;gap:14px}
  .nf-tile{padding:18px}
  .nf-tile__ic{width:40px;height:40px;font-size:15px}
  .nf-tile strong{font-size:16px;line-height:22px}
  .nf-btn{width:100%}
  .nf-actions{flex-direction:column;align-items:stretch}
  .nf-finder{padding-bottom:72px}
}
@media (max-width:360px){
  .nf-h1{font-size:30px;line-height:36px}
  .nf-digit{font-size:70px}
  .nf-digit--ring{width:70px;height:70px}
  .nf-digit--ring i{font-size:28px}
  .nf-tiles{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .nf-digit,.nf-ring,.nf-ring::after,.nf-dot{animation:none}
  .nf-ecg path{animation:none;stroke-dashoffset:0}
}

/* Sidebar nav items: icons and labels aligned to the start.
   Extra class in the selector so it beats the general icon-centring rule. Sidebar only. */
.db-side .db-nav__link.db-nav__link{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:14px;
  text-align:start;
  line-height:1.5;
}
.db-side .db-nav__link.db-nav__link i{
  flex:0 0 18px;
  width:18px;
  height:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0;
  line-height:1;
  text-align:center;
}

/* =====================================================================
   HOME · HERO + CONDITIONS SECTIONS (self-contained, hx- prefix)
   ===================================================================== */
.hx-wrap{width:100%;max-width:1280px;margin-inline:auto;padding-inline:var(--pad-x);position:relative}
.hx-sec{position:relative;padding:112px 0;overflow:hidden}
.hx-sec--alt{background:var(--alt)}
.hx-kicker{display:block;font-weight:600;font-size:12px;line-height:16px;letter-spacing:1.4px;text-transform:uppercase;color:var(--sub)}
.hx-h2{font-family:var(--font-head);font-weight:600;font-size:46px;line-height:54px;letter-spacing:-.8px;color:var(--deep);margin-block:14px 16px;max-width:760px}
.hx-lead{font-size:17px;line-height:28px;color:var(--body);max-width:620px}
.hx-head{display:flex;flex-direction:column;max-width:800px;margin-block-end:56px}
.hx-head--row{flex-direction:row;align-items:flex-end;justify-content:space-between;max-width:none;gap:32px;flex-wrap:wrap}
.hx-head--row .hx-h2{margin-block-end:0}
.hx-link{display:inline-flex;align-items:center;gap:10px;margin-block-start:44px;font-weight:600;font-size:16px;color:var(--deep);position:relative;padding-block:6px}
.hx-link::after{content:"";position:absolute;inset-inline:0;bottom:0;height:2px;background:var(--primary);transform-origin:left;transition:transform .4s ease}
.hx-link:hover::after{transform:scaleX(.4)}
.hx-link i{transition:transform .3s}
.hx-link:hover i{transform:translateX(5px)}

/* buttons */
.hx-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:16px 30px;border-radius:999px;font-weight:600;font-size:16px;line-height:24px;transition:transform .3s,box-shadow .3s,background .3s,color .3s}
.hx-btn i{font-size:13px;transition:transform .3s}
.hx-btn:hover i{transform:translateX(4px)}
.hx-btn--solid{background:var(--primary);color:#fff;box-shadow:0 14px 30px -12px rgba(20,92,90,.6)}
.hx-btn--solid:hover{background:var(--deep)}
.hx-btn--ghost{background:transparent;color:var(--deep);box-shadow:inset 0 0 0 1.5px rgba(20,92,90,.35)}
.hx-btn--ghost:hover{background:var(--chip)}

/* ---- HERO ---- */
.hx-hero{position:relative;min-height:calc(100vh - var(--header-h));display:flex;align-items:center;overflow:hidden;padding:72px 0 96px}
.hx-blob{position:absolute;width:680px;height:680px;top:-180px;inset-inline-end:-160px;border-radius:42% 58% 63% 37%/45% 40% 60% 55%;background:radial-gradient(circle at 30% 30%,#cfe5d7,#7fb9a8 60%,#145c5a);opacity:.35;filter:blur(10px);animation:hx-morph 16s ease-in-out infinite;pointer-events:none}
@keyframes hx-morph{0%,100%{border-radius:42% 58% 63% 37%/45% 40% 60% 55%;transform:rotate(0deg)}50%{border-radius:60% 40% 35% 65%/55% 60% 40% 45%;transform:rotate(25deg)}}
.hx-hero__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:64px;align-items:center;position:relative;z-index:1}
.hx-hero__copy{display:flex;flex-direction:column;align-items:flex-start;gap:24px;min-width:0}
.hx-pill{display:inline-flex;align-items:center;gap:10px;padding:7px 16px;border-radius:999px;background:rgba(255,255,255,.7);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 6px 18px -10px rgba(20,92,90,.4);font-weight:600;font-size:11px;letter-spacing:1.4px;color:var(--deep)}
.hx-dot{width:8px;height:8px;border-radius:50%;background:var(--primary);animation:hx-ping 2s infinite}
@keyframes hx-ping{0%{box-shadow:0 0 0 0 rgba(20,92,90,.5)}70%{box-shadow:0 0 0 12px rgba(20,92,90,0)}100%{box-shadow:0 0 0 0 rgba(20,92,90,0)}}
.hx-h1{font-family:var(--font-head);font-weight:600;font-size:76px;line-height:1.02;letter-spacing:-2px;color:var(--deep)}
.hx-word{display:inline-block;opacity:0;transform:translateY(60%) rotate(4deg);animation:hx-rise .9s cubic-bezier(.2,.8,.2,1) forwards}
.hx-h1 .hx-word:nth-child(1){animation-delay:.1s}
.hx-h1 .hx-word:nth-child(2){animation-delay:.22s}
.hx-h1 .hx-word:nth-child(3){animation-delay:.34s}
.hx-h1 .hx-word:nth-child(4){animation-delay:.46s}
.hx-h1 .hx-word:nth-child(5){animation-delay:.58s}
.hx-word--accent{font-style:italic;font-weight:400;color:var(--primary);display:inline-block}
@keyframes hx-rise{to{opacity:1;transform:none}}
.hx-rise{opacity:0;transform:translateY(20px);animation:hx-fadeup .9s cubic-bezier(.2,.8,.2,1) forwards}
.hx-lead.hx-rise{animation-delay:.9s}
.hx-actions.hx-rise{animation-delay:1.05s}
.hx-trust.hx-rise{animation-delay:1.2s}
@keyframes hx-fadeup{to{opacity:1;transform:none}}
.hx-actions{display:flex;flex-wrap:wrap;gap:14px}
.hx-trust{display:flex;flex-wrap:wrap;gap:22px;font-size:14px;font-weight:600;color:var(--deep)}
.hx-trust li{display:inline-flex;align-items:center;gap:10px}
.hx-trust i{width:30px;height:30px;border-radius:50%;background:var(--mint2);display:inline-flex;align-items:center;justify-content:center;font-size:13px}
.hx-hero__visual{position:relative;min-width:0;padding-block-end:24px}
.hx-arch{position:relative;aspect-ratio:4/5;border-radius:240px 240px 28px 28px;overflow:hidden;clip-path:inset(100% 0 0 0 round 240px 240px 28px 28px);animation:hx-unveil 1.4s cubic-bezier(.7,0,.2,1) .2s forwards;box-shadow:0 40px 80px -30px rgba(20,92,90,.45)}
@keyframes hx-unveil{to{clip-path:inset(0 0 0 0 round 240px 240px 28px 28px)}}
.hx-arch img{width:100%;height:100%;object-fit:cover;transform:scale(1.25);animation:hx-zoom 2.2s cubic-bezier(.2,.8,.2,1) .2s forwards}
@keyframes hx-zoom{to{transform:scale(1)}}
.hx-float{position:absolute;display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:18px;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 22px 44px -18px rgba(20,92,90,.45);width:max-content;max-width:280px;opacity:0}
.hx-float--a{inset-inline-start:-36px;bottom:48px;animation:hx-bob 6s ease-in-out 1.6s infinite,hx-pop .8s cubic-bezier(.2,.8,.2,1) 1.6s both}
.hx-float--b{inset-inline-end:-24px;top:56px;animation:hx-bob 7s ease-in-out 1.9s infinite,hx-pop .8s cubic-bezier(.2,.8,.2,1) 1.9s both}
@keyframes hx-bob{0%,100%{translate:0 0}50%{translate:0 -12px}}
@keyframes hx-pop{from{opacity:0;scale:.6}to{opacity:1;scale:1}}
.hx-float__ic{width:42px;height:42px;border-radius:12px;background:var(--mint2);color:var(--deep);display:inline-flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0}
.hx-float strong{display:block;font-family:var(--font-head);font-weight:600;font-size:20px;line-height:24px;color:var(--deep);white-space:nowrap}
.hx-float span{font-size:12px;line-height:16px;color:var(--body)}
.hx-scroll{position:absolute;bottom:28px;inset-inline-start:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;font-size:11px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;color:var(--sub)}
.hx-scroll span{width:22px;height:36px;border-radius:12px;border:1.5px solid var(--sub);position:relative}
.hx-scroll span::after{content:"";position:absolute;left:50%;top:7px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:var(--primary);animation:hx-wheel 1.8s ease-in-out infinite}
@keyframes hx-wheel{0%{transform:translateY(0);opacity:1}100%{transform:translateY(10px);opacity:0}}

/* ---- CONDITIONS (tabs) ---- */
.hx-cond{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:32px;align-items:stretch}
.hx-cond__list{display:flex;flex-direction:column;gap:10px}
.hx-cond__btn{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:14px;padding:18px 22px;border-radius:18px;border:0;background:rgba(255,255,255,.55);text-align:start;font:inherit;color:var(--ink);cursor:pointer;transition:background .35s,transform .35s,box-shadow .35s,color .35s}
.hx-cond__btn:hover{background:#fff;transform:translateX(6px)}
.hx-cond__btn:focus-visible{outline:3px solid var(--primary);outline-offset:3px}
.hx-cond__n{font-family:var(--font-head);font-weight:600;font-size:22px;color:var(--primary);opacity:.6;transition:opacity .3s}
.hx-cond__name{font-family:var(--font-head);font-weight:600;font-size:21px;line-height:28px}
.hx-cond__btn i{font-size:13px;opacity:0;transform:translateX(-8px);transition:all .35s}
.hx-cond__btn.is-active{background:var(--deep);color:#fff;box-shadow:0 22px 44px -20px rgba(0,67,66,.6);transform:translateX(10px)}
.hx-cond__btn.is-active .hx-cond__n{color:var(--mint);opacity:1}
.hx-cond__btn.is-active i{opacity:1;transform:none;color:var(--mint)}
.hx-cond__panel{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:48px;border-radius:30px;background:var(--card);box-shadow:0 30px 60px -28px rgba(20,92,90,.3);overflow:hidden;min-width:0}
.hx-cond__panel::before{content:"";position:absolute;width:300px;height:300px;inset-inline-end:-120px;top:-120px;border-radius:50%;background:var(--mint2);opacity:.55}
.hx-cond__big{position:relative;font-family:var(--font-head);font-weight:600;font-size:120px;line-height:.9;color:var(--mint2);letter-spacing:-4px}
.hx-cond__title{position:relative;font-family:var(--font-head);font-weight:600;font-size:40px;line-height:46px;color:var(--deep);margin-block-start:-4px}
.hx-cond__sub{position:relative;font-size:14px;font-weight:600;color:var(--primary)}
.hx-cond__desc{position:relative;font-size:17px;line-height:28px;color:var(--body);max-width:520px;margin-block:6px 14px}
.hx-cond__panel>*{animation:hx-fadeup .6s cubic-bezier(.2,.8,.2,1) both}
.hx-cond__panel.is-swap{animation:hx-swap .5s ease}
.hx-cond__panel.is-swap>*{animation:none}
@keyframes hx-swap{from{opacity:.25;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
.hx-btn--solid{align-self:flex-start}

/* ---- responsive ---- */
@media (max-width:1280px){
  .hx-h1{font-size:62px}
  .hx-h2{font-size:40px;line-height:48px}
}
@media (max-width:1024px){
  .hx-sec{padding:84px 0}
  .hx-hero{min-height:auto;padding:56px 0 80px}
  .hx-hero__grid{grid-template-columns:1fr;gap:56px}
  .hx-h1{font-size:56px}
  .hx-hero__visual{max-width:520px;margin-inline:auto;width:100%}
  .hx-float--a{inset-inline-start:-8px}
  .hx-float--b{inset-inline-end:-8px}
  .hx-scroll{display:none}
  .hx-cond{grid-template-columns:1fr}
}
@media (max-width:767px){
  .hx-sec{padding:64px 0}
  .hx-h2{font-size:30px;line-height:38px}
  .hx-h1{font-size:40px;line-height:1.08;letter-spacing:-1px}
  .hx-lead{font-size:15px;line-height:26px}
  .hx-head{margin-block-end:36px}
  .hx-head--row{align-items:flex-start;flex-direction:column}
  .hx-actions{flex-direction:column;align-items:stretch;width:100%}
  .hx-btn{width:100%}
  .hx-btn--solid{align-self:stretch}
  .hx-trust{gap:14px;flex-direction:column;align-items:flex-start}
  .hx-arch{aspect-ratio:4/4.4;border-radius:140px 140px 22px 22px;clip-path:inset(100% 0 0 0 round 140px 140px 22px 22px)}
  @keyframes hx-unveil{to{clip-path:inset(0 0 0 0 round 140px 140px 22px 22px)}}
  .hx-float{padding:10px 12px;gap:8px;max-width:230px}
  .hx-float__ic{width:34px;height:34px;font-size:14px}
  .hx-float strong{font-size:16px}
  .hx-cond__btn{padding:14px 16px;grid-template-columns:34px 1fr auto}
  .hx-cond__name{font-size:18px;line-height:24px}
  .hx-cond__panel{padding:28px 22px}
  .hx-cond__big{font-size:84px}
  .hx-cond__title{font-size:30px;line-height:36px}
}
@media (max-width:360px){
  .hx-h1{font-size:34px}
  .hx-h2{font-size:26px;line-height:33px}
  .hx-cond__btn{grid-template-columns:28px 1fr auto;gap:10px;padding:12px}
}
@media (prefers-reduced-motion:reduce){
  .hx-word,.hx-rise,.hx-float,.hx-arch,.hx-arch img,.hx-blob,.hx-scroll span::after{animation:none!important;opacity:1!important;transform:none!important;clip-path:none!important}
}

/* =====================================================================
   HOME · "WHY CHOOSE US" SECTION (hw- prefix)
   Dotted ring rotates around the photo; sparkles twinkle; stats count up.
   ===================================================================== */
.hw-sec{position:relative;padding:112px 0;background:var(--bg);overflow:hidden}
.hw-head{display:flex;flex-direction:column;align-items:center;text-align:center;margin-block-end:72px}
.hw-head .hx-kicker{letter-spacing:2.4px}
.hw-h2{font-family:var(--font-head);font-weight:600;font-size:46px;line-height:1.16;letter-spacing:-.8px;color:var(--deep);margin-block-start:16px;max-width:820px}
.hw-h2 em{display:block;font-style:italic;font-weight:500;color:var(--primary)}
.hw-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:88px;align-items:center}

/* photo + rotating dotted ring */
.hw-media{position:relative;width:min(100%,470px);aspect-ratio:1;margin-inline:auto}
.hw-photo{position:absolute;inset:50px;border-radius:50%;overflow:hidden;box-shadow:0 30px 60px -24px rgba(20,92,90,.45);background:var(--chip)}
.hw-photo img{width:100%;height:100%;object-fit:cover;transform:scale(1.12);transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.hw-media:hover .hw-photo img{transform:scale(1.02)}
.hw-ring{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:var(--primary);stroke-width:3.2;stroke-linecap:round;stroke-dasharray:0 17;animation:hw-spin 36s linear infinite}
@keyframes hw-spin{to{transform:rotate(360deg)}}

/* play button */
.hw-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:84px;height:84px;border:0;border-radius:50%;background:#fff;color:var(--primary);font-size:22px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 18px 40px -12px rgba(0,0,0,.35);z-index:2;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.hw-play::before,.hw-play::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid rgba(255,255,255,.8);animation:hw-pulse 2.4s ease-out infinite;pointer-events:none}
.hw-play::after{animation-delay:1.2s}
.hw-play i{padding-inline-start:4px}
.hw-play:hover{transform:translate(-50%,-50%) scale(1.08)}
.hw-play:focus-visible{outline:3px solid var(--primary);outline-offset:4px}
@keyframes hw-pulse{0%{transform:scale(1);opacity:.9}100%{transform:scale(1.5);opacity:0}}

/* twinkling sparkles */
.hw-spark{position:absolute;color:var(--primary);pointer-events:none;animation:hw-twinkle 3.2s ease-in-out infinite}
.hw-spark--a{top:6%;left:-2%;font-size:26px}
.hw-spark--b{bottom:10%;left:4%;font-size:18px;animation-delay:-1s;color:#7fb9a8}
.hw-spark--c{top:18%;right:-1%;font-size:14px;animation-delay:-2s}
@keyframes hw-twinkle{0%,100%{transform:scale(1) rotate(0deg);opacity:1}50%{transform:scale(.6) rotate(45deg);opacity:.35}}

/* info column */
.hw-info{display:flex;flex-direction:column;align-items:flex-start;gap:30px;min-width:0}
.hw-lead{font-size:17px;line-height:30px;color:var(--body);max-width:520px}
.hw-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;width:100%;padding-block:24px;border-block:1px solid var(--line)}
.hw-stats strong{display:block;font-family:var(--font-head);font-weight:600;font-size:44px;line-height:1;color:var(--deep);font-variant-numeric:tabular-nums}
.hw-stats span{display:block;margin-block-start:8px;font-size:13px;line-height:20px;color:var(--body)}
.hw-checks{display:flex;flex-direction:column;gap:14px}
.hw-checks li{display:flex;align-items:center;gap:12px;font-size:15px;line-height:24px;font-weight:500;color:var(--ink)}
.hw-checks i{color:var(--primary);font-size:18px;flex-shrink:0}
.hw-info .hx-btn{margin-block-start:6px}

/* modal */
.hw-modal{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:20px}
.hw-modal[hidden]{display:none}
.hw-modal__back{position:absolute;inset:0;background:rgba(9,43,42,.6);backdrop-filter:blur(4px)}
.hw-modal__panel{position:relative;width:100%;max-width:720px;background:var(--card);border-radius:22px;padding:24px;box-shadow:0 30px 70px -20px rgba(0,0,0,.4);display:flex;flex-direction:column;gap:18px}
.hw-modal__head{display:flex;align-items:center;justify-content:space-between}
.hw-modal__head h3{font-family:var(--font-head);font-weight:600;font-size:24px;color:var(--deep)}
.hw-modal__x{width:40px;height:40px;border:0;border-radius:50%;background:var(--chip);color:var(--deep);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.hw-modal__body{aspect-ratio:16/9;border-radius:16px;background:var(--deep);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--mint);text-align:center;padding:24px}
.hw-modal__body i{font-size:48px}

/* responsive */
@media (max-width:1280px){
  .hw-h2{font-size:40px}
  .hw-grid{gap:64px}
}
@media (max-width:1024px){
  .hw-sec{padding:84px 0}
  .hw-grid{grid-template-columns:1fr;gap:64px}
  .hw-media{width:min(100%,420px)}
  .hw-info{align-items:center;text-align:center}
  .hw-lead{max-width:640px}
  .hw-checks li{text-align:start}
  .hw-info .hx-btn{margin-inline:auto}
}
@media (max-width:767px){
  .hw-sec{padding:64px 0}
  .hw-head{margin-block-end:48px}
  .hw-h2{font-size:30px;line-height:1.2}
  .hw-media{width:min(100%,340px)}
  .hw-photo{inset:36px}
  .hw-play{width:64px;height:64px;font-size:17px}
  .hw-spark--a{left:-6px;font-size:20px}
  .hw-stats{gap:12px}
  .hw-stats strong{font-size:30px}
  .hw-stats span{font-size:12px}
  .hw-info .hx-btn{width:100%}
}
@media (max-width:360px){
  .hw-stats strong{font-size:26px}
}
@media (prefers-reduced-motion:reduce){
  .hw-ring,.hw-spark,.hw-play::before,.hw-play::after{animation:none}
}

/* checklist: always aligned to the start edge (scoped so global list rules do not override it) */
.hw-checks{width:100%;text-align:start}
.hw-checks li{justify-content:flex-start;text-align:start}
.hw-sec .hw-checks li{justify-content:flex-start!important;align-items:center}

/* Clinic tour dialog: YouTube video fills the frame */
.hw-modal__body{position:relative;padding:0;overflow:hidden;background:#000}
.hw-modal__body iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* Clinic tour dialog: YouTube video fills the frame, with a YouTube fallback link */
.hw-modal__body{position:relative;padding:0;overflow:hidden;background:#000}
.hw-modal__body iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.hw-modal__ext{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:var(--primary);text-decoration:underline;text-underline-offset:3px}
.hw-modal__ext i{color:#e62117}


/* =====================================================================
   HOME 2 · HERO  (hz- prefix)
   Kinetic headline, tilting pill photo, orbiting icons.
   ===================================================================== */
.hz-wrap{width:100%;max-width:1280px;margin-inline:auto;padding-inline:var(--pad-x);position:relative}
.hz-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:16px 30px;border-radius:999px;font-weight:600;font-size:16px;line-height:24px;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,background .35s,color .35s}
.hz-btn i{font-size:13px;transition:transform .35s}
.hz-btn:hover i{transform:translateX(4px)}
.hz-btn--solid{background:var(--primary);color:#fff;box-shadow:0 16px 34px -14px rgba(20,92,90,.65)}
.hz-btn--solid:hover{background:var(--deep);transform:translateY(-3px)}
.hz-btn--ghost{color:var(--deep);box-shadow:inset 0 0 0 1.5px rgba(20,92,90,.35)}
.hz-btn--ghost:hover{background:var(--chip)}

.hz-hero{position:relative;min-height:calc(100vh - var(--header-h));display:flex;align-items:center;padding:40px 0 96px;overflow:hidden;background:radial-gradient(900px 500px at 85% 20%,rgba(207,229,215,.5),transparent 60%),var(--bg)}
.hz-hero::after{content:"PHYSIO";position:absolute;bottom:-40px;inset-inline-start:-20px;font-family:var(--font-head);font-weight:700;font-size:clamp(120px,22vw,300px);line-height:1;letter-spacing:-8px;color:rgba(20,92,90,.05);pointer-events:none;white-space:nowrap}
.hz-hero__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:center;position:relative;z-index:1}
.hz-copy{display:flex;flex-direction:column;align-items:flex-start;gap:26px;min-width:0}
.hz-tag{display:inline-flex;align-items:center;gap:10px;padding:8px 16px;border-radius:999px;background:var(--card);box-shadow:0 8px 20px -12px rgba(20,92,90,.4);font-weight:600;font-size:11px;letter-spacing:1.5px;color:var(--deep);opacity:0;animation:hz-fade .8s .1s forwards}
.hz-tag i{width:8px;height:8px;border-radius:50%;background:var(--primary);animation:hz-ping 2s infinite}
@keyframes hz-ping{0%{box-shadow:0 0 0 0 rgba(20,92,90,.5)}70%{box-shadow:0 0 0 10px rgba(20,92,90,0)}100%{box-shadow:0 0 0 0 rgba(20,92,90,0)}}
@keyframes hz-fade{to{opacity:1}}
.hz-title{font-family:var(--font-head);font-weight:600;font-size:clamp(54px,6.6vw,100px);line-height:.98;letter-spacing:-2.6px;color:var(--deep)}
.hz-line{display:block;overflow:hidden;padding-block:4px 6px}
.hz-line>span{display:block;transform:translateY(110%);animation:hz-up 1s cubic-bezier(.2,.8,.2,1) forwards}
.hz-line:nth-child(1)>span{animation-delay:.2s}
.hz-line:nth-child(2)>span{animation-delay:.4s}
.hz-line:nth-child(3)>span{animation-delay:.6s ; padding-bottom: 6px}
@keyframes hz-up{to{transform:none}}
.hz-line--outline>span{color:transparent;-webkit-text-stroke:1.6px var(--primary);animation:hz-up 1s cubic-bezier(.2,.8,.2,1) .4s forwards,hz-fillin 1.2s ease 1.6s forwards}
@keyframes hz-fillin{to{color:var(--primary);-webkit-text-stroke-color:transparent}}
.hz-line--outline:hover>span{color:var(--primary);-webkit-text-stroke-color:transparent;transition:color .4s}
.hz-line--grad>span{font-style:italic;font-weight:500;background:linear-gradient(90deg,var(--primary) 0%,#7fb9a8 35%,var(--deep) 60%,var(--primary) 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:hz-up 1s cubic-bezier(.2,.8,.2,1) .6s forwards,hz-shimmer 5s linear 1.6s infinite}
@keyframes hz-shimmer{0%{background-position:100% 0}100%{background-position:-100% 0}}
.hz-text{font-size:18px;line-height:30px;color:var(--body);max-width:540px;opacity:0;animation:hz-fade .9s .9s forwards}
.hz-cta{display:flex;flex-wrap:wrap;gap:14px;opacity:0;animation:hz-fade .9s 1.05s forwards}
.hz-badges{display:flex;align-items:center;gap:22px;opacity:0;animation:hz-fade .9s 1.2s forwards}
.hz-badge{display:flex;align-items:center;gap:12px}
.hz-badge__ic{width:44px;height:44px;border-radius:14px;background:var(--mint2);color:var(--deep);display:inline-flex;align-items:center;justify-content:center;font-size:17px}
.hz-badge strong{display:block;font-size:15px;color:var(--ink)}
.hz-badge span{font-size:13px;color:var(--body)}

/* stage: tilting pill + orbit */
.hz-stage{position:relative;height:620px;display:flex;align-items:center;justify-content:center;min-width:0}
.hz-pill{position:relative;width:min(420px,86%);height:540px;border-radius:999px;overflow:hidden;box-shadow:0 50px 90px -40px rgba(20,92,90,.55);transition:transform .5s cubic-bezier(.2,.8,.2,1);transform-style:preserve-3d;opacity:0;translate:0 40px;animation:hz-rise 1.2s cubic-bezier(.2,.8,.2,1) .3s forwards}
@keyframes hz-rise{to{opacity:1;translate:0 0}}
.hz-pill img{width:100%;height:100%;object-fit:cover;transform:scale(1.15);animation:hz-zoom 2.4s cubic-bezier(.2,.8,.2,1) .3s forwards}
@keyframes hz-zoom{to{transform:scale(1)}}
.hz-orbit{position:absolute;width:min(480px,96%);aspect-ratio:1;border-radius:50%;border:1.5px dashed rgba(20,92,90,.35);animation:hz-spin 28s linear infinite;z-index:2;pointer-events:none}
@keyframes hz-spin{to{transform:rotate(360deg)}}
.hz-orb{position:absolute;top:-24px;left:50%;width:50px;height:50px;margin-inline-start:-25px;border-radius:50%;background:#fff;color:var(--primary);display:inline-flex;align-items:center;justify-content:center;font-size:18px;box-shadow:0 16px 30px -12px rgba(20,92,90,.5);animation:hz-spin-rev 28s linear infinite;pointer-events:auto}
.hz-orb--b{top:auto;bottom:-24px;background:var(--primary);color:#fff}
@keyframes hz-spin-rev{to{transform:rotate(-360deg)}}
.hz-metric{position:absolute;inset-inline-start:-6px;bottom:56px;display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:18px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 24px 44px -20px rgba(20,92,90,.45);opacity:0;animation:hz-pop .8s 1.5s cubic-bezier(.2,.8,.2,1) forwards,hz-bob 6s ease-in-out 2.3s infinite}
.hz-metric__ic{width:42px;height:42px;border-radius:12px;background:var(--mint2);color:var(--deep);display:inline-flex;align-items:center;justify-content:center}
.hz-metric b{display:block;font-family:var(--font-head);font-size:24px;line-height:26px;color:var(--deep)}
.hz-metric span{font-size:12px;color:var(--body)}
@keyframes hz-pop{from{opacity:0;scale:.7}to{opacity:1;scale:1}}
@keyframes hz-bob{0%,100%{translate:0 0}50%{translate:0 -10px}}
.hz-status{position:absolute;top:24px;inset-inline-end:-6px;padding:9px 14px;border-radius:999px;background:var(--deep);color:#fff;font-size:11px;font-weight:600;letter-spacing:1.2px;display:inline-flex;align-items:center;gap:8px;opacity:0;animation:hz-pop .8s 1.7s cubic-bezier(.2,.8,.2,1) forwards}
.hz-status i{width:7px;height:7px;border-radius:50%;background:#7fe0b3;animation:hz-ping 2s infinite}

/* responsive */
@media (max-width:1024px){
  .hz-hero{min-height:auto;padding:56px 0 80px}
  .hz-hero__grid{grid-template-columns:1fr;gap:56px}
  .hz-copy{align-items:center;text-align:center}
  .hz-cta,.hz-badges{justify-content:center}
  .hz-stage{height:520px}
  .hz-pill{height:440px}
}
@media (max-width:767px){
  .hz-hero{padding:40px 0 64px}
  .hz-title{font-size:clamp(46px,13vw,64px)}
  .hz-text{font-size:16px;line-height:27px}
  .hz-cta{flex-direction:column;align-items:stretch;width:100%}
  .hz-btn{width:100%}
  .hz-badges{flex-direction:column;align-items:center}
  .hz-stage{height:460px}
  .hz-pill{height:380px}
  .hz-orbit{width:min(420px,100%);left:50%;translate:-50% 0}
  .hz-status{top:8px}
  .hz-metric{bottom:24px;inset-inline-start:-4px;padding:12px 14px}
  .hz-metric b{font-size:20px}
}
@media (max-width:360px){
  .hz-title{font-size:46px;letter-spacing:-1.8px}
}
@media (prefers-reduced-motion:reduce){
  .hz-line>span,.hz-line--outline>span,.hz-line--grad>span,.hz-tag,.hz-text,.hz-cta,.hz-badges,.hz-pill,.hz-pill img,.hz-orbit,.hz-orb,.hz-metric,.hz-status,.hz-tag i,.hz-status i,.hz-btn{animation:none!important;opacity:1!important;transform:none!important;translate:none!important;scale:none!important;color:inherit}
  .hz-line--outline>span{color:var(--primary);-webkit-text-stroke-color:transparent}
}

/* =====================================================================
   TEXT SIZE REDUCTION
   Lower the numbers to make text smaller; delete a line to keep that size.
   ===================================================================== */

/* Headings */
.hz-title{font-size:clamp(44px,5.2vw,78px)!important;line-height:1.02!important}   /* Home 2 hero headline */
.hz-h2{font-size:38px!important;line-height:1.14!important}                        /* Home 2 section headings */
.hm2-hero h1{font-size:clamp(44px,5vw,72px)!important}                           /* Home hero headline (home2 original) */
.h2,.hw-h2,.hx-h2,.sv-h2,.th-h2,.ct-h2,.ab-h2{font-size:38px!important;line-height:1.16!important}
.h1,.sv-h1,.th-h1,.ab-h1,.ct-h1{font-size:clamp(40px,4.6vw,64px)!important}

/* Body and lead paragraphs */
.lead,.hx-lead,.hw-lead,.hz-text,.sv-lead,.ct-lead,.ab-lead,.hm2-hero__text{font-size:16px!important;line-height:1.7!important}
p,li{font-size:clamp(14px,1.05vw,16px)}

/* Small labels and eyebrows */
.eyebrow,.hx-kicker,.hz-tag,.hm2-tag{font-size:11px!important;letter-spacing:1.2px!important}

/* Mobile: slightly smaller again */
@media (max-width:767px){
  .hz-title{font-size:40px!important}
  .h2,.hz-h2,.hx-h2,.hw-h2{font-size:30px!important}
  .lead,.hx-lead,.hw-lead,.hz-text{font-size:15px!important}
}

/* =====================================================================
   HOME 2 · OUR TREATMENTS  (smaller cards)
   Add at the END of assets/css/style.css. Overrides earlier hz-tx rules.
   ===================================================================== */
.hz-tx{position:relative;padding:112px 0;background:linear-gradient(180deg,var(--alt) 0%,var(--bg) 100%);overflow:hidden}
.hz-tx__head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:56px;align-items:end;margin-block-end:48px}
.hz-tx__head>*{min-width:0}
.hz-tx .hz-kicker{display:block;font-weight:600;font-size:12px;line-height:16px;letter-spacing:1.6px;text-transform:uppercase;color:var(--sub)}
.hz-tx .hz-h2{font-family:var(--font-head);font-weight:600;font-size:46px;line-height:1.1;letter-spacing:-.9px;color:var(--deep);margin-block-start:14px;max-width:660px}
.hz-tx__side{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.hz-tx__side p{font-size:16px;line-height:27px;color:var(--body)}
.hz-tx__side .hz-btn{max-width:100%;white-space:normal;text-align:center}

/* accordion: smaller overall height and card padding */
.hz-acc{display:flex;gap:14px;height:480px}
.hz-panel{position:relative;flex:1 1 0;min-width:0;border-radius:24px;background:var(--card);box-shadow:0 16px 40px -24px rgba(20,92,90,.35);overflow:hidden;cursor:pointer;padding:22px;display:flex;flex-direction:column;isolation:isolate;transition:flex-grow .9s cubic-bezier(.7,0,.2,1),background .7s,box-shadow .7s;outline:none}
.hz-panel:focus-visible{box-shadow:0 0 0 3px var(--primary),0 16px 40px -24px rgba(20,92,90,.35)}
.hz-panel::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(360px circle at var(--mx,50%) var(--my,0%),rgba(127,185,168,.35),transparent 60%);opacity:0;transition:opacity .5s}
.hz-panel:hover::before{opacity:1}
.hz-panel.is-open{flex-grow:4.2;background:linear-gradient(160deg,var(--deep) 0%,var(--primary) 100%);color:#fff;box-shadow:0 30px 60px -28px rgba(0,67,66,.55)}
.hz-panel__num{font-family:var(--font-head);font-weight:600;font-size:26px;line-height:1;color:var(--primary);transition:color .6s}
.hz-panel.is-open .hz-panel__num{color:var(--mint)}
.hz-panel__ic{position:absolute;top:22px;inset-inline-end:22px;width:46px;height:46px;border-radius:14px;background:var(--mint2);color:var(--deep);display:inline-flex;align-items:center;justify-content:center;font-size:17px;transition:transform .8s cubic-bezier(.2,.8,.2,1),background .6s,color .6s}
.hz-panel.is-open .hz-panel__ic{background:rgba(255,255,255,.16);color:#fff;transform:rotate(-12deg) scale(1.08)}
.hz-panel__vt{position:absolute;left:50%;top:50%;translate:-50% -50%;rotate:-90deg;white-space:nowrap;font-family:var(--font-head);font-weight:600;font-size:21px;color:var(--deep);transition:opacity .4s,translate .6s;pointer-events:none}
.hz-panel.is-open .hz-panel__vt{opacity:0}
.hz-panel__content{position:absolute;inset-inline:0;bottom:0;padding:24px 26px 26px;display:flex;flex-direction:column;align-items:flex-start;gap:11px;opacity:0;translate:0 40px;transition:opacity .5s,translate .8s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.hz-panel.is-open .hz-panel__content{opacity:1;translate:0 0;transition:opacity .7s .35s,translate .9s .3s cubic-bezier(.2,.8,.2,1);pointer-events:auto}
.hz-eyebrow{font-size:10px;font-weight:600;letter-spacing:1.3px;text-transform:uppercase;color:var(--mint)}
.hz-chip{display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;font-size:11px;font-weight:600}
.hz-chip i{width:6px;height:6px;border-radius:50%;background:var(--mint)}
.hz-panel__title{font-family:var(--font-head);font-weight:600;font-size:27px;line-height:33px;color:#fff}
.hz-panel__content p{font-size:14px;line-height:23px;color:#d4ebe8;max-width:480px}
.hz-panel__foot{display:flex;flex-direction:column;gap:3px;padding-block-start:12px;margin-block-start:4px;border-block-start:1px solid rgba(255,255,255,.2);width:100%}
.hz-panel__foot span{font-size:12px;color:#b9dcd6}
.hz-panel__foot strong{font-size:14px;color:#fff}

/* responsive */
@media (max-width:1280px){
  .hz-tx .hz-h2{font-size:40px}
}
@media (max-width:1024px){
  .hz-tx{padding:88px 0}
  .hz-tx__head{grid-template-columns:1fr;gap:26px;margin-block-end:36px}
  .hz-tx__side{align-items:center;text-align:center}
  .hz-acc{height:auto;flex-direction:column;gap:12px}
}
@media (max-width:767px){
  .hz-tx{padding:72px 0}
  .hz-tx .hz-h2{font-size:32px;line-height:1.14}
  .hz-tx__side .hz-btn{width:100%}
  .hz-panel{flex:none;height:auto;min-height:88px;padding:20px 22px;transition:background .6s,box-shadow .6s}
  .hz-panel.is-open{flex:none;min-height:0}
  .hz-panel__vt{display:none}
  .hz-panel__ic{top:20px;inset-inline-end:20px;width:42px;height:42px;font-size:15px}
  .hz-panel__content{position:relative;inset:auto;padding:16px 0 0;display:none;translate:none;align-items:flex-start;opacity:1}
  .hz-panel.is-open .hz-panel__content{display:flex;transition:none}
  .hz-panel__title{font-size:24px;line-height:30px}
  .hz-panel__content p{font-size:14px;line-height:22px}
  .hz-panel__num{font-size:24px}
}
@media (prefers-reduced-motion:reduce){
  .hz-panel,.hz-panel__content,.hz-panel__ic,.hz-panel__vt{transition:none}
}

/* =====================================================================
   HOME 2 · OUR TREATMENTS  (card photos)
   Add at the END of assets/css/style.css, after the treatments CSS.
   Closed cards show a faded photo; the open card shows it in full colour.
   ===================================================================== */
.hz-panel{isolation:isolate}
.hz-panel::before{z-index:1;pointer-events:none}
.hz-panel__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:1.55;transform:scale(1.08);transition:filter .9s ease,opacity .9s ease,transform 1.2s cubic-bezier(.2,.8,.2,1)}
.hz-panel::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(255,255,255,.72) 0%,rgba(255,255,255,.9) 100%);transition:background .9s ease;pointer-events:none}
.hz-panel.is-open .hz-panel__img{filter:none;opacity:1;transform:scale(1)}
.hz-panel.is-open::after{background:linear-gradient(170deg,rgba(0,67,66,.35) 0%,rgba(0,67,66,.72) 45%,rgba(0,67,66,.94) 100%)}
.hz-panel:hover .hz-panel__img{transform:scale(1.04)}
.hz-panel__num,.hz-panel__ic,.hz-panel__vt,.hz-panel__content{z-index:2}
.hz-panel__vt{color:var(--deep);text-shadow:0 1px 14px rgba(255,255,255,.8)}
.hz-panel.is-open .hz-panel__vt{text-shadow:none}
@media (max-width:767px){
  .hz-panel__img{opacity:.5}
  .hz-panel.is-open .hz-panel__img{opacity:1}
}


/* =====================================================================
   NAV · ACTIVE STATE  (add at the END of assets/css/style.css)
   ===================================================================== */
.nav-link{position:relative}
.nav-link.is-active{color:var(--nav-active);font-weight:600}
.nav-link.is-active::after{content:"";position:absolute;inset-inline:0;bottom:-10px;height:2px;border-radius:2px;background:var(--primary)}
.nav-menu a.is-active{color:var(--nav-active);font-weight:600;background:var(--hdr-hover)}
.mobile-nav>a.is-active{color:var(--primary);font-weight:700}
.mobile-nav>a.is-active::before{content:"";display:inline-block;width:8px;height:8px;margin-inline-end:10px;border-radius:50%;background:var(--primary);vertical-align:middle}
html[data-theme="dark"] .nav-link.is-active,html[data-theme="dark"] .nav-menu a.is-active,html[data-theme="dark"] .mobile-nav>a.is-active{color:
black;}
html[data-theme="dark"] .nav-link.is-active::after,html[data-theme="dark"] .mobile-nav>a.is-active::before{background:#8fe0dc}


/* Active nav link: colour only, no underline */
.nav-link.is-active::after{content:none;display:none}
/* Nav: no underline on any active link (Home, Dashboard and the other items). Colour only. */
.nav .nav-link::after,
.nav .nav-link.is-active::after{content:none!important;display:none!important}

/* Therapists approach steps: remove the browser's default 1,2,3... list numbers (the circles are the numbers) */
.th-steps,
.th-steps>li{list-style:none!important;list-style-type:none!important}
.th-steps>li::marker{content:""!important;font-size:0}

/* Therapists page: light-mode colour defaults for the shared tokens (dark mode overrides these) */
:root{
  --sv-head:#145c5a; --sv-head2:#263536; --sv-ink:#0f1e1f; --sv-body:38,53,54;
  
  --sv-sage:#b7cdbf; --sv-sage-rgb:183,205,191; --sv-pill:#eef5f6; --sv-btn:#145c5a; --sv-btn-hover:#0f4a48;
}

/* ===== Dark-mode contrast fixes: therapists, contact, about (text only) ===== */
html[data-theme="dark"] .th-role,
html[data-theme="dark"] .th-link,
html[data-theme="dark"] .ab-btn--soft { color: var(--deep); }
html[data-theme="dark"] .ab-btn--soft:hover { color: var(--deep); }
html[data-theme="dark"] .ct-hours__emg > span { color: var(--body); }


.side-scrim{display:none}
:root{--mnav-bg:#fff;--mnav-ink:#0f1e1f;--mnav-sub:#4f6358;--mnav-line:rgba(191,200,199,.45);--mnav-hover:rgba(20,92,90,.08);--mnav-active:#004342;--mnav-active-bg:rgba(20,92,90,.12);--mnav-card:#f4fbfb;--mnav-foot:#f4fbfb;--mnav-sw-off:#b9c9c8;--mnav-sw-on:#145c5a}

@media (max-width:1024px){
  body.has-drawer{overflow:hidden}
  .site-header .menu-toggle{display:inline-flex}
  .site-header .header-actions .hbtn--rtl{display:inline-flex}   /* RTL + dark toggle stay in the header bar */
  .site-header .header-actions{gap:10px;min-width:0}
  .site-header .header-inner{gap:12px}
  .side-scrim{display:block;position:fixed;inset:0;z-index:290;background:rgba(9,43,42,.5);backdrop-filter:blur(2px);animation:mnavFade .25s ease}
  .side-scrim[hidden]{display:none}
  @keyframes mnavFade{from{opacity:0}to{opacity:1}}

  .mobile-nav{position:fixed;inset-block:0;inset-inline-start:0;inset-inline-end:auto;width:min(340px,86vw);height:100vh;height:100dvh;max-height:none;display:flex;flex-direction:column;gap:0;padding:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background:var(--mnav-bg);color:var(--mnav-ink);border:0;border-inline-end:1px solid var(--mnav-line);box-shadow:0 0 48px rgba(0,0,0,.25);z-index:300;transform:translateX(-104%);visibility:hidden;transition:transform .3s cubic-bezier(.22,.8,.3,1),visibility 0s linear .3s}
  [dir="rtl"] .mobile-nav{transform:translateX(104%)}
  .mobile-nav.is-open{transform:none;visibility:visible;transition:transform .3s cubic-bezier(.22,.8,.3,1),visibility 0s}

  .mnav__head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0;padding:14px 18px;border-block-end:1px solid var(--mnav-line);position:sticky;inset-block-start:0;z-index:2;background:var(--mnav-bg)}
  .mnav__body{flex:1 0 auto;padding:12px 12px 8px;display:flex;flex-direction:column;gap:2px}
  .mnav__link{display:flex;align-items:center;gap:14px;width:100%;padding:13px 14px;border-radius:12px;font-weight:500;font-size:16px;line-height:22px;color:var(--mnav-ink);list-style:none;cursor:pointer;border:0;background:none;text-align:start;transition:background .2s}
  .mnav__link::-webkit-details-marker{display:none}
  .mnav__link>i:first-child{width:20px;text-align:center;font-size:15px;color:var(--mnav-sub);flex-shrink:0}
  .mnav__link>span{flex:1;min-width:0;overflow-wrap:anywhere}
  .mnav__link:hover{background:var(--mnav-hover)}
  .mnav__link.is-active{background:var(--mnav-active-bg);color:var(--mnav-active);font-weight:600}
  .mnav__link.is-active>i:first-child{color:var(--mnav-active)}
  .mnav__chev{font-size:10px;color:var(--mnav-sub);transition:transform .2s;flex-shrink:0}
  .mnav__group[open]>summary .mnav__chev{transform:rotate(180deg)}
  .mnav__subs{display:flex;flex-direction:column;gap:2px;padding-block:2px 6px;padding-inline-start:48px}
  .mnav__sub{display:block;padding:10px 14px;border-radius:10px;font-size:15px;color:var(--mnav-sub);overflow-wrap:anywhere}
  .mnav__sub:hover{background:var(--mnav-hover);color:var(--mnav-ink)}
  .mnav__sub.is-active{color:var(--mnav-active);font-weight:600}

  .mnav__foot{flex-shrink:0;padding:14px 18px calc(18px + env(safe-area-inset-bottom,0px));border-block-start:1px solid var(--mnav-line);display:flex;flex-direction:column;gap:8px;background:var(--mnav-foot)}
  .mnav__label{font-weight:600;font-size:11px;line-height:16px;letter-spacing:1.1px;text-transform:uppercase;color:var(--mnav-sub);margin:0 0 2px}
  .mnav__pref{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:11px 14px;border:1px solid var(--mnav-line);border-radius:12px;background:var(--mnav-card);color:var(--mnav-ink);font:inherit;font-weight:500;font-size:15px;line-height:22px;cursor:pointer;text-align:start}
  .mnav__pref-l{display:inline-flex;align-items:center;gap:12px;min-width:0}
  .mnav__pref-l i{width:20px;text-align:center;color:var(--mnav-sub);flex-shrink:0}
  .mnav__sw{position:relative;flex-shrink:0;width:42px;height:24px;border-radius:9999px;background:var(--mnav-sw-off);transition:background .2s}
  .mnav__sw::after{content:"";position:absolute;inset-block-start:3px;inset-inline-start:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .2s}
  .mnav__pref[aria-pressed="true"] .mnav__sw{background:var(--mnav-sw-on)}
  .mnav__pref[aria-pressed="true"] .mnav__sw::after{transform:translateX(18px)}
  [dir="rtl"] .mnav__pref[aria-pressed="true"] .mnav__sw::after{transform:translateX(-18px)}
  .mnav__cta{display:flex;flex-wrap:wrap;gap:10px;margin-block-start:6px}
  .mnav__cta .hbtn-login{display:inline-flex;flex:1 1 110px;padding:12px 16px;font-size:15px;font-weight:500}
  .mnav__book{display:inline-flex;align-items:center;justify-content:center;flex:2 1 150px;padding:12px 16px;border-radius:8px;text-align:center}

  /* neutralise the old `.mobile-nav a{padding;border-bottom}` dropdown rules */
  .mobile-nav a.logo{padding:0;border:0;font-weight:500}
  .mobile-nav a.mnav__link{padding:13px 14px;border:0;font-weight:500;font-size:16px;color:var(--mnav-ink)}
  .mobile-nav a.mnav__link.is-active{font-weight:600;color:var(--mnav-active)}
  .mobile-nav a.mnav__sub{padding:10px 14px;border:0;font-weight:400;font-size:15px;color:var(--mnav-sub)}
  .mobile-nav a.mnav__sub.is-active{font-weight:600;color:var(--mnav-active)}
  .mobile-nav a.mnav__book{padding:12px 16px;border:1.5px solid var(--mnav-active);font-weight:500;color:var(--mnav-active)}
  .mobile-nav a.hbtn-login{border:0;color:#fff;font-weight:500}
  .mobile-nav summary.mnav__link{padding:13px 14px}

  /* home2 overflow fix */
  .hm2-conds .grid12{grid-template-columns:minmax(0,1fr)}
  .hm2-conds__copy{position:static}
}
@media (max-width:480px){      /* very small phones: RTL lives in the sidebar so the header can't overflow */
  .site-header .header-actions .hbtn--rtl{display:none}
  .site-header .header-inner,.site-header .topbar{padding-inline:16px}
}
@media (max-width:360px){.logo__text{font-size:18px}.site-header .header-actions{gap:8px}}
.hm2-row__l>div,.hm2-row p,.hm2-row .card-title{min-width:0;overflow-wrap:anywhere}

/* hamburger: hidden on desktop, shown only up to 1024px.
   Specificity is raised above the icon-centering rule `*:has(> i.fa-solid:only-child)`,
   which otherwise forces display:inline-flex on every icon-only button. */
.site-header .header-actions .menu-toggle.menu-toggle{display:none}
@media (max-width:1024px){
  .site-header .header-actions .menu-toggle.menu-toggle{display:inline-flex}
}

/* RTL button in the mobile header (all pages) */
@media (max-width:480px){
  .site-header .header-actions .hbtn--rtl{display:inline-flex;padding:9px 9px}
  .site-header .header-actions{gap:6px}
}

/* home2 treatments accordion: tablet range (768–1024px) */
@media (min-width:768px) and (max-width:1024px){
  .hz-acc{height:auto;flex-direction:column;gap:12px}
  .hz-panel{flex:none;height:auto;min-height:88px;padding:20px 22px}
  .hz-panel.is-open{flex:none;min-height:0}
  .hz-panel__vt{display:none}
  .hz-panel__ic{top:20px;inset-inline-end:20px;width:42px;height:42px;font-size:15px}
  .hz-panel__content{position:relative;inset:auto;padding:16px 0 0;display:none;translate:none;align-items:flex-start;opacity:1}
  .hz-panel.is-open .hz-panel__content{display:flex;transition:none}
  .hz-panel__title{font-size:24px;line-height:30px}
  .hz-panel__num{font-size:24px}
}

/* Admin overview: approval rows on small phones (buttons go below the text) */
@media (max-width:480px){
  .db-item:has(.ad-row-actions){flex-wrap:wrap;align-items:flex-start}
  .db-item:has(.ad-row-actions) .db-item__body{flex:1 1 0;min-width:0}
  .ad-row-actions{flex-basis:100%;width:100%;padding-inline-start:56px;box-sizing:border-box;flex-wrap:nowrap}
  .ad-row-actions .db-btn{flex:1 1 0;justify-content:center;min-width:0}
}

/* Therapists · Clinical expertise: left column stays pinned while the right column scrolls (desktop only) */
@media (min-width:1025px){
  .th-split__left{position:sticky;top:calc(var(--header-h) + 32px);align-self:start}
}




