/* Stripe/DocuSign-inspired light theme + fast nav dropdowns (no heavy JS) */
:root{
  --bg:#ffffff;
  --fg:#0b1220;
  --muted:#51606f;
  --border:rgba(15,23,42,.12);
  --card:#ffffff;
  --shadow:0 12px 35px rgba(15,23,42,.10);
  --shadow2:0 8px 20px rgba(15,23,42,.08);
  --radius:16px;
  --radius2:12px;
  --accent:#635bff; /* Stripe-ish purple */
  --accent2:#0ea5e9; /* soft blue */
  --link:#0b1220;
}

.service-matrix .center-col{
  text-align:center;
  font-weight:500;
  position:relative;
  left:-5ch;
}

/* Mobile: slightly smaller left shift to avoid wrapping */
@media (max-width: 600px){
  .service-matrix .center-col{
    left:-3ch;
  }
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color:var(--fg);
  background:
    radial-gradient(1200px 600px at 15% -10%, rgba(99,91,255,.14), transparent 60%),
    radial-gradient(900px 500px at 85% 0%, rgba(14,165,233,.12), transparent 55%),
    #fff;
}

/* Layout helpers */
.wrap{max-width:1120px; margin:0 auto; padding:0 20px;}
a{color:inherit}

/* Header (smaller, cleaner) */
header{position:sticky; top:0; z-index:50; background:rgba(255,255,255,.82); backdrop-filter:saturate(160%) blur(10px); border-bottom:1px solid var(--border)}
.topbar{display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:14px 0;}
.brand .name{font-weight:800; letter-spacing:.2px; font-size:20px; line-height:1.1}
.brand .tag{color:var(--muted); font-size:13px; line-height:1.25; margin-top:4px}

/* Desktop nav */
.navwrap{display:flex; align-items:center; gap:12px}
.navlinks{display:flex; align-items:center; gap:10px; flex-wrap:wrap; justify-content:flex-end}
.navtop{
  display:inline-flex; align-items:center; gap:6px;
  padding:10px 10px;
  border-radius:10px;
  text-decoration:none;
  color:var(--link);
  font-weight:600;
  font-size:14px;
}
.navtop:hover{background:rgba(15,23,42,.05)}
.navitem{position:relative; display:inline-flex; align-items:center}
.dropdown{
  display:none;
  position:absolute;
  /* Keep the dropdown "attached" to the trigger so the cursor can move down
     without crossing a dead gap (prevents flicker / disappearing menus). */
  top:100%;
  left:0;
  min-width:420px;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:18px;
  box-shadow:var(--shadow);
  padding:14px;
  transform: translateY(10px);
}
.dropdown::before{
  /* Invisible hover bridge between the top link and the menu panel */
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-12px;
  height:12px;
}
.navitem:hover .dropdown,
.navitem:focus-within .dropdown{display:block}
.ddgrid{display:grid; grid-template-columns: 1fr 1fr; gap:14px}
.ddcol{padding:8px 10px; border-radius:14px}
.ddh{font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin-bottom:8px}
.ddlink{display:block; padding:8px 10px; border-radius:10px; text-decoration:none; font-weight:600; font-size:14px; color:var(--fg)}
.ddlink:hover{background:rgba(99,91,255,.08)}
.ddfoot{border-top:1px solid var(--border); margin-top:10px; padding-top:10px}
.ddfoot .ddlink{font-weight:700}

/* CTA */
.navcta{
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 14px;
  border-radius:999px;
  text-decoration:none;
  background:var(--accent);
  color:#fff;
  font-weight:800;
  font-size:14px;
  box-shadow:0 10px 25px rgba(99,91,255,.22);
}
.navcta:hover{filter:brightness(.97)}

/* Existing details "Menu" becomes mobile-only */
.menu{display:none}
.menu-btn{cursor:pointer}

/* Cards / sections (gentle polish without breaking your layout) */
main .card, .card, .panel, .box{
  background:rgba(255,255,255,.9);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow2);
}

/* Links list (if present) */
.navlink{color:var(--fg); text-decoration:none}
.navlink:hover{text-decoration:underline}

/* Mobile */
@media (max-width: 980px){
  .navlinks{display:none}
  .menu{display:block}
  .topbar{align-items:flex-start}
  .dropdown{position:static; display:block; min-width:unset; border:none; box-shadow:none; padding:0; transform:none}
  header{backdrop-filter:none; background:#fff}
}

/* Improve tap targets + avoid overflow */
@media (max-width: 520px){
  .brand .name{font-size:18px}
  .brand .tag{font-size:12px}
}

/* Mobile menu panel sections */
.menu-panel{padding:12px; background:#fff; border:1px solid var(--border); border-radius:16px; box-shadow:var(--shadow2); margin-top:10px}
.menusec{padding:10px 6px}
.menutitle{font-size:12px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin:6px 4px}
.menu-panel .navlink{display:block; padding:10px 10px; border-radius:12px; font-weight:700; text-decoration:none}
.menu-panel .navlink:hover{background:rgba(15,23,42,.05)}

/* --- Start Intake (navcta) text color override --- */
.navcta{
  color:#000000 !important;
}
.navcta:hover,
.navcta:focus,
.navcta:active{
  color:#000000 !important;
  text-decoration:none;
}

/* Table annotations / legal qualifiers */
td.legal-note {
  padding-left: 5.0rem;
}


/* Documentation note (legal optics) */
.documentation-note{font-size:13px; color:var(--muted); opacity:1; margin-top:1rem; line-height:1.5;}
.documentation-note strong{color:var(--text); font-weight:650;}
