
:root{
  --bg:#07090b; --panel:#0f1317; --panel2:#151a20; --text:#f7f9fb;
  --muted:#aeb8c3; --blue:#14b8e6; --blue2:#38d2ff; --line:#27303a;
  --max:1180px;
}
*{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}
a{color:inherit;text-decoration:none}
img,video{max-width:100%;display:block}
.container{width:min(var(--max),calc(100% - 32px));margin:auto}
.nav{position:sticky;top:0;z-index:50;background:rgba(7,9,11,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px}
.brand{display:flex;align-items:center;gap:12px;font-weight:900;letter-spacing:.04em}
.brand img{width:58px;height:58px;object-fit:contain}
.links{display:flex;align-items:center;gap:22px;font-size:.95rem}
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;padding:13px 20px;font-weight:800;border:1px solid transparent;cursor:pointer}
.btn-primary{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#00141b}
.btn-ghost{border-color:#42505f;background:#0d1115;color:#fff}
.hero{min-height:78vh;display:grid;align-items:center;position:relative;overflow:hidden}
.hero:before{content:"";position:absolute;inset:0;background:
linear-gradient(90deg,rgba(7,9,11,.95) 0%,rgba(7,9,11,.78) 48%,rgba(7,9,11,.28) 100%),
url('assets/cadillac.jpg') center/cover no-repeat;filter:saturate(.9)}
.hero-content{position:relative;z-index:1;padding:86px 0;max-width:720px}
.eyebrow{color:var(--blue2);font-weight:900;text-transform:uppercase;letter-spacing:.18em;font-size:.78rem}
h1{font-size:clamp(2.8rem,7vw,6rem);line-height:.95;margin:.2em 0 .24em;letter-spacing:-.05em}
h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1.04;margin:.25em 0 .5em}
h3{margin:.2em 0 .35em}
.lead{font-size:1.15rem;color:#d8e0e7;max-width:680px}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.trust{display:flex;gap:18px;flex-wrap:wrap;margin-top:24px;color:#c7d0d8;font-size:.92rem}
.section{padding:88px 0}
.section.alt{background:var(--panel)}
.section-head{max-width:760px;margin-bottom:34px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:linear-gradient(180deg,#151a20,#0d1115);border:1px solid var(--line);border-radius:18px;padding:24px}
.card p{color:var(--muted)}
.service-icon{font-size:2rem;margin-bottom:8px}
.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}
.gallery .wide{grid-column:span 7}.gallery .small{grid-column:span 5}
.gallery img{width:100%;height:430px;object-fit:cover;border-radius:16px;border:1px solid var(--line)}
.ba-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.ba-card{background:#0d1115;border:1px solid var(--line);border-radius:18px;overflow:hidden}
.ba-card .copy{padding:18px 20px}
.compare{position:relative;height:420px;overflow:hidden;touch-action:pan-y;contain:paint}
.compare img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.compare .after{clip-path:inset(0 0 0 50%)}
.compare .divider{position:absolute;top:0;bottom:0;left:50%;width:3px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.4)}
.compare input{position:absolute;inset:auto 20px 18px 20px;width:calc(100% - 40px);z-index:5}
.badge{position:absolute;top:14px;padding:7px 10px;border-radius:999px;font-weight:900;font-size:.75rem;background:rgba(0,0,0,.72);z-index:4}
.badge.before{left:14px}.badge.after-badge{right:14px}
.owner{display:grid;grid-template-columns:.85fr 1.15fr;gap:42px;align-items:center}
.owner img{width:100%;max-height:620px;object-fit:cover;border-radius:22px;border:1px solid var(--line)}
.quote-band{background:linear-gradient(120deg,#0b3644,#0f1317 55%);border-top:1px solid #185d70;border-bottom:1px solid #185d70}
.form{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.form .full{grid-column:1/-1}
label{display:block;font-weight:700;font-size:.9rem;margin-bottom:6px}
input,select,textarea{width:100%;border-radius:11px;border:1px solid #35414d;background:#0a0e12;color:#fff;padding:13px 14px;font:inherit}
textarea{min-height:130px;resize:vertical}
.notice{font-size:.87rem;color:#aeb8c3}
.footer{padding:42px 0;border-top:1px solid var(--line);color:#aeb8c3}
.footer-grid{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
.kicker{color:var(--blue2);font-weight:900}
.pill{display:inline-block;border:1px solid #34424f;border-radius:999px;padding:7px 11px;margin:4px 4px 0 0;color:#dce4ea}
.mobile-cta{display:flex;position:fixed;right:18px;bottom:18px;z-index:100;gap:8px;align-items:center}
.mobile-cta .btn{white-space:nowrap;box-shadow:0 10px 28px rgba(0,0,0,.35)}
@media(max-width:860px){
  .links a:not(.nav-quote){display:none}
  .grid-3,.ba-grid,.owner{grid-template-columns:1fr}
  .gallery .wide,.gallery .small{grid-column:1/-1}
  .gallery{grid-template-columns:1fr}.gallery img{height:360px}
  .form{grid-template-columns:1fr}.form .full{grid-column:auto}
  .hero{min-height:72vh}
  .mobile-cta{display:grid;grid-template-columns:1fr 1fr;left:10px;right:10px;bottom:10px;gap:8px}
  .mobile-cta .btn{width:100%;text-align:center}
  body{padding-bottom:82px}
}


/* ---------- V2 premium upgrades ---------- */
:root{
  --glow: 0 0 34px rgba(20,184,230,.18);
}
.service-premium{
  position:relative; overflow:hidden; transform:translateY(0);
  transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease;
}
.service-premium:before{
  content:""; position:absolute; inset:-1px;
  background:linear-gradient(130deg,rgba(56,210,255,.22),transparent 38%,transparent 70%,rgba(20,184,230,.12));
  opacity:0; transition:opacity .35s ease; pointer-events:none;
}
.service-premium:hover{transform:translateY(-7px);border-color:#2489a5;box-shadow:var(--glow)}
.service-premium:hover:before{opacity:1}
.service-premium .service-icon{
  width:52px;height:52px;display:grid;place-items:center;border-radius:14px;
  background:linear-gradient(145deg,#143846,#0f171d);border:1px solid #1f5969;
}
.service-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.mini-pill{font-size:.74rem;font-weight:800;color:#cfeff8;border:1px solid #28515f;border-radius:999px;padding:5px 8px;background:#0c1b21}
.why-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:24px;align-items:stretch}
.why-copy{background:linear-gradient(135deg,#11171d,#0a0d10);border:1px solid var(--line);border-radius:22px;padding:34px}
.why-points{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}
.why-point{padding:16px;border:1px solid #27333d;border-radius:14px;background:#0a0e12}
.why-point strong{display:block;color:white;margin-bottom:4px}
.why-photo{position:relative;min-height:520px;border-radius:22px;overflow:hidden;border:1px solid var(--line)}
.why-photo img{width:100%;height:100%;object-fit:cover}
.why-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.7))}
.reviews-wrap{display:grid;grid-template-columns:300px 1fr;gap:24px;align-items:start}
.rating-box{position:sticky;top:100px;background:linear-gradient(180deg,#121820,#0b0f13);border:1px solid var(--line);border-radius:20px;padding:26px}
.rating-big{font-size:3.8rem;line-height:1;font-weight:950;letter-spacing:-.05em}
.stars{letter-spacing:.08em;color:#ffd56a}
.reviews-track{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.review-card{background:#0d1115;border:1px solid var(--line);border-radius:18px;padding:22px;transition:.3s ease}
.review-card:hover{border-color:#2d6f82;transform:translateY(-3px)}
.review-quote{font-size:1.05rem;color:#e8eef3;margin:10px 0 14px}
.review-source{color:#91a0ad;font-size:.84rem}
.compare{cursor:ew-resize}
.compare .after{transition:none;will-change:clip-path;backface-visibility:hidden}
.compare .divider{transition:left .08s linear;box-shadow:0 0 0 1px rgba(0,0,0,.45),0 0 18px rgba(255,255,255,.4)}
.compare .divider:after{
  content:"↔";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:white;color:#061015;font-weight:950;
  box-shadow:0 8px 30px rgba(0,0,0,.35)
}
.compare input{opacity:0;position:absolute;inset:0;width:100%;height:100%;margin:0;cursor:ew-resize}
.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:28px}
.stat{background:#0b1015;border:1px solid #26323d;border-radius:14px;padding:16px}
.stat strong{font-size:1.4rem;color:#fff;display:block}
.admin-shell{min-height:100vh;background:#080b0e;color:#e9eff4}
.admin-top{padding:22px 0;border-bottom:1px solid #23303a;background:#0b1015}
.admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0}
.metric{background:#10161c;border:1px solid #273540;border-radius:16px;padding:20px}
.metric .value{font-size:2rem;font-weight:950}
.admin-panel{background:#0e1419;border:1px solid #273540;border-radius:18px;padding:22px;margin-bottom:18px}
.admin-table{width:100%;border-collapse:collapse}
.admin-table th,.admin-table td{padding:12px;border-bottom:1px solid #24313a;text-align:left}
.admin-gate{min-height:100vh;display:grid;place-items:center;background:#07090b;padding:24px}
.gate-card{width:min(440px,100%);background:#10161c;border:1px solid #2a3945;border-radius:20px;padding:28px}
.gate-card h1{font-size:2.1rem}
@media(max-width:900px){
  .why-grid,.reviews-wrap{grid-template-columns:1fr}
  .why-points,.reviews-track{grid-template-columns:1fr}
  .rating-box{position:static}
  .admin-grid,.stat-strip{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .admin-grid,.stat-strip{grid-template-columns:1fr}
}


/* ---------- V3 additions ---------- */
.page-hero{
  padding:72px 0 48px;
  background:
    radial-gradient(circle at 80% 20%,rgba(20,184,230,.16),transparent 32%),
    linear-gradient(180deg,#0a0e12,#07090b);
  border-bottom:1px solid var(--line)
}
.maintenance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.plan-card{position:relative;background:linear-gradient(180deg,#121820,#0c1014);border:1px solid #2a3640;border-radius:20px;padding:26px;overflow:hidden}
.plan-card.featured{border-color:#2388a5;box-shadow:0 0 34px rgba(20,184,230,.12)}
.plan-card .tag{display:inline-block;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#d8f7ff;background:#103744;border:1px solid #235f71;border-radius:999px;padding:5px 9px}
.plan-card ul{padding-left:18px;color:#b7c2cc}
.plan-card li{margin:9px 0}
.commercial-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.commercial-card{background:#0d1217;border:1px solid var(--line);border-radius:18px;overflow:hidden}
.commercial-card .media-placeholder{
  min-height:280px;display:grid;place-items:center;text-align:center;padding:26px;
  background:linear-gradient(135deg,#0e2028,#11161b);color:#9fb1bd;border-bottom:1px solid var(--line)
}
.commercial-card .copy{padding:22px}
.admin-brandbar{display:flex;align-items:center;justify-content:space-between;gap:18px}
.admin-brand{display:flex;align-items:center;gap:12px}
.admin-brand img{width:52px;height:52px;object-fit:contain}
.admin-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}
.admin-tab{padding:10px 14px;border:1px solid #2d3a45;border-radius:999px;background:#0f151a;color:#dbe7ee;font-weight:800;font-size:.88rem}
.admin-tab.active{background:linear-gradient(135deg,#123a47,#0f242d);border-color:#2b758a;color:#fff}
.admin-hero{
  padding:34px 0 14px;
  background:
    radial-gradient(circle at 85% 15%,rgba(20,184,230,.14),transparent 30%),
    linear-gradient(180deg,#0b1116,#080b0e);
  border-bottom:1px solid #24303a
}
.admin-hero h1{font-size:clamp(2.4rem,5vw,4.4rem);margin:.15em 0}
.admin-lead-row{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;margin-bottom:18px}
.lead-card{background:#0f151b;border:1px solid #293743;border-radius:18px;padding:20px}
.lead-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #24313a}
.lead-row:last-child{border-bottom:0}
.status-pill{font-size:.74rem;font-weight:900;border-radius:999px;padding:5px 8px;border:1px solid #34515f}
.status-new{background:#102a34;color:#d9f6ff}
.status-booked{background:#163222;color:#d8ffe5;border-color:#315d3f}
.quick-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.quick-action{padding:16px;border:1px solid #2a3944;border-radius:14px;background:#0b1116}
.quick-action strong{display:block;color:white}
.owner-story{max-width:850px}
.owner-story p{color:#b4c0ca;font-size:1.05rem}
.owner-quote{
  border-left:3px solid var(--blue);padding:18px 20px;margin:26px 0;
  background:#0d1419;border-radius:0 14px 14px 0;color:#e8f1f5;font-size:1.2rem;font-weight:700
}
@media(max-width:900px){
  .maintenance-grid,.commercial-grid,.admin-lead-row{grid-template-columns:1fr}
}

/* Commercial fleet equipment gallery */
.commercial-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;overflow:hidden}
.commercial-gallery img{width:100%;height:220px;object-fit:cover;display:block}
@media(max-width:700px){.commercial-gallery img{height:165px}}


/* ---------- Mobile navigation dropdown ---------- */
.mobile-menu-toggle,.mobile-menu{display:none}
@media(max-width:860px){
  .nav-inner{position:relative}
  .links{display:none}
  .mobile-menu-toggle{
    display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;
    width:46px;height:46px;padding:0;border:1px solid #35414d;border-radius:12px;
    background:#0d1115;color:#fff;cursor:pointer;flex:0 0 auto
  }
  .mobile-menu-toggle span{display:block;width:22px;height:2px;border-radius:2px;background:#fff;transition:transform .2s ease,opacity .2s ease}
  .mobile-menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .mobile-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .mobile-menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .mobile-menu{
    position:absolute;top:calc(100% - 1px);left:0;right:0;display:none;
    padding:12px 16px 16px;background:rgba(7,9,11,.98);border:1px solid var(--line);border-top:0;
    border-radius:0 0 16px 16px;box-shadow:0 18px 35px rgba(0,0,0,.35)
  }
  .mobile-menu.open{display:grid;gap:4px}
  .mobile-menu a{display:flex;align-items:center;min-height:46px;padding:10px 12px;border-radius:10px;font-weight:750;color:#e8eef3}
  .mobile-menu a:hover,.mobile-menu a:focus-visible{background:#151a20;outline:none}
  .mobile-menu .mobile-menu-quote{margin-top:6px;justify-content:center;background:linear-gradient(135deg,var(--blue),var(--blue2));color:#00141b;font-weight:900}
  .mobile-menu .mobile-menu-call{justify-content:center;border:1px solid #42505f;background:#0d1115;color:#fff;font-weight:900}
}

/* Static before/after pairs — slider removed */
.before-after-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px;background:#080b0e}
.before-after-pair figure{margin:0;position:relative;min-width:0}
.before-after-pair img{display:block;width:100%;height:410px;object-fit:cover;border-radius:12px}
.before-after-pair figcaption{position:absolute;top:12px;left:12px;padding:7px 10px;border-radius:999px;font-weight:900;font-size:.75rem;background:rgba(0,0,0,.72);color:#fff}
@media(max-width:640px){.before-after-pair{gap:5px;padding:5px}.before-after-pair img{height:300px}.before-after-pair figcaption{top:8px;left:8px;padding:6px 8px;font-size:.68rem}}
