@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}

/* Elite v76: restore the compact, understated mobile navigation list. */
@media (max-width:760px) {
  .mobile-menu { padding:96px 28px 28px; gap:0; }
  .mobile-menu a,
  .mobile-menu button { padding:10px 0; font-size:17px; font-weight:400; }
}

.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:transparent}
.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:1;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}
  .site-header .brand{opacity:0;transform:translateY(-3px)}
  .site-header.scrolled .brand,body.menu-open .site-header .brand{opacity:1;transform:none}
  .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:"View details";
  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,
.form-download-grid button {
  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;
  font:inherit;
  text-align:left;
  cursor:pointer;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.form-download-grid a:hover,
.form-download-grid a:focus-visible,
.form-download-grid button:hover,
.form-download-grid button: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:auto;
}
.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:38px;
  height:38px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:50%;
  color:#fff;
  background:rgba(255,255,255,.055);
  font-size:24px;
  line-height:1;
  font-weight:400;
  transition:background .25s ease,color .25s ease,border-color .25s ease;
}
.education-more-wrap.open .education-more-chevron { background:var(--accent); color:#fff; border-color:transparent; }
.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 v45: five-person staff row with media above names/titles. */
@media (min-width:1081px) {
  .providers-section .section-heading,
  .provider-grid {
    width:min(1180px,calc(100% - 56px));
  }
  .provider-grid {
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:14px;
  }
}
.provider-card {
  display:block;
  min-height:0;
  max-height:none;
  border-radius:22px;
}
.provider-card figure {
  height:168px;
  min-height:0;
  margin:0;
  overflow:hidden;
}
.provider-card video,
.provider-card img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 18%;
}
.provider-card > div {
  display:block;
  min-height:98px;
  padding:15px 15px 17px;
}
.provider-card span {
  margin-bottom:7px;
  font-size:8px;
  line-height:1.32;
  letter-spacing:.08em;
}
.provider-card h3 {
  margin:0;
  font-size:16px;
  line-height:1.2;
}
.provider-blank-media,
.provider-modal-placeholder {
  background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(8,23,29,.22));
  border:0;
}
.provider-card-placeholder .provider-blank-media {
  height:168px;
}
.provider-modal-placeholder {
  width:100%;
  aspect-ratio:4/5;
  border-radius:22px;
}
@media (max-width:1080px) and (min-width:761px) {
  .provider-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
    width:min(920px,calc(100% - 56px));
  }
  .provider-card figure,
  .provider-card-placeholder .provider-blank-media { height:180px; }
}
@media (max-width:760px) {
  .provider-grid { grid-template-columns:1fr; }
  .provider-card {
    display:block;
    min-height:0;
    max-height:none;
  }
  .provider-card figure,
  .provider-card-placeholder .provider-blank-media {
    height:auto;
    min-height:0;
    aspect-ratio:4 / 5;
  }
  .provider-card > div {
    min-height:0;
    padding:17px 18px 19px;
  }
  .provider-card span { font-size:9px; }
  .provider-card h3 { font-size:19px; }
  .provider-modal-placeholder { width:190px; }
}
@media (max-width:420px) {
  .provider-card figure,
  .provider-card-placeholder .provider-blank-media {
    height:auto;
    aspect-ratio:4 / 5;
  }
}


