/* ============================================
   MNCV — shared styles for all pages
   ============================================ */
:root{
  --black:#0A0C10;          /* base black with slight blue hue */
  --deep:#0D1218;
  --panel:#11181F;
  --gray:#9AA6B0;
  --white:#FFFFFF;          /* full white */
  --line:rgba(255,255,255,.18);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--black);
  color:var(--white);
  font-family:'Inter',sans-serif;
  font-size:16px;line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

.display{
  font-family:'Archivo',sans-serif;
  font-variation-settings:'wdth' 116;
  font-weight:850;
  text-transform:uppercase;
  line-height:1.05;
}
.label{
  font-size:.75rem;font-weight:600;
  letter-spacing:.24em;text-transform:uppercase;
  color:var(--gray);
}
.wrap{max-width:1200px;margin:0 auto}
section{padding:5rem 1.5rem}
.sec-head{margin-bottom:2.5rem}
.sec-head h2{font-size:clamp(1.9rem,3.6vw,2.6rem);margin-top:.6rem}
.sec-head p{color:var(--gray);max-width:38rem;margin-top:.8rem}

/* ---------- NAV (transparent, BMW style) ---------- */
header{
  position:fixed;top:0;left:0;right:0;z-index:50;
  background:linear-gradient(to bottom, rgba(10,12,16,.85), transparent);
  transition:background .3s;
}
header.solid{background:rgba(10,12,16,.95);border-bottom:1px solid var(--line)}
.nav{
  max-width:1200px;margin:0 auto;
  display:flex;align-items:center;gap:2rem;
  padding:.9rem 1.5rem;
}
.brand img{height:52px;width:auto}
.brand-name{
  display:none;
  font-family:'Archivo',sans-serif;
  font-variation-settings:'wdth' 122;
  font-weight:900;text-transform:uppercase;
  font-size:1.3rem;line-height:1;
}
.nav-links{display:flex;gap:1.8rem;margin-left:auto}
.nav-links a{
  font-size:.88rem;font-weight:500;color:var(--white);
  opacity:.85;transition:opacity .2s;
}
.nav-links a:hover, .nav-links a.active{opacity:1}
.nav-wa{
  margin-left:1rem;
  font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  border:1px solid var(--white);color:var(--white);
  padding:.55rem 1rem;border-radius:2px;
  transition:background .2s,color .2s;
}
.nav-wa:hover{background:var(--white);color:var(--black)}
.menu-btn{
  display:none;margin-left:auto;background:none;
  border:1px solid var(--white);color:var(--white);
  padding:.5rem .9rem;border-radius:2px;cursor:pointer;
  font-family:'Inter',sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.14em;
}

/* ---------- BUTTONS ---------- */
.btn{
  display:inline-block;
  font-weight:600;text-transform:uppercase;
  font-size:.8rem;letter-spacing:.1em;
  padding:.9rem 1.6rem;border-radius:2px;
  transition:opacity .2s, background .2s, color .2s;
}
.btn-solid{background:var(--white);color:var(--black)}
.btn-solid:hover{opacity:.85}
.btn-ghost{border:1px solid var(--white);color:var(--white)}
.btn-ghost:hover{background:var(--white);color:var(--black)}

/* ---------- HERO ---------- */
.hero{
  position:relative;min-height:100svh;
  display:flex;align-items:flex-end;
  overflow:hidden;
}
.hero-bg{position:absolute;inset:0;background:var(--deep)}
.hero-bg img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;opacity:.5;
}
.hero-bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to top, var(--black) 5%, rgba(10,12,16,.35) 45%, transparent 80%);
}
.hero-inner{
  position:relative;z-index:2;width:100%;
  max-width:1200px;margin:0 auto;
  padding:8rem 1.5rem 4.5rem;
}
.hero-inner h1{font-size:clamp(2.4rem,5.5vw,4.4rem)}
.hero-inner .tagline{
  margin-top:.6rem;
  font-family:'Archivo',sans-serif;font-weight:600;text-transform:uppercase;
  letter-spacing:.12em;font-size:clamp(.95rem,1.8vw,1.25rem);color:var(--white);
}
.hero-inner .sub{margin-top:1rem;color:var(--gray);font-size:1rem;max-width:34rem}
.hero-cta{margin-top:2rem;display:flex;gap:1rem;flex-wrap:wrap}

