/* ============================================================
   Apex Trust MFB - Foundation tokens + reusable components
   Lifted verbatim from ATMFB-DS-001 v2.0 (the unified design system).
   Web/corporate density. Do not fork tokens; only application changes.
   ============================================================ */

/* ---- Real brand typeface (uploaded variable font) ---- */
@font-face{
  font-family:'Google Sans';
  src:url('fonts/GoogleSans.ttf') format('truetype');
  font-weight:100 900; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'Google Sans';
  src:url('fonts/GoogleSans-Italic.ttf') format('truetype');
  font-weight:100 900; font-style:italic; font-display:swap;
}

:root{
  --orange:#E5621E; --orange-hover:#CC5419; --orange-tint:#FFF4ED; --orange-soft:#FCE7D6; --orange-deep:#C44E0E;
  --dark:#0B0F14; --dark-2:#161B22; --dark-3:#242B35;
  --white:#FFFFFF; --grey-50:#F9FAFB; --grey-100:#F3F4F6; --grey-150:#EEF0F3; --grey-200:#E5E7EB; --grey-300:#D1D5DB; --grey-400:#9CA3AF; --grey-500:#6B7280; --grey-600:#4B5563; --grey-700:#374151; --grey-900:#111418;
  --brand-grey:#A1A4AA;
  --green:#059669; --green-tint:#D1FAE5; --red:#DC2626; --red-tint:#FEE2E2; --blue:#2563EB; --blue-tint:#DBEAFE; --amber:#D97706; --amber-tint:#FEF3C7; --purple:#7C3AED; --purple-tint:#EDE9FE;

  --font-sans:'Google Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-mono:'Spline Sans Mono','Google Sans Mono',ui-monospace,'SF Mono','Roboto Mono',monospace;
  --fw-regular:400; --fw-medium:500; --fw-semibold:600; --fw-bold:700;

  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:20px; --sp-6:24px; --sp-7:28px; --sp-8:32px;
  --r-sm:6px; --r-btn:8px; --r-input:9px; --r-tile:10px; --r-card:14px; --r-modal:16px; --r-badge:20px;

  --shadow-orange:0 1px 2px rgba(196,78,14,.16),0 6px 14px -6px rgba(196,78,14,.25); --shadow-tile:0 1px 2px rgba(196,78,14,.18),0 5px 12px -6px rgba(196,78,14,.3);
  --shadow-toast:0 16px 36px -12px rgba(11,15,20,.28),0 4px 10px -4px rgba(11,15,20,.12);
  --shadow-modal:0 24px 48px -16px rgba(11,15,20,.28),0 2px 8px rgba(11,15,20,.06);
  --shadow-card:0 1px 2px rgba(11,15,20,.04),0 8px 24px -16px rgba(11,15,20,.18);
  --shadow-lift:0 1px 3px rgba(11,15,20,.05),0 14px 28px -18px rgba(11,15,20,.22);

  --ease-out:cubic-bezier(.2,.8,.2,1); --dur-fast:.12s; --dur-base:.18s;

  /* page rhythm */
  --shell:1200px;
  --accent:var(--orange);
  --accent-hover:var(--orange-hover);
  --accent-tint:var(--orange-tint);
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--font-sans);background:var(--white);color:var(--dark);-webkit-font-smoothing:antialiased;line-height:1.5;overflow-x:clip;}
.mono{font-family:var(--font-mono);font-feature-settings:"tnum" 1;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px;}

/* ---------- layout helpers ---------- */
.shell{max-width:var(--shell);margin:0 auto;padding:0 28px;}
.eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--orange-deep);font-weight:700;}
.kick{font-family:var(--font-mono);font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:var(--orange-deep);font-weight:700;}

/* ---------- buttons (DS) ---------- */
.btn{font-family:var(--font-sans);border-radius:var(--r-input);padding:12px 20px;font-size:14px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:all var(--dur-base) var(--ease-out);display:inline-flex;align-items:center;gap:8px;justify-content:center;white-space:nowrap;}
.btn.primary{background:var(--accent);color:#fff;box-shadow:var(--shadow-orange);border-color:var(--accent);}
.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);transform:translateY(-1px);box-shadow:0 2px 4px rgba(196,78,14,.2),0 10px 20px -8px rgba(196,78,14,.4);}
.btn:active{transform:translateY(0) scale(.985);}
.btn.secondary{background:#fff;color:var(--dark);border-color:var(--grey-300);}
.btn.secondary:hover{border-color:var(--accent);color:var(--accent);}
.btn.ghost{background:transparent;color:var(--grey-700);border-color:transparent;}
.btn.ghost:hover{color:var(--accent);}
.btn.ondark{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.22);backdrop-filter:blur(6px);}
.btn.ondark:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.4);}
.btn.lg{padding:15px 26px;font-size:15.5px;border-radius:11px;}
.btn svg{width:16px;height:16px;flex-shrink:0;}

/* ---------- badges (DS) ---------- */
.badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;padding:4px 10px;border-radius:var(--r-badge);letter-spacing:.2px;}
.badge.green{background:var(--green-tint);color:var(--green);}
.badge.amber{background:var(--amber-tint);color:var(--amber);}
.badge.blue{background:var(--blue-tint);color:var(--blue);}
.badge.purple{background:var(--purple-tint);color:var(--purple);}
.badge.grey{background:var(--grey-100);color:var(--grey-600);}
.badge.orange{background:var(--orange-tint);color:var(--orange);border:1px solid #FDDBB4;}
.badge svg{width:11px;height:11px;}

/* ---------- card (DS) ---------- */
.card{background:#fff;border:1px solid var(--grey-200);border-radius:var(--r-card);}

/* ---------- section icon tiles (DS) ---------- */
.sect-icon{width:46px;height:46px;border-radius:var(--r-tile);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.sect-icon svg{width:23px;height:23px;}
.sect-icon.orange{background:var(--orange-tint);color:var(--orange);}
.sect-icon.green{background:var(--green-tint);color:var(--green);}
.sect-icon.blue{background:var(--blue-tint);color:var(--blue);}
.sect-icon.purple{background:var(--purple-tint);color:var(--purple);}
.sect-icon.amber{background:var(--amber-tint);color:var(--amber);}
.sect-icon.dark{background:var(--dark);color:#fff;}

/* ---------- image placeholder (brief: real photos supplied later) ---------- */
img.imgph{width:100%;height:auto;object-fit:cover;display:block;background-color:var(--grey-100);}
.hero.v-bleed img.imgph,.phone-mock img.imgph{height:100%;}
.imgph{position:relative;background-color:var(--grey-100);
  background-image:repeating-linear-gradient(135deg,rgba(11,15,20,.035) 0 14px,transparent 14px 28px);
  border:1px solid var(--grey-200);overflow:hidden;display:flex;align-items:flex-end;}
.imgph .imgph-tag{font-family:var(--font-mono);font-size:11px;line-height:1.5;letter-spacing:.2px;color:var(--grey-700);
  background:rgba(255,255,255,.86);backdrop-filter:blur(3px);border-top:1px solid var(--grey-200);
  padding:9px 12px;width:100%;display:flex;align-items:center;gap:7px;}
.imgph .imgph-tag svg{width:13px;height:13px;flex-shrink:0;color:var(--grey-400);}
.imgph.ondark{background-color:var(--dark-2);background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.04) 0 14px,transparent 14px 28px);border-color:var(--dark-3);}
.imgph.ondark .imgph-tag{background:rgba(11,15,20,.55);border-top-color:var(--dark-3);color:var(--grey-300);}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms !important;transition-duration:.001ms !important;scroll-behavior:auto !important;}
}
