﻿/*
Theme Name: Dr. Deepak Srivastav - Tricity Doctor
Theme URI: http://localhost/tricity-doctor/
Author: Tricity Doctor Team
Description: Custom high-performance theme for Dr. Deepak Srivastav, General Physician in Zirakpur, featuring smooth Lenis scrolling, GSAP animations, particle canvas, ECG canvas, interactive appointment and home visit bookings, interactive visit planner, and condition explorer.
Version: 1.0.0
Text Domain: tricity-doctor
*/

/* WordPress Admin Bar Compatibility */
body.admin-bar header.nav { top: 32px; }
@media screen and (max-width: 782px) { body.admin-bar header.nav { top: 46px; } }

  :root{
    --navy:#0A2540; --navy-2:#0F3460; --ink:#0A2540; --ink-2:#44556B; --ink-3:#7587A0;
    --blue:#1565D8; --blue-2:#2F8BFF; --teal:#0FB5A6; --teal-2:#34D3C4;
    --sky:#EEF5FF; --sky-2:#E2EEFF; --mint:#E7F8F6; --rose:#E5484D;
    --line:#E3EAF3; --line-2:#CFDAE9; --bg:#FFFFFF; --bg-2:#F5F9FE;
    --r:16px; --r-lg:26px;
    --shadow:0 1px 2px rgba(10,37,64,.04),0 16px 40px -18px rgba(21,101,216,.22);
    --shadow-lg:0 30px 70px -28px rgba(21,101,216,.35);
    --ease:cubic-bezier(.2,.7,.2,1);
  }
  *{box-sizing:border-box;margin:0}
  html{-webkit-text-size-adjust:100%}
  html.lenis,html.lenis body{height:auto}
  .lenis.lenis-smooth{scroll-behavior:auto!important}
  body{font-family:"Plus Jakarta Sans",system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
  body.lock{overflow:hidden}
  a{color:inherit;text-decoration:none}
  button{font:inherit;color:inherit;cursor:pointer;background:none;border:0}
  img{max-width:100%;display:block}
  ul{padding:0}
  svg.i{width:1em;height:1em;flex:none;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
  .wrap{max-width:1200px;margin:0 auto;padding:0 24px}
  .eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);background:var(--sky);padding:7px 14px;border-radius:999px}
  .eyebrow svg{font-size:14px}
  h1,h2,h3{letter-spacing:-.03em;line-height:1.08;font-weight:800}
  h2{font-size:clamp(32px,4.6vw,54px)}
  .lede{color:var(--ink-2);font-size:18px;max-width:56ch}
  .skip{position:absolute;left:-999px}.skip:focus{left:16px;top:16px;background:#fff;padding:10px 14px;border-radius:8px;z-index:9999}
  :focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:6px}

  /* marker highlight (no italics) */
  .hl{color:var(--blue);background-image:linear-gradient(rgba(15,181,166,.3),rgba(15,181,166,.3));background-repeat:no-repeat;background-position:0 94%;background-size:0% .3em;transition:background-size 1s var(--ease) .5s}
  .hl.on{background-size:100% .3em}
  .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.14em;margin-bottom:-.14em}
  .w>span{display:inline-block;will-change:transform}

  /* buttons */
  .btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:48px;padding:0 24px;border-radius:999px;font-weight:700;font-size:15px;overflow:hidden;isolation:isolate;transition:box-shadow .3s,border-color .3s,color .3s;white-space:nowrap}
  .btn svg.i{font-size:17px;transition:transform .35s var(--ease)}
  .btn:hover svg.i{transform:translateX(4px)}
  .btn-primary{background:linear-gradient(135deg,var(--blue-2),var(--blue));color:#fff;box-shadow:0 12px 28px -12px rgba(21,101,216,.8)}
  .btn-primary::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,var(--teal),var(--blue));opacity:0;transition:opacity .4s;z-index:-1}
  .btn-primary:hover::before{opacity:1}
  .btn-primary:hover{box-shadow:0 18px 36px -12px rgba(21,101,216,.9)}
  .btn-dark{background:var(--navy);color:#fff}
  .btn-dark::before{content:"";position:absolute;inset:0;background:var(--blue);transform:translateY(101%);transition:transform .45s var(--ease);z-index:-1}
  .btn-dark:hover::before{transform:none}
  .btn-ghost{border:1.5px solid var(--line-2);background:#fff;color:var(--ink)}
  .btn-ghost:hover{border-color:var(--blue);color:var(--blue)}
  .btn-white{background:#fff;color:var(--navy)}
  .btn-white:hover{box-shadow:0 18px 40px -14px rgba(255,255,255,.5)}

  .progress{position:fixed;left:0;top:0;height:3px;width:100%;background:linear-gradient(90deg,var(--teal),var(--blue-2));transform-origin:0 50%;transform:scaleX(0);z-index:900}
  .cursor-dot{position:fixed;left:0;top:0;width:6px;height:6px;border-radius:50%;background:var(--blue);pointer-events:none;z-index:951;display:none}
  .cursor-dot.on{display:block}
  @media (hover:none){.cursor,.cursor-dot{display:none!important}}

  /* preloader */
  .pre{position:fixed;inset:0;z-index:1000;background:#fff;display:grid;place-items:center}
  .pre-in{text-align:center}
  .pre svg.ecgp{width:min(300px,62vw);height:64px;overflow:visible}
  .pre path{stroke-dasharray:440;stroke-dashoffset:440}
  .pre .name{margin-top:18px;font-size:13px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--navy)}
  .pre .pct{font-size:12px;color:var(--ink-3);margin-top:6px;font-variant-numeric:tabular-nums}

  /* topbar + nav */
  .topbar{background:var(--navy);color:rgba(255,255,255,.85);font-size:13px}
  .topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:40px;flex-wrap:wrap;padding-top:6px;padding-bottom:6px}
  .topbar .l,.topbar .r{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
  .topbar span.t{display:inline-flex;align-items:center;gap:8px}
  .topbar svg.i{font-size:15px;color:var(--teal-2)}
  .topbar a{font-weight:600;color:#fff}
  .live{position:relative;width:8px;height:8px;border-radius:50%;background:#2FD18F;display:inline-block}
  .live::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1.5px solid #2FD18F;animation:ping 2s var(--ease) infinite}
  @keyframes ping{0%{transform:scale(.6);opacity:1}100%{transform:scale(2);opacity:0}}
  @media(max-width:700px){.topbar .hide-s{display:none!important}}

  header.nav{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.86);backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);border-bottom:1px solid var(--line);transition:transform .5s var(--ease),box-shadow .3s}
  header.nav.shadow{box-shadow:0 10px 30px -18px rgba(10,37,64,.3)}
  header.nav.hide{transform:translateY(-100%)}
  .nav .wrap{display:flex;align-items:center;justify-content:space-between;height:76px;gap:24px}
  .brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:-.02em;font-size:17px}
  .mark{width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,var(--teal),var(--blue));display:grid;place-items:center;color:#fff;box-shadow:0 10px 22px -10px rgba(21,101,216,.9);font-size:22px}
  .brand small{display:block;font-size:12px;color:var(--ink-3);font-weight:500;letter-spacing:0;margin-top:-1px}
  .links{display:flex;gap:6px;font-size:14.5px;font-weight:600;color:var(--ink-2)}
  .links a{position:relative;padding:9px 14px;border-radius:999px;transition:background .25s,color .25s}
  .links a:hover{background:var(--sky);color:var(--blue)}
  .nav-cta{display:flex;gap:10px;align-items:center}
  .iconbtn{width:46px;height:46px;border-radius:50%;border:1.5px solid var(--line-2);display:grid;place-items:center;font-size:19px;color:var(--ink);background:#fff;transition:all .25s}
  .iconbtn:hover{border-color:var(--blue);color:var(--blue)}
  .burger{display:none}
  .links a{padding:9px 11px}
  @media(max-width:1120px){.links{display:none}.burger{display:grid}.nav-cta .btn{display:none}}
  .drawer{position:fixed;inset:0;z-index:100;visibility:hidden}
  .drawer.open{visibility:visible}
  .drawer .scrim{position:absolute;inset:0;background:rgba(10,37,64,.55);opacity:0;transition:opacity .4s}
  .drawer.open .scrim{opacity:1}
  .drawer .panel{position:absolute;right:0;top:0;bottom:0;width:min(360px,88vw);background:#fff;padding:28px;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .5s var(--ease)}
  .drawer.open .panel{transform:none}
  .drawer .panel a{padding:16px 4px;border-bottom:1px solid var(--line);font-size:20px;letter-spacing:-.02em;font-weight:700}
  .drawer .panel .btn{margin-top:24px}

  /* HERO */
  .hero{position:relative;overflow:hidden;background:linear-gradient(180deg,#F4F9FF 0%,#FFFFFF 100%);padding:84px 0 130px}
  .hero canvas{position:absolute;left:0;bottom:0;width:100%;height:40%;pointer-events:none}
  .blob{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;will-change:transform}
  .blob.a{width:520px;height:520px;right:-120px;top:-120px;background:radial-gradient(closest-side,rgba(47,139,255,.35),transparent)}
  .blob.b{width:460px;height:460px;left:-140px;bottom:-60px;background:radial-gradient(closest-side,rgba(15,181,166,.28),transparent)}
  .hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center}
  @media(max-width:1020px){.hero-grid{grid-template-columns:1fr;gap:56px}.hero{padding:48px 0 100px}}
  .pill{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--line-2);background:#fff;border-radius:999px;padding:8px 18px 8px 14px;font-size:13.5px;font-weight:600;color:var(--ink-2);box-shadow:var(--shadow)}
  .hero h1{font-size:clamp(40px,5.8vw,78px);margin:26px 0 22px;line-height:1.02;letter-spacing:-.04em}
  .hero .lede{margin-bottom:34px}
  .search-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:8px;display:grid;grid-template-columns:1fr 1fr;gap:6px;max-width:600px;box-shadow:var(--shadow-lg)}
  .field{display:flex;gap:12px;align-items:center;padding:10px 16px;border-radius:16px;transition:background .2s}
  .field:hover{background:var(--sky)}
  .field .fi{width:38px;height:38px;border-radius:12px;background:var(--sky);color:var(--blue);display:grid;place-items:center;font-size:19px;flex:none}
  .field label{display:block;font-size:11px;color:var(--ink-3);font-weight:700;letter-spacing:.1em;text-transform:uppercase}
  .field select{width:100%;border:0;background:transparent;font:inherit;font-weight:700;font-size:14.5px;color:var(--ink);outline:none;cursor:pointer;appearance:none;padding:0}
  .search-card .btn{grid-column:1/-1;height:54px;border-radius:16px}
  @media(max-width:640px){.search-card{grid-template-columns:1fr}}
  .note{margin-top:16px;font-size:13px;color:var(--ink-3);display:flex;gap:8px;align-items:center}
  .note svg.i{color:var(--teal);font-size:16px}
  .hero-points{display:flex;gap:22px;flex-wrap:wrap;margin-top:28px}
  .hero-points span{display:inline-flex;gap:8px;align-items:center;font-size:14px;font-weight:600;color:var(--ink-2)}
  .hero-points svg.i{color:var(--teal);font-size:18px}

  /* ORBIT illustration */
  .orbit-wrap{position:relative;display:grid;place-items:center}
  .orbit{--size:min(520px,88vw);--R:calc(var(--size)*.47 - 34px);position:relative;width:var(--size);height:var(--size)}
  .ring{position:absolute;border-radius:50%}
  .ring.r1{inset:3%;border:1.5px solid rgba(21,101,216,.14)}
    .ring.r3{inset:29%;background:radial-gradient(closest-side,rgba(47,139,255,.14),transparent)}
  @keyframes spin{to{transform:rotate(360deg)}}
  .sweep{position:absolute;inset:3%;border-radius:50%;background:conic-gradient(from 0deg,rgba(21,101,216,0) 0deg,rgba(21,101,216,0) 285deg,rgba(47,139,255,.16) 360deg);-webkit-mask:radial-gradient(closest-side,transparent 58%,#000 59%,#000 99%,transparent 100%);mask:radial-gradient(closest-side,transparent 58%,#000 59%,#000 99%,transparent 100%);animation:spin 6s linear infinite}
  .tracer{position:absolute;inset:3%;animation:spin 6s linear infinite}
  .tracer i{position:absolute;left:50%;top:0;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--blue-2);box-shadow:0 0 0 5px rgba(47,139,255,.18),0 0 22px 4px rgba(47,139,255,.55)}
  @keyframes unspin{to{transform:rotate(-360deg)}}
  .spinner{position:absolute;inset:0;animation:spin 60s linear infinite}
  .node{position:absolute;left:50%;top:50%;width:68px;height:68px;margin:-34px 0 0 -34px;transform:rotate(var(--a)) translateX(var(--R))}
  .node-a{width:100%;height:100%;animation:unspin 60s linear infinite}
  .node-b{width:100%;height:100%;transform:rotate(calc(var(--a) * -1))}
  .bubble{width:100%;height:100%;border-radius:22px;background:#fff;display:grid;place-items:center;font-size:30px;color:var(--c);box-shadow:0 18px 34px -14px color-mix(in srgb,var(--c) 55%,transparent),0 0 0 1px var(--line);transition:transform .5s var(--ease),background .4s,color .4s,box-shadow .4s}
  .bubble.active{background:linear-gradient(135deg,var(--c),var(--c2));color:#fff;transform:scale(1.28);box-shadow:0 24px 44px -14px color-mix(in srgb,var(--c) 70%,transparent)}
  .core{position:absolute;inset:27%;display:grid;place-items:center;text-align:center}
  .core .pulse{position:absolute;inset:6%;border-radius:50%;border:2px solid rgba(21,101,216,.4);animation:ping2 3s var(--ease) infinite}
  .core .pulse:nth-child(2){animation-delay:1s}.core .pulse:nth-child(3){animation-delay:2s}
  @keyframes ping2{0%{transform:scale(.8);opacity:.9}100%{transform:scale(1.6);opacity:0}}
  .disc{position:relative;width:100%;height:100%;border-radius:50%;background:linear-gradient(145deg,#fff,#EAF3FF);box-shadow:0 30px 60px -24px rgba(21,101,216,.5),inset 0 0 0 1px #fff,0 0 0 1px var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:14px}
  .disc .big{font-size:clamp(40px,7vw,60px);color:var(--rose);animation:beat 1.4s ease-in-out infinite}
  @keyframes beat{0%,100%{transform:scale(1)}12%{transform:scale(1.14)}24%{transform:scale(1)}36%{transform:scale(1.1)}48%{transform:scale(1)}}
  .disc svg.mini{width:70%;height:20px;overflow:visible}
  .disc svg.mini path{stroke-dasharray:140;stroke-dashoffset:140;animation:ecgmini 2.4s linear infinite}
  @keyframes ecgmini{to{stroke-dashoffset:-140}}
  .disc .lab{font-size:clamp(11px,1.4vw,13px);font-weight:700;color:var(--navy);letter-spacing:.01em;min-height:1.4em;text-align:center;line-height:1.25}
  .disc .sub{font-size:10.5px;color:var(--ink-3);letter-spacing:.14em;text-transform:uppercase;font-weight:700}
  .fl{position:absolute;color:var(--teal);font-size:22px;opacity:.7;animation:floaty 7s ease-in-out infinite}
  .fl:nth-of-type(odd){color:var(--blue-2)}
  @keyframes floaty{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-18px) rotate(12deg)}}
  @media(max-width:520px){.node{width:54px;height:54px;margin:-27px 0 0 -27px}.bubble{font-size:24px;border-radius:18px}.orbit{--R:calc(var(--size)/2 - 30px)}}

  /* trust strip */
  .trust{position:relative;z-index:5;margin-top:-56px}
  .trust-grid{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow-lg);overflow:hidden}
  @media(max-width:900px){.trust-grid{grid-template-columns:1fr 1fr}}
  .tr{display:flex;gap:16px;align-items:center;padding:26px 28px;border-left:1px solid var(--line);transition:background .3s}
  .tr:first-child{border-left:0}
  .tr:hover{background:var(--bg-2)}
  .tr .ti{width:52px;height:52px;border-radius:16px;background:var(--sky);color:var(--blue);display:grid;place-items:center;font-size:25px;flex:none;transition:transform .4s var(--ease),background .3s,color .3s}
  .tr:hover .ti{transform:rotate(-8deg) scale(1.08);background:var(--blue);color:#fff}
  .tr b{display:block;font-size:17px;letter-spacing:-.02em;font-weight:800}
  .tr span{font-size:13px;color:var(--ink-3)}
  @media(max-width:900px){.tr:nth-child(3){border-left:0}.tr{border-top:1px solid var(--line);padding:20px}.tr:nth-child(-n+2){border-top:0}}

  section{padding:120px 0;position:relative}
  @media(max-width:760px){section{padding:80px 0}}
  .head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:56px;flex-wrap:wrap}
  .head h2{margin-top:18px;max-width:16ch}

  /* EXPLORER */
  .explorer{display:grid;grid-template-columns:400px 1fr;gap:28px;align-items:start}
  @media(max-width:1000px){.explorer{grid-template-columns:1fr}}
  .tabs{display:flex;flex-direction:column;gap:10px}
  @media(max-width:1000px){.tabs{flex-direction:row;overflow-x:auto;padding:4px 4px 12px;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{min-width:290px}}
  .tab{display:flex;align-items:center;gap:16px;text-align:left;padding:14px 18px 14px 14px;border-radius:20px;border:1.5px solid var(--line);background:#fff;transition:all .35s var(--ease);position:relative;overflow:hidden}
  .tab:hover{border-color:color-mix(in srgb,var(--c) 40%,var(--line));transform:translateX(4px);box-shadow:var(--shadow)}
  .tab[aria-selected="true"]{border-color:var(--c);box-shadow:0 16px 36px -16px color-mix(in srgb,var(--c) 55%,transparent);background:linear-gradient(100deg,color-mix(in srgb,var(--c) 7%,#fff),#fff 70%);transform:translateX(8px)}
  @media(max-width:1000px){.tab:hover,.tab[aria-selected="true"]{transform:none}}
  .tab .ti{width:54px;height:54px;border-radius:17px;display:grid;place-items:center;font-size:26px;flex:none;background:color-mix(in srgb,var(--c) 12%,#fff);color:var(--c);transition:all .4s var(--ease)}
  .tab[aria-selected="true"] .ti{background:linear-gradient(135deg,var(--c),var(--c2));color:#fff;box-shadow:0 12px 24px -10px var(--c);transform:rotate(-6deg) scale(1.06)}
  .tab .tt{flex:1;min-width:0}
  .tab .tt b{display:block;font-size:16.5px;font-weight:800;letter-spacing:-.02em}
  .tab .tt span{display:block;font-size:13px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .tab .go{font-size:18px;color:var(--ink-3);transition:transform .35s var(--ease),color .3s}
  .tab[aria-selected="true"] .go{color:var(--c);transform:translateX(3px)}
  .pane{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:44px;box-shadow:var(--shadow);position:relative;overflow:hidden;min-height:520px}
  .pane::before{content:"";position:absolute;left:0;top:0;right:0;height:5px;background:linear-gradient(90deg,var(--c),var(--c2));transition:background .4s}
  .pane::after{content:"";position:absolute;right:-110px;top:-110px;width:360px;height:360px;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--c) 16%,transparent),transparent);pointer-events:none}
  .ph{display:flex;gap:20px;align-items:center;position:relative}
  .ph .big{width:76px;height:76px;border-radius:24px;background:linear-gradient(135deg,var(--c),var(--c2));color:#fff;display:grid;place-items:center;font-size:38px;box-shadow:0 18px 34px -14px var(--c);flex:none}
  .pane .tag{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--c)}
  .pane h3{font-size:clamp(24px,2.8vw,34px);margin-top:4px}
  .pane p.d{color:var(--ink-2);max-width:62ch;margin-top:22px;position:relative}
  .chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;position:relative}
  .chip{display:inline-flex;gap:8px;align-items:center;padding:7px 14px;border-radius:999px;background:color-mix(in srgb,var(--c) 9%,#fff);color:var(--c);font-size:13px;font-weight:700}
  .chip svg.i{font-size:15px}
  .cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px;position:relative}
  @media(max-width:700px){.cols{grid-template-columns:1fr}.pane{padding:26px}.ph .big{width:60px;height:60px;font-size:30px;border-radius:19px}}
  .box{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r);padding:22px}
  .box h4{display:flex;gap:10px;align-items:center;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);font-weight:800;margin-bottom:12px}
  .box h4 svg.i{font-size:18px;color:var(--c)}
  .box li{list-style:none;display:flex;gap:10px;font-size:14.5px;color:var(--ink-2);padding:6px 0}
  .box li svg.i{font-size:17px;color:var(--c);margin-top:3px;stroke-width:2.4}
  .pane-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:28px;padding-top:24px;border-top:1px solid var(--line);flex-wrap:wrap;position:relative}
  .pane-foot span{font-size:13.5px;color:var(--ink-3);display:inline-flex;gap:8px;align-items:center}

  /* AREAS */
  .areas{background:linear-gradient(180deg,var(--bg-2),#fff);border-top:1px solid var(--line)}
  .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  @media(max-width:960px){.grid3{grid-template-columns:1fr 1fr}}
  @media(max-width:620px){.grid3{grid-template-columns:1fr}}
  .cell{--mx:50%;--my:50%;position:relative;padding:32px;border-radius:var(--r-lg);background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;gap:14px;overflow:hidden;transform-style:preserve-3d;will-change:transform;transition:border-color .4s,box-shadow .4s}
  .cell::before{content:"";position:absolute;inset:0;background:radial-gradient(380px circle at var(--mx) var(--my),color-mix(in srgb,var(--c) 14%,transparent),transparent 62%);opacity:0;transition:opacity .4s;pointer-events:none}
  .cell:hover::before{opacity:1}
  .cell:hover{border-color:color-mix(in srgb,var(--c) 45%,var(--line));box-shadow:0 26px 50px -26px color-mix(in srgb,var(--c) 60%,transparent)}
  .cell>*{position:relative}
  .cell .corner{position:absolute;right:-40px;top:-40px;width:140px;height:140px;border-radius:50%;background:color-mix(in srgb,var(--c) 8%,transparent);transition:transform .6s var(--ease)}
  .cell:hover .corner{transform:scale(1.6)}
  .cell .ic{width:62px;height:62px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(135deg,var(--c),var(--c2));color:#fff;font-size:30px;box-shadow:0 16px 28px -12px var(--c);transition:transform .5s var(--ease)}
  .cell:hover .ic{transform:rotate(-8deg) scale(1.08)}
  .cell h3{font-size:20px;letter-spacing:-.02em;line-height:1.2;margin-top:6px}
  .cell p{font-size:14.5px;color:var(--ink-2);flex:1}
  .cell .tags{display:flex;gap:8px;flex-wrap:wrap}
  .cell .tags span{font-size:12px;font-weight:700;padding:5px 11px;border-radius:999px;background:color-mix(in srgb,var(--c) 9%,#fff);color:var(--c)}
  .cell a.lnk{display:inline-flex;gap:8px;align-items:center;font-size:14px;font-weight:700;color:var(--ink);margin-top:6px;padding-top:16px;border-top:1px solid var(--line)}
  .cell a.lnk svg.i{font-size:17px;color:var(--c);transition:transform .35s var(--ease)}
  .cell a.lnk:hover svg.i{transform:translateX(6px)}

  /* JOURNEY */
  .story-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
  @media(max-width:900px){.story-grid{grid-template-columns:1fr;gap:40px}}
  .step{min-height:60vh;display:flex;flex-direction:column;justify-content:center;opacity:.25;transition:opacity .5s var(--ease)}
  .step.on{opacity:1}
  .step .si{width:60px;height:60px;border-radius:19px;background:var(--sky);color:var(--blue);display:grid;place-items:center;font-size:28px;margin-bottom:20px;transition:all .5s var(--ease)}
  .step.on .si{background:linear-gradient(135deg,var(--blue-2),var(--blue));color:#fff;box-shadow:0 16px 30px -12px var(--blue);transform:rotate(-6deg)}
  .step em{font-style:normal;font-size:12.5px;font-weight:800;letter-spacing:.14em;color:var(--teal);text-transform:uppercase}
  .step h3{font-size:clamp(28px,3.4vw,42px);margin:10px 0 14px}
  .step p{color:var(--ink-2);max-width:42ch;font-size:17px}
  @media(max-width:900px){.step{min-height:auto;padding:26px 0;opacity:1}}
  .story-vis{position:sticky;top:15vh;height:70vh;display:grid;place-items:center}
  @media(max-width:900px){.story-vis{display:none}}
  .ringwrap{position:relative;width:min(440px,100%);aspect-ratio:1}
  .ringwrap svg.rg{width:100%;height:100%;transform:rotate(-90deg)}
  .ring-bg{stroke:var(--sky-2);fill:none}
  .ring-fg{stroke:url(#rg);fill:none;stroke-linecap:round;stroke-dasharray:848;stroke-dashoffset:848}
  .ring-core{position:absolute;inset:13%;border-radius:50%;background:#fff;box-shadow:var(--shadow-lg);display:grid;place-items:center;text-align:center;border:1px solid var(--line)}
  .ring-core .ico{font-size:34px;color:var(--blue);margin-bottom:6px}
  .ring-core b{display:block;font-size:clamp(56px,7vw,92px);letter-spacing:-.05em;font-weight:800;line-height:1;color:var(--navy)}
  .ring-core span{display:block;font-size:13px;color:var(--ink-3);letter-spacing:.14em;text-transform:uppercase;margin-top:10px;font-weight:700}
  .tick{position:absolute;width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid var(--line-2);transition:all .4s var(--ease)}
  .tick.on{background:var(--teal);border-color:var(--teal);transform:scale(1.3)}

  /* NUMBERS */
  .nums{padding:90px 0;background:linear-gradient(120deg,var(--navy) 0%,var(--navy-2) 55%,#146BD8 130%);color:#fff;position:relative;overflow:hidden}
  .nums::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.08) 1.2px,transparent 1.2px);background-size:26px 26px}
  .nums .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;position:relative}
  @media(max-width:760px){.nums .wrap{grid-template-columns:1fr 1fr;gap:40px 20px}}
  .num .ni{width:48px;height:48px;border-radius:15px;background:rgba(255,255,255,.1);display:grid;place-items:center;font-size:24px;color:var(--teal-2);margin-bottom:18px}
  .num b{display:block;font-size:clamp(50px,6.4vw,88px);font-weight:800;letter-spacing:-.05em;line-height:1;font-variant-numeric:tabular-nums}
  .num b sup{font-size:.32em;vertical-align:top;margin-left:4px;letter-spacing:0;color:var(--teal-2);font-weight:700}
  .num span.l{display:block;margin-top:12px;font-size:14px;color:rgba(255,255,255,.7)}

  /* APPROACH */
  .std{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}
  @media(max-width:960px){.std{grid-template-columns:1fr;gap:48px}}
  .principles{margin-top:34px;display:grid;gap:14px}
  .pr{display:flex;gap:18px;padding:20px;border:1px solid var(--line);border-radius:20px;background:#fff;transition:all .35s var(--ease)}
  .pr:hover{border-color:var(--blue-2);box-shadow:var(--shadow);transform:translateX(6px)}
  .pr .pi{width:50px;height:50px;border-radius:16px;background:var(--mint);color:var(--teal);display:grid;place-items:center;font-size:24px;flex:none}
  .pr b{display:block;font-size:17px;font-weight:800;letter-spacing:-.01em;margin-bottom:2px}
  .pr span{font-size:14.5px;color:var(--ink-2)}
  .check{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:36px;box-shadow:var(--shadow-lg);position:sticky;top:110px}
  .check-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px}
  .check h3{font-size:24px;margin-top:10px}
  .badge{font-size:13px;font-weight:800;padding:6px 14px;border-radius:999px;background:var(--mint);color:#0A8F84;font-variant-numeric:tabular-nums}
  .bar{height:7px;background:var(--sky-2);border-radius:7px;margin:20px 0 22px;overflow:hidden}
  .bar i{display:block;height:100%;background:linear-gradient(90deg,var(--teal),var(--blue-2));width:0;transition:width .6s var(--ease);border-radius:7px}
  .ck{display:flex;gap:14px;padding:15px;border:1.5px solid var(--line);border-radius:16px;margin-bottom:10px;cursor:pointer;transition:all .3s var(--ease)}
  .ck:hover{border-color:var(--line-2);transform:translateX(3px)}
  .ck.on{border-color:var(--blue-2);background:var(--sky)}
  .ck input{appearance:none;width:24px;height:24px;border:2px solid var(--line-2);border-radius:8px;flex:none;margin-top:1px;display:grid;place-items:center;cursor:pointer;transition:all .25s var(--ease);background:#fff}
  .ck input:checked{background:var(--blue);border-color:var(--blue);transform:scale(1.08)}
  .ck input:checked::after{content:"";width:11px;height:6px;border-left:2.5px solid #fff;border-bottom:2.5px solid #fff;transform:rotate(-45deg) translate(1px,-1px)}
  .ck b{display:block;font-weight:700;font-size:15px}
  .ck span{font-size:13.5px;color:var(--ink-3)}
  .check-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;flex-wrap:wrap;font-size:13px;color:var(--ink-3)}
  @media(max-width:960px){.check{position:static;padding:24px}}

  /* DOCTOR */
  .doc{background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff;border-radius:36px;padding:68px;display:grid;grid-template-columns:.8fr 1.2fr;gap:68px;align-items:center;position:relative;overflow:hidden}
  .doc::before{content:"";position:absolute;right:-140px;top:-140px;width:480px;height:480px;background:radial-gradient(closest-side,rgba(47,139,255,.45),transparent)}
  .doc::after{content:"";position:absolute;left:-100px;bottom:-140px;width:400px;height:400px;background:radial-gradient(closest-side,rgba(15,181,166,.32),transparent)}
  @media(max-width:900px){.doc{grid-template-columns:1fr;padding:30px;gap:36px;border-radius:28px}}
  .doc .card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:24px;padding:28px;position:relative;z-index:1;backdrop-filter:blur(10px)}
  .doc .who{display:flex;gap:16px;align-items:center;padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,.14)}
  .doc .who .av{width:72px;height:72px;border-radius:20px;background:linear-gradient(135deg,var(--teal),var(--blue-2));display:grid;place-items:center;font-size:36px;overflow:hidden;position:relative}
  .doc .who .av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top}
  .doc .who b{display:block;font-weight:800;font-size:19px;letter-spacing:-.015em}
  .doc .who span{font-size:13px;opacity:.7}
  .rows{margin-top:18px;display:grid;gap:14px;font-size:14px}
  .rows div{display:flex;justify-content:space-between;gap:16px;align-items:center}
  .rows span{opacity:.6;display:inline-flex;gap:8px;align-items:center}
  .rows span svg.i{font-size:16px;color:var(--teal-2)}
  .rows b{font-weight:700;text-align:right}
  .doc blockquote{font-size:clamp(30px,3.9vw,52px);letter-spacing:-.035em;line-height:1.06;font-weight:800;position:relative;z-index:1}
  .doc blockquote .hl{color:var(--teal-2)}
  .doc p{margin-top:24px;opacity:.78;max-width:52ch;position:relative;z-index:1}
  .todo{display:inline-block;background:rgba(255,255,255,.12);border:1px dashed rgba(255,255,255,.4);border-radius:6px;padding:0 6px;font-size:.92em}
  .doc .btn{position:relative;z-index:1;margin-top:30px}

  /* CLINICS */
  .seg{display:inline-flex;background:var(--sky);padding:5px;border-radius:999px}
  .seg button{padding:10px 20px;border-radius:999px;font-size:14px;font-weight:700;color:var(--ink-2);transition:all .3s var(--ease)}
  .seg button[aria-pressed="true"]{background:#fff;color:var(--blue);box-shadow:0 4px 14px -4px rgba(21,101,216,.35)}
  .clinics{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  @media(max-width:960px){.clinics{grid-template-columns:1fr}}
  .clinic{border:1px solid var(--line);border-radius:var(--r-lg);padding:30px;display:flex;flex-direction:column;gap:18px;background:#fff;transition:border-color .3s,box-shadow .4s var(--ease);position:relative;overflow:hidden}
  .clinic::before{content:"";position:absolute;left:0;top:0;height:5px;width:100%;background:linear-gradient(90deg,var(--teal),var(--blue-2));transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
  .clinic:hover{border-color:var(--line-2);box-shadow:var(--shadow-lg)}
  .clinic:hover::before{transform:scaleX(1)}
  .clinic .top{display:flex;gap:16px;align-items:center}
  .clinic .ci{width:56px;height:56px;border-radius:18px;background:linear-gradient(135deg,var(--blue-2),var(--blue));color:#fff;display:grid;place-items:center;font-size:27px;box-shadow:0 14px 26px -12px var(--blue);flex:none}
  .clinic .when{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--teal)}
  .clinic h3{font-size:21px;line-height:1.15;margin-top:2px}
  .clinic p{font-size:14.5px;color:var(--ink-2)}
  .dl{display:grid;gap:12px;font-size:14px;padding:18px 0;border-block:1px solid var(--line)}
  .dl div{display:flex;gap:12px;align-items:flex-start}
  .dl svg.i{font-size:18px;color:var(--blue);margin-top:2px}
  .dl span{color:var(--ink-3);min-width:62px}
  .dl b{font-weight:700}
  .clinic .btn{margin-top:auto}

  .fb{border:2px dashed var(--line-2);border-radius:var(--r-lg);padding:40px;background:var(--bg-2);display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center}
  @media(max-width:760px){.fb{grid-template-columns:1fr;padding:28px}}
  .fb .fi{width:64px;height:64px;border-radius:20px;background:#fff;color:var(--blue);display:grid;place-items:center;font-size:30px;box-shadow:var(--shadow)}
  .fb h3{font-size:24px;margin:8px 0}
  .fb p{color:var(--ink-2);max-width:60ch;font-size:15px}
  .badge.neutral{background:#fff;color:var(--ink-2);border:1px solid var(--line-2)}

  /* FAQ */
  .faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:72px}
  @media(max-width:900px){.faq{grid-template-columns:1fr;gap:32px}}
  .q{border:1px solid var(--line);border-radius:20px;margin-bottom:12px;background:#fff;transition:border-color .3s,box-shadow .3s}
  .q.open{border-color:var(--blue-2);box-shadow:var(--shadow)}
  .q button{width:100%;display:flex;gap:16px;align-items:center;text-align:left;padding:20px 22px;font-weight:700;font-size:17px;letter-spacing:-.01em}
  .q button .qi{width:40px;height:40px;border-radius:13px;background:var(--sky);color:var(--blue);display:grid;place-items:center;font-size:20px;flex:none}
  .q button .qt{flex:1}
  .q .pm{width:22px;height:22px;position:relative;flex:none;color:var(--blue)}
  .q .pm::before,.q .pm::after{content:"";position:absolute;left:3px;right:3px;top:10px;height:2px;background:currentColor;border-radius:2px;transition:transform .4s var(--ease)}
  .q .pm::after{transform:rotate(90deg)}
  .q.open .pm::after{transform:rotate(0)}
  .q .a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease)}
  .q.open .a{grid-template-rows:1fr}
  .q .a div{overflow:hidden}
  .q .a p{padding:0 26px 22px 80px;color:var(--ink-2);font-size:15.5px}
  @media(max-width:600px){.q .a p{padding-left:26px}}

  /* CTA */
  .cta{position:relative;background:linear-gradient(120deg,var(--navy),var(--navy-2) 55%,#1565D8);color:#fff;border-radius:40px;padding:100px 56px;overflow:hidden;text-align:center}
  .cta canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.6}
  .cta .in{position:relative;z-index:2}
  .cta .cic{width:72px;height:72px;border-radius:24px;background:rgba(255,255,255,.12);display:grid;place-items:center;font-size:36px;margin:0 auto 26px;color:var(--teal-2);border:1px solid rgba(255,255,255,.2)}
  .cta h2{font-size:clamp(36px,6vw,80px);letter-spacing:-.045em;line-height:1;max-width:14ch;margin:0 auto}
  .cta h2 .hl{color:var(--teal-2)}
  .cta p{opacity:.78;margin:24px auto 38px;max-width:40ch;font-size:18px}
  .cta .btn{height:58px;padding:0 34px;font-size:16px}
  @media(max-width:700px){.cta{padding:64px 24px;border-radius:28px}}

  footer{padding:72px 0 40px;margin-top:120px;border-top:1px solid var(--line);font-size:14px;color:var(--ink-2);background:var(--bg-2)}
  .fgrid{display:grid;grid-template-columns:1.4fr 1fr 1.2fr;gap:48px;padding-bottom:44px}
  @media(max-width:800px){.fgrid{grid-template-columns:1fr;gap:28px}}
  footer h5{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-weight:800;margin-bottom:14px}
  footer p{margin-bottom:8px;display:flex;gap:8px;align-items:center}
  footer p svg.i{color:var(--blue);font-size:16px}
  .emerg{background:#FFF1F1;border:1px solid #FFD6D6;border-radius:16px;padding:18px;font-size:13.5px;display:flex;gap:14px;color:#7A1F23}
  .emerg svg.i{font-size:26px;color:var(--rose);flex:none}
  .legal{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:24px;border-top:1px solid var(--line);font-size:13px;color:var(--ink-3)}

  /* MODALS */
  .modal{position:fixed;inset:0;z-index:500;display:none;align-items:center;justify-content:center;padding:16px;background:rgba(10,37,64,.55);backdrop-filter:blur(8px)}
  .modal.open{display:flex}
  .sheet{background:#fff;border-radius:28px;width:100%;max-width:540px;max-height:92vh;overflow:auto;box-shadow:0 50px 120px -20px rgba(0,0,0,.5)}
  .sheet header{padding:32px 32px 0;display:flex;justify-content:space-between;gap:16px}
  .sheet header h3{font-size:26px}
  .sheet header p{font-size:14px;color:var(--ink-3);margin-top:8px}
  .x{width:40px;height:40px;border-radius:50%;background:var(--sky);color:var(--blue);display:grid;place-items:center;flex:none;font-size:18px;transition:transform .4s var(--ease),background .2s}
  .x:hover{background:var(--sky-2);transform:rotate(90deg)}
  form{padding:26px 32px 32px;display:grid;gap:16px}
  .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  @media(max-width:520px){.two{grid-template-columns:1fr}.sheet header,form{padding-left:22px;padding-right:22px}}
  .in label{display:block;font-size:13px;font-weight:700;margin-bottom:6px}
  .in input,.in select{width:100%;height:50px;border:1.5px solid var(--line-2);border-radius:14px;padding:0 14px;font:inherit;font-size:15px;background:#fff;outline:none;transition:border-color .2s,box-shadow .2s}
  .in input:focus,.in select:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(21,101,216,.12)}
  .slots{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
  .slot{height:46px;border:1.5px solid var(--line-2);border-radius:14px;font-size:14px;font-weight:700;transition:all .25s var(--ease)}
  .slot:hover{border-color:var(--blue)}
  .slot[aria-pressed="true"]{background:var(--blue);color:#fff;border-color:var(--blue);transform:translateY(-2px);box-shadow:0 10px 20px -10px var(--blue)}
  .fine{font-size:12.5px;color:var(--ink-3)}
  .sheet .btn{height:54px}
  .sm{align-items:flex-start;padding-top:12vh}
  .sbox{background:#fff;border-radius:22px;width:100%;max-width:580px;box-shadow:0 50px 120px -20px rgba(0,0,0,.5);overflow:hidden}
  .sbox input{width:100%;height:64px;border:0;border-bottom:1px solid var(--line);padding:0 24px;font:inherit;font-size:18px;outline:none}
  .sres{max-height:330px;overflow:auto;padding:8px}
  .sres a{display:flex;justify-content:space-between;gap:12px;padding:13px 16px;border-radius:12px;font-size:15px;font-weight:600;transition:background .2s,padding .3s var(--ease)}
  .sres a:hover{background:var(--sky);padding-left:22px}
  .sres small{color:var(--blue);font-size:12px;font-weight:700}
  kbd{font:inherit;font-size:11px;border:1px solid var(--line-2);border-radius:5px;padding:1px 6px;color:var(--ink-3);background:#fff}


  /* ===== ULTRA additions ===== */
  .cursor{position:fixed;left:0;top:0;width:0;height:0;pointer-events:none;z-index:950;display:none}
  .cursor.on{display:block}
  .cring{position:absolute;left:0;top:0;width:34px;height:34px;transform:translate(-50%,-50%);border:1.5px solid rgba(21,101,216,.55);border-radius:50%;display:grid;place-items:center;transition:width .35s var(--ease),height .35s var(--ease),background .3s,border-color .3s}
  .cring.big{width:60px;height:60px;background:rgba(21,101,216,.08)}
  .cring.lab{width:86px;height:86px;background:var(--blue);border-color:var(--blue);box-shadow:0 16px 36px -10px rgba(21,101,216,.7)}
  .clab{font-size:12px;font-weight:800;color:#fff;letter-spacing:.02em;opacity:0;transform:scale(.6);transition:opacity .25s,transform .35s var(--ease)}
  .cring.lab .clab{opacity:1;transform:none}
  .cursor-dot{display:none}.cursor-dot.on{display:block}
  .ripple{position:fixed;width:140px;height:140px;margin:-70px 0 0 -70px;border:2px solid var(--blue-2);border-radius:50%;pointer-events:none;z-index:940}

  #cells{position:absolute;left:0;top:0;width:100%!important;height:100%!important;pointer-events:none}
  .rot{display:inline-grid;overflow:hidden;vertical-align:top;padding-bottom:.14em;margin-bottom:-.14em;transition:width .8s var(--ease)}
  .rot span{grid-area:1/1;justify-self:start;white-space:nowrap;color:var(--blue);transform:translateY(115%);background-image:linear-gradient(rgba(15,181,166,.3),rgba(15,181,166,.3));background-repeat:no-repeat;background-position:0 94%;background-size:0% .3em;transition:transform .85s var(--ease),background-size .9s var(--ease) .35s}
  .rot span.on{transform:none;background-size:100% .3em}
  .rot span.out{transform:translateY(-115%)}

  .links a.active{background:var(--sky);color:var(--blue)}

  .marq{overflow:hidden;padding:64px 0 0}
  .mtrack{display:flex;width:max-content;gap:18px;will-change:transform}
  .nog .mtrack{animation:mq 50s linear infinite}
  @keyframes mq{to{transform:translateX(-50%)}}
  .mchip{display:inline-flex;align-items:center;gap:14px;padding:12px 28px 12px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);font-weight:800;font-size:clamp(18px,2.1vw,25px);letter-spacing:-.02em;white-space:nowrap;box-shadow:var(--shadow)}
  .mchip i{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--c),var(--c2));color:#fff;font-size:22px;font-style:normal}

  .manifesto{background:var(--navy);color:#fff;padding:150px 0 130px;overflow:hidden;position:relative;margin-top:120px}
  .manifesto::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.07) 1.2px,transparent 1.2px);background-size:28px 28px}
  .manifesto::after{content:"";position:absolute;right:-160px;top:-120px;width:560px;height:560px;background:radial-gradient(closest-side,rgba(47,139,255,.35),transparent)}
  .manifesto .wrap{position:relative;z-index:1}
  .eyebrow.dk{background:rgba(255,255,255,.1);color:var(--teal-2)}
  .mtext{font-size:clamp(32px,5.4vw,76px);font-weight:800;letter-spacing:-.04em;line-height:1.1;max-width:1050px;margin-top:30px}
  .mw{display:inline-block}
  .mw.k{color:var(--teal-2)}
  .mecg{display:block;width:100%;height:90px;margin-top:56px;overflow:visible}
  .mecg path{vector-effect:non-scaling-stroke}

  .areas:not(.hmode) .hwrap{max-width:1200px;margin:0 auto;padding:0 24px}
  .hbar{display:none}
  .hprog{flex:1;height:4px;background:var(--sky-2);border-radius:4px;overflow:hidden}
  .hprog i{display:block;height:100%;background:linear-gradient(90deg,var(--teal),var(--blue-2));transform-origin:0 50%;transform:scaleX(0)}
  .hhint{font-size:13px;font-weight:700;color:var(--ink-3);display:inline-flex;gap:8px;align-items:center}
  .areas.hmode{padding:0;border-top:0}
  .hmode .hpin{height:100vh;display:flex;flex-direction:column;justify-content:center;overflow:hidden}
  .hmode .head{margin-bottom:34px}
  .hmode #areaGrid{display:flex;gap:22px;width:max-content;padding:0 max(24px,calc((100vw - 1200px)/2 + 24px))}
  .hmode .cell{width:390px;flex:none}
  .hmode .hbar{display:flex;align-items:center;gap:20px;margin-top:34px;width:100%}

  .clinic::after{content:"";position:absolute;inset:0;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(47,139,255,.1),transparent 60%);opacity:0;transition:opacity .3s;pointer-events:none}
  .clinic:hover::after{opacity:1}

  .fab{position:fixed;right:22px;bottom:22px;z-index:80;height:58px;padding:0 24px 0 18px;border-radius:999px;display:inline-flex;align-items:center;gap:10px;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--blue-2),var(--blue));box-shadow:0 20px 40px -14px rgba(21,101,216,.9);transform:translateY(120px) scale(.8);opacity:0;pointer-events:none;transition:transform .6s var(--ease),opacity .4s}
  .fab.show{transform:none;opacity:1;pointer-events:auto}
  .fab svg.i{font-size:22px}
  .fab::before{content:"";position:absolute;inset:0;border-radius:inherit;border:2px solid var(--blue-2);animation:fabping 2.4s var(--ease) infinite}
  @keyframes fabping{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.35,1.6);opacity:0}}
  @media(max-width:600px){.fab span{display:none}.fab{padding:0 18px}}


  /* ===== Zirakpur / planner / home visit ===== */
  .check{position:static}
  .ck{transition:border-color .3s,background .3s,box-shadow .3s}
  .pl-q{font-size:13px;font-weight:800;color:var(--ink);margin:22px 0 10px}
  .pchips{display:flex;flex-wrap:wrap;gap:8px}
  .pchip{display:inline-flex;align-items:center;gap:8px;padding:7px 14px 7px 8px;border-radius:999px;border:1.5px solid var(--line);background:#fff;font-weight:700;font-size:13.5px;color:var(--ink-2);transition:all .3s var(--ease)}
  .pchip i{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 14%,#fff);color:var(--c);font-size:15px;font-style:normal;transition:all .3s}
  .pchip:hover{border-color:color-mix(in srgb,var(--c) 50%,var(--line));transform:translateY(-2px)}
  .pchip[aria-pressed="true"]{border-color:var(--c);color:var(--ink);background:color-mix(in srgb,var(--c) 8%,#fff);box-shadow:0 12px 22px -14px var(--c)}
  .pchip[aria-pressed="true"] i{background:var(--c);color:#fff}
  .pl-sum{display:flex;align-items:center;gap:18px;margin:24px 0 14px}
  .pring{position:relative;width:78px;height:78px;flex:none}
  .pring svg{width:100%;height:100%;transform:rotate(-90deg)}
  .pr-bg{fill:none;stroke:var(--sky-2);stroke-width:7}
  .pr-fg{fill:none;stroke:url(#prg);stroke-width:7;stroke-linecap:round;stroke-dasharray:213.6;stroke-dashoffset:213.6;transition:stroke-dashoffset .7s var(--ease)}
  .pring b{position:absolute;inset:0;display:grid;place-items:center;font-size:17px;font-weight:800;font-variant-numeric:tabular-nums}
  .confetti{position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:2px;pointer-events:none}
  .pl-msg{margin:14px 2px 0;font-size:13.5px;color:var(--ink-3);min-height:1.5em}
  .pl-act{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}
  .pl-act .btn{height:48px;flex:1;min-width:160px}

  .hv{background:linear-gradient(180deg,#fff 0%,var(--mint) 100%);border-top:1px solid var(--line)}
  .hv-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:start}
  @media(max-width:960px){.hv-grid{grid-template-columns:1fr;gap:40px}}
  .hv-route{display:flex;align-items:center;margin:32px 0 8px;max-width:520px}
  .rt-n{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;font-size:27px;flex:none;color:#fff;background:linear-gradient(135deg,var(--blue-2),var(--blue));box-shadow:0 14px 26px -12px var(--blue)}
  .rt-n.h{background:linear-gradient(135deg,var(--teal-2),#0A9488);box-shadow:0 14px 26px -12px var(--teal)}
  .rt-l{flex:1;position:relative;height:56px}
  .rt-l::before{content:"";position:absolute;left:10px;right:10px;top:50%;border-top:2.5px dashed var(--line-2)}
  .rt-l i{position:absolute;top:50%;left:10px;width:32px;height:32px;margin-top:-16px;border-radius:50%;background:#fff;box-shadow:0 8px 18px -6px rgba(21,101,216,.55),0 0 0 1px var(--line);display:grid;place-items:center;color:var(--blue);font-size:16px;animation:drive 3.2s var(--ease) infinite}
  @keyframes drive{0%{left:10px;opacity:0}14%{opacity:1}86%{opacity:1}100%{left:calc(100% - 42px);opacity:0}}
  .rt-cap{display:flex;justify-content:space-between;max-width:520px;font-size:12.5px;font-weight:700;color:var(--ink-3);margin-bottom:6px}
  .hv-who{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 0}
  .hv-who span{display:inline-flex;gap:8px;align-items:center;padding:9px 16px 9px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);font-weight:700;font-size:14px;transition:all .3s var(--ease)}
  .hv-who span:hover{border-color:var(--teal);transform:translateY(-2px)}
  .hv-who svg.i{color:var(--teal);font-size:18px}
  .hv-steps{display:grid;gap:12px;margin-top:28px}
  .hv-step{display:flex;gap:16px;align-items:flex-start;padding:16px 18px;border-radius:18px;background:#fff;border:1px solid var(--line);transition:all .35s var(--ease)}
  .hv-step:hover{border-color:var(--teal);transform:translateX(6px);box-shadow:var(--shadow)}
  .hv-step .n{width:38px;height:38px;border-radius:12px;background:var(--mint);color:#0A8F84;display:grid;place-items:center;font-weight:800;flex:none}
  .hv-step b{display:block;font-size:16px;font-weight:800}
  .hv-step div span{font-size:14px;color:var(--ink-2)}
  .hv-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:34px;box-shadow:var(--shadow-lg);position:sticky;top:110px}
  .hv-card h3{font-size:25px;margin:14px 0 6px}
  .hv-card>p{font-size:14px;color:var(--ink-3)}
  .hv-card form{padding:20px 0 0}
  @media(max-width:600px){.hv-card{padding:24px}}
  .wins{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
  .win{height:46px;border:1.5px solid var(--line-2);border-radius:14px;font-weight:700;font-size:14px;transition:all .25s var(--ease)}
  .win:hover{border-color:var(--teal)}
  .win[aria-pressed="true"]{background:var(--teal);border-color:var(--teal);color:#fff;transform:translateY(-2px);box-shadow:0 12px 22px -12px var(--teal)}

  .cl-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:22px}
  @media(max-width:960px){.cl-grid{grid-template-columns:1fr}}
  .btnrow{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto}
  .clinic .btnrow .btn{margin-top:0;flex:1;min-width:150px}
  .cl-map{position:relative;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);min-height:440px;background:linear-gradient(135deg,var(--sky),var(--mint));box-shadow:var(--shadow)}
  .cl-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
  .cl-fb{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;color:var(--ink-2)}
  .cl-fb svg.i{font-size:54px;color:var(--blue);margin-bottom:6px}
  .cl-fb b{font-size:20px;color:var(--ink);font-weight:800}
  .cl-fb span{font-size:13px;color:var(--blue);font-weight:700}
  .cl-tag{position:absolute;left:16px;top:16px;z-index:2;display:inline-flex;gap:10px;align-items:center;padding:8px 18px 8px 8px;border-radius:999px;background:#fff;box-shadow:var(--shadow);font-weight:800;font-size:14px}
  .pinpulse{position:relative;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--blue-2),var(--blue));color:#fff;display:grid;place-items:center;font-size:18px;font-style:normal}
  .pinpulse::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--blue-2);animation:ping2 2.4s var(--ease) infinite}

  @media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.pre{display:none}.hl{background-size:100% .3em}}