Main

Version 79.1 by Chris Workman on 2026/09/02 14:15

  @import url('https://fonts.googleapis.com/css2?family=Host+Grotesk:wght@300;400;500;600;700;800&family=Poppins:wght@300;400;500;600;700;800&display=swap');

  .fd-home, .fd-home *{ box-sizing:border-box; }

  .fd-home{
    --fd-navy:#003366;
    --fd-blue:#307ab2;
    --fd-sky:#38b2e3;
    --fd-red:#cf333d;
    --fd-slate:#2e404d;
    --fd-grey:#8f9499;
    --fd-lightgrey:#dedede;
    --fd-offwhite:#f0f0f0;
    --fd-max-w:1040px;

    display:block;
    font-family:'Host Grotesk','Poppins','Segoe UI',system-ui,sans-serif;
    color:var(--fd-slate);
    background:#ffffff;
    font-weight:300;
    line-height:1.6;
  }
/* ---- Footer ---- */
  .fdm-footer {
    margin-top: 32px;
    padding-top: 18px;
    border-top: 1px solid var(--fd-bg-mid);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
    font-size: 13px;
  }
  .fdm-footer a {
    font-weight: 600;
    text-decoration: none !important;
    color: var(--fd-blue);
  }

  .fdm-footer a:hover { text-decoration: underline !important; }

  .fdm-footer a:focus-visible {
    outline: 2px solid var(--fd-blue-bright);
    outline-offset: 3px;
  }

  .fd-home a{ color:var(--fd-blue); }

  /* ---------- HERO ---------- */
  .fd-home .hero{
    position:relative;
    background:var(--fd-navy);
    overflow:hidden;
    padding:56px 32px 68px;
    text-align:center;
  }
  .fd-home .hero-inner{
    max-width:var(--fd-max-w);
    margin:0 auto;
    position:relative;
    z-index:2;
  }
  .fd-home .hero .logo{
    height:36px;
    margin:0 auto 28px;
    display:block;
  }
  .fd-home .hero p.kicker{
    color:var(--fd-sky);
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-size:.8rem;
    margin:0 0 10px;
  }
  .fd-home .hero h1{
    color:#ffffff;
    font-weight:800;
    font-size:2.5rem;
    margin:0 0 14px;
    letter-spacing:-0.01em;
  }
  .fd-home .hero p.sub{
    color:#dbe9f4;
    font-weight:300;
    font-size:1.05rem;
    max-width:520px;
    margin:0 auto;
  }
  .fd-home .wave{
    position:absolute;
    top:0; right:0; bottom:0;
    width:70%;
    z-index:1;
    pointer-events:none;
  }

  /* ---------- SEARCH-LIKE UTILITY STRIP (optional quick note) ---------- */
  .fd-home .utility-strip{
    background:var(--fd-offwhite);
    border-bottom:1px solid var(--fd-lightgrey);
    padding:14px 32px;
    text-align:center;
  }
  .fd-home .utility-strip p{
    margin:0;
    font-size:.85rem;
    color:var(--fd-grey);
    font-weight:500;
  }

  /* ---------- CARD GRID ---------- */
  .fd-home main{
    max-width:var(--fd-max-w);
    margin:0 auto;
    padding:56px 32px 24px;
  }
  .fd-home .section-label{
    color:var(--fd-navy);
    font-weight:800;
    font-size:1.15rem;
    margin:0 0 6px;
  }
  .fd-home .section-rule{
    width:56px;
    height:4px;
    background:var(--fd-red);
    border:none;
    border-radius:2px;
    margin:0 0 32px;
  }

  .fd-home .card-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:24px;
  }

  .fd-home .card{
    display:flex;
    flex-direction:column;
    background:#ffffff;
    border:1px solid var(--fd-lightgrey);
    border-radius:14px;
    padding:32px 28px;
    text-decoration:none;
    transition:box-shadow .18s ease, border-color .18s ease, transform .18s ease;
  }
  .fd-home .card:hover{
    box-shadow:0 12px 28px rgba(0,51,102,.12);
    border-color:var(--fd-sky);
    transform:translateY(-2px);
  }
  .fd-home .card .icon-badge{
    width:56px;
    height:56px;
    border-radius:50%;
    background:var(--fd-offwhite);
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:20px;
  }
  .fd-home .card .icon-badge svg{
    width:28px;
    height:28px;
    stroke:var(--fd-navy);
    fill:none;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .fd-home .card .icon-badge svg .fill-accent{
    fill:var(--fd-sky);
    stroke:none;
  }
  .fd-home .card h2{
    color:var(--fd-navy);
    font-weight:800;
    font-size:1.25rem;
    margin:0 0 8px;
    letter-spacing:-0.005em;
  }
  .fd-home .card p{
    color:var(--fd-slate);
    font-weight:300;
    font-size:.92rem;
    margin:0 0 20px;
    flex-grow:1;
  }
  .fd-home .card .card-cta{
    display:inline-flex;
    align-items:center;
    gap:6px;
    color:var(--fd-blue);
    font-weight:700;
    font-size:.85rem;
    text-transform:uppercase;
    letter-spacing:.03em;
  }
  .fd-home .card .card-cta svg{
    width:14px;
    height:14px;
    stroke:var(--fd-blue);
    fill:none;
    stroke-width:2.2;
    transition:transform .18s ease;
  }
  .fd-home .card:hover .card-cta svg{ transform:translateX(3px); }

  .fd-home footer{
    max-width:var(--fd-max-w);
    margin:0 auto;
    padding:56px 32px 48px;
    display:flex;
    align-items:center;
    gap:12px;
    color:var(--fd-grey);
    font-size:.8rem;
    border-top:1px solid var(--fd-lightgrey);
    margin-top:24px;
  }
  .fd-home footer img{ height:18px; opacity:.8; }

  @media (max-width:820px){
    .fd-home .card-grid{ grid-template-columns:1fr; }
    .fd-home .hero h1{ font-size:2rem; }
    .fd-home main{ padding:40px 20px 8px; }
    .fd-home .hero{ padding:44px 20px 56px; }
  }