/* RAD Physical Therapy — shared styles */
:root{
  --navy:#061a3c;--navy-2:#0b2855;--ink:#0a172a;--red:#e5092c;--red-dark:#ba0624;--gold:#f3b323;
  --white:#fff;--muted:#566176;--line:#dfe4eb;--light:#f3f5f8;
  --display:'Barlow Condensed','Arial Narrow',sans-serif;--body:'DM Sans',Arial,sans-serif;
  --photo-gym:url('https://images.unsplash.com/photo-1534438327276-14e5300c3a48?auto=format&fit=crop&w=1600&q=70');
  --photo-strength:url('https://images.unsplash.com/photo-1517836357463-d25dfeac3438?auto=format&fit=crop&w=1600&q=70');
  --photo-field:url('https://images.unsplash.com/photo-1579952363873-27f3bade9f55?auto=format&fit=crop&w=1600&q=70');
  --photo-training:url('https://images.unsplash.com/photo-1518611012118-696072aa579a?auto=format&fit=crop&w=1600&q=70');
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;font-family:var(--body);color:var(--ink);background:#fff;font-size:16px}
button,input,select,textarea{font:inherit}
a{text-decoration:none;color:inherit;-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
img{max-width:100%}
p{line-height:1.75}

/* Focus & skip link */
:focus-visible{outline:3px solid var(--red);outline-offset:3px}
header :focus-visible,.hero :focus-visible,.dark :focus-visible,.footer :focus-visible,.image-card:focus-visible,.mobile-cta:focus-visible{outline-color:var(--gold)}
.cta :focus-visible{outline-color:#fff}
.skip{position:absolute;left:-9999px;top:0;background:var(--gold);color:var(--navy);padding:12px 18px;font-weight:700;z-index:100}
.skip:focus{left:12px;top:12px}

/* Type — big display type is reserved for heroes and section headlines */
h1,h2,.display{font-family:var(--display);text-transform:uppercase;line-height:.98;letter-spacing:.005em;margin:0;font-weight:800}
h1{font-size:clamp(3rem,7vw,7.25rem)}
h2{font-size:clamp(2.3rem,4.4vw,4.4rem)}
h3{font-family:var(--body);font-weight:700;font-size:1.3rem;line-height:1.3;letter-spacing:-.01em;margin:0 0 6px}
.eyebrow{font-size:12px;letter-spacing:.2em;font-weight:700;text-transform:uppercase;color:var(--red);margin-bottom:18px}
.hero .eyebrow,.dark .eyebrow{color:var(--gold)}
.lead{font-size:1.1rem;color:var(--muted)}

/* Header */
header{position:sticky;top:0;z-index:50;background:rgba(5,18,40,.97);color:#fff;border-bottom:1px solid #ffffff20;backdrop-filter:blur(12px)}
.nav{max-width:1400px;margin:auto;display:flex;align-items:center;gap:28px;padding:10px 30px}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.links a{white-space:nowrap}
@media(min-width:681px){.brand{flex-shrink:0}.brand strong{white-space:nowrap}}
.brand img{height:56px;width:56px;border-radius:50%;object-fit:cover}
.brand strong{display:block;font-family:var(--display);font-size:25px;letter-spacing:1px;font-weight:700;line-height:1.18}
.brand small{display:block;font-size:10px;letter-spacing:.18em;color:#b8c6d9}
.links{display:flex;align-items:center;gap:20px;margin-left:auto}
.links a{font-size:12.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:6px 0}
.links a:hover,.links a[aria-current="page"]{color:var(--gold)}
.mobile-toggle{display:none;border:1px solid #ffffff55;background:transparent;color:#fff;padding:9px 13px;font-size:21px;line-height:1}

/* Buttons */
.btn{border:0;background:var(--red);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:17px 24px;font-size:13px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;transition:transform .2s,background .2s;text-align:center}
.btn:hover{background:var(--red-dark);transform:translateY(-2px)}
.btn.outline{background:transparent;border:1px solid #ffffffa0}
.btn.outline:hover{background:#ffffff1c}
.btn.dark{background:var(--navy)}
.btn.dark:hover{background:var(--navy-2)}
.btn.white{background:#fff;color:var(--navy)}
.btn.ghost{background:transparent;color:var(--navy);border:1px solid var(--navy)}
.btn.ghost:hover{background:var(--navy);color:#fff}
.nav-book{white-space:nowrap;padding:15px 20px}
@media(max-width:1480px){.nav .brand small{display:none}}
@media(min-width:1461px) and (max-width:1560px){.nav{gap:18px;padding:10px 24px}.nav-book{padding:14px 16px}}
.actions{display:flex;gap:12px;flex-wrap:wrap}

/* Hero */
.hero{position:relative;min-height:640px;background:#07172d;color:#fff;display:flex;align-items:center;overflow:hidden}
.hero.short{min-height:440px}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#06142df2 0%,#06142dcc 42%,#06142d55 100%),var(--photo) center/cover no-repeat}
.hero:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:7px;background:linear-gradient(90deg,var(--red) 0 28%,var(--gold) 28% 34%,transparent 34%)}
.hero-inner{position:relative;max-width:1400px;width:100%;margin:auto;padding:100px 6%}
.hero h1{max-width:940px}
.hero h1 em{font-style:normal;color:var(--gold)}
.hero p{max-width:580px;color:#d9e2ee;font-size:17px;margin:24px 0 30px}
.micro{font-size:12px;letter-spacing:.1em;color:#b8c6d9;text-transform:uppercase;margin-top:26px}
.photo-gym{--photo:var(--photo-gym)}.photo-strength{--photo:var(--photo-strength)}.photo-field{--photo:var(--photo-field)}.photo-training{--photo:var(--photo-training)}

/* Layout */
.container{max-width:1260px;margin:auto;padding:0 30px}
.section{padding:96px 0}
.section.light{background:var(--light)}
.section.dark{background:var(--navy);color:#fff}
.intro{max-width:760px;margin-bottom:40px}
.intro p{color:var(--muted)}
.dark .intro p,.dark p{color:#c7d4e4}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:64px}
.split.top{align-items:start}
.split > img{width:100%;height:520px;object-fit:cover;display:block}
.goldline{width:75px;height:4px;background:var(--gold);margin:22px 0}

/* Stats bar */
.statbar{background:#0b234d;color:#fff}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:26px 30px;max-width:1260px;margin:auto}
.stat{border-right:1px solid #ffffff33;text-align:center}
.stat:last-child{border:0}
.stat strong{font-family:var(--display);font-size:30px;text-transform:uppercase;font-weight:800}
.stat span{display:block;color:#c5d2e3;font-size:12px;letter-spacing:.1em;text-transform:uppercase}

/* Audience cards */
.image-card{position:relative;min-height:460px;display:flex;align-items:end;background:#172c49;overflow:hidden;color:#fff}
.image-card:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#06142cf5,#06142c12 80%),var(--photo) center/cover no-repeat;transition:transform .5s}
.image-card:hover:before{transform:scale(1.05)}
.image-card .content{position:relative;padding:35px}
.image-card h3{font-family:var(--display);text-transform:uppercase;font-weight:800;font-size:clamp(2.4rem,3.6vw,3.8rem);line-height:.98;letter-spacing:.005em;margin:0 0 4px}
.image-card p{color:#d8e2f1;max-width:430px}
.tag{display:inline-block;background:var(--red);color:#fff;font-size:12px;font-weight:700;letter-spacing:.14em;padding:8px 11px;text-transform:uppercase;margin-bottom:16px}
.arrow{color:var(--gold);font-weight:700;letter-spacing:.1em;font-size:13px;text-transform:uppercase}

/* Cards */
.feature{border:1px solid var(--line);padding:34px;background:#fff;display:flex;flex-direction:column}
.feature .num{font-family:var(--display);font-size:52px;font-weight:800;color:var(--red);line-height:1;margin-bottom:14px}
.feature .step{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.feature p{color:var(--muted);font-size:15px}
.feature .btn{margin-top:auto;align-self:flex-start}
.dark .feature{background:var(--navy-2);border-color:#29446c}
.dark .feature p,.dark .feature .step{color:#c7d4e4}
.service-card h3{font-family:var(--display);text-transform:uppercase;font-weight:800;font-size:clamp(2rem,2.8vw,2.6rem);line-height:1;letter-spacing:.005em;margin-bottom:6px}
.service-list{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.service{border:1px solid var(--line);padding:25px}
.service p{color:var(--muted);font-size:15px;margin-bottom:0}
.dark .service{border-color:#29446c}
.dark .service p{color:#c7d4e4}
.check{display:flex;gap:12px;align-items:flex-start;margin:16px 0;font-size:15px;line-height:1.6}
.check b{color:var(--red)}
.dark .check b{color:var(--gold)}
.quote{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:clamp(2rem,3.6vw,3.8rem);line-height:1.05}
.cred-list{list-style:none;padding:0;margin:24px 0}
.cred-list li{border-top:1px solid var(--line);padding:14px 0;display:grid;grid-template-columns:150px 1fr;gap:16px;font-size:15px}
.cred-list li:last-child{border-bottom:1px solid var(--line)}
.cred-list span{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding-top:2px}

/* Panels (stand-ins where a photo used to repeat) */
.panel{background:var(--navy);color:#fff;padding:44px;position:relative}
.panel:after{content:"";position:absolute;left:0;bottom:0;height:6px;width:100%;background:linear-gradient(90deg,var(--red) 0 60%,var(--gold) 60% 72%,transparent 72%)}
.panel h3{font-family:var(--display);text-transform:uppercase;font-weight:800;font-size:2.2rem;line-height:1;margin-bottom:18px}
.panel p{color:#c7d4e4}
.panel .check b{color:var(--gold)}
.panel.light{background:#fff;color:var(--ink);border:1px solid var(--line)}
.panel.light p{color:var(--muted)}
.panel.light .check b{color:var(--red)}

/* Portrait */
.portrait{background:#2b2d31;position:relative;overflow:hidden;max-width:100%}
.portrait:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:6px;background:linear-gradient(90deg,var(--red) 0 60%,var(--gold) 60% 72%,transparent 72%)}
.portrait.no-photo{min-height:480px}
.portrait-photo{width:100%;aspect-ratio:4/5;height:auto;object-fit:cover;object-position:50% 18%;display:block}
.portrait-fallback{display:none}
.portrait.no-photo{display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,var(--navy),#0b2855)}
.portrait.no-photo .portrait-fallback{display:flex;flex-direction:column;align-items:center;text-align:center;color:#fff;padding:30px}
.portrait-fallback img{width:170px;height:170px;border-radius:50%;object-fit:cover;margin-bottom:22px}
.portrait-fallback strong{font-family:var(--display);font-size:2.2rem;text-transform:uppercase;letter-spacing:.02em}
.portrait-fallback span{color:var(--gold);font-weight:700;letter-spacing:.14em;font-size:13px;margin-top:4px}

/* CTA band */
.cta{background:linear-gradient(110deg,#d8082b,#a90020);color:#fff;padding:80px 0}
.cta h2{max-width:850px}
.cta p{color:#ffe2e7;max-width:600px;margin:18px 0 26px}
.cta .eyebrow{color:#ffe4a3}

/* Contact */
.contact-list{display:grid;gap:0;margin:26px 0}
.contact-item{display:grid;grid-template-columns:110px 1fr;gap:16px;border-top:1px solid var(--line);padding:16px 0;font-size:16px}
.contact-item:last-child{border-bottom:1px solid var(--line)}
.contact-item span{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding-top:3px}
.contact-item a{font-weight:700;color:var(--navy);text-decoration:underline;text-underline-offset:3px}
.form{display:grid;gap:14px}
.form input,.form select,.form textarea{width:100%;padding:15px;border:1px solid #b9c4d3;background:#fff;border-radius:0}
.form label{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.notice{font-size:13px;color:var(--muted);line-height:1.6}

/* FAQ */
.faq{border-bottom:1px solid #d5dce5;padding:20px 0}
.faq summary{font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;font-size:17px}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:'+';color:var(--red);font-size:24px;line-height:1}
.faq[open] summary:after{content:'−'}
.faq p{font-size:15px;color:var(--muted);max-width:850px}

/* Prose (privacy page) */
.prose{max-width:780px}
.prose h2{font-size:clamp(1.8rem,3vw,2.4rem);margin:40px 0 10px}
.prose p,.prose li{color:#33405a;line-height:1.75}

/* Footer */
.footer{background:#05132a;color:#fff;padding:60px 0 26px}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1.2fr;gap:40px}
.footer .brand{margin-bottom:6px}
.footer .foot-h{font-family:var(--body);font-size:12px;line-height:1.4;letter-spacing:.15em;text-transform:uppercase;font-weight:700;margin:6px 0 14px;color:var(--gold)}
.footer .brand img{width:52px;height:52px}
.footer a{display:block;color:#d4deeb;font-size:14px;margin:10px 0}
.footer a:hover{color:#fff}
.footer p{color:#b9c9db;font-size:14px}
.footer address{font-style:normal;color:#b9c9db;font-size:14px;line-height:1.7}
.footer-bottom{border-top:1px solid #ffffff25;margin-top:36px;padding-top:20px;color:#8ea1ba;font-size:12px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.footer-bottom a{display:inline;margin:0;font-size:12px;color:#8ea1ba;text-decoration:underline}
.mobile-cta{display:none}

/* Tablet: collapse nav */
@media(max-width:1460px){
  .links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--navy);padding:22px 30px 28px;flex-direction:column;align-items:stretch;gap:6px;border-bottom:1px solid #ffffff25}
  .links.open{display:flex}
  .links a{padding:12px 0;font-size:14px}
  .mobile-toggle{display:block;margin-left:auto}
  .nav-book{display:none}
}
@media(max-width:1000px){.split{gap:32px}.hero{min-height:580px}}

/* Phone */
@media(max-width:680px){
  .nav{padding:8px 18px}
  .brand img{height:46px;width:46px}
  .brand strong{font-size:21px}
  .nav .brand small{display:none}
  .links{padding:16px 22px 24px}
  .hero{min-height:540px}
  .hero.short{min-height:380px}
  .hero-inner{padding:72px 22px}
  h1{font-size:clamp(2.6rem,11vw,4.2rem)}
  h2{font-size:clamp(2rem,8.5vw,2.8rem)}
  .hero p{font-size:16px}
  .section{padding:64px 0}
  .container{padding:0 22px}
  .grid2,.grid3,.split,.service-list,.footer-grid{grid-template-columns:1fr}
  .split > img{height:320px}
  .image-card{min-height:380px}
  .image-card .content,.feature,.panel{padding:26px}
  .stats{grid-template-columns:1fr 1fr;padding:22px 18px}
  .stat:nth-child(2){border:0}
  .stat:last-child{grid-column:1/-1;border-top:1px solid #ffffff33;padding-top:15px}
  .portrait.no-photo{min-height:380px}
  .cred-list li,.contact-item{grid-template-columns:1fr;gap:4px}
  .cta{padding:64px 0}
  .actions .btn{width:100%}
  .mobile-cta{display:block;position:fixed;bottom:0;left:0;right:0;z-index:40;background:var(--red);color:#fff;text-align:center;padding:15px;font-weight:700;font-size:13px;letter-spacing:.09em;text-transform:uppercase}
  .footer{padding-bottom:96px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.image-card:before{transition:none}}

/* ===== Home page: rotating hero, photo tiles ===== */
/* Photo slot — branded placeholder until the real photo file exists */
.ph{position:relative;overflow:hidden;background-color:var(--ph-tint,#0b2855);background-image:repeating-linear-gradient(135deg,rgba(255,255,255,0) 0 28px,rgba(255,255,255,.035) 28px 29px)}
.ph::after{content:"PHOTO · " attr(data-label);position:absolute;top:16px;right:16px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#9fb2cc;background:rgba(4,15,36,.55);padding:6px 10px;max-width:calc(100% - 32px)}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}

.hero-rotator{position:relative;min-height:680px;background:var(--navy);color:#fff;display:flex;align-items:flex-end;overflow:hidden}
.hero-rotator .slides{position:absolute;inset:0}
.hero-rotator .slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease}
.hero-rotator .slide.is-active{opacity:1}
.hero-rotator .slide .ph{position:absolute;inset:0}
.hero-rotator .slide .ph::after{display:none}
.hero-rotator .eyebrow{color:var(--gold)}
.hero-rotator:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(6,20,45,.92) 0%,rgba(6,20,45,.6) 45%,rgba(6,20,45,.15) 100%),linear-gradient(0deg,rgba(6,20,45,.7),rgba(6,20,45,0) 40%)}
.hero-rotator:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:7px;z-index:3;background:linear-gradient(90deg,var(--red) 0 28%,var(--gold) 28% 34%,transparent 34%)}
.hero-rotator .hero-inner{position:relative;z-index:2;padding-bottom:120px}
.hero-rotator h1 em{font-style:normal;color:var(--gold)}
.hero-rotator .hero-inner p{max-width:520px;color:#d9e2ee;font-size:18px;margin:22px 0 28px}
.slider-ui{position:absolute;z-index:3;right:max(30px,6%);bottom:36px;display:flex;align-items:center;gap:16px}
.slide-caption{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#d9e2ee}
.slide-dots{display:flex;gap:8px}
.slide-dot{width:30px;height:4px;padding:0;border:0;background:rgba(255,255,255,.4);cursor:pointer;position:relative}
.slide-dot::before{content:"";position:absolute;inset:-12px -2px}
.slide-dot.is-active{background:var(--gold)}
.slide-pause{width:40px;height:40px;border:1px solid rgba(255,255,255,.5);background:transparent;color:#fff;font-size:12px;cursor:pointer}
.slide-pause:hover{background:rgba(255,255,255,.12)}

.section-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:34px}
.text-link{font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);border-bottom:2px solid var(--gold);padding-bottom:4px}
.text-link:hover{color:var(--red)}

.path-tile{position:relative;min-height:440px;display:flex;align-items:flex-end;overflow:hidden;color:#fff}
.path-tile .ph{position:absolute;inset:0;transition:transform .5s}
.path-tile:hover .ph{transform:scale(1.04)}
.path-tile:before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(0deg,rgba(6,20,44,.95),rgba(6,20,44,.05) 75%)}
.path-tile .ph::after{z-index:2}
.path-tile .content{position:relative;z-index:3;padding:34px}
.path-tile h3{font-family:var(--display);text-transform:uppercase;font-weight:800;font-size:clamp(2.2rem,3.2vw,3.2rem);line-height:.98;margin:0 0 12px}

.svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.svc-tile{display:flex;flex-direction:column;gap:10px}
.svc-tile .ph{aspect-ratio:4/3;max-width:100%;transition:transform .4s}
.svc-tile:hover .ph{transform:translateY(-4px)}
.svc-name{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:8px;font-family:var(--display);font-weight:800;font-size:1.6rem;text-transform:uppercase;line-height:1;color:var(--navy)}
.svc-name span{color:var(--red);transition:transform .2s}
.svc-tile:hover .svc-name{color:var(--red)}
.svc-tile:hover .svc-name span{transform:translateX(4px)}
.svc-desc{font-size:15px;line-height:1.6;color:var(--muted)}

.meet-strip{display:flex;flex-wrap:wrap;align-items:center;gap:32px 56px}
.meet-photo{width:220px;height:220px;border-radius:50%;object-fit:cover;object-position:50% 18%;box-shadow:0 0 0 6px #fff,0 0 0 9px var(--gold)}
.meet-copy{flex:1 1 420px;min-width:0}
.meet-copy h2{font-size:clamp(2rem,3.4vw,3.2rem)}
.meet-copy p{color:var(--muted);max-width:560px}
.link-row{display:flex;flex-wrap:wrap;gap:14px 28px;margin-top:8px}

@media(max-width:1000px){.svc-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){
  .hero-rotator{min-height:600px}
  .hero-rotator .hero-inner{padding-bottom:110px}
  .slider-ui{left:22px;right:22px;bottom:28px;justify-content:space-between}
  .slide-caption{display:none}
  .hero-rotator .slide .ph::after{display:none}
  .svc-grid{grid-template-columns:1fr}
  .path-tile{min-height:360px}
  .meet-photo{width:160px;height:160px}
}
@media(prefers-reduced-motion:reduce){.hero-rotator .slide{transition:none}}

/* About page: name caption under the portrait */
.portrait-wrap{min-width:0;container-type:inline-size}
.portrait-name{margin:8px 0 0;color:#00194c;white-space:nowrap;font-size:12px;font-size:4.15cqi}

/* Progression arrows between the three step boxes */
.grid3.steps{gap:56px}
.steps > .feature{position:relative;border:2px solid #d3dae4}
.steps > .feature:not(:last-child)::after{content:"";position:absolute;z-index:2;top:50%;right:-51px;width:44px;height:44px;margin-top:-22px;border-radius:50%;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e5092c' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h13M13 6l6 6-6 6'/%3E%3C/svg%3E") center/20px no-repeat;border:1.5px solid #d3dae4}
@media(max-width:1000px){
  .grid3.steps{gap:48px}
  .steps > .feature:not(:last-child)::after{right:-45px;width:40px;height:40px;margin-top:-20px}
}
@media(max-width:680px){
  .grid3.steps{gap:48px}
  .steps > .feature:not(:last-child)::after{top:auto;right:auto;bottom:-46px;left:50%;width:40px;height:40px;margin:0 0 0 -20px;transform:rotate(90deg)}
}
@media(max-width:680px){
  .grid3.steps{gap:52px}
  .steps > .feature:not(:last-child)::after{top:auto;right:auto;bottom:-48px;left:50%;width:44px;height:44px;margin:0 0 0 -22px;background-size:22px;transform:rotate(90deg)}
}

/* About page: bulleted degrees and certifications */
.cred-list .cred-items{margin:0;padding-left:18px;list-style:disc}
.cred-list .cred-items li{display:list-item;border:0;padding:0 0 6px;grid-template-columns:none}
.cred-list .cred-items li:last-child{border:0;padding-bottom:0}
.cred-list .cred-items li::marker{color:var(--red)}
/* About page: Pikes Peak banner — real photo (assets/photos/about-pikes-peak.jpg) loads on top of the illustration when added */
.hero.about-peak:before{background:linear-gradient(90deg,rgba(6,20,45,.95) 0%,rgba(6,20,45,.86) 45%,rgba(6,20,45,.45) 70%,rgba(6,20,45,.08) 100%),url("assets/photos/about-pikes-peak.jpg") 66% 45%/cover no-repeat,url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1440 520%22 preserveAspectRatio=%22xMidYMax slice%22%3E %3Cdefs%3E%3ClinearGradient id=%22sky%22 x1=%220%22 y1=%220%22 x2=%220%22 y2=%221%22%3E%3Cstop offset=%220%22 stop-color=%22%23061a3c%22/%3E%3Cstop offset=%22.55%22 stop-color=%22%231a427b%22/%3E%3Cstop offset=%221%22 stop-color=%22%235a80b4%22/%3E%3C/linearGradient%3E%3C/defs%3E %3Crect width=%221440%22 height=%22520%22 fill=%22url%28%23sky%29%22/%3E %3Cpolygon fill=%22%237f9bc1%22 points=%22640,430 720,404 800,370 870,334 935,294 990,258 1036,226 1074,203 1104,190 1132,184 1160,184 1190,189 1222,200 1262,218 1308,240 1356,260 1400,274 1440,284 1440,520 640,520%22/%3E %3Cpolygon fill=%22%236884ad%22 points=%221160,184 1190,189 1222,200 1262,218 1308,240 1356,260 1400,274 1440,284 1440,520 1210,520 1200,380 1186,290 1170,230%22/%3E %3Cpolygon fill=%22%23e9eff8%22 points=%221010,244 1036,226 1074,203 1104,190 1132,184 1160,184 1190,189 1222,200 1262,218 1286,230 1270,236 1252,226 1236,240 1218,226 1200,244 1184,228 1166,246 1150,230 1132,250 1114,234 1096,252 1078,238 1060,256 1044,244 1026,258%22/%3E %3Cpolygon fill=%22%23c3d1e5%22 points=%221190,189 1222,200 1262,218 1286,230 1270,236 1252,226 1236,240 1218,226 1204,212%22/%3E %3Cpolyline fill=%22none%22 stroke=%22%239bb2d2%22 stroke-width=%222%22 points=%221090,256 1076,310 1066,370%22/%3E %3Cpolyline fill=%22none%22 stroke=%22%239bb2d2%22 stroke-width=%222%22 points=%221150,250 1160,316 1156,380%22/%3E %3Cpolygon fill=%22%233a5a8a%22 points=%22520,440 580,400 640,374 740,362 830,370 880,392 940,430 940,520 520,520%22/%3E %3Cpolygon fill=%22%23284574%22 points=%220,446 160,418 300,430 440,404 580,420 720,396 860,414 1000,392 1140,416 1280,398 1440,416 1440,520 0,520%22/%3E %3Cpolygon fill=%22%230b1f45%22 points=%220,484 220,468 460,482 700,466 940,484 1180,470 1440,480 1440,520 0,520%22/%3E %3C/svg%3E") right bottom/cover no-repeat;background-color:#061a3c}
@media(max-width:680px){.hero.about-peak:before{background:linear-gradient(0deg,rgba(6,20,45,.55),rgba(6,20,45,.78)),url("assets/photos/about-pikes-peak.jpg") 64% 40%/cover no-repeat,url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1440 520%22 preserveAspectRatio=%22xMidYMax slice%22%3E %3Cdefs%3E%3ClinearGradient id=%22sky%22 x1=%220%22 y1=%220%22 x2=%220%22 y2=%221%22%3E%3Cstop offset=%220%22 stop-color=%22%23061a3c%22/%3E%3Cstop offset=%22.55%22 stop-color=%22%231a427b%22/%3E%3Cstop offset=%221%22 stop-color=%22%235a80b4%22/%3E%3C/linearGradient%3E%3C/defs%3E %3Crect width=%221440%22 height=%22520%22 fill=%22url%28%23sky%29%22/%3E %3Cpolygon fill=%22%237f9bc1%22 points=%22640,430 720,404 800,370 870,334 935,294 990,258 1036,226 1074,203 1104,190 1132,184 1160,184 1190,189 1222,200 1262,218 1308,240 1356,260 1400,274 1440,284 1440,520 640,520%22/%3E %3Cpolygon fill=%22%236884ad%22 points=%221160,184 1190,189 1222,200 1262,218 1308,240 1356,260 1400,274 1440,284 1440,520 1210,520 1200,380 1186,290 1170,230%22/%3E %3Cpolygon fill=%22%23e9eff8%22 points=%221010,244 1036,226 1074,203 1104,190 1132,184 1160,184 1190,189 1222,200 1262,218 1286,230 1270,236 1252,226 1236,240 1218,226 1200,244 1184,228 1166,246 1150,230 1132,250 1114,234 1096,252 1078,238 1060,256 1044,244 1026,258%22/%3E %3Cpolygon fill=%22%23c3d1e5%22 points=%221190,189 1222,200 1262,218 1286,230 1270,236 1252,226 1236,240 1218,226 1204,212%22/%3E %3Cpolyline fill=%22none%22 stroke=%22%239bb2d2%22 stroke-width=%222%22 points=%221090,256 1076,310 1066,370%22/%3E %3Cpolyline fill=%22none%22 stroke=%22%239bb2d2%22 stroke-width=%222%22 points=%221150,250 1160,316 1156,380%22/%3E %3Cpolygon fill=%22%233a5a8a%22 points=%22520,440 580,400 640,374 740,362 830,370 880,392 940,430 940,520 520,520%22/%3E %3Cpolygon fill=%22%23284574%22 points=%220,446 160,418 300,430 440,404 580,420 720,396 860,414 1000,392 1140,416 1280,398 1440,416 1440,520 0,520%22/%3E %3Cpolygon fill=%22%230b1f45%22 points=%220,484 220,468 460,482 700,466 940,484 1180,470 1440,480 1440,520 0,520%22/%3E %3C/svg%3E") 78% bottom/cover no-repeat;background-color:#061a3c}}

/* Hide the placeholder label once a real photo is in place */
.ph:has(img)::after{display:none}

/* svc-pt-focus: keep the treatment table in frame in the wide tile */
.ph[data-label="Physical Therapy"] img{object-position:50% 70%}

/* About page: outside-the-clinic note */
.outside{max-width:760px;border-left:4px solid var(--gold);padding-left:24px}
.outside p{margin:0;font-size:17px;color:var(--muted)}

/* About page: credentials list on the light background */
.section.light .cred-list li{border-color:#d3dae4}

/* Photo with the brand red-and-gold stripe along the bottom edge (matches the portrait and banners) */
.photo-frame{position:relative;max-width:100%;overflow:hidden}
.photo-frame img{display:block;width:100%;height:520px;object-fit:cover}
.photo-frame::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:6px;background:linear-gradient(90deg,var(--red) 0 60%,var(--gold) 60% 72%,transparent 72%)}
@media(max-width:680px){.photo-frame img{height:320px}}

/* Home hero: rotating video panel (right side on desktop, full background on phones) */
.hero-rotator .slide-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;background:#0b2855;filter:brightness(.7) saturate(.7) contrast(1.08)}
@media(min-width:901px){
  .hero-rotator .slides{left:auto;width:62%}
  .hero-rotator:before{background:linear-gradient(90deg,var(--navy) 0%,var(--navy) 36%,rgba(6,26,60,.9) 44%,rgba(6,26,60,.7) 54%,rgba(6,26,60,.45) 68%,rgba(6,26,60,.3) 84%,rgba(6,26,60,.25) 100%),linear-gradient(0deg,rgba(6,20,45,.75),rgba(6,20,45,0) 35%),linear-gradient(180deg,rgba(6,20,45,.5),rgba(6,20,45,0) 25%)}
  .hero-rotator .hero-inner{max-width:none;padding-right:42%}
  .hero-rotator h1{font-size:clamp(3rem,5.6vw,6rem)}
}
@media(max-width:900px){
  .hero-rotator:before{background:linear-gradient(0deg,rgba(6,20,45,.9),rgba(6,20,45,.55) 55%,rgba(6,20,45,.7))}
}

/* Desktop hero: show each clip whole (no cropping), feathered into a blurred, darkened still of the same clip */
@media(min-width:901px){
  .hero-rotator .slide{overflow:hidden}
  .hero-rotator .slide::before{content:"";position:absolute;inset:-40px;background:var(--poster) center/cover no-repeat #0b2855;filter:blur(28px) brightness(.4) saturate(.6)}
  .hero-rotator .slide-video{inset:0 8% 0 auto;width:auto;height:100%;aspect-ratio:9/16;object-fit:cover;object-position:50% 50% !important;background:transparent;
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 22%,#000 78%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 22%,#000 78%,transparent 100%)}
  .hero-rotator .slide.wide .slide-video{inset:auto 0 auto auto;top:50%;transform:translateY(-50%);width:90%;height:auto;aspect-ratio:16/9;
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 16%,#000 90%,transparent 100%),linear-gradient(180deg,transparent 0,#000 14%,#000 86%,transparent 100%);-webkit-mask-composite:source-in;
    mask-image:linear-gradient(90deg,transparent 0,#000 16%,#000 90%,transparent 100%),linear-gradient(180deg,transparent 0,#000 14%,#000 86%,transparent 100%);mask-composite:intersect}
  .hero-rotator:before{background:linear-gradient(90deg,var(--navy) 0%,var(--navy) 36%,rgba(6,26,60,.85) 42%,rgba(6,26,60,.45) 52%,rgba(6,26,60,.22) 66%,rgba(6,26,60,.15) 100%),linear-gradient(0deg,rgba(6,20,45,.75),rgba(6,20,45,0) 35%),linear-gradient(180deg,rgba(6,20,45,.5),rgba(6,20,45,0) 25%)}
}

/* Active Adults banner: the Manitou Incline, behind a navy fade that keeps the headline readable */
.hero.aa-incline:before{background:linear-gradient(90deg,#061a3c 0%,#061a3c 40%,rgba(6,26,60,.8) 48%,rgba(6,26,60,.4) 60%,rgba(6,26,60,.2) 78%,rgba(6,26,60,.15) 100%),linear-gradient(0deg,rgba(6,20,45,.6),rgba(6,20,45,0) 40%),url("assets/photos/aa-incline.jpg") right 38%/62% auto no-repeat;background-color:#061a3c}
@media(max-width:1000px) and (min-width:681px){.hero.aa-incline:before{background:linear-gradient(90deg,rgba(6,20,45,.95) 0%,rgba(6,20,45,.85) 45%,rgba(6,20,45,.5) 75%,rgba(6,20,45,.35) 100%),url("assets/photos/aa-incline.jpg") 50% 40%/cover no-repeat;background-color:#061a3c}}
@media(max-width:680px){.hero.aa-incline:before{background:linear-gradient(0deg,rgba(6,20,45,.9),rgba(6,20,45,.72) 55%,rgba(6,20,45,.8)),url("assets/photos/aa-incline.jpg") 50% 40%/cover no-repeat;background-color:#061a3c}}

/* Student-Athletes banner: stadium photo, color-graded toward navy, behind a fade that keeps the headline readable */
.hero.sa-stadium:before{background:linear-gradient(90deg,rgba(6,20,45,.95) 0%,rgba(6,20,45,.85) 38%,rgba(6,20,45,.45) 66%,rgba(6,20,45,.2) 100%),linear-gradient(0deg,rgba(6,20,45,.55),rgba(6,20,45,0) 40%),url("assets/photos/sa-stadium.jpg") 60% 55%/cover no-repeat;background-color:#061a3c}
@media(max-width:680px){.hero.sa-stadium:before{background:linear-gradient(0deg,rgba(6,20,45,.9),rgba(6,20,45,.7) 55%,rgba(6,20,45,.8)),url("assets/photos/sa-stadium.jpg") 55% 55%/cover no-repeat;background-color:#061a3c}}

/* Our Approach banner: injury -> treatment -> performance image (3:2), shown whole.
   Wide screens: headline on navy at left, full image at right fading into the navy. Narrower: full image strip above the headline. */
@media(min-width:1200px){
  .hero.approach-banner{background:#061a3c}
  .hero.approach-banner:before{inset:50% 0 auto auto;width:58%;aspect-ratio:3/2;transform:translateY(-50%);
    background:linear-gradient(90deg,rgba(6,26,60,.7) 0%,rgba(6,26,60,.45) 14%,rgba(6,26,60,.15) 30%,rgba(6,26,60,.08) 45%,rgba(6,26,60,.12) 100%),url("assets/photos/approach-banner.jpg") center/cover no-repeat;
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 12%),linear-gradient(0deg,transparent 0,#000 14%,#000 86%,transparent 100%);-webkit-mask-composite:source-in;
    mask-image:linear-gradient(90deg,transparent 0,#000 12%),linear-gradient(0deg,transparent 0,#000 14%,#000 86%,transparent 100%);mask-composite:intersect}
  .hero.approach-banner h1{max-width:6em}
  .hero.approach-banner p{max-width:min(510px,36vw)}
}
@media(max-width:1199px){
  .hero.short.approach-banner{min-height:0;align-items:flex-start}
  .hero.approach-banner:before{inset:0 0 auto 0;height:calc(100vw / 1.5);max-height:560px;background:linear-gradient(0deg,#061a3c 0%,rgba(6,26,60,0) 18%),url("assets/photos/approach-banner.jpg") center/cover no-repeat}
  .hero.approach-banner .hero-inner{padding-top:calc(min(100vw / 1.5, 560px) + 32px);padding-bottom:56px}
}

/* Services banner: RAD clinic gym, graded toward navy */
.hero.svc-gym:before{background:linear-gradient(90deg,rgba(6,20,45,.95) 0%,rgba(6,20,45,.86) 36%,rgba(6,20,45,.45) 64%,rgba(6,20,45,.2) 100%),linear-gradient(0deg,rgba(6,20,45,.55),rgba(6,20,45,0) 40%),url("assets/photos/services-gym.jpg") 62% 60%/cover no-repeat;background-color:#061a3c}
@media(max-width:680px){.hero.svc-gym:before{background:linear-gradient(0deg,rgba(6,20,45,.9),rgba(6,20,45,.7) 55%,rgba(6,20,45,.8)),url("assets/photos/services-gym.jpg") 62% 55%/cover no-repeat;background-color:#061a3c}}
