@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=Barlow:wght@400;500;600;700&display=swap');
:root{--red:#f42c3d;--red-fill:#dd1527;--green:#69bb47;--bg:#0b0d0e;--panel:#131618;--ink:#f6f5f1;--muted:#afb5b7;--line:#303537;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Barlow,Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid var(--green);outline-offset:5px}img{display:block;max-width:100%}button{color:inherit}button:disabled{cursor:default}.skip{position:absolute;top:-100px;z-index:100;background:#fff;color:#000;padding:10px}.skip:focus{top:0}.red{color:var(--red)}.green{color:var(--green)}.utility{display:flex;justify-content:space-between;align-items:center;padding:9px 4%;background:#171a1c;font-size:10px;letter-spacing:1.8px;gap:12px}.utility button,.footer-bottom button{border:0;background:none;letter-spacing:inherit;font-size:inherit;padding:0}.dot{color:var(--green);padding:0 10px}.brand-row{display:flex;align-items:center;gap:32px;margin:0 4%;padding:25px 0;border-bottom:1px solid var(--line)}.logo{width:230px;height:auto}.location-mark{border-left:1px solid var(--line);padding-left:30px;line-height:1.2}.location-mark>span{font-size:9px;letter-spacing:2px;color:var(--muted)}.location-mark strong{display:block;font-family:'Barlow Condensed',Impact,sans-serif;font-size:33px;letter-spacing:1px;font-weight:700}.header-call{margin-left:auto}.button{display:inline-flex;align-items:center;justify-content:center;gap:32px;min-height:49px;padding:13px 24px;border:1px solid #707678;font-size:12px;font-weight:700;letter-spacing:1.5px;line-height:1.4;text-transform:uppercase}.primary{background:var(--red-fill);border-color:var(--red-fill);color:#fff}.button:hover{background:#fff;color:#121416;border-color:#fff}.button span{font-size:20px}nav{display:flex;gap:34px;margin:0 4%;min-height:58px;align-items:stretch;flex-wrap:wrap}nav a{display:flex;align-items:center;font-size:12px;letter-spacing:1.2px;text-transform:uppercase;font-weight:600;padding:14px 0;border-bottom:3px solid transparent}nav a[aria-current=page]{border-color:var(--red);color:#fff}nav a:hover{color:var(--green)}h1,h2,h3{font-family:'Barlow Condensed',Impact,'Arial Narrow',sans-serif;text-transform:uppercase;line-height:.97;font-weight:700;margin:0;letter-spacing:-.7px}h1{font-size:clamp(54px,6.7vw,105px)}h2{font-size:clamp(39px,4.6vw,67px)}h3{font-size:31px;letter-spacing:0}p{margin:20px 0;color:#c2c6c7;max-width:660px}.eyebrow{color:var(--green);font-size:11px;letter-spacing:3px;font-weight:600;text-transform:uppercase;margin:0 0 20px;max-width:none}.hero{position:relative;isolation:isolate;min-height:590px;display:flex;align-items:center;padding:65px 7%;overflow:hidden;background:#0a0c0d}.hero:before{content:'';position:absolute;inset:0;z-index:-2;background:url('/assets/mazda-hero-1659.webp') center right/cover no-repeat}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(6,9,10,.97) 0%,rgba(6,9,10,.9) 23%,rgba(6,9,10,.53) 49%,rgba(6,9,10,.04) 78%),linear-gradient(0deg,#0b0d0e 0%,transparent 26%)}.hero h1{max-width:700px}.hero p:not(.eyebrow){font-size:17px;max-width:425px}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.hero .corner{position:absolute;right:0;top:0;border-top:4px solid var(--red);width:85px;transform:rotate(-50deg);transform-origin:right}.hero-label{position:absolute;right:5%;bottom:32px;font-size:10px;letter-spacing:2px;color:#d4d9db}.ribbon{display:flex;justify-content:center;gap:0;border-block:1px solid var(--line);padding:21px 4%;font-size:12px;font-weight:600;letter-spacing:1.8px;text-align:center}.ribbon span{padding:0 35px}.ribbon span+span{border-left:1px solid var(--line)}.ribbon span:before{content:'↗';color:var(--red);margin-right:14px;font-size:16px}.section{padding:80px 7%}.section.alt{background:var(--panel)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.two-col>div{min-width:0}.photo-frame{position:relative}.photo-frame:after{content:'';position:absolute;right:-12px;bottom:-12px;width:90px;height:90px;border-right:3px solid var(--red);border-bottom:3px solid var(--red);pointer-events:none}.photo-frame img{width:100%;height:340px;object-fit:cover}.link-arrow{display:inline-block;padding:8px 0;color:#fff;border-bottom:1px solid var(--red);font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase}.teasers{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:40px}.teaser{border-top:1px solid var(--line);padding-top:25px}.teaser .num{color:var(--red);font-family:'Barlow Condensed',Impact,sans-serif;font-size:23px}.teaser h3{margin-top:14px}.teaser p{font-size:14px;max-width:350px}.cta{display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--red-fill);padding:46px 7%}.cta h2{font-size:clamp(32px,4vw,55px);max-width:650px}.cta .button{border-color:#fff;flex-shrink:0}.cta p{color:#fff;margin:12px 0 0}.page-head{padding:60px 7% 50px;border-top:1px solid var(--line);background:linear-gradient(110deg,#1e2427,#0b0d0e 70%);position:relative;overflow:hidden}.page-head:after{content:'';position:absolute;right:8%;top:0;width:4px;height:180px;background:var(--red);transform:skew(-35deg);opacity:.55}.page-head h1{font-size:clamp(52px,6vw,87px)}.page-head p:not(.eyebrow){max-width:600px;margin-bottom:0}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin-top:45px}.principles>div{border-top:2px solid var(--red);padding-top:22px}.principles p{font-size:15px}.quote{border-left:3px solid var(--green);padding-left:27px;font-size:23px;line-height:1.5;color:#fff;margin:35px 0}.process-list{max-width:1000px;margin:auto;counter-reset:process}.process-step{display:grid;grid-template-columns:70px 1fr;gap:28px;padding:29px 0;border-bottom:1px solid var(--line)}.step-number{font-family:'Barlow Condensed',Impact,sans-serif;font-size:53px;line-height:1;color:var(--red)}.process-step p{margin:14px 0 0;max-width:740px}.team-wide{width:100%;margin-bottom:55px}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px 28px}.person img{width:100%;height:330px;object-fit:cover;object-position:50% 25%;filter:saturate(.8)}.person h3{margin-top:23px}.person .role{color:var(--green);font-size:11px;letter-spacing:1.7px;text-transform:uppercase;margin:10px 0}.person p{font-size:14px;margin:12px 0}.contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:8%}.contact-grid h3{font-size:30px}.contact-primary{display:block;font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(38px,5vw,60px);line-height:1.2;margin:19px 0}.contact-block{padding-bottom:28px;margin-bottom:28px;border-bottom:1px solid var(--line)}.hours{width:100%;border-collapse:collapse;margin:20px 0;font-size:15px}.hours td{padding:10px 0;border-bottom:1px solid var(--line)}.hours td:last-child{text-align:right;color:#d3d7d8}.notice{border-left:3px solid var(--green);padding:6px 0 6px 24px;margin-top:35px}.notice h3{font-size:25px}.notice p{font-size:14px}.review-feature{max-width:800px;padding:30px 0}.review-feature h2{max-width:660px}.review-feature p{font-size:18px}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:32px 0}.comparison figure{margin:0}.comparison img{height:340px;object-fit:cover;width:100%}.comparison figcaption{font-size:12px;letter-spacing:2px;text-transform:uppercase;margin-top:11px;color:var(--muted)}.comparison :is(button,a[data-photo]){padding:0;border:0;background:none;width:100%;display:block}.comparison :is(button,a[data-photo]):hover img{filter:brightness(1.1)}.gallery-note{font-size:13px;color:var(--muted)}.tabs-mini{display:flex;gap:10px;flex-wrap:wrap;margin-top:35px}.tabs-mini button{background:none;border:1px solid var(--line);padding:10px 20px;font-size:12px;letter-spacing:1px;text-transform:uppercase}.tabs-mini button[aria-pressed=true]{background:var(--red-fill);border-color:var(--red-fill);color:#fff}footer{padding:55px 4% 20px;border-top:1px solid var(--line);background:#080a0b}.footer-top{display:grid;grid-template-columns:1.1fr 1fr 1.3fr 1.15fr;gap:30px}.footer-top .logo{max-width:190px}.footer-top strong{font-size:10px;letter-spacing:1.5px}.footer-top p,.footer-top a:not(:has(img)){font-size:12px;line-height:1.9}.footer-top p{margin:15px 0}.footer-top a:hover{color:var(--green)}.footer-bottom{display:flex;justify-content:space-between;gap:15px;padding-top:25px;margin-top:35px;border-top:1px solid var(--line);color:var(--muted);font-size:10px;letter-spacing:1px}dialog{background:#121719;color:var(--ink);border:1px solid var(--line);max-width:min(850px,92vw);padding:45px;max-height:90vh}dialog::backdrop{background:#000c;backdrop-filter:blur(5px)}.close{position:absolute;right:13px;top:8px;background:none;border:0;font-size:30px;line-height:1;padding:8px}.location-options{display:grid;grid-template-columns:1fr 1fr;margin-top:35px;gap:20px}.location-option{display:flex;flex-direction:column;padding:25px;border:1px solid var(--line);gap:10px}.location-option:hover{border-color:var(--red)}.location-option>span{font-size:10px;color:var(--green);letter-spacing:2px}.location-option strong{font-family:'Barlow Condensed',Impact,sans-serif;font-size:34px}.location-option b{font-size:12px;color:var(--red);margin-top:15px}.location-option small{color:var(--muted)}#lightbox{padding:40px 20px 10px;max-width:95vw}#lightbox img{max-height:72vh;margin:auto;object-fit:contain}#lightbox p{margin:10px 0;font-size:13px}main:focus{outline:none}.page-intro{max-width:730px}.source-link{font-size:12px;color:var(--muted);text-decoration:underline}.small-note{font-size:13px;color:var(--muted)}
@media(min-width:1600px){header,.utility,main,footer{max-width:2000px;margin-inline:auto}.hero{min-height:690px}}
@media(max-width:1000px){nav{gap:22px}.header-call{display:none}.hero{min-height:560px}.hero h1{font-size:76px}.footer-top{grid-template-columns:1fr 1fr;gap:35px}.ribbon span{padding:0 18px}.team-grid{grid-template-columns:repeat(2,1fr)}.hero:after{background:linear-gradient(90deg,#06090af2,#06090aa8 50%,#06090a20),linear-gradient(0deg,#0b0d0e,transparent 30%)}}
@media(max-width:640px){.utility{font-size:8px;letter-spacing:.8px;padding:8px 5%}.utility>span{display:none}.brand-row{padding:20px 0;gap:20px;margin-inline:5%}.logo{width:175px}.location-mark{padding-left:18px}.location-mark>span{display:none}.location-mark strong{font-size:26px}nav{margin-inline:5%;gap:0;justify-content:space-between}nav a{font-size:10px;letter-spacing:.3px;padding:10px 8px;min-height:44px}.hero{padding:55px 6% 75px;min-height:640px;align-items:flex-start}.hero h1{font-size:65px;max-width:450px}.hero:before{background-position:65% bottom;background-size:auto 70%;background-repeat:no-repeat}.hero:after{background:linear-gradient(180deg,#080b0df5 0%,#080b0dcc 30%,#080b0d38 65%,#0b0d0e 100%)}.hero .eyebrow{font-size:9px;letter-spacing:2px}.hero p:not(.eyebrow){font-size:15px;max-width:310px}.hero .actions{margin-top:22px;gap:9px}.button{font-size:10px;padding:12px 16px;gap:16px}.hero-label{bottom:18px;font-size:8px}.ribbon{flex-direction:column;gap:12px;font-size:10px}.ribbon span+span{border:0}.section{padding:50px 6%}.two-col,.contact-grid{grid-template-columns:1fr;gap:38px}.two-col .photo-frame{order:2}.photo-frame img{height:260px}.teasers,.principles{grid-template-columns:1fr;gap:20px}.teaser p{max-width:none}.cta{padding:35px 6%;display:block}.cta .button{margin-top:24px}.page-head{padding:45px 6%}.page-head:after{right:2%;opacity:.2}.team-grid{gap:30px 18px}.person img{height:225px}.person h3{font-size:25px}.person p{font-size:13px}.process-step{grid-template-columns:45px 1fr;gap:16px}.step-number{font-size:40px}.process-step h3{font-size:28px}.process-step p{font-size:14px}.comparison{gap:10px}.comparison img{height:210px}.footer-top{grid-template-columns:1fr;gap:20px}.footer-bottom{flex-wrap:wrap;font-size:9px}.location-options{grid-template-columns:1fr}dialog{padding:35px 22px}.review-feature p{font-size:16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
@media(max-width:640px){nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}nav a{justify-content:center;text-align:center;font-size:9px;padding:10px 3px}}

.hero h1{font-size:clamp(52px,5.6vw,84px);max-width:780px}.cta h2{font-size:clamp(32px,3.7vw,52px)}@media(max-width:640px){.hero h1{font-size:49px}.utility{flex-wrap:wrap}.utility>span{display:block;flex-basis:100%;text-align:center;font-size:8px;letter-spacing:.8px;padding:3px 0}}

.photo-frame img.mission-photo{height:auto;aspect-ratio:3/2;object-fit:contain}
.photo-frame img.mission-photo{aspect-ratio:auto;height:auto}

.person img[src$="mindy-callahan.jpg"],.person img[alt="Mindy Callahan"]{object-position:50% 40%}

.person img[alt="Terence Caldwell"]{object-position:31% 35%}

.person img[alt="Mason McClure"]{object-position:50% 15%}

.photo-frame img.facility-photo{height:auto;max-height:650px;object-fit:contain}.facility-section h2{font-size:clamp(36px,3.6vw,54px)}@media(max-width:640px){.facility-section .photo-frame{order:0}.photo-frame img.facility-photo{max-height:none}}

.photo-frame img.reviews-crew-photo{height:auto;object-fit:contain}

.transformation-photos{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:45px;align-items:start}.transformation-photos figure{margin:0}.transformation-photos :is(button,a[data-photo]){padding:0;border:0;background:none;display:block;width:100%}.transformation-photos img{width:100%;height:auto}.transformation-photos figcaption{padding:22px 0;border-bottom:1px solid var(--line)}.transformation-photos figcaption>span{color:var(--green);font-size:11px;letter-spacing:3px}.transformation-photos h3{margin-top:14px}.transformation-photos figcaption p{font-size:14px;margin:12px 0}.transformation-photos :is(button,a[data-photo]):hover{filter:brightness(1.05)}@media(max-width:640px){.transformation-photos{grid-template-columns:1fr;gap:30px}nav a[href="#charlotte-transformation"]{font-size:8px;line-height:1.3}}

.history-crew-grid{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:40px 30px;margin-top:40px}.history-crew-grid figure{margin:0}.history-crew-grid :is(button,a[data-photo]){display:block;width:100%;padding:0;border:0;background:none}.history-crew-grid img{width:100%;height:auto}.history-crew-grid figcaption{padding:20px 0;border-bottom:1px solid var(--line)}.history-crew-grid figcaption span{font-size:11px;letter-spacing:2px;color:var(--green)}.history-crew-grid h3{margin-top:12px;font-size:30px}.history-crew-grid :is(button,a[data-photo]):hover{filter:brightness(1.05)}@media(max-width:640px){.history-crew-grid{grid-template-columns:1fr}}

.footer-social{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:25px;margin-top:30px}.footer-social>span{font-size:10px;letter-spacing:2px;color:var(--muted)}.social-links{display:flex;gap:12px;flex-wrap:wrap}.social-links a{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:10px 15px;border:1px solid var(--line);font-size:12px;letter-spacing:.5px;color:var(--ink);transition:background .15s,border-color .15s}.social-links svg{width:20px;height:20px;flex-shrink:0}.social-links a:hover{background:var(--red-fill);border-color:var(--red-fill);color:#fff}.footer-social+.footer-bottom{margin-top:25px}@media(max-width:640px){.footer-social{align-items:flex-start;flex-direction:column}.social-links a{padding:10px 13px}}

.person img[alt="Dennice Castillo"]{object-position:50% 32%}

.person img[alt="Heidi McClure"]{object-position:50% 15%}

.after-hours-notice{display:grid;grid-template-columns:minmax(0,1fr) 150px;align-items:start;gap:22px}.after-hours-notice img{width:150px;height:auto}.after-hours-notice p{margin-bottom:0}@media(max-width:1100px) and (min-width:641px){.after-hours-notice{grid-template-columns:1fr}.after-hours-notice img{width:170px}}@media(max-width:420px){.after-hours-notice{grid-template-columns:1fr}.after-hours-notice img{width:180px}}

/* Staging accessibility and responsive refinements; retain the supplied visual design. */
.logo{aspect-ratio:330/99}
.team-wide{height:auto;aspect-ratio:4300/2610}
.photo-frame img.mission-photo{aspect-ratio:4300/2610}
.photo-frame img.facility-photo{aspect-ratio:3/4}
.photo-frame img.reviews-crew-photo{aspect-ratio:2400/1235}
.tabs-mini button,.close{min-height:44px;min-width:44px}
.link-arrow{min-height:44px}
.person,.contact-grid>div{min-width:0}
.contact-block>a[href^="mailto:"]{overflow-wrap:anywhere}
.comparison :is(button,a[data-photo]),.transformation-photos :is(button,a[data-photo]),.history-crew-grid :is(button,a[data-photo]){line-height:0}
@media(max-width:640px){
  .utility{font-size:10px;gap:4px 10px;letter-spacing:.4px}
  .utility>span{font-size:9px;letter-spacing:.6px}
  .utility>button,.utility>a{display:inline-flex;align-items:center;min-height:44px}
  nav{grid-template-columns:repeat(3,minmax(0,1fr))}
  nav a,nav a[href$="/charlotte-transformation/"],nav a[href="#charlotte-transformation"]{min-height:50px;font-size:12px;line-height:1.35;letter-spacing:.25px;padding:10px 5px;justify-content:center;text-align:center}
  .hero:before{background-image:url('/assets/mazda-hero-960.webp')}
  .footer-bottom{font-size:11px;align-items:center}
  .footer-bottom button{min-height:44px}
  .person .role{font-size:12px;line-height:1.5}
}
@media(max-width:480px){
  .team-grid{grid-template-columns:minmax(0,1fr);gap:38px}
  .person img{height:clamp(280px,90vw,430px)}
  .person h3{font-size:30px}
  .person p{font-size:15px;line-height:1.65}
  .comparison{grid-template-columns:minmax(0,1fr);gap:24px}
  .comparison img{height:auto;max-height:440px;object-fit:contain;background:#101315}
}
@media(max-width:380px){
  .brand-row{gap:12px}
  .brand-row .logo{width:44vw;max-width:160px}
  .location-mark{padding-left:12px}
  .location-mark strong{font-size:23px}
  nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero h1{font-size:44px}
  .button{letter-spacing:1px}
}

/* Customer reviews use the verified shop listing until its real embed is supplied. */
.reviews-spotlight{padding-block:60px;background:var(--panel);border-bottom:1px solid var(--line)}
.reviews-spotlight-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:7%;align-items:center}
.reviews-spotlight h2{font-size:clamp(38px,3.6vw,58px)}
.reviews-spotlight p:not(.eyebrow){max-width:520px}
.reviews-spotlight-actions{display:flex;flex-direction:column;align-items:flex-start;gap:14px;min-width:0;border-left:1px solid var(--line);padding-left:32px}
.reviews-location-label{font-size:10px;font-weight:600;letter-spacing:1.6px;color:var(--green)}
.reviews-spotlight-actions .button{max-width:100%;text-align:center}
.reviews-spotlight-actions .link-arrow{display:inline-flex;align-items:center}
.reviews-link-note,.review-feature .reviews-link-note{font-size:13px;line-height:1.5;color:var(--muted);margin:0;max-width:520px}
.reviews-page-actions+.reviews-link-note{margin-top:16px}
.review-widget{width:100%;min-width:0}
.reviews-spotlight>.review-widget{margin-top:40px}
.review-widget iframe{display:block;width:100%;max-width:100%;border:0}
.reviews-widget-section{padding-top:0}
@media(max-width:760px){
  .reviews-spotlight-grid{grid-template-columns:minmax(0,1fr);gap:24px}
  .reviews-spotlight-actions{border-left:0;border-top:1px solid var(--line);padding:26px 0 0}
}
@media(max-width:640px){
  .reviews-spotlight{padding-block:45px}
  .reviews-spotlight-actions .button,.reviews-page-actions .button{width:100%;font-size:11px}
  .reviews-location-label{font-size:10px;line-height:1.5}
}

/* Shared McClure portfolio: keep every repair photo fully visible. */
.gallery-portfolio .gallery-comparison{gap:36px 20px;align-items:start}
.gallery-comparison figure{min-width:0;padding-bottom:15px;border-bottom:1px solid var(--line)}
.gallery-comparison img{height:clamp(240px,31vw,440px);object-fit:contain;background:#101315}
.gallery-comparison figcaption{display:flex;justify-content:space-between;gap:14px;margin-top:14px}
.gallery-comparison .gallery-photo-id{color:var(--green)}
.gallery-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 24px;margin-top:35px;align-items:start}
.gallery-project-grid figure{margin:0;min-width:0}
.gallery-project-grid a[data-photo]{display:block;line-height:0;background:#101315}
.gallery-project-grid img{width:100%;height:auto;aspect-ratio:3/4;object-fit:contain}
.gallery-project-grid a[data-photo]:hover img{filter:brightness(1.05)}
.gallery-project-grid figcaption{margin-top:14px;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}
@media(max-width:900px){
  .gallery-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:480px){
  .gallery-portfolio .gallery-comparison{gap:28px}
  .gallery-comparison img{height:auto;max-height:440px}
  .gallery-project-grid{grid-template-columns:minmax(0,1fr);gap:30px}
  .gallery-project-grid img{max-height:480px}
}

/* Keep each location's authentic photographs and logo proportions. */
body[data-location="indian-land"] .logo{aspect-ratio:330/143}
.indian-land-team-photo{height:auto!important;aspect-ratio:640/607!important;object-fit:contain!important}
body[data-location="indian-land"] .photo-frame img.facility-photo{aspect-ratio:3/2;max-height:none}
.hero.hero-indian-land:before{background-image:url('/assets/indian-land-transformation-13-1600.webp');background-position:center}
.photo-frame img.reviews-crew-photo{aspect-ratio:auto}
.footer-locations{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:20px 0 0;font-size:12px;max-width:none}
.footer-locations a{display:inline-flex;align-items:center;min-height:44px;color:var(--muted)}
.footer-locations a:hover{color:var(--green)}
.footer-top a[href^="mailto:"]{overflow-wrap:anywhere}
.location-mark{min-width:0}
@media(max-width:640px){
  .hero.hero-indian-land:before{background-image:url('/assets/indian-land-transformation-13-960.webp');background-size:auto 70%;background-position:62% bottom}
  body[data-location="shared"] .location-mark strong{font-size:24px;line-height:1.05}
  body[data-location="indian-land"] .location-mark strong{line-height:1.05}
  .footer-locations{gap:7px;font-size:13px}
}

/* Combined pages: use the recovered palette and typography without changing local pages. */
.shared-home-hero {
  position: relative;
  overflow: hidden;
  padding: 80px 7% 72px;
  border-top: 1px solid var(--line);
  background: linear-gradient(115deg, #20272a, #0b0d0e 70%);
}
.shared-home-hero::after {
  content: '';
  position: absolute;
  right: 7%;
  top: -90px;
  width: 90px;
  height: 550px;
  border-inline: 2px solid var(--red);
  transform: rotate(28deg);
  opacity: .16;
  pointer-events: none;
}
.shared-home-hero > * { position: relative; z-index: 1; }
.shared-home-hero h1 { max-width: 1100px; font-size: clamp(52px, 6.8vw, 103px); }
.shared-home-hero > p:not(.eyebrow) { max-width: 650px; font-size: 19px; }
.shared-section-intro { margin-bottom: 36px; }
.shared-section-intro > p:last-child { margin-bottom: 0; }
.shared-home-locations { padding-top: 56px; }
.shared-location-grid, .shared-contact-grid, .shared-review-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 30px;
}
.shared-location-card { min-width: 0; border: 1px solid var(--line); background: var(--panel); }
.shared-location-photo { display: block; overflow: hidden; background: #20272a; }
.shared-location-photo img { width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; }
.shared-location-card[data-shared-location="charlotte"] .shared-location-photo img { object-position: 50% 43%; }
.shared-location-body { padding: 28px; }
.shared-location-body .eyebrow, .shared-contact-card .eyebrow, .shared-review-card .eyebrow { margin-bottom: 12px; }
.shared-location-body h3, .shared-contact-card h3, .shared-review-card h3 { font-size: clamp(38px, 3.7vw, 56px); }
.shared-location-body address, .shared-contact-card address { margin-top: 19px; font-style: normal; line-height: 1.65; color: #d2d6d7; }
.shared-location-phone { display: block; width: fit-content; padding-block: 7px; margin-top: 10px; font-family: 'Barlow Condensed', Impact, sans-serif; font-size: clamp(28px, 3vw, 39px); line-height: 1.2; }
.shared-location-phone span { color: var(--red); }
.shared-email { display: inline-block; min-height: 44px; padding-block: 8px; overflow-wrap: anywhere; }
.shared-email:hover, .shared-location-phone:hover, .shared-location-body h3 a:hover { color: var(--green); }
.shared-location-body .actions { gap: 14px 22px; align-items: center; }
.shared-location-body .button, .shared-contact-card .button, .shared-review-card .button { max-width: 100%; gap: 18px; text-align: center; }
.shared-map-link { margin-top: 16px; }
.shared-hours { margin-top: 25px; font-size: 14px; }
.shared-hours caption { text-align: left; text-transform: uppercase; color: var(--green); font-size: 11px; letter-spacing: 1.4px; font-weight: 600; padding-bottom: 8px; }
.shared-hours th { text-align: left; font-weight: 400; padding: 10px 10px 10px 0; border-bottom: 1px solid var(--line); }
.shared-hours td { white-space: nowrap; }
.shared-contact-card { min-width: 0; padding: 30px; border-top: 3px solid var(--red); background: var(--panel); }
.shared-contact-card address { margin-top: 12px; }
.shared-contact-card .actions { margin-top: 24px; align-items: center; gap: 12px 20px; }
.shared-review-grid { align-items: start; }
.shared-review-card { min-width: 0; padding: 30px; border: 1px solid var(--line); border-top: 3px solid var(--green); background: var(--bg); }
.shared-review-card .shared-review-address { color: var(--muted); font-size: 14px; margin-top: 18px; }
.shared-review-card > .button { display: flex; width: fit-content; margin-top: 26px; }
.shared-review-card > .link-arrow { display: table; margin-top: 14px; }
.shared-review-card > .reviews-link-note { margin-top: 18px; }
.shared-review-card .review-widget { margin-top: 25px; }
.shared-mission-section { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 8%; align-items: center; }
.shared-mission-section > div { min-width: 0; }
.shared-mission-section > div:last-child > p:first-child { margin-top: 0; }
.shared-mission-section .actions { gap: 16px 28px; }
.shared-cta-actions { display: flex; flex-direction: column; gap: 12px; flex-shrink: 0; }
.shared-cta-actions .button { margin: 0; }
.shared-inquiry-action, .shared-service-next { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 7%; align-items: center; }
.shared-inquiry-action > div, .shared-service-next > div { min-width: 0; }
.shared-inquiry-action .notice { margin: 0; }
.shared-inquiry-action .small-note { margin-bottom: 0; }
.shared-process-list { list-style: none; padding: 0; }
.shared-process-list .process-step h2 { font-size: clamp(29px, 3.2vw, 42px); }
.shared-services-list { padding-top: 35px; }
.shared-service-row { display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 30px; padding-block: 40px; border-bottom: 1px solid var(--line); }
.shared-service-row h2 { font-size: clamp(38px, 4.5vw, 60px); }
.shared-service-row p { max-width: 760px; }
.shared-service-row .shared-service-summary { color: var(--ink); font-size: 20px; }
.shared-service-row p:last-child { margin-bottom: 0; }
.shared-service-next > .actions { margin-top: 0; }

@media (max-width: 1000px) {
  .shared-location-grid, .shared-contact-grid, .shared-review-grid { gap: 20px; }
  .shared-location-body, .shared-contact-card, .shared-review-card { padding: 24px; }
  .shared-location-body .button, .shared-contact-card .button, .shared-review-card .button { font-size: 11px; padding-inline: 17px; }
  .shared-cta { align-items: flex-start; flex-direction: column; }
  .shared-cta-actions { flex-direction: row; flex-wrap: wrap; }
}

@media (max-width: 760px) {
  .shared-location-grid, .shared-contact-grid, .shared-review-grid { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .shared-mission-section, .shared-inquiry-action, .shared-service-next { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .shared-home-hero { padding: 55px 6% 50px; }
  .shared-home-hero h1 { font-size: clamp(45px, 8.5vw, 65px); }
  .shared-home-hero > p:not(.eyebrow) { font-size: 17px; }
  .shared-location-body h3, .shared-contact-card h3, .shared-review-card h3 { font-size: 46px; }
  .shared-location-phone { font-size: 35px; }
  .shared-service-row { grid-template-columns: 46px minmax(0, 1fr); gap: 18px; padding-block: 30px; }
  .shared-service-row .step-number { font-size: 41px; }
}

@media (max-width: 640px) {
  .shared-section-intro { margin-bottom: 28px; }
  .shared-home-locations { padding-top: 38px; }
  .shared-home-hero .actions { align-items: stretch; gap: 12px; }
  .shared-home-hero .button { flex: 1 1 210px; }
  .shared-location-body .button, .shared-contact-card .button, .shared-review-card .button { font-size: 11px; }
  .shared-review-card > .button { width: 100%; }
  .shared-cta-actions { margin-top: 24px; }
  .shared-cta .shared-cta-actions .button { margin-top: 0; }
  .shared-inquiry-action .button { width: 100%; }
  .shared-service-summary { font-size: 18px; }
}

@media (max-width: 380px) {
  .shared-location-body, .shared-contact-card, .shared-review-card { padding: 20px; }
  .shared-location-body h3, .shared-contact-card h3, .shared-review-card h3 { font-size: 39px; }
  .shared-hours { font-size: 13px; }
  .shared-hours th { padding-right: 6px; }
  .shared-cta-actions { flex-direction: column; width: 100%; }
}

/* Indian Land location */
.indian-land .hero:before{background-image:url('/assets/indian-4runner-hero-1659.webp')}
.indian-land .photo-frame img.mission-photo,.indian-land .team-wide{object-fit:contain;height:auto;aspect-ratio:auto}
.indian-land .person img{object-position:center 30%}
.indian-land .logo{background:#101315;border-radius:3px;padding:8px}
.indian-land .facility-photo{object-fit:cover}

/* Paired repair portfolio */
.gallery-heading{display:flex;justify-content:space-between;gap:40px;align-items:end}.gallery-heading>p{max-width:380px}.repair-filters{display:flex;flex-wrap:wrap;gap:9px;margin-top:35px}.repair-filters button{border:1px solid var(--line);background:transparent;padding:11px 22px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;min-height:44px}.repair-filters button[aria-pressed=true]{background:var(--red-fill);border-color:var(--red-fill);color:#fff}.repair-filters button:hover{border-color:var(--green)}.repair-count{font-size:12px;color:var(--muted);margin:14px 0 28px}.repair-stories{display:grid;grid-template-columns:1fr 1fr;gap:28px}.repair-story{background:#14191b;border:1px solid #303638;overflow:hidden}.repair-story[hidden]{display:none}.repair-story-head{display:flex;align-items:center;justify-content:space-between;padding:25px 26px}.repair-story-head .eyebrow{font-size:9px;letter-spacing:2px;margin:0 0 10px}.repair-story-head h3{font-size:38px}.repair-arrow{font-size:38px;color:var(--red)}.repair-pair{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:#404749}.repair-pair figure{margin:0;min-width:0}.repair-pair :is(button,a[data-photo]){position:relative;display:block;width:100%;padding:0;border:0;background:#090c0d}.repair-pair img{width:100%;height:300px;object-fit:contain;background:#090c0d}.repair-pair :is(button,a[data-photo]):hover img{filter:brightness(1.1)}.repair-badge{position:absolute;top:15px;left:15px;padding:5px 12px;font-size:10px;font-weight:700;letter-spacing:2px;background:#111d;color:#fff;border-left:3px solid var(--red)}.repair-badge.after{background:#24592a;color:#fff;border-color:#9bd36a}.repair-story-foot{display:flex;justify-content:space-between;padding:15px 25px;font-size:9px;letter-spacing:2px;font-weight:700}.repair-story-foot span:last-child{color:var(--green)}@media(max-width:800px){.gallery-heading{display:block}.repair-stories{grid-template-columns:1fr}}@media(max-width:480px){.repair-pair img,.repair-story-head{padding:20px}.repair-story-head h3{font-size:32px}.repair-filters button{padding:10px 16px}.repair-badge{top:10px;left:8px;padding:4px 8px;font-size:9px}.repair-story-foot{padding:13px;font-size:8px;letter-spacing:1px}}

/* Indian Land transformation chapters */
.journey-nav{display:flex;flex-wrap:wrap;gap:10px;padding:24px 7%;border-bottom:1px solid var(--line);background:#131719}.journey-nav :is(button,a){background:transparent;border:1px solid #41484b;padding:13px 17px;min-height:44px;font-size:11px;font-weight:700;letter-spacing:1px}.journey-nav :is(button,a):hover{border-color:var(--red);background:#211517}.journey-chapter{scroll-margin-top:20px;border-bottom:1px solid var(--line)}.journey-chapter:nth-of-type(even){background:#101416}.journey-heading{display:flex;gap:28px;align-items:start;margin-bottom:35px}.journey-number{font-family:'Barlow Condensed',Impact,sans-serif;font-size:90px;line-height:1;color:#343d40;border-top:4px solid var(--red);padding-top:10px}.journey-heading .eyebrow{margin:0 0 15px}.journey-heading h2{font-size:clamp(36px,4.5vw,64px)}.journey-heading p{margin-bottom:0}.journey-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.journey-photo{margin:0;background:#171c1e;border:1px solid #30383b;min-width:0}.journey-photo :is(button,a[data-photo]){display:block;width:100%;border:0;padding:0;background:#080b0c}.journey-photo img{height:360px;width:100%;object-fit:contain}.journey-photo :is(button,a[data-photo]):hover img{filter:brightness(1.08)}.journey-photo figcaption{padding:20px 22px}.journey-photo figcaption span{font-size:9px;letter-spacing:2px;color:var(--green);font-weight:700}.journey-photo h3{font-size:27px;margin-top:10px}.journey-wide{grid-column:1/-1}.journey-wide img{height:460px;object-fit:contain}.journey-video{display:block;width:100%;max-height:75vh;background:#000}#journey-before .journey-grid{grid-template-columns:repeat(3,minmax(0,1fr))}#journey-before .journey-photo:not(.journey-wide) img{height:340px}@media(max-width:700px){.journey-heading{gap:18px}.journey-number{font-size:58px}.journey-grid,#journey-before .journey-grid{grid-template-columns:1fr}.journey-photo img,#journey-before .journey-photo:not(.journey-wide) img{height:350px}.journey-wide img{height:280px}.journey-nav{padding:20px 6%;gap:8px}.journey-nav :is(button,a){font-size:10px;padding:12px}.journey-heading h2{font-size:38px}}

.estimate-form{max-width:1100px;margin-top:35px}.estimate-fields{display:grid;grid-template-columns:1fr 1fr;gap:24px}.estimate-form label{display:flex;flex-direction:column;gap:9px;font-size:14px;font-weight:600}.estimate-form input:not([type=file]),.estimate-form textarea{width:100%;padding:13px;border:1px solid #50595c;background:#0c1012;color:#fff;font:inherit;border-radius:0}.estimate-form input[name=vin]{text-transform:uppercase}.estimate-form small{font-size:12px;font-weight:400;color:#b9c1c4;line-height:1.6}.estimate-form fieldset{margin:30px 0;padding:25px;border:1px solid var(--line);min-width:0}.estimate-form legend{font-size:12px;color:var(--green);letter-spacing:2px;padding:0 10px}.estimate-uploads{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.estimate-upload{padding:20px;background:#1a2023;border:1px dashed #596367}.estimate-upload input{max-width:100%;font-size:11px}.estimate-upload img{width:100%;height:180px;object-fit:contain;background:#0b0d0e}.estimate-upload img[hidden]{display:none}.estimate-form [data-estimate-status]{font-size:14px;color:var(--green)}@media(max-width:700px){.estimate-fields,.estimate-uploads{grid-template-columns:1fr}.estimate-form fieldset{padding:17px}.estimate-upload{padding:17px}}


/* Keep the new controls and form readable at the narrowest supported widths. */
.photo-frame img.mission-photo{aspect-ratio:auto}
.location-panel .logo{aspect-ratio:auto}
.estimate-form textarea:focus-visible{outline:3px solid var(--green);outline-offset:5px}
.estimate-form button:disabled{opacity:.65}
.journey-nav a{display:inline-flex;align-items:center}
@media(max-width:380px){.journey-heading{gap:12px}.journey-heading h2{font-size:33px}.journey-number{font-size:46px}.estimate-form fieldset{padding:12px}.estimate-upload{padding:12px}}

body{min-height:100vh}.choose-head{text-align:center;padding:30px 20px 24px}.choose-head h1{font-size:clamp(36px,4vw,60px)}.choose-head p{margin:10px auto 0;letter-spacing:2px;font-size:11px}.split{display:grid;grid-template-columns:1fr 1fr;min-height:75vh}.location-panel{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:50px 8%;overflow:hidden;border:1px solid #333}.location-panel:before{content:'';position:absolute;inset:0;z-index:-2;background:var(--photo) center/cover}.location-panel:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#070a0bf5,transparent 85%)}.location-panel .logo{background:#0b0d0eea;padding:14px;width:250px;margin-bottom:28px}.location-panel h2{font-size:clamp(48px,5vw,80px)}.location-panel p{margin:15px 0 25px}.location-panel:hover{border-color:var(--red)}@media(max-width:640px){.split{grid-template-columns:1fr}.location-panel{min-height:550px;padding:35px 7%}.choose-head h1{font-size:36px}}
.location-panel{transition:border-color .25s ease}.location-panel:before{transition:transform .75s cubic-bezier(.2,.7,.3,1)}.location-cta{position:relative;isolation:isolate;overflow:hidden;gap:24px;transition:transform .25s ease,box-shadow .25s ease,background .25s ease;border:1px solid #ff5360;box-shadow:0 0 0 0 #ec182900}.location-cta .cta-label{font-size:12px;letter-spacing:1.5px;position:relative;z-index:1}.location-cta .cta-arrow{font-size:24px;line-height:1;transition:transform .3s cubic-bezier(.2,.8,.3,1);position:relative;z-index:1}.location-cta:before{content:'';position:absolute;inset:-40% auto -40% -65%;width:36%;background:linear-gradient(90deg,transparent,#ffffff70,transparent);transform:skewX(-25deg);pointer-events:none}.cta-streak{position:absolute;bottom:0;left:0;width:0;height:3px;background:#a7ee80;transition:width .4s ease}.location-panel:is(:hover,:focus-visible) .location-cta{transform:translateY(-5px);box-shadow:0 10px 28px #ec182966;background:#ef1c2c;color:white;border-color:#ff7b84}.location-panel:is(:hover,:focus-visible) .cta-arrow{transform:translate(5px,-4px)}.location-panel:is(:hover,:focus-visible) .location-cta:before{animation:location-shine .7s ease-out}.location-panel:is(:hover,:focus-visible) .cta-streak{width:100%}.location-panel:active .location-cta{transform:translateY(-1px) scale(.97)}@media(hover:hover){.location-panel:hover:before{transform:scale(1.035)}}@keyframes location-shine{to{left:135%}}@media(prefers-reduced-motion:reduce){.location-panel,.location-panel:before,.location-cta,.location-cta .cta-arrow,.cta-streak{transition:none}.location-panel:is(:hover,:focus-visible) .location-cta:before{animation:none}.location-panel:hover:before,.location-panel:is(:hover,:focus-visible) .location-cta,.location-panel:is(:hover,:focus-visible) .cta-arrow{transform:none}}


/* Keep both location choices in the first phone viewport. Content may grow at zoom. */
.entrance-hero { min-height:100svh; display:grid; grid-template-rows:auto 1fr; }
.entrance-hero .split { min-height:0; }
@media(max-width:640px) {
  .entrance-hero { min-height:560px; min-height:max(560px,100svh); }
  .choose-head { padding:16px 18px 14px; }
  .choose-head h1 { font-size:clamp(25px,6.5vw,34px); line-height:1; }
  .choose-head .eyebrow { font-size:8px; letter-spacing:1.5px; margin:0 0 9px; }
  .choose-head p:last-child { font-size:9px; letter-spacing:1.5px; margin-top:10px; }
  .split { grid-template-columns:minmax(0,1fr); grid-template-rows:1fr 1fr; }
  .location-panel { min-height:210px; padding:16px 6%; }
  .location-panel .logo { position:absolute; right:6%; top:14px; width:105px; max-height:62px; object-fit:contain; padding:7px; margin:0; }
  .location-panel .eyebrow { font-size:9px; letter-spacing:2px; margin:0 0 7px; }
  .location-panel h2 { font-size:clamp(32px,8vw,42px); }
  .location-panel p { font-size:12px; margin:6px 0 12px; }
  .location-cta { min-height:44px; padding:10px 13px; gap:20px; }
  .location-cta .cta-label { font-size:10px; letter-spacing:1px; }
  .location-cta .cta-arrow { font-size:20px; }
  .location-panel:after { background:linear-gradient(90deg,#070a0bf0,#070a0b35),linear-gradient(0deg,#070a0bdd,transparent); }
}
