/* =========================================================
   WeCare Medical — prototype v2
   Blue #3071b9 · Teal #009398 · Manrope (weight hierarchy)
   ========================================================= */

:root{
  --blue:#2a68c8;          /* APO logo mid-blue, deepened for 5:1 on white */
  --blue-deep:#1c17a2;     /* APO logo indigo */
  --ink:#0d1f30;          /* deep slate, never pure black */
  --ink-2:#3a5568;
  --ink-3:#65798a;
  --teal:#00aaec;          /* APO logo cyan */
  --teal-deep:#0872b5;
  --mint:#e1fff0;
  --white:#ffffff;
  --surface-2:#f3f8fb;
  --surface-3:#e9f1f7;
  --line:#e0eaf1;
  --dark:#0d1f30;         /* dark section canvas */
  --dark-2:#122b42;       /* dark card surface */

  --shadow-sm:0 1px 2px rgba(13,31,48,.05), 0 2px 10px rgba(13,31,48,.06);
  --shadow-md:0 10px 28px rgba(13,31,48,.10), 0 2px 8px rgba(13,31,48,.06);
  --shadow-lg:0 28px 70px rgba(13,31,48,.16), 0 10px 24px rgba(13,31,48,.10);

  --r:14px;
  --r-lg:20px;

  --font:'Manrope', ui-sans-serif, system-ui, -apple-system, sans-serif;

  --wrap:1240px;
  --nav-h:76px;
  --frame:16px;
  --ease:cubic-bezier(.16,1,.3,1);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);font-weight:400;color:var(--ink);background:var(--white);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
/* height:auto matters: lazy-load plugins (WP Rocket) stamp width/height
   attributes onto <img>, and a rule that sets only width leaves the height
   attribute pinned, stretching the image. Cost us the anatomy figure on mobile. */
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
h1,h2,h3,h4{font-family:var(--font);font-weight:800;line-height:1.02;letter-spacing:-.02em;margin:0;color:var(--ink)}
p{margin:0}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 28px}
.skip{position:absolute;left:-9999px;top:0;background:var(--blue);color:#fff;padding:10px 16px;z-index:200}
.skip:focus{left:0}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto !important}
section{scroll-margin-top:90px}

