
    :root{
      --navy:#081a36;
      --navy-2:#0d2a50;
      --ink:#0c1b36;
      --muted:#52627a;
      --paper:#f7f4ee;
      --white:#ffffff;
      --soft:#eef3f8;
      --line:#d9e0e7;
      --cta-1:#ff8a2f;
      --cta-2:#ff4d00;
      --cta-shadow:0 14px 30px rgba(255,95,18,.25), inset 0 1px 0 rgba(255,255,255,.45);
      --radius:20px;
      --max:1180px;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      background:var(--paper);
      color:var(--ink);
      line-height:1.5;
    }
    img{max-width:100%;display:block}
    a{color:inherit}
    .container{width:min(var(--max), calc(100% - 40px)); margin-inline:auto}
    .eyebrow{
      font-size:.82rem;
      letter-spacing:.18em;
      text-transform:uppercase;
      font-weight:800;
      color:#31527d;
      margin-bottom:14px;
    }
    h1,h2,h3{
      margin:0;
      line-height:.97;
      letter-spacing:-.04em;
      color:var(--ink);
    }
    h1{font-size:clamp(2.5rem,3.8vw,3.7rem); max-width:640px}
    h2{font-size:clamp(1.9rem,3.2vw,2.85rem); max-width:820px}
    h3{font-size:1.55rem; line-height:1.08}
    p{margin:0;color:var(--muted)}
    .lead{
      font-size:clamp(1.08rem,1.5vw,1.35rem);
      max-width:760px;
      line-height:1.55;
    }
    .section{padding:96px 0}
    .section-tight{padding:72px 0}
    .divider{border-top:1px solid var(--line)}

    /* Nav */
    .site-header{
      background:linear-gradient(180deg,#06162d,#0b2344);
      color:white;
      position:sticky;
      top:0;
      z-index:20;
      box-shadow:0 1px 0 rgba(255,255,255,.06);
    }
    .nav{
      height:86px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:28px;
    }
    .brand{
      display:flex;
      flex-direction:column;
      text-decoration:none;
      color:white;
      line-height:1;
    }

    .brand-logo{
      width:245px;
      max-width:34vw;
      height:auto;
      object-fit:contain;
      display:block;
    }
    .footer-logo{
      width:275px;
      max-width:100%;
    }

    .brand strong{font-size:1.8rem;letter-spacing:-.04em}
    .brand small{
      margin-top:7px;
      font-size:.72rem;
      letter-spacing:.18em;
      text-transform:uppercase;
      color:#cbd7e7;
    }
    .nav-links{
      display:flex;
      align-items:center;
      gap:30px;
      font-weight:700;
    }
    .nav-links a{text-decoration:none;color:#fff}
    .nav-links a:hover{opacity:.78}

    .menu-toggle{
      display:none;
      flex-direction:column;
      justify-content:center;
      gap:5px;
      width:44px;
      height:44px;
      border-radius:10px;
      border:1px solid rgba(255,255,255,.28);
      background:rgba(255,255,255,.06);
      cursor:pointer;
      padding:0;
      align-items:center;
    }
    .menu-toggle span{
      display:block;
      width:20px;
      height:2px;
      background:#fff;
      border-radius:2px;
      transition:transform .2s ease, opacity .2s ease;
    }
    .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
    .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
    .menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

    .mobile-nav{
      display:none;
      flex-direction:column;
      gap:4px;
      padding:10px 20px 26px;
      background:#0b2344;
      border-top:1px solid rgba(255,255,255,.1);
    }
    .mobile-nav a{
      text-decoration:none;
      color:#fff;
      font-weight:700;
      padding:14px 4px;
      border-bottom:1px solid rgba(255,255,255,.08);
    }
    .mobile-nav a.btn{
      margin-top:14px;
      padding:0 26px;
      border-bottom:none;
      width:100%;
    }
    .mobile-nav{display:none;flex-direction:column;gap:4px;padding:10px 20px 26px;background:#0b2344;border-top:1px solid rgba(255,255,255,.1)}.mobile-nav.open{display:flex}

    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:12px;
      min-height:56px;
      padding:0 26px;
      border-radius:14px;
      font-weight:800;
      line-height:1;
      text-decoration:none;
      border:1px solid rgba(255,255,255,.38);
      background:linear-gradient(180deg,var(--cta-1),var(--cta-2));
      color:#fff;
      box-shadow:var(--cta-shadow);
      text-shadow:
        0 1px 1px rgba(0,0,0,.48),
        0 2px 5px rgba(82,24,0,.22);
      transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
    }
    .btn span{display:inline-flex;align-items:center;line-height:1;transform:translateY(.5px)}
    .btn:hover{
      transform:translateY(-2px);
      filter:saturate(1.05);
      box-shadow:0 18px 38px rgba(255,95,18,.32), inset 0 1px 0 rgba(255,255,255,.5);
    }
    .text-link{
      display:inline-flex;
      gap:8px;
      align-items:center;
      text-decoration:none;
      font-weight:800;
      border-bottom:2px solid currentColor;
      padding-bottom:3px;
    }

    /* Hero */
    .hero{padding:74px 0 42px;background:var(--paper)}
    .hero-grid{
      display:grid;
      grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);
      gap:54px;
      align-items:center;
    }
    .hero-copy .lead{margin-top:26px}
    .hero-actions{
      display:flex;
      align-items:center;
      gap:26px;
      margin-top:32px;
      flex-wrap:wrap;
    }
    .image-placeholder{
      min-height:520px;
      border:0;
      border-radius:22px;
      background:#e8edf3;
      display:grid;
      place-items:center;
      text-align:center;
      padding:0;
      color:#37506f;
      box-shadow:none;
      overflow:hidden;
    }
    .image-placeholder strong{display:block;font-size:1.15rem;color:var(--ink);margin-bottom:6px}
    .hero-proof{
      margin-top:44px;
      padding-top:28px;
      border-top:1px solid var(--line);
    }
    .hero-proof .lead-note{max-width:640px;color:var(--muted)}
    .proof-mini{
      padding-left:22px;
      border-left:1px solid var(--line);
    }
    .proof-mini:first-child{padding-left:0;border-left:0}
    .proof-mini strong{font-size:2rem;display:block;letter-spacing:-.04em}
    .proof-mini span{color:var(--muted)}


    /* Final media assets */
    .media-fill{
      width:100%;
      height:100%;
      display:block;
      object-fit:cover;
      object-position:center;
    }

    /* Recognition */
    .recognition-grid{
      display:grid;
      grid-template-columns:1.5fr .75fr;
      gap:34px;
      align-items:start;
    }
    .challenge-grid{
      margin-top:34px;
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:16px;
    }
    .card{
      background:rgba(255,255,255,.72);
      border:1px solid var(--line);
      border-radius:var(--radius);
      padding:24px;
      box-shadow:0 10px 30px rgba(20,38,62,.035);
    }
    .card p{margin-top:10px}
    .side-panel{
      background:var(--soft);
      border:1px solid var(--line);
      border-radius:22px;
      padding:32px;
      position:sticky;
      top:110px;
    }
    .side-panel h3{font-size:2rem}
    .side-panel p{margin-top:16px}
    .mini-art{
      height:240px;
      margin-top:26px;
      border-radius:18px;
      display:grid;
      place-items:center;
      text-align:center;
      background:#e8edf3;
      border:0;
      font-weight:800;
      letter-spacing:.1em;
      color:#345171;
      overflow:hidden;
    }

    /* Services */
    .cards-3{
      margin-top:36px;
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:20px;
    }
    .service-card ul,.process-card ul{
      margin:20px 0 0;
      padding:18px 0 0;
      border-top:1px solid var(--line);
      list-style:none;
    }
    .service-card li,.process-card li{
      padding:6px 0 6px 28px;
      position:relative;
      color:#415878;
    }
    .service-card li::before,.process-card li::before{
      content:"✓";
      position:absolute;left:0;
      width:20px;height:20px;
      display:grid;place-items:center;
      border-radius:50%;
      background:#e5eef8;
      color:#0b315e;
      font-weight:900;
      font-size:.8rem;
    }

    /* Results */
    .results{
      background:#f4f6f8;
      border-block:1px solid var(--line);
    }
    .metrics{
      margin-top:34px;
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:18px;
    }
    .metric strong{
      font-size:clamp(2.2rem,4vw,3.4rem);
      display:block;
      letter-spacing:-.05em;
    }
    .logo-strip{
      margin-top:36px;
      padding-top:28px;
      border-top:1px solid var(--line);
    }
    


    /* Final homepage imagery */
    .hero-photo .media-fill{
      object-position:center 18%;
    }
    .about-photo .media-fill{
      object-position:center 28%;
    }


    /* Client logo wall — flexbox layout */
    .logo-placeholders{
      margin-top:32px !important;
      display:flex !important;
      flex-wrap:wrap !important;
      justify-content:center !important;
      align-items:center !important;
      column-gap:54px !important;
      row-gap:38px !important;
      width:100% !important;
    }

    .logo-ph{
      flex:0 1 220px !important;
      min-width:170px !important;
      min-height:84px !important;
      display:flex !important;
      align-items:center !important;
      justify-content:center !important;
      padding:0 !important;
      margin:0 !important;
      border:0 !important;
      border-radius:0 !important;
      background:transparent !important;
      box-shadow:none !important;
      overflow:visible !important;
    }

    .logo-ph img{
      display:block !important;
      width:auto !important;
      max-width:210px !important;
      height:68px !important;
      max-height:68px !important;
      object-fit:contain !important;
      object-position:center !important;
      overflow:visible !important;
    }

    .logo-ph-wide{
      flex-basis:250px !important;
    }

    .logo-ph-wide img{
      max-width:240px !important;
      height:68px !important;
    }

    @media(max-width:1080px){
      .logo-placeholders{
        column-gap:38px !important;
        row-gap:32px !important;
      }
      .logo-ph{
        flex-basis:190px !important;
      }
    }

    @media(max-width:720px){
      .logo-placeholders{
        column-gap:24px !important;
        row-gap:28px !important;
      }
      .logo-ph{
        flex-basis:145px !important;
        min-width:130px !important;
      }
      .logo-ph img{
        max-width:150px !important;
        height:54px !important;
        max-height:54px !important;
      }
      .logo-ph-wide{
        flex-basis:170px !important;
      }
      .logo-ph-wide img{
        max-width:175px !important;
        height:54px !important;
      }
    }


    .journey-visual{
      padding:0 !important;
      overflow:hidden !important;
      background:transparent !important;
    }
    .journey-visual img{
      display:block;
      width:100%;
      height:100%;
      object-fit:cover;
      object-position:center;
    }

    /* Work */
    .work-grid{
      margin-top:34px;
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:20px;
    }
    .work-card{
      overflow:hidden;
      background:#fff;
      border:1px solid var(--line);
      border-radius:22px;
      box-shadow:0 14px 34px rgba(20,38,62,.05);
    }
    .work-card.featured{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.3fr}
    .work-media{
      min-height:280px;
      background:#e8edf3;
      border:0;
      display:grid;
      place-items:center;
      color:#5d6d82;
      font-weight:800;
      text-align:center;
      padding:0;
      overflow:hidden;
    }
    .work-card:not(.featured) .work-media{border:0}
    .work-copy{padding:30px}
    .work-copy .metric-line{font-size:2rem;font-weight:900;margin-top:18px}
    .work-copy p{margin-top:10px}
    .work-copy .text-link{margin-top:24px}

    /* Process */
    .process-grid{
      margin-top:34px;
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:20px;
    }

    /* About */
    .about-grid{
      display:grid;
      grid-template-columns:1.1fr .9fr;
      gap:48px;
      align-items:center;
    }
    .about-points{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:16px;
      margin-top:30px;
    }
    .about-points div{
      padding:16px 18px 16px 0;
      border-right:1px solid var(--line);
    }
    .about-points div:last-child{border-right:0}
    .about-actions{margin-top:28px}
    .about .image-placeholder{min-height:480px}

    /* CTA */
    .cta{
      background:linear-gradient(180deg,#081a36,#0d2a50);
      color:white;
      position:relative;
      overflow:hidden;
    }
    .cta::after{
      content:"";
      position:absolute;
      inset:auto -8% -46% auto;
      width:60%;
      aspect-ratio:1;
      border-radius:50%;
      background:radial-gradient(circle,rgba(84,139,198,.22),transparent 66%);
    }
    .cta h2,.cta p{color:white}
    .cta p{color:#cad7e8;max-width:760px;margin-top:20px}
    .cta-actions{margin-top:30px;display:flex;gap:24px;align-items:center;flex-wrap:wrap}
    .cta .text-link{color:white}


    .final-cta{
      position:relative;
      background:
        linear-gradient(90deg, rgba(7,19,39,.94) 0%, rgba(7,19,39,.86) 45%, rgba(7,19,39,.44) 72%, rgba(7,19,39,.28) 100%),
        url('../journey-road-background.jpg') center center / cover no-repeat !important;
      color:#fff;
      overflow:hidden;
    }
    .final-cta::before{
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(180deg, rgba(5,14,29,.08), rgba(5,14,29,.24));
      pointer-events:none;
    }
    .final-cta .container{
      position:relative;
      z-index:1;
    }

    @media(max-width:720px){
      .final-cta{
        background:
          linear-gradient(180deg, rgba(7,19,39,.90) 0%, rgba(7,19,39,.74) 55%, rgba(7,19,39,.58) 100%),
          url('../journey-road-background.jpg') 68% center / cover no-repeat !important;
      }
    }

    /* Footer */
    .footer{
      background:#06172f;
      color:white;
      padding:58px 0 28px;
    }
    .footer-grid{
      display:grid;
      grid-template-columns:1.2fr .7fr 1fr 1fr;
      gap:34px;
    }
    .footer h4{
      margin:0 0 14px;
      font-size:.8rem;
      letter-spacing:.18em;
      text-transform:uppercase;
      color:#b8c7db;
    }
    .footer a:not(.btn){
      display:block;
      color:#fff;
      text-decoration:none;
      margin:9px 0;
    }
    .footer .btn{margin:0}
    .footer p{color:#b8c7db}
    .footer-bottom{
      margin-top:44px;
      padding-top:20px;
      border-top:1px solid rgba(255,255,255,.15);
      display:flex;
      justify-content:space-between;
      gap:20px;
      font-size:.9rem;
      color:#b8c7db;
    }

    @media (max-width:980px){
      .nav-links{display:none}
      .menu-toggle{display:flex}
      .hero-grid,.recognition-grid,.about-grid{grid-template-columns:1fr}
      .challenge-grid,.cards-3,.process-grid{grid-template-columns:1fr 1fr}
      
      .work-grid{grid-template-columns:1fr}
      .work-card.featured{grid-template-columns:1fr}
      .work-card.featured .work-media{border:0}
      .footer-grid{grid-template-columns:1fr 1fr}
      .side-panel{position:static}
    }
    @media (max-width:640px){
      .container{width:min(var(--max), calc(100% - 24px))}
      .section{padding:68px 0}
      .hero{padding-top:46px}
      h1{font-size:clamp(2.1rem,9vw,2.7rem)}
      h2{font-size:clamp(1.75rem,7.5vw,2.2rem)}
      .hero-grid{gap:30px}
      .image-placeholder{min-height:360px}
      .about .image-placeholder{min-height:340px}
      .challenge-grid,.cards-3,.metrics,.process-grid,.work-grid,.about-points,.logo-placeholders,.footer-grid{grid-template-columns:1fr}
      .proof-mini{padding:16px 0 0;border-left:0;border-top:1px solid var(--line)}
      .proof-mini:first-child{border-top:0;padding-top:0}
      .footer-bottom{flex-direction:column}
      .brand-logo{width:205px;max-width:62vw}
      .brand strong{font-size:1.45rem}
    }
  