/* Elite v46: Custom Splinting service feature + clear-background rotating gallery. */
.service-card-splinting{
  grid-column:span 2;
  min-height:235px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(250px,34%);
  align-items:center;
  gap:28px;
  padding:28px 34px;
}
.service-card-splinting::after{display:none}
.service-card-splinting .service-index{margin-bottom:18px}
.service-card-kicker{margin:0 0 8px!important;color:var(--accent-2)!important;font-size:10px!important;line-height:1.3!important;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.service-card-splinting h3{font-size:30px;margin-bottom:9px}
.service-card-splinting .service-card-splint-copy>p:not(.service-card-kicker){max-width:560px}
.service-card-splinting .card-action{margin-top:16px}
.splint-gallery{position:relative;overflow:hidden;isolation:isolate}
.splint-gallery-preview{width:100%;height:200px;min-height:200px;align-self:stretch;border-radius:0;background:transparent;display:block;overflow:hidden}
.splint-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:contain!important;object-position:center!important;opacity:0;filter:none!important;transform:none!important;animation:splintCrossfade 12s ease-in-out infinite}
@media (min-width:761px){
  .service-card-splinting{overflow:visible}
  .service-card-splinting .service-card-splint-copy{position:relative;z-index:2}
  .service-card-splinting .splint-gallery-preview{
    position:absolute;
    top:-10px;
    right:38px;
    bottom:12px;
    width:min(34%,250px);
    height:auto;
    min-height:0;
    overflow:visible;
    z-index:1;
    pointer-events:none;
  }
  .service-card-splinting .splint-gallery-preview .splint-slide{
    inset:0!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    object-fit:contain!important;
    object-position:center bottom!important;
    transform:translateY(10px)!important;
    transform-origin:center bottom!important;
  }
}
.splint-slide:nth-child(1){animation-delay:0s}.splint-slide:nth-child(2){animation-delay:-8s}.splint-slide:nth-child(3){animation-delay:-4s}
@keyframes splintCrossfade{0%,27%{opacity:1}34%,93%{opacity:0}100%{opacity:1}}
.modal-card.custom-splinting-modal-card{width:min(1110px,100%)}
.service-modal-splinting{grid-template-columns:minmax(0,1.15fr) minmax(310px,.85fr);gap:42px}
.service-modal-splinting .service-modal-body{align-self:start}
.service-modal-splinting .modal-heading{padding-right:0}
.service-modal-splinting .modal-heading h2{font-size:clamp(38px,4.6vw,56px)}
.service-modal-media-splinting{position:sticky;top:0;min-height:535px;height:535px;background:transparent;border-color:rgba(255,255,255,.11);box-shadow:none;display:flex;align-items:center;justify-content:center}
.splint-gallery-modal{position:absolute;inset:28px 24px 54px;background:transparent}
.service-modal-media-splinting .splint-slide{min-height:0;object-fit:contain!important}
.splint-dots{position:absolute;left:50%;bottom:22px;display:flex;gap:8px;transform:translateX(-50%)}
.splint-dots span{width:22px;height:2px;border-radius:999px;background:rgba(255,255,255,.38)}
.splint-highlights{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 4px}
.splint-highlights span{padding:7px 10px;border:1px solid rgba(198,220,159,.22);border-radius:999px;background:rgba(255,255,255,.04);color:rgba(255,255,255,.78);font-size:11px;line-height:1.2}
@media (max-width:760px){
  .service-card-splinting{grid-template-columns:1fr;gap:16px;min-height:0;padding:25px}
  .service-card-splinting .service-index{margin-bottom:16px}
  .splint-gallery-preview{height:170px;min-height:170px}
  .service-modal-splinting{grid-template-columns:1fr;gap:24px}
  .service-modal-media-splinting{position:relative;min-height:0;height:310px;order:2}
  .splint-gallery-modal{inset:18px 16px 40px}
}
@media (prefers-reduced-motion:reduce){.splint-slide{animation:none}.splint-slide:first-child{opacity:1}}


/* Elite v49: taller provider media and borderless staff cards. */
@media (min-width:1081px) {
  .provider-card figure,
  .provider-card-placeholder .provider-blank-media {
    height:220px;
  }
}
.provider-card {
  border:0 !important;
}
.provider-card:hover,
.provider-card:focus-visible {
  border:0 !important;
}
@media (max-width:1080px) and (min-width:761px) {
  .provider-card figure,
  .provider-card-placeholder .provider-blank-media {
    height:235px;
  }
}
@media (max-width:760px) {
  .provider-card figure,
  .provider-card-placeholder .provider-blank-media {
    height:250px;
  }
}
@media (max-width:420px) {
  .provider-card figure,
  .provider-card-placeholder .provider-blank-media {
    height:235px;
  }
}

/* Elite v51: widen provider intro copy to eliminate desktop widow. */
@media (min-width:761px) {
  .providers-section .section-heading > p {
    max-width:340px;
  }
}