/* ---------- icons ---------- */
[class^="i-"],[class*=" i-"]{display:inline-block;width:1.05em;height:1.05em;vertical-align:-2px;background:currentColor;-webkit-mask:center/contain no-repeat;mask:center/contain no-repeat}
.i-phone{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.9.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.9.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E")}
.i-arrow{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E")}
.i-arrow-up{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M9 7h8v8'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M9 7h8v8'/%3E%3C/svg%3E")}
.i-star{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 2l2.9 6.26L22 9.27l-5 4.87L18.18 22 12 18.56 5.82 22 7 14.14l-5-4.87 7.1-1.01z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 2l2.9 6.26L22 9.27l-5 4.87L18.18 22 12 18.56 5.82 22 7 14.14l-5-4.87 7.1-1.01z'/%3E%3C/svg%3E")}
.i-chat{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 11.5a8.38 8.38 0 0 1-8.5 8.5 8.5 8.5 0 0 1-3.9-.9L3 21l1.9-5.6a8.5 8.5 0 0 1-.9-3.9A8.38 8.38 0 0 1 12.5 3 8.38 8.38 0 0 1 21 11.5z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 11.5a8.38 8.38 0 0 1-8.5 8.5 8.5 8.5 0 0 1-3.9-.9L3 21l1.9-5.6a8.5 8.5 0 0 1-.9-3.9A8.38 8.38 0 0 1 12.5 3 8.38 8.38 0 0 1 21 11.5z'/%3E%3C/svg%3E")}
.i-target{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Ccircle cx='12' cy='12' r='1.5' fill='%23000'/%3E%3Cpath d='M12 3v4M12 17v4M3 12h4M17 12h4'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Ccircle cx='12' cy='12' r='1.5' fill='%23000'/%3E%3Cpath d='M12 3v4M12 17v4M3 12h4M17 12h4'/%3E%3C/svg%3E")}

/* ---------- buttons & links ---------- */
.btn-solid{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:700;font-size:16px;padding:14px 30px;border-radius:4px;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .2s}
.btn-solid:hover{transform:translateY(-2px)}
.btn-solid:active{transform:translateY(0) scale(.99)}
.btn-solid--white{background:#fff;color:var(--ink)}
.btn-solid--white:hover{box-shadow:0 14px 34px rgba(0,0,0,.3)}
.btn-solid--blue{background:var(--blue);color:#fff}
.btn-solid--blue:hover{background:var(--blue-deep);box-shadow:0 14px 34px rgba(48,113,185,.35)}
.btn-ghost-w{display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:16px;padding:14px 26px;border-radius:4px;border:1.5px solid rgba(255,255,255,.4);color:#fff;transition:border-color .2s,background .2s}
.btn-ghost-w:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.link-w{display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:700;font-size:15.5px}
.link-w:hover{gap:12px}
.link-b{display:inline-flex;align-items:center;gap:8px;color:var(--blue);font-weight:700;font-size:15.5px}
.link-b:hover{gap:12px}
.link-w,.link-b{transition:gap .25s var(--ease)}
.sec-title{font-size:clamp(32px,4.2vw,52px);font-weight:800;letter-spacing:-.025em}

/* =========================================================
   NAV — pill centered, stays a pill on scroll
   ========================================================= */
.nav{position:fixed;top:0;left:0;right:0;z-index:50}
.nav__inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;height:var(--nav-h);padding:var(--frame) calc(var(--frame) + 26px) 0;transition:padding .35s var(--ease)}
.nav__logo{position:relative;display:block;height:50px;z-index:2}
.nav__logo img{height:50px;width:auto;display:block}
.nav__logo-dark{position:absolute;top:0;left:0;width:auto;opacity:0;transition:opacity .3s}
/* true centering: absolute within the bar */
.nav__links{position:absolute;left:50%;top:calc(var(--frame) + (var(--nav-h) - var(--frame))/2);transform:translate(-50%,-50%);display:flex;align-items:center;gap:2px;padding:4px;border-radius:12px;background:rgba(120,128,138,.38);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:background .35s var(--ease),top .35s var(--ease)}
.nav__item{position:relative}
.nav__link{display:inline-flex;align-items:center;background:transparent;border:0;color:#fff;font-family:var(--font);font-size:15px;font-weight:500;padding:9px 15px;border-radius:9px;transition:color .2s,background .2s;white-space:nowrap}
.nav__link:hover,.nav__item.is-open .nav__link{background:rgba(255,255,255,.16)}
.nav__actions{display:flex;align-items:center;gap:10px;z-index:2}
.nav__pill-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 17px;border-radius:10px;background:rgba(120,128,138,.38);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#fff;font-size:13.5px;font-weight:700;line-height:1;transition:background .25s,color .25s,transform .2s;white-space:nowrap}
.nav__pill-btn:hover{background:rgba(255,255,255,.28);transform:translateY(-1px)}
.nav__pill-btn--book{background:var(--blue)}
.nav__pill-btn--book:hover{background:var(--blue-deep)}
.nav__pill-btn [class^="i-"]{width:13px;height:13px;flex:0 0 auto;vertical-align:0}
.nav__burger{display:none;flex-direction:column;gap:5px;width:44px;height:44px;align-items:center;justify-content:center;background:rgba(120,128,138,.38);backdrop-filter:blur(14px);border:0;border-radius:10px}
.nav__burger span{display:block;width:20px;height:2px;background:#fff;border-radius:2px;transition:.25s var(--ease)}

/* scrolled: SAME pill, same white text — glass just deepens for contrast over light content */
.nav[data-state="scrolled"] .nav__inner{padding-top:10px}
.nav[data-state="scrolled"] .nav__links{top:calc(10px + (var(--nav-h) - 10px)/2);background:rgba(13,31,48,.6);box-shadow:var(--shadow-md)}
.nav[data-state="scrolled"] .nav__link:hover,.nav[data-state="scrolled"] .nav__item.is-open .nav__link{background:rgba(255,255,255,.18)}
.nav[data-state="scrolled"] .nav__logo-light{opacity:0}
.nav[data-state="scrolled"] .nav__logo-dark{opacity:1}
.nav[data-state="scrolled"] .nav__pill-btn{background:rgba(13,31,48,.6);box-shadow:var(--shadow-md)}
.nav[data-state="scrolled"] .nav__pill-btn:hover{background:rgba(13,31,48,.78)}
.nav[data-state="scrolled"] .nav__pill-btn--book{background:var(--blue)}
.nav[data-state="scrolled"] .nav__burger{background:rgba(13,31,48,.6)}

/* mega: floating rounded panel under the pill */
.mega{position:absolute;left:50%;top:calc(var(--nav-h) + var(--frame) + 4px);transform:translateX(-50%) translateY(-8px);width:min(860px,calc(100vw - 48px));background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s var(--ease),transform .28s var(--ease),visibility .28s}
.mega.is-open{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);pointer-events:auto}
.mega__panel{display:none;padding:34px 38px}
.mega__panel.is-active{display:block}
.mega__grid{display:grid;grid-template-columns:.9fr 1.6fr;gap:40px}
.mega__title{font-size:24px;font-weight:800;line-height:1.15;margin-bottom:18px;max-width:14ch}
.mega__cta{display:inline-flex;align-items:center;gap:8px;color:var(--blue);font-weight:700;font-size:15px;transition:gap .25s var(--ease)}
.mega__cta:hover{gap:12px}
.mega__links{display:grid;grid-template-columns:1fr 1fr;gap:2px;align-content:start}
.mega__links a{padding:10px 14px;border-radius:10px;font-weight:600;font-size:15.5px;color:var(--ink);transition:background .18s,color .18s,transform .18s}
.mega__links a:hover{background:var(--surface-2);color:var(--blue);transform:translateX(3px)}
.mega__panel.is-active .mega__links a{animation:megaIn .5s var(--ease) both}
.mega__panel.is-active .mega__links a:nth-child(2){animation-delay:.03s}
.mega__panel.is-active .mega__links a:nth-child(3){animation-delay:.06s}
.mega__panel.is-active .mega__links a:nth-child(4){animation-delay:.09s}
.mega__panel.is-active .mega__links a:nth-child(5){animation-delay:.12s}
.mega__panel.is-active .mega__links a:nth-child(n+6){animation-delay:.15s}
@keyframes megaIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* =========================================================
   FULL-SCREEN MENU (Wolverine-style, clinical white)
   ========================================================= */
.menu{position:fixed;inset:0;z-index:80;background:#fff;display:flex;flex-direction:column;padding:22px 26px 30px;clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path .6s var(--ease),visibility .6s}
.menu.is-open{clip-path:inset(0 0 0% 0);visibility:visible}
.menu__head{display:flex;align-items:center;justify-content:space-between}
.menu__logo{height:38px}
.menu__close{position:relative;flex:0 0 auto;width:46px;height:46px;border:1px solid var(--line);border-radius:50%;background:#fff}
.menu__close span{position:absolute;left:50%;top:50%;width:18px;height:2px;background:var(--ink);border-radius:2px}
.menu__close span:first-child{transform:translate(-50%,-50%) rotate(45deg)}
.menu__close span:last-child{transform:translate(-50%,-50%) rotate(-45deg)}
.menu__nav{position:relative;display:flex;flex-direction:column;gap:2px;flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:20px 0}
.menu__nav a{display:block;padding:6px 0}
.menu__mask{display:block;overflow:hidden}
.menu__mask span{display:block;font-size:clamp(40px,9vw,64px);font-weight:800;letter-spacing:-.025em;color:var(--ink);line-height:1.12;transform:translateY(110%);transition:transform .7s var(--ease),color .2s}
.menu.is-open .menu__mask span{transform:none}
.menu__nav a:nth-child(1) .menu__mask span{transition-delay:.10s}
.menu__nav a:nth-child(2) .menu__mask span{transition-delay:.16s}
.menu__nav a:nth-child(3) .menu__mask span{transition-delay:.22s}
.menu__nav a:nth-child(4) .menu__mask span{transition-delay:.28s}
.menu__nav a:nth-child(5) .menu__mask span{transition-delay:.34s}
.menu__nav a:nth-child(6) .menu__mask span{transition-delay:.40s}
.menu__nav a:hover .menu__mask span{color:var(--blue)}
.menu__foot{display:flex;flex-direction:column;gap:14px;opacity:0;transform:translateY(14px);transition:opacity .5s var(--ease) .45s,transform .5s var(--ease) .45s}
.menu.is-open .menu__foot{opacity:1;transform:none}
.menu__book{width:100%;justify-content:center}
.menu__tel{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;padding:13px;border:1.5px solid var(--line);border-radius:999px;font-weight:700;font-size:16px;color:var(--ink);transition:border-color .2s,color .2s}
.menu__tel:hover{border-color:var(--blue);color:var(--blue)}
.menu__langs{font-size:14px;color:var(--ink-3);font-weight:500}

/* =========================================================
   HERO
   ========================================================= */
.hero{background:#fff}
.hero__frame{position:relative;margin:var(--frame);height:min(calc(100dvh - (var(--frame) * 2)),920px);min-height:620px;border-radius:var(--r-lg);overflow:hidden;background:#0b2740}
.hero__img,.hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 50%}
@media (max-width:900px){.hero__img{object-position:82% 50%}}   /* keep the injured worker in frame */
.hero__video{opacity:0;transition:opacity 1s var(--ease)}
.hero__video.is-ready{opacity:1}
/* readable text over a bright sky: soften the top-left, keep the horizon clean */
.hero__shade{position:absolute;inset:0;background:
  linear-gradient(160deg,rgba(6,24,40,.52) 0%,rgba(6,24,40,.22) 38%,rgba(6,24,40,0) 62%),
  linear-gradient(180deg,transparent 62%,rgba(6,24,40,.55) 100%)}
/* content sits in the open sky so the figures below stay clear for callouts */
.hero__content{position:relative;z-index:3;height:100%;display:flex;flex-direction:column;justify-content:flex-start;padding:calc(var(--nav-h) + 18px) 64px 96px;max-width:620px}
.hero__eyebrow{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;padding:10px 16px;border-radius:10px;background:rgba(120,128,138,.38);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);font-size:13.5px;font-weight:600;letter-spacing:.07em;color:#fff;margin-bottom:30px}
.hero__eyebrow .i-target{width:16px;height:16px;opacity:.9}
.hero__title{font-weight:800;font-size:clamp(52px,5.8vw,80px);line-height:.95;letter-spacing:-.015em;color:#fff;margin-bottom:26px}
.hero__sub{font-weight:500;font-size:clamp(19px,1.8vw,24px);line-height:1.25;color:rgba(255,255,255,.78);margin-bottom:32px}
.hero__sub em{color:#fff;font-weight:700;font-style:italic}
.hero__cta-row{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-bottom:36px}
.hero__cta{display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#0a0a0a;font-weight:700;font-size:18px;padding:14px 40px;border-radius:4px;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.hero__cta:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(0,0,0,.35)}
.hero__trust{display:flex;align-items:center;gap:13px;font-size:15.5px;font-weight:500;line-height:1.2;color:rgba(255,255,255,.78)}
.hero__avatars{display:flex}
.hero__avatars img{width:34px;height:34px;border-radius:50%;object-fit:cover;border:1.5px solid rgba(255,255,255,.85);box-shadow:0 2px 4px rgba(0,0,0,.25)}
.hero__avatars img + img{margin-left:-11px}
.hero__desc{font-weight:400;font-size:clamp(16px,1.4vw,19px);line-height:1.42;color:rgba(255,255,255,.72);max-width:330px}

/* pain-point callouts */
.hero__points{position:absolute;inset:0;z-index:2;pointer-events:none}
.point{position:absolute;left:var(--px);top:var(--py);opacity:0;animation:pointIn .8s var(--ease) var(--d) forwards}
.point__dot{position:absolute;left:0;top:0;width:9px;height:9px;border-radius:50%;background:#ffb15c;box-shadow:0 0 0 5px rgba(255,177,92,.25),0 0 18px rgba(255,177,92,.8)}
.point__line{position:absolute;left:9px;top:4px;width:74px;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.9),rgba(255,255,255,.25));transform-origin:left;transform:scaleX(0);animation:lineIn .6s var(--ease) calc(var(--d) + .2s) forwards}
.point__label{position:absolute;left:92px;top:-8px;white-space:nowrap;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;opacity:0;animation:labelIn .5s var(--ease) calc(var(--d) + .55s) forwards}
@keyframes pointIn{to{opacity:1}}
@keyframes lineIn{to{transform:scaleX(1)}}
@keyframes labelIn{to{opacity:.95}}

/* insurance marquee */
.hero__insurers{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:18px 0 20px;background:linear-gradient(180deg,transparent,rgba(6,20,34,.72))}
.hero__insurers-label{text-align:center;font-size:11px;font-weight:700;letter-spacing:.22em;color:rgba(255,255,255,.55);margin-bottom:12px}
.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee__track{display:flex;align-items:center;gap:14px;width:max-content;animation:marquee 40s linear infinite;will-change:transform}
.js .marquee__track{animation:none} /* JS drives motion (smooth hover slowdown, never a freeze) */
@keyframes marquee{to{transform:translateX(-50%)}}
/* greyed real logos straight on the image, no chips */
.ins-item{display:inline-flex;align-items:center;gap:9px;padding:0 26px;white-space:nowrap}
.ins-logo{height:24px;width:auto;filter:brightness(0) invert(1);opacity:.6}
.ins-logo--mark{height:20px}
.ins-mark{font-weight:800;font-size:18px;letter-spacing:.02em;color:rgba(255,255,255,.55);white-space:nowrap}

/* =========================================================
   HERO STATS (greyed, bottom-right, opposite the description)
   ========================================================= */
.hero__stats{position:absolute;right:56px;bottom:118px;z-index:3;display:flex;align-items:flex-start}
.hero__stats .stat{display:flex;flex-direction:column;gap:3px;padding:0 24px;border-left:1px solid rgba(255,255,255,.16)}
.hero__stats .stat:first-child{border-left:0;padding-left:0}
.hero__stats .stat:last-child{padding-right:0}
.stat__num{font-weight:800;font-size:30px;letter-spacing:-.02em;color:rgba(255,255,255,.78);display:inline-flex;align-items:center;gap:6px;line-height:1}
.stat__star{color:#f5a623;opacity:.85;width:.5em;height:.5em}
/* no <br> in the markup: labels wrap on their own so i18n can match the whole phrase */
.stat__label{font-size:11px;font-weight:600;line-height:1.35;color:rgba(255,255,255,.42);max-width:92px}

/* =========================================================
   DARK TREATMENTS BLOCK
   ========================================================= */
.dark-block{padding:30px 0}
.dark-block__frame{margin:0 var(--frame);background:var(--dark);border-radius:var(--r-lg);padding:72px 0 34px;overflow:hidden}
.dark-block__head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;padding:0 64px;margin-bottom:46px}
.dark-block__title{color:#fff;font-size:clamp(32px,4.2vw,52px);font-weight:800;letter-spacing:-.025em}
.dark-block__aside{max-width:380px;display:flex;flex-direction:column;gap:16px}
.dark-block__aside p{color:rgba(255,255,255,.62);font-size:16px;font-weight:400;line-height:1.55}
/* one-row horizontal scroll */
.hscroll{display:flex;gap:18px;overflow-x:auto;padding:6px 64px 22px;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab}
.hscroll::-webkit-scrollbar{display:none}
.hscroll.is-dragging{cursor:grabbing;scroll-snap-type:none}
.hscroll__hint{padding:0 64px;color:rgba(255,255,255,.35);font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.svc{flex:0 0 min(340px,78vw);scroll-snap-align:start;background:var(--dark-2);border:1px solid rgba(255,255,255,.07);border-radius:var(--r);padding:14px 14px 22px;display:flex;flex-direction:column;gap:12px;transition:transform .3s var(--ease),border-color .3s,background .3s}
.svc:hover{transform:translateY(-5px);border-color:rgba(255,255,255,.18);background:#15304a}
.svc__media{border-radius:10px;overflow:hidden;aspect-ratio:4/3;background:#0b2035}
.svc__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.svc:hover .svc__media img{transform:scale(1.05)}
.svc h3{color:#fff;font-size:19px;font-weight:700;letter-spacing:-.01em;padding:0 6px}
.svc p{color:rgba(255,255,255,.58);font-size:14.5px;line-height:1.5;padding:0 6px}
.svc__link{margin-top:auto;display:inline-flex;align-items:center;gap:8px;color:#8ecfd2;font-weight:700;font-size:14px;padding:0 6px;transition:gap .25s var(--ease)}
.svc:hover .svc__link{gap:12px}

/* =========================================================
   KINETIC MARQUEE
   ========================================================= */
.kinetic{overflow:hidden;padding:56px 0 10px;background:#fff}
.kinetic__track{display:flex;width:max-content;animation:marquee 40s linear infinite}
.kinetic__track span{font-size:clamp(40px,6vw,72px);font-weight:800;letter-spacing:-.02em;white-space:nowrap;color:transparent;-webkit-text-stroke:1.5px rgba(13,31,48,.18)}

/* =========================================================
   ASSESSMENT
   ========================================================= */
.assess{position:relative;padding:80px 0 96px;overflow:hidden}
.assess__blobs i{position:absolute;border-radius:50%;filter:blur(70px);opacity:.5;animation:blob 16s ease-in-out infinite alternate}
.assess__blobs i:first-child{width:480px;height:480px;background:radial-gradient(circle,rgba(0,170,236,.25),transparent 65%);top:-140px;right:-80px}
.assess__blobs i:last-child{width:420px;height:420px;background:radial-gradient(circle,rgba(48,113,185,.22),transparent 65%);bottom:-160px;left:-100px;animation-delay:-8s}
@keyframes blob{from{transform:translate(0,0) scale(1)}to{transform:translate(40px,30px) scale(1.12)}}
.assess__inner{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.assess__sub{color:var(--ink-2);font-size:17.5px;max-width:44ch;margin:18px 0 28px}
.assess__fine{color:var(--ink-3);font-size:13.5px;margin-top:16px}
.quizcard{display:block;width:100%;max-width:440px;margin-left:auto;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:30px;box-shadow:var(--shadow-lg);text-align:left;font-family:var(--font);color:var(--ink);cursor:pointer;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
button.quizcard{appearance:none}
.quizcard:hover{transform:translateY(-3px);box-shadow:0 34px 80px rgba(13,31,48,.2)}
.quizcard__step,.quizcard__q,.quizcard__bar{display:block}
.quizcard__opts{display:grid}
.quizcard__step{font-size:13px;font-weight:700;color:var(--teal);letter-spacing:.05em;margin-bottom:12px}
.quizcard__q{font-size:24px;font-weight:800;color:var(--ink);margin-bottom:20px;letter-spacing:-.015em}
.quizcard__opts{display:grid;gap:10px;margin-bottom:22px}
.quizcard__opt{padding:14px 16px;border-radius:12px;border:1.5px solid var(--line);font-weight:600;font-size:15px;color:var(--ink-2);transition:.2s}
.quizcard__opt.is-active{border-color:var(--blue);background:#eef6ff;color:var(--blue-deep)}
.quizcard__bar{height:6px;border-radius:6px;background:var(--surface-3);overflow:hidden}
.quizcard__bar i{display:block;height:100%;width:25%;background:linear-gradient(90deg,var(--teal),var(--blue));border-radius:6px}

/* =========================================================
   TEAM / MEDSPA banners
   ========================================================= */
.team,.medspa{padding:16px 0}
.team__frame,.medspa__frame{position:relative;margin:0 var(--frame);border-radius:var(--r-lg);overflow:hidden;min-height:520px;display:flex;align-items:flex-end}
.team__img,.medspa__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.team__shade,.medspa__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,20,34,.05) 30%,rgba(6,20,34,.72) 100%)}
.team__content,.medspa__content{position:relative;z-index:2;padding:56px 64px;display:flex;flex-direction:column;align-items:flex-start;gap:22px}
.team__eyebrow,.medspa__eyebrow{font-size:12px;font-weight:700;letter-spacing:.2em;color:rgba(255,255,255,.75)}
.team__title,.medspa__title{color:#fff;font-size:clamp(30px,4vw,48px);font-weight:800;letter-spacing:-.02em}
.team__chips{display:flex;flex-wrap:wrap;gap:8px}
.team__chips span{padding:8px 15px;border-radius:9px;background:rgba(255,255,255,.14);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.22);color:#fff;font-size:13.5px;font-weight:600}
.medspa__frame{min-height:420px}

/* =========================================================
   LOCATIONS
   ========================================================= */
.locs{padding:80px 0 40px}
.locs__head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px}
.hscroll--light{padding:6px 28px 16px;cursor:grab}
.loc{flex:0 0 min(250px,70vw);scroll-snap-align:start;display:flex;flex-direction:column;gap:6px;padding:24px;border:1px solid var(--line);border-radius:var(--r);background:#fff;transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s}
.loc:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:#cfe0ee}
.loc__city{font-size:20px;font-weight:800;letter-spacing:-.01em}
.loc__meta{font-size:14px;color:var(--ink-3);font-weight:500;margin-bottom:10px}
.loc__go{display:inline-flex;align-items:center;gap:7px;color:var(--blue);font-weight:700;font-size:14px;transition:gap .25s var(--ease)}
.loc:hover .loc__go{gap:11px}

/* =========================================================
   REVIEWS
   ========================================================= */
.reviews{padding:60px 0 80px;background:linear-gradient(180deg,#fff,var(--surface-2))}
.reviews__head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:34px}
.reviews__rating{display:inline-flex;align-items:center;gap:8px;font-size:16px;font-weight:500;color:var(--ink-2)}
.reviews__rating .i-star{color:#f5a623}
.reviews__rating strong{font-weight:800;color:var(--ink)}
.reviews .marquee{padding:6px 0 10px}
.rev{flex:0 0 380px;margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px 26px 22px;box-shadow:var(--shadow-sm)}
.rev blockquote{margin:0 0 16px;font-size:16.5px;line-height:1.5;color:var(--ink);font-weight:500}
.rev figcaption{font-weight:800;font-size:14.5px}
.rev figcaption span{display:block;font-weight:500;color:var(--ink-3);font-size:13px;margin-top:1px}

/* =========================================================
   BOOK CTA + ripple grid
   ========================================================= */
.book{padding:16px 0 26px}
.book__frame{position:relative;margin:0 var(--frame);background:var(--dark);border-radius:var(--r-lg);overflow:hidden;padding:100px 40px}
.ripple{position:absolute;inset:0;display:grid;z-index:1}
.ripple i{border:1px solid rgba(255,255,255,.045);transition:background .4s}
.ripple i:hover{background:rgba(255,255,255,.07);transition:background .05s}
.ripple i.pulse{animation:cellPulse .9s var(--ease) var(--rd) both}
@keyframes cellPulse{0%{background:transparent}30%{background:rgba(142,207,210,.28)}100%{background:transparent}}
.book__content{position:relative;z-index:2;text-align:center;max-width:640px;margin:0 auto;pointer-events:none}
.book__content a{pointer-events:auto}
.book__title{color:#fff;font-size:clamp(38px,5.4vw,64px);font-weight:800;letter-spacing:-.025em;margin-bottom:18px}
.book__sub{color:rgba(255,255,255,.65);font-size:17.5px;max-width:46ch;margin:0 auto 34px}
.book__actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.book__coverage{margin-top:30px;font-size:13.5px;font-weight:600;color:rgba(255,255,255,.5);letter-spacing:.02em}

/* =========================================================
   FOOTER
   ========================================================= */
.foot{background:#fff;padding:70px 0 30px;border-top:1px solid var(--line)}
.foot__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:48px;border-bottom:1px solid var(--line)}
.foot__logo{height:60px}
.foot__brand p{color:var(--ink-3);font-size:15px;max-width:30ch;margin:18px 0 10px}
.foot__langs{font-size:13.5px;color:var(--ink-3);font-weight:600}
.foot__col h4{font-size:13px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:18px}
.foot__col a{display:block;color:var(--ink);font-size:15px;font-weight:600;padding:6px 0;transition:color .2s}
.foot__col a:hover{color:var(--blue)}
.foot__addr{color:var(--ink-3);font-size:14px;margin:10px 0;line-height:1.5}
.foot__bottom{display:flex;align-items:center;justify-content:space-between;padding-top:26px;gap:16px;flex-wrap:wrap}
.foot__bottom p{color:var(--ink-3);font-size:13.5px}
.foot__legal{display:flex;gap:22px}
.foot__legal a{color:var(--ink-3);font-size:13.5px;font-weight:600}
.foot__legal a:hover{color:var(--ink)}

/* ---------- floating call fab (mobile, bottom-left; mirrors chat fab) ---------- */
.call-fab{position:fixed;left:22px;bottom:26px;z-index:42;width:58px;height:58px;border-radius:50%;display:none;place-items:center;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border:1px solid var(--line);color:var(--blue);box-shadow:var(--shadow-lg);transition:transform .25s var(--ease)}
.call-fab:hover{transform:scale(1.06) translateY(-2px)}
.call-fab .i-phone{width:24px;height:24px}

/* ---------- chat fab ---------- */
.chat-fab{position:fixed;right:22px;bottom:26px;z-index:42;width:58px;height:58px;border-radius:50%;border:0;background:linear-gradient(150deg,var(--teal),var(--blue));color:#fff;display:grid;place-items:center;box-shadow:var(--shadow-lg);transition:transform .25s var(--ease)}
.chat-fab:hover{transform:scale(1.06) translateY(-2px)}
.chat-fab .i-chat{width:25px;height:25px}
.chat-fab__pulse{position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 0 rgba(0,170,236,.5);animation:pulse 2.4s var(--ease) infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(0,170,236,.45)}70%{box-shadow:0 0 0 16px rgba(0,170,236,0)}100%{box-shadow:0 0 0 0 rgba(0,170,236,0)}}

/* ---------- reveals ---------- */
.reveal{opacity:1;transform:none}
.js .reveal{opacity:0;transform:translateY(26px);will-change:opacity,transform}
.js .reveal.in{opacity:1;transform:none;transition:opacity .8s var(--ease),transform .8s var(--ease)}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:1520px){
  .nav__pill-btn.nav__call{display:none}
}
@media (max-width:1140px){
  .nav__link{padding:9px 11px;font-size:14.5px}
}
@media (max-width:1020px){
  .nav__logo,.nav__logo img{height:38px}
  .nav__links{display:none}
  .nav__pill-btn{display:none}
  .nav__burger{display:flex}
  .nav__inner{padding:var(--frame) calc(var(--frame) + 12px) 0}
  .dark-block__head{flex-direction:column;align-items:flex-start;gap:20px;padding:0 32px;margin-bottom:34px}
  .hscroll{padding:6px 32px 20px}
  .hscroll__hint{padding:0 32px}
  .team__content,.medspa__content{padding:40px 32px}
  .assess__inner{grid-template-columns:1fr;gap:40px}
  .quizcard{margin:0 auto}
}
@media (max-width:900px){
  /* content sits at the TOP so the figures stay visible through the middle of the frame */
  .hero__content{padding:calc(var(--nav-h) + 4px) 28px 0;justify-content:flex-start}
  .hero__shade{background:linear-gradient(180deg,rgba(6,24,40,.45) 0%,rgba(6,24,40,.18) 42%,rgba(6,24,40,.28) 66%,rgba(6,24,40,.75) 100%)}
  /* mobile: labels/lines would collide with the copy, so keep just the glowing dots */
  .point__label,.point__line{display:none}
  .point__dot{width:7px;height:7px;box-shadow:0 0 0 4px rgba(255,177,92,.22),0 0 14px rgba(255,177,92,.7)}
  .hero__stats{right:28px;left:28px;bottom:104px;justify-content:space-between}
  .hero__stats .stat{border-left:0;padding:0 8px}
  .stat__num{font-size:22px}
  .stat__label{font-size:10px}
  .foot__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .wrap{padding:0 18px}
  body{font-size:16px}
  :root{--frame:10px}
  .hero__frame{min-height:560px;height:calc(100dvh - 20px)}
  /* compact the whole block so it clears the figures standing mid-frame */
  .hero__eyebrow{font-size:11px;letter-spacing:.05em;padding:8px 13px;gap:7px;margin-bottom:16px;white-space:nowrap}
  .hero__eyebrow .i-target{width:13px;height:13px}
  .hero__title{font-size:clamp(38px,11.5vw,48px);margin-bottom:14px}
  .hero__sub{font-size:16.5px;margin-bottom:18px}
  .hero__desc{display:none}
  .hero__cta-row{margin-bottom:0;gap:14px}
  .hero__cta{width:100%;padding:14px 40px;font-size:17px}
  .hero__trust{margin-top:16px;font-size:14px;gap:11px}
  .hero__avatars img{width:30px;height:30px}
  .hero__insurers-label{font-size:10px}
  .hero__stats{right:18px;left:18px;bottom:96px;justify-content:space-between}
  .hero__stats .stat{padding:0 6px;border-left:0}
  .stat__label{max-width:70px}
  .stat__num{font-size:17px}
  .stat__label{font-size:8.5px;line-height:1.3}
  .ins-mark{font-size:15px;padding:0 18px}
  .dark-block__frame{padding:48px 0 24px}
  .dark-block__head{padding:0 20px}
  .hscroll{padding:6px 20px 18px}
  .hscroll__hint{padding:0 20px}
  .kinetic{padding:40px 0 4px}
  .assess{padding:56px 0 64px}
  .team__frame,.medspa__frame{min-height:440px}
  .team__content,.medspa__content{padding:28px 22px}
  .locs{padding:56px 0 24px}
  .locs__head,.reviews__head{flex-direction:column;align-items:flex-start;gap:10px}
  .rev{flex-basis:300px}
  .book__frame{padding:64px 22px}
  .foot__grid{grid-template-columns:1fr 1fr;gap:28px}
  .foot__brand{grid-column:span 2}
  .sticky-cta{display:flex}
  .chat-fab{bottom:88px;right:14px;width:52px;height:52px}
}

/* =========================================================
   v2.1 components
   ========================================================= */
.i-arrow--flip{transform:scaleX(-1)}

/* modern pill CTA with arrow badge */
.btn-pill{display:inline-flex;align-items:center;gap:14px;border:0;background:var(--blue);color:#fff;font-family:var(--font);font-weight:700;font-size:16.5px;padding:9px 9px 9px 28px;border-radius:999px;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .2s;cursor:pointer}
.btn-pill:hover{transform:translateY(-2px);background:var(--blue-deep);box-shadow:0 14px 34px rgba(48,113,185,.35)}
.btn-pill:active{transform:translateY(0) scale(.99)}
.btn-pill__badge{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#fff;color:var(--blue);transition:transform .25s var(--ease)}
.btn-pill:hover .btn-pill__badge{transform:rotate(45deg)}
.btn-pill__badge [class^="i-"]{width:16px;height:16px}

/* h-scroll footer: hint + arrows */
.hscroll__foot{display:flex;align-items:center;justify-content:space-between;padding:0 64px}
.hrow-nav{display:flex;gap:10px}
.hbtn{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.06);color:#fff;transition:background .2s,border-color .2s,transform .2s}
.hbtn:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.4)}
.hbtn:active{transform:scale(.94)}
.hbtn [class^="i-"]{width:17px;height:17px}

/* full-screen menu: accordions */
.menu__nav{overflow-y:auto;-webkit-overflow-scrolling:touch}
.menu__group{display:flex;flex-direction:column}
.menu__item{display:flex;align-items:center;justify-content:space-between;gap:14px;background:transparent;border:0;padding:6px 0;text-align:left;width:100%}
.menu__plus{position:relative;flex:0 0 30px;height:30px;border:1px solid var(--line);border-radius:50%;transition:transform .35s var(--ease),background .2s}
.menu__plus::before,.menu__plus::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.8px;background:var(--ink);transform:translate(-50%,-50%)}
.menu__plus::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .3s var(--ease)}
.menu__item--acc[aria-expanded="true"] .menu__plus{background:var(--surface-2);transform:rotate(45deg)}
.menu__sub{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;max-height:0;overflow:hidden;transition:max-height .45s var(--ease);padding:0 0 0 4px}
.menu__group.is-open .menu__sub{max-height:2400px;padding:6px 0 14px 4px}
.menu__sub a{font-size:16.5px;font-weight:600;color:var(--ink-2);padding:10px 0;min-height:44px;display:flex;align-items:center;transition:color .2s}
.menu__sub a:hover{color:var(--blue)}

/* assessment modal */
.amodal{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:18px;visibility:hidden;opacity:0;transition:opacity .3s var(--ease),visibility .3s}
.amodal.is-open{visibility:visible;opacity:1}
.amodal__backdrop{position:absolute;inset:0;background:rgba(9,22,36,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.amodal__card{position:relative;width:min(520px,100%);background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:34px 32px 30px;transform:translateY(22px) scale(.98);transition:transform .35s var(--ease)}
.amodal.is-open .amodal__card{transform:none}
.amodal__close{position:absolute;right:16px;top:16px;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff;z-index:2}
.amodal__close span{position:absolute;left:50%;top:50%;width:14px;height:1.8px;background:var(--ink);border-radius:2px}
.amodal__close span:first-child{transform:translate(-50%,-50%) rotate(45deg)}
.amodal__close span:last-child{transform:translate(-50%,-50%) rotate(-45deg)}
.amodal__step{font-size:13px;font-weight:700;color:var(--teal);letter-spacing:.05em;margin-bottom:10px}
.amodal__q{font-size:24px;font-weight:800;letter-spacing:-.015em;margin-bottom:20px}
.amodal__opts{display:grid;gap:10px;margin-bottom:20px}
.amodal__opt{padding:14px 16px;border-radius:12px;border:1.5px solid var(--line);background:#fff;font-family:var(--font);font-weight:600;font-size:15px;color:var(--ink-2);text-align:left;transition:.18s;cursor:pointer}
.amodal__opt:hover{border-color:var(--blue);background:#eef6ff;color:var(--blue-deep)}
.amodal__bar{height:6px;border-radius:6px;background:var(--surface-3);overflow:hidden;margin-bottom:4px}
.amodal__bar i{display:block;height:100%;background:linear-gradient(90deg,var(--teal),var(--blue));border-radius:6px;transition:width .4s var(--ease)}
.amodal__back{background:transparent;border:0;color:var(--ink-3);font-weight:600;font-size:14px;padding:6px 0;cursor:pointer}
.amodal__back:hover{color:var(--ink)}
.amodal__result-kicker{font-size:12px;font-weight:700;letter-spacing:.16em;color:var(--teal);text-transform:uppercase;margin-bottom:10px}
.amodal__result-title{font-size:26px;font-weight:800;letter-spacing:-.02em;margin-bottom:12px}
.amodal__result-why{color:var(--ink-2);font-size:15.5px;margin-bottom:14px}
.amodal__note{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:13px 15px;font-size:14px;color:var(--ink-2);margin-bottom:20px}
.amodal__note strong{color:var(--ink)}
.amodal__cta-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.amodal__cta-row .btn-pill{font-size:15px}
.amodal__cta-row .btn-ghost-b{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:15px;padding:12px 20px;border-radius:999px;border:1.5px solid var(--line);color:var(--ink)}
.amodal__cta-row .btn-ghost-b:hover{border-color:var(--blue);color:var(--blue)}
.amodal__fine{font-size:12.5px;color:var(--ink-3)}

/* pain points: JS-anchored */
.point{opacity:0}
.point.is-placed{animation:pointIn .8s var(--ease) var(--d) forwards}
.point--flip .point__line{left:auto;right:9px;transform-origin:right}
.point--flip .point__label{left:auto;right:92px}

@media (max-width:1020px){
  .hscroll__foot{padding:0 32px}
}
@media (max-width:640px){
  .call-fab{display:grid;bottom:20px;left:16px}
  .chat-fab{bottom:20px !important;right:16px}
  .hscroll__foot{padding:0 20px}
  .menu__mask span{font-size:clamp(32px,8vw,44px)}
  .menu__sub a{font-size:15px}
  .amodal__card{padding:26px 22px 24px}
}

/* =========================================================
   SUBPAGE SYSTEM
   ========================================================= */
.page-hero{background:#fff}
.page-hero__frame{position:relative;margin:var(--frame);border-radius:var(--r-lg);overflow:hidden;background:var(--dark);padding:calc(var(--nav-h) + 40px) 64px 56px}
.page-hero__frame::after{content:"";position:absolute;right:-180px;top:-180px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(0,170,236,.25),transparent 65%);pointer-events:none}
.page-hero__content{position:relative;z-index:2;max-width:760px}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:13px;font-weight:600;color:rgba(255,255,255,.55);margin-bottom:22px}
.crumbs a{color:rgba(255,255,255,.55);transition:color .2s}
.crumbs a:hover{color:#fff}
.crumbs span{color:rgba(255,255,255,.85)}
.page-hero__title{color:#fff;font-size:clamp(38px,5vw,62px);font-weight:800;letter-spacing:-.025em;margin-bottom:18px}
.page-hero__lead{color:rgba(255,255,255,.72);font-size:clamp(17px,1.6vw,20px);line-height:1.55;max-width:60ch;margin-bottom:30px}
.page-hero__cta{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.page-hero__cta .btn-ghost-w{border-radius:999px}
.pg{padding:72px 0}
.pg--tint{background:var(--surface-2)}
.pg__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:start}
.pg h2{font-size:clamp(26px,3vw,38px);letter-spacing:-.02em;margin-bottom:18px}
.pg p{color:var(--ink-2);font-size:16.5px;line-height:1.65}
.pg p + p{margin-top:14px}
.checklist{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:12px}
.checklist li{display:flex;gap:12px;align-items:flex-start;font-weight:600;color:var(--ink);font-size:16px}
.checklist .i-check{flex:0 0 auto;width:20px;height:20px;margin-top:2px;color:var(--teal)}
.i-check{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E")}
.pg__media{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-lg)}
.pg__media img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.step-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}
.step{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px}
.step__badge{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--surface-2);color:var(--blue);font-weight:800;font-size:15px;margin-bottom:14px}
.step h3{font-size:18px;margin-bottom:8px}
.step p{font-size:14.5px}
.chip-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.chip-row a{padding:11px 18px;border-radius:999px;border:1.5px solid var(--line);font-weight:700;font-size:14.5px;color:var(--ink);transition:.2s}
.chip-row a:hover{border-color:var(--blue);color:var(--blue);transform:translateY(-2px)}
/* FAQ */
.faq{max-width:820px}
.faq__item{border-bottom:1px solid var(--line)}
.faq__q{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;background:transparent;border:0;padding:22px 0;text-align:left;font-family:var(--font);font-size:17.5px;font-weight:700;color:var(--ink)}
.faq__q .menu__plus{flex:0 0 28px;height:28px}
.faq__item.is-open .faq__q .menu__plus{transform:rotate(45deg);background:var(--surface-2)}
.faq__a{max-height:0;overflow:hidden;transition:max-height .4s var(--ease)}
.faq__item.is-open .faq__a{max-height:400px}
.faq__a p{padding:0 0 22px;max-width:64ch}
/* CTA band */
.cta-band{padding:16px 0 26px}
.cta-band__frame{margin:0 var(--frame);background:var(--dark);border-radius:var(--r-lg);padding:64px 40px;text-align:center}
.cta-band__title{color:#fff;font-size:clamp(30px,4vw,46px);letter-spacing:-.02em;margin-bottom:14px}
.cta-band__sub{color:rgba(255,255,255,.65);font-size:16.5px;max-width:46ch;margin:0 auto 28px}
.cta-band__actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
/* real provider cards */
.doc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:34px}
.doc{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.doc:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.doc__photo{aspect-ratio:4/4.4;overflow:hidden;background:var(--surface-3)}
.doc__photo img{width:100%;height:100%;object-fit:cover;object-position:center 20%;transition:transform .5s var(--ease)}
.doc:hover .doc__photo img{transform:scale(1.04)}
.doc__body{padding:20px 22px 24px}
.doc__name{font-size:19px;font-weight:800;letter-spacing:-.01em;margin-bottom:3px}
.doc__role{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--teal-deep);margin-bottom:10px}
.doc__bio{font-size:14px;color:var(--ink-2);line-height:1.55}
.doc__more{display:inline-flex;align-items:center;gap:7px;margin-top:12px;color:var(--blue);font-weight:700;font-size:14px;transition:gap .25s var(--ease)}
.doc:hover .doc__more{gap:11px}
@media (max-width:1020px){.doc-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.doc-grid{grid-template-columns:1fr}}
/* homepage doctor row (inside the dark team frame) */
.doc-row .doc{flex:0 0 min(255px,72vw);scroll-snap-align:start;border:0}
.doc-row .doc__photo,.doc-row .doc__body,.doc-row .doc__name,.doc-row .doc__role{display:block}
.doc-row .doc__photo{aspect-ratio:4/4.2}
.doc-row .doc__body{padding:16px 18px 20px}
.doc-row .doc__name{font-size:17px}
.doc-row .doc__role{font-size:11.5px;margin-bottom:0}
.team-block .team__chips{justify-content:flex-end}
.team-block .dark-block__aside{align-items:flex-end}
@media (max-width:1020px){
  .team-block .team__chips{justify-content:flex-start}
  .team-block .dark-block__aside{align-items:flex-start}
}

/* ---- team block: LIGHT container with brand grid lines ---- */
.team-block .dark-block__frame{position:relative;background:var(--surface-2);border:1px solid var(--line)}
.team-block .dark-block__head,.team-block .hscroll,.team-block .hscroll__foot{position:relative;z-index:2}
.team-block .dark-block__title{color:var(--ink)}
.team-block .team__eyebrow{color:var(--teal-deep)}
.team-block .dark-block__aside p{color:var(--ink-2)}
.team-block .link-w{color:var(--blue)}
.team-block .team__chips span{background:#fff;border:1px solid var(--line);color:var(--ink-2);backdrop-filter:none}
.team-block .hscroll__hint{color:var(--ink-3)}
.team-block .hbtn{border-color:var(--line-2);background:#fff;color:var(--ink)}
.team-block .hbtn:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.team-block .doc{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.team-block .doc:hover{box-shadow:var(--shadow-md)}
/* light ripple grid: hairlines in brand ink, teal pulse on click */
.ripple--light i{border-color:rgba(13,31,48,.06)}
.ripple--light i:hover{background:rgba(0,170,236,.10)}
.ripple--light i.pulse{animation:cellPulseLight .9s var(--ease) var(--rd) both}
@keyframes cellPulseLight{0%{background:transparent}30%{background:rgba(0,170,236,.22)}100%{background:transparent}}

/* location page */
.loc-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:start}
.loc-info{display:grid;gap:14px}
.loc-info__card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px}
.loc-info__card h3{font-size:14px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px}
.loc-info__card p,.loc-info__card a{font-size:16.5px;font-weight:600;color:var(--ink)}
.loc-info__card a:hover{color:var(--blue)}
.hours{width:100%;border-collapse:collapse}
.hours td{padding:7px 0;font-size:15px;color:var(--ink-2);font-weight:500}
.hours td:last-child{text-align:right;font-weight:700;color:var(--ink)}
.loc-map{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-md);border:1px solid var(--line)}
.loc-map iframe{display:block;width:100%;height:440px;border:0}
/* booking form */
.bform{max-width:640px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-md);padding:36px}
.bform__row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.bform label,.rev__panel label{display:block;font-size:13.5px;font-weight:700;color:var(--ink);margin:0 0 6px}
.bform .field,.rev__panel .field{margin-bottom:18px}
.bform input,.bform select,.bform textarea,.rev__panel input,.rev__panel textarea{width:100%;padding:13px 14px;border:1.5px solid var(--line);border-radius:10px;font-family:var(--font);font-size:15.5px;color:var(--ink);background:#fff;transition:border-color .2s}
.bform input:focus,.bform select:focus,.bform textarea:focus,.rev__panel input:focus,.rev__panel textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(48,113,185,.12)}
.bform textarea,.rev__panel textarea{min-height:100px;resize:vertical}
.bform__fine{font-size:12.5px;color:var(--ink-3);margin-top:14px}
.bthanks{max-width:640px;background:var(--mint);border:1px solid #bfe8d8;border-radius:var(--r-lg);padding:40px;text-align:center}
.bthanks h3{font-size:24px;margin-bottom:10px}
.bthanks p{color:var(--ink-2)}
@media (max-width:1020px){
  .page-hero__frame{padding:calc(var(--nav-h) + 28px) 32px 40px}
  .pg__grid,.loc-grid{grid-template-columns:1fr;gap:32px}
  .step-row{grid-template-columns:1fr}
}
@media (max-width:640px){
  .page-hero__frame{padding:calc(var(--nav-h) + 20px) 22px 32px}
  .pg{padding:52px 0}
  .bform{padding:24px 18px}
  .bform__row{grid-template-columns:1fr}
  .loc-map iframe{height:320px}
}

/* =========================================================
   LANGUAGE SWITCHER
   ========================================================= */
.langsw{position:relative}
.langsw__btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:40px;padding:0 14px;border:0;border-radius:10px;background:rgba(120,128,138,.38);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#fff;font-family:var(--font);font-size:13.5px;font-weight:700;line-height:1;cursor:pointer;transition:background .25s}
.langsw__btn:hover{background:rgba(255,255,255,.28)}
.nav[data-state="scrolled"] .langsw__btn{background:rgba(13,31,48,.6);box-shadow:var(--shadow-md)}
.langsw__menu{position:absolute;right:0;top:calc(100% + 8px);min-width:150px;background:#fff;border-radius:14px;box-shadow:var(--shadow-lg);padding:6px;opacity:0;visibility:hidden;transform:translateY(6px);transition:.22s var(--ease);z-index:60}
.langsw.is-open .langsw__menu{opacity:1;visibility:visible;transform:none}
.langsw__menu button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 13px;border:0;background:transparent;border-radius:9px;font-family:var(--font);font-size:14.5px;font-weight:600;color:var(--ink);cursor:pointer;text-align:left}
.langsw__menu button:hover{background:var(--surface-2);color:var(--blue)}
.langsw__menu button.is-active{color:var(--blue);background:#eef6ff}
.menu__langs{display:flex;gap:8px;flex-wrap:wrap}
.menu__langs button{padding:9px 15px;border-radius:999px;border:1px solid var(--line);background:#fff;font-family:var(--font);font-size:13.5px;font-weight:700;color:var(--ink-2);cursor:pointer;transition:.2s}
.menu__langs button.is-active,.menu__langs button:hover{border-color:var(--blue);color:var(--blue)}

/* =========================================================
   AI CHAT WIDGET
   ========================================================= */
.chatp{position:fixed;right:22px;bottom:96px;z-index:85;width:min(390px,calc(100vw - 32px));height:min(560px,calc(100dvh - 130px));display:flex;flex-direction:column;background:#fff;border-radius:var(--r-lg);box-shadow:0 30px 80px rgba(13,31,48,.28),0 8px 24px rgba(13,31,48,.14);overflow:hidden;opacity:0;visibility:hidden;transform:translateY(18px) scale(.97);transform-origin:bottom right;transition:opacity .3s var(--ease),transform .3s var(--ease),visibility .3s}
.chatp.is-open{opacity:1;visibility:visible;transform:none}
.chatp__head{display:flex;align-items:center;gap:12px;padding:16px 18px;background:var(--dark);color:#fff}
.chatp__ava{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:linear-gradient(150deg,var(--teal),var(--blue));flex:0 0 auto}
.chatp__ava [class^="i-"]{width:18px;height:18px;color:#fff}
.chatp__title{font-size:15.5px;font-weight:800;line-height:1.2}
.chatp__sub{font-size:11.5px;font-weight:500;color:rgba(255,255,255,.55)}
.chatp__close{margin-left:auto;position:relative;width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:transparent;cursor:pointer;flex:0 0 auto}
.chatp__close span{position:absolute;left:50%;top:50%;width:13px;height:1.8px;background:#fff;border-radius:2px}
.chatp__close span:first-child{transform:translate(-50%,-50%) rotate(45deg)}
.chatp__close span:last-child{transform:translate(-50%,-50%) rotate(-45deg)}
.chatp__msgs{flex:1;overflow-y:auto;padding:18px 16px 8px;display:flex;flex-direction:column;gap:10px;background:var(--surface-2)}
.cmsg{max-width:82%;padding:11px 14px;border-radius:16px;font-size:14.5px;line-height:1.5;white-space:pre-line}
.cmsg--bot{align-self:flex-start;background:#fff;color:var(--ink);border:1px solid var(--line);border-bottom-left-radius:6px}
.cmsg--user{align-self:flex-end;background:var(--blue);color:#fff;border-bottom-right-radius:6px}
.cmsg__cta{display:inline-flex;align-items:center;gap:7px;margin:8px 6px 0 0;padding:9px 15px;border-radius:999px;background:var(--blue);color:#fff !important;font-size:13.5px;font-weight:700}
.cmsg__cta--ghost{background:#fff;color:var(--blue) !important;border:1.5px solid var(--blue)}
.ctyping{align-self:flex-start;display:flex;gap:4px;padding:13px 16px;background:#fff;border:1px solid var(--line);border-radius:16px;border-bottom-left-radius:6px}
.ctyping i{width:7px;height:7px;border-radius:50%;background:var(--ink-3);animation:ctyp 1s ease-in-out infinite}
.ctyping i:nth-child(2){animation-delay:.15s}
.ctyping i:nth-child(3){animation-delay:.3s}
@keyframes ctyp{0%,100%{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}
.chatp__chips{display:flex;gap:8px;flex-wrap:wrap;padding:10px 16px;background:var(--surface-2)}
.chatp__chips button{padding:8px 14px;border-radius:999px;border:1.5px solid var(--line);background:#fff;font-family:var(--font);font-size:13px;font-weight:700;color:var(--ink-2);cursor:pointer;transition:.18s}
.chatp__chips button:hover{border-color:var(--blue);color:var(--blue)}
.chatp__inrow{display:flex;gap:10px;padding:12px 14px;background:#fff;border-top:1px solid var(--line)}
.chatp__in{flex:1;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;font-family:var(--font);font-size:14.5px;color:var(--ink)}
.chatp__in:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(48,113,185,.12)}
.chatp__send{display:grid;place-items:center;width:46px;border:0;border-radius:12px;background:var(--blue);color:#fff;cursor:pointer;transition:background .2s}
.chatp__send:hover{background:var(--blue-deep)}
.chatp__send [class^="i-"]{width:17px;height:17px}
@media (max-width:640px){
  .chatp{right:8px;left:8px;bottom:86px;width:auto;height:min(66dvh,540px)}
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important}
  .reveal,.js .reveal{opacity:1 !important;transform:none !important}
  .menu{transition:none}
  .menu__mask span{transform:none}
  .marquee__track,.kinetic__track{animation:none}
  .chat-fab__pulse{display:none}
  .hero__video{display:none}
}

/* ---- insurance page: real logo grid (no plain names) ---- */
.ins-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:26px}
.ins-cell{display:flex;align-items:center;justify-content:center;gap:9px;min-height:84px;padding:18px 20px;background:#fff;border:1px solid var(--line);border-radius:var(--r);transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s}
.ins-cell:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:#cfe0ee}
.ins-cell .ins-logo{height:26px;width:auto;max-width:100%;object-fit:contain;filter:none;opacity:1}
.ins-cell .ins-logo--mark{height:24px}
.ins-cell .ins-mark{color:var(--ink);font-size:15px;font-weight:800;letter-spacing:-.01em}
@media (max-width:900px){.ins-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){.ins-grid{grid-template-columns:repeat(2,1fr);gap:10px}.ins-cell{min-height:72px;padding:14px}.ins-cell .ins-logo{height:20px}.ins-cell .ins-mark{font-size:13px}}

/* ---- hub pages (all conditions / all treatments) ---- */
.hub__group{padding:28px 0;border-bottom:1px solid var(--line)}
.hub__group:last-child{border-bottom:0}
.hub__group h2{font-size:clamp(20px,2.1vw,26px);margin-bottom:18px}
.hub__links{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.hub__links a{display:block;padding:15px 18px;border:1px solid var(--line);border-radius:var(--r);background:#fff;transition:transform .22s var(--ease),box-shadow .22s var(--ease),border-color .22s}
.hub__links a:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:#cfe0ee}
.hub__links strong{font-size:15.5px;font-weight:700;color:var(--ink)}
.hub__links a:hover strong{color:var(--blue)}
@media (max-width:900px){.hub__links{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.hub__links{grid-template-columns:1fr}}


/* ---- compact two-level mega menu: categories -> flyout items ---- */
.submenu{display:grid;grid-template-columns:212px 1fr;gap:16px}
.submenu__cats{display:flex;flex-direction:column;gap:2px;border-right:1px solid var(--line);padding-right:14px}
.submenu__cat{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:11px 13px;border:0;background:transparent;border-radius:10px;font-family:var(--font);font-size:14.5px;font-weight:700;color:var(--ink);text-align:left;cursor:pointer;transition:background .16s,color .16s}
.submenu__cat:hover,.submenu__cat.is-active{background:var(--surface-2);color:var(--blue)}
.submenu__cat [class^="i-"]{width:12px;height:12px;opacity:0;transform:translateX(-3px);transition:opacity .18s,transform .18s}
.submenu__cat.is-active [class^="i-"]{opacity:1;transform:none}
.submenu__list{display:none;grid-template-columns:1fr 1fr;gap:1px 6px;align-content:start}
.submenu__list.is-active{display:grid}
.submenu__list a{padding:8px 12px;border-radius:8px;font-size:14px;font-weight:600;color:var(--ink-2);transition:background .16s,color .16s;animation:megaIn .34s var(--ease) both}
.submenu__list a:hover{background:var(--surface-2);color:var(--blue)}
.submenu__list a:nth-child(2){animation-delay:.02s}
.submenu__list a:nth-child(3){animation-delay:.04s}
.submenu__list a:nth-child(4){animation-delay:.06s}
.submenu__list a:nth-child(5){animation-delay:.08s}
.submenu__list a:nth-child(n+6){animation-delay:.1s}
/* mobile accordion group headings */
.menu__subhead{grid-column:1/-1;margin:12px 0 2px;font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--teal)}
.menu__subhead:first-child{margin-top:4px}
@media (max-width:1020px){.submenu{grid-template-columns:1fr}}

/* ---- hero typewriter ---- */
.typeword{display:inline-block;text-align:left;white-space:nowrap}
.typeword::after{content:"";display:inline-block;width:.055em;height:.82em;margin-left:.06em;vertical-align:-.06em;background:currentColor;opacity:.85;animation:caret 1.05s steps(1) infinite}
.typeword.is-static::after{display:none}
@keyframes caret{50%{opacity:0}}
@media (prefers-reduced-motion:reduce){.typeword::after{display:none}}

/* Location hours */
.hours tr.is-closed td,
.hours tr.is-closed td:last-child { color: var(--ink-3); font-weight: 500; }
.hours tr.is-today td,
.hours tr.is-today td:last-child { color: var(--blue); font-weight: 700; }
/* Today, but closed: bold for orientation, never brand-blue — blue reads as "open now". */
.hours tr.is-today.is-closed td,
.hours tr.is-today.is-closed td:last-child { color: var(--ink-3); font-weight: 700; }
.loc-info__card p.hours__note { margin-top: 10px; font-size: 14px; line-height: 1.5; font-weight: 500; color: var(--ink-3); }

/* ---------- social icons ---------- */
.i-facebook{-webkit-mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2523000'><path d='M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z'/></svg>");mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2523000'><path d='M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z'/></svg>")}
.i-instagram{-webkit-mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2523000'><path d='M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zM12 0C8.741 0 8.333.014 7.053.072 2.695.272.273 2.69.073 7.052.014 8.333 0 8.741 0 12c0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98C8.333 23.986 8.741 24 12 24c3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98C15.668.014 15.259 0 12 0zm0 5.838a6.162 6.162 0 100 12.324 6.162 6.162 0 000-12.324zM12 16a4 4 0 110-8 4 4 0 010 8zm6.406-11.845a1.44 1.44 0 100 2.881 1.44 1.44 0 000-2.881z'/></svg>");mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2523000'><path d='M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zM12 0C8.741 0 8.333.014 7.053.072 2.695.272.273 2.69.073 7.052.014 8.333 0 8.741 0 12c0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98C8.333 23.986 8.741 24 12 24c3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98C15.668.014 15.259 0 12 0zm0 5.838a6.162 6.162 0 100 12.324 6.162 6.162 0 000-12.324zM12 16a4 4 0 110-8 4 4 0 010 8zm6.406-11.845a1.44 1.44 0 100 2.881 1.44 1.44 0 000-2.881z'/></svg>")}
.i-x{-webkit-mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2523000'><path d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z'/></svg>");mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2523000'><path d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z'/></svg>")}

/* ---------- footer social row ---------- */
.soc{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}
.soc__a{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink-3);transition:background .2s,border-color .2s,color .2s,transform .2s}
.soc__a:hover{background:var(--blue);border-color:var(--blue);color:#fff;transform:translateY(-2px)}
.soc__a:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.soc__a [class^="i-"]{width:16px;height:16px;vertical-align:0}
.foot__fax{color:var(--ink-3);font-size:14px;margin:2px 0 0;line-height:1.5}
.foot__fax b{color:var(--ink-2);font-weight:700}

/* ---------- 3D pain map ---------- */
.pmap{display:grid;grid-template-columns:1.05fr .95fr;gap:30px;align-items:start}
@media(max-width:860px){.pmap{grid-template-columns:1fr}}
.pmap__stage{position:relative;border-radius:20px;overflow:hidden;background:var(--surface-2);border:1px solid var(--line);aspect-ratio:4/5}
.pmap__stage iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.pmap__hint{position:absolute;left:14px;bottom:12px;right:14px;background:rgba(13,31,48,.74);color:#fff;font-size:12.5px;font-weight:600;padding:8px 13px;border-radius:12px;backdrop-filter:blur(6px);pointer-events:none}
.pmap__panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px}
.pmap__step{font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--teal-deep)}
.pmap__q{font-weight:800;font-size:19px;color:var(--ink);margin:6px 0 14px}
.pmap__chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.pmap__chip{border:1px solid var(--line);background:#fff;color:var(--ink);font-weight:600;font-size:14px;padding:8px 14px;border-radius:999px;cursor:pointer;transition:border-color .18s,color .18s,background .18s}
.pmap__chip:hover{border-color:var(--blue);color:var(--blue)}
.pmap__chip[aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:#fff}
.pmap__sevrow{display:flex;align-items:center;gap:14px}
.pmap__range{flex:1;accent-color:var(--blue);height:6px}
.pmap__sevval{font-weight:800;font-size:24px;color:var(--blue);min-width:2.4ch;text-align:center}
.pmap__sevlabels{display:flex;justify-content:space-between;font-size:12px;color:var(--ink-3);margin:4px 2px 22px}
.pmap__result{margin-top:4px;padding:18px;border-radius:14px;background:var(--surface-2);border:1px solid var(--line)}
.pmap__result-kicker{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:0}
.pmap__result h3{margin:6px 0 6px;font-size:20px}
.pmap__result p{margin:0 0 14px;color:var(--ink-2);font-size:15px}
.pmap__urgent{margin-top:12px;font-size:14px;color:var(--ink);background:#fff4f2;border:1px solid #ffd9d1;border-radius:12px;padding:12px 14px}
.pmap__attrib{font-size:12px;color:var(--ink-3);margin-top:16px}
.pmap__attrib a{color:var(--ink-3);text-decoration:underline}

/* ---------- review / feedback ---------- */
.rev{max-width:660px;margin:0 auto}
.rev__panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px}
.rev__step{font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--teal-deep)}
.rev__q{font-weight:800;font-size:19px;color:var(--ink);margin:6px 0 14px}
.rev__offices{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}
.rev__chip{border:1px solid var(--line);background:#fff;color:var(--ink);font-weight:600;font-size:14px;padding:9px 15px;border-radius:999px;cursor:pointer;transition:border-color .18s,color .18s,background .18s}
.rev__chip:hover{border-color:var(--blue);color:var(--blue)}
.rev__chip[aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:#fff}
.rev__stars{display:flex;gap:8px;margin-bottom:26px}
.rev__star{width:46px;height:46px;border:0;background:transparent;cursor:pointer;padding:0;color:#d7dee6;transition:transform .12s,color .15s}
.rev__star [class^="i-"]{width:40px;height:40px}
.rev__star:hover{transform:scale(1.08)}
.rev__star.is-on{color:#f5b301}
.rev__result{margin-top:6px;padding:20px;border-radius:14px;background:var(--surface-2);border:1px solid var(--line)}
.rev__result h3{margin:0 0 6px;font-size:20px}
.rev__result p{margin:0 0 16px;color:var(--ink-2);font-size:15px}
.rev__actions{display:flex;flex-wrap:wrap;gap:10px}
.rev__google{display:inline-flex;align-items:center;gap:10px}
.rev__fine{font-size:13px;color:var(--ink-3);margin-top:16px}

.pg__media--doc img{aspect-ratio:4/5;object-position:center top}
.loc-photo{width:100%;border-radius:14px;display:block}

/* pain map: inline SVG body */
.pmap__stage--svg{aspect-ratio:auto;padding:26px 18px 46px;background:var(--surface-2)}
.pmap__views{display:flex;gap:10px;justify-content:center}
.pmap__fig{margin:0;flex:1;max-width:230px;text-align:center}
.pmap__fig figcaption{font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px}
.pmap__svg{width:100%;height:auto;display:block}
.pmap__body{fill:#cfdbe6;stroke:#b3c4d4;stroke-width:1.5}
.pmap__spot{cursor:pointer}
.pmap__spot .pmap__ring{fill:rgba(48,113,185,.16);transition:fill .2s}
.pmap__spot .pmap__dot{fill:var(--blue)}
.pmap__spot:hover .pmap__ring,.pmap__spot:focus-visible .pmap__ring{fill:rgba(48,113,185,.32)}
.pmap__spot.is-on .pmap__ring{fill:rgba(48,113,185,.38)}
.pmap__spot.is-on .pmap__dot{fill:var(--teal)}

/* migrated long-form content */
.deep__kicker{font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--teal-deep);margin:0 0 6px}
.deep h2{font-size:24px;margin:30px 0 10px}
.deep h3{font-size:19px;margin:24px 0 8px}
.deep p{margin:0 0 14px}
.deep .checklist{margin:12px 0 18px}

/* resources */
.res-forms{display:grid;gap:8px;margin-top:14px}
.res-form{display:flex;align-items:center;gap:10px;padding:13px 16px;border:1px solid var(--line);border-radius:12px;font-weight:700;color:var(--ink);background:#fff;transition:border-color .2s,color .2s}
.res-form:hover{border-color:var(--blue);color:var(--blue)}
.foot__fax a{display:inline;padding:0;color:inherit;font-weight:inherit;font-size:inherit}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.blog-grid .svc{width:auto}
@media(max-width:900px){.blog-grid{grid-template-columns:1fr}}

/* ---------- Areas We Treat (anatomy) ---------- */
.areas{padding:90px 0 70px;background:linear-gradient(180deg,#fff, var(--surface-2))}
.areas__head{text-align:center;max-width:640px;margin:0 auto 46px;padding:0 20px}
.areas__eyebrow{font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--teal-deep)}
.areas__head h2{font-size:clamp(30px,4.5vw,46px);margin:10px 0 12px}
.areas__head p{color:var(--ink-2);font-size:16.5px}
.areas__stage{position:relative;max-width:820px;margin:0 auto;padding:0 16px}
.areas__img{width:100%;display:block}
.apoint{position:absolute;display:flex;align-items:center;gap:8px;transform:translateY(-50%)}
.apoint__dot{width:9px;height:9px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px rgba(48,113,185,.15);flex:0 0 auto}
.apoint__line{width:20px;height:1px;background:rgba(48,113,185,.45);flex:0 0 auto}
.apoint__pill{background:#fff;border:1px solid var(--line);border-radius:999px;box-shadow:0 2px 8px rgba(13,31,48,.07);padding:6px 12px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2);white-space:nowrap;transition:color .2s,border-color .2s,transform .2s}
.apoint:hover .apoint__pill{color:var(--blue);border-color:var(--blue);transform:translateY(-2px)}
.apoint--left{flex-direction:row-reverse;transform:translate(-100%,-50%)}
.areas__grid{display:none}
.areas__strip{display:flex;justify-content:center;gap:54px;flex-wrap:wrap;margin:54px auto 0;padding:26px 20px 0;border-top:1px solid var(--line);max-width:980px}
.areas__strip-item{display:flex;gap:12px;align-items:flex-start;max-width:260px}
.areas__strip-item .i-check{width:20px;height:20px;color:var(--teal);margin-top:2px;flex:0 0 auto}
.areas__strip-item b{display:block;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.areas__strip-item span{font-size:14px;color:var(--ink-3)}
@media(max-width:760px){
  .apoint{display:none}
  .areas__grid{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:22px;padding:0 16px}
  .areas__grid a{background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 15px;font-size:13px;font-weight:700;color:var(--ink)}
}

/* translation disclaimer (i18n.js, non-English only) */
.i18n-note{width:calc(100% - 36px);max-width:calc(var(--wrap) - 56px);margin:28px auto 0;padding:12px 16px;border:1px solid var(--line);border-left:3px solid var(--teal);border-radius:var(--r);background:var(--surface-2);color:var(--ink-2);font-size:14px;line-height:1.55}
.i18n-note[hidden]{display:none}

/* ============ WORKERS' COMP (njapo.com) ============ */
.wc{padding:96px 0 88px;background:var(--white)}
.wc__head{max-width:980px;margin-bottom:40px}
.wc__eyebrow{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-deep);margin-bottom:14px}
.wc__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.wc__item{position:relative;overflow:hidden;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 22px 28px;display:flex;flex-direction:column;gap:26px;min-height:172px}
.wc__item::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--teal),var(--blue-deep))}
.wc__num{font-size:13px;font-weight:800;letter-spacing:.06em;color:var(--blue)}
.wc__item h3{margin:auto 0 0;font-size:19px;font-weight:700;line-height:1.3;color:var(--ink)}
.wc__cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:34px}
.wc__cta .btn-ghost-b{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:16px;padding:15px 24px;border-radius:999px;border:1.5px solid var(--line);color:var(--ink);transition:border-color .2s}
.wc__cta .btn-ghost-b:hover{border-color:var(--ink-3)}
@media (max-width:1100px){.wc__list{grid-template-columns:repeat(3,1fr)}}
@media (max-width:720px){
  .wc{padding:64px 0 60px}
  .wc__list{grid-template-columns:1fr;gap:10px}
  .wc__item{min-height:0;flex-direction:row;align-items:center;gap:16px;padding:18px 20px}
  .wc__item h3{margin:0;font-size:17px}
  .wc__cta .btn-pill{width:100%;justify-content:space-between;font-size:15.5px}
  .wc__cta .btn-ghost-b{width:100%;justify-content:center}
}


/* ============ PHONES: no long vertical lists (njapo.com mobile pass) ============
   Many-row blocks become one swipeable row or a collapsed view. app.js adds the
   dots and "Show all" buttons; everything here is scoped to phones only. */
.swipe-dots,.more-btn{display:none}
.menu__grp{grid-column:1/-1;border-top:1px solid var(--line)}
.menu__grp:first-child{border-top:0}
.menu__grp-btn{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:48px;padding:6px 0;border:0;background:none;font-family:var(--font);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-deep);text-align:left;cursor:pointer}
.menu__grp-btn .menu__plus{flex-basis:26px;height:26px}
.menu__grp.is-open .menu__grp-btn .menu__plus{background:var(--surface-2);transform:rotate(45deg)}
.menu__grp-links{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;max-height:0;overflow:hidden;transition:max-height .35s var(--ease)}
.menu__grp.is-open .menu__grp-links{max-height:900px;padding-bottom:8px}
@media (max-width:640px){
  .doc-grid,.wc__list,.step-row,.hub__links{display:flex !important;grid-template-columns:none !important;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:12px;margin-left:-18px;margin-right:-18px;padding:4px 18px 8px;scroll-padding:0 18px}
  .doc-grid::-webkit-scrollbar,.wc__list::-webkit-scrollbar,.step-row::-webkit-scrollbar,.hub__links::-webkit-scrollbar{display:none}
  .doc-grid>*,.step-row>*{flex:0 0 84%;scroll-snap-align:start}
  .wc__list>*{flex:0 0 66%;scroll-snap-align:start}
  .wc__list .wc__item{flex-direction:column;align-items:flex-start;min-height:128px;gap:20px;padding:22px 20px}
  .wc__list .wc__item h3{margin:auto 0 0}
  .hub__links>*{flex:0 0 auto;scroll-snap-align:start}
  .hub__links a{padding:12px 16px;white-space:nowrap}
  .hub__links{-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
  .hub__group{padding:20px 0}
  .hub__group h2{margin-bottom:12px}
  .swipe-dots{display:flex;justify-content:center;gap:6px;margin-top:12px}
  .swipe-dots i{width:6px;height:6px;border-radius:3px;background:var(--line);transition:width .25s var(--ease),background .25s}
  .swipe-dots i.is-on{width:18px;background:var(--blue)}
  .dark-block .swipe-dots i{background:rgba(255,255,255,.25)}
  .dark-block .swipe-dots i.is-on{background:#fff}
  .clamp{max-height:300px;overflow:hidden;position:relative}
  .clamp::after{content:"";position:absolute;left:0;right:0;bottom:0;height:90px;background:linear-gradient(rgba(255,255,255,0),#fff);pointer-events:none}
  .clamp--open{max-height:none}
  .clamp--open::after{display:none}
  .shortlist:not(.shortlist--open) li:nth-child(n+5){display:none}
  .shorthours:not(.shorthours--open) tr:not(.is-today){display:none}
  .more-btn{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:11px 18px;min-height:44px;border:1.5px solid var(--line);border-radius:999px;background:#fff;font-family:var(--font);font-size:14.5px;font-weight:700;color:var(--ink);cursor:pointer}
  .more-btn::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .25s}
  .more-btn[aria-expanded="true"]::after{transform:translateY(2px) rotate(-135deg)}
}
/* scrolled: the logo floats over content, so it gets the same frosted backing as
   the menu button (APO's mark is taller than WeCare's and collided with headings) */
.nav__logo{transition:background .3s,box-shadow .3s}
.nav[data-state="scrolled"] .nav__logo{height:auto;margin:-6px -10px;padding:6px 10px;border-radius:12px;background:rgba(255,255,255,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow-md)}
.nav[data-state="scrolled"] .nav__logo-dark{top:6px;left:10px}
