/*
Theme Name: Dropcar
Theme URI:
Author: Dropcar
Description: Atelier automobile premium — Carrosserie, vente, pare-brise, diagnostic, detailing.
Version: 1.0
License: GNU General Public License v2 or later
Text Domain: dropcar
*/

/* ============ ELEMENTOR COMPATIBILITY ============ */

/* Elementor canvas: body has no padding/margin pushed by WP toolbar */
.elementor-page.elementor-page-{
  background: var(--paper);
}

/* Elementor content wrapper: reset box so sections stretch full width */
.dropcar-elementor-content {
  width: 100%;
  min-height: 100vh;
}

/* Prevent our * reset from zeroing Elementor's inline-flex gaps */
.elementor-widget-wrap > .elementor-element {
  margin: revert;
}

/* Elementor editor: keep theme fonts available in the panel */
.elementor-widget-heading .elementor-heading-title {
  font-family: 'Montserrat', system-ui, sans-serif;
}

/* ============ TOKENS ============ */
:root{
  --ink: #1d1d1b;
  --ink-2: #2a2a27;
  --ink-3: #3a3a36;
  --paper: #d7d7d8;
  --paper-2: #c8c8c9;
  --paper-3: #e1e1e2;
  --line: rgba(29,29,27,.14);
  --line-strong: rgba(29,29,27,.28);
  --line-on-dark: rgba(215,215,216,.16);
  --line-on-dark-strong: rgba(215,215,216,.32);
  --accent: #3593a3;
  --container: 1320px;
  --pad-x: clamp(16px, 4vw, 56px);
  --section-pad: clamp(72px, 10vw, 160px);
  --radius-s: 6px;
  --radius-m: 14px;
  --radius-l: 24px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background: var(--paper);
  color: var(--ink);
  font-family: 'Montserrat', system-ui, sans-serif;
  font-weight: 400;
  font-size: 15px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}

.container{max-width:var(--container);margin:0 auto;padding:0 var(--pad-x);width:100%}

/* ============ TYPOGRAPHY ============ */
.h-display{
  font-family: 'Anton', sans-serif;
  font-weight: 400;
  letter-spacing: -.01em;
  line-height: .9;
  text-transform: uppercase;
}
.h1{font-size: clamp(48px, 11vw, 188px);}
.h2{font-size: clamp(36px, 6.4vw, 104px); line-height:.95;}
.h3{font-size: clamp(28px, 3.6vw, 56px);}
.eyebrow{
  font-family:'JetBrains Mono', ui-monospace, monospace;
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--ink);
  opacity:.65;
  display:inline-flex;align-items:center;gap:10px;
}
.eyebrow::before{content:''; width:24px; height:1px; background: currentColor; opacity:.7;}
.lead{font-size: clamp(15px, 1.15vw, 18px); line-height: 1.6; color: rgba(29,29,27,.72); max-width: 56ch;}
.on-dark .eyebrow{color: var(--paper); opacity:.7;}
.on-dark .lead{color: rgba(215,215,216,.75);}
.mono{font-family:'JetBrains Mono', monospace; letter-spacing:.04em;}

