
  :root{
    --ink:#0B1F3A;
    --ink-soft:#334A63;
    --paper:#F8FAFC;
    --white:#FFFFFF;
    --line:#D9E1EA;
    --accent:#C84B2C;
    --accent-dark:#A93D22;
    --sand:#EEF3F8;
    --radius:16px;
    --nav-h:88px;
    --max:1140px;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 16px)}
  ::selection{background:var(--accent);color:#fff}
  a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2.5px solid var(--accent);outline-offset:3px;border-radius:4px}
  body{
    font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    background:var(--paper);color:var(--ink);
    font-size:16.5px;line-height:1.65;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,.serif{font-family:'Fraunces',Georgia,serif;font-weight:500;letter-spacing:-0.01em}
  img{max-width:100%;display:block}
  a{color:inherit;text-decoration:none}
  .wrap{max-width:var(--max);margin:0 auto;padding:0 28px}
  .eyebrow{
    font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
    color:var(--ink);display:flex;align-items:center;gap:10px;
  }
  .eyebrow::before{content:"";width:26px;height:1.5px;background:var(--ink)}
  .section{padding:96px 0}
  .section h2{font-size:clamp(30px,4vw,44px);line-height:1.15;margin:18px 0 16px}
  .section .lead{color:var(--ink-soft);max-width:620px;font-size:17.5px}

  /* ---------- Buttons ---------- */
  .btn{
    display:inline-flex;align-items:center;gap:10px;
    background:var(--accent);color:var(--white);font-weight:600;font-size:15px;
    padding:15px 28px;border-radius:100px;transition:background .2s ease, transform .2s ease;
    border:none;cursor:pointer;
  }
  .btn:hover{background:var(--accent-dark);transform:translateY(-1px)}
  .btn:active{transform:translateY(0)}
  .btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}
  .btn.ghost:hover{background:var(--ink);color:var(--white)}
  .btn.ghost:active{transform:translateY(0)}
  .btn svg{transition:transform .2s ease}
  .btn:hover svg{transform:translateX(3px)}

  /* ---------- Nav ---------- */
  header{
    position:sticky;top:0;z-index:50;background:rgba(248,250,252,.88);
    backdrop-filter:blur(12px);border-bottom:1px solid var(--line);
  }
  nav{display:flex;align-items:center;justify-content:space-between;height:var(--nav-h)}
  .logo{display:flex;align-items:center;line-height:0;flex-shrink:0}
  .brand-logo{display:block;height:calc(var(--nav-h) - 14px);width:auto;object-fit:contain}
  .nav-links{display:flex;gap:34px;align-items:center;font-size:15px;font-weight:500}
  @media (max-width:820px){:root{--nav-h:76px}}
  .nav-links a{color:var(--ink-soft);transition:color .15s;position:relative}
  .nav-links a.nav-cta{color:#fff}
  .nav-links a.nav-cta:hover{color:#fff}
  .nav-links a:not(.btn)::after{content:"";position:absolute;left:0;bottom:-5px;width:0;height:1.5px;background:var(--ink);transition:width .25s ease}
  .nav-links a:not(.btn):hover{color:var(--ink)}
  .nav-links a:not(.btn):hover::after{width:100%}
  .nav-links a:hover{color:var(--ink)}
  .nav-cta{font-size:14.5px;padding:11px 22px}
  .menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px}
  .menu-toggle span{display:block;width:24px;height:2px;background:var(--ink);margin:5px 0;transition:.25s}
  @media(max-width:820px){
    .nav-links{
      position:fixed;inset:var(--nav-h) 0 auto 0;background:var(--paper);flex-direction:column;
      padding:28px;gap:20px;border-bottom:1px solid var(--line);
      transform:translateY(-120%);transition:transform .3s ease;align-items:flex-start;
    }
    .nav-links.open{transform:translateY(0)}
    .menu-toggle{display:block}
  }

  /* ---------- Hero ---------- */
  .hero{padding:110px 0 90px}
  .hero .eyebrow{margin-bottom:22px}
  .hero h1{font-size:clamp(40px,6.2vw,72px);line-height:1.06;max-width:15ch}
  .hero h1 em{font-style:italic;color:var(--ink)}
  .hero p{margin:26px 0 36px;max-width:560px;color:var(--ink-soft);font-size:18.5px}
  .hero-actions{display:flex;gap:14px;flex-wrap:wrap}
  .hero-meta{
    margin-top:56px;padding-top:26px;border-top:1px solid var(--line);
    display:flex;gap:40px;flex-wrap:wrap;font-size:14px;color:var(--ink-soft);
  }
  .hero-meta strong{display:block;color:var(--ink);font-weight:600;font-size:15px;margin-bottom:2px}

  /* ---------- Marquee of who we serve ---------- */
  .strip{background:var(--ink);color:#DCE6F0;padding:20px 0;overflow:hidden}
  .strip-inner{display:flex;gap:56px;white-space:nowrap;font-size:14.5px;letter-spacing:.06em;text-transform:uppercase;font-weight:500;justify-content:center;flex-wrap:wrap}
  .strip-inner span{display:flex;align-items:center;gap:14px}
  .strip-inner span::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);opacity:.9}

  /* ---------- Services ---------- */
  .grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:52px}
  @media(max-width:900px){.grid-3{grid-template-columns:1fr 1fr}}
  @media(max-width:600px){.grid-3{grid-template-columns:1fr}}
  .card{
    background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
    padding:34px 30px;transition:box-shadow .25s ease, transform .25s ease;
  }
  .card:hover{box-shadow:0 14px 40px -18px rgba(20,24,29,.25);transform:translateY(-3px)}
  .card.featured{background:var(--ink);color:#fff;border-color:var(--ink)}
  .card.featured p{color:rgba(255,255,255,.85)}
  .card-num{font-size:13px;font-weight:600;letter-spacing:.1em;color:var(--ink);margin-bottom:18px}
  .card.featured .card-num{color:#A9C5E8}
  .card h3{font-size:21px;margin-bottom:10px}
  .card p{font-size:15px;color:var(--ink-soft)}

  /* ---------- Concepts ---------- */
  .concepts{background:var(--sand)}
  .concept-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:box-shadow .25s ease, transform .25s ease}
  .concept-card:hover{box-shadow:0 16px 44px -20px rgba(20,24,29,.3);transform:translateY(-3px)}
  .browser{
    background:#eceae3;border-bottom:1px solid var(--line);
    padding:12px 16px;display:flex;gap:6px;align-items:center;
  }
  .browser i{width:10px;height:10px;border-radius:50%;background:#B8C6D5;display:block}
  .concept-showcase{
    max-width:980px;margin:52px auto 0;background:var(--white);
    border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
    box-shadow:0 18px 55px -28px rgba(20,24,29,.35);
  }
  .concept-image-wrap{background:#0B1F3A;padding:24px}
  .concept-image-wrap img{
    width:100%;height:auto;border-radius:10px;
    box-shadow:0 14px 35px -20px rgba(0,0,0,.5);
  }
  .concept-body{padding:28px 30px 32px}
  .concept-body .tag{font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
  .concept-body h3{font-size:20px;margin:8px 0 8px}
  .concept-body p{font-size:14.5px;color:var(--ink-soft)}
  .note{
    margin-top:40px;background:var(--white);border:1px solid var(--line);
    border-left:3px solid var(--accent);border-radius:10px;padding:18px 22px;
    font-size:14.5px;color:var(--ink-soft);max-width:720px;
  }
  .note strong{color:var(--ink)}

  /* ---------- Process ---------- */
  .steps{margin-top:52px;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line)}
  @media(max-width:820px){.steps{grid-template-columns:1fr 1fr}}
  @media(max-width:520px){.steps{grid-template-columns:1fr}}
  .step{padding:32px 28px 8px 0;border-right:1px solid var(--line)}
  .step:last-child{border-right:none}
  @media(max-width:820px){.step{border-right:none;border-bottom:1px solid var(--line);padding-bottom:28px}}
  .step-num{font-family:'Fraunces',serif;font-size:32px;color:var(--accent);opacity:.9}
  .step h3{font-size:18px;margin:14px 0 8px}
  .step p{font-size:14.5px;color:var(--ink-soft)}

  /* ---------- Why ---------- */
  .why{background:var(--ink);color:#e9e6df}
  .why .lead{color:#b8b3a8}
  .why-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;margin-top:52px}
  @media(max-width:760px){.why-grid{grid-template-columns:1fr}}
  .why-item{padding:26px 0;border-top:1px solid rgba(255,255,255,.12)}
  .why-item h3{font-size:20px;margin-bottom:8px;color:#fff}
  .why-item p{font-size:15px;color:#b8b3a8}

  /* ---------- Contact ---------- */
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin-top:52px}
  @media(max-width:820px){.contact-grid{grid-template-columns:1fr;gap:40px}}
  .contact-info p{color:var(--ink-soft);margin-bottom:28px;max-width:420px}
  .contact-detail{padding:18px 0;border-top:1px solid var(--line);font-size:15px}
  .contact-detail span{display:block;font-size:12.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:4px}
  .contact-detail a{font-weight:600;border-bottom:1.5px solid var(--accent)}
  form{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:36px}
  .field{margin-bottom:20px}
  label{display:block;font-size:13.5px;font-weight:600;margin-bottom:7px}
  input,select,textarea{
    width:100%;padding:13px 15px;border:1.5px solid var(--line);border-radius:10px;
    font-family:inherit;font-size:15px;background:var(--paper);color:var(--ink);
    transition:border-color .15s;
  }
  input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}
  textarea{min-height:120px;resize:vertical}
  .form-note{font-size:13px;color:var(--ink-soft);margin-top:14px}

  footer{border-top:1px solid var(--line);padding:36px 0;font-size:14px;color:var(--ink-soft)}
  .footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
  .fade{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
  .fade.in{opacity:1;transform:none}
  @media(prefers-reduced-motion:reduce){.fade{opacity:1;transform:none;transition:none}}

.page-hero{padding-top:100px;padding-bottom:86px}.page-hero h1{max-width:18ch}.page-hero>div>p:not(.eyebrow){max-width:760px}.coverage{background:#f5f3ed}.location-links,.industry-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}.location-links a,.industry-list span{padding:11px 15px;border:1px solid var(--line);border-radius:100px;background:var(--white);font-size:14px;font-weight:600}.faq-grid{max-width:900px;margin-top:40px}.faq details{border-top:1px solid var(--line);padding:22px 0}.faq summary{cursor:pointer;font-family:Fraunces,Georgia,serif;font-size:20px}.faq details p{margin-top:12px;color:var(--ink-soft);font-size:15px}

.footer-brand{display:flex;align-items:center;line-height:0}.footer-logo{display:block;height:64px;width:auto}
