/* ============================================================================
 * Homepage CSS — extracted from design tool standalone export (2026-07).
 * Scoped under .dlp-home wrapper (added by template).
 * ============================================================================ */

/* ---------- Font face declarations (Archivo + Archivo Black) ---------- */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/02e20d34-a078-4dd0-a4f2-3aaf51fe73ac.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/96e141e4-4e43-4a14-92df-49f053098caa.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/f88634e1-1b89-4477-99dd-71fc27c26fd0.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/02e20d34-a078-4dd0-a4f2-3aaf51fe73ac.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/96e141e4-4e43-4a14-92df-49f053098caa.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/f88634e1-1b89-4477-99dd-71fc27c26fd0.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/02e20d34-a078-4dd0-a4f2-3aaf51fe73ac.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/96e141e4-4e43-4a14-92df-49f053098caa.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/f88634e1-1b89-4477-99dd-71fc27c26fd0.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/02e20d34-a078-4dd0-a4f2-3aaf51fe73ac.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/96e141e4-4e43-4a14-92df-49f053098caa.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/f88634e1-1b89-4477-99dd-71fc27c26fd0.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/02e20d34-a078-4dd0-a4f2-3aaf51fe73ac.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/96e141e4-4e43-4a14-92df-49f053098caa.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/f88634e1-1b89-4477-99dd-71fc27c26fd0.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 900;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/02e20d34-a078-4dd0-a4f2-3aaf51fe73ac.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 900;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/96e141e4-4e43-4a14-92df-49f053098caa.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 900;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/f88634e1-1b89-4477-99dd-71fc27c26fd0.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Archivo Black';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/34c4c144-df70-4290-95ba-5229a181eaab.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Archivo Black';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/38e7fd8c-0cba-4c11-af18-c4866b415659.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ---------- Layout + components ---------- */
  /* ====== Tokens ====== */
  :root{
    --navy:        #1E4D9B;     /* logo primary */
    --navy-deep:   #143368;     /* darker for overlays */
    --navy-ink:    #0B1F3F;     /* deepest, near-black blue */
    --blue:        #4A8DD0;     /* mid blue */
    --blue-light:  #9CC3E8;     /* light triangle */
    --cream:       #F4EFE7;     /* warm paper */
    --cream-2:     #ECE5D8;
    --paper:       #FFFFFF;
    --ink:         #0E1A2C;
    --muted:       #5F6B7C;
    --line:        #E1DACE;
    --max:         1280px;
  }
  *,*::before,*::after{box-sizing:border-box}
  html,body{margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{
    font-family:'Archivo', system-ui, sans-serif;
    font-weight:500;
    color:var(--ink);
    background:var(--paper);
    -webkit-font-smoothing:antialiased;
    line-height:1.5;
    font-size:17px;
  }
  img{display:block;max-width:100%;height:auto}
  a{color:inherit;text-decoration:none}
  button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}

  /* ====== Type ====== */
  .display{
    font-family:'Archivo', sans-serif;
    font-weight:900;
    letter-spacing:-0.02em;
    line-height:0.95;
    text-wrap:balance;
  }
  .eyebrow{
    font-family:'Archivo', sans-serif;
    font-weight:700;
    font-size:12px;
    letter-spacing:0.22em;
    text-transform:uppercase;
    color:var(--navy);
  }
  h2.section-title{
    font-family:'Archivo', sans-serif;
    font-weight:900;
    font-size:clamp(42px, 5.4vw, 78px);
    letter-spacing:-0.025em;
    line-height:1.0;
    margin:0 0 18px;
    text-wrap:balance;
  }
  .lede{
    font-size:clamp(17px, 1.3vw, 20px);
    color:var(--muted);
    max-width:62ch;
    line-height:1.55;
    text-wrap:pretty;
  }

  /* ====== Layout helpers ====== */
  .wrap{max-width:var(--max);margin:0 auto;padding:0 32px}
  @media (max-width: 720px){ .wrap{padding:0 20px} }
  .section{padding:clamp(72px, 9vw, 128px) 0}
  .section-tight{padding:clamp(48px, 6vw, 80px) 0}
  .section-head{display:flex;flex-direction:column;gap:18px;margin-bottom:56px;max-width:880px}
  .section-head.center{align-items:center;text-align:center;margin-left:auto;margin-right:auto}

  /* ====== Buttons ====== */
  .btn{
    display:inline-flex;align-items:center;gap:10px;
    padding:16px 24px;
    font-weight:700;
    font-size:15px;
    letter-spacing:0.02em;
    border-radius:2px;
    transition:transform .15s ease, background .2s ease, color .2s ease;
  }
  .btn .arrow{display:inline-block;transition:transform .2s ease}
  .btn:hover .arrow{transform:translateX(4px)}
  .btn-primary{ background:var(--navy); color:#fff; }
  .btn-primary:hover{ background:var(--navy-ink); }
  .btn-ghost{ background:transparent; color:#fff; box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.6); }
  .btn-ghost:hover{ background:#fff; color:var(--navy); box-shadow: inset 0 0 0 1.5px #fff; }
  .btn-dark{ background:var(--ink); color:#fff; }
  .btn-dark:hover{ background:#000; }
  .btn-outline{ box-shadow: inset 0 0 0 1.5px var(--navy); color:var(--navy); background:transparent;}
  .btn-outline:hover{ background:var(--navy); color:#fff; }

  /* ====== Nav (always white) ====== */
  .nav-wrap{
    position:sticky;top:0;z-index:50;
    background:#fff;
    border-bottom:1px solid var(--line);
    padding:14px 0;
    transition:padding .2s ease, box-shadow .25s ease;
  }
  .nav-wrap.scrolled{
    padding:10px 0;
    box-shadow:0 2px 10px rgba(11,31,63,0.06);
  }
  .nav{ display:flex;align-items:center;justify-content:space-between;gap:24px; }
  .brand{display:flex;align-items:center;gap:12px}
  .brand img{height:62px;width:auto}
  .nav-links{display:flex;align-items:center;gap:28px}
  .nav-links a{
    font-weight:700;font-size:13px;letter-spacing:0.14em;
    text-transform:uppercase;color:var(--ink);
    position:relative;padding:6px 0;
  }
  .nav-links a::after{
    content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--navy);
    transition:right .2s ease;
  }
  .nav-links a:hover::after, .nav-links a.active::after{ right:0; }
  .nav-cta{
    padding:13px 36px !important;background:var(--navy);color:#fff !important;
    border:2px solid var(--navy);
    border-radius:2px;text-transform:uppercase;font-size:12px;letter-spacing:0.14em;font-weight:800;
    transition:background .2s ease, color .2s ease, border-color .2s ease;
  }
  .nav-cta:hover{ background:#fff; color:var(--navy) !important; border-color:var(--navy); }
  .nav-cta::after{ display:none !important; }
  .nav-toggle{display:none;color:var(--ink)}
  @media (max-width: 980px){
    .nav-links{ display:none }
    .nav-toggle{ display:inline-flex; }
  }

  /* ====== Hero ====== */
  .hero{
    position:relative;
    min-height:min(82vh, 720px);
    color:#fff;
    display:flex;
    align-items:flex-end;
    overflow:hidden;
    isolation:isolate;
  }
  .hero-bg{
    position:absolute;inset:0;z-index:-2;
    background-position:center;
    background-size:cover;
    background-image:var(--hero-img);
    transform:scale(1.02);
  }
  .hero-overlay{
    position:absolute;inset:0;z-index:-1;
    background:
      linear-gradient(180deg, rgba(11,31,63,0.55) 0%, rgba(11,31,63,0.35) 35%, rgba(11,31,63,0.85) 100%),
      linear-gradient(90deg, rgba(11,31,63,0.55) 0%, rgba(11,31,63,0.05) 70%);
  }
  .hero-inner{
    padding:100px 0 90px;
    width:100%;
  }
  .hero-eyebrow{
    display:inline-flex;align-items:center;gap:12px;
    font-weight:700;font-size:12px;letter-spacing:0.24em;text-transform:uppercase;
    margin-bottom:28px;
    color:#fff;
  }
  .hero-eyebrow .pip{width:8px;height:8px;background:var(--blue-light);display:inline-block;transform:rotate(45deg)}
  .hero h1{
    font-family:'Archivo',sans-serif;
    font-weight:700;
    font-size:clamp(38px, 5.2vw, 76px);
    line-height:1.02;
    letter-spacing:-0.02em;
    margin:0 0 24px;
    max-width:22ch;
    text-wrap:balance;
  }
  .hero h1 .em{ color:var(--blue-light); }
  .hero .sub{
    font-size:clamp(17px, 1.4vw, 22px);
    max-width:62ch;
    color:rgba(255,255,255,0.92);
    margin:0 0 36px;
    text-wrap:pretty;
    line-height:1.5;
  }
  .hero-ctas{display:flex;gap:14px;flex-wrap:wrap}

  /* Trust strip */
  .trust-strip{
    background:#fff;
    border-top:6px solid var(--navy);
    position:relative;z-index:2;
  }
  .trust-strip-inner{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:0;
  }
  .trust-item{
    padding:36px 32px;
    border-right:1px solid var(--line);
    display:flex;flex-direction:column;gap:6px;
  }
  .trust-item:last-child{border-right:none}
  .trust-num{
    font-family:'Archivo',sans-serif;
    font-weight:900;
    font-size:clamp(36px, 4vw, 56px);
    letter-spacing:-0.025em;
    line-height:1;
    color:var(--navy);
  }
  .trust-lbl{
    font-size:13px;font-weight:600;
    color:var(--muted);
    text-wrap:balance;
  }
  @media (max-width: 800px){
    .trust-strip-inner{ grid-template-columns:repeat(2, 1fr) }
    .trust-item{border-bottom:1px solid var(--line)}
    .trust-item:nth-child(2n){border-right:none}
    .trust-item:nth-last-child(-n+2){border-bottom:none}
  }

  /* ====== Why DLP — three columns ====== */
  .why{
    background:var(--cream);
  }
  .why-grid{
    display:grid;grid-template-columns:repeat(3, 1fr);gap:48px;
  }
  .why-card{
    display:flex;flex-direction:column;gap:14px;
    padding-top:32px;
    border-top:3px solid var(--navy);
  }
  .why-card h3{
    font-family:'Archivo',sans-serif;
    font-weight:900;font-size:26px;letter-spacing:-0.01em;
    margin:0;
    text-wrap:balance;
  }
  .why-card p{margin:0;color:#3b4554;line-height:1.55}
  .why-num{
    font-family:'Archivo Black',sans-serif;
    font-size:14px;color:var(--navy);
    letter-spacing:0.16em;
  }
  @media (max-width: 880px){ .why-grid{grid-template-columns:1fr;gap:36px} }

  /* ====== Sectors ====== */
  .sectors{ background:#fff }
  .sector-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:18px;
  }
  .sector{
    position:relative;
    aspect-ratio: 5/4;
    overflow:hidden;
    color:#fff;
    background:var(--navy-ink);
    isolation:isolate;
  }
  .sector .sec-img{
    position:absolute;inset:0;z-index:-2;
    background-size:cover;background-position:center;
    transition:transform .6s ease;
  }
  .sector:hover .sec-img{ transform:scale(1.06) }
  .sector::after{
    content:"";position:absolute;inset:0;z-index:-1;
    background:linear-gradient(180deg, rgba(11,31,63,0.15) 0%, rgba(11,31,63,0.85) 75%);
    transition:background .3s ease;
  }
  .sector:hover::after{
    background:linear-gradient(180deg, rgba(30,77,155,0.30) 0%, rgba(11,31,63,0.92) 75%);
  }
  .sector-content{
    position:absolute;inset:0;
    padding:28px;
    display:flex;flex-direction:column;justify-content:flex-end;gap:8px;
  }
  .sector h3{
    font-family:'Archivo',sans-serif;
    font-weight:900;font-size:28px;letter-spacing:-0.01em;
    margin:0;
    line-height:1.05;
  }
  .sector p{
    margin:0;
    font-size:14px;
    color:rgba(255,255,255,0.88);
    max-height:0;opacity:0;overflow:hidden;
    transition:max-height .35s ease, opacity .35s ease, margin .35s ease;
  }
  .sector .link{
    display:inline-flex;align-items:center;gap:8px;
    font-size:13px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;
    margin-top:4px;
  }
  .sector:hover p{ max-height:120px;opacity:1;margin-top:6px }
  @media (max-width: 900px){ .sector-grid{grid-template-columns:repeat(2, 1fr)} }
  @media (max-width: 560px){ .sector-grid{grid-template-columns:1fr} }

  /* ====== Services ====== */
  .services{background:#EEF2F7;color:var(--ink);position:relative;overflow:hidden}
  .services::before{
    content:"";position:absolute;right:-10%;top:-10%;width:55%;height:120%;
    background:radial-gradient(ellipse at top right, rgba(74,141,208,0.10), transparent 60%);
    pointer-events:none;
  }
  .services h2.section-title{color:var(--ink)}
  .services .lede{color:var(--muted)}
  .services .eyebrow{color:var(--navy)}
  .services-grid{
    display:grid;grid-template-columns:repeat(3, 1fr);
    gap:18px;
  }
  .service{
    background:#fff;
    padding:38px 30px 34px;
    display:flex;flex-direction:column;gap:8px;min-height:228px;
    border:1px solid var(--line);
    border-radius:3px;
    transition:transform .3s cubic-bezier(.2,.7,.2,1), box-shadow .3s ease, border-color .3s ease;
    cursor:default;
    position:relative;
  }
  .service:hover{
    background:#fff;   /* homepage.css sets navy hover — override so tile stays white */
    transform:translateY(-8px);
    box-shadow:0 22px 46px rgba(11,31,63,0.14);
    border-color:transparent;
    z-index:1;
  }
  .service .num{
    position:absolute;top:24px;right:26px;
    font-family:'Archivo Black',sans-serif;
    font-size:12px;color:#C3CCDA;letter-spacing:0.18em;
    transition:color .3s ease;
  }
  .service:hover .num{ color:var(--blue); }
  .service-icon{
    width:76px;height:76px;
    color:var(--navy);
    margin-bottom:18px;
    transition:transform .35s cubic-bezier(.2,.7,.2,1), color .3s ease;
    transform-origin:left center;
  }
  .service:hover .service-icon{ transform:scale(1.14) rotate(-4deg); color:var(--blue); }
  .service-icon svg{ width:100%; height:100%; stroke:currentColor; fill:none; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
  .service h3{
    font-family:'Archivo',sans-serif;font-weight:900;font-size:24px;margin:0;letter-spacing:-0.01em;color:var(--ink);
  }
  .service p{
    margin:0;color:var(--muted);font-size:14.5px;line-height:1.5;
  }
  @media (max-width: 900px){ .services-grid{grid-template-columns:repeat(2,1fr)} }
  @media (max-width: 560px){ .services-grid{grid-template-columns:1fr} }
  .services-cta{margin-top:48px;display:flex;justify-content:flex-end}
  .services .btn-ghost{ color:var(--navy); box-shadow:inset 0 0 0 1.5px var(--navy); }
  .services .btn-ghost:hover{ background:var(--navy); color:#fff; box-shadow:inset 0 0 0 1.5px var(--navy); }

  /* ====== Heritage feature ====== */
  .heritage{
    background:var(--cream);
    position:relative;
    overflow:hidden;
  }
  .heritage-grid{
    display:grid;
    grid-template-columns: 1.05fr 1fr;
    gap:0;
    align-items:stretch;
  }
  .heritage-media{
    position:relative;
    min-height:560px;
    background-size:cover;background-position:center;
    background-image:var(--heritage-img);
  }
  .heritage-media::after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(180deg, rgba(11,31,63,0.15), rgba(11,31,63,0.55));
  }
  .heritage-badge{
    position:absolute;left:24px;bottom:24px;z-index:2;
    background:#fff;color:var(--navy-ink);
    padding:18px 22px;max-width:300px;
    border-left:4px solid var(--navy);
  }
  .heritage-badge .quote-mark{
    font-family:'Archivo Black',sans-serif;
    font-size:48px;color:var(--blue);
    line-height:0.6;display:block;margin-bottom:4px;
  }
  .heritage-badge p{margin:0;font-size:14px;font-weight:600;text-wrap:balance}
  .heritage-content{
    padding:clamp(40px, 5vw, 80px);
    background:var(--cream);
    display:flex;flex-direction:column;justify-content:center;gap:20px;
  }
  .heritage-content h2{
    font-family:'Archivo',sans-serif;font-weight:900;
    font-size:clamp(32px, 3.8vw, 52px);
    letter-spacing:-0.02em;line-height:1.02;margin:0;
    text-wrap:balance;
  }
  .heritage-content p{margin:0;font-size:17px;color:#3b4554;line-height:1.6;text-wrap:pretty}
  .heritage-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
  .pill{
    border:1.5px solid var(--navy);color:var(--navy);
    padding:8px 14px;font-size:12px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;
    border-radius:2px;
  }
  @media (max-width: 980px){
    .heritage-grid{grid-template-columns:1fr}
    .heritage-media{min-height:420px}
  }

  /* ====== Portfolio ====== */
  .portfolio{background:#fff}
  .portfolio-grid{
    display:grid;
    grid-template-columns:repeat(12, 1fr);
    gap:18px;
  }
  .pf{
    position:relative;
    overflow:hidden;
    background:#ccc;
    isolation:isolate;
    color:#fff;
    cursor:pointer;
  }
  .pf .img{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;transition:transform .6s ease}
  .pf:hover .img{transform:scale(1.05)}
  .pf::after{content:"";position:absolute;inset:0;z-index:-1;
    background:linear-gradient(180deg, transparent 30%, rgba(11,31,63,0.85) 100%);}
  .pf-content{
    position:absolute;inset:0;
    padding:24px;
    display:flex;flex-direction:column;justify-content:flex-end;gap:6px;
  }
  .pf .tag{
    font-size:11px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;
    color:var(--blue-light);
  }
  .pf h3{
    font-family:'Archivo',sans-serif;font-weight:900;font-size:24px;margin:0;letter-spacing:-0.01em;
    line-height:1.1;
  }
  .pf .loc{font-size:13px;color:rgba(255,255,255,0.85);font-weight:600}
  .portfolio-grid{ grid-auto-rows: 320px; }
  .pf{ grid-column: span 4; }
  .pf.pf-feat{ grid-column: span 6; }
  @media (max-width: 900px){
    .portfolio-grid{ grid-auto-rows: 260px; }
    .pf, .pf.pf-feat{ grid-column: span 12 }
  }

  /* ====== Testimonials (3 columns, no carousel) ====== */
  .testimonials{ background:var(--navy-ink); color:#fff; overflow:hidden;position:relative }
  .testimonials .eyebrow{color:var(--blue-light)}
  .testimonials h2{color:#fff}
  .testimonials .lede{color:rgba(255,255,255,0.75)}
  .testi-grid{
    display:grid;grid-template-columns:repeat(3, 1fr);gap:32px;
    margin-top:24px;
  }
  .testi-card{
    background:rgba(255,255,255,0.04);
    border:1px solid rgba(255,255,255,0.10);
    padding:36px 32px;
    display:flex;flex-direction:column;gap:18px;
    transition:background .25s ease, border-color .25s ease;
  }
  .testi-card:hover{ background:rgba(255,255,255,0.06); border-color:rgba(156,195,232,0.35); }
  .testi-card .logo{
    width:100%;
    height:64px;
    border:1.5px dashed rgba(156,195,232,0.35);
    background:rgba(255,255,255,0.03);
    display:flex;align-items:center;justify-content:center;
    color:rgba(255,255,255,0.9);
    margin-bottom:6px;
  }
  .testi-card .logo svg{ width:64%; height:60%; }
  .testi-card .qmark{
    font-family:'Archivo Black',sans-serif;font-size:56px;color:var(--blue);
    line-height:0.5;margin:0 0 4px;
  }
  .testi-card blockquote{
    font-family:'Archivo',sans-serif;
    font-weight:600;
    font-size:18px;line-height:1.45;letter-spacing:-0.005em;
    margin:0;text-wrap:pretty;color:#fff;
    flex:1;
  }
  .testi-card .meta{
    border-top:1px solid rgba(255,255,255,0.12);
    padding-top:18px;display:flex;flex-direction:column;gap:4px;
  }
  .testi-card .name{font-weight:800;font-size:15px}
  .testi-card .role{font-size:13px;color:rgba(255,255,255,0.65)}
  .testi-card .sector{ display:none }
  @media (max-width: 900px){ .testi-grid{grid-template-columns:1fr;gap:20px} }

  /* ====== Logo slider (marquee) ====== */
  .marquee{
    background:#fff;
    overflow:hidden;
    position:relative;
    padding:24px 0;
    mask-image: linear-gradient(90deg, transparent 0, #000 80px, #000 calc(100% - 80px), transparent 100%);
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 80px, #000 calc(100% - 80px), transparent 100%);
  }
  .marquee-track{
    display:flex;align-items:center;gap:64px;
    width:max-content;
    animation: marquee 60s linear infinite;
  }
  .marquee:hover .marquee-track{ animation-play-state: paused; }
  .marquee-item{
    flex:0 0 auto;
    height:88px;
    display:flex;align-items:center;justify-content:center;
    padding:0 20px;
  }
  .marquee-item img{
    max-height:80px;width:auto;object-fit:contain;
    filter:grayscale(0%);
    opacity:0.95;
    transition:opacity .2s ease, filter .2s ease;
  }
  .marquee-item:hover img{ opacity:1; filter:grayscale(0%); }
  @keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
  .marquee-slow .marquee-track{ animation-duration: 80s; }
  .marquee-reverse .marquee-track{ animation-direction: reverse; }

  /* ====== Accreditations (PURE WHITE, slider) ====== */
  .accred{ background:#FFFFFF }
  .accred .section-head{text-align:center;align-items:center;margin-left:auto;margin-right:auto}
  .accred .marquee-item{ height:120px }
  .accred .marquee-item img{ max-height:104px }

  /* ====== Clients (PURE WHITE, slider, no lines) ====== */
  .clients{ background:#FFFFFF; padding-top:0 }
  .clients .marquee-item{ height:80px }
  .clients .marquee-item img{ max-height:64px }

  /* ====== Areas ====== */
  .areas{background:var(--cream);position:relative;overflow:hidden}
  .areas-grid{
    display:grid;
    grid-template-columns: 1fr 0.95fr;
    gap:64px;align-items:center;
  }
  .areas-list{
    display:grid;grid-template-columns:repeat(3, 1fr);
    gap:0 24px;
  }
  .area-item{
    padding:18px 0;
    border-top:1px solid var(--line);
    display:flex;justify-content:space-between;align-items:center;
    font-weight:700;font-size:16px;
  }
  .area-item:last-child{border-bottom:1px solid var(--line)}
  .area-item .plus{
    color:var(--navy);font-size:18px;font-weight:900;
    transition:transform .2s ease;
  }
  .area-item:hover .plus{transform:translateX(3px)}
  @media (max-width: 980px){
    .areas-grid{grid-template-columns:1fr;gap:40px}
    .areas-list{grid-template-columns:repeat(2,1fr)}
  }
  @media (max-width: 560px){ .areas-list{grid-template-columns:1fr} }

  /* Areas: regional offices list */
  .offices{display:flex;flex-direction:column;gap:14px;margin:22px 0 26px}
  .office{
    display:flex;gap:14px;align-items:flex-start;
    padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:3px;
  }
  .office .marker{
    flex:0 0 auto;width:12px;height:12px;border-radius:50%;margin-top:5px;
    background:var(--navy);box-shadow:0 0 0 4px rgba(30,77,155,0.18);
  }
  .office.regional .marker{ background:var(--blue); box-shadow:0 0 0 4px rgba(74,141,208,0.18); }
  .office .o-type{font-size:11px;font-weight:800;letter-spacing:0.16em;text-transform:uppercase;color:var(--navy)}
  .office.regional .o-type{ color:var(--blue); }
  .office .o-place{font-weight:800;font-size:17px;letter-spacing:-0.01em;margin-top:2px}
  .office .o-detail{font-size:13.5px;color:var(--muted);margin-top:2px}

  /* Areas: plugin-driven UK map (ukcountieshtml5map) */
  .dlp-plugin-map{
    width:100%;
    max-width:500px;
    margin:0 auto;
  }
  .dlp-plugin-map .ukmap-container,
  .dlp-plugin-map svg{
    max-width:100%;
    height:auto;
  }

  /* ====== Careers ====== */
  .careers{position:relative;color:#fff;isolation:isolate;overflow:hidden}
  .careers .bg{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;background-image:var(--careers-img)}
  .careers::before{
    content:"";position:absolute;inset:0;z-index:-1;
    background:linear-gradient(90deg, rgba(11,31,63,0.92) 0%, rgba(11,31,63,0.70) 60%, rgba(11,31,63,0.40) 100%);
  }
  .careers-inner{
    display:grid;grid-template-columns: 1.2fr 1fr;gap:64px;align-items:center;
  }
  .careers h2{ color:#fff }
  .careers p{ color:rgba(255,255,255,0.85);font-size:18px;max-width:54ch;line-height:1.55;text-wrap:pretty }
  .careers-stats{
    display:flex;flex-direction:column;gap:24px;
  }
  .careers-stat{
    border-left:3px solid var(--blue-light);
    padding:8px 0 8px 24px;
  }
  .careers-stat .n{
    font-family:'Archivo Black',sans-serif;
    font-size:44px;line-height:1;color:#fff;
  }
  .careers-stat .l{font-size:14px;color:rgba(255,255,255,0.8);margin-top:4px}
  @media (max-width: 900px){
    .careers-inner{grid-template-columns:1fr;gap:40px}
  }

  /* ====== Final CTA ====== */
  .final-cta{
    background:var(--cream);
    text-align:center;
  }
  .final-cta h2{
    font-size:clamp(40px, 6vw, 80px);
    font-weight:900;
    letter-spacing:-0.025em;
    line-height:0.98;
    margin:0 0 24px;
    max-width:20ch;
    margin-left:auto;margin-right:auto;
  }
  .final-cta p{font-size:18px;color:#3b4554;max-width:62ch;margin:0 auto 36px;line-height:1.55;text-wrap:pretty}
  .final-actions{display:inline-flex;flex-wrap:wrap;gap:12px;justify-content:center}
  .contact-row{
    margin-top:64px;
    display:grid;grid-template-columns:repeat(3, 1fr);gap:1px;
    background:var(--line);
    border:1px solid var(--line);
    max-width:880px;margin-left:auto;margin-right:auto;
  }
  .contact-cell{
    background:var(--cream);
    padding:24px 20px;text-align:left;
    display:flex;flex-direction:column;gap:4px;
  }
  .contact-cell .lbl{font-size:11px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:var(--navy)}
  .contact-cell .val{font-weight:700;font-size:16px}
  @media (max-width: 720px){ .contact-row{grid-template-columns:1fr} }

  /* ====== Footer (white) ====== */
  footer{
    background:#fff;
    color:var(--ink);
    padding:80px 0 32px;
    border-top:1px solid var(--line);
  }
  .foot-grid{
    display:grid;grid-template-columns: 1.4fr 1fr 1fr 1fr;gap:48px;
    padding-bottom:56px;border-bottom:1px solid var(--line);
  }
  .foot-brand img{height:54px;margin-bottom:20px}
  .foot-brand p{font-size:14px;line-height:1.6;color:var(--muted);max-width:36ch}
  footer h4{
    font-size:12px;letter-spacing:0.18em;text-transform:uppercase;
    color:var(--navy);margin:0 0 18px;font-weight:800;
  }
  .foot-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
  .foot-list a{font-size:14px;color:#3b4554;transition:color .15s}
  .foot-list a:hover{color:var(--navy)}
  .foot-bottom{
    padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;
    font-size:12px;color:var(--muted);
  }
  .foot-bottom a{color:var(--muted)}
  .foot-bottom a:hover{color:var(--navy)}
  /* Legal menu (bottom row) — inline row, no bullets. Applies to the shared
     footer.php's wp_nav_menu output on both homepage and sub-pages.
     Using ul.foot-legal (0,2,1) so it beats any generic footer ul rule. */
  ul.foot-legal,
  .foot-legal{list-style:none !important;margin:0;padding:0;display:flex;gap:18px;flex-wrap:wrap}
  ul.foot-legal li,
  .foot-legal li{margin:0;display:inline-block;list-style:none !important}
  .foot-legal a{color:var(--muted);font-size:12px}
  .foot-legal a:hover{color:var(--navy)}
  /* Address paragraph + social icon row in the brand column */
  .foot-address{font-size:14px;line-height:1.6;color:var(--muted);max-width:36ch;margin:14px 0 0}
  .foot-social{display:flex;gap:12px;margin-top:22px}
  .foot-social-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;color:var(--navy);transition:background .2s,color .2s,border-color .2s}
  .foot-social-icon:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
  @media (max-width: 900px){ .foot-grid{grid-template-columns: 1fr 1fr;} }
  @media (max-width: 560px){ .foot-grid{grid-template-columns: 1fr;gap:32px} }
  @media (max-width: 767px){ .foot-legal{justify-content:center;gap:14px} }

  /* Triangle accent (logo motif) */
  .triangle-accent{
    display:inline-flex;align-items:flex-end;gap:3px;
  }
  .triangle-accent svg{height:14px;width:auto}

  /* utility */
  .reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease, transform .7s ease}
  .reveal.in{opacity:1;transform:none}