/* ---------- ROTATING SERVICE SHOWCASE (home) ---------- */
.rotator{background:var(--deep);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.rot-inner{
  max-width:1200px;margin:0 auto;
  display:grid;grid-template-columns:1.05fr .95fr;
  min-height:480px;
}
.rot-img{position:relative;overflow:hidden;background:var(--panel)}
.rot-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .5s ease}
.rot-body{padding:3.5rem 3rem;display:flex;flex-direction:column;justify-content:center}
.rot-body h3{
  font-family:'Archivo',sans-serif;font-weight:850;text-transform:uppercase;
  font-size:clamp(1.5rem,2.8vw,2.2rem);line-height:1.08;
}
.rot-body p{color:var(--gray);margin-top:1rem;max-width:30rem}
.rot-body .btn{margin-top:1.8rem;align-self:flex-start}
.rot-nav{display:flex;gap:.5rem;margin-top:2.2rem}
.rot-nav button{
  flex:1;max-width:70px;height:3px;border:none;border-radius:2px;cursor:pointer;
  background:rgba(255,255,255,.2);transition:background .3s;
}
.rot-nav button.active{background:var(--white)}
@media (prefers-reduced-motion:reduce){ .rot-img img{transition:none} }

/* ---------- LOCATION BAR (BMW style) ---------- */
.locbar{
  display:flex;align-items:center;justify-content:center;gap:1rem;
  background:linear-gradient(120deg, #17273a, #0f1a28);
  padding:2.4rem 1.5rem;
  transition:opacity .2s;
}
.locbar:hover{opacity:.9}
.locbar img{height:42px;width:auto}
.locbar span{
  font-family:'Archivo',sans-serif;font-weight:700;
  font-size:clamp(1.05rem,2.4vw,1.5rem);
}

/* ---------- SERVICES LIST (services page) ---------- */
.svc-list{border-top:1px solid var(--line)}
.svc{
  display:grid;grid-template-columns:380px 1fr;gap:2.5rem;align-items:center;
  padding:2.2rem 0;border-bottom:1px solid var(--line);
}
.svc-img{border-radius:4px;overflow:hidden;background:var(--panel);height:220px}
.svc-img img{width:100%;height:100%;object-fit:cover}
.svc h3{
  font-family:'Archivo',sans-serif;font-weight:800;
  text-transform:uppercase;font-size:1.2rem;
}
.svc p{color:var(--gray);font-size:.94rem;max-width:36rem;margin-top:.5rem}

/* ---------- BRANDS ---------- */
.brand-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));
  gap:1px;background:var(--line);border:1px solid var(--line);
}
.brand-cell{
  background:var(--black);height:110px;
  display:flex;align-items:center;justify-content:center;
  padding:1.2rem;
}
.brand-cell img{max-height:46px;width:auto;max-width:80%;object-fit:contain}
.brand-cell span{
  font-family:'Archivo',sans-serif;font-weight:700;text-transform:uppercase;
  font-size:.85rem;letter-spacing:.06em;color:var(--gray);text-align:center;
}

/* ---------- ABOUT PAGE ---------- */
.about-hero{padding-top:10rem}
.about-body{max-width:44rem}
.about-body p{color:var(--gray);margin-bottom:1.2rem;font-size:1.02rem}
.about-body p b{color:var(--white)}
.ig-line{display:flex;align-items:center;gap:.7rem;margin-top:1.5rem}
.ig-line img{height:26px;width:auto}
.ig-line a{font-weight:600}
.ig-line a:hover{text-decoration:underline}

/* ---------- FOOTER ---------- */
footer{border-top:1px solid var(--line);padding:3.5rem 1.5rem 2.5rem;background:var(--black)}
.foot-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:2.5rem}
.foot-grid h4{font-family:'Archivo',sans-serif;font-weight:800;text-transform:uppercase;font-size:.85rem;margin-bottom:.9rem}
.foot-grid p, .foot-grid a{color:var(--gray);font-size:.86rem;display:block;margin-bottom:.4rem}
.foot-grid a:hover{color:var(--white)}
.socials{display:flex;gap:.9rem;margin-top:.6rem}
.socials img{height:28px;width:28px;object-fit:contain;opacity:.85;transition:opacity .2s}
.socials a:hover img{opacity:1}
.copyright{
  max-width:1200px;margin:2.5rem auto 0;padding-top:1.5rem;
  border-top:1px solid var(--line);
  color:var(--gray);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;
}

/* ---------- RESPONSIVE ---------- */
@media (max-width:900px){
  .nav-links{
    display:none;position:absolute;top:100%;left:0;right:0;
    flex-direction:column;gap:0;background:var(--deep);
    border-bottom:1px solid var(--line);padding:.5rem 1.5rem 1rem;
  }
  .nav-links.open{display:flex}
  .nav-links a{padding:.8rem 0;border-bottom:1px solid var(--line)}
  .nav-wa{display:none}
  .menu-btn{display:block}
  .rot-inner{grid-template-columns:1fr;min-height:0}
  .rot-img{height:260px;position:relative}
  .rot-body{padding:2.2rem 1.5rem}
  .svc{grid-template-columns:1fr;gap:1rem}
  .svc-img{height:200px}
  .foot-grid{grid-template-columns:1fr}
}
:focus-visible{outline:2px solid var(--white);outline-offset:2px}
