
  /* ===================== TOKENS ===================== */
  :root {
    --asphalt:    #16181C;
    --asphalt-2:  #20242B;
    --asphalt-3:  #2C313A;
    --paper:      #F4F5F7;   /* cool light bg (matches logo's cool grey/white) */
    --paper-2:    #E8EAEE;
    --silver:     #C9CDD4;

    --blue:       #1E3AE6;   /* brand royal blue — accents/buttons on light */
    --blue-dk:    #1B32C4;   /* button hover */
    --blue-bright:#4C7DFF;   /* accent on dark asphalt */

    --ink:        #14161A;   /* text on light */
    --ink-soft:   #565C64;   /* muted on light (AA) */
    --paper-txt:  #D7DADF;   /* body on dark */
    --paper-mut:  #969CA6;   /* muted on dark */

    --line:       #DCDFE4;   /* hairline on light */
    --line-dk:    #30343C;   /* hairline on dark */

    --maxw: 1200px;
    --gutter: clamp(20px, 5vw, 64px);

    --ff-display: 'Archivo', system-ui, sans-serif;
    --ff-body:    'IBM Plex Sans', system-ui, sans-serif;
    --ff-mono:    'IBM Plex Mono', ui-monospace, monospace;

    --step--1: clamp(0.82rem, 0.79rem + 0.15vw, 0.9rem);
    --step-0:  clamp(1rem, 0.96rem + 0.2vw, 1.12rem);
    --step-1:  clamp(1.2rem, 1.1rem + 0.5vw, 1.5rem);
    --step-2:  clamp(1.6rem, 1.35rem + 1.2vw, 2.3rem);
    --step-3:  clamp(2.2rem, 1.7rem + 2.4vw, 3.6rem);
    --step-4:  clamp(3rem, 2rem + 4.6vw, 6rem);
  }

  /* ===================== RESET ===================== */
  *, *::before, *::after { box-sizing: border-box; }
  * { margin: 0; }
  html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
  @media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
  body {
    font-family: var(--ff-body);
    font-size: var(--step-0);
    line-height: 1.62;
    color: var(--ink);
    background: var(--paper);
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
  }
  img, svg, iframe { display: block; max-width: 100%; }
  a { color: inherit; text-decoration: none; }
  button { font: inherit; color: inherit; cursor: pointer; }
  h1, h2, h3, h4 { font-family: var(--ff-display); font-weight: 800; line-height: 1.02; letter-spacing: -0.02em; }

  :focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; border-radius: 2px; }

  .wrap { max-width: var(--maxw); margin-inline: auto; padding-inline: var(--gutter); }

  /* ===================== SPEC LABEL (mono signature) ===================== */
  .spec {
    font-family: var(--ff-mono);
    font-size: var(--step--1);
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
  }

  /* ===================== BUTTONS ===================== */
  .btn {
    display: inline-flex; align-items: center; gap: 0.55em;
    font-family: var(--ff-display);
    font-weight: 700; font-size: var(--step--1);
    letter-spacing: 0.02em;
    padding: 0.95em 1.5em;
    border: 2px solid transparent;
    border-radius: 2px;
    transition: transform .15s ease, background .15s ease, color .15s ease, border-color .15s ease;
    min-height: 48px;
  }
  .btn:active { transform: translateY(1px); }
  .btn--primary { background: var(--blue); color: #fff; }
  .btn--primary:hover { background: var(--blue-dk); }
  .btn--ghost { border-color: currentColor; color: var(--asphalt); background: transparent; }
  .btn--ghost:hover { background: var(--asphalt); color: var(--paper); border-color: var(--asphalt); }
  .btn--on-dark.btn--ghost { color: var(--paper); }
  .btn--on-dark.btn--ghost:hover { background: var(--paper); color: var(--asphalt); border-color: var(--paper); }
  .btn .arrow { transition: transform .18s ease; }
  .btn:hover .arrow { transform: translateX(3px); }

  /* ===================== HEADER ===================== */
  .site-header {
    position: sticky; top: 0; z-index: 60;
    background: color-mix(in srgb, var(--asphalt) 92%, transparent);
    backdrop-filter: saturate(1.1);
    border-bottom: 1px solid var(--line-dk);
    color: var(--paper);
    transition: box-shadow .2s ease;
  }
  .site-header.scrolled { box-shadow: 0 8px 30px rgba(0,0,0,.4); }
  .nav { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; height: 74px; }
  .brand { display: flex; align-items: center; gap: 0.7rem; flex-shrink: 0; }
  .brand__mark { width: 52px; height: 52px; flex-shrink: 0; background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAACZCSURBVHhe7Z0HeBRVF4ZjQ0Wx0Et6JxUIgUAqEDqE3mukSVFEQMECFpQiKlgARVApCiKIiCAIgtKk9w4SQRRRUFSwoP/5z3d3Bjab2c0m2SRbzvs859ndO3dmp9xvzjkzd+54CYIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCB5AUFCQT6BvYCIM37ViQfBsAnx9mwf7B6wN8g+4wp8EC/L3x/e1gX5+zbRqguB5BPoFvBAaEEghbEoYfv7K8B1lmBbk5zdJqy4InkOgn/9rYYFB10RhzUJVHb+p2myC4P5AHKaGn10MflW8lVmWi0gEj8FIHAipKpYpS+HBIcoq8HfzkAsmIhHcHmviuOeOO6lD23aUlZWlDN9RJiIRPAZr4rhbiaMtXblyhXTwHWWYJiIR3B6b4miTXRw6SiQ8TUQiuDW2xNHewnNYgmmoIyIR3JK8hFXWUJ5ERCK4G44Qh46IRHAr8iuOQZOJhryo/bBARCK4BflJyEHXp4i8QtnCiHo8qxVaoEQiibvgquQ3IVfiiGBL1oy/2xKJJO6Cy5HfsCqHOGBJprKetjyJiERwFRwqDguR2Ay3RCSCs1Mo4jA3EYngqhQoIbdHHDB7PIkk7oKz4bCE3B6zQySSuAtOQ6GHVUYmibvgChSLOHSTxF1wZopVHOYmIhGcjSJJyO01SdwFZ6JIE3J7TRJ3wRlwmrDKyCRxF4oTpxaHbpK4C8WBS4jD3EQkQlHhVAm5vSaJu1AUOGVCbq9J4i4UJi4XVhmZJO5CYeAW4tBNEnfBkbiVOMxNRCIUFJdMyO01SdyFguDSCbm9Jom7kB/cNqwyMnsSd/Ekgo5HiUM3SdwFe/BIcZibiESwhlsn5PaaJO6CER6RkNtrkrgL5nh8WGVkkrgLQMRhwyRx92xEHHZabp5EROJ+SEKeB5PE3bOQhDwfJom7ZyBhVQFMEnf3RsThAJPE3T0RcTjYcvMkIhLXQRLyQjBJ3N0DScgL0SRxd20krCoCk8TdNRFxFKFJ4u5aiDiKyXLzJCKS4kcS8mI0SdydG0nIncAkcXdO8hNW/foHUbPhfEB92aqJOcSqa5+8T1s+QnTpsrazzRBPUsTkN+d4ZyVRUh+iJiOImoo51LBPsW/nrNJ2tgVKJOJJCp/8ikMofkQkhUx+E3LBeVAikXDL8eQ3IRecDxwrSdwdiIRV7od4Egch4nBflEjEk+QfEYf7IyLJJ5KQew5KJBJu2Y8k5J4Hjqkk7nYgYZXnIp4kF0QcghKJeJKcuIo4tm7dSvPmzaP58+cb2oIFC+iff/7RamcH5YsXLzacryCG9Tl48KD2L7Y5e/YsffTRRzR27Fjq3r07NW7cmNLS0qhBgwbUvn17Gj58OL377rt05MgRbY6iR0Rigask5GjglStXJl5lm4YGaMSlS5folltuMZynoPbUU09p/2LMsmXLqGXLlnTnnXcazm9pN910EyUlJdHbb79N//77r7aUokOJRMIt10rIly9fbtiYLK1JkybaHNn57bffqHz58obzFNQmTJig/Ut2du/eTfXq1TOcx16Li4ujTZs2aUssOnDsPTpxd7WcA2dgXu1c7eabb6aTJ09qc12nqAXyzjvv0K233mpYP68GjzJnzhxtyUWHx3oSVxNHVlZWnsKjJ598UpvzOgixSpUqZVi/oPbss9mfWHrjjTcM6xXU4EWLGiUST/IkriYO8Mwzzxg2GGvm5+eXI1n/448/qHbt2hQcHGxoPj4+hsuC3XHHHYbzwIKCgpQgdNavX2+4DEuLiIig3r1705gxY5RlZmZSdHS0YV3dypQpQz/99JP2T0WHx4ikMBPy+XPnUYsmTak9L6dD23bZDGUtmzajpUuME2hbXL16lQIDA3M0Fm9vb0pPT89RrhsSY0v+++8/lfTi09J27txpuBwYwjujeWBY3v/+9z+1/D///NNwXc0tNjaWPv3002vzWIJpoaGhhvPCRo8erdXMDvbTc+zJWvB+ttz/sHatW6vjsHvXLm2OvKFE4s7hVmEm5Lh8WSc+jt6f+yYt//gDWvHxfFr5yXxauvh9WvLh+/z9A5ozayqlJtbV5rCflStXGjYUnH137NhhOA3WvHlzbQn2sW/fPsPlwFq1aqXVss3LL79sOL9uLVq0sGs/nz9/3qpIcGL466+/tJrX+XrL15RSJ57WfPYhLfvofVq86H3+fI8+4+OwfOl7tGrFRzT28eFKLPkF6+6WiXthh1XHjhyitLSmtHRNFq3ZeJJmLTlDr8w/S+s2H6NtO4/QktXf0lsfnqba8ck0oM999PPPP2tz5k5rPvPxJuSwRYsWqelVqlQxnI6c5dSpU6qOPeCKk9FyYBkZGVot6+AMjnDLaH5Y1apVDRu2NdauXWu4HBi8nTkQR/3kRGrTfhAtXH2RVqw7STt3H6Zla76hKXO+p4Ursmjd16dpyoxV1LZVG22u/OF2nqQoco4zWQepUlBz8kok8qrPVoctnuiWhkSlmvF3jMDBvwPCGlFUiC8dO3ZMm9M2p0+fphIlSuRoIHfffTf98ssvqs7gwYNzTNft6aefVnXsoaAC2bx5s+G8uq1aZeWBcRuEhYUZLks/Oei8M3s2BVS4ne6t+hR5sZP2SiO6u4Xp06smG0Y/wXGJzKKM5jyhgCiRuIMncYQ4cNZb/sknNHnSJJrw/PP0/vz59OO5c9pUE5f/uETJSY3I694R5FVlAnn5jDdZZf5eic2brfSD1CqjHXVq35YOHzqszWmb5557zrCBdOzYUatBtGHDBsM6sICAAHVmt4eCCuR53jdG88IiIyO1WnmjTZs2hsvDDURz3maBdO/UlmLiMsirIosEx6DSxOvHwpsN30t2oNEjh2lzXefA/v305owZ9Pyz4+jVqa+wR9qiTbGOy4vEEQn5wgULKDUpmTp36EjjnnmGJo6fQP3u60PJdRPVb3POnD5F77z5Ar3LNmfm5Gz27puTaO6sl+jnn85T9y7d1AHJDSS/uErEm5LDlixZotUy1bMV2iDptYeCCqRTp06G88KGDcvZKO3BmkDQxcWc1199lSY8N56OHt5Hs6eNz7H/Ye/MmEiL3nuTj/uf2lxEP/74I/Xs3p3S0+rR8IeG0QsTJ9Jjo0ZR88ZNlKc5cOCAVtMYJRJXDLcckZBPefElSkyoQ9u3bdNKrvPdd99RV24QvXv01ErsJymhrl0CWb16tWHjKFu2LP3+++9aLROPPPKIYV2YvQl2QQWSnJxsOC8MNw3zw6FDh5SHtLQLFy5oNUxMeekl6pt5n/bLPs6cOUMJ8fEqKvj777+10uvMnTOHYiOjVH5jC7Qll0rcHRFWfbl+PdWOq6nuHdgCngVnndz45+9/aNbMmdQgLY369+lLv/76qzbFOu3atTNsbD175hSlratZyGG+/fZbraZ1CiqQ6tWrG84Ls9eL5Ze9e/ZQ4/SG1LFde1q7Zo1Wah1cYm7FHuKN6TO0EmO+XP8l1YmvlevxchlP4qiEvFP7DrRp40YVvuzbu49Wf/YZLV70AS1auIBWLF9OO7ZtV0nylcuXqVGDdKs3r/5kd/7aK69SvZQU6talC23csFGbYhtcNr7tttsMG9uKFSu0WtfBAUecb1QfNm7cOK2mdQoqkGrVqhnOCzNa58Jg3tx5SiitW2bQpzbuumNaz27d1fczp0/Txq++oo+XfkQfLHifPlq8mNZ98QWdOH5CTR/75Bh68YXJ6rstlEic2ZME+vm9EOYAcfzw/fcqx3h0xHBqmFKd6lQPooQaYZQQF22yGlVVWWrtqjR86GBKS0qhFQZnyBPHj1P9lFTK7NWLdmzfoZXaB/o28SblsIoVK1rdDvSoNZoHhhwFYrdFQQWC3rdG88KKuh/V4g8/pMYNG6p88apB9/9HR4xkb9OBenVpR0k1gymhOluNCD6+MWyR/DuE6tYIonYt05XHR6RgD7ZEYmqbfpN4fxQ9Qd7+jUMDArOt0DVx2JmQ6+zbu5cCfapQUnJDSsiYTtXbfUkhrY+SX8YZ8s34jgJbnaKINjupVuv5lJrehaqUL0PvGsTY8ED6WSov4O60tcubeF7CGsiLjC4J6/YZe0FbFFQgHTp0MJwXNnLkSK1W3pg0aRLFc55gae+9955WwzZN0htp37JzX6/efFb3pZSmD1Ncm08orPUBCsj4lo/vWfLPOE3hbQ5QzbYrKbH5M1QtOorqp6aq42IPSiTWwq2AIAr28W/E+6RoYWVuMBcIVuweXsH83CHftXMnhfhXoU7dH6CI9sdM19BxXwPX12EpRCUbEgvlLHW47wUKC6hMb8+apc1tYhU3xoH9B6grYG9Mn56n/kO2bpDBs6Cv07p163LYl19+abObR1veF7YoqEDQYdFoXlhMTIxWK2/06dPHcHmWnSMtwUluwnPPU3yNOJrISfhBi6tRPbp2paTa1ahx7yVUsdklKtGAjyuOs36ME4huTSNK7rGemjVpxFFCYq4e2By0ObQ9tEFzkZjaqN8G3oaiI7hKsDfnHleDtZWAVSxTVvW7yas4wK4dOyk2KobSEmtRbXa1JZNOZRtuP7zedGqQWofqxIVTcu3qFFU1kt6Zff26/DfffKN2Sj1OyFtxLOxTuQo9PWasNjV3cI+DN8vhhq7n8DLWKKhANrLHNJpXNwg/r+BJQ6NlTZs2TathTCOeLzY6hlpntKLoyChq1jj7MzJ9MjOVeBKqh1EiC6VBvfpUPu3r68eZrVLdBZQYW5aSEhKoaaPGdt9P0lEi4TaItqi3S62NXuWQ14e3o2gI8AlIDjFTqV8VbwoLClbXuPPDJk6kcTVk/749NH3a61Su0TnyqsU7DXdk+eyS3OZ1evTB7vTS5Mnq6tGIYQ+r6/A6Z787S7V458N7pPOODw8JpSkvvaxNtc0PP/xAt99+u2GjcISNHz9e+6ecFFQg6D2MG5NG88OioqKsPg5sBE401p4n+fzzz7VaxiBnqFm9Bjf8ehRXrTp7jG7aFBMIfefNnavCzmeffooeur8jBTRmgbPn8Ipjiyeq3XUbLV88m77ghL0Nb39eusnonDt3jkI5/0Ob1Nsn2qq/t38Kb0fR4GiBbN64SV0FOXH8GB07fpSqtPmXQtpfoX7jfiCvqkTjZv1IF388Ssc5Ccfl0yEDB2UTCBj24FA+MNWobevW6lo6rkrZw2QWHW9SoRk6AFqLpQsqEJDb+uOeDHr85gbO1taeRDTvZmONxYs+pBBOirt26UIhHNZY9qKGYGZzWIy+aidOnKCffjhGaYMv0411/kcPTf6ObuATYpcxl+jCuaNKjBnNm7uuQBwdYukCOXrkEDeaXXRv06vUeOhF2rtnF5Vp8A9NmXOSjh/eTrt27VI710ggDwwaTC1btFTJaULNeLvuQ+BSLTr08SblMHQ8xNnZHitXrpzhMnSzdvZ1hEAuX76snkUxWoZuuByMy77WhIrHaxMTEw3nhfXr10+raZ0F771PCfG1aMxTY6k2J/UfLFigTTEBgcx66y06fPiw6Tge2U5tHvmZamT+TkcPbaeb0/5HrUf+TGe+2a1u2OZHIE4TYgFHJunmAtnFArk9/T+qyTvu1LFttGHLXrVDdbMmkC4dO1E7/m9cdaoRW00l/rlh60Gjhx56SJ1V7TF0hLT19CGuNhnhCIEAhCRGy7A0PDCFh6TwsBRGOenfv796/tyorm4lS5a062QzlUPaugl1aPRjj/FnAk19eYo2xYSlQHAi3LZ9N23fsZs2fb1HhVrNhl2k7/IpECUOZ0nSgSMv8+oCOcICObB/J9Xq8xt1eeK8Osvs37tT7UxbAoEnQFLXnePcEexBIJBVK21fYgVdOBzgTTE0y+7duWEtuYXhBuT333+v1byOowQCpk+fbricgpq9l3cfHz2a6nOINmrUKKqfVo+eGP2YNsWEpUBge/fs5OO9g3bs3EVhna/Qg5PO0rcn8i4QtDWnu8wLHHWjUBfIId55ezQx4Ck0mL4zdTMSyG+XfqMUDhH69u2rBBIfV1MlhLZAvoTHWnkzchjOtNaevrPGzJkzDZelG+4vWOJIgQD0uHXUoA0wiM5eBnAY1rxZM9VHrUWz5nR/v/7aFBNGAtFtD4fSO1kkOBHiIbK8CESJg9uakTiK9UahjiO6muAqVpuMVnT4yBG1w3Bm0YViaRAI8o3XXnlFm5soixM/XEJ84IEHlECSE5No8sScDdIcW0/iIfzIK0gObV0NCw8Pz5EDOFogAPuooMP+4B4Kwra8gDN4p44dafiIEdS5E4e7rVtrU0x079JVdZE3EggMxxwC2csCsTdJtyUOt+qPtXXL1ypEOnHypGo02GH4tDSUo0fogL79snkQ3BSMjYpWnQpxBsNl3rfenKlNzQmu6tgaEC63LtfWwPhYRsvTbenSpVpNE7Y6PKKRFwR94Dh7R1W58cYbqW7duvQWn+XzcmlYBzcC01JTVQ6C+1HdOnfRppjo1rkzvcVeFic4W8cXvYnXrFmj+nfZWg8lDmthlTOJQ8eWSHJL3NGVPC0pmabwWR2XcrGTDh46mM1QhmR4+SfLqUZMLO3nM405uLNelYUBQ7d4jEllDUybyyEY4mtLs2zEeQHDdxotE4bnKSzzmosXLxrWheEuvSMwH3q0R48e1LRpUzX0aMOGDdXFA1zUQNd4nNkLwp49e9TVwwj2lLX5c/eu3doUE9Nff109A7J7z261nw4aHGOsA6II3DMZOuQBbc6coC2hTbmMOHRsepJcEnc8A5KWnKzOHHCvLTmOtbQWfHBxKRGjmRiBa+zo9SsUDzjxbNm8WY0HZgnCyxEPD6fEhASrxxcPTOFECe9j7b6Ly3kOSwoSbuEhGghl86ZNvKO3WNhmZRfyMPiC4Hyc5BALnUpNxzP7MUb5gf3Ww1slDlf0HJY4InEXBHPcRhw6ziySS38QfbzBZEvx+RXRBg6Z/7TICS9wpPDxeq7zBdFxiz6HWT9w+edEWw/iGXWiTzeblrOMl/eX2XK2c2i/dA3nAj8RbeS0aSmnFuq/N2rG31dsITrBy1/C05Zt4vnNnkZdy2nL0rVEP17UCphth7hsNZ+NzXrT7DxCNJPTp6kLiZbzcn83613y06/8P/r/si3l9Vz9NdFps55Bq7YSfcTrucZijLeVXL7wM14/+3ruFApKHK4cVlmjIIl7YbLzKJFXjGYhbEFsoUQh7bjxmeWqI6ZxuS9bAFHdQVqhxisfcnk5ovpDuTFe5u8YfiiSLZBo1JtaJab5o1xWgWg+N+iQLvy9MlsEGzro4f+5PuZDw70xhb/z+qzRnvX67jz/Rldwb6Kxs01l//5HVLktl/kTbWFx/s67sBX+I4qN19MrmI2X6duSl6kN0L6a0zL0aVP/h+kw3ubbeNlPa4/VTPmAy/zYeDmrtCEB5q4yld2exvldzvucRQLaiEsm5PZSkMS9sNhznA98LaI7GhK9u5LoPT5ztnmcy7hhVdfGIfibvUB5bmR3pxPd1YinxRPtNxvAfcbHXMYNsiU3zj94E0pyvRKpRDdwo7u5DtFhrXdG56dM9RawF/iCvcFC9jr3TeAyFklsJv/m8oXsof7gM376Q1zODf8xTWAo94pm44adMsRUdjiLf9cg8tMeuGsxin/7sPg6ES1aR7SePWG/SVzGgrihtsnz7WDv4hVLVI63533eVix3zCwWJHrSViM68I1pWe3H8G9e18heJu9SuTX/DmcPZ3sMhULDbT2HJc4WbimB1CQqYzaeGcKiEnymvJkNIPyB93iCG9Lgl/k7N8Kh1+9NmgTCgtIFchOLI6IH0cOvczk38nTtQcQe4/i3JhCdt1dwGZ+ZW3LjNmfSe6a6dQeafvedyL+rE93CngViRiinzuq8LiPZu53kszoa/q1J1wWp02wkT+P1f3CqSdjwDKFdtYka0SxQeJJ1Wlh18Tf2PPBO7N38OvAni3hQ9i5VRYYShzt7DkucSSTmAtEfWtt1jM+4KNOG123IDRxnT8T5mw+YGgs8Cs70wEgg3hyi/cbhVhCfzRHGoOGN0ARjLpDXlnAZC6HJCK1AA2dyeCo8PXn+F6IAXk6tAURdnzEtD+uhxMr/u5XzkCWcS6A8ure2ADOmfWSqlz6M6GsOxSC0sry9b/B6z/yE6PGZLCz2dA15+mWzfAU5ELwKvJZ/e62wiPE4ceg4i0iUQLhx3MRnZpz1I3uafqOxTV1kSojVWZTDmEvc4PG7XAaXsWCQS4AcAmHPo3skhCTIadBwOyBs4bzCHoGg+1c4rw8a6DOcG3hxiDRxvubNWGQQRwyf9UvWN9VdzIk3/gdCsmT8PNM8LXj9tiPEYuHdmMwhYxOTqe1lEQx8SZtBo/d4LkdYx4K6k0W/MffhxByKEocnhFXWcIbEXQmE4+9buFEjFMngRjSAG4ae1I7mHEAltdyIStTjMy3GmEW8zuFM6oOmOm8s499mAkFoBoFc0boPNUNuwF4HwkGDt0cg4OHXeBon7XehEbNIcfaHQG/k3OYOznPg+TK0txF8e47L8Vw3N/R5mnDBr38QhXXmcg7jprDglWfiRu/PgscVsn/Yax45zcvDdvG67TWNtqNyMQgumOdVoSHEx6GW7jULGxx7t07I7aW4E/fdHE6hUZUyeLUgwg2EWWg4Ly7kRsNJNexZnNH5rIpGe+a8lgt4mxo5BIKrWHdyMo8QCyA0K4HGywk1GjyWoTMVV8CqEDXgpNwSXNaFENGg72l2XXCh3bgMV6rCiGaZjXj0zLtchqtSvF7dnjUJzJdDPeQf4ZxzYH5cXob38zYbQ+I/9kBlOWSEiHfzCQMiLAkxs+ixbZheDvuBRdbzeW2mQsTjPYclxRlu7eczamk+ewbxmVJv0DrLOJwpxeFIHS1RNieqFzdaPoPjrIxYvTQ3/i5Pm0SF/AShDi676jw3l+twWFOaQznkCzpvLecyFhvCL0vQoKtymFWavVd3s4FE0PBRVolDPfP7FwDeLBxJNXIHFuMd7PV687zntHsnX7FASrNYcYVOz7musCcJZ9GVZlEcyuLwjUOtO3l76rFo9Z7+737G03n97+JQS7/0XBgocYjnyElxiQT3EnDF5tffrzcGHQjmIifIf+YcOpYuc+O9+CvRLzwfLgNfvGQSBJaBMpjl8vA/qPe32QAduGKmz2sEQhr8D/5D5yo3bJQhJ7LGKfZaR7ixY7vMUfPy/+EGqQ5WE6EY1g/rc+6CqQ72jTkXeVkXeH9csN73s0CIOHLBWRJ3oehR4pCwKnecIXF3BtDjFU8y6mZtkAV3AMdUEvI8UNyJe3GB0eyffOxx9chxu9ZtlNfUDU/lYXwovCjT6HUBrop4jnziquHWF2vX0ssvvkivv/qaGpX8q6/MMnIbQBx4Sy+ek8DQnXh0GM+06IbfeC5/0ID71cB6+XnSz9lQ4hDPkX9cTSRo5BikjFf9muE3xmc6nst7EV+ZMpVGPfKI9ss2mT175RiP2NUQcTgIVxIJ8oR5c+bS0AceUEP8Pzh4CH2ybJka+vSBwYO1WibMR0rZ+NUGCvL3p0eGG9wtNGDJ4sVqhPS8DOjsTChxSFjlOFw9cT965Ai1bWUa2ePkiZPUqX179agpRm+B4bl6n0qVqXL5CioHgdAQUpkPyq3zxGOPqXFv49lSE5OuvWjGVcCxkoS8EHDlxB0jp+A567//+oueH/c89e3dmXZt+5zWfLaEPl76Ma1csUINrYMR2PFexqysLNqxfTt7SNNL9zFiI970C8EgZIuPi6MG9etThbLl1KAGGOrzSAEHWigKxHMUMq6auAO8zRUDoU2bOoFi0qZS3+f/og9WfENns/bQqRN76cypffTzD4d5OzLo2NHjtGf3HhVGgYcfGkb1U9OoT+9MGnz/QBo8cBANuv9+FbbhLU4QCQaw2LM7++ghzoQSh3iOwsdVRfLUmDFqhMd5s14ir4ozTH25Elg4Y3+kJSsP0aTZp6j/uJ+obkpb+vaUSSD6m2MxuguuhmFcXIwlZWkYC6wvC2XGNPtHPyxKRBxFjCuK5MNFi1T+MGfmi+TlN428UlkgeDQ3jg2P0tZkw5N+Qd3o/Nmj2QSC+yKfr16tPBAGVLM0iOT+/gNo1sy3VH1nQolDwqqix9USdwyQhnDotRfHklcAexAIRHubknr9mPZZKbQrC+QY7d+3X9UHEMjqVatsCmRAv/5OJxAcA0nIixFXStxx9zsTw6EOzaQbQ97KLhAzoVQO60YXzp1UQ7D26t5DXcrFfZQNHGLt37/fZQQinsNJcKVw6+GhD1GL9Fp0W9RcY4GwVQnvTu1a1FN5R7WoaHV5OLpqhLqXguFWMVYwhi11ZoEocYjncB5cRSR4465/hdupVPUPrAqkfHBnWrd6Ca37Yp26Y45Lvnjfe93atalVy5ZqxEGMWWsuEmcSiIjDSXEFkWAY1XJ3etEdsfNZDP9ykm5hdf+lShgw6+qvdPTI0WtJOu6H4CrW6EcfpdpxNWnDhg108OBBpxOIEoeEVc6LMyfu27ZuVfcyQgN4nUITKLBqIwoMb5jDvCsHcTg1WY1Xq794Bkn6ms8/V2/hfXTkSPV6CIx+rr8mwBkEgn0rCbkL4KyJ+ysvT6GqoWH04IND6f7+mTSwf89rNmhALxoyMFNZ3z6ZVLNGHMVERKqXAwH9KhbyD7wSonF6uno9BHISXSD9+/ZT/cCKA/EcLoYzhluHDx1S70vEC0FhQ4cOpWHDhqk38Q4ZMoSF0ZfuHzBA/caLZ6JZIH0zM9W8+n0QXMWCGKa9/rrKRyAQeJGTJ0/SEBbT46NG09dbTKPfI5xDvmLr3SiOQIlDPIfr4YwiweVa9Wqy4cNp2MMPK2Gk169PEexZQoKCKCw4hGpxjtGnTx/q2aMHdWpveiMuHpZa98UX6l4KbAuLIL1efdrKYRt+401bI4ePoLSkFNUVBb2IM3v1oi78X43qN1CdJQsDEYeL4ywiwQtg0AU+jj1IRJjprUvoO4XLtwG8TpGRkRQVFaUsmIWCdUaP3ajwqkoksZFR1KhBOmW0aKFeLANDCNakYaNrL5tBj2D8xvv/zLucvDp1qup672iUOCSscn2cIXHHU4blypSh+uwtdIvhRs/rRrHVqlFocDAFB3AjY4uOjqZwFhHWEe8mrJOQoF6pnJycTOGhoapbvG/lKhQSEEj+3j6UUKs2JSclqTopXKdGjRoUzp7oZ+3lQu/Mnk1dOnR06LMj2GeSkLsRNkVSBIk7etmG8P83atRIvQ8Qn5EsgsiICAoNCWFvEk/9+vWjFs2asVACKTomRtVPSUqmxo0bq3lgCMXatGpNvTl8wnvgG3NZDHufpLqJlJqSQo34d2pqqno/oP48VmaXluRbrgT9e1Ubda6AKHGI53A/rInk3lJ38QFvo27iFZZNHD9eNZ4AH99s/x0dE00Bvn7UrWs3evyJx1VugrAL72bH23kDeZr5+mJ+vOK6e7duKpHv2L698iKB/rw8FhbqwMPUZa8yY9o0mjntJarT+m0qXX0GTZ06g96c9qrh+uXFsK+wz0Qcbog1kVQqW14d9MKysvfce+3/0Oj1ho9wKoTDK7zMcuDAgdQ6oxV7DpMHQdil11X1tXnwwBRCLDxRiMvGqIdwDW+UDQ0yzQMhlb3Di0qWTjD1FK5PdIPPk1S2pJfh+uXFsK9EHG6MkUiKw9CQkVPExsZSCDdsrBPyEJWsc9hkNI+5QSTwGgjFWjZvTtUhKk0gwb6co/iUpdtq7TR1aUlhgSRdIf/AeJ5WyXB5+TURhxviLCLhhsUJeRjFcOOGN8FnZESkOkMrr2E4j5lxvXB4ERYGPiG0IJ/KFOpdku6JtehSz98rVh3AwrnHeFn5MBGHG+NMngSeA40c3kCV2yMOzSCm0KAgCgnwZWGUYg9Rme6pNjNnZ0glkEEOE4iIwwPIXSQB3KDKcKOryN85nOGwJdTnbquGxmmqV8Zwum7Bvt7asu9Vv0O8YXcpM68X5OfDxo2RG7V5eTbjeYO9S1OgXygLoB/dmrA/pziuCWQI/yeWa7St9puIw4OwJpJgP28K9A+nu2osoIrh/bgh3kllo56mUnEL6a7qOQ3l3iEZ3ABLU+mYydbr1VhIvkH1VC5wb+w09duoHgw5Q6B/IN1d7W0r9RZw+SIqGb+ebq77o0kYRuLQBFIltJMSr+W25sVEHB6INZGE+JancpGjWBhjKbzKjVSi9kHywpud6hkYl5eLeITCvW+lm+qet16vAZ4a7MnLLkM3JP+nfhvWY/MJacwCCTE1ehv1lOGFN7pADKxUjcVKlEF+1y8159VEHB6MsUgCuFFVQKNQYVGV0A5UIWIwVahqYFzuF1hHNUI8Nmu1Hpt/QA3loSqFZxpO1y0gAFezApQHM5pur2G9sV6m0M58++w3EYdgIydB0oycoRzH/cgHjA2XV6/nIMZ1YNdzkNKG03XTz/amXMW4jj1mCqvEcwgOIPfE3bNMxCHkQERiMhGHYBVPF4mIQ8gVe0RS/t7Shn2WnNmwzkbbopuIQ7AbayJBL9qwoGB6ZcoUenvWbHrzjTdcwrCuWGesO7bBcrtEHEKesSYSvM9jQN9+2pMSrgPWGetuuT0iDiHfGIkE/aDw4FBxPeOeV7CO8gy5UGi4skhEHEKRYEskxT04nTWwTvIMuVBk2PQkRfCMe15QnkOeIReKGlcIt5Q4xHMIxYUzi0TEITgFzigSEYfgVDhT4o7/koRccDqcIXFXnkMScsFZKc5wS4lDPIfg7BSHJxHPIbgURelJxHMILklRJO5YhiTkgstSmOGW8hwSVgmuTmGEW0oc4jkEd8GRnkQ8h+CWOMKTiOcQ3JqCJO6YJgm54PbkJ9xSnkPCKsFTyEu4pcQhnkPwNKyJ5B4lknb0bVYWZbHhO8pEHILHYU0kFcuUVa9yhlXg7yIOwWMxEgkML+uEWZaLOASPAyIJMxCJpYk4BI8l0C/ghVC8tZbNPKTCd5RhGotjolZdEDyPAF/f5iyItUH+AVcgDCUUf398XxPo59dMqyYInk1QUJBPoG9gIgzftWJBEARBEARBEARBEARBEARBEARBEARBEARBEARBEATBffHy+j94fgNpg1GVogAAAABJRU5ErkJggg==') center/contain no-repeat; }
  .brand__name {
    font-family: var(--ff-display); font-weight: 900;
    font-size: 1.2rem; letter-spacing: -0.01em; line-height: 1; color: var(--paper);
  }
  .brand__name small {
    display: block; font-family: var(--ff-mono); font-weight: 500;
    font-size: 0.58rem; letter-spacing: 0.3em; color: var(--blue-bright);
    margin-top: 4px; text-transform: uppercase;
  }
  .nav__links { display: flex; align-items: center; gap: 1.8rem; }
  .nav__links > a, .nav__links .nav__top { font-size: 0.94rem; font-weight: 500; color: var(--paper-txt); position: relative; padding: 4px 0; }
  .nav__links > a::after, .nav__links .nav__top::after {
    content: ""; position: absolute; left: 0; right: 100%; bottom: -2px;
    height: 2px; background: var(--blue-bright); transition: right .22s ease;
  }
  .nav__links > a:hover, .nav__links .nav__top:hover, .nav__item:hover > .nav__top { color: var(--paper); }
  .nav__links > a:hover::after, .nav__item:hover > .nav__top::after { right: 0; }
  .nav__cta { display: flex; align-items: center; gap: 1.1rem; }
  .nav__phone { font-family: var(--ff-mono); font-size: 0.9rem; font-weight: 500; color: var(--paper); white-space: nowrap; }
  .nav__phone span { color: var(--blue-bright); }

  .only-mobile { display: none; }
  .nav__links a.only-mobile { color: var(--blue-bright); font-weight: 600; }
  .nav__toggle { display: none; background: none; border: 0; padding: 8px; }
  .nav__toggle svg { width: 26px; height: 26px; stroke: var(--paper); }

  /* ===================== HERO ===================== */
  .hero { background: var(--asphalt); color: var(--paper); position: relative; overflow: hidden;
          padding-block: clamp(3rem, 6vw, 6rem) clamp(3.5rem, 7vw, 7rem); }
  .hero__grid { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: clamp(2rem, 4vw, 4.5rem); align-items: center; }
  .hero__eyebrow { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1.6rem; }
  .hero__eyebrow .dash {
    width: 42px; height: 6px; flex-shrink: 0;
    background-image: repeating-linear-gradient(90deg, var(--blue-bright) 0 10px, transparent 10px 16px);
  }
  .hero__eyebrow .spec { color: var(--blue-bright); }
  .hero h1 { font-size: var(--step-4); font-weight: 900; letter-spacing: -0.035em; text-transform: uppercase; }
  .hero h1 .line-accent { color: var(--blue-bright); }
  .hero__lede { font-size: var(--step-1); color: var(--paper-txt); max-width: 38ch; margin-top: 1.6rem; line-height: 1.45; font-weight: 400; }
  .hero__lede b { color: #fff; font-weight: 600; }
  .hero__actions { display: flex; flex-wrap: wrap; gap: 0.9rem; margin-top: 2.2rem; }
  .hero__note { margin-top: 1.8rem; display: flex; flex-wrap: wrap; gap: 0.5rem 1.6rem; }
  .hero__note span { color: var(--paper-mut); }
  .hero__note b { color: #fff; font-weight: 600; }

  .hero__art { position: relative; }
  .hero__art svg { width: 100%; height: auto; filter: drop-shadow(0 26px 40px rgba(0,0,0,.55)); border-radius: 4px; }
  .hero__artcap { position: absolute; left: 14px; bottom: 12px; color: #fff; background: rgba(0,0,0,.5); padding: 5px 9px; border-left: 3px solid var(--blue-bright); }

  .stripe-rail { height: 14px; background-image: repeating-linear-gradient(-45deg, var(--blue) 0 22px, var(--asphalt) 22px 44px); }

  /* ===================== SECTION SHELL ===================== */
  .section { padding-block: clamp(3.5rem, 7vw, 6.5rem); }
  .section--dark { background: var(--asphalt); color: var(--paper-txt); }
  .section--paper2 { background: var(--paper-2); }

  .section__head { max-width: 64ch; margin-bottom: clamp(2rem, 4vw, 3.2rem); }
  .section__head .kicker { display: flex; align-items: center; gap: 0.7rem; margin-bottom: 1rem; }
  .section__head .kicker .tick { width: 26px; height: 4px; background: var(--blue); }
  .section--dark .section__head .kicker .tick { background: var(--blue-bright); }
  .section--dark .section__head .kicker .spec { color: var(--blue-bright); }
  .section__head h2 { font-size: var(--step-3); text-transform: uppercase; }
  .section--dark .section__head h2 { color: #fff; }
  .section__head p { margin-top: 1rem; font-size: var(--step-1); color: var(--ink-soft); font-weight: 400; line-height: 1.5; }
  .section--dark .section__head p { color: var(--paper-mut); }

  .centerline { height: 8px; background-image: repeating-linear-gradient(90deg, var(--blue) 0 46px, transparent 46px 92px); opacity: .85; }

  /* ===================== TRAFFIC CONTROL (differentiator) ===================== */
  .tc { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: clamp(2rem, 4vw, 4.5rem); align-items: center; }
  .tc__flag {
    display: inline-flex; align-items: center; gap: 0.6rem;
    background: var(--blue); color: #fff; font-family: var(--ff-mono); font-weight: 600;
    font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase;
    padding: 0.5em 0.85em; border-radius: 2px; margin-bottom: 1.3rem;
  }
  .tc h2 { font-size: var(--step-3); text-transform: uppercase; color: #fff; }
  .tc h2 em { font-style: normal; color: var(--blue-bright); }
  .tc__body { color: var(--paper-txt); margin-top: 1.2rem; max-width: 46ch; }
  .tc__list { list-style: none; padding: 0; margin: 1.8rem 0 0; display: grid; gap: 0.95rem; }
  .tc__list li { display: grid; grid-template-columns: auto 1fr; gap: 0.85rem; align-items: start; color: var(--paper-txt); }
  .tc__list svg { width: 22px; height: 22px; color: var(--blue-bright); margin-top: 3px; flex-shrink: 0; }
  .tc__cta { margin-top: 2rem; display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; }
  .tc__parent { font-family: var(--ff-mono); font-size: 0.85rem; color: var(--paper-mut); }
  .tc__parent a { color: var(--blue-bright); border-bottom: 1px solid currentColor; padding-bottom: 1px; }
  .tc__art svg { width: 100%; height: auto; border-radius: 4px; }

  /* ===================== SERVICES ===================== */
  .services { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
  .svc { background: var(--paper); padding: clamp(1.6rem, 2.4vw, 2.3rem); display: flex; flex-direction: column; transition: background .18s ease; }
  .svc:hover { background: #fff; }
  .svc__icon { width: 46px; height: 46px; color: var(--asphalt); margin-bottom: 1.3rem; }
  .svc__icon svg { width: 100%; height: 100%; }
  .svc h3 { font-size: var(--step-1); text-transform: uppercase; letter-spacing: -0.01em; margin-bottom: 0.6rem; }
  .svc p { color: var(--ink-soft); font-size: 0.98rem; flex-grow: 1; }
  .svc__spec { margin-top: 1.4rem; padding-top: 0.9rem; border-top: 1px solid var(--line); color: var(--ink-soft); display: flex; align-items: center; gap: 0.5rem; }
  .svc__spec::before { content: ""; width: 10px; height: 10px; background: var(--blue); flex-shrink: 0; }
  .svc__spec b { color: var(--ink); font-weight: 600; }

  /* ===================== PROCESS ===================== */
  .process { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(1.2rem, 2.5vw, 2.4rem); }
  .step__n { font-family: var(--ff-mono); font-weight: 600; font-size: 0.8rem; letter-spacing: 0.1em; color: var(--blue-bright); display: flex; align-items: center; gap: 0.6rem; margin-bottom: 1.1rem; }
  .step__n::after { content: ""; height: 1px; background: var(--line-dk); flex-grow: 1; }
  .step h3 { font-size: var(--step-1); color: #fff; text-transform: uppercase; margin-bottom: 0.55rem; }
  .step p { color: var(--paper-mut); font-size: 0.96rem; }

  /* ===================== SECTORS ===================== */
  .sectors { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
  .sector { border: 1px solid var(--line); background: var(--paper); padding: 1.4rem 1.5rem; display: flex; align-items: center; gap: 1rem; transition: border-color .18s ease, transform .18s ease; }
  .sector:hover { border-color: var(--asphalt); transform: translateX(4px); }
  .sector .bar { width: 6px; align-self: stretch; background: var(--blue); flex-shrink: 0; }
  .sector h3 { font-size: 1.06rem; text-transform: uppercase; }
  .sector p { font-size: 0.9rem; color: var(--ink-soft); margin-top: 2px; }

  /* ===================== PREP ===================== */
  .prep { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem,5vw,5rem); align-items: center; }
  .prep__list { list-style: none; padding: 0; display: grid; gap: 1.4rem; }
  .prep__list li { display: grid; grid-template-columns: auto 1fr; gap: 1.1rem; align-items: start; }
  .prep__list .mk { width: 40px; height: 40px; flex-shrink: 0; color: var(--asphalt); border: 2px solid var(--asphalt); border-radius: 2px; display: grid; place-items: center; }
  .prep__list .mk svg { width: 22px; height: 22px; }
  .prep__list h3 { font-size: 1.15rem; text-transform: uppercase; margin-bottom: 0.25rem; }
  .prep__list p { color: var(--ink-soft); font-size: 0.97rem; }
  .prep__panel { background: var(--asphalt); color: var(--paper); padding: clamp(1.8rem, 3vw, 2.8rem); border-radius: 4px; border-top: 6px solid var(--blue); }
  .prep__panel .spec { color: var(--blue-bright); }
  .prep__panel blockquote { font-family: var(--ff-display); font-weight: 700; font-size: var(--step-2); line-height: 1.15; letter-spacing: -0.02em; margin: 1rem 0 1.6rem; }
  .prep__panel cite { font-style: normal; color: var(--paper-mut); font-size: 0.9rem; display: block; }
  .prep__panel cite b { color: #fff; font-weight: 600; display: block; font-size: 1rem; }

  /* ===================== SERVICE AREA ===================== */
  .area { display: grid; grid-template-columns: 0.95fr 1.05fr; gap: clamp(2rem,4vw,4rem); align-items: center; }
  .area__towns { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-top: 1.6rem; }
  .area__towns span { font-family: var(--ff-mono); font-size: 0.82rem; letter-spacing: 0.04em; border: 1px solid var(--line-dk); color: var(--paper-txt); padding: 0.45em 0.8em; border-radius: 2px; }
  .area__map { border: 1px solid var(--line-dk); border-radius: 4px; overflow: hidden; }
  .area__map iframe { width: 100%; height: 380px; border: 0; filter: grayscale(0.25) contrast(1.05); }

  /* ===================== QUOTE / CONTACT ===================== */
  .quote { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: clamp(2rem,5vw,5rem); }
  .quote__intro h2 { font-size: var(--step-3); text-transform: uppercase; }
  .quote__intro p { color: var(--ink-soft); margin-top: 1rem; max-width: 42ch; }
  .quote__contacts { margin-top: 2rem; display: grid; gap: 1rem; }
  .quote__contacts a, .quote__contacts .addr { display: flex; align-items: flex-start; gap: 0.8rem; font-family: var(--ff-mono); font-size: 0.95rem; line-height: 1.5; color: var(--ink); }
  .quote__contacts .ic { width: 22px; height: 22px; color: var(--blue); flex-shrink: 0; margin-top: 2px; }
  .quote__contacts .addr a { display: inline; font-family: var(--ff-mono); color: var(--blue); border-bottom: 1px solid currentColor; }

  form { display: grid; gap: 1.1rem; }
  .field { display: grid; gap: 0.4rem; }
  .field.row2 { grid-template-columns: 1fr 1fr; gap: 1.1rem; }
  @media (max-width: 560px){ .field.row2 { grid-template-columns: 1fr; } }
  label { font-family: var(--ff-mono); font-size: 0.76rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-soft); }
  input, select, textarea { font: inherit; font-size: 0.98rem; padding: 0.85em 0.95em; background: #fff; border: 1px solid var(--line); border-radius: 2px; color: var(--ink); width: 100%; }
  input:focus, select:focus, textarea:focus { outline: none; border-color: var(--blue); box-shadow: 0 0 0 3px rgba(30,58,230,.22); }
  textarea { resize: vertical; min-height: 120px; }
  .form__submit { display: flex; align-items: center; gap: 1.2rem; flex-wrap: wrap; }
  .form__note { font-size: 0.85rem; color: var(--ink-soft); }
  .form__ok { display: none; align-items: center; gap: 0.6rem; background: var(--asphalt); color: #fff; padding: 0.9em 1.1em; border-left: 4px solid var(--blue-bright); border-radius: 2px; }
  .form__ok.show { display: flex; }

  /* ===================== FOOTER ===================== */
  .footer { background: var(--asphalt); color: var(--paper-mut); padding-block: clamp(2.5rem,4vw,3.5rem) 2rem; }
  .footer__top { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 2rem; }
  .footer__brand { max-width: 34ch; }
  .footer__brand p { margin-top: 1rem; font-size: 0.92rem; }
  .footer__brand .parent { margin-top: 0.9rem; font-family: var(--ff-mono); font-size: 0.8rem; }
  .footer__brand .parent a { color: var(--blue-bright); border-bottom: 1px solid currentColor; }
  .footer__cols { display: flex; gap: clamp(2rem,5vw,4.5rem); flex-wrap: wrap; }
  .footer__cols h4 { font-family: var(--ff-mono); font-weight: 500; font-size: 0.74rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--blue-bright); margin-bottom: 1rem; }
  .footer__cols ul { list-style: none; padding: 0; display: grid; gap: 0.55rem; }
  .footer__cols a { font-size: 0.92rem; color: var(--paper-txt); }
  .footer__cols li { font-size: 0.92rem; }
  .footer__cols a:hover { color: var(--blue-bright); }
  .footer__bar { margin-top: 2.5rem; padding-top: 1.4rem; border-top: 1px solid var(--line-dk); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.8rem; font-family: var(--ff-mono); font-size: 0.78rem; letter-spacing: 0.04em; }

  /* ===================== REVEAL ===================== */
  .reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
  .reveal.in { opacity: 1; transform: none; }
  @media (prefers-reduced-motion: reduce) { .reveal { opacity: 1; transform: none; transition: none; } }

  /* ===================== RESPONSIVE ===================== */
  @media (max-width: 940px) {
    .hero__grid, .tc { grid-template-columns: 1fr; }
    .hero__art { order: -1; max-width: 520px; }
    .tc__art { max-width: 520px; }
    .services { grid-template-columns: repeat(2, 1fr); }
    .process { grid-template-columns: repeat(2, 1fr); row-gap: 2.2rem; }
    .sectors { grid-template-columns: repeat(2, 1fr); }
    .prep, .area, .quote { grid-template-columns: 1fr; }
    .area__map { order: -1; }
  }
  @media (max-width: 760px) {
    .nav__links, .nav__phone { display: none; }
    .nav__toggle { display: block; }
    .nav[data-open="true"] .nav__links {
      display: flex; flex-direction: column; align-items: flex-start;
      position: absolute; top: 74px; left: 0; right: 0;
      background: var(--asphalt-2); border-bottom: 1px solid var(--line-dk);
      padding: 1.2rem var(--gutter) 1.6rem; gap: 1.1rem; z-index: 70;
    }
    .nav[data-open="true"] .nav__links a { font-size: 1.05rem; }
    .nav[data-open="true"] .only-mobile { display: block; }
  }
  @media (max-width: 520px) {
    .services, .sectors, .process { grid-template-columns: 1fr; }
    .nav__cta .btn { padding: 0.7em 1em; }
  }

/* ===================== INTERIOR PAGES ===================== */
.nav__links > a[aria-current="page"], .nav__links .nav__top[aria-current="page"] { color: var(--paper); }
.nav__links > a[aria-current="page"]::after, .nav__links .nav__top[aria-current="page"]::after { right: 0; }

.page-hero { background: var(--asphalt); color: var(--paper); padding-block: clamp(2.4rem,5vw,4.4rem); border-bottom: 1px solid var(--line-dk); }
.page-hero .crumb { font-family: var(--ff-mono); font-size: 0.74rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--paper-mut); margin-bottom: 1.1rem; display: flex; gap: 0.5rem; align-items: center; flex-wrap: wrap; }
.page-hero .crumb a { color: var(--blue-bright); }
.page-hero h1 { font-size: var(--step-3); text-transform: uppercase; color: #fff; max-width: 22ch; }
.page-hero p { margin-top: 1.1rem; color: var(--paper-txt); max-width: 58ch; font-size: var(--step-1); font-weight: 400; line-height: 1.5; }
.page-hero__actions { margin-top: 1.9rem; display: flex; gap: 0.9rem; flex-wrap: wrap; }

.cta-band { background: var(--blue); color: #fff; }
.cta-band .wrap { display: flex; align-items: center; justify-content: space-between; gap: 2rem; flex-wrap: wrap; padding-block: clamp(2.2rem,4vw,3.4rem); }
.cta-band h2 { color: #fff; font-size: var(--step-2); text-transform: uppercase; max-width: 26ch; letter-spacing: -0.02em; }
.cta-band p { color: rgba(255,255,255,.9); margin-top: 0.5rem; max-width: 46ch; }
.cta-band .btn--primary { background: #fff; color: var(--blue); }
.cta-band .btn--primary:hover { background: var(--asphalt); color: #fff; }

.feature { display: grid; grid-template-columns: 6ch 1fr; gap: clamp(1.2rem,3vw,2.6rem); padding-block: clamp(2rem,4vw,3.1rem); border-top: 1px solid var(--line); align-items: start; }
.feature:first-of-type { border-top: 0; padding-top: 0; }
.feature__num { font-family: var(--ff-mono); font-weight: 600; color: var(--blue); font-size: 0.92rem; letter-spacing: 0.08em; padding-top: 0.4rem; }
.feature h2 { font-size: var(--step-2); text-transform: uppercase; }
.feature > div > p { color: var(--ink-soft); margin-top: 0.8rem; max-width: 62ch; }
.feature ul { margin: 1.1rem 0 0; padding-left: 1.1rem; color: var(--ink-soft); display: grid; gap: 0.45rem; max-width: 62ch; }
.feature ul li::marker { color: var(--blue); }
.feature .spec { color: var(--blue); margin-top: 1.1rem; display: inline-flex; align-items: center; gap: 0.5rem; }
.feature .spec::before { content: ""; width: 10px; height: 10px; background: var(--blue); }

.faq { border-top: 1px solid var(--line); max-width: 74ch; }
.faq details { border-bottom: 1px solid var(--line); padding: 1.15rem 0; }
.faq summary { font-family: var(--ff-display); font-weight: 700; font-size: 1.12rem; cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 1rem; color: var(--ink); }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; color: var(--blue); font-weight: 700; font-size: 1.3rem; line-height: 1; }
.faq details[open] summary::after { content: "\2013"; }
.faq details p { color: var(--ink-soft); margin-top: 0.8rem; max-width: 66ch; }

.headlink { display: inline-flex; align-items: center; gap: 0.4rem; margin-top: 1.2rem; font-family: var(--ff-display); font-weight: 700; font-size: 0.9rem; color: var(--blue); }
.section--dark .headlink { color: var(--blue-bright); }
.headlink:hover { text-decoration: underline; }

.prose { max-width: 70ch; }
.prose p { color: var(--ink-soft); margin-top: 1rem; }
.prose h3 { font-size: var(--step-1); text-transform: uppercase; margin-top: 2rem; }

@media (max-width: 640px) {
  .feature { grid-template-columns: 1fr; gap: 0.6rem; }
  .feature__num { padding-top: 0; }
  .cta-band .wrap { flex-direction: column; align-items: flex-start; }
}

/* ===================== MEGA MENU ===================== */
.site-header .wrap { position: relative; }
.nav__item { position: relative; display: flex; align-items: center; height: 74px; }
.nav__item--wide { position: static; }
.nav__top { display: inline-flex; align-items: center; gap: 0.35rem; }
.nav__top .chev { width: 12px; height: 12px; transition: transform .2s ease; }
.nav__item:hover > .nav__top .chev, .nav__item.open > .nav__top .chev { transform: rotate(180deg); }
.mega {
  display: none; position: absolute; top: 100%; left: 0; z-index: 80;
  background: var(--asphalt-2); border: 1px solid var(--line-dk); border-top: 3px solid var(--blue-bright);
  box-shadow: 0 24px 50px rgba(0,0,0,.45); padding: 1.4rem 1.6rem 1.6rem;
}
.nav__item:hover > .mega, .nav__item:focus-within > .mega, .nav__item.open > .mega { display: grid; }
.nav__item:not(.nav__item--wide) > .mega { grid-template-columns: 1fr; min-width: 250px; }
.nav__item--wide > .mega { left: 0; right: 0; grid-template-columns: repeat(3, 1fr); gap: 2.2rem; padding: 1.8rem clamp(1.4rem, 3vw, 2.4rem) 2rem; }
.mega h4 { font-family: var(--ff-mono); font-weight: 500; font-size: 0.72rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--blue-bright); margin-bottom: 0.8rem; padding-bottom: 0.6rem; border-bottom: 1px solid var(--line-dk); }
.mega a { display: block; font-size: 0.92rem; color: var(--paper-txt); padding: 0.42rem 0; transition: padding .15s ease, color .15s ease; }
.mega a:hover { color: #fff; padding-left: 6px; }
.mega a.mega__all { margin-top: 0.7rem; font-family: var(--ff-display); font-weight: 700; color: var(--blue-bright); }
@media (max-width: 760px) {
  .nav__item { height: auto; flex-direction: column; align-items: flex-start; width: 100%; }
  .nav__item--wide { position: relative; }
  .mega, .nav__item--wide > .mega {
    position: static; display: none; grid-template-columns: 1fr; gap: 0; width: 100%;
    box-shadow: none; border: 0; border-left: 2px solid var(--line-dk); background: transparent;
    padding: 0.4rem 0 0.6rem 1rem; margin: 0.5rem 0 0.2rem;
  }
  .nav__item:hover > .mega, .nav__item:focus-within > .mega { display: none; }
  .nav__item.open > .mega { display: grid; }
  .mega h4 { margin-top: 0.8rem; }
  .mega a { font-size: 0.98rem !important; }
}

/* ===================== SERVICE CARDS & PAGES ===================== */
.svc__tag { color: var(--blue); font-size: 0.72rem; margin-bottom: 0.9rem; display: block; }
.svc__link { margin-top: 1.4rem; padding-top: 0.9rem; border-top: 1px solid var(--line); font-family: var(--ff-display); font-weight: 700; font-size: 0.9rem; color: var(--blue); display: inline-flex; align-items: center; gap: 0.4rem; }
.svc:hover .svc__link { text-decoration: underline; }
.svc-spec { color: var(--blue); margin-top: 1.4rem; display: inline-flex; align-items: center; gap: 0.5rem; }
.svc-spec::before { content: ""; width: 10px; height: 10px; background: var(--blue); flex-shrink: 0; }
.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 4vw, 4rem); align-items: start; }
.sectors--stack { grid-template-columns: 1fr; }
.check-list { list-style: none; padding: 0; display: grid; gap: 0.75rem; max-width: 62ch; }
.check-list li { display: grid; grid-template-columns: 22px 1fr; gap: 0.7rem; align-items: start; color: var(--ink-soft); }
.check-list li::before { content: ""; width: 20px; height: 20px; margin-top: 2px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E3AE6' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12l5 5L20 5'/%3E%3C/svg%3E") no-repeat center/contain; }
.tc-note { display: flex; gap: 0.8rem; align-items: flex-start; background: var(--asphalt); color: var(--paper-txt); border-left: 4px solid var(--blue-bright); padding: 1rem 1.2rem; border-radius: 2px; margin-top: 1.6rem; max-width: 62ch; }
.tc-note svg { flex-shrink: 0; color: var(--blue-bright); margin-top: 2px; }
.tc-note b { color: #fff; }
.related { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.related a { border: 1px solid var(--line); background: var(--paper); padding: 1.2rem 1.3rem; font-family: var(--ff-display); font-weight: 700; text-transform: uppercase; font-size: 0.95rem; display: flex; justify-content: space-between; align-items: center; gap: 1rem; transition: border-color .18s ease, transform .18s ease; }
.related a:hover { border-color: var(--asphalt); transform: translateX(4px); }
.related a span { color: var(--blue); }
@media (max-width: 760px) { .two-col { grid-template-columns: 1fr; } .related { grid-template-columns: 1fr; } }

/* ===================== INDUSTRIES & OUR WORK ===================== */
.industries { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.ind-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4rem 1.6rem; }
.ind { display: flex; flex-direction: column; gap: 0.6rem; padding-bottom: 0.6rem; border-bottom: 3px solid var(--blue); color: var(--ink); transition: transform .18s ease; }
.ind:hover { transform: translateY(-3px); }
.ind svg { width: 38px; height: 38px; color: var(--blue); }
.ind span { font-family: var(--ff-display); font-weight: 700; font-size: 0.9rem; text-transform: uppercase; letter-spacing: 0.01em; }
.ind-head { display: flex; align-items: center; gap: 0.9rem; }
.ind-head svg { width: 40px; height: 40px; color: var(--blue); flex-shrink: 0; }
.filters { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-bottom: 2rem; }
.filters button { font-family: var(--ff-mono); font-size: 0.76rem; letter-spacing: 0.1em; text-transform: uppercase; padding: 0.6em 1em; border: 1px solid var(--line); background: var(--paper); color: var(--ink-soft); border-radius: 2px; cursor: pointer; min-height: 44px; }
.filters button[aria-pressed="true"] { background: var(--asphalt); color: #fff; border-color: var(--asphalt); }
.work-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; }
.work { border: 1px solid var(--line); background: #fff; overflow: hidden; border-radius: 4px; margin: 0; }
.work svg { width: 100%; height: auto; display: block; }
.work figcaption { padding: 0.9rem 1rem 1rem; }
.work figcaption b { display: block; font-family: var(--ff-display); font-weight: 700; text-transform: uppercase; font-size: 0.95rem; }
.work figcaption span { font-size: 0.85rem; color: var(--ink-soft); }
.work figcaption a { display: inline-block; margin-top: 0.5rem; color: var(--blue); font-weight: 600; font-size: 0.85rem; }
.work[hidden] { display: none; }
@media (max-width: 940px) { .industries { grid-template-columns: 1fr; } .work-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .ind-grid { grid-template-columns: repeat(2, 1fr); } .work-grid { grid-template-columns: 1fr; } }

/* ===================== SERVICE MEDIA (service-page hero) ===================== */
.page-hero__grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: clamp(2rem, 4vw, 4.5rem); align-items: center; }
.page-hero__media { margin: 0; }
.page-hero__media svg, .page-hero__media img, .page-hero__media video { display: block; width: 100%; height: auto; border-radius: 4px; box-shadow: 0 26px 40px rgba(0,0,0,.5); }
.page-hero__media img, .page-hero__media video { aspect-ratio: 400 / 260; object-fit: cover; }
@media (max-width: 940px) { .page-hero__grid { grid-template-columns: 1fr; } .page-hero__media { max-width: 520px; } }
@media (min-width: 761px) { .nav__item--wide > .mega { right: auto; width: min(720px, 100%); grid-template-columns: repeat(2, 1fr); } }

/* ===================== HERO VIDEO & CLEAN KICKERS ===================== */
.hero--video { position: relative; overflow: hidden; min-height: min(78vh, 720px); display: flex; align-items: center; }
.hero--video .wrap { width: 100%; }
.hero__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.hero__overlay { position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(22,24,28,.92) 0%, rgba(22,24,28,.8) 50%, rgba(22,24,28,.55) 100%); }
.hero--video .hero__grid { position: relative; z-index: 2; grid-template-columns: minmax(0, 720px); }
@media (prefers-reduced-motion: reduce) { .hero__video { display: none; } }
.feature { grid-template-columns: 1fr; }
.feature__num { display: none; }