:root{
  --bg:#080808;
  --panel:#0f0f0f;
  --panel-2:#141414;
  --text:#f5f5f5;
  --muted:#9f9f9f;
  --silver:#c7c7c7;
  --silver-dark:#767676;
  --line:#242424;
  --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:Inter,system-ui,sans-serif;line-height:1.55;overflow-x:hidden
}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.noise{
  pointer-events:none;position:fixed;inset:0;opacity:.03;z-index:50;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")
}
.site-header{
  position:fixed;top:0;left:0;right:0;height:82px;z-index:40;
  display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - var(--max))/2));
  background:linear-gradient(to bottom,rgba(8,8,8,.96),rgba(8,8,8,.72));
  border-bottom:1px solid rgba(255,255,255,.06);backdrop-filter:blur(16px)
}
.brand{display:flex;align-items:center;gap:12px}
.brand-mark{
  width:39px;height:39px;display:grid;place-items:center;border:1px solid #a6a6a6;
  font-family:Montserrat,sans-serif;font-weight:700;font-size:13px;letter-spacing:.05em
}
.brand-copy{display:flex;flex-direction:column;line-height:1}
.brand-copy strong{font-family:Montserrat,sans-serif;font-size:13px;letter-spacing:.15em}
.brand-copy small{font-size:9px;color:#9e9e9e;letter-spacing:.34em;margin-top:6px}
.nav{display:flex;align-items:center;gap:32px;font-size:13px;color:#bcbcbc}
.nav a:hover{color:#fff}
.nav-cta{border:1px solid #555;padding:11px 16px;color:#fff!important}
.menu-toggle{display:none;background:none;border:0;padding:10px}
.menu-toggle span{display:block;width:22px;height:1px;background:#fff;margin:5px}
.section{padding:130px max(24px,calc((100vw - var(--max))/2))}
.hero{min-height:100vh;padding-top:150px;display:flex;align-items:center;position:relative}
.hero-grid{display:grid;grid-template-columns:.92fr 1.08fr;align-items:center;width:100%;gap:40px}
.eyebrow{
  color:#a5a5a5;text-transform:uppercase;letter-spacing:.22em;font-weight:600;font-size:11px;margin:0 0 20px
}
h1,h2,h3{font-family:Montserrat,sans-serif;margin:0}
h1{font-size:clamp(54px,7vw,102px);line-height:.92;letter-spacing:-.055em;max-width:780px}
h1 span{color:#8f8f8f}
.hero-text{max-width:560px;color:#aaa;font-size:17px;margin:30px 0}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{
  display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;
  border:1px solid #484848;font-weight:600;font-size:13px;transition:.25s
}
.btn-primary{background:linear-gradient(135deg,#f1f1f1,#9c9c9c);color:#080808;border-color:#bdbdbd}
.btn-primary:hover{transform:translateY(-2px);filter:brightness(1.1)}
.btn-secondary:hover{background:#151515;border-color:#777}
.hero-stats{display:flex;gap:32px;margin-top:54px}
.hero-stats div{display:flex;flex-direction:column;gap:4px}
.hero-stats strong{color:#d6d6d6;font-size:12px;letter-spacing:.14em}
.hero-stats span{font-size:11px;color:#777}
.hero-visual{min-height:520px;display:flex;align-items:center}
.car-stage{width:100%;position:relative}
.car-svg{width:100%;filter:drop-shadow(0 0 20px rgba(255,255,255,.045))}
.car-glow{
  position:absolute;inset:25% 15% 8%;background:radial-gradient(ellipse,rgba(205,205,205,.11),transparent 65%);filter:blur(20px)
}
.stage-line{height:1px;background:linear-gradient(90deg,transparent,#777,transparent);margin-top:-24px}
.scroll-cue{position:absolute;left:max(24px,calc((100vw - var(--max))/2));bottom:30px;color:#696969;font-size:10px;letter-spacing:.18em;text-transform:uppercase}
.scroll-cue span{margin-left:10px;color:#aaa}
.section-heading{max-width:760px;margin-bottom:54px}
.section-heading h2,.quote h2{font-size:clamp(36px,5vw,68px);line-height:1.02;letter-spacing:-.045em}
.section-heading>p:last-child{color:#8f8f8f;max-width:620px;margin-top:18px}
.services{background:#0b0b0b}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.service-card{
  position:relative;background:#101010;border:1px solid #202020;padding:34px;min-height:420px;
  display:flex;flex-direction:column;transition:.3s
}
.service-card:hover{transform:translateY(-4px);border-color:#4c4c4c;background:#131313}
.service-card.featured{background:linear-gradient(145deg,#151515,#0d0d0d);border-color:#555}
.service-badge{position:absolute;right:20px;top:20px;color:#d5d5d5;font-size:9px;letter-spacing:.14em;text-transform:uppercase}
.service-number{color:#6f6f6f;font-size:11px;letter-spacing:.14em;margin-bottom:68px}
.service-card h3{font-size:25px;letter-spacing:-.025em}
.service-card>p{color:#8e8e8e;font-size:14px;min-height:70px}
.service-card ul{list-style:none;padding:0;margin:22px 0 36px;border-top:1px solid #252525}
.service-card li{padding:10px 0;border-bottom:1px solid #222;color:#b7b7b7;font-size:13px}
.service-card a{margin-top:auto;color:#e2e2e2;font-size:12px;display:flex;justify-content:space-between}
.add-ons{display:grid;grid-template-columns:180px 1fr;gap:30px;margin-top:40px;padding-top:28px;border-top:1px solid #252525}
.add-ons>span{font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:#777}
.add-ons div{display:flex;gap:12px;flex-wrap:wrap}
.add-ons p{margin:0;border:1px solid #272727;padding:10px 14px;color:#a6a6a6;font-size:12px}
.results{background:#090909}
.gallery-grid{display:grid;grid-template-columns:1.35fr .65fr;grid-template-rows:repeat(2,310px);gap:14px}
.gallery-card{margin:0;position:relative;background:#101010;overflow:hidden;border:1px solid #1f1f1f}
.gallery-card.large{grid-row:1/3}
.gallery-art{height:100%;position:relative;display:grid;place-items:center;overflow:hidden}
.gallery-art:before{
  content:"";position:absolute;inset:-20%;
  background:radial-gradient(circle at 65% 35%,rgba(255,255,255,.15),transparent 22%),
             linear-gradient(125deg,#0d0d0d 20%,#363636 51%,#101010 76%);
  transform:skewX(-12deg) scale(1.1)
}
.art-2:before{background:linear-gradient(140deg,#0a0a0a,#2d2d2d 50%,#121212)}
.art-3:before{background:radial-gradient(circle at 30% 60%,#474747,#121212 40%,#080808 70%)}
.gallery-art span{position:relative;z-index:1;color:#777;border:1px solid #505050;padding:10px 14px;font-size:10px;letter-spacing:.2em}
.gallery-card figcaption{
  position:absolute;left:0;right:0;bottom:0;padding:22px;background:linear-gradient(transparent,rgba(0,0,0,.94));
  display:flex;justify-content:space-between;align-items:flex-end;gap:18px
}
.gallery-card figcaption strong{font-size:13px}
.gallery-card figcaption span{color:#777;font-size:10px}
.about{background:#0d0d0d}
.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px}
.about-copy>p{color:#aaa;font-size:18px;max-width:620px;margin:42px 0 50px}
.principles{border-top:1px solid #262626}
.principles>div{display:grid;grid-template-columns:48px 180px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid #262626}
.principles span{color:#656565;font-size:10px}
.principles strong{font-size:13px}
.principles p{margin:0;color:#838383;font-size:13px}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.review-card{margin:0;background:#101010;border:1px solid #202020;padding:30px}
.stars{letter-spacing:.15em;color:#b9b9b9;font-size:11px}
.review-card p{font-size:16px;color:#c2c2c2;min-height:118px}
.review-card footer{color:#737373;font-size:11px}
.review-note{color:#555;font-size:10px;margin-top:16px}
.quote{background:linear-gradient(145deg,#101010,#080808)}
.quote-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:start}
.quote-copy>p:not(.eyebrow){color:#8c8c8c;max-width:520px}
.contact-placeholder{margin-top:48px;display:grid;grid-template-columns:100px 1fr;gap:10px 20px;border-top:1px solid #242424;padding-top:25px}
.contact-placeholder span{color:#656565;font-size:9px;letter-spacing:.15em}
.contact-placeholder strong{font-size:12px;font-weight:500}
.quote-form{background:#0d0d0d;border:1px solid #272727;padding:34px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.quote-form label{display:flex;flex-direction:column;gap:8px;margin-bottom:17px;color:#8d8d8d;font-size:10px;text-transform:uppercase;letter-spacing:.13em}
.quote-form input,.quote-form select,.quote-form textarea{
  width:100%;background:#111;color:#eee;border:1px solid #2a2a2a;padding:14px 15px;outline:none;text-transform:none;letter-spacing:normal
}
.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{border-color:#777}
.quote-form textarea{resize:vertical}
.form-submit{width:100%;cursor:pointer}
.form-status{min-height:20px;color:#aaa;font-size:11px;margin:12px 0 0}
.booking-note{margin:12px 0 0;color:#6f6f6f;font-size:10px;line-height:1.5}
.footer{
  padding:45px max(24px,calc((100vw - var(--max))/2));display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;
  border-top:1px solid #202020;color:#656565;font-size:10px
}
.footer>p:nth-child(2){text-align:center}.footer>p:last-child{text-align:right}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .75s ease,transform .75s ease}
.reveal.visible{opacity:1;transform:none}
.delay-1{transition-delay:.12s}.delay-2{transition-delay:.24s}

@media(max-width:900px){
  .site-header{height:72px}
  .menu-toggle{display:block;z-index:45}
  .nav{
    position:fixed;inset:0;background:rgba(7,7,7,.98);display:flex;flex-direction:column;justify-content:center;
    font-size:20px;transform:translateX(100%);transition:.3s
  }
  .nav.open{transform:none}
  .hero{padding-top:120px}
  .hero-grid{grid-template-columns:1fr}
  .hero-visual{min-height:320px}
  .hero-stats{margin-top:38px}
  .service-grid,.review-grid{grid-template-columns:1fr}
  .service-card{min-height:auto}
  .service-number{margin-bottom:38px}
  .gallery-grid{grid-template-columns:1fr;grid-template-rows:420px 280px 280px}
  .gallery-card.large{grid-row:auto}
  .about-grid,.quote-grid{grid-template-columns:1fr;gap:36px}
  .principles>div{grid-template-columns:40px 1fr}.principles p{grid-column:2}
  .footer{grid-template-columns:1fr;gap:18px}.footer>p:nth-child(2),.footer>p:last-child{text-align:left;margin:0}
}
@media(max-width:600px){
  .section{padding:90px 20px}
  .hero{padding-top:110px;min-height:auto}
  h1{font-size:50px}
  .hero-text{font-size:15px}
  .hero-visual{min-height:260px}
  .hero-stats{gap:16px;justify-content:space-between}
  .hero-stats span{font-size:9px}
  .scroll-cue{display:none}
  .section-heading{margin-bottom:36px}
  .section-heading h2,.quote h2{font-size:40px}
  .service-card{padding:26px}
  .add-ons{grid-template-columns:1fr}
  .gallery-grid{grid-template-rows:320px 240px 240px}
  .gallery-card figcaption{padding:16px;flex-direction:column;align-items:flex-start;gap:4px}
  .about-copy>p{font-size:16px}
  .field-row{grid-template-columns:1fr}
  .quote-form{padding:22px}
}

.mobile-contact-bar{display:none}
@media(max-width:600px){
  body{padding-bottom:66px}
  .mobile-contact-bar{
    position:fixed;left:12px;right:12px;bottom:10px;z-index:60;display:grid;grid-template-columns:1fr 1fr 1.15fr;
    background:rgba(10,10,10,.96);border:1px solid #343434;backdrop-filter:blur(15px);box-shadow:0 12px 35px rgba(0,0,0,.5)
  }
  .mobile-contact-bar a{padding:14px 8px;text-align:center;font-size:12px;font-weight:600;border-right:1px solid #2b2b2b}
  .mobile-contact-bar a:last-child{border-right:0;background:linear-gradient(135deg,#f1f1f1,#9c9c9c);color:#080808}
}

.form-section-title{margin:10px 0 14px;padding-top:18px;border-top:1px solid #252525;color:#d3d3d3;font-family:Montserrat,sans-serif;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.condition-flags{border:1px solid #2a2a2a;margin:0 0 17px;padding:15px;display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}
.condition-flags legend{padding:0 8px;color:#8d8d8d;font-size:10px;text-transform:uppercase;letter-spacing:.13em}
.condition-flags label{display:flex;flex-direction:row;align-items:center;gap:9px;margin:0;color:#b7b7b7;font-size:12px;text-transform:none;letter-spacing:0}
.condition-flags input{width:auto;accent-color:#c7c7c7}
@media(max-width:600px){.condition-flags{grid-template-columns:1fr}}

/* Premium results gallery */
.gallery-toolbar{display:flex;gap:9px;flex-wrap:wrap;margin:-20px 0 28px}
.gallery-filter{appearance:none;background:#0d0d0d;color:#858585;border:1px solid #292929;padding:10px 14px;cursor:pointer;font-size:10px;letter-spacing:.12em;text-transform:uppercase;transition:.25s}
.gallery-filter:hover,.gallery-filter.active{color:#080808;background:linear-gradient(135deg,#ededed,#999);border-color:#bdbdbd}
.premium-gallery{grid-template-columns:repeat(3,1fr);grid-template-rows:none}
.premium-gallery .gallery-card{height:300px;cursor:zoom-in;transition:opacity .25s,transform .3s,border-color .3s}
.premium-gallery .gallery-card:hover{transform:translateY(-4px);border-color:#555}
.premium-gallery .gallery-feature{grid-column:span 2;height:430px}
.premium-gallery .gallery-card.is-hidden{display:none}
.art-4:before{background:linear-gradient(125deg,#090909 15%,#202020 43%,#555 65%,#111 85%)}
.art-5:before{background:radial-gradient(circle at 64% 52%,#585858 0 10%,#1a1a1a 11% 22%,#070707 23% 42%,#2c2c2c 43% 48%,#0a0a0a 49%)}
.art-6:before{background:linear-gradient(150deg,#080808,#242424 42%,#111 60%,#3d3d3d 78%,#0b0b0b)}
.gallery-cta{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:32px;padding-top:28px;border-top:1px solid #252525}
.gallery-cta p{margin:0;color:#999}
.gallery-lightbox{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.94);display:none;align-items:center;justify-content:center;flex-direction:column;padding:28px}
.gallery-lightbox.open{display:flex}
.lightbox-art{width:min(100%,1050px);height:min(68vh,700px);position:relative;display:grid;place-items:center;overflow:hidden;border:1px solid #353535;background:#101010}
.lightbox-art:before{content:"";position:absolute;inset:-15%;background:linear-gradient(135deg,#0a0a0a,#424242 50%,#101010);transform:skewX(-8deg)}
.lightbox-art span{position:relative;color:#888;border:1px solid #555;padding:12px 16px;font-size:10px;letter-spacing:.2em}
.lightbox-caption{width:min(100%,1050px);color:#cfcfcf;font-size:13px;padding-top:14px}
.lightbox-close{position:absolute;right:24px;top:18px;background:none;border:0;color:#ddd;font-size:34px;cursor:pointer;font-weight:300}
@media(max-width:900px){.premium-gallery{grid-template-columns:1fr 1fr;grid-template-rows:none}.premium-gallery .gallery-feature{grid-column:1/-1;height:390px}.premium-gallery .gallery-card{height:270px}}
@media(max-width:600px){.gallery-toolbar{flex-wrap:nowrap;overflow-x:auto;margin-bottom:22px;padding-bottom:4px}.gallery-filter{white-space:nowrap}.premium-gallery{grid-template-columns:1fr;grid-template-rows:none}.premium-gallery .gallery-feature{grid-column:auto;height:330px}.premium-gallery .gallery-card{height:280px}.gallery-cta{align-items:flex-start;flex-direction:column}.gallery-cta .btn{width:100%}.lightbox-art{height:58vh}.gallery-lightbox{padding:18px}}

/* Real portfolio photography */
.gallery-card { position: relative; }
.gallery-photo {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform .45s ease, filter .45s ease;
}
.gallery-card:hover .gallery-photo { transform: scale(1.025); }
.photo-tag {
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 3;
  padding: 7px 10px;
  background: rgba(8,8,8,.78);
  border: 1px solid rgba(255,255,255,.35);
  backdrop-filter: blur(8px);
  color: #eee;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .18em;
}
.lightbox-art.has-photo {
  background: #050505;
  padding: 0;
  overflow: hidden;
}
.lightbox-art.has-photo img {
  display: block;
  width: 100%;
  height: min(72vh, 780px);
  object-fit: contain;
}

.service-price { color:#d0d0d0!important; min-height:auto!important; margin:10px 0 4px!important; font-size:12px!important; }
.service-price strong { color:#fff; font-size:18px; }
.booking-addons { border:0; padding:0; margin:8px 0 22px; }
.booking-addons legend { color:#8d8d8d; font-size:10px; text-transform:uppercase; letter-spacing:.13em; margin-bottom:10px; }
.addon-choice { flex-direction:row!important; align-items:center; gap:13px!important; padding:13px 14px; border:1px solid #292929; background:#101010; margin-bottom:8px!important; cursor:pointer; }
.addon-choice input { width:18px!important; height:18px; accent-color:#c8c8c8; }
.addon-choice span { display:flex; justify-content:space-between; align-items:center; gap:20px; width:100%; }
.addon-choice strong { color:#d8d8d8; font-size:12px; text-transform:none; letter-spacing:normal; }
.addon-choice small { color:#999; font-size:11px; text-transform:none; letter-spacing:normal; text-align:right; }
.estimate-box { border:1px solid #4b4b4b; background:linear-gradient(135deg,#151515,#0d0d0d); padding:20px; margin:0 0 18px; }
.estimate-box span { display:block; color:#8e8e8e; text-transform:uppercase; letter-spacing:.14em; font-size:9px; }
.estimate-box strong { display:block; color:#f0f0f0; font-family:Montserrat,sans-serif; font-size:28px; margin:5px 0; }
.estimate-box small { color:#696969; font-size:10px; }

/* Premium review section */
.reviews-top{
  display:grid;
  grid-template-columns:1fr .7fr;
  gap:70px;
  align-items:end;
  margin-bottom:42px;
}
.reviews-summary{
  border-left:1px solid #2d2d2d;
  padding-left:28px;
  margin-bottom:54px;
}
.reviews-summary .summary-label{
  display:block;
  color:#777;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.18em;
  margin-bottom:10px;
}
.reviews-summary strong{
  display:block;
  color:#ddd;
  font-family:Montserrat,sans-serif;
  font-size:18px;
  line-height:1.35;
}
.reviews-summary p{
  color:#777;
  font-size:12px;
  margin:12px 0 0;
}
.premium-reviews .review-card{
  min-height:270px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.review-topline{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
}
.review-stars{
  color:#c7c7c7;
  letter-spacing:.14em;
  font-size:11px;
}
.review-type{
  color:#707070;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:9px;
}
.review-placeholder{
  color:#7f7f7f!important;
  font-style:italic;
  font-size:15px!important;
  min-height:auto!important;
  margin:38px 0!important;
}
.review-card footer{
  display:flex;
  flex-direction:column;
  gap:3px;
}
.review-card footer strong{
  color:#c9c9c9;
  font-size:11px;
  font-weight:600;
}
.review-card footer span{
  color:#666;
  font-size:10px;
}
.reviews-cta{
  margin-top:18px;
  border:1px solid #292929;
  background:linear-gradient(135deg,#111,#0c0c0c);
  padding:28px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
}
.reviews-cta .eyebrow{margin-bottom:8px}
.reviews-cta h3{
  font-size:22px;
  letter-spacing:-.025em;
}
@media(max-width:900px){
  .reviews-top{grid-template-columns:1fr;gap:0}
  .reviews-summary{
    border-left:0;
    border-top:1px solid #2d2d2d;
    padding:24px 0 0;
    margin-bottom:34px;
  }
}
@media(max-width:600px){
  .reviews-cta{
    align-items:flex-start;
    flex-direction:column;
  }
  .reviews-cta .btn{width:100%}
}

.about-signature{
  margin-top:22px!important;
  max-width:430px!important;
  color:#bcbcbc!important;
  font-size:14px!important;
  font-style:italic;
}
.about-copy>p{
  margin-top:0!important;
  margin-bottom:20px!important;
}

/* Dark-garage hero polish */
.hero{background:
  radial-gradient(ellipse at 72% 37%,rgba(255,255,255,.055),transparent 28%),
  linear-gradient(180deg,#080808 0%,#090909 62%,#070707 100%);
}
.garage-stage{position:relative;width:100%;min-height:520px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.garage-stage:before,.garage-stage:after{content:"";position:absolute;top:2%;bottom:18%;width:1px;background:linear-gradient(transparent,#282828,transparent)}
.garage-stage:before{left:19%}.garage-stage:after{right:18%}
.garage-light{position:absolute;left:18%;right:10%;top:10%;height:62%;background:radial-gradient(ellipse at 52% 36%,rgba(255,255,255,.10),rgba(255,255,255,.018) 36%,transparent 68%);filter:blur(12px)}
.sport-car{position:relative;z-index:2;width:100%;filter:drop-shadow(0 18px 18px rgba(0,0,0,.9))}
.garage-floor{position:absolute;left:4%;right:4%;bottom:13%;height:1px;background:linear-gradient(90deg,transparent,#4b4b4b 50%,transparent);box-shadow:0 20px 50px rgba(255,255,255,.035)}
.add-ons strong{color:#d6d6d6;font-weight:600;margin-left:6px}
@media(max-width:900px){.garage-stage{min-height:340px}}
@media(max-width:600px){.garage-stage{min-height:275px}}

/* Porsche-inspired minimal refinement */
:root{--max:1180px}
.site-header{height:76px;background:rgba(8,8,8,.88);border-bottom:1px solid rgba(255,255,255,.045)}
.nav{gap:28px}
.nav-cta{padding:10px 15px;border-color:#383838}
.hero{padding-top:138px}
.hero-grid{grid-template-columns:.96fr 1.04fr;gap:54px}
h1{font-size:clamp(52px,6.4vw,92px);line-height:.94;letter-spacing:-.06em}
.hero-text{max-width:510px;font-size:15px;line-height:1.7;color:#949494}
.hero-actions{margin-top:34px}
.btn{min-height:48px;border-radius:1px}
.hero-stats{margin-top:62px;padding-top:20px;border-top:1px solid #1e1e1e;gap:48px}
.hero-stats strong{font-weight:500;color:#8f8f8f}
.hero-stats span{color:#aaa}
.garage-light{opacity:.72}
.sport-car{transform:scale(.96)}
.section{padding-top:120px;padding-bottom:120px}
.section-heading h2,.quote h2{font-weight:600}
.service-grid{gap:10px}
.service-card{border-color:#1d1d1d;background:#0e0e0e}
.service-card.featured{background:#101010;border-color:#343434}
.service-card:hover{transform:translateY(-2px)}
.gallery-grid{gap:10px}
.gallery-card{border-color:#1b1b1b}
.about{background:#0b0b0b}
.review-card,.quote-form{background:#0d0d0d}
.eyebrow{color:#858585;letter-spacing:.24em}
@media(max-width:600px){
  .hero-stats{gap:12px}
  .section{padding-top:82px;padding-bottom:82px}
}

/* iPhone / small-screen polish */
@media(max-width:600px){
  html{scroll-padding-top:74px}
  body{
    padding-bottom:calc(74px + env(safe-area-inset-bottom));
    -webkit-text-size-adjust:100%;
  }
  .site-header{
    height:66px;
    padding-left:max(16px,env(safe-area-inset-left));
    padding-right:max(10px,env(safe-area-inset-right));
  }
  .brand{gap:9px}
  .brand-mark{width:34px;height:34px;font-size:11px}
  .brand-copy strong{font-size:11px;letter-spacing:.13em}
  .brand-copy small{font-size:8px;letter-spacing:.28em;margin-top:5px}
  .menu-toggle{
    min-width:44px;min-height:44px;
    display:grid;align-content:center;justify-content:center;
    -webkit-tap-highlight-color:transparent;
  }
  .nav{
    padding:90px 26px calc(90px + env(safe-area-inset-bottom));
    gap:24px;
  }
  .nav a{
    min-height:48px;
    display:flex;align-items:center;justify-content:center;
  }
  .nav-cta{width:min(280px,100%)}

  .hero.section{
    padding:96px 18px 62px;
    min-height:auto;
  }
  .hero-grid{gap:12px}
  .eyebrow{font-size:9px;letter-spacing:.2em;margin-bottom:14px}
  h1{font-size:clamp(44px,13vw,58px);line-height:.94;letter-spacing:-.055em}
  .hero-text{
    margin:20px 0 24px;
    max-width:34rem;
    font-size:14px;
    line-height:1.65;
  }
  .hero-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
  }
  .hero-actions .btn{
    width:100%;
    min-height:48px;
    padding:0 12px;
    font-size:12px;
  }
  .hero-stats{
    margin-top:30px;
    padding-top:17px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
  }
  .hero-stats div{gap:3px}
  .hero-stats strong{font-size:10px}
  .hero-stats span{font-size:8px;line-height:1.3}
  .hero-visual{min-height:210px;margin-top:4px}
  .garage-stage{min-height:215px}
  .sport-car{width:112%;max-width:none}
  .garage-light{top:0;height:78%}
  .garage-floor{bottom:11%}

  .section{padding:78px 18px}
  .section-heading{margin-bottom:30px}
  .section-heading h2,.quote h2{font-size:clamp(34px,10.5vw,44px)}
  .section-heading>p:last-child{font-size:13px;line-height:1.6}

  .service-grid{gap:10px}
  .service-card{padding:24px;min-height:auto}
  .service-number{margin-bottom:30px}
  .service-card h3{font-size:23px}
  .service-card>p{min-height:auto}
  .service-card a{min-height:44px;align-items:center}
  .add-ons{gap:14px;margin-top:30px}
  .add-ons div{display:grid;grid-template-columns:1fr;gap:8px}
  .add-ons p{padding:12px 13px;line-height:1.5}

  .gallery-toolbar{
    margin-left:-18px;
    margin-right:-18px;
    padding:0 18px 7px;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .gallery-toolbar::-webkit-scrollbar{display:none}
  .gallery-filter{
    min-height:42px;
    padding:10px 14px;
    flex:0 0 auto;
    -webkit-tap-highlight-color:transparent;
  }
  .premium-gallery{gap:9px}
  .premium-gallery .gallery-feature,
  .premium-gallery .gallery-card{height:260px}
  .gallery-card figcaption{
    padding:14px;
    background:linear-gradient(transparent,rgba(0,0,0,.92));
  }
  .gallery-card figcaption strong{font-size:12px}
  .gallery-card figcaption span{font-size:9px}
  .photo-tag{top:12px;left:12px;padding:6px 8px;font-size:8px}
  .gallery-lightbox{
    padding:
      max(14px,env(safe-area-inset-top))
      max(12px,env(safe-area-inset-right))
      max(18px,env(safe-area-inset-bottom))
      max(12px,env(safe-area-inset-left));
  }
  .lightbox-art{height:64vh;border:0}
  .lightbox-art.has-photo img{height:64vh}
  .lightbox-close{
    top:max(8px,env(safe-area-inset-top));
    right:max(12px,env(safe-area-inset-right));
    width:48px;height:48px;
    border-radius:50%;
    background:rgba(0,0,0,.55);
    font-size:31px;
  }

  .about-grid,.quote-grid{gap:30px}
  .about-copy>p{font-size:14px;line-height:1.7}
  .principles>div{
    grid-template-columns:34px 1fr;
    gap:10px 14px;
    padding:18px 0;
  }
  .principles p{grid-column:2;font-size:12px;line-height:1.55}

  .premium-reviews .review-card{min-height:auto;padding:24px}
  .review-placeholder{margin:24px 0!important;font-size:14px!important}
  .reviews-cta{padding:22px}

  .quote-form{padding:18px}
  .quote-form label{margin-bottom:14px}
  .quote-form input,
  .quote-form select,
  .quote-form textarea{
    min-height:48px;
    font-size:16px; /* avoids iOS Safari auto-zoom */
    padding:13px 14px;
    border-radius:0;
  }
  .quote-form textarea{min-height:112px}
  .condition-flags{padding:13px;gap:8px}
  .condition-flags label{min-height:38px}
  .condition-flags input,
  .addon-choice input{
    min-width:20px!important;
    width:20px!important;
    height:20px;
  }
  .addon-choice{
    min-height:58px;
    padding:11px 12px;
  }
  .addon-choice span{gap:10px}
  .addon-choice strong{font-size:11px}
  .addon-choice small{font-size:10px}
  .estimate-box{padding:17px}
  .estimate-box strong{font-size:24px}
  .form-submit{min-height:52px}

  .footer{
    padding:38px 18px calc(38px + env(safe-area-inset-bottom));
    gap:14px;
  }

  .mobile-contact-bar{
    left:max(8px,env(safe-area-inset-left));
    right:max(8px,env(safe-area-inset-right));
    bottom:max(8px,env(safe-area-inset-bottom));
    min-height:56px;
    border-color:#3a3a3a;
    box-shadow:0 10px 32px rgba(0,0,0,.68);
  }
  .mobile-contact-bar a{
    min-height:56px;
    padding:0 8px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:12px;
    -webkit-tap-highlight-color:transparent;
  }
}

@media(max-width:390px){
  .hero-actions{grid-template-columns:1fr}
  .hero-stats{gap:5px}
  .hero-stats strong{font-size:9px}
  .hero-stats span{font-size:7.5px}
  .sport-car{width:120%}
}

/* Better touch behavior */
@media(hover:none){
  .service-card:hover,
  .premium-gallery .gallery-card:hover,
  .gallery-card:hover .gallery-photo,
  .btn-primary:hover{transform:none}
}

/* Premium footer/contact refinement */
.footer-premium{
  background:#070707;
  border-top:1px solid #181818;
  padding:72px 24px 28px;
}
.footer-shell{
  max-width:var(--max);
  margin:0 auto;
  display:grid;
  grid-template-columns:1.05fr .95fr .9fr;
  gap:56px;
  align-items:start;
}
.footer-brand{
  display:inline-flex;
  align-items:center;
  gap:12px;
  color:#fff;
  text-decoration:none;
  margin-bottom:20px;
}
.footer-brand-mark{
  width:42px;
  height:42px;
  border:1px solid #4a4a4a;
  display:grid;
  place-items:center;
  font-size:11px;
  letter-spacing:.16em;
  color:#d7d7d7;
}
.footer-brand strong{
  display:block;
  font-size:14px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.footer-brand small{
  display:block;
  margin-top:5px;
  color:#777;
  font-size:9px;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.footer-brand-block>p,
.footer-book-block>p{
  color:#8b8b8b;
  font-size:13px;
  line-height:1.7;
  max-width:390px;
}
.footer-contact-block .eyebrow,
.footer-book-block .eyebrow{
  margin-bottom:16px;
}
.footer-contact-actions{
  display:grid;
  gap:0;
  border-top:1px solid #1f1f1f;
}
.footer-contact-actions a{
  display:grid;
  grid-template-columns:70px 1fr;
  gap:16px;
  align-items:center;
  min-height:58px;
  padding:0 2px;
  text-decoration:none;
  border-bottom:1px solid #1f1f1f;
}
.footer-contact-actions span{
  color:#6f6f6f;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:9px;
}
.footer-contact-actions strong{
  color:#d8d8d8;
  font-size:12px;
  font-weight:500;
  overflow-wrap:anywhere;
}
.footer-contact-actions a:hover strong{color:#fff}
.footer-book-block h3{
  margin:0 0 14px;
  color:#f3f3f3;
  font-size:27px;
  letter-spacing:-.035em;
  font-weight:600;
}
.footer-book-btn{
  margin-top:22px;
  min-height:48px;
}
.footer-bottom{
  max-width:var(--max);
  margin:58px auto 0;
  padding-top:20px;
  border-top:1px solid #181818;
  display:flex;
  justify-content:space-between;
  gap:20px;
  color:#5f5f5f;
  font-size:9px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
@media(max-width:900px){
  .footer-shell{
    grid-template-columns:1fr 1fr;
    gap:42px 34px;
  }
  .footer-book-block{grid-column:1/-1}
}
@media(max-width:600px){
  .footer-premium{
    padding:
      56px max(18px,env(safe-area-inset-right))
      calc(92px + env(safe-area-inset-bottom))
      max(18px,env(safe-area-inset-left));
  }
  .footer-shell{
    grid-template-columns:1fr;
    gap:38px;
  }
  .footer-book-block{grid-column:auto}
  .footer-contact-actions a{
    grid-template-columns:58px 1fr;
    min-height:60px;
  }
  .footer-contact-actions strong{
    font-size:11px;
  }
  .footer-book-btn{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .footer-bottom{
    margin-top:42px;
    flex-direction:column;
    gap:10px;
    font-size:8px;
    line-height:1.5;
  }
}

/* Navigation / header Porsche-minimal refinement */
.site-header{
  position:fixed;
  inset:0 0 auto 0;
  z-index:1000;
  height:76px;
  background:rgba(7,7,7,.78);
  border-bottom:1px solid rgba(255,255,255,.05);
  backdrop-filter:blur(18px) saturate(120%);
  -webkit-backdrop-filter:blur(18px) saturate(120%);
}
.header-shell{
  width:min(var(--max),calc(100% - 40px));
  height:100%;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:26px;
}
.brand{
  min-width:0;
  display:inline-flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  color:#fff;
}
.brand-mark{
  width:40px;
  height:40px;
  flex:0 0 40px;
  border:1px solid #454545;
  display:grid;
  place-items:center;
  color:#d6d6d6;
  font-size:10px;
  font-weight:600;
  letter-spacing:.18em;
}
.brand-copy{min-width:0}
.brand-copy strong{
  display:block;
  font-size:12px;
  line-height:1;
  letter-spacing:.14em;
  text-transform:uppercase;
  white-space:nowrap;
}
.brand-copy small{
  display:block;
  margin-top:6px;
  color:#6f6f6f;
  font-size:8px;
  line-height:1;
  letter-spacing:.23em;
  text-transform:uppercase;
  white-space:nowrap;
}
.nav{
  display:flex;
  align-items:center;
  gap:26px;
}
.nav>a:not(.nav-cta){
  position:relative;
  min-height:44px;
  display:flex;
  align-items:center;
  color:#a0a0a0;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:9px;
  font-weight:600;
  transition:color .2s ease;
}
.nav>a:not(.nav-cta):after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:9px;
  height:1px;
  background:#d6d6d6;
  transition:right .22s ease;
}
.nav>a:not(.nav-cta):hover,
.nav>a:not(.nav-cta):focus-visible{color:#fff}
.nav>a:not(.nav-cta):hover:after,
.nav>a:not(.nav-cta):focus-visible:after{right:0}
.nav-cta{
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 16px;
  border:1px solid #444;
  color:#f0f0f0!important;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:9px;
  transition:background .2s ease,border-color .2s ease,color .2s ease;
}
.nav-cta:hover{
  background:#f1f1f1;
  border-color:#f1f1f1;
  color:#0b0b0b!important;
}
.menu-toggle{
  display:none;
  width:44px;
  height:44px;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
}
.menu-toggle span{
  display:block;
  width:23px;
  height:1px;
  margin:6px auto;
  background:#d8d8d8;
  transition:transform .24s ease,opacity .2s ease;
}
.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}

@media(max-width:980px){
  .header-shell{width:min(var(--max),calc(100% - 28px))}
  .nav{gap:18px}
  .brand-copy small{display:none}
}

@media(max-width:760px){
  .site-header{
    height:66px;
    background:rgba(7,7,7,.92);
  }
  .header-shell{
    width:auto;
    margin:0;
    padding-left:max(16px,env(safe-area-inset-left));
    padding-right:max(10px,env(safe-area-inset-right));
  }
  .brand{gap:10px}
  .brand-mark{
    width:35px;height:35px;flex-basis:35px;
    font-size:9px;
  }
  .brand-copy strong{
    max-width:205px;
    overflow:hidden;
    text-overflow:ellipsis;
    font-size:10px;
  }
  .brand-copy small{display:block;font-size:7px;margin-top:5px}
  .menu-toggle{
    display:block;
    flex:0 0 44px;
    -webkit-tap-highlight-color:transparent;
  }
  .nav{
    position:fixed;
    inset:66px 0 0;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:0;
    padding:
      26px max(20px,env(safe-area-inset-right))
      calc(110px + env(safe-area-inset-bottom))
      max(20px,env(safe-area-inset-left));
    background:rgba(7,7,7,.985);
    transform:translateY(-10px);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .2s ease,transform .22s ease,visibility .22s;
    overflow:auto;
  }
  .nav.open{
    transform:none;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }
  .nav>a:not(.nav-cta){
    min-height:58px;
    padding:0;
    border-bottom:1px solid #1c1c1c;
    color:#d0d0d0;
    font-size:13px;
    letter-spacing:.14em;
  }
  .nav>a:not(.nav-cta):after{display:none}
  .nav-cta{
    margin-top:24px;
    min-height:52px;
    font-size:11px;
  }
}

/* Booking form premium polish */
.quote-form{
  position:relative;
  background:
    linear-gradient(180deg,rgba(255,255,255,.015),transparent 18%),
    #0c0c0c;
  border:1px solid #1f1f1f;
  padding:30px;
}
.booking-form-intro{
  display:grid;
  grid-template-columns:1fr .9fr;
  gap:28px;
  align-items:end;
  margin:-2px 0 30px;
  padding-bottom:26px;
  border-bottom:1px solid #202020;
}
.booking-form-intro .eyebrow{margin-bottom:9px}
.booking-form-intro h3{
  margin:0;
  color:#f1f1f1;
  font-size:30px;
  line-height:1.05;
  letter-spacing:-.04em;
  font-weight:600;
}
.booking-form-intro>p{
  margin:0;
  color:#858585;
  font-size:12px;
  line-height:1.65;
}
.form-section{
  padding:25px 0 5px;
  border-bottom:1px solid #1b1b1b;
}
.form-section:first-of-type{padding-top:0}
.form-section:last-of-type{border-bottom:0}
.form-section-head{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 19px;
}
.form-section-head span{
  color:#555;
  font-size:9px;
  letter-spacing:.16em;
}
.form-section-head strong{
  color:#d6d6d6;
  font-size:10px;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.quote-form label{
  color:#a9a9a9;
  font-size:10px;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.quote-form input,
.quote-form select,
.quote-form textarea{
  background:#090909;
  border:1px solid #262626;
  color:#f2f2f2;
  transition:border-color .2s ease,background .2s ease,box-shadow .2s ease;
}
.quote-form input:focus,
.quote-form select:focus,
.quote-form textarea:focus{
  outline:none;
  border-color:#626262;
  background:#0b0b0b;
  box-shadow:0 0 0 1px rgba(255,255,255,.035);
}
.quote-form input::placeholder,
.quote-form textarea::placeholder{color:#575757}
.condition-flags{
  margin-top:8px;
  border:1px solid #202020;
  background:#090909;
}
.condition-flags label{
  text-transform:none;
  letter-spacing:0;
  color:#aaa;
}
.addon-choice{
  border:1px solid #242424;
  background:#090909;
  transition:border-color .2s ease,background .2s ease;
}
.addon-choice:hover{
  border-color:#3d3d3d;
  background:#0b0b0b;
}
.addon-choice strong{
  color:#dedede;
  font-weight:500;
}
.addon-choice small{color:#737373}
.estimate-box{
  margin-top:28px;
  padding:22px;
  border:1px solid #303030;
  background:
    linear-gradient(135deg,rgba(255,255,255,.035),transparent 45%),
    #101010;
}
.estimate-box span{
  color:#808080;
  font-size:9px;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.estimate-box strong{
  color:#f4f4f4;
  font-size:30px;
  letter-spacing:-.04em;
}
.estimate-note{
  color:#6f6f6f!important;
  line-height:1.55!important;
}
.form-submit{
  margin-top:16px;
  width:100%;
  min-height:54px;
  border:1px solid #ececec;
  background:#ececec;
  color:#090909;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.form-submit:hover{
  background:#fff;
  border-color:#fff;
}
.form-note{
  margin-top:14px;
  color:#6d6d6d;
  font-size:10px;
  line-height:1.6;
}

@media(max-width:600px){
  .quote-form{
    padding:18px;
    border-left:0;
    border-right:0;
    margin-left:-18px;
    margin-right:-18px;
  }
  .booking-form-intro{
    grid-template-columns:1fr;
    gap:12px;
    margin-bottom:22px;
    padding-bottom:20px;
  }
  .booking-form-intro h3{font-size:27px}
  .booking-form-intro>p{font-size:12px}
  .form-section{padding:22px 0 4px}
  .form-section-head{margin-bottom:16px}
  .quote-form label{font-size:9px}
  .quote-form input,
  .quote-form select,
  .quote-form textarea{
    min-height:50px;
    font-size:16px;
  }
  .addon-choice{
    min-height:62px;
    border-radius:0;
  }
  .estimate-box{
    position:sticky;
    bottom:calc(72px + env(safe-area-inset-bottom));
    z-index:6;
    box-shadow:0 -14px 30px rgba(0,0,0,.38);
  }
  .estimate-box strong{font-size:27px}
  .form-submit{min-height:54px}
}

/* Final footer — inspired by the approved Porsche/minimal mockup */
.footer-final{
  background:#080808;
  border-top:1px solid #1b1b1b;
  padding:52px 22px 28px;
}
.footer-frame{
  width:min(1240px,100%);
  margin:0 auto;
  border:1px solid #2a2a2a;
  background:
    radial-gradient(circle at 50% -20%,rgba(255,255,255,.035),transparent 36%),
    #0b0b0b;
}
.footer-main{
  display:grid;
  grid-template-columns:1.12fr .95fr .82fr 1fr;
  gap:48px;
  padding:42px 46px 38px;
}
.footer-main section{min-width:0}
.footer-brand{
  display:inline-flex;
  align-items:center;
  gap:15px;
  color:#f4f4f4;
  text-decoration:none;
}
.footer-brand-mark{
  width:58px;
  height:58px;
  flex:0 0 58px;
  display:grid;
  place-items:center;
  border:1px solid #6b6b6b;
  color:#fff;
  font-size:18px;
  font-weight:700;
  letter-spacing:.08em;
}
.footer-brand-copy strong{
  display:block;
  color:#f5f5f5;
  font-size:14px;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.footer-brand-copy small{
  display:block;
  margin-top:7px;
  color:#a2a2a2;
  font-size:9px;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.footer-summary{
  max-width:320px;
  margin:30px 0 0;
  padding-top:26px;
  border-top:1px solid #232323;
  color:#b1b1b1;
  font-size:13px;
  line-height:1.85;
}
.footer-main h3{
  margin:4px 0 22px;
  padding-bottom:15px;
  border-bottom:1px solid #252525;
  color:#efefef;
  font-size:11px;
  font-weight:600;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.footer-contact-list{display:grid}
.footer-contact-row{
  min-width:0;
  display:grid;
  grid-template-columns:24px minmax(0,1fr);
  grid-template-areas:
    "icon value"
    ". label";
  column-gap:14px;
  row-gap:2px;
  padding:12px 0;
  color:#e8e8e8;
  text-decoration:none;
}
.footer-contact-icon{
  grid-area:icon;
  color:#ededed;
  font-size:16px;
  line-height:1.2;
}
.footer-contact-value{
  grid-area:value;
  min-width:0;
  color:#e8e8e8;
  font-size:13px;
  font-weight:500;
  letter-spacing:0;
  white-space:nowrap;
}
.footer-contact-label{
  grid-area:label;
  color:#777;
  font-size:9px;
  letter-spacing:.08em;
}
.footer-email{
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
}
.footer-links{
  display:grid;
  gap:13px;
}
.footer-links a{
  width:max-content;
  max-width:100%;
  color:#bcbcbc;
  text-decoration:none;
  font-size:12px;
  line-height:1.4;
}
.footer-links a:hover{color:#fff}
.footer-book-panel p{
  margin:0;
  color:#a9a9a9;
  font-size:12px;
  line-height:1.75;
}
.footer-book-button{
  margin-top:25px;
  min-height:52px;
  padding:0 17px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  border:1px solid #747474;
  color:#f4f4f4;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.13em;
  font-size:10px;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.footer-book-button:hover{
  background:#f2f2f2;
  border-color:#f2f2f2;
  color:#090909;
}
.footer-mobile-contact,
.footer-mobile-book{display:none}
.footer-bottom{
  margin:0;
  padding:23px 46px;
  border-top:1px solid #262626;
  display:flex;
  justify-content:space-between;
  gap:24px;
  color:#787878;
  font-size:9px;
  line-height:1.5;
  letter-spacing:.09em;
  text-transform:uppercase;
}

@media(max-width:980px){
  .footer-main{
    grid-template-columns:1fr 1fr;
    gap:38px 44px;
  }
}

@media(max-width:700px){
  .footer-final{
    padding:
      28px max(12px,env(safe-area-inset-right))
      calc(94px + env(safe-area-inset-bottom))
      max(12px,env(safe-area-inset-left));
  }
  .footer-frame{
    border-color:#303030;
  }
  .footer-main{
    display:block;
    padding:20px 20px 10px;
  }
  .footer-brand-panel{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding-bottom:16px;
    border-bottom:1px solid #2a2a2a;
  }
  .footer-brand-mark{
    width:48px;
    height:48px;
    flex-basis:48px;
    font-size:15px;
  }
  .footer-brand-copy strong{font-size:12px}
  .footer-brand-copy small{font-size:8px}
  .footer-summary,
  .footer-contact-panel,
  .footer-links-panel,
  .footer-book-panel{
    display:none;
  }
  .footer-mobile-contact{
    display:grid;
    grid-template-columns:.9fr .9fr 1.45fr;
    border-top:1px solid #222;
    border-bottom:1px solid #2a2a2a;
    margin:0 20px;
  }
  .footer-mobile-contact a{
    min-width:0;
    min-height:78px;
    padding:16px 12px;
    display:flex;
    align-items:flex-start;
    gap:10px;
    color:#ededed;
    text-decoration:none;
    border-right:1px solid #2a2a2a;
  }
  .footer-mobile-contact a:last-child{border-right:0}
  .footer-mobile-icon{
    flex:0 0 auto;
    font-size:15px;
    line-height:1.3;
  }
  .footer-mobile-contact span:last-child{
    min-width:0;
    display:block;
  }
  .footer-mobile-contact strong{
    display:block;
    min-width:0;
    color:#efefef;
    font-size:10px;
    line-height:1.35;
    font-weight:600;
    white-space:nowrap;
  }
  .footer-mobile-contact a:last-child strong{
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:normal;
  }
  .footer-mobile-contact small{
    display:block;
    margin-top:4px;
    color:#777;
    font-size:9px;
  }
  .footer-mobile-book{
    margin:16px 20px 0;
    min-height:54px;
    padding:0 16px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:16px;
    border:1px solid #7a7a7a;
    color:#f3f3f3;
    text-decoration:none;
    text-transform:uppercase;
    letter-spacing:.14em;
    font-size:10px;
  }
  .footer-bottom{
    padding:22px 20px 20px;
    border-top:0;
    flex-direction:column;
    align-items:center;
    text-align:center;
    gap:8px;
    font-size:8px;
  }
}

@media(max-width:430px){
  .footer-mobile-contact{
    grid-template-columns:1fr;
  }
  .footer-mobile-contact a{
    min-height:58px;
    padding:12px 8px;
    align-items:center;
    border-right:0;
    border-bottom:1px solid #242424;
  }
  .footer-mobile-contact a:last-child{border-bottom:0}
  .footer-mobile-contact strong{
    font-size:11px;
    white-space:normal;
  }
}

/* Footer responsive fix for MacBook / medium-width browser windows */
.footer-main{
  grid-template-columns:minmax(240px,1.15fr) minmax(220px,.95fr) minmax(170px,.72fr) minmax(230px,1fr);
}

.footer-contact-row{
  grid-template-columns:24px minmax(150px,1fr);
}

.footer-contact-value,
.footer-links a,
.footer-book-panel p,
.footer-summary{
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}

.footer-email{
  white-space:nowrap;
  overflow-wrap:normal;
}

@media(max-width:1180px){
  .footer-main{
    grid-template-columns:minmax(260px,1fr) minmax(280px,1fr);
    gap:42px 56px;
    padding:38px 40px 34px;
  }

  .footer-brand-panel,
  .footer-contact-panel,
  .footer-links-panel,
  .footer-book-panel{
    min-width:0;
  }

  .footer-summary{
    max-width:390px;
  }

  .footer-contact-row{
    grid-template-columns:24px minmax(0,1fr);
  }

  .footer-contact-value{
    white-space:nowrap;
  }

  .footer-email{
    white-space:normal;
    overflow-wrap:anywhere;
  }

  .footer-book-panel p{
    max-width:390px;
  }
}

@media(max-width:820px){
  .footer-main{
    grid-template-columns:1fr;
    gap:34px;
    padding:34px 34px 30px;
  }

  .footer-summary,
  .footer-book-panel p{
    max-width:560px;
  }

  .footer-links{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px 26px;
  }

  .footer-contact-row{
    grid-template-columns:24px minmax(0,1fr);
  }
}

/* Keep the existing compact mobile footer only for actual phone widths */
@media(min-width:701px) and (max-width:820px){
  .footer-main{display:grid}
  .footer-mobile-contact,
  .footer-mobile-book{display:none}
}

/* Final iPhone-first refinement */
@media(max-width:700px){
  html{scroll-behavior:smooth}
  body{overflow-x:hidden}
  .container,.header-shell,.footer-frame{max-width:100%}

  /* Keep important content away from screen edges */
  .hero.section,.section{padding-left:20px;padding-right:20px}

  /* Cleaner hero on narrow iPhones */
  .hero{overflow:hidden}
  .hero-grid{grid-template-columns:1fr}
  .hero-copy{position:relative;z-index:3}
  .hero-visual{width:100%;overflow:visible}
  .garage-stage{width:100%;min-height:225px}
  .sport-car{width:116%;margin-left:-8%}
  .hero-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hero-stats span{overflow-wrap:normal;word-break:normal}

  /* Prevent cards/content from becoming too narrow */
  .service-grid,.review-grid,.about-grid,.quote-grid{grid-template-columns:1fr}
  .service-card,.review-card,.quote-form{min-width:0}

  /* Gallery is easier to browse one image at a time */
  .premium-gallery{grid-template-columns:1fr}
  .premium-gallery .gallery-feature,
  .premium-gallery .gallery-card{height:285px}

  /* Booking form: comfortable thumb targets and no iOS zoom */
  .quote-form input,
  .quote-form select,
  .quote-form textarea,
  .quote-form button{font-size:16px}
  .quote-form input,
  .quote-form select{min-height:52px}
  .condition-flags label,.addon-choice{min-height:48px}
  .form-submit{min-height:56px}

  /* Sticky contact bar remains above iPhone home indicator */
  .mobile-contact-bar{
    bottom:max(8px,env(safe-area-inset-bottom));
    border-radius:0;
  }

  /* Footer stays readable on phones */
  .footer-mobile-contact strong,
  .footer-mobile-contact small{
    overflow-wrap:normal;
    word-break:normal;
  }
}

@media(max-width:390px){
  .hero.section,.section{padding-left:17px;padding-right:17px}
  .hero-actions{grid-template-columns:1fr}
  .hero-actions .btn{min-height:52px}
  .premium-gallery .gallery-feature,
  .premium-gallery .gallery-card{height:250px}
}

@media(max-width:350px){
  .brand-copy small{display:none}
  .brand-copy strong{max-width:170px}
  h1{font-size:41px}
}

/* MacBook-focused desktop refinement */
@media(min-width:901px) and (max-width:1440px){
  :root{--max:1120px}

  .site-header{height:72px}
  .header-shell{width:min(var(--max),calc(100% - 36px))}
  .nav{gap:20px}
  .nav>a:not(.nav-cta){font-size:8.5px}
  .nav-cta{padding:0 14px}

  .hero{
    min-height:760px;
    padding-top:120px;
  }
  .hero-grid{
    grid-template-columns:.92fr 1.08fr;
    gap:38px;
    align-items:center;
  }
  h1{
    font-size:clamp(54px,5.8vw,78px);
    max-width:610px;
  }
  .hero-text{
    max-width:500px;
    font-size:14px;
  }
  .hero-actions{margin-top:30px}
  .hero-stats{
    margin-top:44px;
    gap:34px;
  }
  .garage-stage{
    min-height:460px;
  }
  .sport-car{
    width:105%;
  }

  .section{
    padding-top:96px;
    padding-bottom:96px;
  }
  .section-heading{
    margin-bottom:36px;
  }
  .section-heading h2,.quote h2{
    font-size:clamp(38px,4.2vw,54px);
  }

  .service-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
  }
  .service-card{
    padding:28px 24px;
  }
  .service-card h3{
    font-size:22px;
  }

  .premium-gallery{
    gap:12px;
  }
  .premium-gallery .gallery-feature,
  .premium-gallery .gallery-card{
    height:310px;
  }

  .about-grid,
  .quote-grid{
    gap:48px;
  }

  .premium-reviews{
    gap:12px;
  }

  .quote-form{
    padding:26px;
  }

  .footer-final{
    padding-left:18px;
    padding-right:18px;
  }
  .footer-main{
    padding:38px 34px 34px;
    gap:34px 40px;
  }
  .footer-bottom{
    padding-left:34px;
    padding-right:34px;
  }
}

/* A little more breathing room for larger MacBook Pro widths */
@media(min-width:1181px) and (max-width:1440px){
  :root{--max:1180px}
  .hero-grid{gap:50px}
  .garage-stage{min-height:500px}
  .premium-gallery .gallery-feature,
  .premium-gallery .gallery-card{height:330px}
}

/* Approved glossy-black sports-car hero */
.sport-car-glossy{
  width:110%;
  max-width:none;
  filter:
    drop-shadow(0 22px 18px rgba(0,0,0,.92))
    drop-shadow(0 0 18px rgba(255,255,255,.025));
}
.garage-stage{
  background:
    linear-gradient(90deg,transparent 0 23%,rgba(255,255,255,.025) 23.1% 23.25%,transparent 23.35% 52%,rgba(255,255,255,.025) 52.1% 52.25%,transparent 52.35% 81%,rgba(255,255,255,.025) 81.1% 81.25%,transparent 81.35%),
    radial-gradient(ellipse at 58% 46%,rgba(255,255,255,.07),transparent 46%);
}
@media(min-width:901px){
  .sport-car-glossy{transform:translateX(-2%) scale(1.03)}
}
@media(max-width:700px){
  .sport-car-glossy{width:122%;margin-left:-11%;transform:none}
}

/* Four-package service layout */
.service-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.ceramic-package{
  border-color:#666;
  background:
    linear-gradient(145deg,rgba(255,255,255,.035),transparent 34%),
    #101010;
}
.ceramic-package .service-badge{
  color:#f0f0f0;
}
.ceramic-package .service-price strong{
  font-size:1.12em;
}
.ceramic-package li strong{
  color:#f1f1f1;
  font-weight:600;
}
.ceramic-included-note{
  margin:18px 0 0!important;
  padding:12px 14px;
  border-left:1px solid #777;
  background:#0a0a0a;
  color:#cfcfcf!important;
  font-size:11px!important;
  line-height:1.55!important;
  letter-spacing:.02em;
}

/* Approved subtle / stealthy glossy-black hero */
.garage-light{opacity:.48}
.sport-car-glossy{
  filter:
    brightness(.86)
    contrast(1.08)
    drop-shadow(0 24px 20px rgba(0,0,0,.94))
    drop-shadow(0 0 10px rgba(255,255,255,.012));
}
.garage-stage{
  background:
    linear-gradient(90deg,transparent 0 23%,rgba(255,255,255,.014) 23.1% 23.22%,transparent 23.32% 52%,rgba(255,255,255,.014) 52.1% 52.22%,transparent 52.32% 81%,rgba(255,255,255,.014) 81.1% 81.22%,transparent 81.32%),
    radial-gradient(ellipse at 58% 45%,rgba(255,255,255,.045),transparent 46%);
}

@media(min-width:1181px){
  .service-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .service-card{
    padding-left:22px;
    padding-right:22px;
  }
  .service-card h3{
    font-size:20px;
  }
}

@media(max-width:700px){
  .service-grid{grid-template-columns:1fr}
  .ceramic-package{order:-1}
}

/* Real booking submission states */
.netlify-honeypot{
  position:absolute!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  width:1px!important;
  height:1px!important;
  margin:-1px!important;
  padding:0!important;
  border:0!important;
  white-space:nowrap!important;
}
.field-optional{
  margin-left:6px;
  color:#777;
  font-size:.72em;
  font-weight:500;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.form-submit:disabled{
  opacity:.62;
  cursor:wait;
  transform:none!important;
}
.form-status{
  min-height:22px;
}
.form-status.is-sending{
  color:#aaa;
}
.form-status.is-success{
  margin-top:16px;
  padding:14px 16px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.035);
  color:#eee;
  line-height:1.55;
}
.form-status.is-success strong{
  color:#fff;
}
.form-status.is-error{
  margin-top:16px;
  padding:14px 16px;
  border:1px solid rgba(255,255,255,.13);
  background:rgba(255,255,255,.025);
  color:#d7d7d7;
  line-height:1.55;
}
.form-status.is-error a{
  color:#fff;
  text-decoration:underline;
  text-underline-offset:3px;
}

/* Final GT3 RS hero asset: preserve the existing hero stage/background and sizing. */
.gt3rs-photo{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  mix-blend-mode:screen;
  filter:contrast(1.08) brightness(.94) drop-shadow(0 16px 26px rgba(0,0,0,.5));
}
