/* Black, white and red theme */
:root{--navy:#fff!important;--red:#f13a43!important;--cream:#000!important;color-scheme:dark}
html,body{background:#000!important;color:#fff!important}
body *{color:#fff!important;border-color:#ffffff38!important}
header,footer,section,article,aside,nav,form,details,dialog,input,select,textarea,option,.wrap,.preview,.strip,.journey,.booking,.form,.lesson,.price-card,.price-grid,.content-card,.highlight-card,.area-art,.plate,.photo-caption,.school-header,.header-top,.header-main,.header-top-inner,.header-main-inner,.resource-panel,.header-mobile-panel,.mobile-menu,.site-footer,.pagehero,.pagecta,.review-slider,.review-track,.review-image,.guide-section,.header-actions,.header-action,.header-mobile,.footer-columns,.footer-prices,.lesson-pricing,.page-jumps,.school-highlights,.pricing-section,.reviews,.map-section{background:#000!important;background-image:none!important}
h1,h2,h3,h4,h5,h6,p,li,label,summary,span,strong,small{color:#fff!important}
h1 em,h1 span,.section-label,.eyebrow,.num,.start-number,.price,.pin,.brand span span,.footer-school>strong>span,.textlink,nav a:hover,a:hover,.current{color:#f13a43!important}
.btn,.header-action.book,button[type=submit],.mobilecta{background:#e5323c!important;color:#fff!important;border-color:#e5323c!important}
.btn.secondary,.header-action.contact{background:#000!important;color:#fff!important;border-color:#f13a43!important}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #f13a43!important;outline-offset:3px}
input::placeholder,textarea::placeholder{color:#fff!important;opacity:.75}
.dot{background:#f13a43!important}.lesson li:before,.strip b{color:#f13a43!important}
body:before,body:after,section:before,section:after{background-color:#000!important}

/* Compact location pair */
.location-section .location-grid{display:grid!important;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}
.location-map-card,.location-info-card{border:1px solid #ffffff38;border-radius:16px;overflow:hidden;background:#000!important}
.location-map-card iframe{display:block;width:100%;height:230px;border:0;filter:grayscale(1) invert(.9) contrast(.85)}
.location-map-label{padding:22px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #ffffff38}
.location-map-label strong{font-size:19px}.location-map-label p{font-size:13px;line-height:1.6;margin:7px 0 0}
.location-map-link{font-size:13px;font-weight:700;color:#f13a43!important;border-bottom:1px solid #f13a43!important;white-space:nowrap;padding:6px 0}
.location-info-card{padding:34px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.location-info-card h2{font-size:clamp(30px,3.4vw,44px);line-height:1.12;margin:14px 0 18px;letter-spacing:-1.2px}
.location-info-card h2 em{font-style:normal;color:#f13a43!important}
.location-info-card p{font-size:15px;line-height:1.7;max-width:360px;margin:0 0 22px}
.location-info-card .btn{padding:14px 20px;min-height:48px}
.location-directions{font-size:13px;margin-top:14px;color:#fff!important;border-bottom:1px solid #ffffff66!important}
@media(max-width:760px){.location-section .location-grid{grid-template-columns:1fr;gap:16px}.location-map-card iframe{height:190px}.location-map-label{padding:18px}.location-info-card{padding:25px}.location-info-card h2{font-size:34px}.location-info-card .btn{width:100%}}

.location-section .location-grid{grid-template-columns:minmax(0,680px)!important;justify-content:center}.review-heading{justify-content:center!important;text-align:center}.review-heading>div{width:100%}

/* Typography matching LPD reference */
body,button,input,select,textarea,nav,a,p,li,label,small{font-family:'Jost',Arial,sans-serif!important}
h1,h2,h3,h4,h5,h6,.price,.footer-school>strong{font-family:'Playfair Display',Georgia,serif!important;font-weight:500!important;letter-spacing:-.025em!important}
h1,h2{line-height:1.15!important}h3{line-height:1.3!important}
.section-label,.eyebrow,.num,.start-number,.primary-navigation,.header-action,.btn{font-family:'Jost',Arial,sans-serif!important;font-weight:500!important;letter-spacing:.06em!important}

/* Full white footer text */
html body footer.site-footer,html body footer.site-footer *,html body .site-footer .footer-column a,html body .site-footer .footer-prices,html body .site-footer .footer-prices strong,html body .site-footer p,html body .site-footer .footer-bottom a{color:#fff!important;opacity:1!important;-webkit-text-fill-color:#fff!important}

.hero-video{display:block;width:100%;height:100%;object-fit:cover}.banner-video-toggle{position:absolute;right:12px;bottom:12px;z-index:5;background:#000c;color:#fff!important;border:1px solid #fff8!important;border-radius:5px;padding:8px 12px;font:500 12px 'Jost',sans-serif;cursor:pointer}.hero-image-actions{z-index:6!important}@media(max-width:760px){.banner-video-toggle{font-size:11px;padding:7px 10px}}

.review-track{scroll-behavior:smooth;scrollbar-width:none}.review-track::-webkit-scrollbar{display:none}@media(prefers-reduced-motion:reduce){.review-track{scroll-behavior:auto}}

/* Wide landscape banner */
html body .wrap.hero{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;display:block!important;gap:0!important}
html body .wrap.hero .visual{width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;aspect-ratio:16/7!important;border:0!important;border-radius:0!important;box-shadow:none!important;margin:0!important;position:relative!important;overflow:hidden!important}
html body .wrap.hero .driving-photo{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;border-radius:0!important;display:block!important}
html body .hero-image-actions{left:clamp(14px,4vw,60px)!important;top:clamp(14px,3vw,36px)!important;right:auto!important;max-width:calc(100% - 28px)!important;gap:10px!important}
/* Refined student gallery */
html body #reviews{border-top:1px solid #ffffff26!important;border-bottom:1px solid #ffffff26!important;padding:52px 0!important}
html body #reviews .review-heading{margin-bottom:28px!important;display:block!important;text-align:center!important}
html body #reviews h2{margin:12px auto!important;max-width:680px!important;font-size:clamp(30px,4vw,48px)!important}
html body #reviews h2 em{color:#f13a43!important;font-style:normal!important}
html body #reviews .review-track{display:flex!important;gap:18px!important;padding:5px 2px 12px!important;scroll-snap-type:x mandatory!important;align-items:stretch!important}
html body #reviews .student-image{flex:0 0 calc((100% - 36px)/3)!important;width:auto!important;height:410px!important;border:1px solid #ffffff40!important;border-top:3px solid #f13a43!important;border-radius:16px!important;overflow:hidden!important;transition:transform .25s,border-color .25s!important;cursor:zoom-in!important}
html body #reviews .student-image img{width:100%!important;height:100%!important;max-height:none!important;object-fit:cover!important;object-position:center!important;display:block!important}
html body #reviews .student-image:hover{transform:translateY(-4px);border-color:#f13a43!important}
@media(max-width:760px){html body .wrap.hero .visual{aspect-ratio:16/9!important}html body .hero-image-actions{left:12px!important;top:12px!important;right:12px!important;gap:7px!important}html body .hero-image-actions .btn{font-size:10px!important;padding:9px 11px!important;min-height:36px!important}html body #reviews{padding:36px 0!important}html body #reviews .review-track{gap:12px!important}html body #reviews .student-image{flex-basis:80%!important;height:370px!important;border-radius:13px!important}}
@media(prefers-reduced-motion:reduce){html body #reviews .student-image{transition:none!important}}

/* Consistent contrast for every content surface */
html body :is(.price-card,.content-card,.highlight-card,.lesson,.guide-item,.guide-exercise,.callout,.pending,.review-card,.advance-note,.local-label,.plate,.photo-caption,.pagebody,.pagecta,.form,.resource-panel,.header-mobile-panel){background:#000!important;background-image:none!important;color:#fff!important}
html body :is(.price-card,.content-card,.highlight-card,.lesson,.guide-item,.guide-exercise,.callout,.pending,.review-card,.advance-note,.local-label,.plate,.photo-caption,.pagebody,.pagecta,.form,.resource-panel,.header-mobile-panel) :is(p,li,small,label){color:#fff!important}
