
.site-header{position:sticky;z-index:40;top:0;background:rgba(255,255,255,.98);border-bottom:1px solid var(--border);transition:box-shadow .2s}.site-header.is-scrolled{box-shadow:0 6px 20px rgba(16,42,67,.08)}.topbar{background:#0b2438;color:#e8f1f3;font-size:.82rem}.topbar a{color:#fff}.topbar-inner{min-height:36px;display:flex;justify-content:space-between;align-items:center}.header-inner{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand img{width:min(270px,25vw);height:auto;object-fit:contain}.primary-nav{display:flex;align-items:center;gap:clamp(.5rem,1vw,1rem)}.primary-nav>a:not(.button){font-size:.85rem;color:var(--text);text-decoration:none;font-weight:650;white-space:nowrap}.primary-nav>a:not(.button):hover{color:var(--primary);text-decoration:underline}.menu-toggle{display:none;min-width:46px;min-height:46px;border:1px solid var(--border);border-radius:10px;background:white;color:var(--primary);font-size:1.35rem}.article-card{overflow:hidden;border-radius:var(--radius);background:#fff;border:1px solid var(--border);box-shadow:var(--shadow)}.article-art{display:grid;place-items:center;min-height:165px;background:linear-gradient(135deg,#dbf2fb,#f5faff);color:var(--primary);font-size:2.7rem;font-weight:900}.art-shoulder,.art-0{background:linear-gradient(135deg,#d3edf8,#f5faff)}.art-sport,.art-1{background:linear-gradient(135deg,#c8e7f4,#eff8fc)}.art-knee,.art-2{background:linear-gradient(135deg,#dbe8f5,#f4f7fa)}.article-card-body{padding:1.25rem}.article-card-body h2,.article-card-body h3{font-size:1.17rem;line-height:1.35;color:var(--heading)}.article-card-body a{font-weight:750;text-decoration:none}.article-card[hidden]{display:none}.article-head{padding:3.2rem 0 1rem}.article-meta{color:var(--muted);font-weight:650}.article-figure{margin:0 0 2rem;overflow:hidden;border-radius:18px}.article-figure img{width:100%;max-height:440px;object-fit:cover;background:var(--surface)}.article-body h2{margin-top:2.2rem;font-size:1.7rem}.article-body p,.article-body li{line-height:1.8}.filter-bar{display:flex;align-items:center;gap:.65rem 1rem;flex-wrap:wrap;margin-bottom:1.5rem}.filter-bar label{font-weight:750}.filter-bar input,.filter-bar select{min-height:46px;padding:.55rem .75rem;border:1px solid #a9bdc5;border-radius:9px;background:white}.filter-bar input{flex:1;min-width:220px}.video-grid{display:grid;gap:1.5rem}.video-card{display:grid;grid-template-columns:1.08fr .92fr;gap:1.25rem;align-items:start;padding:1rem;border:1px solid var(--border);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.video-card video{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:12px;background:#0b2438}.video-card h2{font-size:1.35rem;margin:.3rem 0}.caption-note,.privacy-note{font-size:.88rem;color:var(--muted)}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:1.5rem;align-items:start}.form-card h2{font-size:1.65rem;margin-top:0}.field{margin:1rem 0}.field label{display:block;margin-bottom:.35rem;font-weight:750}.field input,.field select,.field textarea{width:100%;min-height:48px;padding:.7rem .8rem;border:1px solid #9eb4bd;border-radius:9px;background:white;color:var(--text)}.field textarea{min-height:120px;resize:vertical}.field-error{display:block;min-height:1.15rem;color:var(--error);font-weight:650}.form-status{padding:.75rem;background:var(--surface);border-radius:9px}.hp-field{position:absolute;left:-9999px}.form-card button{width:100%}.sports-page-hero{background:radial-gradient(circle at 88% 20%,#d9eff9,transparent 36%),linear-gradient(120deg,#f3f9fd,#fff)}


.nav-dropdown{position:relative;flex:0 0 auto}.nav-dropdown>summary{display:flex;min-height:44px;align-items:center;gap:.45rem;list-style:none;cursor:pointer;color:var(--text);font-size:.85rem;font-weight:700;white-space:nowrap}.nav-dropdown>summary::-webkit-details-marker{display:none}.nav-dropdown>summary::after{content:"";width:7px;height:7px;border-right:1.7px solid currentColor;border-bottom:1.7px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .18s}.nav-dropdown[open]>summary::after{transform:rotate(225deg) translate(-1px,-1px)}.nav-dropdown>summary:hover,.nav-dropdown[open]>summary{color:var(--primary)}.dropdown-menu{position:absolute;z-index:45;top:calc(100% + .6rem);left:0;display:none;width:285px;padding:.45rem;background:white;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow)}.nav-dropdown[open] .dropdown-menu{display:grid}.dropdown-menu a{display:flex;min-height:44px;align-items:center;padding:.55rem .7rem;border-radius:8px;color:var(--text);font-size:.9rem;font-weight:650;text-decoration:none}.dropdown-menu a:hover,.dropdown-menu a:focus-visible{background:var(--surface);color:var(--primary)}.experience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.experience-card{overflow:hidden;margin:0;border:1px solid var(--border);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.experience-card img{width:100%;height:280px;object-fit:cover}.experience-card figcaption{min-height:74px;padding:1rem 1.1rem;color:var(--heading);font-weight:700;line-height:1.45}


.wa-chat-widget{position:fixed;z-index:80;right:24px;bottom:90px;display:flex;flex-direction:column;width:min(380px,calc(100vw - 32px));max-height:min(580px,calc(100dvh - 110px));overflow:hidden;border:1px solid rgba(11,36,56,.12);border-radius:20px;background:#fff;box-shadow:0 18px 50px rgba(15,35,50,.2);opacity:0;transform:translateY(16px) scale(.97);transform-origin:bottom right;transition:opacity .22s ease,transform .22s ease}
.wa-chat-widget[hidden]{display:none}
.wa-chat-widget.is-open{opacity:1;transform:translateY(0) scale(1)}
.wa-chat-header{display:flex;flex:none;align-items:center;gap:.7rem;padding:.85rem 1rem;background:#0b4785;color:#fff}
.wa-chat-avatar{display:grid;flex:none;place-items:center;width:48px;height:48px;overflow:hidden;border-radius:50%;background:#fff}
.wa-chat-avatar img{width:42px;height:34px;object-fit:contain}
.wa-chat-heading{display:grid;min-width:0;gap:.1rem}
.wa-chat-heading strong{color:#fff;font-size:.97rem;line-height:1.25}
.wa-chat-heading>span{display:flex;align-items:center;gap:.4rem;color:#e4f2fc;font-size:.76rem}
.wa-chat-heading i,.wa-chat-message small i{display:inline-block;width:8px;height:8px;flex:none;border-radius:50%;background:#54d982}
.wa-chat-close{display:grid;flex:none;place-items:center;width:40px;height:40px;margin-left:auto;border:0;border-radius:50%;background:transparent;color:#fff;cursor:pointer}
.wa-chat-close:hover{background:rgba(255,255,255,.14)}
.wa-chat-close svg,.wa-chat-composer button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.wa-chat-body{flex:1;min-height:0;overflow-y:auto;padding:.65rem .75rem;background-color:#f5f3ee;background-image:radial-gradient(rgba(11,71,133,.055) .7px,transparent .7px);background-size:14px 14px}
.wa-chat-date{display:flex;justify-content:center;margin:.1rem 0 .65rem}
.wa-chat-date span{padding:.17rem .6rem;border-radius:999px;background:#e9e7e1;color:#53606b;font-size:.68rem;font-weight:800;letter-spacing:.09em}
.wa-chat-message{padding:.75rem .8rem;border:1px solid rgba(11,36,56,.05);border-radius:8px 14px 14px 14px;background:#fff;box-shadow:0 2px 7px rgba(15,35,50,.06);color:#233746;font-size:.84rem;line-height:1.5}
.wa-chat-message strong{color:#0b4785;font-size:.76rem}
.wa-chat-message p{margin:.35rem 0}
.wa-chat-message small{display:flex;align-items:center;gap:.35rem;margin-top:.55rem;color:#567064;font-size:.71rem}
.wa-chat-message small i{width:6px;height:6px}
.wa-chat-quick{display:grid;gap:.38rem;margin-top:.7rem}
.wa-chat-quick>p{margin:0 0 .05rem;color:#596873;font-size:.67rem;font-weight:850;letter-spacing:.1em}
.wa-chat-quick button{display:flex;min-height:36px;align-items:center;gap:.55rem;padding:.36rem .72rem;border:1px solid #dce4e8;border-radius:999px;background:#fff;color:#16364d;text-align:left;font-family:inherit;font-size:.79rem;font-weight:600;line-height:1.25;cursor:pointer;transition:border-color .15s,background .15s,transform .15s}
.wa-chat-quick button:hover{transform:translateY(-1px);border-color:#57a3c1;background:#f4fbfe}
.wa-chat-quick button span{width:1.25rem;text-align:center;font-size:1rem}
.wa-chat-composer{display:flex;flex:none;align-items:center;gap:.55rem;padding:.7rem .75rem;border-top:1px solid #e2e9ec;background:#fff}
.wa-chat-composer input{width:100%;min-width:0;min-height:44px;padding:.55rem .9rem;border:1px solid #76aebd;border-radius:999px;background:#fff;color:#1d3444;font-family:inherit;font-size:.85rem}
.wa-chat-composer input::placeholder{color:#70808b}
.wa-chat-composer button{display:grid;flex:none;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:#087f78;color:#fff;cursor:pointer}
.wa-chat-composer button:hover{background:#066a65}
.wa-chat-status{flex:none;margin:0;padding:.35rem .9rem;background:#fff;color:#9b2431;font-size:.78rem}
.wa-chat-widget :focus-visible{outline:3px solid #16a6d5;outline-offset:2px}
@media(prefers-reduced-motion:reduce){.wa-chat-widget,.wa-chat-quick button{transition:none}}

.clinic-services-hero h1{max-width:780px}
.clinic-services-grid{align-items:stretch}
.clinic-service-card{display:flex;flex-direction:column;padding:2rem;border:1px solid var(--border);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}
.clinic-service-icon,.course-availability-icon{display:grid;place-items:center;width:64px;height:64px;margin-bottom:1.5rem;border-radius:18px;background:var(--surface-strong);color:var(--primary)}
.clinic-service-icon svg,.course-availability-icon svg{width:36px;height:36px}
.clinic-service-card .eyebrow{font-size:.7rem;letter-spacing:.08em}
.clinic-service-card h3{margin:.15rem 0 .6rem;color:var(--heading);font-size:1.7rem;line-height:1.2}
.clinic-service-card p:not(.eyebrow),.clinic-service-card li{color:var(--muted)}
.clinic-service-card ul{padding-left:1.15rem;margin:.25rem 0 1.5rem}
.clinic-service-card li{padding:.2rem 0}
.clinic-service-card .button{margin-top:auto;align-self:flex-start}
.clinic-availability-note{max-width:820px;margin:1.8rem auto 0;color:var(--muted);font-size:.92rem;text-align:center}
.exercise-library-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 2.2rem}
.exercise-library-nav a{display:inline-flex;align-items:center;min-height:46px;padding:.65rem 1rem;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--primary);font-size:.9rem;font-weight:700;text-decoration:none}
.exercise-library-nav a[aria-current="page"]{border-color:var(--primary);background:var(--primary);color:#fff}
.exercise-library-nav a:hover{border-color:var(--primary-dark)}
.course-intro{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.course-availability{padding:2rem;border:1px solid var(--border);border-radius:24px;background:#fff;box-shadow:var(--shadow)}
.course-availability h2{margin:1rem 0 .7rem;color:var(--heading);font-size:clamp(1.65rem,3vw,2.15rem);line-height:1.2;letter-spacing:-.025em}
.course-availability p{color:var(--muted)}

/* Exercise videos from the doctor's YouTube channel. */
.youtube-library{scroll-margin-top:110px}
.youtube-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.youtube-video-card{min-width:0;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}
.youtube-video-card iframe{display:block;width:100%;height:auto;aspect-ratio:16/9;border:0;background:#0b2438}
.youtube-video-body{padding:1.5rem}
.youtube-video-body .eyebrow{font-size:.72rem;margin:0 0 .6rem}
.youtube-video-body h3{margin:0 0 .7rem;color:var(--heading);font-size:1.35rem;line-height:1.3}
.youtube-video-body p:not(.eyebrow){color:var(--muted)}
.youtube-library-note{margin:1.5rem 0 1rem}
@media(max-width:767px){.youtube-video-grid{grid-template-columns:1fr}.youtube-video-body{padding:1.2rem}.youtube-library{scroll-margin-top:90px}}

/* Shared header navigation states and basic no-script links. */
.primary-nav a[aria-current="page"]:not(.button){color:var(--primary)}
.no-script-nav{display:flex;gap:1.5rem;padding-block:1rem}
