@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Oswald:wght@400;500;600;700&display=swap');:root{--red:#bd2031;--char:#2e3436;--ivory:#e6e6dd;--ink:#202728;--grey:#65706f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font:16px/1.65 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.container{width:min(1190px,90%);margin:auto}.nav{position:sticky;top:0;z-index:30;background:#2e3436f8;color:#fff;border-bottom:1px solid #ffffff22}.navin{height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font:600 27px/1 Oswald,sans-serif;letter-spacing:.13em}.brand em{font-style:normal;color:var(--red)}.brand small{display:block;font:700 9px 'DM Sans',sans-serif;letter-spacing:.48em;margin-top:6px}.navlinks{display:flex;align-items:center;gap:25px}.navlinks>a:not(.btn){font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.navlinks>a:hover{color:#f2aab3}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;min-height:49px;background:var(--red);border:1px solid var(--red);color:#fff;text-transform:uppercase;font-size:11px;letter-spacing:.13em;font-weight:700;transition:.2s}.btn:hover{background:#a51b2a}.btn.light{background:var(--ivory);color:var(--ink);border-color:var(--ivory)}.btn.outline{background:transparent;border-color:#ffffff8a;color:white}.btn.dark{background:var(--char);border-color:var(--char);color:white}.eyebrow{color:var(--red);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.24em}.eyebrow.white{color:#efabb2}.hero{min-height:700px;display:flex;align-items:center;background:linear-gradient(90deg,#182021f7 0%,#182021de 42%,#18202142 100%),var(--photo) center 47%/cover;color:#fff}.hero h1{font:600 clamp(85px,12vw,165px)/.91 Oswald,sans-serif;letter-spacing:-.03em;margin:25px 0}.hero p{font-size:18px;max-width:550px;line-height:1.85;color:#e0e5e1}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.stripe{background:var(--red);color:white;text-align:center;padding:16px;font-size:11px;letter-spacing:.24em;font-weight:700;text-transform:uppercase}.section{padding:100px 0}.section.dark{background:var(--char);color:var(--ivory)}.section.paper{background:#f4f3ee}.section h2,.pagehero h1,.cta h2{font:600 clamp(46px,6vw,83px)/1.03 Oswald,sans-serif;text-transform:uppercase;letter-spacing:-.015em;margin:18px 0 25px}.lead{font-size:18px;line-height:1.85;max-width:730px;color:#5d6664}.dark .lead{color:#c7ceca}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px}.tile{padding:34px;background:white;display:flex;flex-direction:column;justify-content:space-between;min-height:260px;border-top:4px solid var(--red)}.dark .tile{background:#394244}.tile h3{font:500 31px/1.1 Oswald,sans-serif;text-transform:uppercase;margin:15px 0}.tile p{font-size:14px;color:#596260}.dark .tile p{color:#c0c8c3}.tile a{font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:700}.split{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.photo{width:100%;height:500px;object-fit:cover}.split p{line-height:1.85;color:#596260}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:35px}.gallery img{width:100%;height:410px;object-fit:cover}.pagehero{background:var(--char);color:#fff;padding:110px 0 95px}.pagehero h1{max-width:900px}.pagehero p{color:#cdd3d0;max-width:710px;font-size:18px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:45px}.step{border-top:1px solid #aab0ad;padding-top:20px}.step b{font:500 54px Oswald,sans-serif;color:var(--red)}.step h3{font:500 27px Oswald,sans-serif;text-transform:uppercase}.step p{color:#66706c}.dark .step p{color:#c4ccc8}.cta{background:var(--red);color:white;padding:100px 0}.cta h2{max-width:900px}.cta p{max-width:700px}.faq{max-width:900px;margin:30px auto 0}.faq details{border-top:1px solid #adb2ac;padding:22px 0}.faq summary{cursor:pointer;font-weight:700}.faq p{color:#596260}.price{font:500 46px Oswald,sans-serif}.foot{background:#222a2b;color:#fff;padding:55px 0}.footgrid{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}.foot p,.foot a{color:#bfc8c3;font-size:13px}.foot a:hover{color:white}.menu{display:none}.pill{display:inline-block;padding:6px 10px;border:1px solid #adb2ac;font-size:11px;letter-spacing:.13em;text-transform:uppercase}.muted{color:#5b6461}.cardimg{width:100%;height:290px;object-fit:cover}.two{display:grid;grid-template-columns:1fr 1fr;gap:20px}.two .tile{min-height:300px}.contactline{border-bottom:1px solid #bbb;padding:15px 0}.contactline strong{display:block}.alert{border-left:4px solid var(--red);padding:16px 20px;background:#ffffffa6}.quote{font:500 clamp(35px,5vw,65px)/1.15 Oswald,sans-serif;text-transform:uppercase}.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:white;z-index:99;padding:10px}@media(max-width:900px){.navlinks{display:none;position:absolute;top:84px;left:0;right:0;background:var(--char);padding:24px 5%;flex-direction:column;align-items:flex-start}.navlinks.open{display:flex}.menu{display:block;background:transparent;color:#fff;border:1px solid #ffffff66;padding:8px 13px}.grid3,.steps{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr;gap:30px}.photo{height:400px}.hero{min-height:630px}}@media(max-width:600px){.hero h1{font-size:85px}.hero{background-position:57% center}.section{padding:72px 0}.grid3,.steps,.gallery,.two{grid-template-columns:1fr}.gallery img{height:360px}.tile{min-height:210px}.pagehero{padding:75px 0}.navin{height:75px}.navlinks{top:75px}.brand{font-size:23px}}
.schedule-scroll{overflow-x:auto;margin-top:32px;padding-bottom:8px}.schedule-grid{display:grid;grid-template-columns:repeat(7,minmax(155px,1fr));gap:8px;min-width:1120px}.schedule-day{background:#f7f6f2;border:1px solid #d9d9d1}.schedule-day h3{background:#bd2031;color:#fff;text-align:center;margin:0;padding:16px 8px;font:700 20px Oswald,sans-serif;letter-spacing:.12em}.schedule-slot{padding:13px 6px;text-align:center;margin:0 9px;border-bottom:1px solid #d6d6d0;min-height:75px}.schedule-slot:last-child{border-bottom:0}.schedule-slot strong{display:block;font-size:16px}.schedule-slot span{display:block;color:#545c5c;font-size:13px;margin-top:4px}.schedule-scroll:focus-visible{outline:3px solid #bd2031;outline-offset:3px}@media(max-width:700px){.schedule-grid{grid-template-columns:repeat(7,155px)}.schedule-scroll:before{content:"Swipe to see all seven days →";display:block;color:#545c5c;font-size:12px;margin-bottom:12px}}
.membership-price{font:600 clamp(38px,4vw,52px)/1.15 Oswald,sans-serif;color:#bd2031;margin:10px 0 14px}.membership-price span{font:500 14px DM Sans,sans-serif;color:#525b5c;margin-left:5px}
/* Pricing card correction */
.membership-price{white-space:nowrap;display:block;font-size:clamp(38px,4vw,52px);font-weight:600;letter-spacing:normal}.membership-price span{display:inline;font-size:14px;font-weight:500;white-space:nowrap}.tile .membership-price{margin:12px 0 16px}.tile h3 + .membership-price{margin-top:8px}

.lead-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:26px 0}.lead-tab{border:1px solid #adb2ad;background:transparent;color:#2e3436;padding:12px 20px;font-weight:700;cursor:pointer}.lead-tab.active{background:#bd2031;color:white;border-color:#bd2031}.lead-card{background:#fff;padding:clamp(22px,5vw,54px);border-top:5px solid #bd2031;max-width:850px}.lead-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:24px 0}.lead-fields label{display:flex;flex-direction:column;font-size:13px;font-weight:700;gap:7px}.lead-fields .wide{grid-column:1/-1}.lead-fields input,.lead-fields textarea{padding:13px;border:1px solid #aeb6b4;background:#fafaf8;color:#202728;width:100%;border-radius:0}.lead-fields input:focus,.lead-fields textarea:focus{outline:2px solid #bd2031;outline-offset:1px}.lead-error{color:#bd2031;font-weight:600}.lead-note{font-size:12px;color:#65706f;margin-top:15px}@media(max-width:600px){.lead-fields{grid-template-columns:1fr}.lead-fields .wide{grid-column:auto}.lead-tab{flex:1}}
/* Cardinal inquiry form: vertically stacked, centered, premium */
.lead-card{max-width:720px;margin:24px auto 0;padding:clamp(28px,5vw,52px);background:#fff;border-top:5px solid #bd2031;box-shadow:0 14px 38px #20272812}
.lead-tabs{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:30px auto 16px;max-width:720px}
.lead-tab{flex:1 1 160px;border:1px solid #aeb4b0;background:transparent;color:#2e3436;padding:13px 15px;font-size:13px;letter-spacing:.035em;font-weight:700}
.lead-tab.active{background:#bd2031;border-color:#bd2031;color:#fff}
.lead-fields{display:flex!important;flex-direction:column!important;gap:18px!important;margin:26px 0!important}
.lead-fields label,.lead-fields label.wide{display:flex!important;flex-direction:column!important;grid-column:auto!important;gap:7px!important;width:100%!important;font-size:13px;font-weight:700}
.lead-fields input,.lead-fields textarea{display:block!important;width:100%!important;max-width:100%!important;min-width:0;padding:14px 16px;border:1px solid #aeb6b4;background:#fafaf8;color:#202728;border-radius:0}
.lead-fields textarea{min-height:125px;resize:vertical}
#lead-submit{width:100%;justify-content:center}
@media(max-width:600px){.lead-card{padding:24px 20px}.lead-tabs{gap:6px}.lead-tab{flex:1 1 100%;width:100%}}

/* Cardinal official mark and verified Google review showcase */
.brand{display:inline-flex;align-items:center;gap:11px;white-space:nowrap}.brand-icon{width:46px;height:46px;object-fit:contain;flex-shrink:0}.brand-word{display:block}.foot .brand-icon{width:51px;height:51px}.review-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:38px}.review-heading h2{margin-bottom:12px}.review-rating{text-align:right;min-width:140px}.review-rating strong{display:block;font:600 38px/1.15 Oswald,sans-serif}.review-rating span{font-size:12px;color:var(--grey);text-transform:uppercase;letter-spacing:.12em}.review-stars{color:#bd2031;letter-spacing:.13em;font-size:17px}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.review-card{background:#fff;margin:0;padding:34px 30px;border-top:3px solid var(--red);display:flex;flex-direction:column;min-height:255px;box-shadow:0 9px 24px #2027280d}.review-card p{font-size:20px;line-height:1.5;font-weight:600;margin:22px 0;flex:1}.review-card footer{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--grey);font-weight:700}.review-bottom{display:flex;align-items:center;gap:22px;margin-top:28px;flex-wrap:wrap}.review-bottom p{font-size:12px;color:var(--grey);margin:0}@media(max-width:850px){.review-grid{grid-template-columns:1fr}.review-card{min-height:0}.review-heading{align-items:start}.review-rating{padding-top:12px}}@media(max-width:600px){.brand-icon{width:37px;height:37px}.brand{gap:7px}.nav .brand-word{font-size:21px}.review-heading{display:block}.review-rating{text-align:left;margin-top:20px}.review-card{padding:25px}.review-card p{font-size:18px}}

/* Mobile accessibility and tap target audit fixes */
@media(max-width:600px){.navin{gap:8px}.nav .brand{min-width:0}.nav .brand-word{letter-spacing:.075em}.nav .brand small{letter-spacing:.26em}.nav .brand-icon{flex-shrink:0}.review-grid{gap:14px}.review-heading h2{overflow-wrap:break-word}.actions .btn{max-width:100%}.lead-card{width:100%}}
.navlinks a:focus-visible,.btn:focus-visible,.menu:focus-visible,.lead-tab:focus-visible{outline:3px solid #f2aab3;outline-offset:3px}img{max-width:100%;height:auto}.brand-icon{height:46px}@media(max-width:600px){.brand-icon{height:37px}}

/* Responsive usability pass */
@media(max-width:600px){.hero h1{font-size:clamp(64px,19vw,85px)}.hero{min-height:570px}.hero p,.pagehero p{font-size:16px}.section h2,.pagehero h1,.cta h2{font-size:clamp(40px,11vw,62px)}.navlinks.open{max-height:calc(100dvh - 75px);overflow-y:auto}.navlinks a{min-height:44px;display:flex;align-items:center}.gallery img{height:300px}.footgrid{flex-direction:column}.review-rating{min-width:0}}
@media(min-width:601px) and (max-width:900px){.navlinks.open{max-height:calc(100dvh - 84px);overflow-y:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Hero headline optical kerning: prevent tight TT pairing in BETTER */
.hero h1{font-kerning:normal;font-feature-settings:"kern" 1;letter-spacing:0}
@media(max-width:600px){.hero h1{letter-spacing:0}}
