:root{--bg:#050505;--card:#141414;--text:#f8f5ea;--muted:#c4beb0;--line:rgba(255,215,100,.22);--gold:#d8a928;--gold-bright:#ffd86a;--shadow:0 24px 80px rgba(0,0,0,.55);--radius:26px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text);line-height:1.6}body.modal-open{overflow:hidden}a{color:inherit}button,input,textarea,select{font:inherit}img{max-width:100%;display:block}.site-header{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:14px 6vw;background:rgba(5,5,5,.88);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;text-decoration:none}.brand img{width:58px;height:58px;object-fit:contain;border-radius:50%}.brand strong{display:block;letter-spacing:.14em}.brand small{color:var(--muted);font-size:.78rem;letter-spacing:.28em;text-transform:uppercase}.nav{display:flex;align-items:center;gap:18px;color:var(--muted);font-size:.95rem}.nav a{text-decoration:none}.nav a:hover{color:white}.nav-cta,.nav-book,.card-action{border:0;cursor:pointer;color:#120e03!important;background:linear-gradient(135deg,var(--gold-bright),var(--gold));padding:10px 17px;border-radius:999px;font-weight:900;text-decoration:none}.nav-book{background:transparent;border:1px solid var(--line);color:var(--text)!important}.menu-toggle{display:none;background:none;border:1px solid var(--line);color:white;border-radius:12px;padding:8px 12px;font-size:1.25rem}.hero{min-height:86vh;display:grid;grid-template-columns:1.2fr .8fr;gap:44px;align-items:center;padding:86px 6vw;background:radial-gradient(circle at 78% 18%,rgba(216,169,40,.25),transparent 35%),radial-gradient(circle at 12% 80%,rgba(255,216,106,.10),transparent 26%),linear-gradient(135deg,#050505 0%,#111 58%,#050505 100%)}.eyebrow{color:var(--gold-bright);text-transform:uppercase;letter-spacing:.2em;font-size:.78rem;font-weight:900}h1,h2,h3{line-height:1.08;margin:0 0 18px}h1{font-size:clamp(2.7rem,7vw,6.3rem);max-width:940px}h2{font-size:clamp(2rem,4vw,3.6rem)}h3{font-size:1.4rem}.hero-text{max-width:650px;color:var(--muted);font-size:1.18rem}.hero-actions,.contact-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border-radius:999px;text-decoration:none;font-weight:900;border:0;cursor:pointer}.btn-primary{background:linear-gradient(135deg,var(--gold-bright),var(--gold));color:#120e03;box-shadow:0 12px 35px rgba(216,169,40,.25)}.btn-secondary{background:transparent;border:1px solid var(--line);color:var(--text)}.trust-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}.trust-row span{border:1px solid var(--line);border-radius:999px;padding:8px 12px;color:var(--muted);font-size:.92rem}.hero-card{min-height:420px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(155deg,rgba(255,216,106,.11),rgba(255,255,255,.02));box-shadow:var(--shadow);padding:34px;display:flex;flex-direction:column;justify-content:center;text-align:center}.hero-card img{max-width:320px;margin:0 auto 24px}.hero-card p{color:var(--muted)}.section{padding:84px 6vw}.section-heading{max-width:760px;margin-bottom:38px}.section-heading p{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{position:relative;padding:32px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.service-card.featured{border-color:rgba(255,216,106,.65);transform:translateY(-14px)}.badge{position:absolute;right:22px;top:22px;background:linear-gradient(135deg,var(--gold-bright),var(--gold));color:#120e03;border-radius:999px;padding:6px 12px;font-size:.78rem;font-weight:900}.price{color:var(--muted);margin-bottom:22px}.service-card ul{padding-left:20px;color:var(--muted)}.vehicle-pricing{display:grid;gap:8px;margin:24px 0;color:white;font-weight:700}.card-action{width:100%}.addon-grid,.gallery-grid,.why-grid{display:grid;gap:18px}.addon-grid{grid-template-columns:repeat(4,1fr)}.gallery-grid{grid-template-columns:repeat(3,1fr)}.why-grid{grid-template-columns:repeat(4,1fr)}.addon-grid div,.why-item,.faq-list details{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:24px}.addon-grid strong,.addon-grid span{display:block}.addon-grid span{color:var(--gold-bright);font-weight:900;margin-top:12px;font-size:1.3rem}.gallery-grid figure{margin:0;border-radius:var(--radius);overflow:hidden;background:var(--card);border:1px solid var(--line)}.gallery-grid img{aspect-ratio:4/3;object-fit:cover;width:100%}.gallery-grid figcaption{padding:16px;color:var(--muted)}.why-item p,.faq-list p{color:var(--muted)}.faq-list{display:grid;gap:14px;max-width:900px}summary{cursor:pointer;font-weight:900}.contact-card{max-width:980px;margin:auto;text-align:center;background:radial-gradient(circle at 20% 10%,rgba(216,169,40,.24),transparent 30%),var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:52px 32px}.contact-actions{justify-content:center}.contact-info{list-style:none;padding:0;margin:28px 0 0;color:var(--muted)}.modal-backdrop{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.78);display:none;align-items:center;justify-content:center;padding:22px}.modal-backdrop.open{display:flex}.modal{width:min(760px,100%);max-height:92vh;overflow:auto;background:#0e0e0e;border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);padding:30px;position:relative}.modal-close{position:absolute;right:18px;top:14px;background:transparent;border:0;color:white;font-size:2rem;cursor:pointer}.modal-logo img{width:110px;margin:auto}.modal h2{text-align:center}.modal-subtitle{text-align:center;color:var(--muted)}.quote-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}.quote-form label{display:grid;gap:7px;color:var(--muted);font-weight:700}.quote-form input,.quote-form select,.quote-form textarea{width:100%;background:#050505;border:1px solid var(--line);border-radius:14px;color:white;padding:12px}.quote-form .full,.form-submit,.form-status{grid-column:1/-1}.form-status{margin:0;color:var(--gold-bright)}.honeypot{display:none!important}.footer{padding:30px 6vw;color:var(--muted);border-top:1px solid var(--line);display:flex;align-items:center;gap:20px;flex-wrap:wrap}.footer img{width:72px;height:72px;object-fit:contain;border-radius:50%}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:translateY(0)}@media(max-width:980px){.hero,.cards,.addon-grid,.gallery-grid,.why-grid{grid-template-columns:1fr}.service-card.featured{transform:none}.menu-toggle{display:block}.nav{position:absolute;left:6vw;right:6vw;top:88px;display:none;flex-direction:column;align-items:flex-start;padding:20px;background:#0d0d0d;border:1px solid var(--line);border-radius:18px}.nav.open{display:flex}}@media(max-width:560px){.site-header{padding:12px 4vw}.brand img{width:48px;height:48px}.hero,.section{padding-left:4vw;padding-right:4vw}.hero{min-height:auto;padding-top:62px}.btn,.nav-cta,.nav-book{width:100%}.quote-form{grid-template-columns:1fr}.modal{padding:24px 18px}}

.hero-photo {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(0,0,0,.88) 0%, rgba(0,0,0,.60) 45%, rgba(0,0,0,.28) 100%),
    url("../images/hero.jpg") center / cover no-repeat !important;
}
.hero-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 78% 18%, rgba(216,169,40,.20), transparent 34%);
  pointer-events: none;
}
.hero-photo > * { position: relative; z-index: 1; }

