*, *::before, *::after {margin: 0;padding: 0;box-sizing: border-box;}
:root {--bg: #fff;--bg2: #bcbdc1;--dark: #111;--mid: #555;--light: #777;--border: #ddd;--nav-height: 107px;--page-padding: 48px;}
@font-face { font-family: 'Dosis'; src: url('fonts/dosis-300.woff2') format('woff2'); font-weight: 300; font-display: swap; }
@font-face { font-family: 'Dosis'; src: url('fonts/dosis-600.woff2') format('woff2'); font-weight: 600; font-display: swap; }
@font-face { font-family: 'Raleway'; src: url('fonts/raleway-300.woff2') format('woff2'); font-weight: 300; font-display: swap; }
@font-face { font-family: 'Raleway'; src: url('fonts/raleway-600.woff2') format('woff2'); font-weight: 600; font-display: swap; }
@font-face { font-family: 'Raleway'; src: url('fonts/raleway-700.woff2') format('woff2'); font-weight: 700; font-display: swap; }
html {scroll-behavior: smooth;}
body {background: var(--bg);color: var(--dark);font-family: 'Raleway', sans-serif;font-weight: 300;line-height: 1.7;overflow-x: hidden;}
a {text-decoration: none;color: inherit;}
img {max-width:100%; height:auto;}
nav {position: fixed;top: 0;left: 0;right: 0;z-index: 200;padding: 8px 48px 8px 28px;display: flex;align-items: center;justify-content: space-between;background: var(--bg);backdrop-filter: blur(10px);-webkit-backdrop-filter: blur(10px);border-bottom: 1px solid var(--border);}
.nav-logo {height: 68px;object-fit: contain;}
.nav-links {display: flex;gap: 32px;list-style: none;}
.nav-links a {color: var(--mid);font-size: 12px;letter-spacing: 2px;text-transform: uppercase;font-weight: 600;transition: color 0.3s ease;}
.nav-links a:hover {color: var(--dark);}
.nav-cta {background: var(--dark);color: #fff;padding: 12px 24px;font-size: 11px;letter-spacing: 2px;text-transform: uppercase;font-weight: 700;cursor: pointer;border: none;transition: background 0.3s ease, transform 0.2s ease;}
.nav-cta:hover {background: var(--mid);transform: translateY(-1px);}
.burger {display: none;flex-direction: column;gap: 5px;cursor: pointer;background: none;border: none;padding: 4px;}
.burger span {display: block;width: 24px;height: 1.5px;background: var(--dark);}
.mob {position: fixed;top: 0;right: -100%;width: 100%;height: 100vh;background: #fff;z-index: 1000;display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 30px;transition: right 0.3s ease;}
.mob.open {right: 0;}
.mob a {font-size: 12px;letter-spacing: 3px;text-transform: uppercase;font-weight: 600;}
.mob-x {position: absolute;top: 20px;right: 24px;background: none;border: none;font-size: 28px;cursor: pointer;}
.hero-links{position:absolute; top: var(--nav-height); right: var(--page-padding); display:flex; flex-direction:row; align-items:center; gap:30px; z-index:10;}
.hero-links a{display:inline-block; font-size:11px; letter-spacing:3px; text-transform:uppercase; font-weight:700; color:var(--light); white-space:nowrap; transition:.25s ease;}
.hero-links a:hover{color:var(--dark);}
.hero-links a:not(:last-child)::after{content:""; display:inline-block; width:1px; height:14px; background:var(--border); margin-left:30px; vertical-align:middle;}
@media (max-width:900px){
.hero-links{display:none;}}
.eyebrow {font-size: 10px;letter-spacing: 5px;text-transform: uppercase;color: var(--light);margin-bottom: 32px;font-weight: 600;}
.hero {min-height: 100vh;display: flex;align-items: center;justify-content: center;padding: 130px 48px 90px;text-align: center;position: relative;}
.hero::before {content: '';position: absolute;inset: 0;background: repeating-linear-gradient(0deg, transparent, transparent 79px, var(--border) 80px),repeating-linear-gradient(90deg, transparent, transparent 79px, var(--border) 80px);opacity: .45;pointer-events: none;}
.hero-inner {position: relative;z-index: 1;max-width: 780px;}
.hero-title,
.hero-subtitle {font-family: 'Dosis', sans-serif;font-size: clamp(42px, 7vw, 52px);margin-bottom: 22px;font-weight: 300;line-height: 1.04;}
.hero-title em,
.hero-subtitle em {font-style:italic;color:var(--mid)}
.hero-sub {font-size: 13.5px;color: var(--mid);max-width: 460px;margin: 0 auto 40px;font-weight: 300;line-height: 2;}
.btns {display: flex;gap: 14px;justify-content: center;flex-wrap: wrap;}
.btn-f {background: var(--dark);color: #fff;padding: 14px 36px;font-size: 12px;letter-spacing: 2px;text-transform: uppercase;font-weight: 700;border: 1px solid var(--dark);cursor: pointer;display: inline-block;transition: background .3s ease, color .3s ease, box-shadow .3s ease;}
.btn-f:hover {background: #fff;color: var(--dark);box-shadow: 0 4px 12px rgba(0,0,0,0.08);}
.btn-o {background: transparent;color: var(--dark);padding: 14px 36px;font-size: 12px;letter-spacing: 2px;text-transform: uppercase;font-weight: 600;border: 1px solid var(--dark);cursor: pointer;display: inline-block;transition: background .3s ease, color .3s ease, box-shadow .3s ease;}
.btn-o:hover {background: var(--dark);color: #fff;}
.btn-q {background:#fff;color:#111;padding:12px 26px;font-size:9px;letter-spacing:2.5px;margin-left: auto;text-transform:uppercase;font-weight:700;font-family:Raleway,sans-serif;white-space:nowrap;display:inline-block}
.btn-q:hover {background: var(--dark);color: #fff;box-shadow: 0 0 0 1px #fff}
.btn-g {position:relative; max-width:800px;}
.ticker {background: var(--dark);padding: 11px 0;overflow: hidden;white-space: nowrap;}
.ticker-track {display: inline-block;animation: tick 28s linear infinite;}
.ticker-track span {font-size: 9px;letter-spacing: 3px;text-transform: uppercase;color: #fff;font-weight: 700;margin: 0 36px;opacity: .65;}
@keyframes tick {0% {transform: translate3d(0, 0, 0);}100% {transform: translate3d(-50%, 0, 0);}}
.stats {background: var(--dark);display: grid;grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));}
.stat {padding: 34px 20px;text-align: center;border-right: 1px solid rgba(255,255,255,.08);border-bottom: 1px solid rgba(255,255,255,.08);}
.stat:last-child {border-right: none;border-bottom: none;}
.stat-n {font-family: 'Dosis', sans-serif;font-size: 42px;font-weight: 300;color: #fff;line-height: 1;}
.stat-l {font-size: 10px;letter-spacing: 2.5px;text-transform: uppercase;color: rgba(255,255,255,.4);font-weight: 600;margin-top: 6px;}
.sec-label {font-size: 12px;letter-spacing: 4px;text-transform: uppercase;color: var(--light);font-weight: 700;margin-bottom: 16px;}
.sec-title {font-family: 'Dosis', sans-serif;font-size: clamp(32px, 4.5vw, 40px);font-weight: 300;line-height: 1.1;margin-bottom: 20px;}
.sec-title em {font-style: italic;color: var(--mid);}
.featured-build {padding:90px 48px; background:var(--bg);}
.featured-inner {max-width:1150px; margin:auto; display:grid; grid-template-columns:1.2fr 1fr; gap:50px; align-items:center;}
.featured-image {margin: 0; background: #fff; border: 1px solid var(--border); overflow: hidden;}
.featured-image img {width: 100%; display: block; aspect-ratio:4/3; object-fit: cover; transition: transform .6s cubic-bezier(.25,1,.5,1);}
.featured-image:hover img {transform: scale(1.035);}
.featured-content { }
.build-details {display:grid; grid-template-columns:repeat(2,1fr); gap:2px; margin:35px 0;}
.build-details div {background:#fff; border:1px solid var(--border); padding:20px;}
.build-details span {display:block; font-size:9px; letter-spacing:2px; text-transform:uppercase; color:var(--light); margin-bottom:8px;}
.build-details strong {font-size:13px; font-weight:600; text-transform:uppercase;}
@media(max-width:900px){
.featured-build {padding:70px 20px;}
.featured-inner {grid-template-columns:1fr;}
.build-details {grid-template-columns:1fr;}}
.products {padding: 90px 48px;background: var(--bg2);}
.products-head {max-width:1150px; margin:auto;}
.grid {display: grid;grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));gap: 3px;max-width: 1150px;margin: 0 auto 3px;}
.card {background: #fff;border: 1px solid var(--border);display: flex;flex-direction: column;transition: border-color 0.3s ease, box-shadow 0.3s ease;}
.card-img-wrap {width: 100%;aspect-ratio: 1;overflow: hidden;background: #f7f7f9;border-bottom: 1px solid var(--border);}
.card-img {width: 100%;height: 100%;object-fit: cover;display: block;transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1), filter 0.3s ease;}
.card:hover {border-color: var(--dark);box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);}
.card:hover .card-img {transform: scale(1.03);}
.card-body {padding: 16px 18px 20px;border-top: 1px solid var(--border);flex: 1;display: flex;flex-direction: column;}
.card-tag {font-size: 10px;letter-spacing: 1.5px;text-transform: uppercase;color: var(--light);font-weight: 700;display: block;margin-bottom: 6px;}
.card-name {font-size: 14px;color: var(--dark);font-weight: 600;text-transform: uppercase;letter-spacing: 0.5px;margin-bottom: 8px;line-height: 1.3;}
.card-desc {font-size: 12px;color: #444;line-height: 1.6;flex: 1;}
.card-ig {font-size: 11px;letter-spacing: 1.5px;text-transform: uppercase;color: var(--light);font-weight: 700;margin-top: 14px;display: inline-block;transition: color 0.2s ease;}
.card-ig:hover {color: var(--dark);text-decoration: underline;}
.q-bar {background: var(--dark);padding: 40px 40px;display: flex;align-items: center;flex-wrap: wrap;gap: 18px;max-width: 1150px; margin: 0 auto;}
.d-bar {background: var(--dark);padding: 40px 40px;display: flex;align-items: center;gap: 22px;flex-wrap: wrap;}
.sep {width: 1px;height: 20px;background: rgba(255, 255, 255, .15);flex-shrink: 0;}
strong {font-weight: 600;color:inherit;}
.spec-box strong {margin-left: 5px;}
.why {padding:90px 48px; background:#fff;}
.why-inner {max-width:1150px; margin:auto;}
.why-grid {display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:2px; margin:44px auto 0; max-width:1150px;}
.why-card {padding:40px; border:1px solid var(--border); background:#f8f8f8;}
.why-card h3 {font-size:14px; text-transform:uppercase; margin-bottom:12px; letter-spacing:1px;}
.why-card p {font-size:13px; color:var(--mid);}
.sale {padding: 90px 48px;background: var(--bg2);}
.sale-inner {max-width: 950px;margin: 0 auto;}
.steps{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:2px; margin:44px auto 0; max-width:1150px;}
.step {background: var(--bg);border: 1px solid var(--border);padding: 38px 30px;position: relative;}
.step-n {font-family: 'Dosis', sans-serif;font-size: 10px;font-weight: 600;color: #fff;background: #b52b2b;padding: 4px 12px;position: absolute;top: 0;right: 0;text-transform: uppercase;letter-spacing: 1px;}
.step iframe {border-radius: 6px;box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);transition: transform 0.3s ease;max-width: 100%;}
.step:hover iframe {transform: translateY(-2px);}
.step-title {font-size: 12px;letter-spacing: 2px;text-transform: uppercase;color: var(--dark);font-weight: 700;display: block;margin-bottom: 6px;}
.step p {font-size: 12.5px;color: var(--mid);line-height: 1.5;margin-bottom: 10px;}
.video-wrapper {display:flex;justify-content:center;margin:20px 0;}
.video-wrapper iframe {max-width:100%;border-radius:8px;}
.faq {padding: 90px 48px; background: var(--bg);}
.faq-inner {max-width:950px; margin:auto; display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:50px; align-items:start;}
.faq-list {margin-top: 40px;}
.faq-item {background: var(--bg); border: 1px solid var(--border); margin-bottom: 12px; transition: border-color .25s ease;}
.faq-item:hover {border-color: var(--dark);}
.faq-item summary {list-style: none; cursor: pointer; padding: 22px 24px; font-weight: 600; font-size: 14px; color: var(--dark); position: relative;}
.faq-item summary::-webkit-details-marker {display: none;}
.faq-item summary::after {content: "+"; position: absolute; right: 24px; top: 50%; transform: translateY(-50%); font-size: 22px; color: var(--mid);}
.faq-item[open] summary::after {content: "-";}
.faq-item p {padding: 0 24px 24px; font-size: 13px; color: var(--mid); line-height: 1.8;}
.contact {padding: 90px 48px; background: var(--bg);}
.contact-info {padding:10px;}
.contact-item {display:flex; align-items:flex-start; gap:12px; margin-bottom:14px;}
.contact-item a,
.contact-item span {font-size:16px; color: var(--dark); line-height: 1.9; transition:color .2s;}
.contact-item:hover a {color:var(--light);}
.opening-hours {display: flex; flex-direction: column; align-items: flex-start;}
#contact,
#bmw,
#benz,
#audi,
#porsche,
#vw,
#rover,
#bentley,
#mini,
#skoda,
#seat {scroll-margin-top: 110px;}
.map-box {max-width:1150px;margin:auto;background:#fff;border:1px solid var(--border);padding:3px;}
.map-box iframe {display:block;}
.social-contact {text-align:center;}
.social-contact-inner {max-width:750px; margin:auto;}
.form-sub {font-size: 13.5px;color: var(--mid);margin-bottom: 28px;line-height: 1.9;}
.f-row {margin-top: 40px;}
.f-field {display: flex;flex-direction: column;gap: 6px;margin-bottom: 12px;}
.f-field label {font-size: 8px;letter-spacing: 2.5px;text-transform: uppercase;color: var(--light);font-weight: 700;}
.f-field input,
.f-field textarea,
.f-field select {background: #fff;border: 1px solid var(--border);color: var(--dark);font-family: 'Raleway', sans-serif;font-size: 14px;padding: 14px;outline: none;transition: color .2s,transform .2s;}
.f-field input:focus,
.f-field textarea:focus,
.f-field select:focus {border-color: var(--dark);box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.03);}
.f-field textarea {resize: none;height: 110px;}
.visually-hidden {position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0);}
.f-submit {width: 100%;min-width: 150px;background: var(--dark);color: #fff;border: none;padding: 14px;font-size: 10px;letter-spacing: 3px;text-transform: uppercase;font-weight: 700;cursor: pointer;margin-top: 4px;transition: background .3s ease, color .3s ease, box-shadow .3s ease;}
.f-submit:hover {background: var(--mid);}
.form-note{margin-top:18px; text-align:center; font-size:11px; letter-spacing:1px; color:var(--light);}
.f-grid {display: grid;grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));gap: 44px;padding-bottom: 36px;border-bottom: 1px solid rgba(255,255,255,.08);margin-bottom: 24px;}
.f-grid img.card-img {border: 1px solid var(--border);box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);}
@media (max-width: 600px) {.f-submit {width: 100%;}}
.f-about {font-size: 9px;letter-spacing: 2.5px;text-transform: uppercase;color: rgba(255, 255, 255, .4);font-weight: 700;}
.f-about-o {font-size: 12px;color: rgba(255, 255, 255, .55);line-height: 1.6;}
.f-col h2 {font-size: 8.5px;letter-spacing: 3px;text-transform: uppercase;color: rgba(255, 255, 255, .35);font-weight: 700;margin-bottom: 16px;}
.f-col ul {list-style: none;}
.f-col ul li {margin-bottom: 8px;}
.f-col ul li a {font-size: 12px;color: rgba(255, 255, 255, .55);transition: color .2s;}
.f-col ul li a:hover {color: #fff;}
.f-bottom {display: flex;justify-content: space-between;flex-wrap: wrap;gap: 8px;}
.f-bottom p {font-size: 11px;color: rgba(255, 255, 255, .35);}
footer {background: var(--dark);padding: 48px 48px 26px;}
@media (max-width: 1024px) {.grid {grid-template-columns: repeat(2, 1fr);}}
@media (max-width: 900px) {
nav {padding: 8px 20px;}
.nav-links, 
.nav-cta {display: none;}
.burger {display: flex;}
.hero,
.products,
.why,
.sale,
.faq,
.faq-inner,
.contact {padding-left: 20px;padding-right: 20px;}
footer {padding: 40px 20px 22px;}}
.footer-img { width: 250px; max-width: 100%; height: auto; display: block;}
@media (max-width: 560px) {
.grid, 
.f-row, 
.f-grid {grid-template-columns: 1fr;}}
.gallery{padding:90px 48px; background: var(--bg2);}
.gallery-inner{max-width:1150px; margin:auto;}
.gallery-grid{margin-top:45px; display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); column-gap:4px; row-gap:4px;}
@media(max-width:600px) {.gallery{padding:70px 20px;}}
.gallery-text {max-width:520px; margin:auto; font-size:14px; line-height:2; color:var(--mid);}
.gallery-note{font-size:12px; font-weight:600; margin-bottom:10px;}
.gallery-scroll {margin-top:45px; display:inline-block; font-size:10px; letter-spacing:3px; text-transform:uppercase; font-weight:700; border-bottom:1px solid var(--dark); padding-bottom:8px;}
.gallery-item{border:1px solid var(--border); background:#fff; overflow:hidden;}
.gallery-item img{width:100%; aspect-ratio:4/3; object-fit:cover; display:block; transition:.45s ease;}
.gallery-item:hover img{transform:scale(1.03);}
.gallery-item figcaption{position:static; background:#fff; color:var(--dark); padding:18px; border-top:1px solid var(--border);}
.gallery-item figcaption span{display:block; font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--light); margin-bottom:8px;}
.gallery-item h3{font-size:15px; text-transform:uppercase; margin-bottom:14px; font-weight:600;}
.gallery-features{list-style:none; margin-bottom:18px;}
.gallery-features ul {padding-left: 10px;}
.gallery-features li{font-size:12px; color: #444; margin-bottom:6px; position:relative; padding-left:16px;}
.gallery-more{display:flex; justify-content:center; margin-top:50px;}
.gallery-more .btn-o{font-size:11px; letter-spacing:2px; text-transform:uppercase;}
.gallery-small{font-size:12px;}
.process{padding:90px 48px;background:var(--bg2);}
.process-inner{max-width:1150px;margin:auto;}
.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:45px;}
.process-box{background:#fff;border:1px solid var(--border);padding:35px;transition:.3s;}
.process-box:hover{transform:translateY(-4px);border-color:var(--dark);box-shadow:0 15px 35px rgba(0,0,0,.08);}
.process-number{display:block;font-family:'Dosis',sans-serif;font-size:40px;font-weight:300;color:#ccc;}
.process-box h3{font-size:13px;text-transform:uppercase;letter-spacing:2px;margin:15px 0;}
.process-box p{font-size:13px;color:var(--mid);line-height:1.8;}
@media(max-width:900px){
.before-after,.upgrade-details,.project-gallery,.process{padding:70px 20px;}
.process-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){
.process-grid{grid-template-columns:1fr;}
.process-box{padding:28px;}}
.brands-section{padding:90px 48px;background:#fff;}
.brands-inner{max-width:950px;margin:auto;}
.brands-list{margin-top:45px;border-top:1px solid var(--border);}
.brand-row{display:grid;grid-template-columns:260px 1fr 40px;align-items:center;gap:30px;padding:28px 20px;border-bottom:1px solid var(--border);transition:.3s ease;}
.brand-row:hover{background:#f8f8f8;padding-left:30px;}
.brand-name{font-family:'Dosis',sans-serif;font-size:36px;font-weight:300;color:var(--dark);}
.brand-desc{font-size:13px;color:var(--mid);line-height:1.7;}
.brand-arrow{font-size:22px;color:var(--light);}
.brand-row:hover .brand-arrow{color:var(--dark);}
@media(max-width:800px) {
.brand-row{grid-template-columns:1fr;gap:10px;}
.brand-name{font-size:30px;}}
.project-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:4px;margin-top:45px;}
.project-item{overflow:hidden;background:#fff;border:1px solid var(--border);display:block;position:relative;}
.project-item img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:.45s ease;}
.project-item:hover img{transform:scale(1.04);}
.project-item::after{content:"+";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:60px;height:60px;background:rgba(17,17,17,.75);color:#fff;display:flex;align-items:center;justify-content:center;font-size:34px;opacity:0;transition:.3s;border-radius:50%;}
.project-item:hover::after{opacity:1;}
@media(max-width:700px) {.project-gallery{grid-template-columns:1fr;}}
.lightbox{position:fixed; inset:0; background:rgba(0,0,0,.94); display:flex; justify-content:center; align-items:center; opacity:0; visibility:hidden; transition:.25s; z-index:9999;}
.lightbox.show{opacity:1; visibility:visible;}
.lb-image{max-width:92%; max-height:88vh; object-fit:contain; box-shadow:0 15px 60px rgba(0,0,0,.45); animation:zoom .25s ease;}
@keyframes zoom{from{transform:scale(.95); opacity:.5;} to{transform:scale(1); opacity:1;}}
.lb-close,
.lb-prev,
.lb-next{position:absolute; background:none; border:none; color:#fff; cursor:pointer; user-select:none; transition:.25s;}
.lb-close{top:22px; right:28px; font-size:48px;}
.lb-prev{left:20px; top:50%; transform:translateY(-50%); font-size:60px;}
.lb-next{right:20px; top:50%; transform:translateY(-50%); font-size:60px;}
.lb-close:hover,
.lb-prev:hover,
.lb-next:hover{opacity:.7;}
@media(max-width:768px) {
.lb-image{max-width:96%;}
.lb-prev,
.lb-next{font-size:42px;}
.lb-close{font-size:38px;}}