
:root{
  --bg:#050607;--bg2:#0a0c0f;--panel:#0d1014;--panel2:#11151a;--text:#f5f7f9;--muted:#9ba4ad;
  --line:rgba(255,255,255,.11);--blue:#2388e8;--blue2:#56adff;--max:1280px;--radius:18px;
  --shadow:0 25px 70px rgba(0,0,0,.38)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font:inherit}
.container{width:min(var(--max),calc(100% - 40px));margin:auto}.eyebrow{display:flex;align-items:center;gap:10px;color:var(--blue2);font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem}.eyebrow:before{content:"";width:32px;height:2px;background:var(--blue)}
h1,h2,h3{font-family:"Arial Narrow",Arial,sans-serif;letter-spacing:-.025em;margin:0;line-height:1.02;word-break:normal;overflow-wrap:normal;hyphens:none}h1{font-size:clamp(3rem,4.4vw,5rem);text-transform:uppercase}h2{font-size:clamp(1.95rem,3.7vw,3.8rem);text-transform:uppercase}h3{font-size:1.3rem}.lead{font-size:clamp(1.05rem,1.6vw,1.35rem);color:#d9e1e7;max-width:780px}.muted{color:var(--muted)}
.topbar{position:sticky;top:0;z-index:50;background:rgba(3,4,5,.92);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.nav{height:76px;display:flex;align-items:center;gap:24px}.brand{display:flex;flex-direction:column;line-height:.8;min-width:175px}.brand strong{font-size:1.65rem;letter-spacing:.04em;font-style:italic}.brand span{color:var(--blue);font-weight:900;letter-spacing:.28em;font-size:.72rem;margin-left:32px}.navlinks{display:flex;align-items:center;gap:22px;margin-left:auto}.navlinks a{font-size:.78rem;font-weight:800;text-transform:uppercase;color:#d7dde2;position:relative;padding:29px 0}.navlinks a:hover,.navlinks a.active{color:white}.navlinks a.active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--blue)}.nav-phone{display:flex;gap:9px;align-items:center;font-weight:800;font-size:.92rem;margin-left:10px}.nav-phone svg{width:18px;color:var(--blue)}.menu-btn{display:none;margin-left:auto;background:transparent;border:1px solid var(--line);color:white;border-radius:10px;width:44px;height:44px;align-items:center;justify-content:center}
.hero{min-height:650px;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);align-items:stretch;border-bottom:1px solid var(--line);overflow:hidden}.hero-copy{min-width:0;padding:92px max(40px,calc((100vw - var(--max))/2)) 78px max(28px,calc((100vw - var(--max))/2));padding-right:48px;background:radial-gradient(circle at 20% 15%,rgba(35,136,232,.09),transparent 38%),linear-gradient(135deg,#07090b,#040506)}.hero-copy h1{max-width:none;margin:18px 0 24px}.hero-copy h1 em{font-style:normal;color:var(--blue2)}.hero-copy p{max-width:680px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:32px 0}.btn{display:inline-flex;align-items:center;gap:12px;padding:14px 21px;border-radius:4px;text-transform:uppercase;font-size:.82rem;font-weight:900;letter-spacing:.03em;border:1px solid var(--line);transition:.2s}.btn.primary{background:var(--blue);border-color:var(--blue)}.btn:hover{transform:translateY(-2px);border-color:var(--blue2)}.hero-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.tag{border:1px solid var(--line);background:rgba(255,255,255,.025);padding:9px 12px;border-radius:999px;color:#cbd4db;font-size:.82rem}.tag b{color:white}
.hero-media{position:relative;background:#111;min-height:650px}.hero-media img{width:100%;height:100%;object-fit:cover}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#050607 0%,rgba(5,6,7,.24) 24%,rgba(0,0,0,.05) 70%,rgba(0,0,0,.28) 100%),linear-gradient(0deg,rgba(5,6,7,.42),transparent 50%)}
.quickbar{border-bottom:1px solid var(--line);background:#080a0d}.quickgrid{display:grid;grid-template-columns:repeat(4,1fr)}.quick{padding:24px;border-right:1px solid var(--line);display:flex;gap:14px}.quick:last-child{border-right:0}.quick .icon{width:43px;height:43px;border:1px solid rgba(35,136,232,.45);border-radius:50%;display:grid;place-items:center;color:var(--blue2);flex:0 0 auto}.quick strong{display:block}.quick small{color:var(--muted)}
section{padding:90px 0;border-bottom:1px solid var(--line)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:36px}.section-head p{max-width:620px;color:var(--muted);margin:0}.section-head h2{margin-top:12px}.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.visual{border:1px solid var(--line);background:var(--panel);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.visual img{width:100%;aspect-ratio:16/9;object-fit:cover}.copy p{color:#cbd2d8}.copy .bigline{font-size:1.35rem;color:white;font-weight:700}.accent{color:var(--blue2)}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.card{position:relative;background:linear-gradient(160deg,var(--panel2),#090b0d);border:1px solid var(--line);padding:26px;border-radius:10px;min-height:220px;transition:.2s}.card:hover{transform:translateY(-4px);border-color:rgba(35,136,232,.55)}.card .num{position:absolute;right:20px;top:16px;font-size:3rem;font-weight:900;color:rgba(255,255,255,.04)}.card .icon{width:44px;height:44px;color:var(--blue2);margin-bottom:18px}.card p{color:var(--muted);font-size:.93rem}.card a{color:var(--blue2);font-size:.78rem;text-transform:uppercase;font-weight:900;letter-spacing:.05em}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.service-card{border:1px solid var(--line);background:var(--panel);padding:25px;border-radius:8px}.service-card svg{width:38px;color:var(--blue2);margin-bottom:15px}.service-card p{color:var(--muted);margin-bottom:0}
.statement{padding:72px 0;background:radial-gradient(circle at 50% 50%,rgba(35,136,232,.12),transparent 45%),#080a0c;text-align:center}.statement h2{max-width:980px;margin:0 auto}.statement p{max-width:760px;margin:22px auto 0;color:#bec8cf}
.steps{counter-reset:step;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.step{background:#090b0d;padding:28px;min-height:220px}.step:before{counter-increment:step;content:"0" counter(step);display:block;color:var(--blue2);font-weight:900;font-size:1.5rem;margin-bottom:18px}.step p{color:var(--muted)}
.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.project{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--panel)}.project-img{height:210px;background-size:cover;background-position:center;position:relative}.project-img:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.8),transparent 70%)}.project-body{padding:22px}.project-body p{color:var(--muted)}
.timeline{position:relative;margin:20px 0}.timeline:before{content:"";position:absolute;left:16px;top:0;bottom:0;width:1px;background:var(--line)}.titem{position:relative;padding:0 0 34px 55px}.titem:before{content:"";position:absolute;left:9px;top:5px;width:15px;height:15px;border-radius:50%;background:var(--bg);border:3px solid var(--blue)}.titem small{color:var(--blue2);font-weight:900;text-transform:uppercase}.titem p{color:var(--muted);margin-bottom:0}
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:18px}.contact-card{padding:34px;border:1px solid var(--line);background:var(--panel);border-radius:12px}.contact-row{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}.contact-row:last-child{border-bottom:0}.contact-row svg{width:26px;flex:0 0 auto;color:var(--blue2)}.mapbox{min-height:390px;border:1px solid var(--line);border-radius:12px;background:radial-gradient(circle at 70% 40%,rgba(35,136,232,.22),transparent 28%),linear-gradient(135deg,#101923,#080b0e);display:flex;flex-direction:column;justify-content:flex-end;padding:34px;position:relative;overflow:hidden}.mapbox:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:34px 34px;transform:rotate(-8deg) scale(1.2)}.mapbox>*{position:relative;z-index:1}.map-pin{width:75px;height:75px;border:2px solid var(--blue);border-radius:50% 50% 50% 0;transform:rotate(-45deg);margin-bottom:24px;display:grid;place-items:center;background:#0a0f14}.map-pin span{width:18px;height:18px;background:var(--blue);border-radius:50%;transform:rotate(45deg)}
.cta{background:linear-gradient(90deg,#0d2540,#07111d);border:1px solid rgba(35,136,232,.4);padding:34px;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:30px}.cta h3{font-size:1.8rem;text-transform:uppercase}.cta p{color:#b8c4ce;margin:4px 0 0}
.page-hero{padding:86px 0 0;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#080a0c,#050607)}.page-hero .inner{display:grid;grid-template-columns:.9fr 1.1fr;min-height:470px}.page-copy{min-width:0;padding:55px 30px 60px 0;display:flex;flex-direction:column;justify-content:center}.page-copy h1{font-size:clamp(2.8rem,4.6vw,5rem);margin:14px 0 22px;word-break:normal;overflow-wrap:normal;hyphens:none}.page-media{overflow:hidden;border-left:1px solid var(--line);position:relative}.page-media img{width:100%;height:100%;object-fit:cover}.page-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#050607,transparent 35%),linear-gradient(0deg,rgba(0,0,0,.4),transparent)}
.notice{border-left:3px solid var(--blue);padding:16px 20px;background:rgba(35,136,232,.06);color:#dbe6ef}.legal{font-size:.82rem;color:#7f8b95;max-width:920px}.credits-list{display:grid;gap:16px}.credits-list div{padding:18px;border:1px solid var(--line);background:var(--panel)}
footer{padding:48px 0 28px;background:#030405}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px}.footer-title{font-weight:900;text-transform:uppercase;margin-bottom:12px}.footer-links{display:grid;gap:8px}.footer-links a{color:#9ba6af}.footer-links a:hover{color:white}.footer-bottom{margin-top:36px;padding-top:22px;border-top:1px solid var(--line);display:flex;gap:20px;justify-content:space-between;align-items:flex-start;color:#6f7982;font-size:.78rem}.footer-bottom p{margin:0;max-width:850px}.footer-bottom a{color:#aab4bc}
.reveal{opacity:0;transform:translateY(24px);transition:.65s ease}.reveal.in{opacity:1;transform:none}
@media(max-width:1100px){.navlinks{display:none}.menu-btn{display:flex}.nav-phone{margin-left:auto}.hero{grid-template-columns:1fr}.hero-copy{padding:72px 28px 46px}.hero-media{min-height:420px}.quickgrid{grid-template-columns:repeat(2,1fr)}.cards{grid-template-columns:repeat(2,1fr)}.service-grid{grid-template-columns:repeat(2,1fr)}.page-hero .inner{grid-template-columns:1fr}.page-copy{padding:54px 0}.page-media{min-height:390px;border-left:0;border-top:1px solid var(--line)}.project-grid{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(2,1fr)}.mobile-nav{display:flex!important}}
@media(max-width:720px){.container{width:min(100% - 28px,var(--max))}.nav{height:68px}.nav-phone{display:none}.brand{min-width:0}.brand strong{font-size:1.35rem}.hero{min-height:auto}.hero-copy{padding:58px 20px 40px}.hero-copy h1{max-width:none}.hero-media{min-height:320px}.quickgrid{grid-template-columns:1fr}.quick{border-right:0;border-bottom:1px solid var(--line)}section{padding:64px 0}.section-head{align-items:flex-start;flex-direction:column}.split,.contact-grid{grid-template-columns:1fr}.cards,.service-grid,.project-grid,.steps{grid-template-columns:1fr}.cta{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.page-media{min-height:300px}.page-copy h1{font-size:2.55rem}.hero-copy h1{font-size:2.65rem}}
.mobile-panel{display:none;position:absolute;top:100%;left:0;right:0;z-index:100;background:rgba(3,4,5,.995);padding:18px 26px 32px;height:calc(100vh - 68px);height:calc(100dvh - 68px);overflow-y:auto;-webkit-overflow-scrolling:touch;border-top:1px solid var(--line);box-shadow:0 24px 50px rgba(0,0,0,.55)}.mobile-panel.open{display:block}.mobile-panel a{display:block;padding:16px 4px;border-bottom:1px solid var(--line);font-weight:800;text-transform:uppercase}.mobile-panel a:first-child{padding-top:10px}.mobile-panel .mobile-phone{margin-top:12px;color:var(--blue2)}body.menu-open{overflow:hidden}.menu-btn{cursor:pointer;touch-action:manipulation}
.footer-links span{color:#9ba6af}
.featured-project{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);border:1px solid var(--line);background:linear-gradient(135deg,#0b0e12,#07090b);border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}
.featured-project-media{min-height:480px;overflow:hidden;background:#090b0d}.featured-project-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.featured-project-media:hover img{transform:scale(1.025)}
.featured-project-copy{padding:44px;display:flex;flex-direction:column;justify-content:center}.featured-project-copy h3{font-size:clamp(1.8rem,3vw,3rem);text-transform:uppercase;margin:12px 0 18px}.featured-project-copy p{color:#b7c1c9}.project-kicker{color:var(--blue2);text-transform:uppercase;letter-spacing:.1em;font-size:.76rem;font-weight:900}.project-mini-specs{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:22px 0 28px}.project-mini-specs span{background:#090b0e;padding:14px;color:#c7d0d7}.project-mini-specs b{display:block;color:white;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px}
.project-detail-hero{position:relative;min-height:680px;overflow:hidden;border-bottom:1px solid var(--line);background:#050607}.project-detail-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.project-detail-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,4,5,.96) 0%,rgba(3,4,5,.77) 34%,rgba(3,4,5,.25) 72%,rgba(3,4,5,.45) 100%),linear-gradient(0deg,rgba(3,4,5,.84),transparent 50%)}.project-detail-overlay{position:relative;z-index:2;min-height:680px;display:flex;align-items:flex-end;padding:110px 0 72px}.project-detail-overlay h1{max-width:900px;margin:16px 0 20px}.project-detail-overlay h1 em{font-style:normal;color:var(--blue2)}.project-detail-overlay .lead{max-width:760px}
.project-story-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start}.project-story-grid h2{margin-top:12px}.project-story-text{font-size:1.08rem;color:#c5ced5}.project-story-text p:first-child{margin-top:0}
.project-dark-section{background:linear-gradient(180deg,#07090c,#0a0d11)}.spec-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.spec{background:#090b0e;padding:24px 18px;min-height:110px}.spec small{display:block;color:var(--blue2);text-transform:uppercase;font-weight:900;letter-spacing:.08em;margin-bottom:8px}.spec strong{font-size:1.12rem}
.project-photo-portrait img{aspect-ratio:4/5;object-fit:cover;object-position:center}.project-gallery{display:grid;grid-template-columns:1fr 1fr;gap:18px}.project-gallery figure{margin:0;border:1px solid var(--line);background:var(--panel);border-radius:12px;overflow:hidden}.project-gallery img{width:100%;height:640px;object-fit:cover}.project-gallery figcaption{padding:16px 18px;color:#aab5bd;font-size:.9rem;border-top:1px solid var(--line)}
@media(max-width:1100px){.featured-project{grid-template-columns:1fr}.featured-project-media{min-height:390px}.spec-grid{grid-template-columns:repeat(3,1fr)}.project-story-grid{grid-template-columns:1fr;gap:26px}.project-gallery img{height:520px}}
@media(max-width:720px){.featured-project-copy{padding:26px}.featured-project-media{min-height:300px}.project-mini-specs{grid-template-columns:1fr}.project-detail-hero,.project-detail-overlay{min-height:600px}.project-detail-overlay{padding:90px 0 50px}.spec-grid{grid-template-columns:1fr 1fr}.project-gallery{grid-template-columns:1fr}.project-gallery img{height:auto}.project-photo-portrait img{aspect-ratio:auto}}

.project-gallery figure img{display:block;width:100%;height:auto;}

/* E36 project galleries */
.e36-projects-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.e36-project-card{border:1px solid var(--line);background:var(--panel);border-radius:12px;overflow:hidden}.e36-project-card>a{display:block;overflow:hidden}.e36-project-card>a img{width:100%;height:340px;object-fit:cover;transition:transform .35s ease}.e36-project-card:hover>a img{transform:scale(1.025)}.e36-project-card-body{padding:26px}.e36-project-card-body h3{font-size:1.7rem;margin:10px 0 12px;text-transform:uppercase}.e36-project-card-body p{color:var(--muted);margin-bottom:24px}.photo-wall{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.photo-wall-item{display:block;border:1px solid var(--line);background:var(--panel);border-radius:10px;overflow:hidden;min-height:0}.photo-wall-item img{width:100%;height:360px;object-fit:cover;transition:transform .25s ease,filter .25s ease}.photo-wall-item:hover img{transform:scale(1.018);filter:brightness(1.08)}.motorsport-note{display:flex;align-items:center;gap:16px;border:1px solid rgba(35,136,232,.4);background:rgba(35,136,232,.07);padding:18px 20px;margin-bottom:26px}.motorsport-note strong{color:var(--blue2);text-transform:uppercase;letter-spacing:.08em;font-size:.82rem}.motorsport-note span{color:#c9d2d8}@media(max-width:1000px){.photo-wall{grid-template-columns:repeat(2,1fr)}.photo-wall-item img{height:320px}}@media(max-width:720px){.e36-projects-grid{grid-template-columns:1fr}.e36-project-card>a img{height:260px}.photo-wall{grid-template-columns:1fr}.photo-wall-item img{height:auto;max-height:none}.motorsport-note{align-items:flex-start;flex-direction:column;gap:6px}}

/* SEO/performance content refinements */
.hero-focus{margin:-8px 0 18px;color:#fff;font-size:1.08rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
.local-seo{background:linear-gradient(180deg,rgba(35,136,232,.035),transparent)}
.local-cards .card{min-height:200px}
.local-cards .card h3{padding-right:42px}
.service-card a{display:inline-block;margin-top:10px;color:var(--blue2);font-size:.78rem;text-transform:uppercase;font-weight:900;letter-spacing:.05em}
.project-seo-links{padding-top:64px;padding-bottom:64px}
.project-seo-links .cta{margin:0}
@media(max-width:720px){.hero-focus{font-size:.92rem;line-height:1.5}.project-seo-links{padding-top:48px;padding-bottom:48px}}


/* BMW Specialist FAQ */
.faq-section{background:linear-gradient(180deg,#06080a,#090c0f);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.faq-section .section-head{margin-bottom:34px}
.faq-list{max-width:980px;border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{position:relative;list-style:none;cursor:pointer;padding:22px 58px 22px 0;font-size:1.08rem;font-weight:900;line-height:1.45;color:#f5f7f9;transition:color .2s ease}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--blue2);font-size:1.35rem;font-weight:500;transition:.2s ease}
.faq-item[open] summary{color:var(--blue2)}
.faq-item[open] summary::after{content:"−";background:rgba(35,136,232,.08);border-color:rgba(35,136,232,.35)}
.faq-answer{max-width:890px;padding:0 58px 22px 0;color:#aeb8c0}
.faq-answer p{margin:0;line-height:1.75}
.faq-answer a{color:var(--blue2);font-weight:800}
@media(max-width:720px){.faq-section .section-head{margin-bottom:22px}.faq-item summary{padding:19px 48px 19px 0;font-size:1rem}.faq-item summary::after{right:0;width:30px;height:30px}.faq-answer{padding:0 42px 20px 0}}