/* v53: FAQ redesign inspired by the MDR build, reversed for the Elite dark theme. */
.faq-section { position:relative; z-index:2; }
.faq-panel {
  display:grid;
  gap:16px;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.faq-item {
  margin:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.13);
  border-radius:28px;
  background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.045));
  box-shadow:0 18px 40px rgba(0,0,0,.14);
  transition:border-color .25s ease,background .25s ease,transform .25s ease,box-shadow .25s ease;
}
.faq-item:hover {
  transform:translateY(-2px);
  border-color:rgba(198,220,159,.3);
  box-shadow:0 22px 48px rgba(0,0,0,.18);
}
.faq-item[open] {
  border-color:rgba(198,220,159,.34);
  background:linear-gradient(145deg,rgba(11,33,42,.82),rgba(7,22,29,.7));
  box-shadow:0 28px 58px rgba(0,0,0,.22);
}
.faq-item summary {
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  width:100%;
  padding:24px 28px;
  cursor:pointer;
  user-select:none;
}
.faq-item summary::-webkit-details-marker,
.faq-item summary::marker { display:none; content:""; }
.faq-item summary span:first-child {
  flex:1;
  color:#fff;
  font-size:clamp(18px,2vw,27px);
  line-height:1.25;
  font-weight:500;
  letter-spacing:-.02em;
}
.faq-plus {
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:50%;
  background:rgba(0,0,0,.18);
  color:var(--accent-2);
  font-size:28px;
  line-height:1;
  font-weight:400;
  transition:transform .25s ease,background .25s ease,border-color .25s ease,color .25s ease;
}
.faq-item[open] .faq-plus {
  transform:rotate(45deg);
  background:rgba(120,171,38,.12);
  border-color:rgba(198,220,159,.38);
  color:#fff;
}
.faq-answer {
  padding:0 28px 26px;
}
.faq-answer p {
  margin:0;
  max-width:94ch;
  color:rgba(247,251,252,.82);
  font-size:18px;
  line-height:1.7;
}
@media (max-width: 900px) {
  .faq-panel { gap:14px; }
  .faq-item { border-radius:24px; }
  .faq-item summary { padding:20px 22px; gap:16px; }
  .faq-plus { width:40px; height:40px; font-size:24px; }
  .faq-answer { padding:0 22px 22px; }
  .faq-answer p { font-size:16px; line-height:1.65; }
}
@media (max-width: 640px) {
  .faq-item summary span:first-child { font-size:19px; }
}

/* Elite v49: staged opening animation for the centered stacked hero logo. */
.intro-logo-svg{display:block;width:100%;height:auto;overflow:visible}
.intro-logo-animated .logo-green,
.intro-logo-animated .logo-body,
.intro-logo-animated .logo-wordmark-main,
.intro-logo-animated .logo-wordmark-institute{opacity:0}
.intro-logo-animated .logo-green{animation:eliteGreenIn .28s ease-out forwards}
.intro-logo-animated .logo-green-1{animation-delay:.12s}
.intro-logo-animated .logo-green-2{animation-delay:.28s}
.intro-logo-animated .logo-green-3{animation-delay:.44s}
.intro-logo-animated .logo-green-4{animation-delay:.60s}
.intro-logo-animated .logo-green-5{animation-delay:.76s}
.intro-logo-animated .logo-green-6{animation-delay:.92s}
.intro-logo-animated .logo-green-7{animation-delay:1.08s}
.intro-logo-animated .logo-body{animation:eliteBodyIn .82s ease-out 1.38s forwards}
.intro-logo-animated .logo-wordmark-main{
  transform:translateY(7px);
  transform-box:fill-box;
  transform-origin:center;
  animation:eliteWordmarkIn 1.15s cubic-bezier(.22,.61,.36,1) 2.20s forwards;
}
.intro-logo-animated .logo-wordmark-institute{
  transform:translateY(6px);
  transform-box:fill-box;
  transform-origin:center;
  animation:eliteWordmarkIn 1.10s cubic-bezier(.22,.61,.36,1) 2.98s forwards;
}
@keyframes eliteGreenIn{from{opacity:0}to{opacity:1}}
@keyframes eliteBodyIn{from{opacity:0}to{opacity:1}}
@keyframes eliteWordmarkIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion:reduce){
  .intro-logo-animated .logo-green,
  .intro-logo-animated .logo-body,
  .intro-logo-animated .logo-wordmark-main,
  .intro-logo-animated .logo-wordmark-institute{animation:none!important;opacity:1!important;transform:none!important}
}

/* Elite v55: clearer, glassier FAQ cards with darker hover/open states. */
.faq-item {
  background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012));
  -webkit-backdrop-filter:blur(18px) saturate(112%);
  backdrop-filter:blur(18px) saturate(112%);
  box-shadow:0 14px 34px rgba(0,0,0,.08);
}
.faq-item:hover {
  background:linear-gradient(145deg,rgba(5,22,28,.34),rgba(4,16,22,.24));
  box-shadow:0 18px 42px rgba(0,0,0,.14);
}
.faq-item[open] {
  background:linear-gradient(145deg,rgba(7,27,35,.56),rgba(4,18,24,.44));
  -webkit-backdrop-filter:blur(20px) saturate(114%);
  backdrop-filter:blur(20px) saturate(114%);
}

