*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; padding: 0; font-family: Archivo, Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; background-attachment: fixed; text-wrap: pretty; overflow-x: hidden; }
body[data-theme="light"] {
  --bg: #F2F0EE; --ink: #101114; --body: #40424A; --muted: #6A6C75;
  --accent: #E8471B; --accent-2: #B93711; --accent-tint: rgba(232,71,27,0.14); --accent-bd: rgba(232,71,27,0.45);
  --card: rgba(255,255,255,0.55); --card-bd: rgba(255,255,255,0.9);
  --card-sh: 0 24px 56px rgba(16,17,20,0.10);
  --card-sh-h: 0 30px 66px rgba(16,17,20,0.18);
  --hair: rgba(16,17,20,0.12); --panel: rgba(255,255,255,0.06);
  --fade: linear-gradient(180deg, rgba(242,240,238,0) 62%, rgba(242,240,238,0.85) 88%, #F2F0EE 100%);
  --aura: radial-gradient(900px 620px at 78% -6%, rgba(232,71,27,0.30), transparent 62%), radial-gradient(760px 560px at 6% 22%, rgba(16,17,20,0.10), transparent 60%), radial-gradient(700px 700px at 50% 108%, rgba(232,71,27,0.14), transparent 64%);
  background: #F2F0EE; color: #101114;
}
body[data-theme="dark"] {
  --bg: #020617; --ink: #F8FAFC; --body: #CBD5E1; --muted: #94A3B8;
  --accent: #E8471B; --accent-2: #FF7A4D; --accent-tint: rgba(232,71,27,0.10); --accent-bd: rgba(232,71,27,0.65);
  --card: rgba(15,23,42,0.86); --card-bd: rgba(255,255,255,0.16);
  --card-sh: 0 0 46px rgba(56,189,248,0.16), 0 24px 56px rgba(0,0,0,0.55), inset 0 1px 0 rgba(255,255,255,0.18);
  --card-sh-h: 0 0 48px rgba(232,71,27,0.28), 0 34px 72px rgba(0,0,0,0.6), inset 0 1px 0 rgba(255,255,255,0.20);
  --hair: rgba(255,255,255,0.16); --panel: rgba(255,255,255,0.055);
  --fade: linear-gradient(180deg, rgba(2,6,23,0) 58%, rgba(2,6,23,0.7) 86%, #020617 100%);
  --aura: radial-gradient(900px 620px at 78% -6%, rgba(232,71,27,0.30), transparent 62%), radial-gradient(760px 560px at 6% 22%, rgba(56,189,248,0.12), transparent 60%), radial-gradient(700px 700px at 50% 108%, rgba(232,71,27,0.14), transparent 64%);
  background: #020617; background-image: radial-gradient(circle at 50% 0%, #0f172a 0%, #020617 80%); color: #F8FAFC;
}
h1, h2, h3, p { margin: 0; }
a { color: var(--accent); text-decoration: none; }
a:hover { color: var(--accent-2); }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; border-radius: 6px; }
input[type=range] { -webkit-appearance: none; appearance: none; background: transparent; }
input[type=range]::-webkit-slider-runnable-track { height: 6px; border-radius: 99px; background: linear-gradient(90deg, #E8471B 0%, #E8471B var(--fill, 8%), var(--hair) var(--fill, 8%)); }
input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; width: 26px; height: 26px; margin-top: -10px; border-radius: 99px; background: #E8471B; border: 3px solid #fff; box-shadow: 0 0 15px rgba(232,71,27,0.55); cursor: grab; }
input[type=range]::-moz-range-track { height: 6px; border-radius: 99px; background: var(--hair); }
input[type=range]::-moz-range-progress { height: 6px; border-radius: 99px; background: #E8471B; }
input[type=range]::-moz-range-thumb { width: 20px; height: 20px; border-radius: 99px; background: #E8471B; border: 3px solid #fff; cursor: grab; }
input[type=number]::-webkit-outer-spin-button, input[type=number]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.pf-lift { transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease; }
.pf-lift:hover { transform: translateY(-5px); border-color: var(--accent-bd); box-shadow: var(--card-sh-h); }
.pf-cta:hover { background: var(--ink); color: var(--bg); }
.pf-ghost:hover { border-color: var(--accent-bd); color: var(--ink); }
@keyframes fundfill { from { width: 0%; } to { width: 68%; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; } }
@media (max-width: 900px) {
  [data-cols] { grid-template-columns: 1fr !important; }
  [data-cols2] { grid-template-columns: 1fr 1fr !important; }
  [data-bento] > div { grid-column: auto !important; grid-row: auto !important; }
  [data-nav] { display: none !important; }
  [data-h1] { font-size: 44px !important; }
  [data-h2] { font-size: 32px !important; }
  [data-sticky] { position: static !important; }
}
@media (max-width: 520px) {
  [data-pad] { padding-left: 20px !important; padding-right: 20px !important; }
  [data-h1] { font-size: 36px !important; }
}