/* ============ BUTTONS ============ */
.btn{
  display:inline-flex; align-items:center; gap:12px;
  padding: 16px 24px; border-radius: 999px;
  font-family:'Montserrat', sans-serif; font-weight: 600;
  font-size: 13px; letter-spacing: .08em; text-transform: uppercase;
  transition: all .35s cubic-bezier(.2,.8,.2,1);
  white-space: nowrap; border: 1px solid transparent;
  min-height: 48px; cursor: pointer;
}
.btn .arr{
  width:28px;height:28px;border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;
  background: rgba(255,255,255,.18);
  transition: transform .4s cubic-bezier(.2,.8,.2,1), background .3s;
  flex-shrink: 0;
}
.btn:hover .arr{transform: translateX(4px) rotate(-2deg);}
.btn-primary{background: var(--ink); color: var(--paper);}
.btn-primary:hover{background:#000; transform: translateY(-1px);}
.btn-primary .arr{background: rgba(255,255,255,.16);}
.btn-ghost{border-color: var(--line-strong); color: var(--ink);}
.btn-ghost:hover{border-color: var(--ink); background: rgba(29,29,27,.04);}
.btn-ghost .arr{background: rgba(29,29,27,.08);}
.btn-light{background: var(--paper); color: var(--ink);}
.btn-light:hover{background:#fff;}
.btn-light .arr{background: rgba(0,0,0,.12);}
.on-dark .btn-ghost{border-color: var(--line-on-dark-strong); color: var(--paper);}
.on-dark .btn-ghost:hover{border-color: var(--paper); background: rgba(215,215,216,.06);}

/* ============ NAV ============ */
.nav{
  position: fixed; top:0; left:0; right:0; z-index: 100;
  padding: 14px var(--pad-x);
  display:flex; align-items:center; justify-content: space-between;
  transition: background .4s, backdrop-filter .4s, border-color .4s;
  border-bottom: 1px solid transparent; gap: 16px;
}
.nav.scrolled{
  background: rgba(215,215,216,.85);
  backdrop-filter: blur(18px) saturate(140%);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  border-bottom-color: var(--line);
}
.brand{display:flex; align-items:center; gap:10px; font-family:'Anton', sans-serif; font-size: 22px; letter-spacing: .02em; text-transform: uppercase; flex-shrink: 0;}
.brand-logo{height: 36px; width: auto; display: block;}
.nav-links{display:flex; align-items:center; gap: 4px; background: rgba(29,29,27,.06); border: 1px solid var(--line); padding: 5px; border-radius: 999px;}
.nav-link{padding: 9px 16px; border-radius: 999px; font-size: 13px; font-weight: 500; letter-spacing: .02em; color: rgba(29,29,27,.7); transition: all .25s; min-height: 38px; display:inline-flex; align-items:center;}
.nav-link:hover{color: var(--ink); background: rgba(29,29,27,.06);}
.nav-link.active{background: var(--ink); color: var(--paper); font-weight:600;}
.nav-cta{display:flex;align-items:center;gap:10px}
.nav .pill{padding: 10px 16px; border-radius:999px; border:1px solid var(--line-strong); font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; display:inline-flex; align-items:center; gap:8px; color: var(--ink);}
.nav .pill .dot{width:6px;height:6px;border-radius:50%; background: #2a9d5a; box-shadow:0 0 8px rgba(42,157,90,.6);}
.menu-btn{display:none; align-items:center; justify-content:center; width:44px;height:44px;border-radius:999px; border:1px solid var(--line-strong); color: var(--ink);}
.mobile-menu{position: fixed; inset: 0; z-index: 99; background: var(--paper); display: none; flex-direction: column; padding: 90px var(--pad-x) 32px; gap: 8px; overflow-y: auto;}
.mobile-menu.open{display:flex;}
.mobile-menu a{padding: 18px 0; font-family:'Anton',sans-serif; font-size: 32px; letter-spacing: .02em; text-transform: uppercase; border-bottom: 1px solid var(--line); min-height: 60px; display:flex; align-items:center;}
.mobile-menu .cta-row{margin-top: 24px; display:flex; flex-direction: column; gap: 12px;}
@media (max-width: 1140px){.nav-links{display:none} .menu-btn{display:inline-flex;} .nav .pill{display:none}}
@media (max-width: 640px){.nav-cta .btn{display:none;} .brand-logo{height: 30px;}}

/* ============ HERO ============ */
.hero{position:relative; min-height: 100vh; padding: 120px var(--pad-x) 60px; display:flex; flex-direction:column; overflow:hidden;}
.hero-bg{position:absolute; inset:0; z-index:0; background: radial-gradient(ellipse 80% 60% at 50% 100%, rgba(53,147,163,.10), transparent 70%), radial-gradient(ellipse 60% 50% at 80% 30%, rgba(29,29,27,.05), transparent 60%), var(--paper);}
.hero-bg::after{content:''; position:absolute; inset:0; background-image: linear-gradient(to right, var(--line) 1px, transparent 1px); background-size: calc(100%/12) 100%; opacity:.5; mask-image: linear-gradient(to bottom, transparent 0%, black 30%, black 70%, transparent 100%);}
.hero-grid{position:relative; z-index:2; display:grid; grid-template-columns: 1fr; gap: 32px; flex:1; align-content: end; max-width: var(--container); margin: 0 auto; width: 100%;}
.hero-meta{display:flex; justify-content:space-between; align-items:start; padding-top: 60px; flex-wrap: wrap; gap: 20px;}
.hero-meta-col{display:flex; flex-direction:column; gap:6px; min-width: 140px;}
.hero-meta-label{font-family:'JetBrains Mono', monospace; font-size: 10px; letter-spacing: .22em; text-transform:uppercase; opacity:.55;}
.hero-meta-val{font-family:'Anton', sans-serif; font-size: clamp(18px, 2vw, 24px); letter-spacing:.02em;}
.hero-title-row{display:flex; justify-content:space-between; align-items:end; gap: 32px; flex-wrap: wrap;}
.hero-title{margin-top: 18px;}
.hero-title .row{display:flex; align-items:center; gap: 20px; flex-wrap:wrap;}
.hero-title .stroke{-webkit-text-stroke: 1.5px var(--ink); color: transparent;}
.hero-title .accent{color: var(--accent);}
.hero-side{max-width: 360px; display:flex; flex-direction:column; gap: 20px; padding-bottom: 4px;}
.hero-reassure{display:flex; gap:12px; align-items:center; padding-top:16px; border-top:1px solid var(--line); font-size: 11px; letter-spacing:.08em; text-transform:uppercase; color: rgba(29,29,27,.6); flex-wrap:wrap;}
.hero-reassure span{display:inline-flex; align-items:center; gap:8px;}
.hero-reassure .tick{width:14px;height:14px;border-radius:50%; background: var(--ink); display:inline-flex; align-items:center; justify-content:center; color: var(--paper); font-size: 9px; font-weight:700;}
.hero-cta{display:flex; gap: 12px; flex-wrap:wrap; margin-top: 24px;}
.hero-stage{position: relative; margin-top: 28px; border-top: 1px solid var(--line); padding-top: 28px; display:grid; grid-template-columns: 1fr 2.4fr 1fr; gap: 20px; align-items: stretch;}
.hero-stage-card{background: rgba(29,29,27,.04); border: 1px solid var(--line); border-radius: var(--radius-m); padding: 22px; display:flex; flex-direction:column; gap: 14px; min-height: 280px;}
.hero-stage-card.center{background: var(--ink); color: var(--paper); border-color: transparent; position: relative; overflow: hidden; padding: 0;}
.hsc-pill{display:inline-flex; align-items:center; gap:8px; padding: 8px 14px; border-radius:999px; background: rgba(29,29,27,.08); font-family:'JetBrains Mono', monospace; font-size: 10px; letter-spacing:.18em; text-transform:uppercase; align-self:start;}
.hsc-num{font-family:'Anton', sans-serif; font-size: clamp(40px, 5vw, 64px); line-height:.85; margin-top: auto;}
.hsc-num .unit{font-family:'Montserrat', sans-serif; font-size: 11px; letter-spacing:.18em; text-transform:uppercase; margin-left: 8px; opacity:.55; vertical-align: middle;}
.hsc-text{font-size: 13px; line-height:1.55; color: rgba(29,29,27,.72);}
.hero-center-tag{position:absolute; left: 22px; top: 22px; padding: 8px 14px; border-radius:999px; background: rgba(215,215,216,.92); color: var(--ink); font-family:'JetBrains Mono', monospace; font-size:10px; letter-spacing:.18em; text-transform:uppercase; z-index: 4;}
.hero-center-spec{position:absolute; right: 16px; bottom: 16px; padding: 14px 18px; border-radius: var(--radius-m); background: rgba(215,215,216,.92); color: var(--ink); display:flex; gap: 22px; z-index: 4; flex-wrap: wrap;}
.hero-center-spec > div{display:flex; flex-direction:column; gap:2px}
.hero-center-spec .v{font-family:'Anton',sans-serif; font-size: clamp(16px, 2vw, 22px);}
.hero-center-spec .l{font-size: 9px; letter-spacing:.16em; text-transform:uppercase; opacity:.6;}
.marquee{margin-top: 24px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); overflow:hidden; white-space:nowrap; padding: 16px 0; display:flex; gap: 40px; -webkit-mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent); mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);}
.marquee-track{display:inline-flex; gap: 40px; animation: marquee 36s linear infinite; flex-shrink: 0;}
.marquee span{font-family:'Anton', sans-serif; font-size: clamp(18px, 2vw, 22px); letter-spacing:.04em; text-transform:uppercase; opacity:.55; display:inline-flex; align-items:center; gap: 40px;}
.marquee span::after{content:''; width:8px; height:8px; border-radius:50%; background: var(--accent);}
@keyframes marquee{ to{ transform: translateX(-50%); } }
@media (max-width: 980px){.hero-stage{grid-template-columns: 1fr;} .hero-stage-card.center{order:-1; min-height: 280px;} .hero-meta{padding-top: 24px;} .hero-side{max-width: none;}}
@media (max-width: 640px){.hero{padding: 96px var(--pad-x) 40px; min-height: auto;} .hero-meta{gap: 14px;} .hero-meta-col{min-width: 120px;} .hero-cta .btn{width: 100%; justify-content: space-between;}}

