/* ─── GEIST SANS — same font as wealthclub.id ─── */
@font-face {
  font-family: 'Geist Sans';
  src: url('GeistSans.woff') format('woff');
  font-weight: 100 900;
  font-display: swap;
}

/* ─── DESIGN TOKENS ─── */
:root {
  --bg:        #0b0c0e;
  --surface:   rgba(255,255,255,0.025);
  --border:    rgba(255,255,255,0.1);
  --border-hi: rgba(255,255,255,0.06);
  --text:      #f4f5f7;
  --text-2:    rgba(255,255,255,0.55);
  --text-3:    rgba(255,255,255,0.3);
  --accent:    #ef4444;
  --accent-dim:rgba(239,68,68,0.15);
  --radius:    1.5rem;
  --font:      'Geist Sans', system-ui, sans-serif;
}

/* ─── RESET ─── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body { font-family:var(--font); background:var(--bg); color:var(--text); line-height:1.6; overflow-x:hidden; }
img,video { max-width:100%; display:block; }
a { color:inherit; text-decoration:none; }
button { font-family:inherit; cursor:pointer; border:none; background:none; }

/* ─── TYPOGRAPHY ─── */
h1 { font-size:clamp(2rem,8.5vw,6rem); font-weight:600; letter-spacing:-0.04em; line-height:1.0; }
h2 { font-size:clamp(1.9rem,4.5vw,3.4rem); font-weight:600; letter-spacing:-0.04em; line-height:1.05; }
h3 { font-size:1.05rem; font-weight:600; letter-spacing:-0.01em; line-height:1.25; }
p  { font-size:0.95rem; line-height:1.65; }

