@font-face{font-family:"Plus Jakarta Sans";src:url("../fonts/PlusJakartaSans-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url("../fonts/PlusJakartaSans-Medium.ttf") format("truetype");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url("../fonts/PlusJakartaSans-SemiBold.ttf") format("truetype");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url("../fonts/PlusJakartaSans-Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}

:root{
  --white:#fff;
  --ink:#f7fbfc;
  --muted:rgba(247,251,252,.74);
  --soft:rgba(247,251,252,.55);
  --deep:#071015;
  --deep-2:#0a171d;
  --glass:rgba(11,31,39,.54);
  --glass-soft:rgba(20,48,57,.34);
  --line:rgba(255,255,255,.16);
  --accent:#78ab26;
  --accent-2:#c6dc9f;
  --shadow:0 34px 95px rgba(0,0,0,.28);
  --font:"Plus Jakarta Sans","Avenir Next","Helvetica Neue",Arial,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{margin:0;min-height:100vh;font-family:var(--font);color:var(--ink);background:#061015;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}
body.menu-open,body.modal-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{color:inherit}
img,svg,video{display:block;max-width:100%}

.video-bg{position:fixed;inset:0;z-index:-3;overflow:hidden;background:#061015}
.video-bg video{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.02);filter:saturate(.88)}
.video-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(3,12,16,.78) 0%,rgba(5,20,26,.58) 34%,rgba(8,29,36,.36) 66%,rgba(15,45,53,.23) 100%),radial-gradient(circle at 18% 16%,rgba(0,0,0,.32),transparent 44%),radial-gradient(circle at 80% 74%,rgba(120,171,38,.12),transparent 42%)}
.page-shade{position:fixed;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(to bottom,rgba(0,0,0,.33),transparent 260px),linear-gradient(to top,rgba(2,8,11,.34),transparent 300px)}

.wrap{width:min(1180px,calc(100% - 56px));margin:0 auto}
.section{position:relative;padding:105px 0}
.glass{background:linear-gradient(135deg,rgba(14,37,45,.63),rgba(8,24,31,.39));border:1px solid var(--line);border-radius:34px;box-shadow:var(--shadow);backdrop-filter:blur(24px) saturate(112%);-webkit-backdrop-filter:blur(24px) saturate(112%)}

.site-header{position:fixed;left:0;right:0;top:0;z-index:80;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:88px;padding:18px clamp(20px,4vw,54px);pointer-events:none}
.site-header:before{content:"";position:absolute;inset:12px 16px;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.025)),rgba(7,21,27,.27);border:1px solid rgba(255,255,255,.13);box-shadow:0 14px 34px rgba(0,0,0,.16);backdrop-filter:blur(25px) saturate(115%);-webkit-backdrop-filter:blur(25px) saturate(115%);opacity:0;transition:opacity .8s ease;z-index:-1}
.site-header.scrolled:before,body.menu-open .site-header:before{opacity:1}
.site-header>*{pointer-events:auto}
.brand{width:clamp(195px,19vw,285px);opacity:0;transform:translateY(-3px);transition:opacity .75s ease,transform .75s ease}
.site-header.scrolled .brand,body.menu-open .brand{opacity:1;transform:none}
.brand img{width:100%}
.desktop-nav{display:flex;align-items:center;gap:2px}
.desktop-nav>a,.desktop-nav>button{border:0;background:transparent;padding:10px 13px;border-radius:999px;font-size:14px;font-weight:500;color:rgba(255,255,255,.9);cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease}
.desktop-nav>a:hover,.desktop-nav>a:focus-visible,.desktop-nav>button:hover,.desktop-nav>button:focus-visible{background:rgba(255,255,255,.11);color:#fff;outline:0}
.desktop-nav .nav-cta{margin-left:6px;background:rgba(120,171,38,.92);color:#fff;font-weight:700}
.desktop-nav .nav-cta:hover{background:#fff;color:#071015}
.menu-toggle{display:none;width:48px;height:48px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(8,25,31,.43);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);align-items:center;justify-content:center;flex-direction:column;gap:7px;cursor:pointer}
.menu-toggle span{display:block;width:20px;height:1.5px;background:#fff;transition:transform .25s ease}
body.menu-open .menu-toggle span:first-child{transform:translateY(4.25px) rotate(45deg)}
body.menu-open .menu-toggle span:last-child{transform:translateY(-4.25px) rotate(-45deg)}
.mobile-menu{position:fixed;inset:0;z-index:70;display:none;padding:112px 32px 40px;align-content:start;gap:6px;background:rgba(5,17,22,.92);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);opacity:0;pointer-events:none;transition:opacity .28s ease}
.mobile-menu a,.mobile-menu button{display:block;width:100%;padding:16px 0;border:0;border-bottom:1px solid rgba(255,255,255,.11);background:none;text-align:left;font-size:24px;font-weight:500;cursor:pointer}
body.menu-open .mobile-menu{opacity:1;pointer-events:auto}

.intro-logo{position:absolute;top:112px;left:50%;z-index:5;width:clamp(250px,27vw,390px);transform:translateX(-50%);pointer-events:none;transition:opacity .65s ease,transform .65s ease}
body.scrolled-page .intro-logo{opacity:0;transform:translate(-50%,-20px)}
.hero{min-height:100vh;display:flex;align-items:flex-end;padding:clamp(360px,51vh,560px) 0 84px;position:relative}
.hero-content{width:min(1180px,calc(100% - 56px));margin:0 auto}
.eyebrow,.kicker{margin:0 0 18px;color:var(--accent-2);font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.hero h1{margin:0;max-width:850px;font-size:clamp(54px,7.3vw,104px);line-height:.95;letter-spacing:-.055em;font-weight:500}
.hero-copy{max-width:720px;margin:26px 0 0;color:var(--muted);font-size:clamp(17px,1.55vw,21px);line-height:1.65}
.hero-copy strong{color:#fff;font-weight:600}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 20px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(8,25,31,.34);color:#fff;font-size:14px;font-weight:600;cursor:pointer;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);transition:transform .2s ease,background .2s ease,border-color .2s ease}
.button:hover,.button:focus-visible{transform:translateY(-2px);background:rgba(255,255,255,.12);outline:0}
.button-accent{background:var(--accent);border-color:transparent;color:#fff}
.button-accent:hover{background:#fff;color:#071015}

.proof-section{padding-top:18px}
.proof-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:8px}
.proof-grid article{position:relative;padding:30px 46px 30px 28px;border-right:1px solid rgba(255,255,255,.13);cursor:pointer;transition:background .24s ease,transform .24s ease,box-shadow .24s ease}
.proof-grid article:last-child{border-right:0}
.proof-grid article:after{content:"+";position:absolute;top:21px;right:20px;color:#fff;font-size:20px;font-weight:400;line-height:1;opacity:.7;transition:opacity .2s ease,transform .2s ease}
.proof-grid article:hover,.proof-grid article:focus-visible{z-index:1;background:rgba(255,255,255,.075);box-shadow:0 14px 34px rgba(0,0,0,.12);outline:0}
.proof-grid article:hover:after,.proof-grid article:focus-visible:after{opacity:1;transform:rotate(90deg)}
.proof-number{display:block;margin-bottom:12px;font-size:30px;font-weight:600;letter-spacing:-.04em;color:#fff}
.proof-grid p{margin:0;color:#fff;font-size:14px;line-height:1.6}
.proof-modal .modal-copy p{color:#fff}

.section-heading{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(260px,.7fr);gap:70px;align-items:end;margin-bottom:34px}
.section-heading h2,.contact-panel h2,.patient-intro h2{margin:0;font-size:clamp(38px,5.15vw,72px);line-height:1.04;letter-spacing:-.047em;font-weight:500}
.section-heading>p,.patient-intro>p,.contact-panel>div>p{margin:0;color:var(--muted);font-size:16px;line-height:1.7}
.split-panel{display:grid;grid-template-columns:1.25fr .75fr;gap:22px;padding:22px}
.copy-block,.news-card{border-radius:24px;padding:clamp(26px,4vw,54px)}
.copy-block{background:rgba(255,255,255,.035)}
.copy-block h3,.news-card h3{margin:0 0 18px;font-size:clamp(28px,3.25vw,46px);line-height:1.1;letter-spacing:-.035em;font-weight:500}
.copy-block>p:not(.kicker),.news-card>p{margin:0 0 18px;color:var(--muted);font-size:16px;line-height:1.75}
.news-card{display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(155deg,rgba(120,171,38,.27),rgba(120,171,38,.08));border:1px solid rgba(168,207,105,.25)}
.news-label{align-self:flex-start;margin-bottom:auto;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.11);font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.text-link{display:inline-flex;align-items:center;gap:8px;color:var(--accent-2);font-weight:600;font-size:14px}
.text-link:after{content:"→";transition:transform .2s ease}
.text-link:hover:after{transform:translateX(4px)}
.button-link{padding:0;border:0;background:none;cursor:pointer;text-align:left}

.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.service-card{position:relative;min-height:285px;padding:30px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(145deg,rgba(16,42,50,.57),rgba(8,23,29,.31));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 22px 55px rgba(0,0,0,.16);cursor:pointer;overflow:hidden;transition:transform .25s ease,background .25s ease,border-color .25s ease}
.service-card:after{content:"";position:absolute;inset:auto -40px -60px auto;width:160px;height:160px;border-radius:50%;background:rgba(120,171,38,.08);filter:blur(5px)}
.service-card:hover,.service-card:focus-visible{transform:translateY(-6px);background:linear-gradient(145deg,rgba(24,57,66,.7),rgba(10,28,34,.44));border-color:rgba(166,202,105,.28);outline:0}
.service-index{display:block;margin-bottom:60px;color:var(--accent-2);font-size:12px;font-weight:700;letter-spacing:.12em}
.service-card h3{margin:0 0 12px;font-size:25px;letter-spacing:-.025em;font-weight:500}
.service-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.65}
.card-action{display:block;margin-top:20px;color:var(--accent-2);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}

.provider-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.provider-card{overflow:hidden;border:1px solid var(--line);border-radius:30px;background:linear-gradient(145deg,rgba(15,40,48,.59),rgba(8,23,29,.34));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);cursor:pointer;transition:transform .25s ease,border-color .25s ease}
.provider-card:hover,.provider-card:focus-visible{transform:translateY(-6px);border-color:rgba(166,202,105,.31);outline:0}
.provider-card figure{margin:0;height:390px;overflow:hidden;background:#0b1c22}
.provider-card img{width:100%;height:100%;object-fit:cover;object-position:center 18%;filter:saturate(.88);transition:transform .6s ease}
.provider-card:hover img{transform:scale(1.035)}
.provider-card>div{padding:26px 26px 30px}
.provider-card span{display:block;margin-bottom:10px;color:var(--accent-2);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.provider-card h3{margin:0 0 12px;font-size:25px;letter-spacing:-.03em;font-weight:500}
.provider-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.65}

.patient-panel{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:clamp(28px,5vw,66px)}
.patient-intro{align-self:center}
.patient-intro h2{margin-bottom:22px}
.patient-actions{display:grid;gap:10px}
.patient-actions a,.patient-actions button,.education-grid a{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;min-height:76px;padding:18px 22px;border:1px solid rgba(255,255,255,.12);border-radius:19px;background:rgba(255,255,255,.045);color:#fff;text-align:left;cursor:pointer;transition:background .2s ease,transform .2s ease,border-color .2s ease}
.patient-actions button{font:inherit}
.patient-actions a:hover,.patient-actions button:hover,.education-grid a:hover{transform:translateX(4px);background:rgba(120,171,38,.11);border-color:rgba(169,207,108,.22)}
.patient-actions span,.education-grid span{font-size:16px;font-weight:500}
.patient-actions b,.education-grid b{color:var(--accent-2);font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.education-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}

.contact-panel{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;padding:clamp(30px,6vw,76px)}
.contact-panel h2{margin-bottom:20px}
.contact-panel .button{margin-top:28px}
.contact-details{display:grid;gap:10px;align-content:center}
.contact-details a{display:block;padding:20px 22px;border:1px solid rgba(255,255,255,.12);border-radius:20px;background:rgba(255,255,255,.04);transition:background .2s ease,transform .2s ease}
.contact-details a:hover{transform:translateX(4px);background:rgba(120,171,38,.1)}
.contact-details span{display:block;margin-bottom:7px;color:var(--accent-2);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.contact-details strong{font-size:17px;line-height:1.45;font-weight:500}

.site-footer{position:relative;display:grid;grid-template-columns:1fr 1fr auto;gap:30px;align-items:center;padding:30px clamp(24px,4vw,54px);border-top:1px solid rgba(255,255,255,.11);background:rgba(5,16,21,.56);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.footer-brand{width:230px}
.site-footer>div{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:13px}
.site-footer>div a{color:#fff}
.site-footer>p{margin:0;color:var(--soft);font-size:12px;text-align:right}

.modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:24px;opacity:0;pointer-events:none;transition:opacity .25s ease}
.modal.open{opacity:1;pointer-events:auto}
.modal-backdrop{position:absolute;inset:0;background:rgba(2,9,12,.74);backdrop-filter:blur(17px);-webkit-backdrop-filter:blur(17px)}
.modal-card{position:relative;width:min(840px,100%);max-height:min(86vh,900px);overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:30px;background:linear-gradient(150deg,rgba(15,39,47,.97),rgba(6,21,27,.96));box-shadow:0 40px 100px rgba(0,0,0,.5)}
.modal-close{position:absolute;top:17px;right:17px;z-index:5;width:42px;height:42px;border:1px solid rgba(255,255,255,.15);border-radius:50%;background:rgba(255,255,255,.06);color:#fff;font-size:29px;line-height:1;cursor:pointer}
.modal-content{max-height:min(86vh,900px);overflow:auto;padding:clamp(34px,6vw,68px);scrollbar-width:none}
.modal-content::-webkit-scrollbar{display:none}
.modal-heading{padding-right:45px;margin-bottom:28px}
.modal-heading h2,.provider-modal h2{margin:0;font-size:clamp(38px,5vw,60px);line-height:1.03;letter-spacing:-.045em;font-weight:500}
.modal-heading>p:last-child{margin:17px 0 0;color:var(--muted);font-size:16px;line-height:1.7}
.modal-copy p,.provider-modal p{color:var(--muted);font-size:16px;line-height:1.75}
.provider-modal{display:grid;grid-template-columns:280px 1fr;gap:36px;align-items:start}
.provider-modal img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top;border-radius:22px}
.provider-modal .kicker{margin-top:8px}
.appointment-form{display:grid;gap:16px}
.appointment-form label{display:grid;gap:8px;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.04em}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.appointment-form input,.appointment-form select,.appointment-form textarea{width:100%;border:1px solid rgba(255,255,255,.15);border-radius:14px;background:rgba(255,255,255,.055);color:#fff;padding:14px 15px;outline:0}
.appointment-form select option{color:#111}
.appointment-form input:focus,.appointment-form select:focus,.appointment-form textarea:focus{border-color:var(--accent)}
.appointment-form .button{justify-self:start;margin-top:4px}
.hidden-field{display:none}
.form-note{margin:0;color:var(--soft);font-size:12px}.form-note a{color:var(--accent-2)}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .75s ease,transform .75s ease}
.reveal.in-view{opacity:1;transform:none}

@media (max-width:1080px){
  .desktop-nav{display:none}.menu-toggle{display:flex}.mobile-menu{display:grid}
  .site-header .brand{opacity:0;visibility:hidden;transform:translateY(-3px)}
  .site-header.scrolled .brand,body.menu-open .site-header .brand{opacity:1;visibility:visible;transform:none}
  .intro-logo{top:118px;width:min(350px,62vw)}
  .hero{padding-top:430px}
  .proof-grid{grid-template-columns:repeat(2,1fr)}
  .proof-grid article:nth-child(2){border-right:0}.proof-grid article:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.13)}
  .service-grid{grid-template-columns:repeat(2,1fr)}
  .provider-grid{grid-template-columns:repeat(3,1fr)}
  .provider-card figure{height:330px}
}

@media (max-width:760px){
  .wrap,.hero-content{width:min(100% - 34px,680px)}
  .section{padding:76px 0}
  .site-header{min-height:78px;padding:14px 14px 14px 20px}
  .site-header:before{inset:8px 9px}
  .brand{width:205px}
  .menu-toggle{width:46px;height:46px}
  .intro-logo{top:100px;width:min(300px,72vw)}
  .hero{min-height:100svh;align-items:flex-end;padding:380px 0 38px}
  .hero h1{font-size:clamp(46px,14.4vw,66px);line-height:.97}
  .hero-copy{font-size:16px;line-height:1.6}
  .hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .hero-actions .button:first-child{grid-column:1/-1}
  .button{padding:12px 15px;font-size:13px}
  .proof-section{padding-top:14px}
  .proof-grid{grid-template-columns:1fr;padding:5px}
  .proof-grid article{padding:23px 46px 23px 22px;border-right:0;border-bottom:1px solid rgba(255,255,255,.13)}
  .proof-grid article:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.13)}
  .proof-grid article:last-child{border-bottom:0}
  .section-heading{grid-template-columns:1fr;gap:20px;margin-bottom:26px}
  .section-heading h2,.contact-panel h2,.patient-intro h2{font-size:clamp(38px,11vw,52px)}
  .split-panel{grid-template-columns:1fr;padding:10px}
  .copy-block,.news-card{padding:28px 24px}.news-card{min-height:390px}
  .service-grid{grid-template-columns:1fr;gap:12px}
  .service-card{min-height:245px;padding:25px}.service-index{margin-bottom:42px}
  .provider-grid{grid-template-columns:1fr;gap:14px}
  .provider-card{display:grid;grid-template-columns:42% 58%;min-height:220px}
  .provider-card figure{height:100%;min-height:220px}
  .provider-card>div{padding:22px 18px}
  .provider-card h3{font-size:20px}.provider-card p{font-size:13px;line-height:1.55}
  .patient-panel,.contact-panel{grid-template-columns:1fr;gap:34px;padding:28px 20px}
  .education-grid{grid-template-columns:1fr}
  .site-footer{grid-template-columns:1fr;gap:18px;text-align:left}
  .site-footer>p{text-align:left}
  .provider-modal{grid-template-columns:1fr;gap:24px}.provider-modal img{width:190px}
  .modal{padding:12px}.modal-card{border-radius:24px;max-height:92vh}.modal-content{padding:34px 22px;max-height:92vh}
  .form-row{grid-template-columns:1fr}
}

@media (max-width:420px){
  .hero{padding-top:350px}
  .hero-actions{grid-template-columns:1fr}
  .hero-actions .button:first-child{grid-column:auto}
  .provider-card{grid-template-columns:38% 62%}
  .provider-card>div{padding:18px 15px}
  .provider-card p{display:none}
}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.intro-logo,.brand{transition:none}}


/* Elite v3: Fabrizio-style appointment calendar and request flow. */
.modal-card.schedule-modal{width:min(1120px,100%);max-height:min(92vh,980px)}
.modal-card.schedule-modal .modal-content{max-height:min(92vh,980px);padding:24px clamp(34px,4.5vw,58px) clamp(34px,4.5vw,58px)}
.appointment-heading{max-width:none;margin-bottom:22px}
.appointment-heading h2{font-size:clamp(42px,4vw,54px);white-space:nowrap}
.appointment-scheduler{display:grid;gap:18px}
.schedule-view-toggle{display:flex;flex-wrap:wrap;gap:8px;padding:5px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.035);width:max-content;max-width:100%}
.schedule-view-button{border:0;border-radius:999px;background:transparent;color:var(--muted);padding:10px 16px;font-size:12px;font-weight:700;letter-spacing:.035em;cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease}
.schedule-view-button:hover,.schedule-view-button:focus-visible{background:rgba(255,255,255,.08);color:#fff;outline:0}
.schedule-view-button.active{background:var(--accent);color:#fff}
.schedule-panel.is-hidden{display:none!important}
.appointment-calendar-grid-layout{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(290px,.72fr);gap:14px}
.appointment-calendar-panel,.appointment-choice-panel{border-radius:24px;background:rgba(244,250,251,.96);color:#0b1b20;box-shadow:0 18px 46px rgba(0,0,0,.18)}
.appointment-calendar-panel{padding:24px}
.appointment-choice-panel{padding:24px;display:flex;flex-direction:column;gap:18px}
.calendar-title-row{display:grid;grid-template-columns:44px 1fr 44px;gap:12px;align-items:center;margin-bottom:20px}
.calendar-month-copy{text-align:center}
.calendar-month-copy span,.choice-panel-header span,.calendar-selected-row span,.time-panel>span,.schedule-toolbar label>span,.appointment-request-form label>span{display:block;color:#587078;font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.calendar-month-copy strong{display:block;margin-top:4px;color:#0a1a20;font-size:24px;font-weight:600;letter-spacing:-.025em}
.calendar-nav-button{width:44px;height:44px;border:1px solid rgba(10,32,39,.13);border-radius:50%;background:#fff;color:#10313a;font-size:27px;line-height:1;cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease}
.calendar-nav-button:hover,.calendar-nav-button:focus-visible{background:#10313a;color:#fff;transform:translateY(-1px);outline:0}
.calendar-nav-button:disabled{opacity:.28;cursor:default;transform:none}
.calendar-weekday-row,.appointment-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}
.calendar-weekday-row{margin-bottom:8px}
.calendar-weekday-row span{text-align:center;color:#6c7f85;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.calendar-day-button{aspect-ratio:1;border:1px solid rgba(14,48,57,.11);border-radius:13px;background:rgba(255,255,255,.74);color:#153039;font-size:13px;font-weight:600;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease}
.calendar-day-button.available:hover,.calendar-day-button.available:focus-visible{background:#edf4e1;border-color:#9dc45f;transform:translateY(-1px);outline:0}
.calendar-day-button.selected,.calendar-day-button.selected:hover,.calendar-day-button.selected:focus-visible{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 7px 18px rgba(79,117,22,.23);transform:none}
.calendar-day-button.disabled{opacity:.24;cursor:default;background:transparent}
.calendar-day-button.empty{visibility:hidden}
.choice-panel-header strong{display:block;margin-top:5px;color:#0b2027;font-size:19px;line-height:1.25;font-weight:600;letter-spacing:-.02em}
.calendar-selected-row,.time-panel{padding:16px;border:1px solid rgba(12,47,56,.1);border-radius:17px;background:rgba(255,255,255,.75)}
.calendar-selected-row strong{display:block;margin-top:7px;color:#102f37;font-size:15px;line-height:1.45;font-weight:600}
.appointment-time-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:11px}
.appointment-slot{min-height:42px;border:1px solid rgba(14,48,57,.14);border-radius:12px;background:#fff;color:#15313a;font-size:12px;font-weight:700;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}
.appointment-slot:hover,.appointment-slot:focus-visible{background:#f0f6e7;border-color:#9dc45f;transform:translateY(-1px);outline:0}
.appointment-slot.active,.appointment-slot.active:hover,.appointment-slot.active:focus-visible{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 7px 18px rgba(79,117,22,.2);transform:none}
.no-times-message{grid-column:1/-1;margin:0;color:#657980;font-size:13px;line-height:1.55}
.schedule-week-view{padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:24px;background:rgba(255,255,255,.035)}
.schedule-toolbar{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:16px}
.schedule-toolbar label{display:grid;gap:7px;min-width:240px}
.schedule-toolbar select{width:100%;border:1px solid rgba(255,255,255,.15);border-radius:13px;background:rgba(255,255,255,.07);color:#fff;padding:12px 14px;outline:0}
.schedule-toolbar select option{color:#111}
.schedule-toolbar p{max-width:470px;margin:0;color:var(--muted);font-size:13px;line-height:1.55}
.schedule-week{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}
.schedule-day{display:grid;align-content:start;gap:8px;min-width:0;padding:14px;border:1px solid rgba(255,255,255,.11);border-radius:17px;background:rgba(255,255,255,.045)}
.schedule-day strong{font-size:14px;font-weight:600}
.schedule-day>span{margin-top:-4px;color:var(--soft);font-size:11px}
.schedule-day .appointment-slot{width:100%;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.12);color:#fff}
.schedule-day .appointment-slot:hover,.schedule-day .appointment-slot:focus-visible{background:rgba(120,171,38,.18);border-color:rgba(120,171,38,.35)}
.schedule-day .appointment-slot.active{background:var(--accent);border-color:var(--accent);color:#fff}
.appointment-request-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:24px;border:1px solid rgba(255,255,255,.13);border-radius:24px;background:linear-gradient(145deg,rgba(19,48,57,.78),rgba(8,26,33,.64))}
.appointment-request-form .request-header,.appointment-request-form .selected-appointment-summary,.appointment-request-form .appointment-inline-error,.appointment-request-form .schedule-message,.appointment-request-form .schedule-confirm{grid-column:1/-1}
.appointment-request-form .request-header strong{color:#fff}
.selected-appointment-summary{margin:-4px 0 3px;padding:12px 14px;border:1px solid rgba(120,171,38,.2);border-radius:13px;background:rgba(120,171,38,.08);color:var(--accent-2);font-size:13px;font-weight:600;line-height:1.45}
.appointment-inline-error{margin:-2px 0 2px;color:#ffd4cd;font-size:12px;font-weight:600}
.appointment-request-form label{display:grid;gap:8px;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.04em}
.appointment-request-form input,.appointment-request-form select,.appointment-request-form textarea{width:100%;border:1px solid rgba(255,255,255,.15);border-radius:14px;background:rgba(255,255,255,.055);color:#fff;padding:14px 15px;outline:0}
.appointment-request-form select option{color:#111}
.appointment-request-form input:focus,.appointment-request-form select:focus,.appointment-request-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(120,171,38,.1)}
.appointment-request-form textarea{resize:vertical;min-height:110px}
.schedule-confirm{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:2px}
.schedule-confirm .form-note{max-width:380px}
.schedule-confirm .schedule-submit{flex:0 0 auto}
.schedule-submit:disabled{opacity:.6;cursor:wait;transform:none}
.appointment-thankyou-message{grid-column:1/-1;display:grid;place-items:center;text-align:center;min-height:240px;padding:34px;border:1px solid rgba(120,171,38,.2);border-radius:20px;background:rgba(120,171,38,.08)}
.appointment-thankyou-message strong{font-size:clamp(25px,3vw,38px);line-height:1.15;font-weight:500;letter-spacing:-.035em}
.appointment-thankyou-message span{display:block;max-width:520px;margin-top:12px;color:var(--muted);font-size:15px;line-height:1.65}

@media (max-width:860px){
  .appointment-heading h2{white-space:normal}
  .appointment-calendar-grid-layout{grid-template-columns:1fr}
  .appointment-choice-panel{display:grid;grid-template-columns:1fr 1fr}
  .appointment-choice-panel .choice-panel-header{grid-column:1/-1}
  .schedule-week{grid-template-columns:repeat(2,minmax(0,1fr))}
  .schedule-day:last-child{grid-column:1/-1}
}
@media (max-width:620px){
  .modal-card.schedule-modal .modal-content{padding:34px 16px 26px}
  .appointment-heading{padding:0 8px 0 2px}
  .appointment-heading h2{font-size:clamp(36px,11vw,48px)}
  .schedule-view-toggle{width:100%;display:grid;grid-template-columns:1fr 1fr;border-radius:18px}
  .schedule-view-button{padding:11px 8px}
  .appointment-calendar-panel,.appointment-choice-panel,.appointment-request-form{border-radius:20px;padding:17px}
  .calendar-title-row{grid-template-columns:40px 1fr 40px;gap:7px}
  .calendar-nav-button{width:40px;height:40px}
  .calendar-weekday-row,.appointment-calendar-days{gap:4px}
  .calendar-day-button{border-radius:10px;font-size:12px}
  .appointment-choice-panel{display:flex}
  .appointment-time-list{grid-template-columns:repeat(3,minmax(0,1fr))}
  .schedule-toolbar{display:grid;gap:12px}
  .schedule-toolbar label{min-width:0}
  .schedule-week{grid-template-columns:1fr}
  .schedule-day:last-child{grid-column:auto}
  .schedule-day{grid-template-columns:58px 1fr 1fr 1fr;align-items:center}
  .schedule-day strong,.schedule-day>span{margin:0}
  .appointment-request-form{grid-template-columns:1fr}
  .appointment-request-form>*{grid-column:1!important}
  .schedule-confirm{align-items:stretch;flex-direction:column}
  .schedule-confirm .schedule-submit{width:100%}
  .schedule-confirm .form-note{text-align:center}
}
@media (max-width:410px){
  .appointment-time-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .schedule-day{grid-template-columns:48px 1fr 1fr}
  .schedule-day .appointment-slot:last-child{grid-column:2/-1}
}

/* Elite v8: enhanced clickable highlights, white body copy, and education popups. */
.hero-copy,
.section-heading > p,
.patient-intro > p,
.contact-panel > div > p,
.copy-block > p:not(.kicker),
.news-card > p,
.service-card p,
.provider-card p,
.modal-heading > p:last-child,
.modal-copy p,
.provider-modal p,
.proof-modal .modal-copy p,
.site-footer > div,
.form-note {
  color:#fff;
}

/* Four practice highlights open polished detail windows. */
.proof-grid article {
  min-height:176px;
}
.proof-grid article::before {
  content:none;
  position:absolute;
  right:20px;
  bottom:18px;
  color:rgba(255,255,255,.7);
  font-size:9px;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
  opacity:0;
  transform:translateY(4px);
  transition:opacity .2s ease,transform .2s ease;
}
.proof-grid article:hover::before,
.proof-grid article:focus-visible::before {
  opacity:1;
  transform:none;
}
.proof-modal {
  position:relative;
  padding:2px 0 4px;
}
.proof-modal::before {
  content:"";
  position:absolute;
  width:220px;
  height:220px;
  right:-100px;
  bottom:-120px;
  border-radius:50%;
  background:rgba(120,171,38,.13);
  filter:blur(4px);
  pointer-events:none;
}
.proof-modal .modal-copy {
  position:relative;
  max-width:690px;
}

/* Education cards are buttons that open local content, never the old site. */
.education-grid {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.education-card {
  position:relative;
  display:grid;
  grid-template-columns:92px minmax(0,1fr) 38px;
  align-items:center;
  gap:18px;
  min-height:132px;
  width:100%;
  padding:13px 16px 13px 13px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:24px;
  overflow:hidden;
  background:linear-gradient(145deg,rgba(16,42,50,.68),rgba(8,23,29,.43));
  color:#fff;
  text-align:left;
  cursor:pointer;
  box-shadow:0 18px 44px rgba(0,0,0,.15);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  transition:transform .24s ease,border-color .24s ease,background .24s ease,box-shadow .24s ease;
}
.education-card::after {
  content:"";
  position:absolute;
  inset:auto -35px -60px auto;
  width:145px;
  height:145px;
  border-radius:50%;
  background:rgba(120,171,38,.11);
  pointer-events:none;
}
.education-card:hover,
.education-card:focus-visible {
  transform:translateY(-5px);
  border-color:rgba(198,220,159,.36);
  background:linear-gradient(145deg,rgba(24,57,66,.78),rgba(10,28,34,.55));
  box-shadow:0 24px 58px rgba(0,0,0,.23);
  outline:0;
}
.education-card-media {
  position:relative;
  z-index:1;
  display:block;
  width:92px;
  height:104px;
  overflow:hidden;
  border-radius:17px;
  background:#0b1c22;
}
.education-card-media img {
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.92) contrast(1.02);
  transition:transform .5s ease;
}
.education-card:hover .education-card-media img,
.education-card:focus-visible .education-card-media img {
  transform:scale(1.055);
}
.education-card-copy {
  position:relative;
  z-index:1;
  min-width:0;
}
.education-card-copy strong {
  display:block;
  color:#fff;
  font-size:17px;
  line-height:1.3;
  font-weight:600;
  letter-spacing:-.02em;
}
.education-card-copy small {
  display:block;
  margin-top:7px;
  color:#fff;
  font-size:11px;
  line-height:1.45;
  font-weight:500;
  opacity:.88;
}
.education-card-action {
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:50%;
  color:#fff;
  background:rgba(255,255,255,.055);
  font-size:23px;
  font-weight:400;
  line-height:1;
  transition:transform .22s ease,background .22s ease,color .22s ease;
}
.education-card:hover .education-card-action,
.education-card:focus-visible .education-card-action {
  transform:rotate(90deg);
  background:var(--accent);
  color:#fff;
}

/* Education modal treatment with image, detailed copy, and pinned close X. */
.education-modal {
  display:grid;
  grid-template-columns:minmax(220px,31%) minmax(0,1fr);
  gap:38px;
  align-items:start;
}
.education-modal-media {
  position:sticky;
  top:0;
  margin:0;
  min-height:430px;
  overflow:hidden;
  border-radius:24px;
  background:#0b1c22;
  box-shadow:0 20px 50px rgba(0,0,0,.22);
}
.education-modal-media img {
  width:100%;
  height:100%;
  min-height:430px;
  object-fit:cover;
  filter:saturate(.92) contrast(1.02);
}
.education-modal-body {
  min-width:0;
}
.education-modal .modal-heading {
  padding-right:42px;
  margin-bottom:24px;
}
.education-modal .modal-heading h2 {
  font-size:clamp(38px,4.7vw,58px);
}
.education-modal .modal-copy h3 {
  margin:27px 0 13px;
  color:#fff;
  font-size:20px;
  line-height:1.25;
  font-weight:600;
  letter-spacing:-.025em;
}
.education-list {
  display:grid;
  gap:10px;
  margin:0 0 24px;
  padding:0;
  list-style:none;
  color:#fff;
}
.education-list li {
  position:relative;
  padding-left:23px;
  font-size:14px;
  line-height:1.55;
}
.education-list li::before {
  content:"";
  position:absolute;
  left:0;
  top:.63em;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 0 4px rgba(120,171,38,.13);
}
.education-modal .button {
  margin-top:9px;
}
.topic-groups {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:24px 0;
}
.topic-groups section {
  padding:18px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:17px;
  background:rgba(255,255,255,.045);
}
.topic-groups h3 {
  margin:0 0 8px!important;
  font-size:15px!important;
}
.topic-groups p {
  margin:0;
  font-size:13px;
  line-height:1.55;
}
.education-disclaimer {
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.12);
  font-size:12px!important;
  opacity:.82;
}

@media (max-width:980px){
  .education-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .education-modal{grid-template-columns:230px minmax(0,1fr);gap:28px}
}
@media (max-width:700px){
  .proof-grid article::before{display:none}
  .education-grid{grid-template-columns:1fr}
  .education-card{grid-template-columns:78px minmax(0,1fr) 36px;min-height:112px;gap:14px;border-radius:21px}
  .education-card-media{width:78px;height:86px;border-radius:15px}
  .education-modal{grid-template-columns:1fr;gap:24px}
  .education-modal-media{position:relative;min-height:0;height:240px}
  .education-modal-media img{min-height:0;height:100%;object-position:center 38%}
  .education-modal .modal-heading{padding-right:34px}
  .topic-groups{grid-template-columns:1fr}
}
@media (max-width:430px){
  .education-card{grid-template-columns:68px minmax(0,1fr) 32px;padding:11px;gap:11px}
  .education-card-media{width:68px;height:78px}
  .education-card-copy strong{font-size:15px}
  .education-card-copy small{font-size:10px}
  .education-card-action{width:31px;height:31px;font-size:19px}
}


/* Elite v9: compact provider video cards and stronger over-video typography. */
.providers-section {
  padding-top:76px;
  padding-bottom:82px;
}
.providers-section .section-heading {
  width:min(980px,calc(100% - 56px));
  grid-template-columns:minmax(0,1.6fr) minmax(220px,.55fr);
  gap:42px;
  margin-bottom:24px;
}
.providers-section .section-heading h2 {
  max-width:720px;
  font-size:clamp(34px,4.15vw,52px);
  line-height:1.055;
}
.provider-grid {
  width:min(980px,calc(100% - 56px));
  gap:16px;
}
.provider-card {
  border-radius:24px;
}
.provider-card figure {
  height:235px;
}
.provider-card video {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 22%;
  filter:saturate(.92) contrast(1.015);
  background:#0b1c22;
  transition:transform .65s ease;
}
.provider-card:hover video,
.provider-card:focus-visible video {
  transform:scale(1.035);
}
.provider-card > div {
  padding:18px 20px 22px;
}
.provider-card span {
  margin-bottom:7px;
  font-size:10px;
}
.provider-card h3 {
  margin-bottom:9px;
  font-size:20px;
  line-height:1.2;
}
.provider-card p {
  font-size:13px;
  line-height:1.55;
}
.provider-modal-video {
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:center top;
  border-radius:22px;
  background:#0b1c22;
}

/* Copy sitting directly over the moving background is pure white and a touch heavier. */
.hero-copy,
.section-heading > p,
.patient-intro > p,
.contact-panel > div > p,
.copy-block > p:not(.kicker),
.news-card > p,
.service-card p,
.provider-card p,
.proof-grid p {
  color:#fff;
  font-weight:500;
  text-shadow:0 1px 14px rgba(0,0,0,.24);
}

@media (max-width:1080px) {
  .providers-section .section-heading,
  .provider-grid {
    width:min(920px,calc(100% - 56px));
  }
  .provider-card figure {
    height:215px;
  }
}

@media (max-width:760px) {
  .providers-section {
    padding-top:62px;
    padding-bottom:66px;
  }
  .providers-section .section-heading,
  .provider-grid {
    width:min(100% - 34px,680px);
  }
  .providers-section .section-heading {
    grid-template-columns:1fr;
    gap:15px;
    margin-bottom:20px;
  }
  .providers-section .section-heading h2 {
    font-size:clamp(32px,9.7vw,43px);
  }
  .provider-grid {
    gap:12px;
  }
  .provider-card {
    grid-template-columns:38% 62%;
    min-height:188px;
    border-radius:22px;
  }
  .provider-card figure {
    height:100%;
    min-height:188px;
  }
  .provider-card > div {
    padding:18px 17px;
  }
  .provider-modal-video {
    width:190px;
    aspect-ratio:4/5;
  }
}

@media (max-width:420px) {
  .provider-card {
    grid-template-columns:36% 64%;
    min-height:174px;
  }
  .provider-card figure {
    min-height:174px;
  }
}


/* Elite v10: clearer provider glass panels, darkening only on interaction. */
.provider-card {
  background:linear-gradient(145deg,rgba(255,255,255,.105),rgba(255,255,255,.035));
  border-color:rgba(255,255,255,.22);
  box-shadow:0 18px 42px rgba(0,0,0,.10);
  backdrop-filter:blur(22px) saturate(118%);
  -webkit-backdrop-filter:blur(22px) saturate(118%);
  transition:transform .25s ease,background .3s ease,border-color .25s ease,box-shadow .3s ease;
}
.provider-card > div {
  background:rgba(255,255,255,.015);
  transition:background .3s ease;
}
.provider-card:hover,
.provider-card:focus-visible {
  background:linear-gradient(145deg,rgba(8,31,39,.78),rgba(5,20,27,.68));
  border-color:rgba(198,220,159,.38);
  box-shadow:0 24px 58px rgba(0,0,0,.25);
}
.provider-card:hover > div,
.provider-card:focus-visible > div {
  background:rgba(4,18,24,.14);
}


/* Elite v12: proof cards use rounded translucent hover treatment, no native square tooltip. */
.proof-grid {
  gap:0;
  overflow:hidden;
}
.proof-grid article {
  min-height:176px;
  background:rgba(255,255,255,.035);
  backdrop-filter:blur(18px) saturate(112%);
  -webkit-backdrop-filter:blur(18px) saturate(112%);
  box-shadow:none;
}
.proof-grid article:first-child {
  border-top-left-radius:26px;
  border-bottom-left-radius:26px;
}
.proof-grid article:last-child {
  border-top-right-radius:26px;
  border-bottom-right-radius:26px;
}
.proof-grid article:hover,
.proof-grid article:focus-visible {
  z-index:1;
  background:linear-gradient(145deg,rgba(15,38,46,.58),rgba(8,23,29,.4));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08), 0 14px 34px rgba(0,0,0,.12);
  outline:0;
}
.proof-grid article::before {
  color:rgba(255,255,255,.78);
}
@media (max-width:980px) {
  .proof-grid article:first-child {
    border-top-left-radius:26px;
    border-bottom-left-radius:0;
  }
  .proof-grid article:nth-child(2) {
    border-top-right-radius:26px;
  }
  .proof-grid article:nth-child(3) {
    border-bottom-left-radius:26px;
  }
  .proof-grid article:last-child {
    border-top-right-radius:0;
    border-bottom-right-radius:26px;
  }
}
@media (max-width:700px) {
  .proof-grid article {
    border-radius:0;
  }
  .proof-grid article:first-child {
    border-top-left-radius:24px;
    border-top-right-radius:24px;
  }
  .proof-grid article:last-child {
    border-bottom-left-radius:24px;
    border-bottom-right-radius:24px;
  }
}

/* Elite v13: one clean translucent rounded highlight bar, with no nested tile boxes. */
.proof-grid {
  overflow:hidden;
  gap:0;
  padding:8px;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.20);
  border-radius:34px;
  box-shadow:0 24px 62px rgba(0,0,0,.15);
  backdrop-filter:blur(24px) saturate(118%);
  -webkit-backdrop-filter:blur(24px) saturate(118%);
}
.proof-grid article,
.proof-grid article:first-child,
.proof-grid article:last-child,
.proof-grid article:nth-child(2),
.proof-grid article:nth-child(3) {
  background:transparent;
  border-radius:0;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.proof-grid article:hover,
.proof-grid article:focus-visible {
  background:rgba(4,18,24,.46);
  box-shadow:none;
  outline:0;
}
.proof-grid article:first-child:hover,
.proof-grid article:first-child:focus-visible {
  border-top-left-radius:26px;
  border-bottom-left-radius:26px;
}
.proof-grid article:last-child:hover,
.proof-grid article:last-child:focus-visible {
  border-top-right-radius:26px;
  border-bottom-right-radius:26px;
}
@media (max-width:980px) {
  .proof-grid article:first-child:hover,
  .proof-grid article:first-child:focus-visible {
    border-top-left-radius:26px;
    border-bottom-left-radius:0;
  }
  .proof-grid article:nth-child(2):hover,
  .proof-grid article:nth-child(2):focus-visible {
    border-top-right-radius:26px;
  }
  .proof-grid article:nth-child(3):hover,
  .proof-grid article:nth-child(3):focus-visible {
    border-bottom-left-radius:26px;
  }
  .proof-grid article:last-child:hover,
  .proof-grid article:last-child:focus-visible {
    border-top-right-radius:0;
    border-bottom-right-radius:26px;
  }
}
@media (max-width:700px) {
  .proof-grid article:hover,
  .proof-grid article:focus-visible {
    border-radius:0;
  }
  .proof-grid article:first-child:hover,
  .proof-grid article:first-child:focus-visible {
    border-top-left-radius:24px;
    border-top-right-radius:24px;
  }
  .proof-grid article:last-child:hover,
  .proof-grid article:last-child:focus-visible {
    border-bottom-left-radius:24px;
    border-bottom-right-radius:24px;
  }
}

/* Elite v15: image-led dry needling feature, lighter service tiles, compact provider videos, and local patient-information modals. */

/* Dry needling feature: entire image tile opens the popup. */
.news-card.dry-needling-feature {
  position:relative;
  min-height:520px;
  padding:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.035);
  cursor:pointer;
  isolation:isolate;
  box-shadow:0 22px 55px rgba(0,0,0,.16);
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;
}
.dry-needling-feature-image {
  position:absolute;
  inset:0;
  z-index:-3;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:saturate(.92) contrast(1.02);
  transition:transform .7s ease,filter .35s ease;
}
.dry-needling-feature-shade {
  position:absolute;
  inset:0;
  z-index:-2;
  background:linear-gradient(to bottom,rgba(3,11,14,.02) 0%,rgba(3,11,14,.02) 35%,rgba(3,11,14,.36) 66%,rgba(3,11,14,.88) 100%);
  transition:background .3s ease;
}
.dry-needling-feature-content {
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:28px 30px 31px;
}
.dry-needling-feature .news-label {
  align-self:flex-start;
  margin:0;
  background:rgba(7,20,25,.42);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(15px);
  -webkit-backdrop-filter:blur(15px);
}
.dry-needling-feature-bottom h3 {
  max-width:360px;
  margin:0 0 22px;
  color:#fff;
  font-size:clamp(31px,3.25vw,45px);
  line-height:1.08;
  font-weight:500;
  text-shadow:0 3px 18px rgba(0,0,0,.42);
}
.dry-needling-feature .text-link {
  color:#fff;
  font-size:14px;
  text-shadow:0 2px 12px rgba(0,0,0,.5);
}
.news-card.dry-needling-feature:hover,
.news-card.dry-needling-feature:focus-visible {
  transform:translateY(-5px);
  border-color:rgba(198,220,159,.42);
  box-shadow:0 30px 68px rgba(0,0,0,.26);
  outline:0;
}
.news-card.dry-needling-feature:hover .dry-needling-feature-image,
.news-card.dry-needling-feature:focus-visible .dry-needling-feature-image {
  transform:scale(1.035);
  filter:saturate(.96) contrast(1.04);
}
.news-card.dry-needling-feature:hover .dry-needling-feature-shade,
.news-card.dry-needling-feature:focus-visible .dry-needling-feature-shade {
  background:linear-gradient(to bottom,rgba(3,11,14,.06) 0%,rgba(3,11,14,.12) 34%,rgba(3,11,14,.48) 65%,rgba(3,11,14,.93) 100%);
}

/* Six therapy tiles: clearer frosted glass at rest, decisive darkening on hover. */
.service-card {
  background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.035));
  border-color:rgba(255,255,255,.22);
  box-shadow:0 18px 44px rgba(0,0,0,.10);
  backdrop-filter:blur(22px) saturate(116%);
  -webkit-backdrop-filter:blur(22px) saturate(116%);
  transition:transform .27s ease,background .3s ease,border-color .27s ease,box-shadow .3s ease;
}
.service-card:hover,
.service-card:focus-visible {
  transform:translateY(-6px);
  background:linear-gradient(145deg,rgba(7,29,37,.80),rgba(4,18,24,.68));
  border-color:rgba(198,220,159,.42);
  box-shadow:0 28px 64px rgba(0,0,0,.27);
  outline:0;
}
.service-card::after { opacity:.38; }
.service-card:hover::after,
.service-card:focus-visible::after { opacity:.9; }

/* Compact provider cards: videos remain visible but are roughly half the former height. */
.providers-section { padding-top:72px; padding-bottom:74px; }
.providers-section .section-heading { margin-bottom:24px; }
.provider-grid {
  width:min(1080px,calc(100% - 56px));
  gap:15px;
}
.provider-card {
  display:grid;
  grid-template-columns:43% 57%;
  min-height:176px;
  max-height:176px;
  border-radius:22px;
  overflow:hidden;
}
.provider-card figure {
  height:176px;
  min-height:0;
  margin:0;
}
.provider-card video {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 18%;
}
.provider-card > div {
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  padding:16px 14px 17px;
}
.provider-card span {
  margin-bottom:7px;
  font-size:8.5px;
  line-height:1.35;
  letter-spacing:.085em;
}
.provider-card h3 {
  margin:0;
  font-size:17px;
  line-height:1.22;
  letter-spacing:-.028em;
}
.provider-card p { display:none; }

/* Patient action and contact tiles are buttons with the same full-tile behavior as links. */
.patient-actions button,
.contact-details button {
  appearance:none;
  -webkit-appearance:none;
}
.contact-details button {
  display:block;
  width:100%;
  padding:20px 22px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;
  background:rgba(255,255,255,.04);
  color:#fff;
  text-align:left;
  cursor:pointer;
  transition:background .2s ease,transform .2s ease,border-color .2s ease;
}
.contact-details button:hover,
.contact-details button:focus-visible {
  transform:translateX(4px);
  background:rgba(120,171,38,.10);
  border-color:rgba(198,220,159,.25);
  outline:0;
}
.contact-details button span {
  display:block;
  margin-bottom:7px;
  color:var(--accent-2);
  font-size:10px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.contact-details button strong {
  font-size:17px;
  line-height:1.45;
  font-weight:500;
}

/* Wider image and information modals. */
.modal-card.wide-modal { width:min(1080px,100%); }
.dry-needling-modal-media img { object-position:center; }
.patient-info-modal .modal-heading { max-width:830px; }
.patient-info-modal .modal-copy h3,
.contact-modal-layout h3 {
  margin:28px 0 15px;
  color:#fff;
  font-size:20px;
  font-weight:600;
  letter-spacing:-.025em;
}
.info-callout {
  display:grid;
  gap:8px;
  margin:0 0 28px;
  padding:20px 22px;
  border:1px solid rgba(198,220,159,.22);
  border-radius:19px;
  background:rgba(120,171,38,.10);
}
.info-callout strong { color:#fff; font-size:16px; }
.info-callout span { color:#fff; font-size:13px; line-height:1.65; }
.info-callout a { color:var(--accent-2); font-weight:700; }
.insurance-list {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px 18px;
  margin:0 0 28px;
  padding:0;
  list-style:none;
}
.insurance-list li {
  position:relative;
  padding:10px 12px 10px 26px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:13px;
  background:rgba(255,255,255,.035);
  color:#fff;
  font-size:12px;
  line-height:1.45;
}
.insurance-list li::before {
  content:"";
  position:absolute;
  left:12px;
  top:16px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--accent);
}
.paperwork-summary-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-bottom:30px;
}
.paperwork-summary-grid section {
  display:grid;
  align-content:start;
  gap:8px;
  min-height:170px;
  padding:20px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:19px;
  background:rgba(255,255,255,.045);
}
.paperwork-summary-grid span {
  color:var(--accent-2);
  font-size:10px;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.paperwork-summary-grid strong { color:#fff; font-size:17px; line-height:1.45; font-weight:500; }
.paperwork-summary-grid small { color:#fff; font-size:12px; line-height:1.55; opacity:.84; }
.form-download-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-bottom:24px;
}
.form-download-grid a {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:70px;
  padding:16px 18px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  background:rgba(255,255,255,.04);
  color:#fff;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.form-download-grid a:hover,
.form-download-grid a:focus-visible {
  transform:translateY(-2px);
  background:rgba(120,171,38,.11);
  border-color:rgba(198,220,159,.26);
  outline:0;
}
.form-download-grid span { font-size:13px; font-weight:500; }
.form-download-grid b { color:var(--accent-2); font-size:9px; letter-spacing:.11em; text-transform:uppercase; }

/* Local contact form. */
.contact-modal-layout {
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:38px;
  align-items:start;
}
.contact-modal-facts {
  display:grid;
  gap:10px;
  margin-top:28px;
}
.contact-modal-facts > * {
  display:grid;
  gap:7px;
  padding:16px 18px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:16px;
  background:rgba(255,255,255,.04);
}
.contact-modal-facts span {
  color:var(--accent-2);
  font-size:9px;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.contact-modal-facts strong { color:#fff; font-size:14px; line-height:1.55; font-weight:500; }
.contact-request-form {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  padding:24px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:22px;
  background:rgba(255,255,255,.045);
}
.contact-request-form label {
  display:grid;
  gap:8px;
  color:#fff;
  font-size:11px;
  font-weight:700;
  letter-spacing:.04em;
}
.contact-request-form input,
.contact-request-form select,
.contact-request-form textarea {
  width:100%;
  border:1px solid rgba(255,255,255,.15);
  border-radius:13px;
  background:rgba(255,255,255,.055);
  color:#fff;
  padding:13px 14px;
  outline:0;
}
.contact-request-form select option { color:#111; }
.contact-request-form input:focus,
.contact-request-form select:focus,
.contact-request-form textarea:focus { border-color:var(--accent); }
.contact-message,
.contact-form-actions { grid-column:1/-1; }
.contact-form-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:2px; }
.contact-thankyou-message {
  grid-column:1/-1;
  display:grid;
  gap:8px;
  min-height:260px;
  place-content:center;
  text-align:center;
}
.contact-thankyou-message strong { color:#fff; font-size:26px; }
.contact-thankyou-message span { color:#fff; font-size:14px; line-height:1.6; }

/* Footer credit. */
.site-footer { grid-template-columns:1fr 1fr auto auto; }
.site-credit {
  color:rgba(255,255,255,.72);
  font-size:11px;
  white-space:nowrap;
  transition:color .2s ease;
}
.site-credit:hover { color:#fff; }

@media (max-width:980px) {
  .insurance-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .paperwork-summary-grid { grid-template-columns:1fr; }
  .paperwork-summary-grid section { min-height:0; }
  .contact-modal-layout { grid-template-columns:1fr; gap:26px; }
  .site-footer { grid-template-columns:1fr 1fr; }
  .site-footer > p { text-align:left; }
}

@media (max-width:760px) {
  .news-card.dry-needling-feature { min-height:410px; padding:0; }
  .dry-needling-feature-content { padding:22px 22px 25px; }
  .dry-needling-feature-bottom h3 { font-size:34px; }
  .provider-grid { width:min(100% - 34px,680px); }
  .provider-card {
    grid-template-columns:38% 62%;
    min-height:168px;
    max-height:168px;
  }
  .provider-card figure { height:168px; min-height:0; }
  .provider-card > div { padding:16px; }
  .provider-card h3 { font-size:18px; }
  .insurance-list { grid-template-columns:1fr; }
  .form-download-grid { grid-template-columns:1fr; }
  .contact-request-form { grid-template-columns:1fr; padding:18px; }
  .contact-message,
  .contact-form-actions { grid-column:1; }
  .site-footer { grid-template-columns:1fr; }
}

@media (max-width:420px) {
  .provider-card {
    grid-template-columns:40% 60%;
    min-height:154px;
    max-height:154px;
  }
  .provider-card figure { height:154px; }
  .provider-card span { font-size:7.5px; }
  .provider-card h3 { font-size:16px; }
}


/* Elite v16: narrow the welcome body copy to eliminate single-word widows. */
.copy-block > p:not(.kicker) {
  max-width:500px;
}


/* Elite v18: remove decorative green circles from education cards. */
.education-card::after { display:none !important; content:none !important; }


/* Elite v19: supplied photography integrated into all six therapy-service popups. */
.modal-card.service-modal-card { width:min(980px,100%); }
.service-modal {
  display:grid;
  grid-template-columns:minmax(250px,38%) minmax(0,1fr);
  gap:38px;
  align-items:stretch;
}
.service-modal-media {
  position:sticky;
  top:0;
  min-height:470px;
  margin:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.13);
  border-radius:24px;
  background:#0b1c22;
  box-shadow:0 22px 56px rgba(0,0,0,.24);
}
.service-modal-media img {
  width:100%;
  height:100%;
  min-height:470px;
  object-fit:cover;
  filter:saturate(.94) contrast(1.02);
}
.service-modal-media-physical img { object-position:47% center; }
.service-modal-media-hand img { object-position:50% center; }
.service-modal-media-dry img { object-position:50% center; }
.service-modal-media-sports img { object-position:44% center; }
.service-modal-media-post img { object-position:73% center; }
.service-modal-media-education img { object-position:56% center; }
.service-modal-body { min-width:0; align-self:center; }
.service-modal .modal-heading { padding-right:38px; margin-bottom:22px; }
.service-modal .modal-heading h2 { font-size:clamp(38px,4.8vw,58px); }
.service-modal .modal-copy h3 {
  margin:25px 0 12px;
  color:#fff;
  font-size:19px;
  line-height:1.3;
  font-weight:600;
  letter-spacing:-.02em;
}
.service-modal .button { margin-top:12px; }
@media (max-width:760px) {
  .service-modal { grid-template-columns:1fr; gap:24px; }
  .service-modal-media { position:relative; min-height:0; height:235px; border-radius:20px; }
  .service-modal-media img { min-height:0; height:100%; }
  .service-modal-media-post img { object-position:66% 42%; }
  .service-modal .modal-heading { padding-right:34px; }
}


/* Elite v20: featured knee-replacement video section and custom full-screen player. */
body.video-open { overflow:hidden; }
.featured-video-section { padding-top:72px; padding-bottom:78px; }
.featured-video-panel {
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(440px,1.1fr);
  gap:52px;
  align-items:center;
  padding:clamp(24px,4.5vw,54px);
  overflow:hidden;
}
.featured-video-copy h2 {
  margin:0;
  max-width:610px;
  font-size:clamp(40px,4.8vw,66px);
  line-height:1.02;
  letter-spacing:-.047em;
  font-weight:500;
}
.featured-video-copy > p:not(.kicker) {
  max-width:590px;
  margin:23px 0 0;
  color:#fff;
  font-size:16px;
  line-height:1.72;
  font-weight:500;
  text-shadow:0 1px 14px rgba(0,0,0,.22);
}
.featured-video-button { margin-top:28px; }
.featured-video-thumbnail {
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:16/9;
  margin:0;
  padding:0;
  border:1px solid rgba(255,255,255,.24);
  border-radius:27px;
  overflow:hidden;
  background:#071015;
  color:#fff;
  cursor:pointer;
  box-shadow:0 26px 62px rgba(0,0,0,.23);
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;
}
.featured-video-thumbnail img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:saturate(.92) contrast(1.02);
  transition:transform .65s ease,filter .35s ease;
}
.featured-video-shade {
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.04) 35%,rgba(2,10,13,.56) 100%);
  transition:background .3s ease;
}
.featured-video-play {
  position:absolute;
  left:50%;
  top:50%;
  display:grid;
  place-items:center;
  width:78px;
  height:78px;
  border:1px solid rgba(255,255,255,.42);
  border-radius:50%;
  background:rgba(5,20,26,.52);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  transform:translate(-50%,-50%);
  box-shadow:0 14px 36px rgba(0,0,0,.26);
  font-weight:400;
  transition:background .25s ease,color .25s ease,border-color .25s ease;
}
.featured-video-play span {
  width:0;
  height:0;
  margin-left:5px;
  border-top:11px solid transparent;
  border-bottom:11px solid transparent;
  border-left:17px solid #fff;
}
.featured-video-label {
  position:absolute;
  left:22px;
  bottom:18px;
  color:#fff;
  font-size:11px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.featured-video-thumbnail:hover,
.featured-video-thumbnail:focus-visible {
  transform:translateY(-5px);
  border-color:rgba(198,220,159,.45);
  box-shadow:0 32px 74px rgba(0,0,0,.3);
  outline:0;
}
.featured-video-thumbnail:hover img,
.featured-video-thumbnail:focus-visible img { transform:scale(1.035); filter:saturate(1) contrast(1.04); }
.featured-video-thumbnail:hover .featured-video-shade,
.featured-video-thumbnail:focus-visible .featured-video-shade { background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(2,10,13,.7)); }
.featured-video-thumbnail:hover .featured-video-play,
.featured-video-thumbnail:focus-visible .featured-video-play { transform:translate(-50%,-50%) scale(1.08); background:rgba(120,171,38,.9); }

.featured-video-overlay {
  position:fixed;
  inset:0;
  z-index:400;
  display:grid;
  place-items:center;
  padding:0;
  background:#000;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .25s ease,visibility .25s ease;
}
.featured-video-overlay.open {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.featured-video-stage {
  position:relative;
  width:min(100vw,177.7778vh);
  height:min(56.25vw,100vh);
  max-width:100vw;
  max-height:100vh;
  overflow:hidden;
  background:#000;
}
.featured-video-stage iframe {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  background:#000;
  pointer-events:none;
}
.featured-video-brand-mask {
  position:absolute;
  right:0;
  bottom:0;
  width:148px;
  height:66px;
  pointer-events:none;
  background:linear-gradient(135deg,transparent 0%,rgba(0,0,0,.82) 58%,#000 100%);
}
.featured-video-close,
.featured-video-control {
  position:absolute;
  z-index:3;
  border:1px solid rgba(255,255,255,.35);
  background:rgba(5,15,19,.58);
  color:#fff;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  cursor:pointer;
  transition:background .2s ease,transform .2s ease;
}
.featured-video-close {
  top:22px;
  right:22px;
  display:grid;
  place-items:center;
  width:50px;
  height:50px;
  border-radius:50%;
  font-size:34px;
  font-weight:300;
  line-height:1;
}
.featured-video-control {
  left:22px;
  bottom:22px;
  min-width:88px;
  min-height:42px;
  padding:10px 17px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.featured-video-close:hover,
.featured-video-close:focus-visible,
.featured-video-control:hover,
.featured-video-control:focus-visible {
  background:var(--accent);
  transform:scale(1.04);
  outline:0;
}
@media (max-width:900px) {
  .featured-video-panel { grid-template-columns:1fr; gap:30px; }
  .featured-video-copy h2 { max-width:720px; }
  .featured-video-copy > p:not(.kicker) { max-width:720px; }
}
@media (max-width:700px) {
  .featured-video-section { padding-top:58px; padding-bottom:62px; }
  .featured-video-panel { width:min(100% - 34px,680px); padding:22px; border-radius:27px; }
  .featured-video-copy h2 { font-size:clamp(34px,10vw,48px); }
  .featured-video-copy > p:not(.kicker) { font-size:14px; line-height:1.65; }
  .featured-video-thumbnail { border-radius:20px; }
  .featured-video-play { width:62px; height:62px; }
  .featured-video-label { left:17px; bottom:14px; font-size:9px; }
  .featured-video-close { top:14px; right:14px; width:44px; height:44px; }
  .featured-video-control { left:14px; bottom:14px; min-height:40px; }
}


/* Elite v21: complete patient-education pull-down sourced from the original topic navigation. */
.education-more-wrap {
  position:relative;
  z-index:25;
  width:min(1180px,calc(100% - 56px));
  margin-top:18px;
}
.education-more-trigger {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  width:min(430px,100%);
  min-height:72px;
  padding:15px 18px 15px 22px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:22px;
  background:linear-gradient(145deg,rgba(255,255,255,.11),rgba(255,255,255,.045));
  color:#fff;
  text-align:left;
  cursor:pointer;
  box-shadow:0 18px 44px rgba(0,0,0,.12);
  backdrop-filter:blur(22px) saturate(118%);
  -webkit-backdrop-filter:blur(22px) saturate(118%);
  transition:background .25s ease,border-color .25s ease,transform .25s ease,box-shadow .25s ease;
}
.education-more-trigger:hover,
.education-more-trigger:focus-visible,
.education-more-wrap.open .education-more-trigger {
  background:linear-gradient(145deg,rgba(8,31,39,.75),rgba(5,20,27,.62));
  border-color:rgba(198,220,159,.38);
  box-shadow:0 24px 58px rgba(0,0,0,.24);
  outline:0;
}
.education-more-trigger:hover { transform:translateY(-2px); }
.education-more-trigger > span:first-child { display:grid; gap:5px; }
.education-more-trigger strong { font-size:16px; font-weight:600; letter-spacing:-.015em; }
.education-more-trigger small { color:rgba(255,255,255,.76); font-size:11px; font-weight:500; }
.education-more-chevron {
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:36px;
  height:36px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:50%;
  color:#fff;
  background:rgba(255,255,255,.055);
  font-size:23px;
  font-weight:400;
  line-height:1;
  transition:transform .22s ease,background .22s ease,color .22s ease;
}
.education-more-wrap.open .education-more-chevron {
  transform:rotate(90deg);
  background:var(--accent);
  color:#fff;
}
.education-more-panel {
  position:absolute;
  left:0;
  top:calc(100% + 12px);
  width:min(760px,calc(100vw - 56px));
  max-height:min(480px,62vh);
  padding:16px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.2);
  border-radius:25px;
  background:linear-gradient(145deg,rgba(8,29,37,.96),rgba(4,18,24,.94));
  box-shadow:0 32px 90px rgba(0,0,0,.42);
  backdrop-filter:blur(30px) saturate(120%);
  -webkit-backdrop-filter:blur(30px) saturate(120%);
}
.education-more-search {
  position:sticky;
  top:0;
  z-index:2;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:14px;
  margin-bottom:12px;
  padding:8px 8px 13px;
  border-bottom:1px solid rgba(255,255,255,.12);
  background:linear-gradient(180deg,rgba(7,27,34,.98),rgba(7,27,34,.92));
}
.education-more-search label {
  color:var(--accent-2);
  font-size:10px;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.education-more-search input {
  width:100%;
  min-height:42px;
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  outline:0;
  background:rgba(255,255,255,.07);
  color:#fff;
  font-size:13px;
}
.education-more-search input::placeholder { color:rgba(255,255,255,.55); }
.education-more-search input:focus { border-color:rgba(198,220,159,.5); background:rgba(255,255,255,.1); }
.education-more-list {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:5px 8px;
  max-height:365px;
  overflow:auto;
  padding:0 3px 4px;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.education-more-list::-webkit-scrollbar { width:0; height:0; display:none; }
.education-more-list a {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:43px;
  padding:9px 12px;
  border-radius:12px;
  color:#fff;
  font-size:12px;
  line-height:1.35;
  font-weight:500;
  transition:background .18s ease,color .18s ease,transform .18s ease;
}
.education-more-list a span { flex:0 0 auto; color:var(--accent-2); font-size:12px; opacity:.72; }
.education-more-list a:hover,
.education-more-list a:focus-visible {
  transform:translateX(3px);
  background:rgba(120,171,38,.16);
  color:#fff;
  outline:0;
}
.education-no-results { margin:18px 8px; color:rgba(255,255,255,.72); font-size:13px; }
@media (max-width:700px) {
  .education-more-wrap { width:min(100% - 34px,680px); margin-top:14px; }
  .education-more-trigger { width:100%; min-height:68px; border-radius:20px; }
  .education-more-panel { width:100%; max-height:min(470px,67vh); border-radius:22px; padding:12px; }
  .education-more-search { grid-template-columns:1fr; gap:7px; }
  .education-more-list { grid-template-columns:1fr; max-height:350px; }
  .education-more-list a { min-height:42px; font-size:11.5px; }
}


/* Elite v22: featured video fills the website viewport without invoking computer fullscreen. */
.featured-video-overlay {
  width:100vw;
  height:100vh;
  height:100dvh;
}
.featured-video-stage {
  width:100vw;
  height:100vh;
  height:100dvh;
  max-width:none;
  max-height:none;
}
.featured-video-stage iframe {
  width:100%;
  height:100%;
}

/* Elite v23: align the providers heading with the provider-card grid. */
@media (min-width:1081px) {
  .providers-section .section-heading {
    width:min(1080px,calc(100% - 56px));
  }
}


/* Elite v24: narrow only the providers intro copy to avoid the widow. */
.providers-section .section-heading > p {
  max-width: 260px;
}
@media (max-width:760px) {
  .providers-section .section-heading > p {
    max-width: none;
  }
}


/* Elite v26: Bunny Stream browser-viewport player, cropped to cover with no black strips. */
.featured-video-overlay {
  background:#071015;
}
.featured-video-stage {
  position:relative;
  width:100vw;
  height:100vh;
  height:100dvh;
  max-width:none;
  max-height:none;
  overflow:hidden;
  background:#071015;
}
.featured-video-stage iframe {
  position:absolute;
  top:50%;
  left:50%;
  inset:auto;
  width:max(100vw,177.7778vh);
  height:max(56.25vw,100vh);
  height:max(56.25vw,100dvh);
  min-width:100vw;
  min-height:100vh;
  min-height:100dvh;
  border:0;
  transform:translate(-50%,-50%) scale(1.045);
  transform-origin:center;
  background:#071015;
  pointer-events:auto;
}
.featured-video-brand-mask,
.featured-video-control {
  display:none!important;
}


/* Elite v27: Bunny player fills the browser viewport using a true 16:9 cover frame. */
.featured-video-overlay,
.featured-video-stage {
  width:100vw;
  height:100vh;
  height:100dvh;
  overflow:hidden;
}
.featured-video-stage {
  position:relative;
  background:#071015;
}
.featured-video-bunny-frame {
  position:absolute;
  top:50%;
  left:50%;
  width:177.7778vh;
  width:177.7778dvh;
  height:100vh;
  height:100dvh;
  transform:translate(-50%,-50%);
  overflow:hidden;
  background:#071015;
}
.featured-video-bunny-frame iframe {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  background:#071015;
  transform:none;
  min-width:0;
  min-height:0;
  pointer-events:auto;
}
@media (min-aspect-ratio:16/9) {
  .featured-video-bunny-frame {
    width:100vw;
    height:56.25vw;
  }
}


/* Elite v29: autoplay from the opening click and eliminate every residual edge strip. */
body.video-open {
  overflow:hidden!important;
}
.featured-video-overlay,
.featured-video-stage {
  inset:0;
  width:100vw;
  height:100vh;
  height:100dvh;
  margin:0;
  padding:0;
  overflow:hidden!important;
  background:#071015;
}
.featured-video-bunny-frame {
  position:absolute;
  top:50%;
  left:50%;
  width:max(100vw,177.7778vh);
  width:max(100vw,177.7778dvh);
  height:max(100vh,56.25vw);
  height:max(100dvh,56.25vw);
  margin:0;
  padding:0;
  transform:translate(-50%,-50%);
  overflow:hidden;
  background:#071015;
}
.featured-video-bunny-frame iframe {
  position:absolute;
  top:50%;
  left:50%;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  border:0;
  display:block;
  transform:translate(-50%,-50%) scale(1.025);
  transform-origin:center;
  background:#071015;
}


/* Elite v30: stable single-surface hover for the four practice highlights. */
.proof-grid {
  padding:0;
  gap:0;
  overflow:hidden;
  isolation:isolate;
  border-radius:34px;
  background:rgba(255,255,255,.055);
  backdrop-filter:blur(24px) saturate(118%);
  -webkit-backdrop-filter:blur(24px) saturate(118%);
}
.proof-grid article,
.proof-grid article:first-child,
.proof-grid article:nth-child(2),
.proof-grid article:nth-child(3),
.proof-grid article:last-child {
  position:relative;
  z-index:auto;
  min-height:176px;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  transform:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  transition:background-color .22s ease;
}
.proof-grid article:hover,
.proof-grid article:focus-visible,
.proof-grid article:first-child:hover,
.proof-grid article:first-child:focus-visible,
.proof-grid article:nth-child(2):hover,
.proof-grid article:nth-child(2):focus-visible,
.proof-grid article:nth-child(3):hover,
.proof-grid article:nth-child(3):focus-visible,
.proof-grid article:last-child:hover,
.proof-grid article:last-child:focus-visible {
  z-index:auto;
  border-radius:0;
  background-color:rgba(4,18,24,.48);
  box-shadow:none;
  transform:none;
  outline:0;
}
.proof-grid article::before,
.proof-grid article::after {
  pointer-events:none;
}
.proof-grid article:focus-visible {
  box-shadow:inset 0 0 0 2px rgba(198,220,159,.5);
}
@media (max-width:980px) {
  .proof-grid article,
  .proof-grid article:hover,
  .proof-grid article:focus-visible,
  .proof-grid article:first-child:hover,
  .proof-grid article:first-child:focus-visible,
  .proof-grid article:nth-child(2):hover,
  .proof-grid article:nth-child(2):focus-visible,
  .proof-grid article:nth-child(3):hover,
  .proof-grid article:nth-child(3):focus-visible,
  .proof-grid article:last-child:hover,
  .proof-grid article:last-child:focus-visible {
    border-radius:0;
  }
}
@media (max-width:700px) {
  .proof-grid { border-radius:28px; }
  .proof-grid article,
  .proof-grid article:hover,
  .proof-grid article:focus-visible,
  .proof-grid article:first-child:hover,
  .proof-grid article:first-child:focus-visible,
  .proof-grid article:last-child:hover,
  .proof-grid article:last-child:focus-visible {
    border-radius:0;
  }
}


/* Elite v31: desktop line break before “to every visit.” in providers headline. */
.providers-mobile-space { display:none; }
@media (max-width:760px) {
  .providers-desktop-break { display:none; }
  .providers-mobile-space { display:inline; }
}


/* Elite v32: bottom-page physical therapy FAQ accordion. */
.faq-section {
  padding-top:88px;
  padding-bottom:88px;
}
.faq-heading {
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(260px,.65fr);
  gap:64px;
  align-items:end;
  margin-bottom:30px;
}
.faq-heading h2 {
  max-width:780px;
  margin:0;
  font-size:clamp(40px,5.25vw,72px);
  line-height:1.03;
  letter-spacing:-.048em;
  font-weight:500;
}
.faq-heading > p {
  max-width:360px;
  margin:0;
  color:#fff;
  font-size:15px;
  line-height:1.7;
  font-weight:500;
  text-shadow:0 1px 14px rgba(0,0,0,.22);
}
.faq-panel {
  padding:10px 28px;
  overflow:hidden;
  background:linear-gradient(135deg,rgba(255,255,255,.095),rgba(255,255,255,.035));
}
.faq-item {
  border-bottom:1px solid rgba(255,255,255,.14);
}
.faq-item:last-child {
  border-bottom:0;
}
.faq-item summary {
  display:grid;
  grid-template-columns:minmax(0,1fr) 42px;
  align-items:center;
  gap:22px;
  min-height:82px;
  padding:18px 4px;
  color:#fff;
  cursor:pointer;
  list-style:none;
  font-size:clamp(17px,1.6vw,21px);
  line-height:1.35;
  font-weight:500;
  letter-spacing:-.018em;
  transition:color .2s ease;
}
.faq-item summary::-webkit-details-marker {
  display:none;
}
.faq-item summary:hover,
.faq-item summary:focus-visible {
  color:var(--accent-2);
  outline:0;
}
.faq-plus {
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:50%;
  background:rgba(255,255,255,.05);
  color:#fff;
  font-size:23px;
  line-height:1;
  font-weight:400;
  transition:transform .24s ease,background .24s ease,border-color .24s ease;
}
.faq-item[open] .faq-plus {
  transform:rotate(45deg);
  background:var(--accent);
  border-color:transparent;
}
.faq-answer {
  max-width:900px;
  padding:0 58px 25px 4px;
}
.faq-answer p {
  margin:0;
  color:#fff;
  font-size:15px;
  line-height:1.75;
  font-weight:500;
}
@media (max-width:760px) {
  .faq-section {
    padding-top:64px;
    padding-bottom:64px;
  }
  .faq-heading {
    grid-template-columns:1fr;
    gap:16px;
    margin-bottom:22px;
  }
  .faq-heading h2 {
    font-size:clamp(34px,10vw,48px);
  }
  .faq-heading > p {
    max-width:none;
  }
  .faq-panel {
    padding:5px 18px;
    border-radius:26px;
  }
  .faq-item summary {
    grid-template-columns:minmax(0,1fr) 38px;
    min-height:74px;
    gap:14px;
    padding:16px 0;
    font-size:16px;
  }
  .faq-plus {
    width:34px;
    height:34px;
    font-size:21px;
  }
  .faq-answer {
    padding:0 0 21px;
  }
  .faq-answer p {
    font-size:14px;
    line-height:1.7;
  }
}


/* Elite v34: full-width education topic panel with larger, easier-to-read topic labels. */
@media (min-width:701px) {
  .education-more-panel {
    width:100%;
  }
  .education-more-list {
    column-gap:22px;
    row-gap:6px;
    padding-inline:5px;
  }
  .education-more-list a {
    min-height:46px;
    padding:10px 14px;
    font-size:13.5px;
    line-height:1.4;
  }
  .education-more-list a span {
    font-size:13px;
  }
  .education-more-search input {
    font-size:14px;
  }
}


/* Elite v35: local map link and polished directions modal. */
.contact-map-link {
  display:inline-flex!important;
  align-items:center;
  gap:7px;
  margin-top:11px!important;
  color:var(--accent-2)!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:700!important;
  letter-spacing:.1em!important;
  text-transform:uppercase;
}
.contact-map-link::after {
  content:"→";
  font-size:13px;
  transition:transform .2s ease;
}
.contact-details button:hover .contact-map-link::after,
.contact-details button:focus-visible .contact-map-link::after {
  transform:translateX(4px);
}
.map-modal-layout {
  display:grid;
  grid-template-columns:minmax(270px,.72fr) minmax(430px,1.28fr);
  gap:24px;
  align-items:stretch;
}
.map-modal-copy {
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-width:0;
}
.map-modal-copy .modal-heading {
  margin-bottom:28px;
}
.map-address-card {
  display:grid;
  gap:12px;
  padding:24px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:22px;
  background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.map-address-card > span {
  color:var(--accent-2);
  font-size:10px;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.map-address-card > strong {
  color:#fff;
  font-size:18px;
  line-height:1.55;
  font-weight:500;
}
.map-address-card .button {
  justify-self:start;
  margin-top:5px;
}
.map-frame-wrap {
  position:relative;
  min-height:480px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.16);
  border-radius:24px;
  background:#12252c;
  box-shadow:0 20px 55px rgba(0,0,0,.24);
}
.map-frame-wrap iframe {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  filter:saturate(.82) contrast(.98);
}
@media (max-width:820px) {
  .map-modal-layout { grid-template-columns:1fr; }
  .map-frame-wrap { min-height:360px; }
}
@media (max-width:520px) {
  .map-frame-wrap { min-height:310px; border-radius:20px; }
  .map-address-card { padding:20px; }
}

/* Elite v36: compact translucent mobile navigation panel. */
@media (max-width:760px) {
  .mobile-menu {
    inset:10px 10px auto auto;
    width:min(390px,calc(100vw - 20px));
    height:auto;
    max-height:calc(100dvh - 20px);
    padding:88px 22px 20px;
    align-content:start;
    gap:0;
    overflow-y:auto;
    border:1px solid rgba(255,255,255,.16);
    border-radius:28px;
    background:linear-gradient(145deg,rgba(12,38,46,.72),rgba(5,20,26,.62));
    box-shadow:0 24px 70px rgba(0,0,0,.30);
    backdrop-filter:blur(24px) saturate(118%);
    -webkit-backdrop-filter:blur(24px) saturate(118%);
    scrollbar-width:none;
    transform:translateY(-8px) scale(.988);
    transform-origin:top right;
    transition:opacity .24s ease,transform .24s ease;
  }
  .mobile-menu::-webkit-scrollbar { display:none; }
  body.menu-open .mobile-menu { transform:none; }
  .mobile-menu a,
  .mobile-menu button {
    padding:11px 0;
    border-bottom:1px solid rgba(255,255,255,.10);
    font-size:16px;
    line-height:1.3;
    font-weight:500;
  }
  .mobile-menu > :last-child { border-bottom:0; }
}


/* Elite v37: mobile intro logo and header logo never display simultaneously. */
@media (max-width:1080px){
  .site-header .brand{
    opacity:0;
    visibility:hidden;
    transform:translateY(-3px);
    transition:opacity .55s ease,transform .55s ease,visibility 0s linear .55s;
  }
  .site-header.scrolled .brand,
  body.menu-open .site-header .brand{
    opacity:1;
    visibility:visible;
    transform:none;
    transition:opacity .55s ease,transform .55s ease,visibility 0s linear 0s;
  }
}


/* Elite v39: keep the mobile providers headline ending together to remove the widow. */
@media (max-width:760px) {
  .providers-section .section-heading h2 {
    max-width:330px;
  }
  .providers-keep-together {
    white-space:nowrap;
  }
}


/* Elite v40: all popup close buttons use a visible translucent black fill. */
.modal-close,
.featured-video-close {
  display:grid;
  place-items:center;
  background:rgba(0,0,0,.42) !important;
  border-color:rgba(255,255,255,.28) !important;
  color:#fff;
  box-shadow:0 8px 24px rgba(0,0,0,.22);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.modal-close:hover,
.modal-close:focus-visible,
.featured-video-close:hover,
.featured-video-close:focus-visible {
  background:rgba(0,0,0,.64) !important;
  border-color:rgba(255,255,255,.46) !important;
  color:#fff;
  outline:0;
}

/* Elite v42: slightly tighten only the mobile appointment intro so the calendar sits higher. */
@media (max-width:620px) {
  .appointment-heading > p:last-child {
    font-size:14px;
    line-height:1.6;
    letter-spacing:-.006em;
  }
}

/* Claud's custom adaptation, building on Elite reference visuals */
:root{--accent:#5487ad;--accent-2:#c1dcf0}
.video-bg video{filter:saturate(.82) brightness(.86)}
.intro-logo{top:94px;width:clamp(230px,27vw,340px);padding:0;background:none;border-radius:0;backdrop-filter:none;-webkit-backdrop-filter:none}
.intro-logo img{display:block;width:100%;max-height:275px;object-fit:contain;margin:auto}
.brand{width:205px;background:none;border-radius:0;padding:0;max-height:none;overflow:visible}
.brand img{display:block;width:100%;height:auto;max-height:60px;object-fit:contain}
.footer-brand img{display:block;max-height:94px;width:auto;object-fit:contain;background:none;padding:0;border-radius:0}
.desktop-nav{gap:0}.desktop-nav>a{font-size:12px;padding:10px 9px}.desktop-nav .nav-cta{background:#5487ad}
.hero{padding-top:clamp(380px,53vh,600px)}.hero h1{max-width:1050px;font-size:clamp(49px,6.2vw,86px);word-spacing:.045em}.hero-copy{max-width:790px}
.proof-grid article{cursor:default}.proof-grid article:after{content:none}.proof-grid article:hover{transform:none;box-shadow:none}
.feature-copy{display:grid;grid-template-columns:1.1fr .9fr;gap:38px;padding:clamp(28px,4vw,52px)}.feature-copy h3,.paperwork-box h3,.team-card h3,.patient-panel h3,.contact-form-box h3{font-weight:500;font-size:clamp(24px,2.4vw,34px);line-height:1.12;letter-spacing:-.02em;margin:0 0 22px}.feature-copy p,.team-card p,.patient-panel p,.patient-panel li,.condition-panel p{color:var(--muted);line-height:1.75;font-size:15px}.feature-qualities{background:rgba(255,255,255,.045);border-radius:24px;padding:30px}.feature-qualities p{padding:12px 0;border-bottom:1px solid var(--line)}
.condition-panel{padding:35px}.condition-panel ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 34px;list-style:none;padding:0;margin:0 0 24px}.condition-panel li{padding:15px 19px;border-radius:15px;background:rgba(255,255,255,.065);font-size:14px;line-height:1.5}.condition-panel li:before{content:'✓';margin-right:12px;color:var(--accent-2)}.condition-panel a{color:var(--accent-2);text-decoration:underline}
.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.team-card{padding:38px}.team-card .kicker{margin:24px 0 12px}.team-placeholder{position:relative;width:160px;height:190px;border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.12);overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.patient-panel{padding:38px;display:grid;grid-template-columns:1fr 1fr;gap:48px}.patient-panel ol{padding-left:23px}.patient-panel li{padding-left:7px;margin:0 0 16px}.paperwork-box{background:rgba(255,255,255,.055);padding:30px;border-radius:25px}.paperwork-box>.button{margin:10px 0 26px}.form-file{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);padding:16px 0;font-size:14px}.form-file span{color:var(--accent-2);white-space:nowrap}.paperwork-box small{display:block;color:var(--muted);line-height:1.6;margin-top:25px}
.contact-panel{grid-template-columns:1fr 1fr;align-items:start}.contact-details{display:grid;margin:26px 0}.contact-details a{display:block;border-bottom:1px solid var(--line);padding:14px 0}.contact-details span{display:block;color:var(--accent-2);font-size:12px;text-transform:uppercase;letter-spacing:.12em}.contact-details strong{display:block;font-weight:500;font-size:17px;line-height:1.6}.hours{color:var(--muted)!important;line-height:1.8!important}.contact-form-box{border-radius:26px;background:rgba(255,255,255,.075);padding:30px}.contact-form-box .kicker{margin-bottom:9px}.form-switch{display:flex;gap:8px;margin-bottom:22px}.form-switch button{border:1px solid var(--line);border-radius:999px;color:#fff;background:transparent;padding:10px 14px;cursor:pointer;font-size:12px}.form-switch button.active{background:var(--accent);border-color:var(--accent)}.inquiry-form{display:grid;gap:14px}.inquiry-form label{display:block;color:#e5eef3;font-size:13px}.inquiry-form input,.inquiry-form select,.inquiry-form textarea{display:block;width:100%;background:rgba(255,255,255,.96);border:1px solid transparent;color:#10202e;border-radius:12px;padding:13px 14px;margin-top:6px;min-height:47px;outline-offset:2px}.inquiry-form textarea{resize:vertical}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-note{color:var(--muted);font-size:12px;line-height:1.6;margin:0}.hidden{display:none!important}.form-status{font-size:13px;line-height:1.5}.inquiry-form .button{justify-self:start}.faq-list{max-width:1180px}
.site-footer{gap:15px}.site-footer .footer-brand{width:auto;max-width:180px}
@media(max-width:1120px){.desktop-nav{display:none}.menu-toggle{display:flex}.mobile-menu{display:grid}.brand{width:160px}.brand img{height:43px}.intro-logo{top:112px}}
@media(max-width:760px){.intro-logo{top:120px;width:190px;padding:0}.intro-logo img{max-height:170px}.hero{min-height:100vh;padding-top:370px;padding-bottom:70px}.hero h1{font-size:clamp(40px,9vw,60px)}.desktop-break{display:none}.proof-grid{grid-template-columns:repeat(2,1fr)}.feature-copy,.condition-panel ul,.team-grid,.patient-panel,.contact-panel{grid-template-columns:1fr}.feature-copy,.patient-panel,.condition-panel{padding:23px}.team-card{padding:26px}.team-placeholder{width:140px;height:168px;border-radius:24px}.section{padding:72px 0}.form-two{grid-template-columns:1fr}.contact-form-box{padding:22px}.wrap{width:min(1180px,calc(100% - 30px))}}
@media(max-width:470px){.proof-grid{grid-template-columns:1fr 1fr}.proof-grid article{padding:20px 12px}.proof-number{font-size:22px}.form-switch{flex-wrap:wrap}}
/* Static content is visible without requiring the old Elite reveal script. */
.reveal{opacity:1!important;transform:none!important}
.contact-form-box .button{margin-top:8px}
@media(max-width:760px){.contact-panel{gap:28px;padding:25px 20px}.brand{width:145px}}

/* V4: controlled two-line hero on desktop. No other site changes. */
@media (min-width:761px){
  .hero h1{font-size:clamp(40px,5.1vw,72px);max-width:none;line-height:1.01}
  .hero h1 .hero-line-one{white-space:nowrap}
}
/* V5: center intro logo 20% smaller, keeping it centered. */
.intro-logo{width:clamp(184px,21.6vw,272px)}
@media(max-width:760px){.intro-logo{width:152px}}

/* V6: horizontal logo appears in the header after scroll only. */
.site-header .brand{width:270px;max-height:none}
.site-header .brand img{width:100%;height:auto;max-height:64px;object-fit:contain}
@media(max-width:1120px){.site-header .brand{width:220px}.site-header .brand img{height:auto;max-height:55px}}
@media(max-width:760px){.site-header .brand{width:195px}.site-header .brand img{height:auto;max-height:48px}}

/* V7: Center intro logo 10% smaller than V6 and 15px left. */
.intro-logo{width:clamp(165.6px,19.44vw,244.8px);left:calc(50% - 15px)}
@media(max-width:760px){.intro-logo{width:136.8px}}
/* Keep requested hero wording on exactly two desktop lines without wrapping Therapy. */
@media(min-width:761px){.hero h1{font-size:clamp(36px,4.7vw,66px)}.hero h1 .hero-line-one{display:block;white-space:nowrap}.hero h1 .desktop-break{display:none}}

/* V9: Move the six section-heading description text blocks 20px left on desktop only. */
@media (min-width: 761px) {
  .section-heading > p { position: relative; left: -20px; }
}

/* V10: FAQ plus symbols without circular outlines or backgrounds. */
.faq-plus,.faq-item[open] .faq-plus{border:0;background:transparent;border-radius:0;box-shadow:none;}

/* V11: exact intro-logo size and desktop hero line control.
   Override prior sizing declarations at the end of stylesheet. */
@media (min-width:761px) {
  .intro-logo { width: clamp(132px,15.55vw,196px); left: calc(50% - 15px); }
  .hero h1 { font-size: clamp(36px,4.55vw,62px); line-height: 1.04; max-width: none; }
  .hero h1 .hero-line-one { display:block; white-space:nowrap; }
  .hero h1 .desktop-break { display:none; }
}
@media (max-width:760px) {
  .intro-logo { width:110px; left: calc(50% - 15px); }
}

/* V12: requested horizontal header logo size and conditions line break. */
.site-header .brand{width:218.7px;flex:0 0 218.7px;margin-left:-15px;}
@media (max-width:1120px){.site-header .brand{width:178.2px;flex-basis:178.2px;}}
@media (max-width:760px){.site-header .brand{width:157.95px;flex-basis:157.95px;}}
@media (min-width:761px){.conditions-headline span{white-space:nowrap;}.conditions-headline .desktop-break{display:block;}}
@media (max-width:760px){.conditions-headline .desktop-break{display:none;}.conditions-headline span{white-space:normal;}}

/* V13: explicit two-line desktop hero; natural wrapping on narrow screens. */
@media(min-width:761px){.hero h1 .hero-line-two{white-space:nowrap;display:block}.hero h1 .hero-line-one{white-space:nowrap;display:block}}
@media(max-width:760px){.hero h1 .hero-line-one,.hero h1 .hero-line-two{display:inline;white-space:normal}}

/* V15: calendar request, not a confirmed booking */
.appointment-calendar{border:1px solid rgba(255,255,255,.15);border-radius:18px;padding:18px;background:rgba(0,0,0,.12)}
.calendar-top{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.calendar-top strong{font-size:15px;font-weight:600}.calendar-top span{font-size:12px;color:var(--muted)}
.calendar-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.calendar-controls strong{font-size:16px;font-weight:500}.calendar-controls button{border:0;background:transparent;color:white;font-size:26px;padding:3px 13px;cursor:pointer}
.calendar-days,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center}.calendar-days span{font-size:11px;color:var(--muted);padding:8px 0}.calendar-grid button,.calendar-grid span{min-height:38px;display:grid;place-items:center;border:0;border-radius:10px;background:transparent;color:white;font:inherit;font-size:13px}.calendar-grid button{cursor:pointer}.calendar-grid button:hover{background:rgba(255,255,255,.13)}.calendar-grid button[aria-pressed="true"]{background:#5487ad;color:#fff;font-weight:700}.calendar-grid button:disabled{opacity:.23;cursor:default}.calendar-fallback{display:block;margin-top:15px!important;font-size:13px}.appointment-calendar .calendar-date{max-width:270px;color-scheme:light}.appointment-calendar .form-note{margin-top:10px}

/* Claud's scheduling interface, adapted from Elite's calendar presentation. */
.elite-scheduler{margin:6px 0 14px;min-width:0}
.elite-scheduler .schedule-view-toggle{display:flex;gap:8px;margin:14px 0 14px;background:transparent;border:0;padding:0}
.elite-scheduler .schedule-view-button{border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.05);color:#fff;border-radius:999px;padding:11px 17px;font:inherit;font-size:13px;cursor:pointer}
.elite-scheduler .schedule-view-button.active{background:#5487ad;border-color:#5487ad}
.elite-calendar-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(220px,.9fr);gap:12px}
.elite-calendar-panel,.elite-times-panel{background:rgba(246,250,251,.97);color:#16313c;border-radius:20px;padding:18px;min-width:0}
.elite-calendar-toolbar,.elite-week-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px}
.elite-calendar-toolbar button,.elite-week-toolbar button{width:34px;height:34px;border:1px solid #c9d6d9;border-radius:50%;background:transparent;color:#18343f;font-size:22px;cursor:pointer}
.elite-calendar-toolbar button:disabled,.elite-week-toolbar button:disabled{opacity:.3;cursor:default}
.elite-calendar-weekdays,.elite-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}
.elite-calendar-weekdays{font-size:11px;color:#637780;margin-bottom:6px}
.elite-calendar-days button{aspect-ratio:1;min-width:0;border:0;border-radius:9px;background:transparent;color:#1c3540;font-size:12px;cursor:pointer}
.elite-calendar-days button:hover:not(:disabled),.elite-calendar-days button.selected{background:#5487ad;color:#fff}
.elite-calendar-days button:disabled{opacity:.26;cursor:default}
.elite-selection-title{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:#60727b;margin:5px 0 8px}
.elite-times-panel strong{display:block;margin-bottom:22px;font-size:17px}
.elite-time-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.elite-time-grid button,.elite-week-days button{border:1px solid #c8d5d9;background:#fff;color:#173540;border-radius:11px;padding:11px 6px;font-size:12px;cursor:pointer}
.elite-time-grid button.selected,.elite-week-days button.selected{background:#5487ad;color:#fff;border-color:#5487ad}
.elite-week-layout{border-radius:20px;padding:19px;background:rgba(246,250,251,.97);color:#18343f}
.elite-week-days{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}
.elite-week-days section{display:flex;flex-direction:column;gap:7px;min-width:0}
.elite-week-days section strong{font-size:12px;text-align:center;margin-bottom:6px}
.elite-week-days button:disabled{opacity:.3;cursor:default}
.elite-selected-summary{margin:13px 0;color:#e5eef3;font-size:13px}
.elite-calendar-error{color:#ffcdcd;font-size:13px}
@media(max-width:850px){.elite-calendar-layout{grid-template-columns:1fr}.elite-week-days{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.elite-calendar-panel,.elite-times-panel{padding:12px}.elite-week-days{grid-template-columns:1fr}.elite-scheduler .schedule-view-button{padding:9px;font-size:12px}}

/* V17: true full-size Elite-style appointment overlay, not inline narrow column */
body.appointment-modal-open{overflow:hidden!important}
.appointment-modal[hidden]{display:none!important}
.appointment-modal{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:clamp(12px,2.5vw,34px)}
.appointment-modal-backdrop{position:absolute;inset:0;background:rgba(2,9,13,.83);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.appointment-modal-panel{position:relative;isolation:isolate;width:min(1120px,100%);max-height:calc(100dvh - 36px);overflow-y:auto;overscroll-behavior:contain;padding:clamp(24px,3.5vw,48px);border:1px solid rgba(255,255,255,.2);border-radius:26px;background:linear-gradient(145deg,#17343e,#071b23);box-shadow:0 35px 110px rgba(0,0,0,.46);scrollbar-width:thin}
.appointment-modal-close{position:sticky;top:0;float:right;margin:-18px -20px 0 10px;z-index:5;width:43px;height:43px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:#15343e;color:white;font-size:27px;cursor:pointer}
.appointment-modal-heading{max-width:850px;margin-bottom:26px}.appointment-modal-heading h2{font-size:clamp(32px,4vw,52px);font-weight:500;line-height:1.08;letter-spacing:-.025em;margin:8px 0 14px}.appointment-modal-heading>p:last-child{color:rgba(255,255,255,.77);line-height:1.65;font-size:15px}
.appointment-modal-panel .elite-scheduler{width:100%;margin:0 0 26px}.appointment-modal-panel .elite-calendar-layout{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:20px}.appointment-modal-panel .elite-calendar-panel,.appointment-modal-panel .elite-times-panel{padding:24px}
.appointment-modal-panel .inquiry-form{display:flex;flex-direction:column;gap:16px;max-width:100%}.appointment-modal-panel .inquiry-form>.form-two{max-width:100%}.appointment-modal-panel .inquiry-form>label{max-width:100%}.appointment-modal-panel .inquiry-form .button{align-self:flex-start}
.appointment-details-heading{font-size:25px;font-weight:500;margin:10px 0 18px}
@media(max-width:760px){.appointment-modal{padding:0}.appointment-modal-panel{width:100%;max-height:100dvh;border-radius:0;padding:20px}.appointment-modal-close{margin:-8px -4px 0 10px}.appointment-modal-panel .elite-calendar-layout{grid-template-columns:1fr}.appointment-modal-heading h2{font-size:34px}}

/* V18: Glass overlay, no visible scrollbars; preserve scrolling. */
.appointment-modal-backdrop{background:rgba(14,32,39,.38)!important;backdrop-filter:blur(23px) saturate(115%)!important;-webkit-backdrop-filter:blur(23px) saturate(115%)!important}
.appointment-modal-panel{background:linear-gradient(145deg,rgba(23,52,62,.88),rgba(7,27,35,.84))!important;backdrop-filter:blur(24px) saturate(118%);-webkit-backdrop-filter:blur(24px) saturate(118%);scrollbar-width:none!important;-ms-overflow-style:none!important}
.appointment-modal-panel::-webkit-scrollbar,.modal-content::-webkit-scrollbar,.modal-card::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
.modal-content,.modal-card{scrollbar-width:none!important;-ms-overflow-style:none!important}

/* V19: vertically optically center the X glyph inside all round modal close controls.
   Draw the glyph on a centered pseudo-element instead of depending on font baseline. */
.modal-close, .appointment-modal-close, .featured-video-close {
  display:grid!important;place-items:center!important;
  font-size:0!important;line-height:0!important;
}
.modal-close::before, .appointment-modal-close::before, .featured-video-close::before {
  content:"×";display:block;
  font-family:Arial,Helvetica,sans-serif;
  font-size:26px;line-height:1;
  font-weight:400;color:inherit;
  transform:translateY(-2px);
}

/* Claud V20: intentional desktop wrap, preserving natural mobile flow. */
@media (max-width: 760px){br.clauds-desktop-linebreak{display:none}}

/* V21: Services heading line break on desktop only. */
@media (min-width:761px){
  .services-heading .services-desktop-break{display:block;}
  .services-heading .services-second-line{white-space:nowrap;}
}


/* Claud's native smart paperwork modal */
.smartform-overlay[hidden]{display:none!important}.smartform-overlay{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:24px}.smartform-backdrop{position:absolute;inset:0;background:rgba(9,23,30,.55);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.smartform-panel{position:relative;width:min(900px,100%);max-height:90dvh;overflow:auto;scrollbar-width:none;background:linear-gradient(145deg,rgba(24,49,58,.97),rgba(9,27,36,.97));border:1px solid rgba(255,255,255,.22);border-radius:28px;box-shadow:0 30px 100px rgba(0,0,0,.3);color:#f5fbff}.smartform-panel::-webkit-scrollbar{display:none}.smartform-inner{padding:clamp(28px,5vw,58px)}.smartform-close{position:sticky;float:right;top:12px;margin:8px 12px -60px 0;z-index:20;display:grid;place-items:center;width:42px;height:42px;padding:0;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:50%;color:white;font-size:26px;line-height:1;cursor:pointer}.smartform-eyebrow{font-size:11px;letter-spacing:.16em;color:#b9d5e6}.smartform-inner h2{font-size:clamp(30px,4vw,49px);font-weight:500;line-height:1.1;margin:18px 0}.smartform-intro,.smartform-disclaimer{color:#cbd9df;line-height:1.7}.smartform-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0}.smartform-fields label{display:block;font-size:13px;color:#dae9ee}.smartform-fields input{display:block;width:100%;margin-top:8px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.94);border-radius:12px;padding:13px;color:#17313e;font:inherit}.smartform-legal{padding:28px;margin:30px 0;border-radius:20px;background:rgba(255,255,255,.065);font-size:14px;line-height:1.75;color:#e5edf0;white-space:normal}.smartform-legal p{margin:0 0 16px}.smartform-signature{border-top:1px solid rgba(255,255,255,.18);padding:18px 0}.smartform-signature label{display:flex;gap:10px;align-items:center}.smartform-hint{font-size:12px;color:#bcd0da}.smartform-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.smartform-action,.smartform-links button{cursor:pointer;border:1px solid rgba(255,255,255,.17);background:rgba(255,255,255,.08);color:#fff;border-radius:14px;padding:14px 20px;font:inherit}.smartform-action:hover,.smartform-links button:hover{background:rgba(255,255,255,.16)}.smartform-action.primary{background:#5487ad}.smartform-links{display:grid;gap:9px}.smartform-links button{display:flex;justify-content:space-between;gap:16px;text-align:left;width:100%}.smartform-links span{color:#c3daeb;font-size:12px}.medical-panel{width:min(1100px,100%);height:90dvh}.medical-panel iframe{width:100%;height:100%;border:0;border-radius:28px}.medical-panel .smartform-close{position:absolute;right:10px;top:10px;float:none;background:#213d49}.smartform-open{overflow:hidden}@media(max-width:700px){.smartform-overlay{padding:10px}.smartform-panel{max-height:95dvh;border-radius:18px}.smartform-inner{padding:24px 20px}.smartform-fields{grid-template-columns:1fr}.smartform-legal{padding:18px}.medical-panel{height:95dvh}}
@media print{body.printing-smartform>*:not(#smartFormModal){display:none!important}body.printing-smartform #smartFormModal{position:static!important;display:block!important;padding:0!important;background:white!important}body.printing-smartform .smartform-panel{position:static!important;overflow:visible!important;width:100%!important;max-height:none!important;background:white!important;border:0!important;box-shadow:none!important;color:black!important}body.printing-smartform .smartform-inner{padding:0!important}body.printing-smartform .smartform-backdrop,body.printing-smartform .smartform-close,body.printing-smartform .smartform-actions,body.printing-smartform .smartform-intro,body.printing-smartform .smartform-disclaimer{display:none!important}body.printing-smartform .smartform-legal{background:white!important;color:black!important;padding:0!important;font-size:11pt!important;line-height:1.4!important}body.printing-smartform .smartform-fields input{background:white!important;color:black!important;border:0;border-bottom:1px solid black;border-radius:0}body.printing-smartform .smartform-eyebrow,body.printing-smartform .smartform-hint,body.printing-smartform .smartform-fields label{color:black!important}body.printing-smartform .smartform-signature{color:black!important}body.printing-smartform .smartform-inner h2{color:black!important}}

/* V26: geometry-centered close marks; SVG avoids font baseline drift. */
.modal-close,
.appointment-modal-close,
.featured-video-close,
.smartform-close {
  font-size:0!important;
  line-height:0!important;
  display:grid!important;
  place-items:center!important;
}
.modal-close::before,
.appointment-modal-close::before,
.featured-video-close::before,
.smartform-close::before {
  content:""!important;
  display:block!important;
  position:static!important;
  width:16px!important;
  height:16px!important;
  margin:0!important;
  padding:0!important;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 5 19 19M19 5 5 19' stroke='%23fff' stroke-width='2.5' stroke-linecap='round' fill='none'/%3E%3C/svg%3E") center/16px 16px no-repeat!important;
  transform:none!important;
}

/* V28: centered intro logo only, 10% smaller and 30px lower. */
@media (min-width:1121px){
  .intro-logo{width:clamp(118.8px,13.995vw,176.4px);top:124px}
}
@media (min-width:761px) and (max-width:1120px){
  .intro-logo{width:clamp(118.8px,13.995vw,176.4px);top:142px}
}
@media (max-width:760px){
  .intro-logo{width:99px;top:150px}
}

/* V29: service tiles and photo-detail modals */
#services .service-card{padding-bottom:74px;}
#services .service-arrow{position:absolute;right:25px;bottom:21px;z-index:2;width:40px;height:40px;border:0;background:transparent;color:#e5f5fa;font-size:27px;font-weight:400;line-height:1;display:grid;place-items:center;cursor:pointer;transform-origin:center center;transition:transform .34s cubic-bezier(.2,.7,.2,1),color .34s ease;}
#services .service-arrow:hover,#services .service-arrow:focus-visible{transform:scale(1.15);color:#fff;outline:0;}
.service-detail-overlay[hidden],.service-detail-entry[hidden]{display:none!important;}
.service-detail-overlay{position:fixed;inset:0;z-index:500;display:grid;place-items:center;padding:clamp(12px,3vw,30px);}
.service-detail-backdrop{position:absolute;inset:0;background:rgba(11,28,35,.48);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);}
.service-detail-panel{position:relative;width:min(1120px,100%);max-height:min(88dvh,880px);overflow:hidden;border-radius:30px;background:linear-gradient(135deg,rgba(16,43,53,.96),rgba(8,28,36,.97));border:1px solid rgba(255,255,255,.19);box-shadow:0 28px 85px rgba(0,0,0,.35);}
.service-detail-scroll{overflow-y:auto;max-height:min(88dvh,880px);scrollbar-width:none;-ms-overflow-style:none;}
.service-detail-scroll::-webkit-scrollbar{display:none;}
.service-detail-entry{display:grid;grid-template-columns:minmax(0,46%) minmax(0,54%);min-height:480px;}
.service-detail-entry>img{display:block;width:100%;height:100%;min-height:480px;max-height:760px;object-fit:cover;}
/* Balance Training: crop the empty left side; keep the subject fully toward the right edge. */
.service-detail-entry[data-detail="balance-training"]>img{object-position:100% center;}
.service-detail-text{padding:clamp(35px,4vw,62px);align-self:center;}
.service-detail-text h2{font-size:clamp(29px,3.1vw,44px);line-height:1.1;letter-spacing:-.025em;font-weight:500;margin:14px 35px 24px 0;}
.service-detail-text>p:not(.kicker){color:#d8e1e4;line-height:1.73;font-size:15px;margin-bottom:19px;}
.service-detail-contact{margin-top:12px;}
.service-detail-close{position:absolute;right:17px;top:17px;z-index:5;display:grid;place-items:center;width:43px;height:43px;border-radius:50%;border:1px solid rgba(255,255,255,.27);background:rgba(15,37,44,.66);color:transparent;cursor:pointer;}
.service-detail-close:before{content:"";width:18px;height:18px;background:center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 5l14 14M19 5L5 19' stroke='white' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E");position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}
@media(max-width:760px){.service-detail-entry{display:block;min-height:0}.service-detail-entry>img{height:250px;min-height:0;max-height:none}.service-detail-text{padding:27px 24px 35px}.service-detail-text h2{margin-top:8px}.service-detail-panel,.service-detail-scroll{max-height:90dvh}}

/* V32: pin the X to the actual geometric center of each close circle.
   Absolute positioning prevents sticky/float/grid layout from offsetting the icon. */
.modal-close,
.appointment-modal-close,
.featured-video-close,
.smartform-close,
.service-detail-close {
  position: absolute;
  font-size: 0 !important;
  line-height: 0 !important;
  padding: 0 !important;
}
/* Preserve the sticky form button so it stays in view while the form scrolls. */
.smartform-panel:not(.medical-panel) > .smartform-close { position: sticky; }
.modal-close::before,
.appointment-modal-close::before,
.featured-video-close::before,
.smartform-close::before,
.service-detail-close::before {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translate(-50%, -50%) !important;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 5L19 19M19 5L5 19' stroke='white' stroke-width='2.5' stroke-linecap='round' fill='none'/%3E%3C/svg%3E") center / 16px 16px no-repeat !important;
}

/* V33: FAQ heading line break only on desktop */
@media (min-width:761px){.faq-desktop-break{display:block}}
@media (max-width:760px){.faq-desktop-break{display:none}}

/* Claud's V34: Contact information is plain text, not separate cards. */
.contact-section .contact-details { gap: 16px; }
.contact-section .contact-details a,
.contact-section .contact-details button {
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  transform: none;
  text-align: left;
}
.contact-section .contact-details a:hover,
.contact-section .contact-details a:focus-visible,
.contact-section .contact-details button:hover,
.contact-section .contact-details button:focus-visible {
  border: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
}
.contact-section .contact-details a:hover strong,
.contact-section .contact-details a:focus-visible strong {
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* V36: raise desktop hero copy and action buttons only, preserving intro logo and mobile layout. */
@media (min-width: 761px) { .hero .hero-content { position: relative; top: -35px; } }

/* Claud's v37: scroll-linked, reversible left-to-right glide-in for card groups. */
.service-grid > .glide-shell, .team-grid > .glide-shell { min-width:0; opacity:1; will-change:opacity; }
.glide-inner { height:100%; will-change:transform; }
.service-grid .glide-inner > .service-card, .team-grid .glide-inner > .team-card { height:100%; box-sizing:border-box; }
@media (prefers-reduced-motion:reduce) {
  .service-grid > .glide-shell, .team-grid > .glide-shell { opacity:1 !important; }
  .glide-inner { transform:none !important; will-change:auto; }
}

/* V39: three What You Can Expect detail popups */
.feature-qualities .quality-trigger{width:100%;display:flex;align-items:baseline;gap:4px;flex-wrap:wrap;padding:0;border:0;background:none;color:inherit;font:inherit;line-height:inherit;text-align:left;cursor:pointer;}
.feature-qualities .quality-trigger strong{font-weight:650;color:#f4f7f8;}
.feature-qualities .quality-arrow{margin-left:auto;color:#bfd6e3;font-size:17px;transition:transform .3s ease;}
.feature-qualities .quality-trigger:hover .quality-arrow,.feature-qualities .quality-trigger:focus-visible .quality-arrow{transform:translate(3px,-3px);}
.feature-qualities .quality-trigger:focus-visible{outline:2px solid #c1dbe4;outline-offset:5px;border-radius:2px;}
.quality-overlay[hidden],.quality-content[hidden]{display:none!important;}
.quality-overlay{position:fixed;inset:0;z-index:12000;display:grid;place-items:center;padding:clamp(12px,3vw,30px);}
.quality-backdrop{position:absolute;inset:0;background:rgba(10,30,37,.43);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);}
.quality-panel{position:relative;width:min(800px,100%);max-height:min(85dvh,760px);border-radius:28px;overflow:hidden;background:linear-gradient(140deg,rgba(22,49,58,.94),rgba(8,29,38,.96));border:1px solid rgba(255,255,255,.2);box-shadow:0 26px 75px rgba(0,0,0,.27);}
.quality-scroll{max-height:min(85dvh,760px);overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;}
.quality-scroll::-webkit-scrollbar{display:none;}
.quality-content{padding:clamp(36px,6vw,65px);padding-right:clamp(40px,6vw,72px);}
.quality-content h2{font-weight:500;font-size:clamp(30px,4vw,46px);line-height:1.12;margin:10px 0 28px;letter-spacing:-.02em;}
.quality-content p:not(.kicker){color:#dae4e9;line-height:1.8;font-size:clamp(14px,1.3vw,16px);margin:0 0 20px;}
.quality-close{position:absolute;right:18px;top:18px;width:43px;height:43px;z-index:2;cursor:pointer;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(29,57,67,.9);display:grid;place-items:center;}
.quality-close:before{content:"";width:17px;height:17px;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 5l14 14M19 5L5 19' stroke='white' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E");}
@media(max-width:760px){.quality-panel{max-height:88dvh}.quality-scroll{max-height:88dvh}.quality-content{padding:62px 27px 30px}}

/* V40: interactive practice highlights, existing glass dialog reused. */
.proof-grid article[data-proof]{position:relative;cursor:pointer;padding-bottom:46px;}
.proof-grid article[data-proof]:focus-visible{outline:2px solid #d5eff5;outline-offset:-5px;}
.proof-grid article[data-proof] .proof-more{position:absolute;right:25px;bottom:20px;font-size:24px;line-height:1;color:#e4f5fa;transition:transform .35s cubic-bezier(.2,.7,.2,1);}
.proof-grid article[data-proof]:hover .proof-more,.proof-grid article[data-proof]:focus-visible .proof-more{transform:scale(1.15);}
@media(prefers-reduced-motion:reduce){.proof-grid article[data-proof] .proof-more{transition:none;}}

/* V41: consistent white horizontal logo for all native paperwork forms. */
.smartform-brand-logo{display:block;width:190px;max-width:calc(100% - 62px);height:auto;object-fit:contain;object-position:left center;margin:0 0 30px;background:none;border:0;padding:0;border-radius:0}
@media(max-width:600px){.smartform-brand-logo{width:170px;margin-bottom:24px}}
@media print{body.printing-smartform .smartform-brand-logo{filter:brightness(0)!important;max-width:190px}}

/* V42: secure submission request, no medical information sent through email. */
.smartform-actions .smartform-secure-request{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;line-height:1.35;background:rgba(255,255,255,.085);border:1px solid rgba(255,255,255,.24)}
.smartform-actions .smartform-secure-request:hover,.smartform-actions .smartform-secure-request:focus-visible{background:rgba(255,255,255,.17);color:#fff}
@media print{.smartform-secure-request{display:none!important}}

/* V43: make the four interactive highlights match service cards. */
.proof-grid article[data-proof] { cursor:pointer !important; position:relative; padding-bottom:48px !important; }
.proof-grid article[data-proof]::after { content:none !important; display:none !important; }
.proof-grid article[data-proof] .proof-more { position:absolute !important; right:22px !important; bottom:18px !important; top:auto !important; left:auto !important; display:grid !important; place-items:center; width:29px; height:29px; font-size:26px !important; line-height:1 !important; color:#e4f5fa !important; opacity:1 !important; visibility:visible !important; transform-origin:center center; transition:transform .36s cubic-bezier(.2,.7,.2,1) !important; pointer-events:none; }
.proof-grid article[data-proof]:hover .proof-more,.proof-grid article[data-proof]:focus-visible .proof-more{transform:scale(1.15) !important;}
.proof-overlay[hidden],.proof-overlay [data-proof-detail][hidden]{display:none !important;}
@media(prefers-reduced-motion:reduce){.proof-grid article[data-proof] .proof-more{transition:none!important;}}

/* V44: remove legacy View Details pseudo-label; retain only lower-right arrow. */
.proof-grid article[data-proof]::before,.proof-grid article[data-proof]:hover::before,.proof-grid article[data-proof]:focus-visible::before{content:none!important;display:none!important;}

/* V45: one consistent arrow treatment across services, highlights and care topics. */
#services .service-arrow,
.proof-grid article[data-proof] .proof-more,
.feature-qualities .quality-arrow {
  font-size:17px !important;
  line-height:1 !important;
  color:#bfd6e3 !important;
  transform:scale(1) !important;
  transform-origin:center center !important;
  transition:transform .38s cubic-bezier(.2,.7,.2,1), color .38s ease !important;
}
#services .service-card:hover .service-arrow,
#services .service-card:focus-within .service-arrow,
.proof-grid article[data-proof]:hover .proof-more,
.proof-grid article[data-proof]:focus-visible .proof-more,
.feature-qualities .quality-trigger:hover .quality-arrow,
.feature-qualities .quality-trigger:focus-visible .quality-arrow {
  color:#5e9cca !important;
  transform:scale(1.15) !important;
}
@media(prefers-reduced-motion:reduce){
  #services .service-arrow,.proof-grid article[data-proof] .proof-more,.feature-qualities .quality-arrow{transition:none!important;}
}

/* V46: subtly darken only the three What You Can Expect rows on hover. */
.feature-qualities > p {
  transition: background-color .32s ease;
  border-radius: 7px;
}
.feature-qualities > p:hover,
.feature-qualities > p:focus-within {
  background-color: rgba(0, 0, 0, .16);
}

/* V48: squared hover fields with consistent horizontal breathing room. */
.feature-qualities > p {
  border-radius:0 !important;
  padding-left:16px;
  padding-right:16px;
}

/* V47: match medical history light-paper form for the other three patient forms. */
#smartFormModal .smartform-panel{background:linear-gradient(145deg,#193b4e,#0b202d);color:#f5fbff}
#smartFormModal .smartform-inner{padding:clamp(28px,4.5vw,48px)}
#smartFormModal .smartform-brand-logo{margin:0 0 25px;}
#smartFormModal .smartform-paper{background:rgba(255,255,255,.97);border-radius:27px;padding:clamp(20px,4.5vw,48px);color:#12293c}
#smartFormModal .smartform-paper h2{color:#12293c}
#smartFormModal .smartform-eyebrow{color:#326f99;font-weight:700}
#smartFormModal .smartform-intro,#smartFormModal .smartform-disclaimer{color:#4e6070}
#smartFormModal .smartform-fields label,#smartFormModal .smartform-hint{color:#2a465b}
#smartFormModal .smartform-fields input,#smartFormModal .smartform-fields select,#smartFormModal .smartform-fields textarea,#smartFormModal #smartFormAdditional input,#smartFormModal #smartFormAdditional select,#smartFormModal #smartFormAdditional textarea{background:#f5f8fa;color:#173147;border:1px solid #c9d8e2}
#smartFormModal .smartform-legal{background:#edf3f6;color:#274255}
#smartFormModal .smartform-legal p{color:#274255}
#smartFormModal .smartform-signature{border-color:#d9e3e9;color:#274255}
#smartFormModal .smartform-action{background:#ecf2f5;color:#26475f;border-color:#d2e0e9}
#smartFormModal .smartform-action:hover{background:#dceaf3;color:#173147}
#smartFormModal .smartform-action.primary{background:#477fa4;color:#fff;border-color:#477fa4}
#smartFormModal .smartform-action.primary:hover{background:#346d94;color:#fff}
#smartFormModal .smartform-actions .smartform-secure-request{background:#ecf2f5;color:#26475f;border-color:#d2e0e9}
#smartFormModal .smartform-actions .smartform-secure-request:hover{background:#dceaf3;color:#173147}
@media(max-width:700px){#smartFormModal .smartform-inner{padding:22px 16px}#smartFormModal .smartform-paper{padding:24px 20px}}
@media print{body.printing-smartform #smartFormModal .smartform-paper{background:white!important;color:black!important;padding:0!important}body.printing-smartform #smartFormModal .smartform-legal{background:white!important;color:black!important}}

/* V51: small uniform arrow graphics; only the SVG grows on card/row hover. */
#services .service-arrow,
.proof-grid article[data-proof] .proof-more,
.feature-qualities .quality-arrow {
  transform:none !important;
  color:#c6dce8 !important;
  transition:color .3s ease !important;
}
#services .grow-arrow-icon,
.proof-grid .grow-arrow-icon,
.feature-qualities .grow-arrow-icon {
  display:block !important;
  width:13px !important;
  height:13px !important;
  min-width:13px !important;
  max-width:13px !important;
  flex:0 0 13px !important;
  transform:scale(1) !important;
  transform-origin:center center !important;
  transition:transform 1.5s ease-in-out, color .3s ease !important;
  will-change:transform;
  pointer-events:none;
}
#services .service-card:is(:hover,:focus-within) .grow-arrow-icon,
.proof-grid article[data-proof]:is(:hover,:focus-within) .grow-arrow-icon,
.feature-qualities > p:is(:hover,:focus-within) .grow-arrow-icon,
.feature-qualities .quality-trigger:is(:hover,:focus-visible) .grow-arrow-icon {
  transform:scale(1.15) !important;
  color:#5e9cca !important;
}
#services .service-card:is(:hover,:focus-within) .service-arrow,
.proof-grid article[data-proof]:is(:hover,:focus-within) .proof-more,
.feature-qualities > p:is(:hover,:focus-within) .quality-arrow,
.feature-qualities .quality-trigger:is(:hover,:focus-visible) .quality-arrow {
  color:#5e9cca !important;
}
@media(prefers-reduced-motion:reduce) {
  #services .grow-arrow-icon,.proof-grid .grow-arrow-icon,.feature-qualities .grow-arrow-icon {
    transition:none !important;
  }
}

/* Claud's site search: shared desktop hover / mobile tap */
.site-search-toggle{position:relative;flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;background:rgba(8,25,31,.3);border:1px solid rgba(255,255,255,.18);border-radius:50%;color:#fff;cursor:pointer;z-index:80;transition:background .3s ease}
.site-search-toggle:hover,.site-search-toggle:focus-visible,.site-search-toggle[aria-expanded="true"]{background:rgba(255,255,255,.16);outline:0}
.site-search-panel{position:fixed;top:82px;right:clamp(12px,3.5vw,55px);width:min(570px,calc(100vw - 24px));max-height:min(70vh,640px);z-index:85;overflow:auto;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-9px);transition:opacity .23s ease,transform .23s ease,visibility .23s;scrollbar-width:none;background:rgba(10,32,41,.9);border:1px solid rgba(255,255,255,.19);border-radius:24px;backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);box-shadow:0 22px 65px rgba(0,0,0,.27)}
.site-search-panel::-webkit-scrollbar{display:none}
.site-search-panel.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.site-search-inner{padding:25px}
.site-search-inner>label{display:block;margin-bottom:12px;font-size:13px;letter-spacing:.08em;color:#d6e9f3}
.site-search-field{display:flex;align-items:center;gap:12px;padding:0 13px;border:1px solid rgba(255,255,255,.22);border-radius:14px;background:rgba(255,255,255,.1);color:#fff}
.site-search-field input{min-width:0;flex:1;height:52px;background:transparent;border:0;outline:0;color:#fff;font:inherit;font-size:15px}
.site-search-field input::placeholder{color:rgba(255,255,255,.59)}
.site-search-close{border:0;background:transparent;color:white;cursor:pointer;font-size:26px;padding:5px}
.site-search-results{display:grid;gap:4px;margin-top:12px}
.site-search-result{display:block;width:100%;padding:13px 14px;border-radius:10px;color:#fff;text-decoration:none;transition:background .2s ease}
.site-search-result:hover,.site-search-result:focus-visible{background:rgba(107,164,202,.2);outline:0}
.site-search-result small{display:block;margin-bottom:3px;color:#a9c8d8;font-size:11px;text-transform:uppercase;letter-spacing:.07em}
.site-search-result strong{font-size:15px;font-weight:500}
.site-search-empty{padding:15px;color:#c4d7df;font-size:14px;line-height:1.6}
@media(max-width:1120px){.site-search-toggle{margin-left:auto;margin-right:8px}}
@media(max-width:760px){.site-search-panel{top:78px;right:10px;width:calc(100vw - 20px);max-height:70dvh}.site-search-inner{padding:17px}.site-search-field input{font-size:14px}.site-search-toggle{width:40px;height:40px;flex-basis:40px}}

/* V53: preserve original right-aligned navigation; unboxed search to its left. */
.site-header .site-search-toggle{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
.site-header .site-search-toggle:hover,.site-header .site-search-toggle:focus-visible,.site-header .site-search-toggle[aria-expanded="true"]{background:transparent!important;border:0!important;box-shadow:none!important;color:#8bc1e5;}
@media (min-width:1121px){
  .site-header .site-search-toggle{margin-left:auto;margin-right:9px;flex-shrink:0;}
  .site-header .desktop-nav{margin-left:0;flex-shrink:0;}
}

/* V54 MOBILE-ONLY: logo, fold, independent hero line breaks, margins, menu bars. */
.hero-mobile-title{display:none}
@media (max-width:760px){
  .intro-logo{width:118.8px;top:150px;}
  .site-header .brand{margin-left:5px;}
  .wrap,.hero-content{width:calc(100% - 50px);max-width:680px;}
  .hero{min-height:100svh;padding-top:310px;padding-bottom:24px;}
  .hero .hero-content{position:relative;top:-60px;}
  .hero h1 .hero-desktop-title{display:none;}
  .hero h1 .hero-mobile-title{display:block;white-space:normal;}
  .hero h1{font-size:clamp(34px,9.1vw,48px);line-height:1.08;letter-spacing:-.035em;word-spacing:.02em;}
  .hero-copy{margin-top:17px;line-height:1.48;font-size:15px;}
  .hero-actions{margin-top:19px;}
  .menu-toggle{gap:7px;}
  .menu-toggle span{height:2px!important;min-height:2px!important;max-height:2px!important;width:20px!important;flex-shrink:0;border:0;border-radius:0;box-sizing:border-box;}
  body.menu-open .menu-toggle span:first-child{transform:translateY(4.5px) rotate(45deg);}
  body.menu-open .menu-toggle span:last-child{transform:translateY(-4.5px) rotate(-45deg);}
}

/* V55: visible date-cell outlines and permanently pinned modal close controls. */
.appointment-modal-panel {
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  padding:0!important;
  height:min(870px,calc(100dvh - 36px));
  max-height:calc(100dvh - 36px);
}
.appointment-modal-scroll {
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:clamp(30px,3.5vw,48px);
  padding-top:72px;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
}
.appointment-modal-scroll::-webkit-scrollbar {display:none!important;width:0!important;height:0!important}
.appointment-modal-panel > .appointment-modal-close {
  position:absolute!important;
  top:16px!important;
  right:16px!important;
  left:auto!important;
  bottom:auto!important;
  float:none!important;
  margin:0!important;
  z-index:60!important;
  width:43px!important;
  height:43px!important;
  padding:0!important;
  flex:none;
  transform:none!important;
}
/* Keep the date cells distinct against the light calendar panel. */
.elite-calendar-days button {
  border:1.5px solid #a2b5c0!important;
  background:#f5f8fa!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.5);
  transition:background .2s ease,border-color .2s ease,color .2s ease!important;
}
.elite-calendar-days button:not(:disabled):hover,
.elite-calendar-days button:not(:disabled):focus-visible {
  border-color:#5487ad!important;
  background:#e0edf6!important;
  color:#16313c!important;
}
.elite-calendar-days button.selected,
.elite-calendar-days button.selected:hover,
.elite-calendar-days button.selected:focus-visible {
  background:#5487ad!important;
  border-color:#376887!important;
  color:#fff!important;
}
.elite-calendar-days button:disabled {opacity:.45!important;background:#e9eef1!important;border-color:#cbd5dc!important}
/* Patient-form modals: close button stays outside the content scroller. */
.smartform-panel:not(.medical-panel) {overflow:hidden!important;display:flex!important;flex-direction:column!important}
.smartform-panel:not(.medical-panel) > .smartform-close {
  position:absolute!important;top:14px!important;right:14px!important;
  left:auto!important;float:none!important;margin:0!important;z-index:70!important;
}
.smartform-panel:not(.medical-panel) > .smartform-inner {
  overflow-y:auto!important;min-height:0!important;scrollbar-width:none!important;
  overscroll-behavior:contain;
}
.smartform-panel:not(.medical-panel) > .smartform-inner::-webkit-scrollbar {display:none!important}
@media(max-width:760px) {
 .appointment-modal-panel {height:100dvh!important;max-height:100dvh!important;border-radius:0!important}
 .appointment-modal-scroll {padding:70px 20px 28px!important}
 .appointment-modal-panel > .appointment-modal-close {top:14px!important;right:14px!important}
 .elite-calendar-days button {border-width:1.5px!important}
}

/* V57: phone-only hard corrections, desktop retained */
@media(max-width:760px){
  .site-search-panel{display:none!important;position:fixed!important;top:78px!important;left:15px!important;right:15px!important;width:auto!important;max-width:none!important;max-height:calc(100dvh - 92px)!important;overflow-y:auto!important;z-index:110!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;transform:none!important;background:rgba(8,27,36,.97)!important;border:1px solid rgba(255,255,255,.25)!important;border-radius:15px!important;}
  .site-search-panel.is-open:not([hidden]){display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;}
  .site-search-inner{padding:16px!important;}
  .site-search-field{display:flex!important;align-items:center!important;gap:10px!important;min-height:48px!important;}
  .site-search-field input{flex:1!important;width:100%!important;min-width:0!important;}
  .site-search-toggle{width:37px!important;height:40px!important;flex:0 0 37px!important;}
  .intro-logo{width:132px!important;top:142px!important;left:50%!important;transform:translateX(-50%)!important;}
  .intro-logo img{width:100%!important;max-height:none!important;}
  .site-header .brand{margin-left:25px!important;}
  .wrap,.hero-content{width:calc(100% - 70px)!important;max-width:680px!important;}
  .hero{min-height:100svh!important;padding-top:260px!important;padding-bottom:22px!important;}
  .hero .hero-content{position:relative!important;top:-60px!important;}
  .hero h1 .hero-desktop-title{display:none!important;}
  .hero h1 .hero-mobile-title{display:block!important;}
  .hero h1{font-size:clamp(30px,8.35vw,42px)!important;line-height:1.13!important;letter-spacing:-.035em!important;}
  .hero-copy{font-size:15px!important;line-height:1.45!important;}
  .menu-toggle span{height:2px!important;min-height:2px!important;max-height:2px!important;box-sizing:border-box!important;}
}

/* V58: precise mobile-only position adjustments; no desktop changes */
@media (max-width:760px) {
  .intro-logo { top:117px!important; } /* up 25px from V57 */
  .hero .hero-content { top:-45px!important; } /* down 15px */
  .site-header .site-search-toggle { margin-right:-7px!important; top:2px!important; } /* right 15px, down 2px */
  .site-header .brand { margin-left:15px!important; } /* left 10px */
}

/* V59: About section text layout, phone only. Desktop untouched. */
@media (min-width:761px) { .about-mobile-break { display:none; } }
@media (max-width:760px) {
  #about .section-heading h2 .about-mobile-break { display:block; }
  #about .section-heading > p { max-width:calc(100% - 15px); }
}

/* V60: Mobile-only break before “A person” in feature headline. */
@media (min-width:761px){ br.feature-mobile-break{display:none} }
@media (max-width:760px){ br.feature-mobile-break{display:block} }

/* V61: Compact service tiles on phones only; preserve desktop/tablet. */
@media (max-width:760px) {
  #services .service-card {
    min-height:0 !important;
    padding:18px 21px 48px !important;
  }
  #services .service-index { margin-bottom:22px !important; }
  #services .service-card h3 { margin-bottom:9px !important; }
  #services .service-arrow { right:16px; bottom:9px; }
}

/* V63: Straight-stroke ticks and properly hanging-aligned condition text. */
.condition-panel li {
  position: relative;
  padding-left: 45px;
  text-wrap: pretty;
}
.condition-panel li::before {
  content: "";
  position: absolute;
  left: 19px;
  top: 19px;
  width: 5px;
  height: 9px;
  border-right: 1.7px solid var(--accent-2);
  border-bottom: 1.7px solid var(--accent-2);
  transform: rotate(45deg);
  margin: 0;
}
@media (max-width: 760px) {
  .condition-panel li { padding-left: 43px; }
  .condition-panel li::before { left: 17px; }
}

/* V64: mobile-only team headline wording; desktop copy untouched. */
.team-headline-mobile { display:none; }
@media (max-width:760px) {
  #team .team-headline-desktop { display:none; }
  #team .team-headline-mobile { display:inline; }
}

/* V66: mobile boxed-card rails 10px wider per side; unboxed copy stays put. */
@media (max-width:760px) {
  .wrap.glass,
  .wrap.service-grid,
  .wrap.team-grid,
  .wrap.faq-list {
    width:calc(100% - 50px)!important;
    max-width:700px!important;
  }
}

/* v68 Linda portrait: preserve existing image frame and sizing. */
.team-card img.team-headshot { display:block; object-fit:cover; object-position:center top; }

/* V69: desktop-only 20% larger centered stacked hero logo; mobile untouched. */
@media (min-width:1121px) {
  .intro-logo { width:clamp(142.56px,16.794vw,211.68px); }
}
@media (min-width:761px) and (max-width:1120px) {
  .intro-logo { width:clamp(142.56px,16.794vw,211.68px); }
}

/* V72: Clinic photo gallery. Scoped to this new section only. */
.facility-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:30px}
.facility-photo{margin:0;overflow:hidden;border:1px solid rgba(255,255,255,.19);border-radius:22px;background:rgba(10,30,38,.4);aspect-ratio:4/3}
.facility-photo img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:767px){.facility-gallery{grid-template-columns:1fr;gap:16px;margin-top:24px}.facility-photo{border-radius:20px;aspect-ratio:4/3}}

/* V73: desktop/tablet-only hero vertical adjustment. Mobile is unchanged. */
@media (min-width:1121px) {
  .intro-logo { top:109px; }
  .hero .hero-content { top:-15px; }
}
@media (min-width:761px) and (max-width:1120px) {
  .intro-logo { top:127px; }
  .hero .hero-content { top:-15px; }
}

/* V74: Prevent iPhone Safari auto-zoom when focusing any form or search field.
   Retain normal user pinch zoom for accessibility. */
@media (hover: none) and (pointer: coarse) {
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  textarea, select { font-size: 16px !important; }
  button, a, [role="button"] { touch-action: manipulation; }
}

/* V75: Slightly stronger date-cell outlines, all screen sizes. */
.elite-calendar-days button { border-color:#92a3ad!important; }
.elite-calendar-days button:disabled { border-color:#bac3ca!important; }
/* V75: Mobile Team heading moves “on you.” to its own last line only. */
@media (max-width:760px) {
  #team .team-headline-mobile .team-mobile-last-line { display:block; white-space:nowrap; }
}
/* V76: On phones only, narrow the 'More than a diagnosis' headline by 25px on the right. */
@media (max-width:760px) {
  #about .feature-copy > div:first-child > h3 { max-width:calc(100% - 25px); }
}

/* V79: MOBILE ONLY. Keep centered stacked logo where approved; lower the
   entire eyebrow/headline/copy/buttons block independently to restore breathing room. */
@media (max-width:760px) {
  .hero .hero-content { top:0px !important; }
}

/* V80: mobile-only search icon 7px closer to hamburger; no layout reflow. */
@media (max-width:760px) {
  .site-header .site-search-toggle { transform:translateX(7px) !important; }
}


/* Facility gallery refresh v84 */
.facility-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:start;margin-top:30px}
.facility-photo{position:relative;cursor:zoom-in;transition:transform .35s ease,box-shadow .35s ease;border:1px solid rgba(255,255,255,.19);border-radius:20px;overflow:hidden;background:rgba(10,30,38,.34);aspect-ratio:4/3}
.facility-photo::after{content:"";position:absolute;inset:0;background:rgba(5,14,20,0);transition:background .35s ease;pointer-events:none}
.facility-photo:hover::after,.facility-photo:focus-visible::after{background:rgba(5,14,20,.14)}
.facility-photo:hover,.facility-photo:focus-visible{box-shadow:0 16px 30px rgba(4,12,18,.22);outline:none}
.facility-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.facility-photo:hover img,.facility-photo:focus-visible img{transform:scale(1.015)}
.facility-lightbox{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:30px;background:rgba(3,10,16,.9);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);cursor:zoom-out}
.facility-lightbox[hidden]{display:none}
.facility-lightbox-image{display:block;max-width:min(96vw,1800px);max-height:92vh;width:auto;height:auto;border-radius:18px;box-shadow:0 22px 46px rgba(0,0,0,.34);background:#0d1e27}
.facility-lightbox-close{position:fixed;top:22px;right:22px;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:rgba(31,56,70,.55);color:#fff;font-size:32px;line-height:1;cursor:pointer;transition:background .25s ease,border-color .25s ease,transform .25s ease;z-index:2001}
.facility-lightbox-close:hover,.facility-lightbox-close:focus-visible{background:rgba(69,129,169,.55);border-color:rgba(255,255,255,.42);transform:scale(1.04);outline:none}
body.facility-lightbox-open{overflow:hidden}
@media(max-width:1080px){.facility-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.facility-gallery{grid-template-columns:1fr;gap:16px;margin-top:24px}.facility-photo{border-radius:20px;aspect-ratio:4/3}.facility-lightbox{padding:16px}.facility-lightbox-image{max-width:100%;max-height:84vh;border-radius:14px}.facility-lightbox-close{top:14px;right:14px;width:44px;height:44px;font-size:30px}}