/* Elite v58: provider headshot framing only. Keep card/container geometry unchanged. */
.provider-grid .provider-card:nth-child(1) video {
  transform:scale(1.05);
  object-position:center calc(18% - 12px);
}
.provider-grid .provider-card:nth-child(1):hover video,
.provider-grid .provider-card:nth-child(1):focus-visible video {
  transform:scale(1.05);
}
.provider-grid .provider-card:nth-child(2) video {
  transform:scale(1.05);
  object-position:center calc(18% + 8px);
}
.provider-grid .provider-card:nth-child(2):hover video,
.provider-grid .provider-card:nth-child(2):focus-visible video {
  transform:scale(1.05);
}
.provider-grid .provider-card:nth-child(3) video {
  transform:scale(1.05);
}
.provider-grid .provider-card:nth-child(3):hover video,
.provider-grid .provider-card:nth-child(3):focus-visible video {
  transform:scale(1.05);
}
.provider-grid .provider-card:nth-child(5) video {
  transform:scale(1.05);
  object-position:center calc(18% - 4px);
}
.provider-grid .provider-card:nth-child(5):hover video,
.provider-grid .provider-card:nth-child(5):focus-visible video {
  transform:scale(1.05);
}

/* Elite v59: provider-card eyebrow labels use the primary brand green. */
.provider-card span{color:var(--accent)!important}

/* Elite v81: Alexa desktop headshot framing. */
@media (min-width:761px) {
  .provider-grid .provider-card:nth-child(4) video {
    transform:scale(1.06) !important;
    object-position:calc(50% + 7px) calc(18% - 8px) !important;
  }
}

/* Elite v72: mobile provider headshots must fill the full card width above the details panel. */
@media (max-width:760px) {
  .provider-card {
    display:block !important;
    grid-template-columns:none !important;
  }
  .provider-card figure {
    display:block;
    width:100%;
    height:250px !important;
    aspect-ratio:auto !important;
  }
  .provider-card figure video,
  .provider-card figure img {
    display:block;
    width:100% !important;
    height:100% !important;
  }
}
@media (max-width:420px) {
  .provider-card figure { height:235px !important; }
}

/* Elite v73: roomier mobile provider portraits and larger provider names. */
@media (max-width:760px) {
  .provider-card figure { height:300px !important; }
  .provider-card h3 { font-size:24.7px !important; }
}
@media (max-width:420px) {
  .provider-card figure { height:282px !important; }
}

/* Elite v74: lift mobile provider framing without changing the media containers. */
@media (max-width:760px) {
  .provider-card figure video,
  .provider-card figure img { object-position:center calc(18% - 20px) !important; }
  .provider-grid .provider-card:nth-child(2) video { object-position:center calc(18% - 5px) !important; }
  .provider-grid .provider-card:nth-child(4) video { object-position:calc(50% - 7px) calc(18% - 20px) !important; }
}

/* Elite v61: FAQ plus signs only — no circular button background or border. */
.faq-plus,
.faq-item[open] .faq-plus {
  width:auto;
  height:auto;
  min-width:0;
  min-height:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  padding:0;
}
.faq-item[open] .faq-plus {
  background:transparent;
  border-color:transparent;
}


/* Elite v67: requested interaction refinements + regular-weight headings. */
/* Main display headings use the regular 400 face; eyebrow/kicker labels retain their existing weights. */
h1,h2,h3{font-weight:400!important}

/* FAQ plus signs rotate 45 degrees on hover/focus while remaining visually unboxed. */
.faq-item:hover .faq-plus,
.faq-item:focus-within .faq-plus{transform:rotate(45deg)}

/* Contact panel: clear neutral frosted glass, without a colored fill. */
.contact-panel.glass{
  background:linear-gradient(135deg,rgba(255,255,255,.035),rgba(255,255,255,.012));
  -webkit-backdrop-filter:blur(25px) saturate(108%);
  backdrop-filter:blur(25px) saturate(108%);
}


