:root {
        color-scheme: light dark;
        --bg: #f2f0ea;
        --surface: #ffffff;
        --surface-2: #e5e2da;
        --ink: #171717;
        --muted: #575650;
        --line: #cbc7bd;
        --accent: #0758b7;
        --accent-ink: #ffffff;
        --accent-bright: #2d82df;
        --dark: #111214;
        --dark-ink: #ffffff;
        --dark-muted: #c3c8cf;
        --yellow: #8fc3f4;
        --shadow: 0 18px 50px rgba(23, 23, 23, .12);
      }
      @media (prefers-color-scheme: dark) {
        :root {
          --bg: #111211;
          --surface: #1a1b1a;
          --surface-2: #232422;
          --ink: #f4f1e9;
          --muted: #bab7ae;
          --line: #3b3b37;
          --accent: #287bd0;
          --accent-ink: #ffffff;
          --accent-bright: #62a9ef;
          --dark: #07090c;
          --dark-ink: #ffffff;
          --dark-muted: #bbc3cd;
          --yellow: #8fc3f4;
          --shadow: 0 18px 50px rgba(0, 0, 0, .3);
        }
      }
      * { box-sizing: border-box; }
      html { scroll-behavior: smooth; }
      body {
        margin: 0;
        background: var(--bg);
        color: var(--ink);
        font-family: "Manrope", sans-serif;
        line-height: 1.55;
        overflow-x: hidden;
      }
      a { color: inherit; }
      button, a { -webkit-tap-highlight-color: transparent; }
      svg { display: block; }
      .shell {
        width: min(1240px, calc(100% - 40px));
        margin-inline: auto;
      }
      .site-nav {
        position: sticky;
        top: 0;
        z-index: 50;
        background: color-mix(in srgb, var(--dark) 92%, transparent);
        color: var(--dark-ink);
        border-bottom: 1px solid color-mix(in srgb, var(--dark-ink) 14%, transparent);
        backdrop-filter: blur(12px);
      }
      .nav-inner {
        min-height: 68px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 24px;
      }
      .nav-brand { display: inline-flex; align-items: center; gap: 14px; color: var(--dark-ink); text-decoration: none; }
      .brand-logo { width: 154px; height: 52px; display: block; object-fit: contain; object-position: left center; }
      .brand-name { font: 700 16px/1 "Barlow Condensed", sans-serif; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }
      .pulse {
        width: 9px;
        height: 9px;
        background: var(--accent);
        border-radius: 50%;
        box-shadow: 0 0 0 6px color-mix(in srgb, var(--accent) 18%, transparent);
      }
      .nav-links { display: flex; align-items: center; gap: 28px; }
      .nav-links a {
        text-decoration: none;
        color: var(--dark-muted);
        font-size: 13px;
        font-weight: 700;
      }
      .nav-links a:hover, .nav-links a:focus-visible { color: var(--dark-ink); }
      .nav-call {
        display: inline-flex;
        align-items: center;
        gap: 9px;
        color: var(--dark-ink) !important;
      }
      .nav-call svg { width: 17px; height: 17px; color: var(--accent); }
      .social-link { display: inline-flex; align-items: center; gap: 8px; text-decoration: none; }
      .social-link svg { width: 20px; height: 20px; }
      .facebook-callout { background: var(--dark); color: var(--dark-ink); padding: 46px 0; border-top: 1px solid #343431; }
      .facebook-inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
      .facebook-inner h2 { font-size: clamp(34px, 4vw, 56px); }
      .facebook-inner p { margin: 8px 0 0; color: var(--dark-muted); }
      .facebook-inner .btn svg { width: 22px; height: 22px; }

      .hero {
        position: relative;
        min-height: 740px;
        background: var(--dark);
        color: var(--dark-ink);
        isolation: isolate;
        overflow: hidden;
      }
      .hero::before {
        content: "";
        position: absolute;
        inset: 0 0 auto auto;
        width: 46%;
        height: 100%;
        background: repeating-linear-gradient(118deg, transparent 0 46px, color-mix(in srgb, var(--dark-ink) 4%, transparent) 47px 49px);
        z-index: -2;
      }
      .hero-layout {
        min-height: 672px;
        display: grid;
        grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr);
        gap: 52px;
        align-items: center;
        padding: 78px 0 64px;
      }
      .hero-copy { max-width: 700px; }
      .availability {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        margin-bottom: 28px;
        font-size: 13px;
        font-weight: 700;
        color: var(--dark-muted);
      }
      h1, h2, h3 { font-family: "Barlow Condensed", sans-serif; margin: 0; }
      h1 {
        max-width: 680px;
        font-size: clamp(58px, 7vw, 100px);
        line-height: .88;
        letter-spacing: -.035em;
        text-transform: uppercase;
      }
      .hero-kicker {
        display: block;
        margin-top: 26px;
        color: var(--accent);
        font: 700 clamp(24px, 2.6vw, 38px)/1 "Barlow Condensed", sans-serif;
        text-transform: uppercase;
        letter-spacing: .02em;
      }
      .hero-lede {
        max-width: 680px;
        margin: 28px 0 0;
        color: #ffffff;
        font-size: clamp(20px, 1.7vw, 24px);
        font-weight: 700;
        line-height: 1.55;
        text-shadow: 0 2px 18px rgba(0, 0, 0, .55);
      }
      .hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 36px; }
      .btn {
        min-height: 56px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 0 24px;
        text-decoration: none;
        font-weight: 800;
        font-size: 14px;
        border: 1px solid transparent;
        transition: background-color .2s ease, color .2s ease, border-color .2s ease;
      }
      .btn-primary { background: var(--accent); color: var(--accent-ink); }
      .btn-primary:hover, .btn-primary:focus-visible { background: var(--accent-bright); color: #ffffff; }
      .btn-secondary { border-color: #4e4e4b; color: var(--dark-ink); }
      .btn-secondary:hover, .btn-secondary:focus-visible { border-color: var(--dark-ink); }
      .btn svg { width: 19px; height: 19px; }

      .hero-visual {
        position: relative;
        min-height: 540px;
        display: flex;
        align-items: center;
        justify-content: center;
      }
      .tech-frame {
        position: relative;
        width: min(100%, 520px);
        aspect-ratio: .94;
        border: 1px solid #41413e;
        background: #1e1e1d;
        box-shadow: var(--shadow);
      }
      .tech-frame::before,
      .tech-frame::after {
        content: "";
        position: absolute;
        width: 42px;
        height: 42px;
        border-color: var(--accent);
        z-index: 2;
      }
      .tech-frame::before { inset: -1px auto auto -1px; border-left: 5px solid var(--accent); border-top: 5px solid var(--accent); }
      .tech-frame::after { inset: auto -1px -1px auto; border-right: 5px solid var(--accent); border-bottom: 5px solid var(--accent); }
      .tech-photo {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: 61% center;
      }
      .tech-grid {
        position: absolute;
        inset: 0;
        z-index: 1;
        background: linear-gradient(180deg, rgba(10,10,10,.45) 0%, transparent 32%, rgba(10,10,10,.18) 68%, rgba(10,10,10,.72) 100%);
      }
      .tech-label {
        position: absolute;
        z-index: 2;
        top: 22px;
        left: 24px;
        padding: 8px 10px;
        background: rgba(14,14,14,.78);
        color: #f1eee6;
        font: 700 12px/1 "Barlow Condensed", sans-serif;
        letter-spacing: .12em;
      }
      .tech-stamp {
        position: absolute;
        z-index: 2;
        right: -24px;
        bottom: 50px;
        width: 150px;
        padding: 18px 20px;
        background: var(--accent);
        color: #ffffff;
        box-shadow: 0 14px 34px rgba(0,0,0,.25);
      }
      .tech-stamp strong { display: block; font: 800 34px/.85 "Barlow Condensed", sans-serif; }
      .tech-stamp span { display: block; margin-top: 8px; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
      .hero-rail {
        position: absolute;
        inset: auto 0 0;
        background: var(--accent);
        color: var(--accent-ink);
      }
      .rail-inner {
        min-height: 68px;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        align-items: center;
      }
      .rail-item {
        min-height: 68px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 12px;
        padding: 10px 20px;
        border-left: 1px solid color-mix(in srgb, var(--accent-ink) 25%, transparent);
        font: 700 18px/1 "Barlow Condensed", sans-serif;
        letter-spacing: .03em;
        text-transform: uppercase;
      }
      .rail-item:first-child { border-left: 0; }
      .rail-item svg { width: 20px; height: 20px; }

      section { scroll-margin-top: 68px; }
      .positioning { padding: 108px 0 94px; }
      .section-head {
        display: grid;
        grid-template-columns: 190px minmax(0, 1fr);
        gap: 46px;
        align-items: start;
      }
      .section-index {
        display: flex;
        align-items: center;
        gap: 12px;
        color: var(--accent);
        font: 800 15px/1 "Barlow Condensed", sans-serif;
      }
      .section-index::after { content: ""; width: 70px; height: 1px; background: var(--accent); }
      h2 {
        max-width: 900px;
        font-size: clamp(42px, 5.3vw, 76px);
        line-height: .96;
        letter-spacing: -.025em;
        text-transform: uppercase;
      }
      .position-grid {
        margin: 58px 0 0 236px;
        display: grid;
        grid-template-columns: 1.1fr .9fr;
        gap: 70px;
      }
      .position-copy {
        margin: 0;
        max-width: 580px;
        font-size: clamp(19px, 1.7vw, 24px);
        line-height: 1.55;
      }
      .position-copy strong { color: var(--accent); }
      .proof-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
      .proof-list li {
        display: grid;
        grid-template-columns: 38px 1fr;
        gap: 15px;
        align-items: center;
        min-height: 66px;
        border-bottom: 1px solid var(--line);
        font-weight: 700;
      }
      .proof-list svg { width: 24px; height: 24px; color: var(--accent); }

      .services { background: var(--surface); padding: 100px 0; }
      .services-intro { margin: 18px 0 0 236px; max-width: 650px; color: var(--muted); font-size: 17px; }
      .field-gallery {
        position: relative;
        margin-top: 64px;
        padding: 10px 0 0;
      }
      .gallery-stage {
        position: relative;
        height: clamp(460px, 54vw, 650px);
        overflow: hidden;
        isolation: isolate;
      }
      .gallery-card {
        position: absolute;
        inset: 0 64px 28px;
        margin: 0;
        background: var(--surface-2);
        box-shadow: 0 28px 70px rgba(10, 18, 28, .2);
        opacity: 0;
        transform: translateX(0) scale(.84);
        transition: transform .72s cubic-bezier(.2,.75,.15,1), opacity .45s ease, filter .6s ease;
        pointer-events: none;
        will-change: transform, opacity;
      }
      .gallery-card.is-active { z-index: 4; opacity: 1; transform: translateX(0) scale(1); pointer-events: auto; }
      .gallery-card.is-next { z-index: 3; opacity: .62; transform: translateX(54px) translateY(18px) scale(.935) rotate(1.2deg); filter: saturate(.72) brightness(.82); }
      .gallery-card.is-prev { z-index: 2; opacity: .34; transform: translateX(-48px) translateY(25px) scale(.89) rotate(-1.5deg); filter: saturate(.6) brightness(.7); }
      .gallery-card.is-far { z-index: 1; opacity: 0; transform: translateX(0) translateY(35px) scale(.82); }
      .gallery-open {
        position: relative;
        width: 100%;
        height: 100%;
        display: block;
        padding: 0;
        border: 0;
        overflow: hidden;
        color: #fff;
        background: #111;
        cursor: zoom-in;
        text-align: left;
      }
      .gallery-open img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .7s cubic-bezier(.2,.75,.15,1); }
      .gallery-card:nth-child(1) img { object-position: center 60%; }
      .gallery-card:nth-child(4) img { object-position: center 44%; }
      .gallery-card:nth-child(5) img { object-position: center 56%; }
      .gallery-card:nth-child(6) img { object-position: center 34%; }
      .gallery-card:nth-child(7) img { object-position: center 34%; }
      .gallery-card:nth-child(8) img { object-position: center 58%; }
      .gallery-card:nth-child(9) img { object-position: center 54%; }
      .gallery-card:nth-child(10) img { object-position: center 56%; }
      .gallery-card:nth-child(11) img { object-position: center 47%; }
      .gallery-open::after {
        content: "";
        position: absolute;
        inset: 48% 0 0;
        background: linear-gradient(transparent, rgba(5,8,12,.72));
        pointer-events: none;
      }
      .gallery-open:hover img, .gallery-open:focus-visible img { transform: scale(1.025); }
      .gallery-open:focus-visible { outline: 3px solid var(--accent-bright); outline-offset: -3px; }
      .gallery-caption {
        position: absolute;
        z-index: 1;
        inset: auto 28px 24px;
        display: flex;
        align-items: end;
        justify-content: space-between;
        gap: 24px;
        color: #fff;
        pointer-events: none;
      }
      .gallery-caption strong { font: 600 clamp(22px, 2.4vw, 34px)/1 "Barlow Condensed", sans-serif; letter-spacing: .015em; }
      .gallery-caption span { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.74); }
      .gallery-controls {
        min-height: 64px;
        display: grid;
        grid-template-columns: auto minmax(130px, 1fr) auto;
        align-items: center;
        gap: 24px;
        margin: 8px 64px 0;
      }
      .gallery-arrows { display: flex; gap: 8px; }
      .gallery-arrow {
        width: 48px;
        height: 48px;
        display: grid;
        place-items: center;
        border: 1px solid var(--line);
        color: var(--ink);
        background: transparent;
        cursor: pointer;
        transition: background-color .2s ease, border-color .2s ease, color .2s ease;
      }
      .gallery-arrow:hover, .gallery-arrow:focus-visible { background: var(--accent); border-color: var(--accent); color: #fff; }
      .gallery-arrow svg { width: 20px; height: 20px; }
      .gallery-progress { height: 2px; background: var(--line); overflow: hidden; }
      .gallery-progress span { display: block; height: 100%; width: calc(100% / 11); background: var(--accent); transform: translateX(0); transition: transform .55s cubic-bezier(.2,.75,.15,1); }
      .gallery-count { min-width: 70px; color: var(--muted); font: 600 14px/1 "Manrope", sans-serif; text-align: right; font-variant-numeric: tabular-nums; }
      .gallery-count strong { color: var(--ink); font-size: 19px; }
      .lightbox[hidden] { display: none; }
      .lightbox {
        position: fixed;
        inset: 0;
        z-index: 100;
        display: grid;
        grid-template-columns: 76px minmax(0, 1fr) 76px;
        grid-template-rows: 72px minmax(0, 1fr) 80px;
        align-items: center;
        background: rgba(5, 7, 10, .94);
        color: #fff;
        backdrop-filter: blur(16px);
      }
      .lightbox-image-wrap { grid-column: 2; grid-row: 2; height: 100%; min-height: 0; display: grid; place-items: center; }
      .lightbox img { max-width: 100%; max-height: 100%; object-fit: contain; box-shadow: 0 22px 70px rgba(0,0,0,.45); }
      .lightbox-close, .lightbox-nav {
        border: 1px solid rgba(255,255,255,.26);
        color: #fff;
        background: rgba(255,255,255,.04);
        cursor: pointer;
      }
      .lightbox-close { grid-column: 3; grid-row: 1; justify-self: center; width: 44px; height: 44px; display: grid; place-items: center; }
      .lightbox-close svg { width: 20px; height: 20px; }
      .lightbox-nav { width: 50px; height: 58px; display: grid; place-items: center; justify-self: center; }
      .lightbox-nav svg { width: 23px; height: 23px; }
      .lightbox-prev { grid-column: 1; grid-row: 2; }
      .lightbox-next { grid-column: 3; grid-row: 2; }
      .lightbox-close:hover, .lightbox-close:focus-visible, .lightbox-nav:hover, .lightbox-nav:focus-visible { background: var(--accent); border-color: var(--accent); }
      .lightbox-caption { grid-column: 2; grid-row: 3; margin: 0; align-self: center; font: 600 20px/1.2 "Barlow Condensed", sans-serif; letter-spacing: .02em; text-align: center; }
      body.lightbox-open { overflow: hidden; }
      .service-list { margin-top: 62px; border-top: 1px solid var(--line); }
      .service-row {
        position: relative;
        min-height: 154px;
        display: grid;
        grid-template-columns: 140px minmax(220px, .75fr) 1.25fr 60px;
        gap: 36px;
        align-items: center;
        border-bottom: 1px solid var(--line);
        text-decoration: none;
      }
      .service-no { color: var(--accent); font: 700 16px/1 "Barlow Condensed", sans-serif; }
      .service-row h3 { font-size: clamp(29px, 3vw, 43px); line-height: 1; text-transform: uppercase; }
      .service-row p { margin: 0; color: var(--muted); max-width: 570px; }
      .service-arrow {
        width: 46px;
        height: 46px;
        display: grid;
        place-items: center;
        border: 1px solid var(--line);
        color: var(--accent);
        transition: background-color .2s ease, color .2s ease;
      }
      .service-arrow svg { width: 20px; height: 20px; }
      .service-row:hover .service-arrow, .service-row:focus-visible .service-arrow { background: var(--accent); color: var(--accent-ink); border-color: var(--accent); }
      .service-row.featured { background: var(--dark); color: var(--dark-ink); margin-inline: -24px; padding-inline: 24px; border-color: #41413e; }
      .service-row.featured p { color: var(--dark-muted); }
      .service-row.featured .service-arrow { border-color: #4e4e4b; }
      .new-tag { display: inline-block; margin-bottom: 10px; padding: 6px 9px; background: var(--accent); color: #ffffff; font: 800 11px/1 "Manrope", sans-serif; letter-spacing: .07em; text-transform: uppercase; }

      .response {
        background: var(--accent);
        color: var(--accent-ink);
        padding: 96px 0;
      }
      .response-grid {
        display: grid;
        grid-template-columns: minmax(0, 1.05fr) minmax(380px, .95fr);
        gap: 86px;
        align-items: center;
      }
      .response h2 { max-width: 650px; }
      .response-copy > p { max-width: 650px; margin: 26px 0 0; font-size: 19px; font-weight: 600; }
      .response-steps { counter-reset: step; border-top: 1px solid color-mix(in srgb, var(--accent-ink) 30%, transparent); }
      .response-step {
        display: grid;
        grid-template-columns: 46px 1fr;
        gap: 16px;
        padding: 24px 0;
        border-bottom: 1px solid color-mix(in srgb, var(--accent-ink) 30%, transparent);
      }
      .response-step::before {
        counter-increment: step;
        content: "0" counter(step);
        font: 800 21px/1 "Barlow Condensed", sans-serif;
      }
      .response-step strong { display: block; font: 700 23px/1 "Barlow Condensed", sans-serif; text-transform: uppercase; }
      .response-step span { display: block; margin-top: 7px; font-size: 14px; color: color-mix(in srgb, var(--accent-ink) 78%, transparent); }

      .territory { padding: 104px 0; }
      .territory-grid {
        display: grid;
        grid-template-columns: .9fr 1.1fr;
        gap: 100px;
        align-items: start;
      }
      .territory p { margin: 28px 0 0; color: var(--muted); max-width: 560px; font-size: 18px; }
      .territory-list { border-top: 1px solid var(--line); }
      .territory-item {
        min-height: 104px;
        display: grid;
        grid-template-columns: 70px 1fr;
        gap: 22px;
        align-items: center;
        border-bottom: 1px solid var(--line);
      }
      .territory-item > span { color: var(--accent); font: 800 17px/1 "Barlow Condensed", sans-serif; }
      .territory-item h3 { font: 700 clamp(23px, 2.25vw, 33px)/1.05 "Barlow Condensed", sans-serif; text-transform: uppercase; }
      .territory-item p { margin: 8px 0 0; max-width: none; font-size: 13px; line-height: 1.45; }
      .faq { background: var(--surface); padding: 100px 0; }
      .faq-grid { margin: 54px 0 0 236px; border-top: 1px solid var(--line); }
      .faq-item { display: grid; grid-template-columns: .8fr 1.2fr; gap: 52px; padding: 28px 0; border-bottom: 1px solid var(--line); }
      .faq-item h3 { font-size: clamp(24px, 2.35vw, 34px); line-height: 1.05; text-transform: uppercase; }
      .faq-item p { margin: 0; color: var(--muted); }

      .final-call { background: var(--dark); color: var(--dark-ink); padding: 104px 0 96px; }
      .final-grid { display: grid; grid-template-columns: 1fr auto; gap: 70px; align-items: end; }
      .final-call h2 { max-width: 850px; font-size: clamp(50px, 7.6vw, 102px); }
      .final-call p { margin: 24px 0 0; max-width: 630px; color: var(--dark-muted); font-size: 18px; }
      .phone-block { min-width: 300px; }
      .phone-label { display: block; color: var(--dark-muted); font-size: 13px; font-weight: 700; margin-bottom: 12px; }
      .phone-number { display: inline-flex; align-items: center; gap: 13px; color: var(--dark-ink); font: 700 clamp(31px, 3.5vw, 48px)/1 "Barlow Condensed", sans-serif; text-decoration: none; white-space: nowrap; }
      .phone-number svg { width: 32px; height: 32px; color: var(--accent); }
      .phone-number:hover, .phone-number:focus-visible { color: var(--accent-bright); }
      .email-link { display: inline-block; margin-top: 10px; color: var(--dark-ink); font: 600 19px/1.4 "Inter", sans-serif; text-decoration: underline; text-underline-offset: 3px; }
      .email-link:hover, .email-link:focus-visible { color: var(--accent-bright); }
      footer { background: var(--dark); color: var(--dark-muted); border-top: 1px solid #343431; }
      .footer-inner { min-height: 88px; display: flex; align-items: center; justify-content: space-between; gap: 24px; font-size: 12px; }
      .footer-brand { display: flex; align-items: center; gap: 14px; }
      .footer-logo { width: 92px; height: 40px; display: block; object-fit: contain; background: #fff; padding: 4px 6px; }
      .footer-inner strong { display: block; color: var(--dark-ink); font: 700 16px/1.1 "Barlow Condensed", sans-serif; text-transform: uppercase; }
      .footer-brand span span { display: block; margin-top: 4px; }
      .mobile-call { display: none; }

      .hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 46%; z-index: -3; }
      .hero-shade { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(5,8,12,.7) 0%, rgba(5,8,12,.4) 52%, rgba(5,8,12,.06) 100%); }
      .hero .hero-layout { grid-template-columns: minmax(0, 800px); min-height: 740px; }
      .stats-grid { margin-top: 58px; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
      .stats-grid article { min-height: 190px; padding: 32px; display: flex; flex-direction: column; justify-content: center; border-left: 1px solid var(--line); }
      .stats-grid article:first-child { border-left: 0; }
      .stats-grid strong { color: var(--accent); font: 800 clamp(52px, 6vw, 82px)/.9 "Barlow Condensed", sans-serif; }
      .stats-grid span { margin-top: 16px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
      .divisions-heading { margin: 76px 0 24px; display: flex; align-items: end; justify-content: space-between; gap: 30px; border-bottom: 1px solid var(--line); padding-bottom: 18px; }
      .divisions-heading span { font: 700 clamp(34px, 4vw, 54px)/1 "Barlow Condensed", sans-serif; text-transform: uppercase; }
      .divisions-heading p { margin: 0; color: var(--muted); }
      .service-list { display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; border: 0; }
      .service-row { min-height: 340px; grid-template-columns: 1fr 46px; grid-template-rows: auto 1fr auto; align-items: end; gap: 16px; padding: 28px; border: 0; color: #fff; background-size: cover; background-position: center; isolation: isolate; overflow: hidden; }
      .service-row::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(6,9,13,.12), rgba(6,9,13,.88)); }
      .service-row:nth-child(1) { grid-column: span 3; background-image: url(assets/photo-02.webp); }
      .service-row:nth-child(2) { grid-column: span 3; background-image: url(assets/photo-03.webp); }
      .service-row:nth-child(3) { grid-column: span 2; background-image: url(assets/photo-04.webp); }
      .service-row:nth-child(4) { grid-column: span 2; background-image: url(assets/photo-05.webp); }
      .service-row:nth-child(5) { grid-column: span 2; background-image: url(assets/photo-06.webp); background-position: center 34%; margin: 0; }
      .service-row:nth-child(6) { grid-column: span 6; background-image: url(assets/photo-16.webp); background-position: center 45%; }
      .service-no { grid-column: 1 / 3; color: #8fc3f4; }
      .service-row h3 { grid-column: 1; align-self: end; }
      .service-row p { grid-column: 1 / 3; color: rgba(255,255,255,.82); }
      .service-row .service-arrow { grid-column: 2; grid-row: 2; align-self: end; border-color: rgba(255,255,255,.42); }
      .service-row.featured p { color: rgba(255,255,255,.82); }
      .company, .operations, .recruitment { padding: 104px 0; }
      .company { background: var(--dark); color: var(--dark-ink); }
      .company-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
      .company img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
      .company p { color: var(--dark-muted); font-size: 18px; }
      .fleet-proof {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: minmax(210px, .7fr) minmax(0, 1.3fr);
        gap: 46px;
        align-items: center;
        margin-top: 6px;
        padding: 38px 42px;
        background: var(--accent);
        color: var(--accent-ink);
      }
      .fleet-proof-label { display: block; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
      .fleet-proof-industries { display: block; margin-top: 10px; font: 700 clamp(28px, 3vw, 42px)/1 "Barlow Condensed", sans-serif; text-transform: uppercase; }
      .fleet-proof p { margin: 0; color: var(--accent-ink); font: 700 clamp(25px, 3vw, 40px)/1.12 "Barlow Condensed", sans-serif; text-transform: uppercase; }
      .operations { background: var(--surface); }
      .operations-grid { margin-top: 52px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); }
      .operations-grid article { min-height: 230px; padding: 32px; background: var(--surface); }
      .operations-grid h3 { font-size: 30px; text-transform: uppercase; }
      .operations-grid p { color: var(--muted); }
      .recruitment { background: var(--accent); color: #fff; }
      .recruitment-grid { display: grid; grid-template-columns: 1fr auto; gap: 60px; align-items: center; }
      .recruitment-cta { display: flex; flex-direction: column; gap: 12px; }
      .recruitment p { max-width: 700px; font-size: 18px; }
      .recruitment .btn { background: #fff; color: #111; }
      .footer-hours { color: var(--dark-muted); line-height: 1.6; }

      @media (max-width: 980px) {
        .nav-links a:not(.nav-call) { display: none; }
        .hero { min-height: auto; }
        .hero-layout { grid-template-columns: 1fr; gap: 56px; padding: 66px 0 112px; }
        .hero-copy { max-width: 760px; }
        .hero-visual { min-height: 480px; }
        .tech-frame { width: min(90%, 520px); }
        .position-grid, .services-intro { margin-left: 0; }
        .position-grid { gap: 48px; }
        .stats-grid { grid-template-columns: repeat(2, 1fr); }
        .stats-grid article:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
        .stats-grid article:nth-child(4) { border-top: 1px solid var(--line); }
        .service-list { grid-template-columns: repeat(2, 1fr); }
        .service-row:nth-child(n) { grid-column: span 1; }
        .company-grid { gap: 48px; }
        .operations-grid { grid-template-columns: repeat(2, 1fr); }
        .response-grid, .territory-grid { gap: 52px; }
        .final-grid { grid-template-columns: 1fr; }
      }
      @media (max-width: 720px) {
        .shell { width: min(100% - 28px, 1240px); }
        .site-nav { position: relative; }
        .nav-inner { min-height: 58px; }
        .brand-logo { width: 126px; height: 44px; }
        .brand-name { display: none; }
        .nav-call { display: none; }
        .hero::before { width: 100%; opacity: .65; }
        .hero-layout { padding: 54px 0 105px; gap: 42px; }
        h1 { font-size: clamp(46px, 14vw, 62px); line-height: .94; }
        .hero-lede { font-size: 18px; line-height: 1.55; }
        .hero-actions { display: grid; }
        .btn { width: 100%; }
        .hero-visual { min-height: 345px; }
        .tech-frame { width: calc(100% - 18px); }
        .tech-stamp { right: -8px; bottom: 24px; width: 128px; padding: 14px 16px; }
        .tech-stamp strong { font-size: 30px; }
        .rail-inner { grid-template-columns: 1fr; }
        .rail-item { min-height: 54px; border-left: 0; border-top: 1px solid color-mix(in srgb, var(--accent-ink) 25%, transparent); }
        .rail-item:first-child { border-top: 0; }
        .hero-rail { position: relative; }
        .positioning, .services, .territory { padding: 72px 0; }
        .section-head { grid-template-columns: 1fr; gap: 24px; }
        h2 { font-size: clamp(40px, 13vw, 58px); }
        .position-grid { margin-top: 38px; grid-template-columns: 1fr; gap: 38px; }
        .position-copy { font-size: 18px; }
        .stats-grid { grid-template-columns: 1fr 1fr; margin-top: 38px; }
        .stats-grid article { min-height: 150px; padding: 22px 18px; }
        .stats-grid strong { font-size: 54px; }
        .stats-grid span { font-size: 12px; }
        .service-list { grid-template-columns: 1fr; }
        .service-row:nth-child(n) { grid-column: 1; min-height: 300px; padding: 24px; }
        .company, .operations, .recruitment { padding: 72px 0; }
        .company-grid, .recruitment-grid { grid-template-columns: 1fr; gap: 36px; }
        .fleet-proof { grid-column: 1; grid-template-columns: 1fr; gap: 20px; margin-top: 8px; padding: 30px 24px; }
        .fleet-proof p { font-size: 29px; }
        .operations-grid { grid-template-columns: 1fr; }
        .operations-grid article { min-height: 180px; }
        .recruitment .btn { width: 100%; }
        .facebook-inner { align-items: flex-start; flex-direction: column; gap: 24px; }
        .facebook-inner .btn { width: 100%; }
        .services-intro { margin-top: 24px; }
        .field-gallery { margin-top: 38px; padding-top: 0; }
        .gallery-stage { height: min(118vw, 510px); }
        .gallery-card { inset: 0 17px 24px; }
        .gallery-card.is-next { transform: translateX(15px) translateY(12px) scale(.955) rotate(.8deg); }
        .gallery-card.is-prev { transform: translateX(-13px) translateY(18px) scale(.92) rotate(-1deg); }
        .gallery-caption { inset: auto 18px 18px; display: block; }
        .gallery-caption strong { display: block; font-size: 26px; }
        .gallery-caption span { display: block; margin-top: 7px; font-size: 10px; }
        .gallery-controls { grid-template-columns: auto 1fr auto; gap: 14px; margin: 4px 17px 0; }
        .gallery-arrow { width: 44px; height: 44px; }
        .gallery-progress { display: none; }
        .lightbox { grid-template-columns: 56px minmax(0, 1fr) 56px; grid-template-rows: 64px minmax(0, 1fr) 72px; }
        .lightbox-close { grid-column: 2; justify-self: end; margin-right: 4px; }
        .lightbox-nav { width: 42px; height: 52px; }
        .lightbox-caption { padding: 0 10px; font-size: 18px; }
        .service-list { margin-top: 42px; }
        .service-row { min-height: auto; grid-template-columns: 44px 1fr 42px; gap: 14px; padding: 26px 0; }
        .service-row h3 { font-size: 30px; }
        .service-row p { grid-column: 2 / 4; font-size: 14px; }
        .service-row.featured { margin-inline: -14px; padding-inline: 14px; }
        .service-arrow { width: 40px; height: 40px; }
        .response { padding: 72px 0; }
        .response-grid, .territory-grid { grid-template-columns: 1fr; gap: 46px; }
        .response-copy > p { font-size: 16px; }
        .territory-item { grid-template-columns: 38px 1fr; gap: 10px; min-height: 96px; padding: 14px 0; }
        .territory-item h3 { font-size: 27px; }
        .territory-item p { font-size: 12px; }
        .faq { padding: 72px 0; }
        .faq-grid { margin: 38px 0 0; }
        .faq-item { grid-template-columns: 1fr; gap: 12px; padding: 24px 0; }
        .faq-item h3 { font-size: 27px; }
        .final-call { padding: 76px 0 88px; }
        .final-call h2 { font-size: clamp(48px, 15vw, 68px); }
        .phone-block { min-width: 0; }
        .phone-number { font-size: 34px; }
        .footer-inner { padding: 20px 0 92px; align-items: flex-start; flex-direction: column; gap: 8px; }
        .mobile-call {
          position: fixed;
          inset: auto 12px calc(12px + env(safe-area-inset-bottom));
          z-index: 70;
          min-height: 58px;
          display: flex;
          align-items: center;
          justify-content: center;
          gap: 11px;
          background: var(--accent);
          color: var(--accent-ink);
          text-decoration: none;
          font-weight: 800;
          box-shadow: 0 14px 34px rgba(0,0,0,.28);
        }
        .mobile-call svg { width: 21px; height: 21px; }
        .service-list { display: grid; grid-template-columns: 1fr; gap: 12px; border: 0; }
        .service-row:nth-child(n) { grid-column: 1; grid-row: auto; min-height: 300px; grid-template-columns: 1fr 42px; grid-template-rows: auto 1fr auto; gap: 14px; padding: 24px; margin: 0; }
        .service-row .service-no { grid-column: 1 / 3; }
        .service-row h3 { grid-column: 1; grid-row: 2; align-self: end; }
        .service-row p { grid-column: 1 / 3; grid-row: 3; }
        .service-row .service-arrow { grid-column: 2; grid-row: 2; align-self: end; }
        .divisions-heading { margin-top: 56px; align-items: flex-start; flex-direction: column; gap: 8px; }
      }
      @media (prefers-reduced-motion: reduce) {
        html { scroll-behavior: auto; }
        * { transition: none !important; }
      }

.fleet-grid{margin-top:40px;display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line)}.fleet-grid article{padding:32px;background:var(--surface)}.fleet-grid h3{font-size:24px;text-transform:uppercase;margin:0 0 12px}.fleet-grid p{color:var(--muted);margin:0}.fleet-intro{max-width:820px;font-size:19px}.repairs-strip{margin-top:44px}.repairs-strip h3{font-size:20px;text-transform:uppercase;margin:0 0 16px}.repair-chips{display:flex;flex-wrap:wrap;gap:10px}.repair-chips span{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:9px 16px;font-weight:600;font-size:15px}@media (max-width:760px){.fleet-grid{grid-template-columns:1fr}}

.social-wrap{display:flex;flex-direction:column;gap:10px;align-items:flex-start}.social-caption{font-weight:600;letter-spacing:.05em;text-transform:uppercase;font-size:.78rem;opacity:.85}.social-btns{display:flex;gap:12px;align-items:center}.social-btn{width:46px;height:46px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);color:#fff;text-decoration:none;transition:background .2s ease,transform .2s ease}.social-btn:hover{background:rgba(255,255,255,.28);transform:translateY(-2px)}

@media (max-width: 980px){.nav-links{gap:14px}.nav-links a.social-link{display:inline-flex !important;align-items:center}}

/* ================================================================
   AJOUTS — brouillon multi-pages (navigation, pages intérieures,
   formulaire). Ajouté par-dessus le CSS du site actuel, sans
   modifier les règles existantes sauf mention contraire.
   ================================================================ */

/* --- Navigation multi-pages (menus déroulants CSS seulement) --- */
.nav-drop { position: relative; display: inline-flex; }
.nav-drop-label {
  cursor: pointer; color: var(--dark-muted); font-size: 13px; font-weight: 700;
  display: inline-flex; align-items: center; gap: 6px; background: none; border: 0;
  font-family: inherit; padding: 0;
}
.nav-drop-label::after { content: "▾"; font-size: 11px; color: var(--accent-bright); }
.nav-drop:hover .nav-drop-label, .nav-drop:focus-within .nav-drop-label { color: var(--dark-ink); }
.nav-drop-menu {
  position: absolute; top: calc(100% + 16px); left: -14px; min-width: 264px;
  background: var(--dark); border: 1px solid #343431; padding: 10px 0;
  display: none; z-index: 80; box-shadow: var(--shadow);
}
.nav-drop:hover .nav-drop-menu, .nav-drop:focus-within .nav-drop-menu { display: block; }
.nav-drop-menu a { display: block; padding: 9px 18px; font-size: 14px; white-space: nowrap; }
.nav-drop-menu a:hover, .nav-drop-menu a:focus-visible { color: var(--dark-ink); background: rgba(255,255,255,.06); }

/* --- Menu mobile (details/sommaire, aucun JavaScript) --- */
.nav-mobile { display: none; }
@media (max-width: 980px) {
  .nav-mobile { display: block; }
  .nav-mobile summary {
    cursor: pointer; list-style: none; font-weight: 800; font-size: 14px;
    color: var(--dark-ink); padding: 8px 2px; text-transform: uppercase; letter-spacing: .05em;
  }
  .nav-mobile summary::-webkit-details-marker { display: none; }
  .nav-mobile-panel {
    position: absolute; left: 0; right: 0; top: 100%;
    background: var(--dark); border-top: 1px solid #343431;
    padding: 14px 20px 22px; z-index: 90; max-height: 75vh; overflow: auto;
    box-shadow: var(--shadow);
  }
  .nav-mobile-panel a {
    display: block; padding: 9px 0; color: var(--dark-muted); text-decoration: none;
    font-weight: 700; font-size: 15px; border-bottom: 1px solid rgba(255,255,255,.07);
  }
  .nav-mobile-panel a.sub { padding-left: 18px; font-weight: 600; font-size: 14px; }
  .nav-mobile-panel a:hover, .nav-mobile-panel a:focus-visible { color: var(--dark-ink); }
  .site-nav { position: relative; }
}

/* --- Pied de page : rangée de liens vers les 15 pages --- */
.footer-pages {
  padding: 30px 0 4px; display: flex; flex-wrap: wrap; gap: 10px 22px;
}
.footer-pages a {
  color: var(--dark-muted); font-size: 12px; font-weight: 700; text-decoration: none;
  text-transform: uppercase; letter-spacing: .05em;
}
.footer-pages a:hover, .footer-pages a:focus-visible { color: var(--dark-ink); }

/* --- Pages intérieures --- */
.page-hero {
  background: var(--dark); color: var(--dark-ink);
  padding: 84px 0 72px; position: relative; overflow: hidden; isolation: isolate;
}
.page-hero.with-photo { background-size: cover; background-position: center; }
.page-hero.with-photo::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(90deg, rgba(5,8,12,.85) 0%, rgba(5,8,12,.52) 58%, rgba(5,8,12,.18) 100%);
}
.page-hero h1 { font-size: clamp(44px, 6vw, 84px); max-width: 900px; }
.page-hero .lede {
  max-width: 720px; margin: 24px 0 0; font-size: clamp(18px, 1.6vw, 22px);
  font-weight: 600; line-height: 1.55; color: #ffffff; text-shadow: 0 2px 14px rgba(0,0,0,.5);
}
.breadcrumb { margin: 0 0 20px; font-size: 13px; font-weight: 700; color: var(--dark-muted); letter-spacing: .04em; text-transform: uppercase; }
.breadcrumb a { color: var(--accent-bright); text-decoration: none; }
.breadcrumb a:hover { text-decoration: underline; }
.page-section { padding: 84px 0; }
.page-section.alt { background: var(--surface); }
.page-section.dark { background: var(--dark); color: var(--dark-ink); }
.page-section.dark p { color: var(--dark-muted); }
.prose { max-width: 780px; font-size: 18px; }
.prose p { margin: 0 0 18px; color: var(--muted); }
.prose strong { color: var(--ink); }
.page-section.dark .prose strong { color: var(--dark-ink); }
.link-cards { margin-top: 44px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.link-card {
  display: block; padding: 26px; border: 1px solid var(--line); background: var(--surface);
  text-decoration: none; transition: border-color .2s ease, transform .2s ease;
}
.alt .link-card { background: var(--bg); }
.link-card:hover, .link-card:focus-visible { border-color: var(--accent); transform: translateY(-2px); }
.link-card h3 { font-size: 26px; text-transform: uppercase; line-height: 1.05; }
.link-card p { margin: 10px 0 0; color: var(--muted); font-size: 15px; }
.link-card .go { display: inline-block; margin-top: 14px; color: var(--accent); font-weight: 800; font-size: 13px; text-transform: uppercase; letter-spacing: .05em; }
.check-list { margin: 26px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); max-width: 780px; }
.check-list li {
  display: grid; grid-template-columns: 34px 1fr; gap: 14px; align-items: start;
  padding: 16px 0; border-bottom: 1px solid var(--line); font-size: 17px;
}
.check-list svg { width: 22px; height: 22px; color: var(--accent); margin-top: 2px; }
.check-list strong { display: block; }
.check-list span { color: var(--muted); font-size: 15px; }
@media (max-width: 980px) { .link-cards { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 720px) {
  .page-hero { padding: 56px 0 48px; }
  .page-section { padding: 56px 0; }
  .link-cards { grid-template-columns: 1fr; }
}

/* --- Formulaire de demande d'intervention (page Contact) --- */
.dispatch-form { max-width: 840px; margin-top: 42px; display: grid; gap: 20px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.field label { display: block; font-weight: 800; font-size: 14px; margin-bottom: 8px; }
.field .hint { font-weight: 600; color: var(--muted); font-size: 13px; }
.field input[type="text"], .field input[type="tel"], .field select, .field textarea {
  width: 100%; padding: 13px 14px; border: 1px solid var(--line);
  background: var(--surface); color: var(--ink); font: inherit; font-size: 16px; border-radius: 0;
}
.field textarea { min-height: 112px; resize: vertical; }
.fieldset { border: 0; padding: 0; margin: 0; }
.fieldset legend { font-weight: 800; font-size: 14px; margin-bottom: 10px; padding: 0; }
.radio-group { display: flex; gap: 10px; flex-wrap: wrap; }
.radio-pill {
  border: 1px solid var(--line); padding: 11px 18px; font-weight: 700; cursor: pointer;
  display: inline-flex; gap: 9px; align-items: center; background: var(--surface); font-size: 15px;
}
.radio-pill:has(input:checked) { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 10%, var(--surface)); }
.form-note { color: var(--muted); font-size: 14px; max-width: 700px; }
@media (max-width: 720px) { .form-row { grid-template-columns: 1fr; } }

/* --- Divers --- */
a.territory-item { text-decoration: none; color: inherit; }
a.territory-item:hover h3, a.territory-item:focus-visible h3 { color: var(--accent); }
main a { text-underline-offset: 3px; }

/* Retrait de la barre d'appel fixe du bas sur mobile (2026-10-16) */
.mobile-call { display: none !important; }
@media (max-width: 720px) { .footer-inner { padding-bottom: 20px; } }

/* Correctif mobile (2026-10-16) : menus déroulants retirés sous 980px (boîte noire vide sur cellulaire) — le bouton Menu couvre toutes les pages ; en-tête allégé (le numéro reste dans la page et le pied de page) */
@media (max-width: 980px) {
  .nav-drop { display: none; }
  .nav-links .nav-call { display: none; }
}

/* Correctif mobile 2 (2026-10-16) : resserrement de l'en-tête sur petits écrans pour empêcher tout débordement de la rangée */
@media (max-width: 720px) {
  .nav-inner { gap: 10px; }
  .nav-links { gap: 10px; }
  .brand-logo { width: 112px; height: 38px; }
}

/* Sélecteur de langue FR | EN (ajout bilingue — à incrémenter ?v= si modifié) */
.lang-switch{display:inline-flex;align-items:center;gap:6px;color:var(--dark-muted);font-size:13px;font-weight:700;letter-spacing:.04em;white-space:nowrap}
.lang-switch a{color:var(--dark-ink);text-decoration:none;padding:0!important}
.lang-switch a:hover{color:var(--accent-bright)}
.lang-switch .lang-current{color:var(--accent-bright)}
@media (max-width:980px){.nav-links .lang-switch a{display:inline-flex!important}}

/* Sélecteur de langue FR | EN (ajout bilingue — à incrémenter ?v= si modifié) */
.lang-switch{display:inline-flex;align-items:center;gap:6px;color:var(--dark-muted);font-size:13px;font-weight:700;letter-spacing:.04em;white-space:nowrap}
.lang-switch a{color:var(--dark-ink);text-decoration:none;padding:0!important}
.lang-switch a:hover{color:var(--accent-bright)}
.lang-switch .lang-current{color:var(--accent-bright)}
@media (max-width:980px){.nav-links .lang-switch a{display:inline-flex!important}}

/* Sélecteur de langue FR | EN (ajout bilingue — à incrémenter ?v= si modifié) */
.lang-switch{display:inline-flex;align-items:center;gap:6px;color:var(--dark-muted);font-size:13px;font-weight:700;letter-spacing:.04em;white-space:nowrap}
.lang-switch a{color:var(--dark-ink);text-decoration:none;padding:0!important}
.lang-switch a:hover{color:var(--accent-bright)}
.lang-switch .lang-current{color:var(--accent-bright)}
@media (max-width:980px){.nav-links .lang-switch a{display:inline-flex!important}}