.service-photo {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 18px;
  margin-bottom: 22px;
  border: 1px solid var(--line);
}

.before-after {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin-top: 28px;
}
.ba-card {
  position: relative;
  overflow: hidden;
  border-radius: 22px;
  border: 1px solid var(--line);
  background: var(--card);
}
.ba-card span {
  position: absolute;
  left: 12px;
  top: 12px;
  z-index: 2;
  background: linear-gradient(135deg,var(--gold-bright),var(--gold));
  color: #120e03;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .75rem;
  padding: 6px 10px;
  border-radius: 999px;
}
.ba-card img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
@media(max-width:980px) {
  .before-after { grid-template-columns: repeat(2, 1fr); }
}
@media(max-width:560px) {
  .before-after { grid-template-columns: 1fr; }
}


/* V8 image fix: prevent stretching and improve mobile service cards */
.service-card {
  overflow: hidden;
}

.service-photo {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
  border-radius: 18px;
  margin-bottom: 24px;
}

.gallery-grid img,
.ba-card img {
  height: auto;
  object-fit: cover;
  object-position: center;
}

.badge {
  z-index: 3;
}

@media (max-width: 980px) {
  .service-photo {
    aspect-ratio: 4 / 3;
    max-height: 360px;
  }

  .service-card {
    padding: 28px 24px;
  }

  .badge {
    top: 18px;
    right: 18px;
    font-size: .72rem;
    padding: 6px 12px;
  }
}

