/* Rounder surfaces, stronger text contrast, and gentle interaction feedback. */
.brand-logo{display:block;width:148px;height:auto;max-width:none;object-fit:contain;transition:filter .3s,transform .3s var(--ease);filter:drop-shadow(0 3px 9px #65ff0012)}
.brand:hover .brand-logo{transform:translateY(-2px);filter:drop-shadow(0 4px 13px #65ff0030)}
.header-inner{height:103px}
.hero{height:calc(100svh - 103px)}
.footer-brand .brand-logo{width:210px}
:root{--muted:#465347;--radius-card:25px;--radius-panel:31px;--radius-menu:23px;--radius-input:14px}
.site-header{transition:background .3s,box-shadow .3s,border-color .3s}
.site-header.scrolled{background:#151b17fc;box-shadow:0 9px 35px #07100c26;border-color:#00ff8829}
.scroll-progress{position:absolute;bottom:-1px;left:0;right:0;height:2px;pointer-events:none;background:var(--green);transform:scaleX(0);transform-origin:left center}
.dropdown{top:calc(100% + 29px);border-radius:var(--radius-menu);padding:31px;box-shadow:0 24px 60px #07100c59;animation:menu-arrive .24s var(--ease) both}
.dropdown-links>a{border-radius:10px;padding:11px 10px;font-size:12px;transition:background .2s,color .2s,transform .2s}
.dropdown-links>a:hover{background:#00ff880e;transform:translateX(3px)}
.dropdown-location>p,.dropdown-location>div{color:#e0e9e2;font-size:11px}
.dropdown-location>.eyebrow{color:#d2e1d5;font-size:9px}
.wordmark-caption{color:#e2ebe4;font-size:8px;letter-spacing:1.2px}
.hero-shade{background:linear-gradient(90deg,#111611f0 0%,#111611bf 30%,#11161130 68%,#11161112 100%),linear-gradient(0deg,#101510cc,transparent 28%)}
.hero-description{color:#f0f5f1;font-size:15px;max-width:460px}
.hero-content>.eyebrow{color:#edf5ef;font-size:10px}
.hero-bottom>div,.hero-image-label,.hero-side-label{color:#e0ece3}
.hero-bottom>div{font-size:10px}
.hero-image-label{font-size:8px;letter-spacing:1px}
.hero-content>.eyebrow{animation:content-arrive .75s var(--ease) .08s both}
.hero h1{animation:content-arrive .85s var(--ease) .16s both}
.hero-description{animation:content-arrive .85s var(--ease) .3s both}
.hero-buttons{animation:content-arrive .85s var(--ease) .42s both}
.button{position:relative;overflow:hidden;font-size:12px;box-shadow:0 3px 12px #14221708;transition:transform .3s var(--ease),box-shadow .3s,background .2s,border-color .2s}
.button>span,.text-link>span,.round-arrow{transition:transform .3s var(--ease)}
.button:hover{box-shadow:0 9px 24px #14221722}
.button:hover>span,.text-link:hover>span{transform:translate(3px,-3px)}
.button-green:after{content:'';position:absolute;top:-55%;left:-45%;width:32%;height:210%;background:linear-gradient(90deg,transparent,#ffffff70,transparent);transform:rotate(20deg);pointer-events:none}
.button-green:hover:after{animation:button-shine .7s ease-out}
.text-link{font-size:12px}
.eyebrow{font-size:10px;letter-spacing:1.3px}
.heading-row>p,.class-copy>p:last-child,.team-card>p:last-child,.why-item>p,.bkf-copy>p:not(.eyebrow),.faq-item>p,.info-card>p,.feature-info article>p:not(.eyebrow),.process-grid p,.vehicle-item>div>p:not(.eyebrow),.contact-info>p:not(.eyebrow),.module-banner p:not(.eyebrow){font-size:14px;line-height:1.8}
.class-card,.info-card{border-radius:var(--radius-card);transition:transform .45s var(--ease),box-shadow .45s,border-color .3s}
.class-card:hover,.class-card:focus-visible,.info-card:hover{transform:translateY(-6px);box-shadow:0 15px 35px #19301d14;border-color:#9ab89b}
.class-image{border-radius:20px;margin:8px 8px 0}
.class-copy{padding:25px 23px 29px}
.class-copy>.eyebrow,.team-card>.eyebrow{font-size:9px;letter-spacing:1px}
.class-copy>h3{font-size:25px}
.class-code{text-shadow:0 2px 15px #0005}
.section-bottom-link>p{font-size:12px;line-height:1.8}
.why-title>.eyebrow,.why-title>p:not(.eyebrow),.bkf-copy>.eyebrow,.bkf-copy>p:not(.eyebrow),.cta>.container>.eyebrow,.cta-bottom>p{color:#e1ebe4}
.why-title>p:not(.eyebrow),.cta-bottom>p{font-size:14px}
.why-item>p{color:#edf4ef}
.why-item summary>span{font-size:11px;color:#d7e7db}
.why-item{transition:background .3s,padding .3s}
.why-item[open]{background:#ffffff04;border-radius:15px}
.location-tabs>button{font-size:12px;transition:background .25s,color .25s,transform .25s,box-shadow .25s}
.location-tabs>button:hover{transform:translateY(-2px);box-shadow:0 4px 14px #17311f12}
.location-panel{border-radius:var(--radius-panel);box-shadow:0 7px 24px #142e1808}
.location-map-poster{background:#15251d;color:#f3fff6;isolation:isolate}
.location-map-image,.map-markers{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .9s var(--ease);pointer-events:none}
.location-map-image{z-index:0}
.location-map-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,#0d1e1559 0%,transparent 35%,#0d1e157d 61%,#0c1d14ee 100%);pointer-events:none}
.map-markers{z-index:2;filter:drop-shadow(0 4px 14px #0003)}
.location-panel:hover .location-map-image,.location-panel:hover .map-markers{transform:scale(1.035)}
.location-map-poster>.eyebrow{color:#e4f5e9;z-index:3;position:relative;font-size:10px;letter-spacing:1.3px}
.location-map-poster>h3{color:#f1fff5;z-index:3;text-shadow:0 3px 22px #06110ecc}
.location-map-poster>h3>span{color:var(--green)}
.location-map-poster>p{color:#d6ebdc;z-index:3;font-size:13px}
.map-area-label{position:absolute;top:64px;left:35px;font-size:8px;letter-spacing:1.6px;z-index:3;color:#cee6d5}
.map-attribution{position:absolute;right:15px;bottom:12px;z-index:4;font-size:9px;line-height:1.6;color:#e3f0e7;background:#0b1b12d9;padding:3px 8px;border-radius:8px;border:1px solid #a1c7ac35;transition:background .2s}
.map-attribution:hover{background:#244632;color:white}
.map-beacon{transform-box:fill-box;transform-origin:center;animation:map-beacon 4s ease-out infinite}
@keyframes map-beacon{0%,100%{transform:scale(.75);opacity:.04}45%{transform:scale(1.3);opacity:.17}78%{transform:scale(1.5);opacity:0}}
.location-panel.is-entering{animation:panel-arrive .35s var(--ease) both}
.location-poster>h3>span{transition:transform .4s var(--ease)}
.location-panel:hover .location-poster>h3>span{transform:translate(5px,-5px)}
.location-poster>.eyebrow,.location-details>.eyebrow{font-size:9px;letter-spacing:1px}
.location-poster>p,.location-address,.hours-row{font-size:13px}
.location-address,.hours-row,.hours-row small{color:#425440}
.hours-row>strong{font-size:14px}
.hours-row small{font-size:12px}
.location-actions>.button{font-size:11px}
.team-image{border-radius:var(--radius-card);box-shadow:0 5px 20px #1a2c170d}
.team-card{transition:transform .45s var(--ease)}
.team-card:hover{transform:translateY(-5px)}
.team-image>span{transition:transform .35s}
.team-card:hover .team-image>span{transform:rotate(-12deg)}
.faq-item{transition:padding .25s,background .25s}
.faq-item[open]{background:#e6ede0;border-radius:16px;padding-left:18px;padding-right:18px}
.faq-item>summary{font-size:15px}
.cta-bottom>.button{font-size:12px}
.footer-brand>p,.footer-grid>div>p,.footer-links,.footer-mail,.social-links,.footer-bottom{color:#d7e4da}
.footer-grid h3{font-size:12px;color:#f3f7f4}
.footer-grid>div>p,.footer-links,.footer-mail,.social-links{font-size:12px;line-height:1.8}
.footer-phone{font-size:18px}
.footer-grid .button{font-size:11px}
.footer-bottom{font-size:10px;line-height:1.8;flex-wrap:wrap}
.floating-contact{font-size:11px;padding:14px 18px;transition:transform .3s var(--ease),box-shadow .3s;animation:contact-halo 3s ease-out 2}
.floating-contact:hover{transform:translateY(-4px);box-shadow:0 9px 28px #00ff8833}
.page-hero .eyebrow,.breadcrumb{color:#e1eee5;font-size:11px}
.page-hero-description{font-size:15px;line-height:1.8;color:#f0f6f2;max-width:590px}
.page-hero-shade{background:linear-gradient(90deg,#132016fc,#17221bb5 68%,#14221955)}
.page-hero h1,.page-hero-description{animation:content-arrive .8s var(--ease) .12s both}
.finder-banner,.module-banner,.price-sheet,.contact-form{border-radius:var(--radius-panel);box-shadow:0 8px 28px #17311b08}
.finder-banner p{font-size:14px}
.video-story video,.vehicle-item>img{border-radius:var(--radius-card)}
.video-story p:not(.eyebrow){font-size:14px}
.video-story p.fine-print{font-size:11px}
.info-card>.button,.vehicle-item .button{font-size:11px}
.inline-note{border-radius:14px;font-size:13px;color:#40513c}
.price-table>div{font-size:15px}
.price-sheet .eyebrow,.price-sheet>div>a{font-size:11px}
.price-sheet img{border-radius:15px}
.fine-print{font-size:11px;color:#43513f;line-height:1.85}
.contact-form>.eyebrow{font-size:9px}
.contact-form label{font-size:13px}
.contact-form label>span{font-size:11px;color:#455641}
input,select,textarea{border-radius:var(--radius-input);font-size:14px;border-color:#acbba4;transition:box-shadow .25s,border-color .25s,background .25s}
input:focus,select:focus,textarea:focus{border-color:#448951;background:#fff;box-shadow:0 0 0 4px #00cc6612}
input::placeholder,textarea::placeholder{color:#52644c}
.contact-form-actions>.button{font-size:11px}
#contact-status{font-size:12px;color:#344b2c}
.legal-content p{font-size:14px}
.dialog{border-radius:27px}
.dialog[open]{animation:dialog-arrive .3s var(--ease) both}
.dialog::backdrop{animation:backdrop-arrive .25s ease-out both}
.dialog-inner>.eyebrow{font-size:10px}
.dialog-description,.finder-question{font-size:14px}
.finder-options>button{border-radius:17px;transition:background .25s,border-color .25s,transform .25s,box-shadow .25s}
.finder-options>button:hover{transform:translateX(3px);box-shadow:0 5px 15px #2238170d}
.finder-options b{font-size:16px}
.finder-options span{font-size:12px}
.finder-result-card{border-radius:22px}
.finder-result-card>.eyebrow{font-size:10px}
.finder-result-card p{font-size:14px;color:#3c5533}
#finder-result>.text-link{font-size:12px}
.js .reveal{transition-duration:.85s;transition-delay:var(--reveal-delay,0ms)}
@keyframes content-arrive{from{opacity:0;transform:translateY(21px)}to{opacity:1;transform:translateY(0)}}
@keyframes menu-arrive{from{opacity:0;translate:0 -8px}to{opacity:1;translate:0 0}}
@keyframes panel-arrive{from{opacity:.45;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}
@keyframes dialog-arrive{from{opacity:0;translate:0 15px;scale:.985}to{opacity:1;translate:0 0;scale:1}}
@keyframes backdrop-arrive{from{opacity:0}to{opacity:1}}
@keyframes button-shine{to{left:145%}}
@keyframes contact-halo{0%,75%,100%{box-shadow:0 5px 25px #0002}35%{box-shadow:0 0 0 10px #00ff8814,0 5px 25px #0002}}
@media(max-width:1150px){.class-copy>h3{font-size:28px}.hero-description{font-size:15px}}
@media(max-width:850px){
 .header-inner{height:91px}
 .main-navigation{top:90px;max-height:calc(100svh - 91px)}
 .brand-logo{width:126px}
 .hero{height:830px}
 .dropdown{border-radius:0;box-shadow:none;padding:5px 0 25px;animation:none}
 .dropdown-location>p{font-size:12px}.dropdown-location>div{font-size:10px}
 .dropdown-links>a{font-size:12px;padding:12px 8px}.wordmark-caption{font-size:7px;letter-spacing:.8px}
 .hero-shade{background:linear-gradient(180deg,#111812 12%,#111812f0 28%,#111812b0 52%,#11181222 80%,#111812cc 100%)}
 .hero-content>.eyebrow{font-size:9px;letter-spacing:.7px}.hero-description{font-size:14px;max-width:390px}
 .hero-image-label{font-size:7px;max-width:175px}.hero-bottom>div{font-size:9px}
 .hero-buttons>.text-link{font-size:11px}.header-actions>.button{font-size:11px}
 .heading-row>p,.class-copy>p:last-child,.team-card>p:last-child,.why-item>p,.bkf-copy>p:not(.eyebrow),.faq-item>p,.info-card>p,.process-grid p{font-size:14px}
 .class-copy>.eyebrow,.team-card>.eyebrow{font-size:10px;letter-spacing:.7px}
 .footer-grid>div>p,.footer-links,.footer-mail,.social-links{font-size:12px}
 .footer-bottom{font-size:10px}.page-hero-description{font-size:14px}
 .location-details{padding:32px 27px}.location-poster{min-height:440px}
 .location-actions>.button{font-size:10px}
 .contact-form>.fine-print{font-size:11px}
}
@media(max-width:560px){
 .location-map-poster>.eyebrow{font-size:9px}
 .map-area-label{left:27px;top:54px;font-size:7px}
 .map-attribution{font-size:8px;right:12px;bottom:11px;padding:3px 6px}
 .header-inner{height:88px}
 .main-navigation{top:87px;max-height:calc(100svh - 88px)}
 .brand-logo{width:122px}
 .footer-brand .brand-logo{width:190px}
 .header-actions>.button{font-size:10px;padding:11px 13px;gap:9px}
 .wordmark-caption{font-size:6px;letter-spacing:.65px}
 .hero{height:850px}.hero-content>.eyebrow{font-size:8px;letter-spacing:.55px}
 .hero-description{font-size:14px;max-width:325px}.hero-buttons>.text-link{font-size:11px}
 .hero-shade{background:linear-gradient(180deg,#111812 15%,#111812f5 30%,#111812c9 53%,#11181220 77%,#111812cc 100%)}
 .hero-bottom>div{font-size:8px;gap:15px}.hero-image-label{font-size:6px;max-width:150px}
 .eyebrow{font-size:9px;letter-spacing:1px}.class-copy>.eyebrow,.team-card>.eyebrow{font-size:10px}
 .class-copy>h3{font-size:29px}.location-poster{min-height:270px}
 .location-details{padding:31px 27px 33px}.location-poster>.eyebrow,.location-details>.eyebrow{font-size:10px}
 .hours-row{font-size:13px}.location-actions>.button{font-size:11px}
 .why-item>p{font-size:14px}.why-title>p:not(.eyebrow){font-size:14px}
 .cta-bottom .button{font-size:11px}.cta-bottom>p{font-size:14px}
 .footer-links{font-size:12px}.footer-phone{font-size:24px}.footer-mail{font-size:13px}
 .footer-bottom{font-size:9px;gap:16px}.footer-bottom>div{flex-wrap:wrap}
 .floating-contact{font-size:10px}.page-hero-description{font-size:14px}
 .page-hero .eyebrow,.breadcrumb{font-size:10px}.info-card>p,.module-banner p:not(.eyebrow),.feature-info article>p:not(.eyebrow),.vehicle-item>div>p:not(.eyebrow),.contact-info>p:not(.eyebrow){font-size:14px}
 .price-table>div{font-size:13px}.price-sheet .eyebrow,.price-sheet>div>a{font-size:9px}
 .contact-form label{font-size:13px}.contact-form>.eyebrow{font-size:9px}
 .contact-form-actions{display:grid;grid-template-columns:1fr}.contact-form-actions>.button{font-size:12px}
 .inline-note{font-size:12px}.dialog-inner>.eyebrow{font-size:9px}.dialog-description{font-size:14px}
 .finder-options b{font-size:16px}.finder-options span{font-size:12px}
 .finder-result-card p{font-size:14px}.finder-result-card>.eyebrow{font-size:9px}
}
@media(max-width:370px){.brand-logo{width:111px}.header-actions>.button{font-size:9px;padding:10px}.wordmark-caption{font-size:5.5px}.hero-content>.eyebrow{font-size:7px}.hero-bottom>div{font-size:7px}.hero-image-label{font-size:6px;max-width:125px}}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*:before,*:after{animation:none!important;transition:none!important}
 .js .reveal{opacity:1;transform:none}
 .class-card:hover,.class-card:focus-visible,.info-card:hover,.team-card:hover,.location-tabs>button:hover,.finder-options>button:hover,.floating-contact:hover,.brand:hover .brand-logo{transform:none}
 .location-panel:hover .location-map-image,.location-panel:hover .map-markers{transform:none}
 .scroll-progress{display:none}
}