/* v70: repair Therapy Services mobile layout and restore service imagery. */
@media (max-width:760px) {
  #services .service-grid {
    grid-template-columns:minmax(0,1fr) !important;
    grid-auto-columns:minmax(0,1fr) !important;
    grid-auto-flow:row !important;
    gap:12px !important;
  }
  #services .service-card {
    grid-column:1 / -1 !important;
    width:100% !important;
    min-width:0 !important;
    min-height:245px;
    background-size:cover !important;
    background-position:center !important;
    background-repeat:no-repeat !important;
    border-color:transparent !important;
    background-origin:border-box !important;
    background-clip:border-box !important;
  }
  #services .service-card[data-open-modal="physical-therapy"] {
    background-image:linear-gradient(145deg,rgba(6,20,26,.50),rgba(6,20,26,.66)),url('../img/services/physical-therapy.jpg') !important;
  }
  #services .service-card[data-open-modal="hand-therapy"] {
    background-image:linear-gradient(145deg,rgba(6,20,26,.50),rgba(6,20,26,.66)),url('../img/services/hand-therapy.jpg') !important;
  }
  #services .service-card[data-open-modal="dry-needling"] {
    background-image:linear-gradient(145deg,rgba(6,20,26,.50),rgba(6,20,26,.66)),url('../img/services/dry-needling.jpg') !important;
  }
  #services .service-card[data-open-modal="sports-rehab"] {
    background-image:linear-gradient(145deg,rgba(6,20,26,.50),rgba(6,20,26,.66)),url('../img/services/sports-rehabilitation.jpg') !important;
  }
  #services .service-card[data-open-modal="post-surgical"] {
    background-image:linear-gradient(145deg,rgba(6,20,26,.50),rgba(6,20,26,.66)),url('../img/services/post-surgical-rehabilitation.jpg') !important;
  }
  #services .service-card[data-open-modal="patient-education"] {
    background-image:linear-gradient(145deg,rgba(6,20,26,.50),rgba(6,20,26,.66)),url('../img/services/patient-education.jpg') !important;
  }
  #services .service-card-splinting {
    grid-column:1 / -1 !important;
    background-image:none !important;
  }
}

/* Elite v84: final mobile Alexa framing override. */
@media (max-width:760px) {
  .provider-grid .provider-card:nth-child(4) video {
    object-position:calc(50% - 7px) calc(18% - 20px) !important;
  }
}

/* Elite v85: restore John's original desktop framing; his offset is mobile only. */
@media (min-width:761px) {
  .provider-grid .provider-card:nth-child(2) video {
    object-position:center calc(18% + 8px) !important;
  }
}

/* Elite v88: improve provider-name legibility without affecting the credentials line. */
.provider-card h3 { font-weight:500 !important; }

/* Elite v90: raise all static provider portraits within their existing media boxes. */
.provider-card .provider-image { object-position:center calc(18% - 25px) !important; }

/* Elite v91: keep iPhone modals at the visible top edge, with the close control available immediately. */
@media (max-width:760px) {
  .modal {
    place-items:start center;
    padding:12px;
  }
  .modal-card,
  .modal-card.schedule-modal {
    max-height:calc(100dvh - 24px);
  }
  .modal-content,
  .modal-card.schedule-modal .modal-content {
    max-height:calc(100dvh - 24px);
  }
}