/* ============ SECTIONS ============ */
section{position: relative;}
.section{padding: var(--section-pad) 0;}
.section-dark{background: var(--ink); color: var(--paper);}
.section-head{display:grid; grid-template-columns: 1.2fr 1fr; gap: 48px; margin-bottom: 56px; align-items: end;}
.section-head .lead{justify-self: end;}
@media (max-width: 880px){.section-head{grid-template-columns: 1fr; gap: 24px;} .section-head .lead{justify-self: start;}}

/* ============ SERVICES ============ */
.services{position: relative; padding-top: 96px;}
.services-grid{display:grid; grid-template-columns: repeat(12, 1fr); gap: 14px;}
.svc{grid-column: span 4; background: rgba(29,29,27,.04); border: 1px solid var(--line); border-radius: var(--radius-m); padding: 24px; min-height: 320px; display:flex; flex-direction: column; gap: 16px; transition: all .4s cubic-bezier(.2,.8,.2,1); position: relative; overflow: hidden; cursor: pointer;}
.svc:hover{background: rgba(29,29,27,.08); border-color: var(--line-strong); transform: translateY(-4px);}
.svc:nth-child(1){grid-column: span 5;}
.svc:nth-child(2){grid-column: span 4;}
.svc:nth-child(3){grid-column: span 3;}
.svc:nth-child(4){grid-column: span 4;}
.svc:nth-child(5){grid-column: span 8;}
.svc-num{font-family:'JetBrains Mono', monospace; font-size: 11px; letter-spacing:.18em; opacity:.55;}
.svc-title{font-family:'Anton', sans-serif; font-size: clamp(24px, 3vw, 44px); line-height: .95; letter-spacing:.01em; text-transform:uppercase; margin-top: auto;}
.svc-desc{font-size: 13.5px; color: rgba(29,29,27,.7); line-height:1.55;}
.svc-foot{display:flex; justify-content: space-between; align-items:center; padding-top: 14px; border-top: 1px solid var(--line); font-size: 11px; letter-spacing:.16em; text-transform:uppercase; color: rgba(29,29,27,.6);}
.svc-foot .arrow{width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--line-strong); display:inline-flex; align-items:center; justify-content:center; transition: all .4s cubic-bezier(.2,.8,.2,1); min-width: 36px;}
.svc:hover .svc-foot .arrow{background: var(--ink); color: var(--paper); transform: rotate(-45deg);}
.svc-img{margin: -24px -24px 0; height: 150px; background: repeating-linear-gradient(135deg, rgba(29,29,27,.06) 0 8px, rgba(29,29,27,.02) 8px 16px), rgba(29,29,27,.02); border-bottom: 1px solid var(--line); display:flex; align-items:flex-end; padding: 16px; position:relative; overflow:hidden;}
.svc-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
@media (max-width: 1100px){.svc:nth-child(1), .svc:nth-child(2){grid-column: span 6;} .svc:nth-child(3), .svc:nth-child(4){grid-column: span 6;} .svc:nth-child(5){grid-column: span 12;}}
@media (max-width: 720px){.svc, .svc:nth-child(n){grid-column: span 12;} .svc{min-height: 280px;}}

