/* ── Hard reset — defeats Bootstrap ────────────────────── */
*,*::before,*::after{box-sizing:border-box !important;margin:0;padding:0;}
html{scroll-behavior:smooth;font-size:16px;-webkit-text-size-adjust:100%;}
body{
  font-family:var(--font-b) !important;
  font-size:1rem;font-weight:400;
  line-height:1.7;
  color:var(--text) !important;
  background-color:var(--ink) !important;
  background:var(--ink) !important;
  overflow-x:hidden;cursor:none;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
@media(pointer:coarse){body{cursor:auto;}}
a{color:inherit !important;text-decoration:none !important;transition:color var(--t2);}
img{max-width:100%;height:auto;display:block;}
ul,ol{list-style:none;}
h1,h2,h3,h4,h5,h6{color:var(--text) !important;}
p{color:var(--muted);}
/* Neutralise Bootstrap containers/rows */
.container,.container-fluid,.container-sm,.container-md,.container-lg,.container-xl{
  padding-left:0 !important;padding-right:0 !important;max-width:none !important;width:100% !important;
}
.row{margin-left:0 !important;margin-right:0 !important;}
.col,.col-auto,[class*="col-"]{padding-left:0 !important;padding-right:0 !important;}

/* ── Film grain ─────────────────────────────────────────── */
body::before{
  content:'';position:fixed;inset:0;pointer-events:none;
  z-index:9000;opacity:.55;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='400' height='400' filter='url(%23g)' opacity='.045'/%3E%3C/svg%3E");
}

/* ── Canvas particles ───────────────────────────────────── */
#particles{
  position:fixed;inset:0;pointer-events:none;
  z-index:0;opacity:.55;
}

/* ── Section wrapper ────────────────────────────────────── */
.wrap{
  padding:100px 6%;
  position:relative;overflow:hidden;
}
@media(max-width:768px){.wrap{padding:72px 5%;}}

/* ── Eyebrow ─────────────────────────────────────────────── */
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:.68rem;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;
  color:var(--indigo-l);margin-bottom:14px;
}
.eyebrow::before{
  content:'';width:20px;height:2px;
  background:linear-gradient(90deg,var(--indigo),var(--gold));
  border-radius:2px;flex-shrink:0;
}
.eyebrow--gold{color:var(--gold-l);}

/* ── Section headings ────────────────────────────────────── */
.h-display{
  font-family:var(--font-d);
  font-size:clamp(2.8rem,5vw,5.2rem);
  line-height:.93;letter-spacing:.02em;
  color:var(--text);margin-bottom:18px;
}
.h-display .grad{
  background:linear-gradient(110deg,var(--indigo-l) 0%,var(--gold-l) 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.h-display .grad-gold{
  background:linear-gradient(90deg,var(--gold-l),var(--gold));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.h-display .ghost{
  -webkit-text-stroke:1.5px rgba(244,244,245,.18);
  -webkit-text-fill-color:transparent;
}
.h-center{text-align:center;}

/* ── Body text ───────────────────────────────────────────── */
.body-text{font-size:.95rem;color:var(--muted);line-height:1.85;max-width:540px;}
.body-text--wide{max-width:100%;}
.body-text--center{text-align:center;margin-inline:auto;}

/* ── Divider label ───────────────────────────────────────── */
.divider-label{
  display:flex;align-items:center;gap:16px;margin-bottom:52px;
}
.divider-label__line{
  flex:1;height:1px;
  background:linear-gradient(90deg,rgba(99,102,241,.25),transparent);
}
.divider-label__line--r{background:linear-gradient(270deg,rgba(99,102,241,.25),transparent);}
.divider-label__text{
  font-size:.62rem;font-weight:700;letter-spacing:.22em;
  text-transform:uppercase;color:var(--indigo-l);white-space:nowrap;
}

/* ── Pill tag ────────────────────────────────────────────── */
.tag{
  display:inline-flex;align-items:center;gap:5px;
  padding:3px 12px;border-radius:var(--rpill);
  font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
}
.tag--indigo{background:var(--indigo-g);border:1px solid rgba(99,102,241,.28);color:var(--indigo-l);}
.tag--gold{background:var(--gold-g);border:1px solid rgba(245,158,11,.28);color:var(--gold-l);}
.tag--teal{background:rgba(20,184,166,.10);border:1px solid rgba(20,184,166,.28);color:var(--teal);}

/* ── Utility ─────────────────────────────────────────────── */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
h1,h2,h3,h4,h5,h6{color:var(--text);}
p{color:var(--muted);}
