/* Rehab First design system — V5 measured from approved 1086px references. */
:root{
 --red:#b40719;--red-deep:#960917;--ink:#18191d;--soft-ink:#34323a;
 --muted:#564e4c;--cream:#fcf7f4;--cream-deep:#faeee8;
 --peach:#f4e4d9;--peach-line:#e5c7b6;--white:#fff;
 --font:'Inter Display','Inter',Arial,sans-serif;--radius:18px;--content:1035px;
 --shadow:0 4px 11px rgba(100,55,38,.075);
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;background:linear-gradient(#fffcfb,#fffdfc);color:var(--ink);font:16px/1.42 var(--font);-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}img{height:auto}a{color:inherit;text-decoration:none}
button,input{font:inherit}h1,h2,h3,h4,p{margin:0}h1,h2,h3{letter-spacing:-.039em;line-height:1.12}
h1{font-weight:820}h2,h3{font-weight:790}h1 em,h2 em,h3 em{font-style:italic;color:var(--red)}
:focus-visible{outline:3px solid #13619b;outline-offset:3px}
.wrap{width:min(var(--content),calc(100% - 60px));margin-inline:auto}
.icon{flex-shrink:0}.icon-sm{width:17px;height:17px}.icon-md{width:22px;height:22px}.icon-lg{width:38px;height:38px}.icon-xl{width:48px;height:48px}
.icon-approved{overflow:visible;stroke:none!important;fill:none}
.skip-link{position:fixed;z-index:99;left:15px;top:-90px;background:#fff;padding:12px 15px;border-radius:9px;color:var(--red);font-weight:800}
.skip-link:focus{top:12px}
.site-header{height:78px;background:#fff;position:relative;z-index:10;border-bottom:1px solid #f1edea}
.header-inner{height:78px;width:calc(100% - 80px);max-width:1440px;display:flex;gap:12px;align-items:center}
.brand,.brand img{width:296px;max-width:296px}.brand{flex:0 0 296px;display:flex;align-items:center}
.desktop-nav{display:flex;align-items:center;margin-left:38px;gap:15px}
.desktop-nav a{position:relative;font-size:14px;font-weight:660;white-space:nowrap;padding:27px 0 28px}
.desktop-nav a.active,.desktop-nav a:hover{color:var(--red)}
.desktop-nav a.active::after{content:'';position:absolute;bottom:19px;left:0;right:0;height:3px;border-radius:4px;background:var(--red)}
.header-call{display:flex;align-items:center;margin-left:auto;gap:6px;color:white;background:var(--red);border-radius:12px;padding:11px 14px;font-size:14px;font-weight:800;white-space:nowrap}
.header-call:hover{background:var(--red-deep)}
.mobile-nav{display:none;position:relative;margin-left:0}.mobile-nav summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:5px;padding:10px;font-weight:750}
.mobile-nav summary::-webkit-details-marker{display:none}
.mobile-nav nav{position:absolute;right:0;top:48px;width:min(300px,86vw);z-index:20;display:grid;padding:10px;border-radius:12px;background:white;border:1px solid var(--peach-line);box-shadow:var(--shadow)}
.mobile-nav nav a{padding:12px 10px;font-weight:700;border-radius:7px}.mobile-nav nav a:hover,.mobile-nav nav a[aria-current=page]{background:#f8eee9;color:var(--red)}
.btn{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;border-radius:10px;padding:10px 16px;font-size:13px;line-height:1.1;font-weight:800;border:1.5px solid transparent;transition:transform .17s,background .17s}
.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--red);color:white}.btn-primary:hover{background:var(--red-deep)}
.btn-outline{background:rgba(255,255,255,.75);border-color:var(--red);color:var(--red)}.btn-outline:hover{background:#fff2ee}
.btn-light{background:#fff;color:var(--red);border-color:#fff}
.hero-actions{display:flex;gap:13px;align-items:center;flex-wrap:wrap}
.hero-swash{height:28px;width:310px;max-width:82%;margin:10px 0 15px;background:url("/assets/swash.svg") center/100% 100% no-repeat;clip-path:none}
.eyebrow{text-transform:uppercase;color:var(--red);font-size:12px;letter-spacing:.12em;font-weight:820}
.section{padding:22px 0}.section-heading{margin:0 0 18px;text-align:center}
.section-head-title{display:flex;align-items:center;justify-content:center;gap:22px}
.section-head-title h2{font-size:27px;line-height:1.18}
.section-head-title span{display:block;width:130px;max-width:14vw;height:1px;background:#dda992}
.section-heading p{color:var(--muted);font-size:14px;margin-top:7px}
/* CTA ribbon matches the common ending across the approved reference set. */
.cta-section{width:calc(100% - 30px);max-width:1250px;min-height:84px;margin:16px auto 28px;background:linear-gradient(100deg,#bc071a,#cb1026 64%,#b6081a);color:#fff;border-radius:16px;padding:17px 30px;display:flex;gap:17px;align-items:center}
.cta-mountain{flex:0 0 108px}.cta-mountain svg{width:108px}
.cta-section h2{font-size:26px;white-space:nowrap;letter-spacing:-.045em}
.cta-section p{border-left:1px solid #f3b6ae;padding-left:20px;margin:0 auto 0 0;max-width:285px;font-size:14px;line-height:1.35}
.cta-section .btn{margin-left:auto;padding:11px 17px}
/* One restrained utility footer, below the area represented in the mockup. */
.site-footer{padding:15px 0 14px;color:#5d5451;background:#fff9f6;border-top:1px solid #f1e2d9;margin-top:24px}
.footer-inner{display:flex;align-items:center;gap:22px;justify-content:space-between}.footer-brand{display:flex;align-items:center;gap:13px}
.footer-brand img{width:145px}.footer-brand p{font-size:11px;line-height:1.25}.site-footer nav{display:flex;gap:11px;flex-wrap:wrap;font-size:11px}
.footer-contact{display:flex;flex-direction:column;align-items:flex-end;font-size:11px}.footer-contact a{font-weight:800;color:var(--red);font-size:14px}
.footer-bottom{display:flex;justify-content:space-between;gap:16px;margin-top:13px;font-size:10px;color:#827670}
.preview-ribbon{background:#fff0c9;color:#6b4500;font-size:12px;letter-spacing:.04em;font-weight:850;text-align:center;padding:9px 15px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}


/* HOME PAGE — measured reference: header 78, hero 440, history 75, cards 117. */
.home-hero{background:radial-gradient(ellipse at 13% 23%,#fdfaf8 0%,#fcf7f4 57%,#f8eee9 100%);overflow:hidden}
.home-hero-inner{display:grid;grid-template-columns:42% 58%;width:100%;max-width:none;height:440px;min-height:440px;position:relative}
.home-hero-copy{padding:32px 0 12px clamp(43px,5.6vw,74px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;z-index:2}
.home-hero-copy h1{font-size:clamp(46px,5.1vw,69px);line-height:1.012;margin:0;letter-spacing:-.042em}
.home-hero-copy p{font-size:16px;line-height:1.42;max-width:403px;margin:0 0 21px}
.hero-curve-definition{position:absolute;inline-size:0;block-size:0;overflow:hidden}.home-hero-photo{position:absolute;right:0;top:0;width:62.5%;height:440px;overflow:hidden;min-height:0;clip-path:url(#rehab-hero-curve)}.home-hero-photo::after{content:none}
.home-hero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:52% 20%;filter:none}
.history-strip{width:calc(100% - 30px);max-width:1300px;min-height:75px;display:grid;grid-template-columns:31% 37% 32%;align-items:center;margin:20px auto 0;padding:11px 15px;border-radius:20px;background:linear-gradient(105deg,#f8eee8,#f7e8e1)}
.history-item{display:flex;align-items:center;justify-content:center;gap:16px;min-height:51px;padding:4px 18px}
.history-item+.history-item{border-left:1px solid #dba990}
.history-item .icon-approved{height:49px;width:49px;flex:0 0 49px}
.history-item strong{font-size:16px;letter-spacing:-.025em;line-height:1.25}
.service-section{padding:32px 0 4px;background:#fdf8f5}.service-section .section-heading{margin-bottom:17px}
.services-grid{display:grid;gap:12px}.home-services{grid-template-columns:repeat(5,minmax(0,1fr))}
.service-card{border-radius:16px;background:linear-gradient(120deg,#fcf5f2,#f7ebe7);border:1px solid #f2e5df}
.service-card--compact{height:117px;padding:12px 6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.service-card .service-icon{display:flex;justify-content:center;align-items:center;color:var(--red)}
.service-card--compact .service-icon .icon-approved{height:47px;width:47px}
.service-card--compact h3{max-width:180px;text-align:center;font-size:16.2px;line-height:1.16;margin:0;letter-spacing:-.034em}
.locations-area{position:relative;isolation:isolate;padding:40px 0 4px;overflow:hidden;background:#fbf2ec url("/assets/waves-locations.svg") center/100% 100% no-repeat}

.locations-area .section-heading{margin-bottom:17px}.locations-area .section-head-title h2{font-size:23px;white-space:nowrap}
.locations-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:706px;margin:0 auto}
.location-card{display:flex;align-items:flex-start;gap:15px;background:rgba(255,255,255,.81);border:1px solid var(--peach-line);box-shadow:var(--shadow);border-radius:17px;min-height:125px;padding:11px 22px}
.location-icon{color:var(--red);margin-top:2px}.location-icon svg{width:27px;height:27px;fill:var(--red)}
.location-icon svg circle{fill:#fff;stroke:#fff}
.location-details h3{font-size:22px;color:var(--red);line-height:1.17;margin:0 0 4px}
.location-details address{font-style:normal;font-size:15.5px;line-height:1.35}
.location-phone{display:inline-flex;align-items:center;gap:8px;margin-top:4px;font-size:19px;font-weight:820;line-height:1.2}
.location-phone svg{color:var(--red)}
.text-arrow{color:var(--red);font-size:13px;display:inline-flex;align-items:center;gap:5px;font-weight:800;margin-top:10px}
.owner-section{padding:25px 0 20px;background:#fdf9f6}
.owner-inner{display:grid;grid-template-columns:36% 1fr;gap:30px;align-items:center;padding:0 16px}
.owner-photo{height:270px;overflow:hidden;border-radius:21px;position:relative}.owner-photo::after{content:none}.owner-photo img{height:100%;width:100%;object-fit:cover;object-position:52% 43%;transform:none;filter:none}
.owner-copy{border-left:1.5px solid #dda991;padding-left:26px}
.owner-copy h2{font-size:27px;line-height:1.18;margin:0 0 12px;letter-spacing:-.035em}
.owner-copy p{font-size:14.5px;line-height:1.42;margin:0}
/* UNIVERSAL INTERIOR HERO — high-fidelity illustrated compositions. */
.page-hero{background:linear-gradient(114deg,#fdf9f6,#faeee9);overflow:hidden}
.page-hero-inner{display:grid;grid-template-columns:49% 51%;height:338px;min-height:338px;align-items:stretch;gap:0}
.page-hero-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:17px 0 19px 8px;z-index:1}
.page-hero-copy .eyebrow{margin-bottom:9px}.page-hero h1{font-size:clamp(34px,4.45vw,54px);line-height:1.075;letter-spacing:-.044em;margin:0}
.page-hero .hero-swash{width:296px;margin:9px 0 12px}
.page-hero p{font-size:16px;line-height:1.4;max-width:460px;margin:0 0 19px}
.page-hero-art{display:flex;align-items:center;justify-content:flex-end;overflow:visible;width:100%;height:100%}
.page-hero-art .approved-hero-art{width:100%;max-height:338px;height:auto;object-fit:contain;object-position:right center}
.page-hero-art .approved-hero-art--insurance{max-height:225px;width:min(100%,460px)}
.page-hero-art .approved-hero-art--services{max-height:332px}
.page-hero-art .approved-hero-art--new-patients{max-height:331px}
.page-hero-art .approved-hero-art--providers{max-height:225px}
.page-hero-art .approved-hero-art--contact{max-height:335px}
/* SERVICES PAGE — reference shows 3x2 icon+copy cards. */
.route-services .page-hero{background:#fffaf6}
.route-services .page-hero-inner{height:340px;min-height:340px}
.route-services .page-hero h1{font-size:46px}
.route-services .section:not(.plan-section){padding:19px 0 23px}
.services-grid--detailed{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.services-grid--detailed .service-card{height:133px;padding:14px 14px;display:grid;grid-template-columns:68px minmax(0,1fr);gap:12px;align-items:start}
.services-grid--detailed .service-icon{border-right:1.5px solid #dfa78e;height:83px;display:flex;align-items:center;justify-content:flex-start;padding:0 8px}
.services-grid--detailed .service-icon .icon-approved{width:45px;height:45px}
.services-grid--detailed h3{font-size:18px;line-height:1.08;margin-bottom:8px}
.services-grid--detailed p{font-size:12.5px;line-height:1.31}
.plan-section{padding:18px 0;background:#fffaf7}
.plan-grid{display:grid;grid-template-columns:36% 1fr;align-items:center;gap:28px;min-height:223px}
.planning-art--approved{display:flex;justify-content:center;align-items:center;width:100%;height:220px}
.planning-art--approved img{width:100%;max-width:354px;max-height:215px;object-fit:contain}
.plan-grid h2{font-size:30px;line-height:1.13;margin:0 0 8px}.plan-grid h3{font-size:21px;line-height:1.22;margin:0 0 11px}.plan-grid p{font-size:14px;line-height:1.43}
.plan-grid .eyebrow{display:none}
.simple-value-band{display:flex;align-items:center;gap:28px;padding:21px 28px;background:linear-gradient(110deg,#f9ebe7,#fff9f4);border-radius:22px;margin:8px auto 20px}
.simple-value-band>svg{color:var(--red);width:60px;height:60px;flex-shrink:0}.service-heritage-band{position:relative;overflow:hidden;isolation:isolate;min-height:111px}.service-heritage-band>svg,.service-heritage-band>div{position:relative;z-index:1}.service-heritage-band::after{content:"";position:absolute;right:0;bottom:0;width:38%;height:100%;z-index:0;background:linear-gradient(145deg,transparent 20%,rgba(233,197,181,.32)),url("/assets/landscape-hills.svg") right bottom/cover no-repeat;opacity:.72}
.simple-value-band h2{font-size:24px;margin:0 0 5px}.simple-value-band p{font-size:13.8px;line-height:1.38}
/* PATIENTS — steps and practical advice, no downloadable form component. */
.route-new-patients .page-hero-inner{height:350px;min-height:350px}
.route-new-patients .page-hero h1{font-size:48px}
.steps-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px}
.step-card{position:relative;border-radius:18px;background:#f9eee9;text-align:center;min-height:189px;padding:20px 13px 16px}
.step-count{position:absolute;top:-11px;left:calc(50% - 15px);height:30px;width:30px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;font-weight:800}
.step-card>svg{color:var(--red);width:52px;height:52px;margin:15px auto 11px}
.step-card:not(:last-child)::after{content:"→";position:absolute;right:-21px;top:48%;transform:translateY(-50%);color:var(--red);font-size:25px;font-weight:650;z-index:2}.step-card h3{font-size:17px;line-height:1.13;margin-bottom:7px}.step-card p{font-size:12.5px;line-height:1.35}
.patient-info{padding:15px 0}.patient-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.info-card{border:1px solid #ecd4c5;background:linear-gradient(120deg,#fffaf6,#fdf6f0);border-radius:18px;padding:22px 24px;min-height:190px}
.card-title{display:flex;align-items:center;gap:15px;margin-bottom:13px}.card-title>svg{color:var(--red);width:38px;height:38px}.card-title h2{font-size:26px}
.info-card p{font-size:14px;line-height:1.47;margin-bottom:16px}
.checklist{list-style:none;padding:0 0 0 4px;margin:0}.checklist li{display:flex;align-items:flex-start;gap:8px;font-size:14px;line-height:1.35;padding:4px 0}
.checklist svg{flex-shrink:0;color:var(--red);margin-top:1px}
.faq-section{padding:15px 0 25px}.faq-wrap{max-width:930px}.faq-main-grid{display:grid;grid-template-columns:29% 1fr;gap:26px;align-items:center}.faq-artwork{display:flex;align-items:center;justify-content:center}.faq-artwork img{width:100%;max-width:245px}.faq-list{display:grid;gap:8px;min-width:0}
.faq{border:1px solid #e5cbbc;border-radius:10px;background:#fffaf7;overflow:hidden}
.faq summary{cursor:pointer;list-style:none;padding:8px 16px;font-weight:750;font-size:14px;display:flex;align-items:center;justify-content:space-between}
.faq summary::-webkit-details-marker{display:none}.faq summary svg{color:var(--red)}.faq[open] summary svg{transform:rotate(180deg)}
.faq-answer{padding:8px 16px 13px;font-size:14px;color:var(--soft-ink)}
/* INSURANCE — 12 cards, balanced 3x4, supplement & government panels below. */
.route-insurance .page-hero-inner{height:220px;min-height:220px}
.route-insurance .page-hero h1{font-size:47px}
.route-insurance .page-hero p{max-width:530px;margin-bottom:0;font-size:16px}
.route-insurance .page-hero-art .approved-hero-art{max-height:222px}
.insurance-major-section{padding:9px 0 16px}.insurance-major-section .section-heading{margin-bottom:22px}
.insurance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.insurance-card{display:grid;grid-template-columns:45% 55%;align-items:center;min-height:102px;padding:10px 11px;background:linear-gradient(112deg,#fffdfb,#fcf6f0);border:1px solid #ecd6c8;border-radius:17px;box-shadow:var(--shadow);gap:0}
.insurance-emblem{height:69px;border-right:1.5px solid #dcac96;display:flex;align-items:center;justify-content:center;padding:0 12px 0 5px}
.insurance-emblem img{width:100%;height:63px;object-fit:contain;max-width:130px;image-rendering:auto}
.insurance-card h3{font-size:18px;letter-spacing:-.027em;line-height:1.16;padding-left:13px;overflow-wrap:break-word}
.insurance-plan-no-logo{font-weight:850;color:var(--red);font-size:13px}
.insurance-extra-section{padding:12px 0 4px}
.coverage-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.coverage-panel{border-radius:19px;border:1px solid #ecd4c5;background:linear-gradient(120deg,#fffdfb,#fdf6ef);padding:17px 17px 15px;box-shadow:0 2px 6px rgba(90,50,38,.035);min-height:215px}
.coverage-panel-heading{display:flex;gap:13px;align-items:flex-start}.coverage-panel-icon{color:var(--red)}
.coverage-panel-icon svg{width:65px;height:65px}.coverage-panel h3{font-size:22px;margin:1px 0 6px;line-height:1.12}
.coverage-panel p{font-size:13px;line-height:1.28}
.coverage-chip-list{margin:11px 0 0;list-style:none;padding:10px 12px 11px;background:#faf0e9;border-radius:13px;columns:3;column-gap:13px}
.coverage-chip-list li{break-inside:avoid;font-size:12px;padding:3px 0;line-height:1.25}
.coverage-chip-list li::before{content:'•';color:var(--red);font-size:16px;margin-right:8px}
.insurance-groups{margin:13px 0 0}.insurance-group{border-radius:12px;background:#fbf2ec;border:1px solid #efd9cb;overflow:hidden}
.insurance-group summary{list-style:none;display:flex;align-items:center;gap:13px;padding:11px 17px;cursor:pointer}.insurance-group summary::-webkit-details-marker{display:none}
.insurance-group summary .group-icon{color:var(--red)}.insurance-group summary .group-icon svg{height:27px;width:27px}
.insurance-group summary>span:nth-child(2){flex:1}.insurance-group summary strong{font-size:15px}.insurance-group summary small{display:block;color:var(--muted);font-size:11px}.insurance-group summary>svg:last-child{color:var(--red)}
.insurance-group[open] summary>svg:last-child{transform:rotate(180deg)}
.group-content{padding:8px 24px 15px 57px}.group-content ul{padding-left:15px;margin:0;columns:2}.group-content li{font-size:13px;line-height:1.55}
.coverage-disclaimer{background:#f9e9e2;border-radius:13px;padding:13px 21px;display:flex;gap:12px;align-items:center;color:#71322a;font-size:13px;margin:13px 0 0}
.coverage-disclaimer svg{color:var(--red);flex-shrink:0}
.route-insurance .locations-area{padding:17px 0 19px}.route-insurance .cta-section{margin-top:14px}
/* CONTACT — retain the approved rhythm while replacing the prohibited form with clear phone contact. */
.route-contact .page-hero-inner{height:334px;min-height:334px}
.route-contact .page-hero h1{font-size:49px}.route-contact .page-hero-art img{max-height:325px}
.route-contact .history-strip{margin-top:15px;margin-bottom:5px}
.contact-locations{padding:14px 0 16px}
.contact-location-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.contact-location-card{padding:20px 30px;border:1px solid var(--peach-line);border-radius:19px;background:#fffaf7;min-height:180px}
.contact-location-heading{display:flex;align-items:flex-start;gap:21px;margin-bottom:15px}.contact-location-heading>svg{color:var(--red);width:41px;height:41px}
.contact-location-heading h3{font-size:26px;color:var(--red);line-height:1.2;margin:0 0 6px}.contact-location-heading address{font-size:15px;line-height:1.33;font-style:normal}
.contact-card-actions{display:flex;gap:16px;justify-content:flex-start;margin-left:14px}.contact-card-actions .btn{min-width:155px}
.contact-details{padding:6px 0 10px}.contact-details-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:22px}
.contact-callout,.contact-hours{background:#f8ebe5;border-radius:19px;padding:18px 27px;min-height:107px;display:flex;align-items:center;gap:20px}
.contact-hours{background:#fffaf7;border:1px solid #e8cdbd}.contact-callout>svg,.contact-hours>svg{color:var(--red);width:49px;height:49px}
.contact-callout h2,.contact-hours h2{font-size:19px;line-height:1.22;margin-bottom:6px}
.contact-callout a{font-size:29px;color:var(--red);font-weight:850;letter-spacing:-.035em}
.contact-hours p{font-size:14px;line-height:1.3}
.contact-about{background:linear-gradient(#fffaf6,#fff5ef);padding:21px 0 23px}
.contact-about-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.contact-direct{padding:24px;border-radius:20px;border:1px solid #f0dcd0;background:#fffdfb;min-height:285px}
.contact-direct{position:relative;overflow:hidden}.contact-direct::after{content:"";position:absolute;right:-45px;bottom:-50px;width:160px;height:160px;background:radial-gradient(circle,#f6e8e3,transparent 72%);pointer-events:none}.contact-direct-icon{display:flex;color:var(--red);margin-bottom:8px}.contact-direct h2{font-size:26px;margin-bottom:12px}.contact-direct p{font-size:15px;line-height:1.45;margin-bottom:19px}.contact-privacy{font-size:12px!important;color:var(--muted);margin:11px 0 0!important}
.contact-community{padding:18px 8px 0 22px;border-left:1.5px solid #dcb19d}
.contact-community h2{font-size:27px;line-height:1.13;margin-bottom:13px}.contact-community p{font-size:14px;line-height:1.45}
.community-icons{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:18px}.community-icons span{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;background:#f9ece5;border-radius:13px;padding:11px 4px;font-size:12px;font-weight:750;line-height:1.2}
.community-icons svg{color:var(--red);width:33px;height:33px}
/* PROVIDERS — a two-column reference interface intended for office staff. */
.route-providers .page-hero-inner{height:258px;min-height:258px}
.route-providers .page-hero h1{font-size:53px;line-height:1.07}
.route-providers .page-hero p{font-size:16px}
.provider-quick-reference{padding:25px 0 23px;background:linear-gradient(180deg,#fffdfb,#fff8f5)}
.provider-reference-grid{display:grid;grid-template-columns:48% minmax(0,1fr);gap:17px;align-items:start}
.provider-reference-services,.provider-reference-contact,.provider-reference-locations{min-width:0;background:rgba(255,252,250,.88);border:1px solid #ead8d0;border-radius:19px;padding:21px 19px;box-shadow:0 5px 14px rgba(90,40,25,.035)}
.provider-reference-right{display:grid;gap:16px;min-width:0}
.provider-card-heading{display:flex;align-items:center;gap:11px;margin:0 0 12px}
.provider-card-heading>svg{color:var(--red);height:34px;width:34px}
.provider-card-heading h2{font-size:24px;line-height:1.14;margin:0}
.provider-card-heading p{font-size:12px;line-height:1.3;color:var(--muted);margin-top:2px}
.provider-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.provider-service-tile{display:flex;align-items:center;gap:10px;min-height:76px;padding:11px;background:#faf0eb;border-radius:13px}
.provider-service-tile svg{color:var(--red);height:36px;width:36px;flex:0 0 36px}
.provider-service-tile strong{font-size:13.5px;line-height:1.17;min-width:0}
.provider-insurance-note{margin-top:16px;border-radius:14px;background:#f9ebe6;padding:16px 14px;display:flex;gap:11px;align-items:flex-start}
.provider-insurance-note>svg{color:var(--red);width:37px;height:37px;flex-shrink:0}
.provider-insurance-note h3{font-size:19px;margin-bottom:4px}.provider-insurance-note p{font-size:12.5px;line-height:1.35}
.provider-insurance-note a{color:var(--red);font-weight:770;text-decoration:underline;text-underline-offset:2px}
.provider-contact-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:0}
.provider-contact-item{display:flex;align-items:center;flex-direction:column;text-align:center;gap:6px;min-width:0;padding:6px 5px 8px}
.provider-contact-item+.provider-contact-item{border-left:1px solid #dfb9aa}
.provider-contact-item>svg{width:31px;height:31px;color:var(--red)}
.provider-contact-item>div{display:flex;flex-direction:column;align-items:center;min-width:0;width:100%}
.provider-contact-item strong{font-size:13px;margin-bottom:2px}
.provider-contact-item a,.provider-contact-item span{font-size:13px;font-weight:800;color:var(--red);overflow-wrap:anywhere;line-height:1.25}
.provider-email-note{font-size:10px;color:#6b5a54;line-height:1.4;margin-top:10px}
.provider-location-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.provider-location-tile{display:flex;gap:9px;align-items:flex-start;border-radius:13px;background:#fbf0ea;padding:13px 11px;min-width:0}
.provider-location-tile>svg{color:var(--red);width:23px;height:23px;flex:0 0 23px}
.provider-location-tile h3{font-size:19px;color:var(--red);margin:0 0 6px}
.provider-location-tile address{font-style:normal;font-size:12px;line-height:1.3}
.provider-location-tile a{color:var(--red);display:inline-flex;gap:4px;align-items:center;margin-top:9px;font-size:11px;font-weight:800}
/* TEAM DRAFT — featured owner + four cards, grows automatically. */
.route-team .page-hero-inner{height:278px;min-height:278px}.route-team .page-hero h1{font-size:49px}
.route-team .page-hero-art svg{height:245px;width:100%}
.team-feature-section{padding:14px 0 12px}
.featured-profile{display:grid;grid-template-columns:34% 1fr;gap:25px;align-items:center;background:#fffaf7;border:1px solid #ead0c0;border-radius:21px;padding:17px 22px;box-shadow:var(--shadow)}
.featured-photo{height:240px;overflow:hidden;border-radius:19px}.featured-photo img{width:100%;height:100%;object-fit:cover;object-position:center 25%}
.featured-bio{padding-left:25px;border-left:1.5px solid #d8aa96}.featured-bio h2{font-size:32px;color:var(--red);margin-bottom:5px}.featured-bio h3{font-size:18px;margin-bottom:12px}
.featured-bio p{font-size:13px;line-height:1.35;margin:0 0 9px}
.team-members{padding:0 0 11px}.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.team-card{background:#fffaf7;border:1px solid #ead4c6;border-radius:18px;padding:12px;box-shadow:var(--shadow)}
.staff-photo{height:149px;overflow:hidden;border-radius:15px;position:relative;background:#f3e1d6}
.staff-photo img{width:100%;height:100%;object-fit:cover;object-position:center 25%}
.illustrative-tag{position:absolute;bottom:5px;right:5px;color:#533f37;font-size:10px;font-weight:750;padding:3px 5px;border-radius:5px;background:rgba(255,255,255,.87)}
.staff-details{padding:11px 3px 4px}.staff-details h3{color:var(--red);font-size:20px;line-height:1.1;margin-bottom:4px}.staff-title{font-weight:760;font-size:13px;line-height:1.2;margin-bottom:10px}.staff-details p:not(.staff-title){font-size:12.5px;line-height:1.36}
.bio-pending{color:var(--muted);font-style:italic}
.photo-placeholder{height:100%;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:5px;color:#8c5d4e;background:#f5e4da;font-size:13px}
.team-value-section{padding:0}.team-value-section .simple-value-band{margin-bottom:0}

/* Design reference fidelity: compact service headings break at the same words. */
.service-card--compact h3{max-width:155px}
/* The staff hero is approved local illustration, not a newly simulated employee photo. */
.route-team .page-hero-art .approved-hero-art--team{max-height:265px;width:100%;object-fit:contain;clip-path:inset(0 0 0 6%)}

/* V8 location photography: never substitute an illustrative photo for the real Rogers clinic without a label. */
.contact-location-figure{position:relative;margin:14px 0 0;border-radius:13px;overflow:hidden;background:#f7eae3;border:1px solid #eed8cb}
.contact-location-figure img{width:100%;height:132px;object-fit:cover;object-position:center 31%;filter:none}
.contact-location-figure figcaption{background:#fffaf7;color:#5e5553;padding:5px 10px;font-size:11px;font-weight:650;line-height:1.25}
.route-contact .contact-location-card{min-height:0}

/* V9 final cropping and headline/weight refinement. Source photos are untouched. */
.contact-location-card:nth-child(2) .contact-location-figure img{object-position:center 49%}
.history-item strong{font-size:16.1px;font-weight:800;letter-spacing:-.025em;line-height:1.22}
.service-card--compact h3{font-size:17px;font-weight:800;letter-spacing:-.018em;line-height:1.15}
.section-head-title h2{font-weight:800;letter-spacing:-.031em}
.locations-area .section-head-title h2{font-size:25px;font-weight:800;letter-spacing:-.03em}
.location-details h3,.contact-location-heading h3{font-weight:800;letter-spacing:-.025em}
.location-phone{font-weight:850;font-size:20px}
.owner-copy h2{font-size:28.5px;font-weight:850;letter-spacing:-.034em}
.cta-section h2{font-size:27px;font-weight:800}
.route-insurance .insurance-card h3{font-weight:800}
.route-services .services-grid--detailed h3{font-weight:800}
.route-contact .contact-callout h2{font-weight:800}
@media(min-width:761px) and (max-width:1130px){
 .desktop-nav{gap:13px;margin-left:18px}
 .desktop-nav a{font-size:13px;font-weight:700}
}
@media(max-width:1060px){
 .history-item strong{font-size:14.2px}
 .service-card--compact h3{font-size:15px}
 .owner-copy h2{font-size:25px}
 .cta-section h2{font-size:25px}
 .locations-area .section-head-title h2{font-size:23px}
}
@media(max-width:760px){
 .home-hero-photo img{object-position:center 19%}
 .history-item strong{font-size:15px}
 .service-card--compact h3{font-size:16px}
 .owner-photo img{object-position:52% 43%;transform:none}
 .owner-copy h2{font-size:clamp(26px,6vw,30px)}
 .cta-section h2{font-size:24px}
 .locations-area .section-head-title h2{font-size:clamp(21px,5vw,25px);white-space:normal}
}
@media(max-width:420px){
 .service-card--compact h3{font-size:14.5px}
}

.history-strip{grid-template-columns:31% 40% 29%;min-height:75px}

/* V9 QA follow-up: keep 1983 heritage claims to two lines and show the actual storefront windows. */
.history-item{gap:12px;padding:4px 10px}
.history-item .icon-approved{height:42px;width:42px;flex:0 0 42px}
.contact-location-figure img{height:190px}
@media(max-width:760px){.contact-location-figure img{height:170px}}

/* V10: the photo assets are portrait (1086×1448). Do not force them into
 * short landscape crops. The Contact cards show the full sky-to-asphalt
 * vertical composition, while retaining address and click-to-call controls. */
@media (min-width:761px) {
  .contact-location-card {
    min-height:355px; display:grid;
    grid-template-columns:minmax(0,1fr) minmax(180px,45%);
    grid-template-rows:auto 1fr; gap:12px 15px;
    align-items:start; padding:17px 16px;
  }
  .contact-location-heading {grid-column:1;grid-row:1;gap:10px;margin-bottom:0}
  .contact-location-heading>svg {width:28px;height:28px;flex-shrink:0}
  .contact-location-heading h3{font-size:22px}
  .contact-location-heading address{font-size:14px}
  .contact-card-actions {grid-column:1;grid-row:2;display:flex; flex-direction:column;align-items:stretch;gap:12px;margin:0}
  .contact-card-actions .btn{min-width:0; width:100%;white-space:normal;min-height:42px}
  .contact-location-figure {grid-column:2;grid-row:1/span 2;align-self:stretch;margin:0;height:320px;display:flex;flex-direction:column}
  .contact-location-figure img{height:100%;min-height:0;flex:1;object-fit:cover;object-position:center 50%}
  .contact-location-figure figcaption{flex-shrink:0}
  .contact-location-card:nth-child(2) .contact-location-figure img {object-position:center center}
}
@media (max-width:760px){
  .contact-location-figure{max-width:340px; margin:17px auto 0; aspect-ratio:3/4;height:auto}
  .contact-location-figure img {display:block;width:100%;height:calc(100% - 30px);object-fit:contain;object-position:center center}
  .contact-location-figure figcaption{min-height:30px}
  .owner-photo{height:min(78vw,380px)}
  .owner-photo img{object-position:50% 45%;transform:none}
}
.services-more{font-size:13.5px;text-align:center;line-height:1.4;margin:13px auto 0;color:#514a48;max-width:740px}
.services-more a{color:var(--red);font-weight:800;text-decoration:underline;text-underline-offset:2px}
.insurance-network-note{max-width:850px;margin:14px auto 0;line-height:1.45;font-size:13px;text-align:center;color:#62524f}
.insurance-network-note strong{color:var(--red)}
.insurance-card h3 small{display:block;font-weight:550;font-size:11px;color:#5e514d;line-height:1.3;margin-top:6px;letter-spacing:0}
.optum-mark{font-size:25px;letter-spacing:-.055em;color:#ef681e;font-weight:850;line-height:1}

@media(min-width:761px){
 /* Spread contact details vertically beside the uncropped exterior view. */
 .contact-card-actions{align-self:end;margin-bottom:12px}
}


/* Breakpoints based on real content reflow, not device labels. */
@media(min-width:1300px){
 .home-hero-inner{height:525px;grid-template-columns:43% 57%}
 .home-hero-photo{height:525px}
 .home-hero-copy h1{font-size:67px}.home-hero-copy p{font-size:19px;max-width:485px}
 .page-hero-inner{height:390px}.page-hero h1{font-size:56px}
 .history-item strong{font-size:18px}
}
@media(max-width:1130px){
 .header-inner{gap:8px;width:calc(100% - 80px)}.desktop-nav{gap:11px;margin-left:33px}.desktop-nav a{font-size:12px}
 .brand,.brand img{width:288px;max-width:288px}.brand{flex-basis:288px}
 .header-call{font-size:12px;padding:10px 11px}
 .cta-section{gap:13px}.cta-mountain{flex-basis:98px}.cta-mountain svg{width:98px}
 .cta-section h2{font-size:24px}.cta-section p{font-size:13px;padding-left:15px}
}
@media(max-width:1060px){
 .desktop-nav{display:none}.mobile-nav{display:block}
 .header-call{margin-left:auto}
 .step-card:not(:last-child)::after{display:none} .history-item strong{font-size:13.3px}.history-item{gap:10px;padding:5px 10px}
 .home-hero-copy h1{font-size:clamp(40px,5vw,53px)}
 .home-hero-copy p{font-size:14.5px;padding-right:10px}
 .service-card--compact h3{font-size:14.5px}
 .owner-copy h2{font-size:24px}.owner-copy p{font-size:13.5px}
 .services-grid--detailed .service-card{grid-template-columns:57px 1fr;padding:11px 10px;gap:8px}
 .services-grid--detailed .service-icon{padding-left:2px}
 .services-grid--detailed h3{font-size:16px}.services-grid--detailed p{font-size:12px}
 .page-hero h1{font-size:clamp(33px,4.5vw,45px)}
 .page-hero p{font-size:14px}
 .provider-reference-grid{grid-template-columns:1fr}.provider-reference-right{grid-template-columns:1fr 1fr;align-items:start}.provider-location-grid{grid-template-columns:1fr}.provider-contact-strip{grid-template-columns:1fr}.provider-contact-item{flex-direction:row;justify-content:flex-start;text-align:left}.provider-contact-item+.provider-contact-item{border-left:0;border-top:1px solid #e0b3a0}.provider-contact-item>div{align-items:flex-start}.provider-contact-item a,.provider-contact-item span{font-size:13px}
}
@media(max-width:760px){
 .wrap{width:calc(100% - 34px)}
 .site-header,.header-inner{height:70px}.header-inner{width:calc(100% - 30px)}
 .brand,.brand img{width:218px;max-width:218px}.brand{flex:0 1 218px}
 .header-call span{display:none}.header-call{padding:10px;border-radius:10px}
 .home-hero-inner{height:auto;min-height:0;display:flex;flex-direction:column}
 .home-hero-copy{padding:37px 24px 31px;order:0}
 .home-hero-copy h1{font-size:clamp(42px,9.5vw,65px)}
 .home-hero-copy p{font-size:16px;max-width:570px}
 .home-hero-photo{position:relative;right:auto;top:auto;height:325px;width:100%;order:1;clip-path:none;border-radius:64px 0 0 0;min-height:0}
 .home-hero-photo img{object-position:center 24%}
 .history-strip{grid-template-columns:1fr;padding:8px 15px;margin-top:14px}
 .history-item{justify-content:flex-start;padding:9px 4px;min-height:50px}.history-item+.history-item{border-left:0;border-top:1px solid #e3bdab}
 .history-item strong{font-size:14px}
 .history-item .icon-approved{width:32px;height:32px;flex-basis:32px}
 .section-head-title{gap:10px}.section-head-title span{width:33px}.section-head-title h2{font-size:clamp(23px,5vw,29px);text-wrap:balance}
 .home-services{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .service-card--compact{height:133px}.service-card--compact h3{font-size:15px}
 .home-services .service-card:last-child{grid-column:1/-1}
 .locations-area .section-head-title h2{white-space:normal}
 .locations-grid{grid-template-columns:1fr;max-width:485px;gap:13px}
 .location-card{min-height:120px;padding:14px 22px}
 .owner-inner{grid-template-columns:1fr;gap:14px;padding-inline:0}
 .owner-photo{height:250px;max-width:470px;width:100%}
 .owner-copy{border-left:0;border-top:1.5px solid #dda991;padding:18px 0 0}
 .owner-copy h2{font-size:clamp(25px,6vw,30px)}.owner-copy p{font-size:15px}
 .cta-section{display:grid;gap:10px;padding:19px;margin:16px auto 24px}
 .cta-mountain{display:none}.cta-section h2{white-space:normal;font-size:24px}
 .cta-section p{border-left:0;padding:0;max-width:none;font-size:14px}
 .cta-section .btn{width:100%;margin:0}
 .page-hero-inner,.route-services .page-hero-inner,.route-new-patients .page-hero-inner,.route-insurance .page-hero-inner,.route-contact .page-hero-inner,.route-providers .page-hero-inner,.route-team .page-hero-inner{height:auto;min-height:0;display:flex;flex-direction:column}
 .page-hero-copy{padding:34px 8px 11px}
 .page-hero h1,.route-services .page-hero h1,.route-new-patients .page-hero h1,.route-insurance .page-hero h1,.route-contact .page-hero h1,.route-providers .page-hero h1,.route-team .page-hero h1{font-size:clamp(38px,8.3vw,55px)}
 .page-hero p{font-size:16px;max-width:580px}
 .page-hero-art{height:205px;min-height:205px;justify-content:center}
 .page-hero-art .approved-hero-art{height:100%;max-height:200px;width:auto;object-fit:contain}
 .route-insurance .page-hero-art .approved-hero-art{max-height:190px}
 .services-grid--detailed{grid-template-columns:1fr}.services-grid--detailed .service-card{height:auto;min-height:125px;grid-template-columns:70px 1fr;padding:20px}
 .services-grid--detailed h3{font-size:19px}.services-grid--detailed p{font-size:14px}
 .plan-grid{grid-template-columns:1fr;gap:12px;text-align:center}.planning-art--approved{height:195px}.plan-grid h2{font-size:26px}.plan-grid h3{font-size:20px}
 .simple-value-band{padding:18px;gap:13px}.simple-value-band>svg{height:40px;width:40px}.simple-value-band h2{font-size:21px}
 .steps-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 13px}.step-card{min-height:195px}.step-card p{font-size:12px}.step-card:not(:last-child)::after{display:none}.faq-main-grid{grid-template-columns:1fr;gap:10px}.faq-artwork img{max-width:165px}
 .patient-info-grid{grid-template-columns:1fr}.info-card{min-height:0}
 .insurance-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.insurance-card{grid-template-columns:1fr;gap:5px;min-height:125px;text-align:center;padding:10px}
 .insurance-emblem{border-right:0;border-bottom:1px solid #e8c4b4;height:52px;padding:0 0 5px}.insurance-emblem img{height:47px;max-width:108px}.insurance-card h3{padding:0;font-size:14px}
 .coverage-panels{grid-template-columns:1fr}.coverage-panel{min-height:0}.coverage-chip-list{columns:2}
 .contact-location-grid,.contact-details-grid,.contact-about-grid{grid-template-columns:1fr}
 .contact-location-card{padding:19px}.contact-card-actions{margin-left:0;flex-wrap:wrap}.contact-card-actions .btn{min-width:0;flex:1}
 .contact-about{padding-top:10px}.contact-direct{min-height:0}.contact-community{border-left:0;border-top:1.5px solid #dcb19d;padding:20px 0 0}
 .provider-reference-grid{grid-template-columns:1fr;gap:14px}
 .provider-reference-services,.provider-reference-contact,.provider-reference-locations{padding:17px}
 .provider-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .provider-service-tile{min-height:82px}
 .provider-location-grid{grid-template-columns:1fr 1fr;gap:9px}
 .provider-contact-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
 .featured-profile{grid-template-columns:1fr}.featured-photo{height:265px;max-width:460px;width:100%;margin:0 auto}
 .featured-bio{border-left:0;border-top:1.5px solid #d8aa96;padding:16px 0 0}.featured-bio h2{font-size:29px}.featured-bio p{font-size:14px}
 .team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-photo{height:175px}
 .footer-inner{display:grid;grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}
 .footer-contact{align-items:flex-start}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:5px}
}
@media(max-width:420px){
 .brand,.brand img{width:200px;max-width:200px}.brand{flex-basis:200px}
 .header-inner{gap:4px}.mobile-nav summary{padding:7px;font-size:12px}
 .home-hero-copy{padding:33px 19px 24px}.home-hero-copy h1{font-size:42px}
 .home-hero-photo{height:286px}
 .home-hero .hero-actions{gap:8px}.home-hero .hero-actions .btn{font-size:12px;padding:11px}
 .home-hero .hero-actions .btn svg{display:none}
 .service-card--compact h3{font-size:14px}
 .team-grid{grid-template-columns:1fr}.staff-photo{height:220px}
 .insurance-card h3{font-size:12px}
 .coverage-chip-list{columns:2}.coverage-panel h3{font-size:19px}
 .group-content ul{columns:1}
 .contact-callout a{font-size:24px}.contact-card-actions .btn{flex-basis:100%}
 .community-icons span{font-size:10px}.provider-card-heading{gap:8px}.provider-card-heading h2{font-size:20px}.provider-card-heading>svg{width:27px;height:27px}.provider-contact-strip{grid-template-columns:1fr}.provider-contact-item{flex-direction:row;text-align:left;justify-content:flex-start;padding:11px 4px}.provider-contact-item+.provider-contact-item{border-left:0;border-top:1px solid #dfb9aa}.provider-contact-item>div{align-items:flex-start}.provider-location-grid{grid-template-columns:1fr}.provider-service-tile strong{font-size:13px}
 .footer-inner{grid-template-columns:1fr}.footer-brand{grid-column:auto}
}

/* Geometry exceptions found by the real 768px / 1024px browser sweep. */
@media(min-width:761px) and (max-width:900px){
 .contact-location-grid{grid-template-columns:1fr;max-width:640px;margin:auto}
 .contact-location-card{min-height:165px}
}
@media(min-width:761px) and (max-width:1100px){
 .route-team .cta-section{flex-wrap:wrap}
 .route-team .cta-section .btn{margin-left:0}
}

@media(max-width:350px){
 .brand,.brand img{width:158px;max-width:158px}.brand{flex-basis:158px}
 .header-inner{gap:1px}.mobile-nav summary{gap:2px;padding:6px}
 .mobile-nav summary span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%)}
}

@media(min-width:761px) and (max-width:900px){.route-providers .cta-section{flex-wrap:wrap}.route-providers .cta-section .btn{margin-left:0}}

@media(max-width:760px){.contact-location-figure img{height:135px}}

/* V10 natural portrait framing overrides the old narrow cropped photo height. */
@media(max-width:760px){
 .contact-location-figure{width:min(100%,330px);height:auto;aspect-ratio:3/4;max-width:330px;margin:17px auto 0;display:flex;flex-direction:column}
 .contact-location-figure img{width:100%;height:auto;min-height:0;flex:1;object-fit:contain;object-position:center center}
 .contact-location-figure figcaption{flex-shrink:0}
 .owner-photo{height:min(78vw,380px)}
 .owner-photo img{object-position:50% 43%;transform:none}
}