/* ============ CARROSSERIE ============ */
.carrosserie-block{background: var(--ink); color: var(--paper);}
.feat{display:grid; grid-template-columns: 1.05fr 1fr; gap: 56px; align-items: center;}
.feat-media{position: relative; aspect-ratio: 4/5; background: rgba(215,215,216,.04); border-radius: var(--radius-l); overflow: hidden; border: 1px solid var(--line-on-dark);}
.feat-media-overlay{position:absolute; left: 18px; bottom: 18px; right:18px; display:flex; justify-content:space-between; align-items:flex-end; gap: 14px; z-index: 4; flex-wrap: wrap;}
.feat-media-tag{background: rgba(215,215,216,.94); color: var(--ink); padding: 10px 16px; border-radius:999px; font-family:'JetBrains Mono', monospace; font-size:10px; letter-spacing:.18em; text-transform:uppercase;}
.feat-media-num{background: var(--paper); color: var(--ink); padding: 14px 18px; border-radius: var(--radius-m); font-family:'Anton',sans-serif; font-size: clamp(28px, 3.5vw, 36px); line-height:.9;}
.feat-media-num small{font-family:'Montserrat',sans-serif; font-size: 9px; letter-spacing:.18em; text-transform:uppercase; display:block; opacity:.6; margin-top:4px;}
.feat-body{display:flex; flex-direction:column; gap: 24px;}
.feat-list{display: grid; gap: 0; margin-top: 4px;}
.feat-list li{list-style:none; display:grid; grid-template-columns: 50px 1fr 40px; gap: 20px; align-items:start; padding: 20px 0; border-top: 1px solid var(--line-on-dark);}
.feat-list li:last-child{border-bottom:1px solid var(--line-on-dark)}
.feat-list .num{font-family:'JetBrains Mono', monospace; font-size: 11px; letter-spacing:.18em; opacity:.55;}
.feat-list .ttl{font-family:'Anton', sans-serif; font-size: clamp(18px, 2vw, 22px); letter-spacing:.02em; text-transform:uppercase;}
.feat-list .txt{font-size: 13px; color: rgba(215,215,216,.7); margin-top:4px; line-height:1.55;}
.feat-list .arr{width:34px;height:34px;border-radius:999px; border:1px solid var(--line-on-dark-strong); display:inline-flex; align-items:center; justify-content:center; transition: all .3s;}
.feat-list li:hover .arr{background: var(--paper); color: var(--ink);}
@media (max-width: 980px){.feat{grid-template-columns: 1fr; gap: 32px;}}