/* Elite v92: in-site patient forms. */
.modal-card:has(.patient-web-form-modal){width:min(1050px,100%)}
.patient-form-header{display:grid;grid-template-columns:124px minmax(0,1fr) auto;gap:24px;align-items:start;padding-right:50px;margin-bottom:30px}.patient-form-header>img{width:124px;height:auto;margin-top:4px}.patient-form-header h2{margin:0;color:#fff;font-size:clamp(34px,4.5vw,54px);line-height:1.02;letter-spacing:-.045em}.patient-form-header>div>p:last-child{margin:12px 0 0;color:var(--muted);font-size:14px;line-height:1.6;max-width:540px}.patient-form-top-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.patient-form-top-actions button{border:1px solid rgba(195,224,128,.42);border-radius:999px;background:rgba(120,171,38,.12);color:#e6f5bc;padding:10px 13px;font-size:10px;font-weight:700;letter-spacing:.075em;text-transform:uppercase;cursor:pointer}.patient-form-top-actions button:hover{background:var(--accent);color:#fff}.patient-web-form{display:grid;gap:16px}.patient-form-section{padding:23px;border:1px solid rgba(255,255,255,.13);border-radius:22px;background:linear-gradient(145deg,rgba(19,48,57,.72),rgba(8,26,33,.60))}.patient-form-section h3{margin:0 0 17px;color:#fff;font-size:19px;letter-spacing:-.025em}.patient-form-section h4{margin:20px 0 8px;color:var(--accent-2);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.patient-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.patient-form-grid>label,.patient-form-grid>fieldset{min-width:0}.patient-form-grid .is-wide{grid-column:1/-1}.patient-web-form label{display:grid;gap:7px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.055em}.patient-web-form label>span,.patient-web-form fieldset>legend{color:var(--accent-2);font-size:9px;font-weight:700;letter-spacing:.105em;text-transform:uppercase}.patient-web-form input,.patient-web-form textarea{width:100%;border:1px solid rgba(255,255,255,.15);border-radius:12px;background:rgba(255,255,255,.055);color:#fff;padding:12px 13px;outline:0}.patient-web-form textarea{resize:vertical;min-height:86px}.patient-web-form input:focus,.patient-web-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(120,171,38,.12)}.patient-web-form fieldset{margin:0;padding:0;border:0}.patient-web-form fieldset>legend{margin-bottom:9px}.form-checks{display:flex;flex-wrap:wrap;gap:7px}.form-checks label{display:flex;align-items:center;gap:6px;border:1px solid rgba(255,255,255,.11);border-radius:999px;background:rgba(255,255,255,.035);padding:8px 10px;color:#fff!important;font-size:11px!important;font-weight:500!important;letter-spacing:0!important}.form-checks input{width:13px;height:13px;accent-color:var(--accent);padding:0}.patient-form-prose{color:var(--muted);font-size:14px;line-height:1.7}.patient-form-prose p{margin:0 0 13px}.patient-form-footer{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:6px 3px}.patient-form-footer p{margin:0;color:var(--muted);font-size:12px;line-height:1.5;max-width:500px}.patient-form-success{display:grid;gap:7px;padding:30px;border:1px solid rgba(120,171,38,.32);border-radius:20px;background:rgba(120,171,38,.09);color:#fff}.patient-form-success strong{font-size:20px}.patient-form-success span{color:var(--muted)}
@media (max-width:760px){.patient-form-header{grid-template-columns:1fr;padding-right:0;gap:15px}.patient-form-header>img{width:116px}.patient-form-top-actions{justify-content:flex-start}.patient-form-section{padding:18px}.patient-form-grid{grid-template-columns:1fr}.patient-form-grid .is-wide{grid-column:auto}.patient-form-footer{align-items:stretch;flex-direction:column}.patient-form-footer .button{width:100%}.form-checks{gap:6px}.form-checks label{padding:7px 9px}.modal-card:has(.patient-web-form-modal){width:100%}}
@media print{body.printing-patient-form>*:not(#siteModal){display:none!important}body.printing-patient-form .modal{position:static!important;display:block!important;padding:0!important;opacity:1!important;background:#fff!important}body.printing-patient-form .modal-backdrop,.modal-close,.patient-form-top-actions,.patient-form-footer{display:none!important}body.printing-patient-form .modal-card,body.printing-patient-form .modal-content{max-height:none!important;overflow:visible!important;width:100%!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;color:#111!important;padding:0!important}body.printing-patient-form .patient-web-form-modal{color:#111!important}body.printing-patient-form .patient-form-header h2,body.printing-patient-form .patient-form-section h3{color:#111!important}body.printing-patient-form .patient-form-section{background:#fff!important;border-color:#bbb!important;break-inside:avoid}body.printing-patient-form .patient-web-form input,body.printing-patient-form .patient-web-form textarea{background:#fff!important;border-color:#aaa!important;color:#111!important}body.printing-patient-form .patient-form-prose,body.printing-patient-form .patient-form-header>div>p:last-child{color:#222!important}}

/* Elite v95: financial-policy acknowledgment and locked submission state. */
.financial-agreement{display:flex!important;align-items:flex-start;gap:12px;padding:16px 17px;border:1px solid rgba(195,224,128,.28);border-radius:15px;background:rgba(120,171,38,.09);cursor:pointer}.financial-agreement input{width:19px!important;height:19px!important;flex:0 0 auto;margin:0;padding:0!important;accent-color:var(--accent)}.financial-agreement span{color:#fff!important;font-size:13px!important;font-weight:500!important;letter-spacing:0!important;line-height:1.55;text-transform:none!important}.patient-form-send:disabled,.patient-form-submit:disabled{opacity:.32!important;filter:saturate(.35);cursor:not-allowed!important;pointer-events:none}

/* Elite v96: composed paper forms - clean rules, no reverse logo, and no orphaned title page. */
@media print{
  @page{margin:.45in .5in}
  body.printing-patient-form .patient-form-header{display:block!important;margin:0 0 16px!important;padding:0 0 12px!important;border-bottom:2px solid #17313a!important}
  body.printing-patient-form .patient-form-header>img{display:block!important;visibility:visible!important;opacity:1!important;width:118px!important;height:auto!important;margin:0 0 9px!important;filter:brightness(0) saturate(100%)!important}
  body.printing-patient-form .patient-form-header .kicker{color:#587078!important;margin:0 0 5px!important}
  body.printing-patient-form .patient-form-header h2{font-size:28px!important;line-height:1.05!important;letter-spacing:-.03em!important}
  body.printing-patient-form .patient-form-header>div>p:last-child{margin:7px 0 0!important;font-size:11px!important;line-height:1.45!important}
  body.printing-patient-form .patient-web-form{display:block!important}
  body.printing-patient-form .patient-form-section{margin:0 0 12px!important;padding:12px 0 0!important;border:0!important;border-top:1px solid #c9d0d1!important;border-radius:0!important;break-inside:auto!important;page-break-inside:auto!important}
  body.printing-patient-form .patient-form-section:first-child{border-top:0!important;padding-top:0!important}
  body.printing-patient-form .patient-form-section h3{margin:0 0 10px!important;font-size:17px!important}
  body.printing-patient-form .patient-form-section h4{margin:12px 0 5px!important;color:#355962!important;font-size:9px!important}
  body.printing-patient-form .patient-form-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px 12px!important}
  body.printing-patient-form .patient-form-grid .is-wide{grid-column:1/-1!important}
  body.printing-patient-form .patient-web-form label{gap:3px!important;font-size:9px!important}
  body.printing-patient-form .patient-web-form label>span,body.printing-patient-form .patient-web-form fieldset>legend{color:#45636a!important;font-size:7px!important;letter-spacing:.08em!important}
  body.printing-patient-form .patient-web-form input{height:25px!important;padding:3px 0!important;border:0!important;border-bottom:1px solid #7f9297!important;border-radius:0!important;box-shadow:none!important}
  body.printing-patient-form .patient-web-form textarea{min-height:46px!important;padding:4px 0!important;border:1px solid #9aa8ab!important;border-radius:0!important;box-shadow:none!important}
  body.printing-patient-form .form-checks{gap:4px 10px!important}
  body.printing-patient-form .form-checks label{padding:0!important;border:0!important;border-radius:0!important;background:none!important;color:#111!important;font-size:8px!important}
  body.printing-patient-form .form-checks input{width:10px!important;height:10px!important;border:1px solid #444!important}
  body.printing-patient-form .patient-form-prose{font-size:10px!important;line-height:1.45!important}
  body.printing-patient-form .patient-form-prose p{margin:0 0 7px!important}
  body.printing-patient-form .financial-agreement{padding:8px 0!important;border:0!important;border-radius:0!important;background:none!important}
  body.printing-patient-form .financial-agreement input{width:14px!important;height:14px!important;border:1px solid #333!important}
  body.printing-patient-form .financial-agreement span{color:#111!important;font-size:10px!important}
}

/* Elite v101: actual-phone layout for patient forms. */
@media (max-width:760px){
  .form-download-grid{grid-template-columns:1fr!important;gap:9px!important}
  .form-download-grid button{
    min-height:54px!important;
    padding:13px 15px!important;
    background:rgba(255,255,255,.04)!important;
    color:#fff!important;
  }
  .form-download-grid button span{color:#fff!important;font-size:13px!important}
  .form-download-grid button b{color:var(--accent-2)!important;font-size:9px!important}
  .modal:has(.patient-web-form-modal){padding:8px!important;place-items:start center!important}
  .modal-card:has(.patient-web-form-modal){width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important;border-radius:20px!important}
  .modal-card:has(.patient-web-form-modal) .modal-content{max-height:calc(100dvh - 16px)!important;padding:24px 16px 28px!important}
  .patient-form-header{display:flex!important;flex-direction:column!important;gap:12px!important;margin-bottom:20px!important;padding-right:0!important}
  .patient-form-header>img{width:150px!important;margin:0!important}
  .patient-form-header h2{font-size:28px!important;line-height:1.08!important;letter-spacing:-.035em!important}
  .patient-form-header>div>p:last-child{margin:8px 0 0!important;font-size:13px!important;line-height:1.45!important}
  .patient-form-top-actions{width:100%!important;justify-content:flex-start!important;gap:7px!important}
  .patient-form-top-actions button{padding:9px 11px!important;font-size:9px!important}
  .patient-form-grid{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
  .patient-form-grid>*{grid-column:1/-1!important;min-width:0!important}
  .patient-form-section{padding:16px!important;border-radius:18px!important}
  .patient-form-section h3{margin-bottom:13px!important;font-size:18px!important}
  .patient-web-form label{gap:5px!important}
  .patient-web-form input,.patient-web-form textarea{box-sizing:border-box!important;font-size:16px!important;padding:11px 12px!important}
  .patient-web-form textarea{min-height:96px!important}
  .form-checks{gap:6px!important}
  .form-checks label{font-size:12px!important;padding:8px 9px!important}
  .patient-form-footer{gap:14px!important;padding-top:2px!important}
}

/* Final print override: show the existing Elite logo as a dark mark on paper. */
@media print{
  body.printing-patient-form .patient-form-header > img[src*="elite-logo"]{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    width:118px!important;
    height:auto!important;
    margin:0 0 9px!important;
    filter:brightness(0) saturate(100%)!important;
  }
}

/* Keep the actual Elite logo visible in the paper/PDF version.  This rule is
   intentionally last because older print rules hid all header images. */
@media print{
  body.printing-patient-form .patient-form-header > img[src*="elite-logo"]{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    width:118px !important;
    height:auto !important;
    margin:0 0 9px !important;
    filter:brightness(0) saturate(100%) !important;
  }
}

/* Elite v98: dark Elite mark on white paper. */
@media print{
  body.printing-patient-form .patient-form-header>img{display:block!important;width:112px!important;height:auto!important;margin:0 0 8px!important;filter:brightness(0) saturate(100%)!important}
}

/* Elite v97: print uses the same compact form grid as screen, simply inverted for paper. */
@media print{
  @page{margin:.38in .42in}
  body.printing-patient-form .patient-form-header{display:block!important;margin:0 0 12px!important;padding:0 0 10px!important;border-bottom:1px solid #17313a!important}
  body.printing-patient-form .patient-form-header>img{display:block!important;visibility:visible!important;opacity:1!important;width:118px!important;height:auto!important;margin:0 0 9px!important;filter:brightness(0) saturate(100%)!important}
  body.printing-patient-form .patient-form-header h2{font-size:27px!important;line-height:1.05!important;color:#102a33!important}
  body.printing-patient-form .patient-form-header>div>p:last-child{margin:5px 0 0!important;color:#233d45!important;font-size:11px!important}
  body.printing-patient-form .patient-web-form{display:grid!important;gap:10px!important}
  body.printing-patient-form .patient-form-section{margin:0!important;padding:13px!important;border:1px solid #bac4c6!important;border-radius:12px!important;background:#fff!important;break-inside:auto!important;page-break-inside:auto!important}
  body.printing-patient-form .patient-form-section h3{margin:0 0 10px!important;font-size:16px!important;color:#102a33!important}
  body.printing-patient-form .patient-form-section h4{margin:10px 0 4px!important;color:#45636a!important}
  body.printing-patient-form .patient-form-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px 11px!important}
  body.printing-patient-form .patient-form-grid .is-wide{grid-column:1/-1!important}
  body.printing-patient-form .patient-web-form label{gap:3px!important}
  body.printing-patient-form .patient-web-form label>span,body.printing-patient-form .patient-web-form fieldset>legend{color:#45636a!important;font-size:7px!important}
  body.printing-patient-form .patient-web-form input{height:27px!important;padding:4px 6px!important;border:1px solid #8fa0a4!important;border-radius:4px!important;background:#fff!important;color:#111!important}
  body.printing-patient-form .patient-web-form textarea{min-height:48px!important;padding:5px 6px!important;border:1px solid #8fa0a4!important;border-radius:4px!important;background:#fff!important;color:#111!important}
  body.printing-patient-form .form-checks{gap:4px 9px!important}
  body.printing-patient-form .form-checks label{padding:0!important;border:0!important;border-radius:0!important;background:none!important;color:#111!important;font-size:8px!important}
  body.printing-patient-form .form-checks input{width:10px!important;height:10px!important;border:1px solid #333!important}
  body.printing-patient-form .patient-form-prose{font-size:10px!important;line-height:1.42!important}
  body.printing-patient-form .patient-form-prose p{margin:0 0 6px!important}
  body.printing-patient-form .financial-agreement{padding:7px!important;border:1px solid #8fa0a4!important;border-radius:4px!important;background:#fff!important}
  body.printing-patient-form .financial-agreement span{color:#111!important;font-size:10px!important}
}