/* Metal gradient text — exact wealthclub .text-metal */
h1, h2 {
  background: linear-gradient(180deg, #fff 0%, #e8eaed 40%, #b7bcc3 70%, #82878e 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
/* Per-line metallic span — each line gets its own gradient (same as wealthclub's block spans) */
.metal-line {
  display: block;
  background: linear-gradient(180deg, #fff 0%, #e8eaed 40%, #b7bcc3 70%, #82878e 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.metal-muted {
  background: linear-gradient(180deg, rgba(255,255,255,0.45) 0%, rgba(255,255,255,0.3) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
/* Restore normal text color for non-gradient elements inside h1/h2 */
h1 .plain, h2 .plain { -webkit-text-fill-color: var(--text); }

/* ─── LAYOUT ─── */
.container        { max-width:1160px; margin:0 auto; padding:0 1.5rem; }
.container--narrow{ max-width:720px;  margin:0 auto; padding:0 1.5rem; }
section           { padding:64px 0; background:var(--bg); }
@media(min-width:600px)  { section { padding:80px 0; } }
@media(min-width:768px)  { section { padding:96px 0; } }
@media(min-width:1024px) { section { padding:112px 0; } }

/* ─── LABEL / EYEBROW ─── */
.label {
  display:inline-block;
  font-size:0.65rem; font-weight:600;
  letter-spacing:0.12em; text-transform:uppercase;
  color:rgba(255,255,255,0.4);
  margin-bottom:1.25rem;
}

/* ─── CARD ─── */
.card {
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:inset 0 1px 0 var(--border-hi);
  transition:border-color .2s;
}
.card:hover { border-color:rgba(255,255,255,0.16); }

/* ─── DIVIDER ─── */
.divider {
  border:none; height:1px;
  background:linear-gradient(to right, transparent, var(--border), transparent);
  margin:0;
}

/* ─── BUTTONS ─── */
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  padding:.75rem 1.75rem;
  border-radius:999px;
  font-size:.875rem; font-weight:600; letter-spacing:.01em;
  cursor:pointer; transition:all .2s ease;
  white-space:nowrap; text-decoration:none;
}
/* Rotating metallic border — @property enables smooth conic-gradient animation */
@property --btn-border-angle {
  syntax: '<angle>';
  inherits: false;
  initial-value: 0deg;
}
@keyframes btn-border-spin {
  to { --btn-border-angle: 360deg; }
}

/* Wealthclub-style dark glass button with continuously rotating metallic border */
.btn-primary {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(180deg, #232323 0%, #0f0f0f 100%) padding-box,
    conic-gradient(
      from var(--btn-border-angle) at 50% 50%,
      #3a3d42 0deg,
      #b7bcc3 45deg,
      #ffffff 90deg,
      #e2e5e9 135deg,
      #3a3d42 180deg,
      #b7bcc3 225deg,
      #ffffff 270deg,
      #e2e5e9 315deg,
      #3a3d42 360deg
    ) border-box;
  border: 1px solid transparent;
  color: #fff;
  -webkit-text-fill-color: #fff;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.22),
    inset 0 -1px 0 rgba(0,0,0,0.35),
    0 4px 20px rgba(0,0,0,0.5);
  animation: btn-border-spin 3s linear infinite;
}
/* Inner diagonal shine overlay */
.btn-primary::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(-75deg, transparent 35%, rgba(255,255,255,0.10) 50%, transparent 65%);
  pointer-events: none;
}
.btn-primary:hover {
  background:
    linear-gradient(180deg, #2e2e2e 0%, #181818 100%) padding-box,
    conic-gradient(
      from var(--btn-border-angle) at 50% 50%,
      #3a3d42 0deg,
      #b7bcc3 45deg,
      #ffffff 90deg,
      #e2e5e9 135deg,
      #3a3d42 180deg,
      #b7bcc3 225deg,
      #ffffff 270deg,
      #e2e5e9 315deg,
      #3a3d42 360deg
    ) border-box;
  transform: translateY(-1px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.28),
    inset 0 -1px 0 rgba(0,0,0,0.45),
    0 8px 28px rgba(0,0,0,0.6);
  animation-duration: 1.5s;
}
.btn-ghost {
  background: rgba(255,255,255,0.05);
  color: var(--text-2);
  border: 1px solid rgba(255,255,255,0.1);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.06);
  -webkit-text-fill-color: rgba(255,255,255,0.55);
}
.btn-ghost:hover { background:rgba(255,255,255,0.09); border-color:rgba(255,255,255,0.16); color:var(--text); -webkit-text-fill-color:#f4f5f7; }
.btn-lg { padding:1rem 2.25rem; font-size:1rem; }
.btn-full { width:100%; }

/* ─── NAVBAR — floating pill ─── */
.navbar {
  position:fixed; top:1rem; left:50%; transform:translateX(-50%); z-index:100;
  width:calc(100% - 2rem); max-width:860px;
  padding:.625rem .625rem .625rem 1.375rem;
  display:flex; align-items:center; gap:1rem;
  background:rgba(11,12,14,0.82);
  -webkit-backdrop-filter:blur(20px);
  backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,0.1);
  border-radius:999px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.07), 0 8px 32px rgba(0,0,0,.4);
  transition:background .3s;
}
.navbar.scrolled { background:rgba(11,12,14,0.95); }
.navbar-logo {
  font-size:.75rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--text); flex-shrink:0;
  background:none; -webkit-background-clip:unset; -webkit-text-fill-color:var(--text);
  background-clip:unset;
}
.navbar-links { display:none; gap:2rem; flex:1; justify-content:center; }
.navbar-links a {
  font-size:.82rem; color:var(--text-2);
  -webkit-text-fill-color:var(--text-2);
  transition:color .2s;
}
.navbar-links a:hover { color:var(--text); -webkit-text-fill-color:var(--text); }
.navbar-actions { display:flex; align-items:center; gap:.5rem; margin-left:auto; }
.navbar-actions .btn { padding:.45rem 1.1rem; font-size:.78rem; }
@media(min-width:768px) { .navbar-links { display:flex; } }

/* ─── HERO ─── */
.hero {
  min-height:100svh;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center;
  padding:calc(80px + 3rem) 1.25rem 4rem;
  position:relative; overflow:hidden;
}
@media(min-width:600px) { .hero { padding:calc(80px + 4rem) 1.5rem 5rem; } }
/* Canvas-based animated noise background — wealthclub style */
#hero-canvas {
  position:absolute; inset:0;
  width:100%; height:100%;
  z-index:0;
  filter:blur(28px);
  transform:scale(1.1); /* prevent blur edge bleed */
  -webkit-mask-image:linear-gradient(to bottom, #000 0%, #000 60%, transparent 100%);
  mask-image:linear-gradient(to bottom, #000 0%, #000 60%, transparent 100%);
  pointer-events:none;
}
.hero > * { position:relative; z-index:1; }
.hero-eyebrow { margin-bottom:2rem; }
.hero h1 { max-width:840px; margin:0 auto 1.75rem; }
.hero-sub {
  max-width:520px; margin:0 auto 2.5rem;
  color:var(--text-2); font-size:1rem; line-height:1.7;
}
.hero-meta {
  margin-top:1.25rem;
  font-size:.65rem; font-weight:600; letter-spacing:.14em;
  text-transform:uppercase; color:var(--text-3);
}

/* ─── AUTHORITY ─── */
.authority-grid {
  display:grid; gap:4rem; align-items:start;
}
.authority-bio { font-size:.95rem; color:var(--text-2); line-height:1.8; }
.authority-bio strong { color:var(--text); }
.authority-photo {
  width:100%; max-width:300px; aspect-ratio:3/4;
  border-radius:var(--radius);
  background:var(--surface);
  border:1px solid var(--border);
  box-shadow:inset 0 1px 0 var(--border-hi);
  display:flex; align-items:center; justify-content:center;
  color:var(--text-3); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase;
  margin:0 auto;
}
@media(min-width:768px) {
  .authority-grid { grid-template-columns:1fr 1fr; }
  .authority-photo { max-width:none; }
}
@media(min-width:1024px) {
  .authority-grid { grid-template-columns:5fr 4fr; }
}

/* ─── PROBLEM ─── */
.problem h2 { margin-bottom:3rem; }
.problem-list { list-style:none; display:flex; flex-direction:column; gap:1rem; margin-bottom:2.5rem; }
.problem-item {
  display:flex; gap:1rem; align-items:flex-start; padding:.375rem 0;
}
.problem-icon {
  flex-shrink:0; width:20px; height:20px;
  display:flex; align-items:center; justify-content:center; margin-top:.15rem;
}
.problem-icon svg { width:16px; height:16px; color:rgba(239,68,68,0.7); stroke:rgba(239,68,68,0.7); }
.problem-text { font-size:.95rem; color:var(--text-2); line-height:1.6; }
.problem-closing { margin-top:2rem; }
.problem-closing p {
  font-size:1.05rem; font-weight:700; line-height:1.6;
  background:linear-gradient(180deg,#fff,#e8eaed 60%,#b7bcc3);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}

/* ─── BENEFITS ─── */
.benefits h2 { margin-bottom:.75rem; }
.benefits-sub { color:var(--text-2); margin-bottom:3.5rem; max-width:520px; }
.benefits-grid { display:grid; gap:1rem; }
@media(min-width:768px) { .benefits-grid { grid-template-columns:1fr 1fr; } }
@media(min-width:1024px) { .benefits-grid { grid-template-columns:repeat(3,1fr); } }
.benefit-card { display:flex; flex-direction:column; gap:1.25rem; padding:1.25rem; }
@media(min-width:600px) { .benefit-card { padding:1.75rem; } }
.benefit-num {
  font-size:2.75rem; font-weight:800; letter-spacing:-.04em;
  color:rgba(255,255,255,.05); line-height:1; margin-bottom:-.5rem;
  background:none; -webkit-text-fill-color:rgba(255,255,255,.05);
}
.benefit-title { font-size:1rem; font-weight:700; margin-bottom:.25rem; -webkit-text-fill-color:var(--text); background:none; }
.benefit-desc { font-size:.85rem; color:var(--text-2); line-height:1.6; }
.benefit-stat { font-size:.72rem; font-weight:600; letter-spacing:.05em; color:rgba(255,255,255,0.3); }

/* ─── MINI UI MOCKUPS ─── */
.mockup {
  margin-top:auto; padding:1rem;
  background:rgba(0,0,0,.4); border:1px solid rgba(255,255,255,.07);
  border-radius:1rem; font-size:.72rem;
}
/* Chat */
.mockup-chat { display:flex; flex-direction:column; gap:.625rem; }
.chat-row { display:flex; gap:.5rem; align-items:flex-end; }
.chat-row.right { flex-direction:row-reverse; }
.chat-bubble {
  padding:.5rem .75rem; border-radius:12px;
  font-size:.72rem; line-height:1.4; max-width:82%;
}
.chat-row.left  .chat-bubble { background:rgba(255,255,255,.06); color:var(--text-2); border-bottom-left-radius:4px; }
.chat-row.right .chat-bubble { background:var(--accent); color:#fff; border-bottom-right-radius:4px; -webkit-text-fill-color:#fff; }
.chat-badge {
  font-size:.55rem; font-weight:700; letter-spacing:.08em;
  color:var(--accent); -webkit-text-fill-color:var(--accent); text-transform:uppercase;
  padding:.15rem .4rem; background:var(--accent-dim); border-radius:4px; white-space:nowrap;
}
.typing { display:flex; gap:3px; padding:.375rem .625rem; background:rgba(255,255,255,.06); border-radius:10px; }
.typing span { width:5px; height:5px; border-radius:50%; background:var(--text-3); animation:typing-dot 1.2s infinite; }
.typing span:nth-child(2) { animation-delay:.2s; }
.typing span:nth-child(3) { animation-delay:.4s; }
@keyframes typing-dot { 0%,100% { opacity:.3; transform:translateY(0); } 40% { opacity:1; transform:translateY(-3px); } }
/* Timeline */
.mockup-timeline { display:flex; flex-direction:column; }
.t-item { display:flex; gap:.75rem; padding-bottom:.875rem; }
.t-item:last-child { padding-bottom:0; }
.t-line { display:flex; flex-direction:column; align-items:center; }
.t-dot { width:10px; height:10px; border-radius:50%; background:rgba(255,255,255,.07); border:1.5px solid rgba(255,255,255,.14); flex-shrink:0; margin-top:.15rem; }
.t-item.done .t-dot { background:rgba(239,68,68,.6); border-color:var(--accent); }
.t-item.active .t-dot { background:var(--accent); border-color:var(--accent); box-shadow:0 0 8px rgba(239,68,68,.5); animation:pulse-dot 1.5s infinite; }
@keyframes pulse-dot { 0%,100% { box-shadow:0 0 6px rgba(239,68,68,.4); } 50% { box-shadow:0 0 14px rgba(239,68,68,.6); } }
.t-connector { width:1.5px; flex:1; background:rgba(255,255,255,.07); margin:.25rem auto 0; }
.t-item.done .t-connector { background:rgba(239,68,68,.2); }
.t-body { flex:1; }
.t-when { font-size:.65rem; color:var(--text-3); letter-spacing:.04em; }
.t-what { font-size:.78rem; color:var(--text-2); }
.t-item.active .t-what { color:var(--text); font-weight:600; }
/* Report */
.mockup-report { display:flex; flex-direction:column; gap:.75rem; }
.report-head { font-size:.65rem; color:var(--text-3); letter-spacing:.08em; text-transform:uppercase; }
.report-stats { display:flex; gap:1rem; }
.stat-box { flex:1; }
.stat-val { font-size:1.1rem; font-weight:700; letter-spacing:-.02em; background:none; -webkit-text-fill-color:var(--text); }
.stat-val.accent { color:var(--accent); -webkit-text-fill-color:var(--accent); }
.stat-lbl { font-size:.62rem; color:var(--text-3); }
.report-bar-track { height:4px; background:rgba(255,255,255,.06); border-radius:999px; overflow:hidden; }
.report-bar-fill { height:100%; background:var(--accent); border-radius:999px; animation:bar-grow 1.5s cubic-bezier(.16,1,.3,1) both; }
@keyframes bar-grow { from { width:0 !important; } }
.report-note { font-size:.65rem; color:var(--text-3); }
/* Q&A */
.mockup-qa { display:flex; flex-direction:column; gap:.75rem; }
.qa-item { display:flex; gap:.625rem; }
.qa-icon {
  width:22px; height:22px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:.65rem; font-weight:700; flex-shrink:0; margin-top:.05rem;
}
.qa-q .qa-icon { background:rgba(255,255,255,.06); color:var(--text-2); -webkit-text-fill-color:var(--text-2); }
.qa-a .qa-icon { background:var(--accent-dim); color:var(--accent); -webkit-text-fill-color:var(--accent); }
.qa-text { font-size:.75rem; color:var(--text-2); line-height:1.5; }
.qa-a .qa-text { color:var(--text); }
/* Content engine */
.mockup-content { display:flex; flex-direction:column; gap:.75rem; }
.ce-input {
  padding:.5rem .75rem;
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1);
  border-radius:8px; font-size:.72rem; color:var(--text-2);
  display:flex; gap:.5rem; align-items:center;
}
.ce-input-lbl { font-size:.6rem; font-weight:700; letter-spacing:.08em; color:var(--text-3); text-transform:uppercase; flex-shrink:0; }
.ce-output {
  padding:.5rem .75rem; background:rgba(0,0,0,.2);
  border-radius:8px; font-size:.75rem; color:var(--text); line-height:1.5;
}
.cursor { display:inline-block; width:2px; height:.9em; background:var(--accent); margin-left:2px; animation:blink .9s step-end infinite; vertical-align:text-bottom; }
@keyframes blink { 50% { opacity:0; } }
.ce-tags { display:flex; gap:.375rem; flex-wrap:wrap; }
.ce-tag {
  padding:.2rem .5rem;
  background:var(--accent-dim); border:1px solid rgba(239,68,68,.18);
  border-radius:6px; font-size:.62rem; font-weight:600;
  color:var(--accent); -webkit-text-fill-color:var(--accent);
}

/* ─── QUALIFIER ─── */
.qualifier h2 { margin-bottom:3rem; }
.qualifier-grid { display:grid; gap:1rem; }
@media(min-width:768px) { .qualifier-grid { grid-template-columns:1fr 1fr; } }
.qualifier-list { list-style:none; display:flex; flex-direction:column; gap:.875rem; }
.qualifier-item { display:flex; gap:.875rem; align-items:flex-start; }
.q-icon { flex-shrink:0; margin-top:.1rem; }
.q-icon svg { width:14px; height:14px; }
.qualifier-text { font-size:.9rem; line-height:1.55; color:var(--text-2); }
.qualifier-card-deny  { border-color:rgba(255,255,255,.07); padding:1.25rem; }
.qualifier-card-allow { border-color:rgba(239,68,68,.2); padding:1.25rem; }
@media(min-width:600px) {
  .qualifier-card-deny, .qualifier-card-allow { padding:1.75rem; }
}
.qualifier-card-title { font-size:.65rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; margin-bottom:1.5rem; }
.qualifier-card-deny  .qualifier-card-title { color:var(--text-3); }
.qualifier-card-allow .qualifier-card-title { color:rgba(239,68,68,.8); -webkit-text-fill-color:rgba(239,68,68,.8); background:none; }
.qualifier-note { margin-top:2rem; font-size:.85rem; color:var(--text-3); font-style:italic; }

/* ─── PRICING ─── */
.pricing-wrap { max-width:500px; margin:0 auto; }
.pricing-card { border-radius:1.75rem; overflow:hidden; }
.pricing-top {
  padding:1.75rem 1.25rem 1.5rem; text-align:center;
  border-bottom:1px solid var(--border);
}
@media(min-width:600px) { .pricing-top { padding:2.5rem 2rem 2rem; } }
.pricing-logo {
  font-size:.7rem; font-weight:700; letter-spacing:.18em;
  text-transform:uppercase; color:var(--text-2); margin-bottom:1.25rem;
}
.pricing-access-label { font-size:.78rem; color:var(--text-2); margin-bottom:1.5rem; }
.pricing-price {
  font-size:clamp(2.5rem,8vw,4rem);
  font-weight:800; letter-spacing:-.03em;
  background:linear-gradient(180deg,#fff,#e8eaed 50%,#b7bcc3);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  margin-bottom:.5rem;
}
.pricing-period { font-size:.8rem; color:var(--text-3); }
.pricing-body { padding:1.25rem; }
@media(min-width:600px) { .pricing-body { padding:2rem; } }
.pricing-benefits { list-style:none; display:flex; flex-direction:column; gap:.875rem; margin-bottom:2rem; }
.pricing-benefit { display:flex; gap:.75rem; align-items:flex-start; font-size:.875rem; color:var(--text-2); }
.pricing-benefit svg { width:14px; height:14px; flex-shrink:0; margin-top:.2rem; color:var(--accent); }
.pricing-promo { text-align:center; margin-top:1rem; }
.pricing-promo a { font-size:.78rem; color:var(--text-3); text-decoration:underline; text-underline-offset:3px; transition:color .2s; }
.pricing-promo a:hover { color:var(--text-2); }
.pricing-badge {
  display:inline-flex; align-items:center; gap:.375rem;
  padding:.375rem .875rem;
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  font-size:.65rem; font-weight:600; letter-spacing:.08em;
  text-transform:uppercase; color:rgba(255,255,255,.55);
  -webkit-text-fill-color:rgba(255,255,255,.55);
  margin-top:1.5rem;
}
.pricing-badge::before { content:''; width:6px; height:6px; border-radius:50%; background:var(--accent); }

/* ─── FAQ ─── */
.faq h2 { margin-bottom:3rem; }
.faq-list { display:flex; flex-direction:column; }
.faq-item { border-bottom:1px solid var(--border); }
.faq-item:first-child { border-top:1px solid var(--border); }
.faq-q {
  display:flex; justify-content:space-between; align-items:center; gap:1rem;
  padding:1.375rem 0; cursor:pointer;
  font-size:.95rem; font-weight:500; color:var(--text-2);
  -webkit-text-fill-color:var(--text-2);
  transition:color .2s; list-style:none; -webkit-appearance:none;
}
.faq-q::-webkit-details-marker { display:none; }
.faq-item[open] .faq-q { color:var(--text); -webkit-text-fill-color:var(--text); }
.faq-chevron {
  flex-shrink:0; width:22px; height:22px;
  display:flex; align-items:center; justify-content:center;
  border-radius:50%; border:1px solid var(--border);
  font-size:1rem; color:var(--text-3); -webkit-text-fill-color:var(--text-3);
  transition:transform .25s, border-color .2s;
}
.faq-item[open] .faq-chevron { transform:rotate(45deg); border-color:rgba(255,255,255,.2); color:var(--text-2); -webkit-text-fill-color:var(--text-2); }
.faq-a {
  padding:0 0 1.25rem;
  font-size:.875rem; color:var(--text-2); line-height:1.7;
}

/* ─── FINAL CTA ─── */
.final-cta { text-align:center; }
.final-cta h2 { margin:0 auto 1.25rem; max-width:640px; }
.final-cta p { color:var(--text-2); max-width:400px; margin:0 auto 2.5rem; }
.final-cta-meta {
  margin-top:1.25rem;
  font-size:.65rem; font-weight:600; letter-spacing:.14em;
  text-transform:uppercase; color:var(--text-3);
}

/* ─── FOOTER ─── */
footer { padding:3rem 0; border-top:1px solid var(--border); background:var(--bg); }
.footer-inner {
  display:flex; flex-direction:column; gap:2.5rem; align-items:flex-start;
}
.footer-brand { font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--text-2); }
.footer-tagline { font-size:.78rem; color:var(--text-3); margin-top:.375rem; }
.footer-links { display:flex; gap:2rem; flex-wrap:wrap; }
.footer-links a { font-size:.78rem; color:var(--text-3); transition:color .2s; }
.footer-links a:hover { color:var(--text-2); }
.footer-legal { font-size:.68rem; color:var(--text-3); line-height:1.6; max-width:480px; }
@media(min-width:768px) {
  .footer-inner { flex-direction:row; justify-content:space-between; align-items:flex-end; }
}

/* ─── FADE-IN ON SCROLL ─── */
.fade-in { opacity:0; transform:translateY(18px); transition:opacity .65s cubic-bezier(.16,1,.3,1), transform .65s cubic-bezier(.16,1,.3,1); }
.fade-in.visible { opacity:1; transform:translateY(0); }
.fade-in[data-delay="1"] { transition-delay:.1s; }
.fade-in[data-delay="2"] { transition-delay:.2s; }
.fade-in[data-delay="3"] { transition-delay:.3s; }
.fade-in[data-delay="4"] { transition-delay:.4s; }
.fade-in[data-delay="5"] { transition-delay:.5s; }

/* ─── BORDER BEAM — sweeping red/gold light around card ─── */
@property --beam-angle {
  syntax: '<angle>';
  inherits: false;
  initial-value: 0deg;
}
@keyframes beam-sweep { to { --beam-angle: 360deg; } }
.border-beam {
  background:
    rgba(255,255,255,0.025) padding-box,
    conic-gradient(
      from var(--beam-angle) at 50% 50%,
      transparent 0deg,
      rgba(239,68,68,0.55) 45deg,
      rgba(255,180,0,0.25) 75deg,
      transparent 95deg
    ) border-box;
  border: 1px solid transparent !important;
  animation: beam-sweep 5s linear infinite;
  box-shadow: 0 0 32px rgba(239,68,68,0.06), inset 0 1px 0 rgba(255,255,255,0.05);
}

/* ─── LIVE BADGE ─── */
.live-badge {
  display:inline-flex !important; align-items:center; gap:.4rem;
  padding:.28rem .65rem; border-radius:999px;
  background:rgba(239,68,68,0.1) !important; border:1px solid rgba(239,68,68,0.25) !important;
  font-size:.6rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--accent) !important; -webkit-text-fill-color:var(--accent) !important;
  -webkit-background-clip:unset !important; background-clip:unset !important;
}
.live-dot {
  width:6px; height:6px; border-radius:50%; flex-shrink:0;
  background:var(--accent) !important;
  animation:live-pulse 1.5s ease-in-out infinite;
}
@keyframes live-pulse {
  0%,100% { box-shadow:0 0 0 0 rgba(239,68,68,0.6); }
  50% { box-shadow:0 0 0 5px rgba(239,68,68,0); }
}

/* ─── AGENT TERMINAL STREAM ─── */
.agent-stream {
  min-height:9rem; padding:.125rem 0;
  font-family:'Courier New', Courier, monospace;
  font-size:.71rem; line-height:1.9;
  display:flex; flex-direction:column;
}
.stream-cmd    { color:var(--text); font-weight:700; -webkit-text-fill-color:var(--text); }
.stream-info   { color:var(--text-2); -webkit-text-fill-color:var(--text-2); }
.stream-dim    { color:var(--text-3); -webkit-text-fill-color:var(--text-3); }
.stream-success{ color:#4ade80; -webkit-text-fill-color:#4ade80; font-weight:700; }
.stream-cursor { display:inline-block; width:7px; height:.85em; background:var(--accent); margin-left:1px; animation:blink .8s step-end infinite; vertical-align:text-bottom; }

/* ─── AGENT VS GRID ─── */
.agent-vs-grid { display:grid; gap:1rem; }
@media(min-width:600px) { .agent-vs-grid { grid-template-columns:1fr 1fr; } }

/* ─── COMPARISON GRID (responsive fix) ─── */
.comp-grid { display:grid; gap:1rem; }
@media(min-width:600px) { .comp-grid { grid-template-columns:1fr 1fr; } }

/* ─── AMBIENT SECTION GLOW ─── */
.section-glow { position:relative; }
.section-glow::after {
  content:'';
  position:absolute; bottom:0; left:50%; transform:translateX(-50%);
  width:60%; height:1px;
  background:linear-gradient(to right, transparent, rgba(239,68,68,0.12), transparent);
  pointer-events:none;
}

/* ─── TECH GRID BACKGROUND ─── */
.tech-grid-bg { position:relative; }
.tech-grid-bg::before {
  content:'';
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,0.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.018) 1px, transparent 1px);
  background-size:52px 52px;
  mask-image:radial-gradient(ellipse 80% 80% at 50% 50%, black 0%, transparent 100%);
  -webkit-mask-image:radial-gradient(ellipse 80% 80% at 50% 50%, black 0%, transparent 100%);
  pointer-events:none;
}

/* ─── AGENDA ─── */
.agenda-grid { display:grid; gap:1rem; margin-top:2.5rem; }
@media(min-width:768px) { .agenda-grid { grid-template-columns:1fr 1fr; gap:1.5rem; } }
.agenda-card { padding:1.5rem; }
@media(min-width:600px) { .agenda-card { padding:2rem; } }
.agenda-header {
  display:flex; align-items:flex-start; justify-content:space-between; gap:.75rem;
  margin-bottom:1.5rem; padding-bottom:1.25rem;
  border-bottom:1px solid var(--border);
}
.agenda-session-label {
  display:block;
  font-size:.6rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--accent); -webkit-text-fill-color:var(--accent);
  margin-bottom:.375rem;
}
.agenda-session-title {
  display:block;
  font-size:.95rem; font-weight:600;
  color:var(--text); -webkit-text-fill-color:var(--text);
}
.agenda-date {
  font-size:.65rem; color:var(--text-3); letter-spacing:.04em;
  white-space:nowrap; flex-shrink:0; margin-top:.25rem;
  padding:.25rem .6rem; background:rgba(255,255,255,.05);
  border:1px solid var(--border); border-radius:6px;
}
.agenda-items {
  list-style:none !important; padding:0 !important; margin:0 !important;
  display:flex; flex-direction:column; gap:1rem;
}
.agenda-item { display:flex; gap:.75rem; align-items:flex-start; }
.agenda-time {
  font-family:'Courier New', monospace;
  font-size:.58rem; font-weight:700; letter-spacing:.02em;
  color:var(--accent); -webkit-text-fill-color:var(--accent);
  flex-shrink:0; margin-top:.2rem;
  padding:.15rem .45rem; background:rgba(239,68,68,0.12);
  border:1px solid rgba(239,68,68,0.25); border-radius:4px;
  min-width:30px; text-align:center;
}
.agenda-topic { font-size:.875rem; color:var(--text-2); line-height:1.55; }
.agenda-topic strong { color:var(--text); -webkit-text-fill-color:var(--text); font-weight:600; }