/* ============ SHOWROOM ============ */
.showroom{background: var(--ink); color: var(--paper); position: relative; overflow: hidden;}
.showroom::before{content:''; position:absolute; inset:0; background: radial-gradient(ellipse 60% 50% at 50% 50%, rgba(53,147,163,.06), transparent 60%); pointer-events:none;}
.show-head{display:flex; justify-content: space-between; align-items: flex-end; margin-bottom: 48px; gap: 32px; flex-wrap: wrap;}
.show-controls{display:flex; gap: 10px; align-items:center;}
.show-controls .ctrl{width:48px; height:48px; border-radius:50%; border:1px solid var(--line-on-dark-strong); display:inline-flex; align-items:center; justify-content:center; transition: all .3s; font-size: 18px; color: var(--paper);}
.show-controls .ctrl:hover{background: var(--paper); color: var(--ink); border-color: var(--paper);}
.show-controls .ctrl:disabled{opacity:.3; cursor:not-allowed;}
.show-counter{font-family:'JetBrains Mono', monospace; font-size: 12px; letter-spacing:.16em; margin: 0 8px; color: rgba(215,215,216,.75);}
.show-track-wrap{position: relative; margin: 0 calc(-1 * var(--pad-x)); padding: 0 var(--pad-x); overflow: hidden;}
.show-track{display:flex; gap: 20px; transition: transform .9s cubic-bezier(.7,0,.2,1); will-change: transform; touch-action: pan-y;}
.show-card{flex: 0 0 calc((100vw - 2 * var(--pad-x) - 40px) / 3); max-width: 460px; background: rgba(215,215,216,.04); border: 1px solid var(--line-on-dark); border-radius: var(--radius-l); overflow: hidden; display:flex; flex-direction: column; transition: all .5s cubic-bezier(.2,.8,.2,1);}
.show-card:hover{border-color: var(--line-on-dark-strong); transform: translateY(-4px);}
.show-card-media{position: relative; aspect-ratio: 16/11; background: radial-gradient(ellipse 70% 50% at 50% 60%, rgba(53,147,163,.08), transparent 60%), repeating-linear-gradient(135deg, rgba(215,215,216,.04) 0 8px, rgba(215,215,216,.01) 8px 16px), #161614; overflow:hidden;}
.show-card-media .price{position:absolute; right: 14px; top: 14px; z-index:3; background: var(--paper); color: var(--ink); padding: 9px 13px; border-radius:999px; font-family:'Anton',sans-serif; font-size: 15px; letter-spacing:.02em;}
.show-card-media .badge{position:absolute; left: 14px; top: 14px; z-index:3; padding: 8px 12px; border-radius:999px; background: rgba(29,29,27,.78); backdrop-filter: blur(10px); color: var(--paper); font-family:'JetBrains Mono', monospace; font-size:10px; letter-spacing:.16em; text-transform:uppercase;}
.show-card-body{padding: 22px; display:flex; flex-direction: column; gap: 18px; flex:1;}
.show-card-head{display:flex; flex-direction:column; gap: 10px;}
.show-card-body h4{font-family:'Anton', sans-serif; font-size: clamp(22px, 2.4vw, 30px); letter-spacing:.02em; text-transform:uppercase; line-height:.95; margin: 0;}
.show-card-body .sub{font-size: 11px; letter-spacing:.16em; text-transform:uppercase; color: rgba(215,215,216,.55); margin: 0; font-weight: 500;}
.show-card-specs{display:grid; grid-template-columns: repeat(3, 1fr); gap: 12px; padding: 14px 0; border-top:1px solid var(--line-on-dark); border-bottom:1px solid var(--line-on-dark);}
.show-card-specs > div{display:flex; flex-direction:column; gap:4px;}
.show-card-specs .v{font-family:'Anton',sans-serif; font-size: 17px; letter-spacing:.02em;}
.show-card-specs .l{font-size: 9px; letter-spacing:.16em; text-transform:uppercase; opacity:.55;}
.show-card-foot{display:flex; justify-content:space-between; align-items:center; gap: 10px; margin-top: auto; flex-wrap: wrap;}
.show-card-foot .tag{font-size: 11px; letter-spacing:.12em; text-transform:uppercase; color: rgba(215,215,216,.65); display:flex; align-items:center; gap:8px;}
.show-card-foot .tag .dot{width:6px;height:6px;border-radius:50%; background: #6ee0a4;}
.show-card-foot .tag.unav .dot{background: var(--accent);}
.show-card-foot .cta{display:inline-flex; align-items:center; gap: 6px; font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; padding: 10px 14px; border-radius:999px; border:1px solid var(--line-on-dark-strong); transition: all .3s; min-height: 38px; color: var(--paper); cursor: pointer;}
.show-card-foot .cta:hover{background: var(--paper); color: var(--ink); border-color: var(--paper);}
@media (max-width: 1100px){.show-card{flex: 0 0 calc((100vw - 2 * var(--pad-x) - 20px) / 2);}}
@media (max-width: 720px){.show-card{flex: 0 0 calc(100vw - 2 * var(--pad-x));}}

/* ============ SPLIT ============ */
.split{display:grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items:center;}
.split.reverse > .split-media{order: 2;}
.split-body{display:flex; flex-direction:column; gap: 24px;}
.split-media{position: relative; aspect-ratio: 5/4; background: rgba(29,29,27,.04); border-radius: var(--radius-l); overflow: hidden; border: 1px solid var(--line);}
.split-media.dark{background: #1a1a18; border-color: var(--line-on-dark);}
.split-media-tag{position:absolute; left: 18px; top: 18px; padding: 10px 16px; border-radius:999px; background: rgba(29,29,27,.88); color: var(--paper); font-family:'JetBrains Mono', monospace; font-size:10px; letter-spacing:.18em; text-transform:uppercase; z-index: 4;}
.split-media-stat{position:absolute; right: 18px; bottom: 18px; padding: 14px 18px; border-radius: var(--radius-m); background: rgba(29,29,27,.88); color: var(--paper); display:flex; flex-direction: column; gap: 2px; z-index: 4;}
.split-media-stat .v{font-family:'Anton',sans-serif; font-size: clamp(20px, 2.4vw, 28px); line-height:.9;}
.split-media-stat .l{font-size: 9px; letter-spacing:.16em; text-transform:uppercase; opacity:.65;}
.kpi-row{display:grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 4px;}
.kpi{padding: 22px; border-radius: var(--radius-m); background: var(--paper-2); border: 1px solid var(--line);}
.kpi-num{font-family:'Anton',sans-serif; font-size: clamp(28px, 3.4vw, 36px); line-height:.9;}
.kpi-num small{font-size: 18px; opacity:.6;}
.kpi-lbl{font-size: 11px; letter-spacing:.14em; text-transform:uppercase; color: rgba(29,29,27,.65); margin-top:8px;}
.on-dark .kpi{background: rgba(215,215,216,.05); border-color: var(--line-on-dark);}
.on-dark .kpi-lbl{color: rgba(215,215,216,.7);}
@media (max-width: 980px){.split{grid-template-columns: 1fr; gap: 32px;} .split.reverse > .split-media{order: 0;}}
@media (max-width: 540px){.kpi-row{grid-template-columns: 1fr;} .kpi{padding: 18px;}}

/* ============ DIAGNOSTIC ============ */
.diag-readout{display:flex; flex-direction:column; gap: 0; border-top:1px solid var(--line-on-dark); border-bottom:1px solid var(--line-on-dark);}
.diag-row{display:grid; grid-template-columns: auto 1fr auto auto; gap: 16px; padding: 14px 0; border-top:1px solid var(--line-on-dark); font-family:'JetBrains Mono', monospace; font-size: 12px; align-items:center;}
.diag-row:first-child{border-top:0;}
.diag-row .code{opacity:.55; letter-spacing:.1em;}
.diag-row .lbl{font-family:'Montserrat',sans-serif; font-size: 13px;}
.diag-row .bar{width: 90px; height: 6px; border-radius: 999px; background: rgba(215,215,216,.1); position:relative; overflow:hidden;}
.diag-row .bar i{position:absolute; left:0; top:0; bottom:0; background: var(--accent); border-radius:999px;}
.diag-row .status{display:inline-flex; align-items:center; gap:8px; font-size: 10px; letter-spacing:.16em; text-transform:uppercase;}
.diag-row .status .dot{width:6px; height:6px; border-radius:50%;}
.diag-row.ok .status .dot{background:#6ee0a4; box-shadow:0 0 6px #6ee0a4;}
.diag-row.warn .status .dot{background: var(--accent); box-shadow:0 0 6px var(--accent);}
.diag-row.ok .status{color:#6ee0a4;}
.diag-row.warn .status{color: var(--accent);}
@media (max-width: 540px){.diag-row{grid-template-columns: auto 1fr auto; gap: 10px; font-size: 11px;} .diag-row .bar{display:none;}}

/* ============ DETAILING ============ */
.detailing-grid .svc.dark{background: var(--ink); color: var(--paper); border-color: transparent;}
.detailing-grid .svc.dark .svc-desc{color: rgba(215,215,216,.72);}
.detailing-grid .svc.dark .svc-foot{border-top-color: var(--line-on-dark); color: rgba(215,215,216,.65);}
.detailing-grid .svc.dark .svc-foot .arrow{border-color: var(--line-on-dark-strong);}
.detailing-grid .svc.dark .svc-img{background: repeating-linear-gradient(135deg, rgba(215,215,216,.06) 0 8px, rgba(215,215,216,.02) 8px 16px), rgba(215,215,216,.02); border-bottom-color: var(--line-on-dark);}
.detailing-grid .svc:hover .svc-foot .arrow{background: var(--ink); color: var(--paper);}
.detailing-grid .svc.dark:hover .svc-foot .arrow{background: var(--paper); color: var(--ink);}
.detailing-grid .svc, .detailing-grid .svc:nth-child(n){grid-column: span 4;}
@media (max-width: 1100px){.detailing-grid .svc, .detailing-grid .svc:nth-child(n){grid-column: span 6;}}
@media (max-width: 720px){.detailing-grid .svc, .detailing-grid .svc:nth-child(n){grid-column: span 12;}}

/* ============ TRUST ============ */
.trust-grid{display:grid; grid-template-columns: repeat(12, 1fr); gap: 14px;}
.trust-num-card{grid-column: span 3; padding: 32px 26px; background: var(--paper-2); border-radius: var(--radius-m); border: 1px solid var(--line); display:flex; flex-direction:column; gap: 16px; min-height: 200px;}
.trust-num-card .num{font-family:'Anton',sans-serif; font-size: clamp(56px, 6vw, 84px); line-height:.85; letter-spacing:.01em;}
.trust-num-card .num small{font-size: .5em; opacity:.7;}
.trust-num-card .lbl{font-size: 12px; letter-spacing:.14em; text-transform:uppercase; color: rgba(29,29,27,.65); margin-top:auto;}
.trust-num-card.dark{background: var(--ink); color: var(--paper); border-color: transparent;}
.trust-num-card.dark .lbl{color: rgba(215,215,216,.65);}
.trust-quote{grid-column: span 6; background: var(--ink); color: var(--paper); padding: 32px; border-radius: var(--radius-m); display:flex; flex-direction: column; gap: 22px;}
.trust-quote .q{font-family:'Anton',sans-serif; font-size: clamp(22px, 2.4vw, 34px); line-height: 1.05; letter-spacing:.02em; text-transform:uppercase;}
.trust-quote .by{display:flex; gap: 14px; align-items:center; margin-top:auto;}
.trust-quote .av{width:46px; height:46px; border-radius:50%; background: var(--paper); color: var(--ink); display:inline-flex; align-items:center; justify-content:center; font-family:'Anton',sans-serif; font-size: 20px;}
.trust-quote .who .name{font-weight:600; letter-spacing:.02em; font-size: 14px;}
.trust-quote .who .role{font-size:11px; letter-spacing:.12em; text-transform:uppercase; opacity:.6; margin-top: 2px;}
@media (max-width: 980px){.trust-num-card{grid-column: span 6;} .trust-quote{grid-column: span 12;}}
@media (max-width: 540px){.trust-num-card{grid-column: span 12 !important;}}

/* ============ FINAL CTA ============ */
.final{position:relative; overflow:hidden; padding: clamp(72px, 12vw, 180px) 0; background: var(--ink); color: var(--paper);}
.final .hero-bg{background: radial-gradient(ellipse 80% 60% at 50% 100%, rgba(53,147,163,.18), transparent 70%), var(--ink);}
.final .hero-bg::after{background-image: linear-gradient(to right, var(--line-on-dark) 1px, transparent 1px);}
.final-inner{position: relative; text-align: center; display:flex; flex-direction:column; gap: 36px; align-items:center;}
.final h2{max-width: 16ch; margin: 0 auto;}
.final h2 .stroke{-webkit-text-stroke: 1.5px var(--paper); color: transparent;}
.final-ctas{display:flex; gap: 12px; flex-wrap: wrap; justify-content:center;}
.final-foot{display:flex; gap: 28px; align-items: center; justify-content: center; flex-wrap: wrap; font-size: 12px; letter-spacing:.14em; text-transform:uppercase; color: rgba(215,215,216,.6); padding-top: 32px; border-top: 1px solid var(--line-on-dark); margin-top: 12px; width: 100%; max-width: 720px;}

/* ============ FOOTER ============ */
footer{padding: 56px 0 36px; border-top: 1px solid var(--line);}
.foot-grid{display:grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 36px; margin-bottom: 48px;}
.foot-col h5{font-family:'JetBrains Mono', monospace; font-size: 11px; letter-spacing:.18em; text-transform:uppercase; opacity:.55; margin-bottom: 16px; font-weight:500;}
.foot-col a{display:block; padding: 7px 0; font-size: 14px; color: rgba(29,29,27,.75); transition: color .2s; min-height: 32px;}
.foot-col a:hover{color: var(--ink);}
.foot-brand p{font-size: 14px; color: rgba(29,29,27,.7); max-width: 36ch; margin-top: 14px; line-height: 1.6;}
.foot-brand .brand-logo{height: 40px; margin-bottom: 4px;}
.foot-bottom{display:flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 14px; font-family:'JetBrains Mono',monospace; font-size: 11px; letter-spacing:.14em; text-transform:uppercase; color: rgba(29,29,27,.5); padding-top: 24px; border-top: 1px solid var(--line);}
@media (max-width: 880px){.foot-grid{grid-template-columns: 1fr 1fr; gap: 28px;} .foot-brand{grid-column: span 2;}}
@media (max-width: 480px){.foot-grid{grid-template-columns: 1fr;} .foot-brand{grid-column: span 1;}}

/* ============ REVEAL ============ */
.reveal{opacity:0; transform: translateY(28px); transition: opacity .9s cubic-bezier(.2,.8,.2,1), transform .9s cubic-bezier(.2,.8,.2,1);}
.reveal.in{opacity:1; transform: none;}

/* ============ CONTACT MODAL ============ */
.modal-backdrop{position: fixed; inset: 0; z-index: 300; background: rgba(29,29,27,.7); backdrop-filter: blur(8px); display: none; align-items: center; justify-content: center; padding: 20px; opacity: 0; transition: opacity .35s cubic-bezier(.2,.8,.2,1);}
.modal-backdrop.open{display:flex; opacity: 1;}
.modal{position: relative; background: var(--paper); color: var(--ink); border-radius: var(--radius-l); width: 100%; max-width: 560px; max-height: 92vh; overflow-y: auto; padding: 40px clamp(20px, 4vw, 44px); transform: translateY(20px) scale(.98); transition: transform .4s cubic-bezier(.2,.8,.2,1);}
.modal-backdrop.open .modal{transform: translateY(0) scale(1);}
.modal-close{position: absolute; right: 16px; top: 16px; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--line); display:flex; align-items:center; justify-content:center; font-size: 18px; color: var(--ink); transition: all .25s; cursor: pointer;}
.modal-close:hover{background: var(--ink); color: var(--paper); border-color: var(--ink);}
.modal-head{margin-bottom: 28px;}
.modal-eyebrow{font-family:'JetBrains Mono', monospace; font-size: 10px; letter-spacing:.22em; text-transform:uppercase; opacity:.6; display:block; margin-bottom: 12px;}
.modal h3{font-family:'Anton',sans-serif; font-size: clamp(28px, 4vw, 40px); letter-spacing: .01em; line-height: .95; text-transform: uppercase;}
.modal p.intro{font-size: 14px; color: rgba(29,29,27,.7); line-height: 1.55; margin-top: 12px;}
.modal-form{display:flex; flex-direction:column; gap: 14px;}
.modal-row{display:grid; grid-template-columns: 1fr 1fr; gap: 12px;}
@media (max-width: 540px){.modal-row{grid-template-columns: 1fr;} .modal{padding: 36px 18px 28px; border-radius: 0; max-height: 100vh; height: 100vh; max-width: none;} .modal-backdrop{padding: 0;}}
.modal-field{display:flex; flex-direction: column; gap: 6px;}
.modal-field label{font-family:'JetBrains Mono', monospace; font-size: 10px; letter-spacing:.18em; text-transform:uppercase; opacity:.6;}
.modal-field input, .modal-field textarea{font: inherit; color: var(--ink); padding: 14px; background: rgba(29,29,27,.04); border: 1px solid var(--line); border-radius: 10px; outline: none; transition: border-color .2s, background .2s; min-height: 48px; width: 100%; font-family:'Montserrat',sans-serif; font-size: 14px;}
.modal-field textarea{min-height: 110px; resize: vertical;}
.modal-field input:focus, .modal-field textarea:focus{border-color: var(--ink); background: rgba(29,29,27,.07);}
.modal-submit{margin-top: 6px; display:inline-flex; align-items:center; justify-content:center; gap: 12px; padding: 16px 24px; border-radius: 999px; background: var(--ink); color: var(--paper); font-weight: 600; font-size: 13px; letter-spacing:.08em; text-transform:uppercase; min-height: 52px; cursor: pointer; transition: background .25s, transform .25s;}
.modal-submit:hover{background:#000; transform: translateY(-1px);}
.modal-submit .arr{width:28px;height:28px;border-radius:999px; background: rgba(255,255,255,.16); display:inline-flex; align-items:center; justify-content:center;}
.modal-meta{margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line); display:flex; flex-direction:column; gap: 6px; font-size: 12px; color: rgba(29,29,27,.65); letter-spacing:.04em;}
.modal-meta strong{color: var(--ink); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; font-size: 11px;}
.modal-success{text-align:center; padding: 30px 0; display: none; flex-direction: column; gap: 14px; align-items: center;}
.modal-success.show{display: flex;}
.modal-form.hide{display: none;}
.modal-success .ok{width: 64px; height: 64px; border-radius: 50%; background: var(--ink); color: var(--paper); display:flex; align-items: center; justify-content: center; font-size: 28px;}