@media (max-width: 560px) {
  .service-photo {
    aspect-ratio: 1 / 1;
    max-height: none;
    border-radius: 16px;
  }

  .service-card h3 {
    font-size: 2rem;
  }

  .cards {
    gap: 34px;
  }

  .gallery-grid img {
    aspect-ratio: 4 / 3;
  }
}


/* KARFORT V10 PREMIUM RESPONSIVE PATCH */
html,body{width:100%;max-width:100%;overflow-x:hidden}
.site-header,.hero,.section,.footer{max-width:100%;overflow:hidden}
.hero{position:relative;isolation:isolate;min-height:calc(100svh - 88px);padding:clamp(62px,8vw,110px) clamp(18px,5vw,80px);grid-template-columns:minmax(0,1.08fr) minmax(320px,.72fr)}
.hero-slider{background:none!important}
.hero-slider:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.90),rgba(0,0,0,.64) 45%,rgba(0,0,0,.38)),radial-gradient(circle at 78% 18%,rgba(216,169,40,.20),transparent 34%)}
.hero-slide{position:absolute;inset:0;z-index:-2;opacity:0;background-position:center;background-size:cover;animation:heroFade 18s infinite;transform:scale(1.04)}
.hero-slide-1{background-image:url("../images/hero-1.jpg");animation-delay:0s}
.hero-slide-2{background-image:url("../images/hero-2.jpg");animation-delay:6s}
.hero-slide-3{background-image:url("../images/hero-3.jpg");animation-delay:12s}
@keyframes heroFade{0%{opacity:0}8%{opacity:1}33%{opacity:1}43%{opacity:0}100%{opacity:0}}
.hero-content,.hero-actions{width:100%;max-width:100%;min-width:0}
h1{font-size:clamp(2.45rem,8vw,6.1rem);letter-spacing:-.045em;line-height:1.06}
.hero-text{font-size:clamp(1.05rem,2.9vw,1.25rem)}
.btn{max-width:100%;box-sizing:border-box;white-space:normal;text-align:center}
.hero-actions .btn{min-width:0}
.service-card{overflow:hidden}
.service-photo{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center;border-radius:18px;margin-bottom:24px;border:1px solid var(--line)}
.gallery-grid img,.ba-card img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center}
.before-after{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:28px}
.ba-card{position:relative;overflow:hidden;border-radius:22px;border:1px solid var(--line);background:var(--card)}
.ba-card span{position:absolute;left:12px;top:12px;z-index:2;background:linear-gradient(135deg,var(--gold-bright),var(--gold));color:#120e03;font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;padding:6px 10px;border-radius:999px}
@media(max-width:1100px){.hero{grid-template-columns:1fr}.hero-card{display:none}.before-after{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card.featured{transform:none}}
@media(max-width:560px){
.site-header{padding:12px 18px}.brand img{width:48px;height:48px}.brand strong{font-size:1.38rem;letter-spacing:.13em}.brand small{font-size:.8rem;letter-spacing:.31em}
.hero{min-height:auto;padding:72px 18px 54px}.hero-slider:before{background:linear-gradient(180deg,rgba(0,0,0,.74),rgba(0,0,0,.74) 55%,rgba(0,0,0,.90)),radial-gradient(circle at 55% 20%,rgba(216,169,40,.17),transparent 38%)}
h1{font-size:clamp(2.38rem,12vw,3.25rem);line-height:1.06;letter-spacing:-.055em}.hero-text{font-size:1.12rem;line-height:1.65}
.hero-actions{flex-direction:column;gap:14px;width:100%}.hero-actions .btn,.contact-actions .btn,.btn,.nav-cta,.nav-book{width:100%;max-width:100%;min-width:0}
.trust-row{display:grid;grid-template-columns:1fr}.service-card{padding:24px}.service-photo{aspect-ratio:1/1;border-radius:16px}.before-after{grid-template-columns:1fr}
}


/* V12 modal success + toast fix */
.form-submit:disabled {
  opacity: .72;
  cursor: not-allowed;
}

.karfort-toast {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 120;
  max-width: min(420px, calc(100vw - 36px));
  padding: 14px 18px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--gold-bright), var(--gold));
  color: #120e03;
  font-weight: 900;
  box-shadow: 0 18px 50px rgba(0,0,0,.35);
  opacity: 0;
  transform: translateY(18px);
  pointer-events: none;
  transition: opacity .35s ease, transform .35s ease;
}

.karfort-toast.show {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 560px) {
  .karfort-toast {
    left: 18px;
    right: 18px;
    bottom: 18px;
    text-align: center;
    border-radius: 18px;
  }
}
