:root{
  --bg:#060506;
  --bg-grad:#090909;
  --surface:#151213;
  --surface-alt:#1d181a;
  --text:#fdf6ec;
  --muted:#c1b6ab;
  --accent:#f7a53f;
  --accent-2:#17c1bd;
  --accent-3:#17c1bd;
  --shadow:rgba(0,0,0,.55);
  --bs-primary:#17c1bd;
  --bs-primary-rgb:23,193,189;
}

*{box-sizing:border-box}

body{
  font-family:"Inter",-apple-system,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  background:
    radial-gradient(720px 320px at 10% 10%, rgba(247,165,63,.09), transparent 65%),
    radial-gradient(640px 280px at 80% 0%, rgba(23,193,189,.08), transparent 70%),
    var(--bg-grad);
  color:var(--text);
  min-height:100vh;
  letter-spacing:.01em;
  margin:0;
}

main.container{
  width:100%;
  max-width:min(960px, 100vw);
  padding-left:clamp(1rem, 4vw, 1.5rem);
  padding-right:clamp(1rem, 4vw, 1.5rem);
}
body[data-path="/dashboard"] main.container{
  padding-top:.25rem !important;
  padding-bottom:1rem;
  padding-left:.7rem;
  padding-right:.7rem;
}
body[data-path="/dashboard"] .navbar{
  padding-top:.25rem;
  padding-bottom:.25rem;
}
body[data-path="/wealth"] main.container,
body[data-path^="/wealth/"] main.container,
body[data-path="/health"] main.container,
body[data-path^="/health/"] main.container,
body[data-path="/settings"] main.container,
body[data-path^="/settings/"] main.container{
  padding-top:.2rem !important;
  padding-bottom:.6rem !important;
  padding-left:.5rem;
  padding-right:.5rem;
}
body[data-path="/wealth"] .navbar,
body[data-path^="/wealth/"] .navbar,
body[data-path="/health"] .navbar,
body[data-path^="/health/"] .navbar,
body[data-path="/settings"] .navbar,
body[data-path^="/settings/"] .navbar{
  padding-top:.3rem;
  padding-bottom:.3rem;
}
body[data-path="/dashboard"] .row.g-3{
  --bs-gutter-y:.4rem;
  --bs-gutter-x:.6rem;
}
body[data-path="/dashboard"] .card-dashboard .card-body{
  padding:.8rem .75rem .75rem;
}

h1,h2,h3,h4,h5,h6{
  color:var(--text);
  letter-spacing:.02em;
}
h4{
  font-size:clamp(1.15rem, 3.2vw, 1.4rem);
  line-height:1.2;
}
.dashboard-card-title{
  font-size:clamp(0.95rem, 2.4vw, 1.15rem);
  line-height:1.1;
}

.text-muted,
.card .text-muted{
  color:var(--muted) !important;
}

.navbar{
  background:#0f0d0d !important;
  border-bottom:1px solid rgba(255,255,255,.05);
}
.navbar .navbar-brand{
  color:var(--accent) !important;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.navbar .nav-link{
  color:rgba(255,255,255,.75) !important;
  transition:color .2s ease;
}
.navbar .nav-link:hover{ color:var(--accent-2) !important; }
.navbar .nav-link.nav-link-muted{
  color:rgba(255,255,255,.5) !important;
  font-size:.9rem;
}

a{ color:var(--accent-2); }
a:hover{
  color:#35d6d1;
}

.card{
  background:linear-gradient(145deg, rgba(30,27,29,.95) 0%, rgba(22,20,21,.98) 100%);
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  box-shadow:0 18px 45px -26px var(--shadow);
  backdrop-filter:blur(16px);
  color:var(--text);
}
.card + .card{ margin-top:1rem; }
.card .card-title{
  color:var(--accent);
  text-transform:uppercase;
  font-size:.95rem;
  letter-spacing:.15em;
}
.card .card-title.card-title-white{
  color:var(--text);
}
.card .card-text,
.card p{
  color:rgba(253,246,236,.92);
}
.text-amber{
  color:var(--accent) !important;
}
.tiny-note{
  font-size:.72rem;
  opacity:.75;
}
.btn.text-white{
  color:#fff !important;
}
.btn{
  -webkit-tap-highlight-color:rgba(0,0,0,0)!important;
  outline:none;
}
.btn:focus,
.btn:active,
.btn:focus-visible{
  outline:none;
  -webkit-tap-highlight-color:rgba(0,0,0,0)!important;
}
.card ul,
.card ol{
  color:rgba(253,246,236,.9);
}
.card li{
  color:rgba(253,246,236,.9);
}
.card table{
  color:var(--text);
}
.card table th,
.card table td{
  border-color:rgba(255,255,255,.08);
}
.card table th{
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.75rem;
}
.card table tbody tr:nth-child(odd){
  background:rgba(255,255,255,.02);
}

.dashboard-greeting{
  font-family:'Caveat','Playfair Display','Brush Script MT',cursive;
  font-size:clamp(1.25rem, 3.5vw, 1.9rem);
  color:var(--accent);
  margin:0 0 .25rem;
  font-weight:600;
  letter-spacing:.01em;
}

.pal-hand-note{
  font-family:'Caveat','Playfair Display','Brush Script MT',cursive;
  font-size:clamp(1.1rem, 3vw, 1.6rem);
  color:var(--muted);
  max-width:580px;
  margin:.5rem 0 1rem;
  line-height:1.3;
}

.badge-pill{
  border-radius:999px;
  padding:.35rem .9rem;
  border:1px solid rgba(255,255,255,.12);
  color:var(--muted);
  background:rgba(255,255,255,.05);
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.18em;
}

.btn-primary,
.btn-outline-primary,
.btn-outline-success,
.btn-outline-secondary,
.btn-ghost{
  border-radius:16px;
  padding:.45rem 1.2rem;
  font-weight:600;
  border:1px solid transparent;
  box-shadow:0 10px 25px -18px rgba(0,0,0,.9), inset 0 1px 0 rgba(255,255,255,.2);
  transition:transform .1s ease, box-shadow .1s ease, background .15s ease;
}
.btn-primary{
  --bs-btn-color:#1f1100;
  --bs-btn-bg:#fbb04a;
  --bs-btn-border-color:#f2992e;
  --bs-btn-hover-color:#1f1100;
  --bs-btn-hover-bg:#fbb04a;
  --bs-btn-hover-border-color:#f2992e;
  --bs-btn-focus-shadow-rgb:247,165,63;
  --bs-btn-active-color:#1f1100;
  --bs-btn-active-bg:#d07a1a;
  --bs-btn-active-border-color:#f2992e;
  --bs-btn-disabled-color:#1f1100;
  --bs-btn-disabled-bg:#fbb04a;
  --bs-btn-disabled-border-color:#f2992e;
  background:linear-gradient(180deg, #fbb04a, #d07a1a);
  border-color:#f2992e;
  color:#1f1100;
}
.btn-outline-primary{
  --bs-btn-color:#f7a53f;
  --bs-btn-border-color:#f2992e;
  --bs-btn-hover-color:#1f1100;
  --bs-btn-hover-bg:#f7a53f;
  --bs-btn-hover-border-color:#f2992e;
  --bs-btn-active-color:#1f1100;
  --bs-btn-active-bg:#d07a1a;
  --bs-btn-active-border-color:#f2992e;
  --bs-btn-disabled-color:rgba(255,255,255,.5);
  --bs-btn-disabled-border-color:rgba(255,255,255,.2);
  --bs-btn-focus-shadow-rgb:247,165,63;
  border-color:#f2992e;
  color:#f7a53f;
  background:linear-gradient(180deg, rgba(255,255,255,.1), rgba(0,0,0,.05));
}
.btn-outline-primary:hover,
.btn-ghost:hover,
.btn-outline-success:hover,
.btn-outline-secondary:hover{
  transform:translateY(1px);
  box-shadow:0 6px 18px -14px rgba(0,0,0,.85), inset 0 1px 0 rgba(255,255,255,.12);
}
.btn-outline-primary:active,
.btn-primary:active,
.btn-outline-success:active,
.btn-outline-secondary:active,
.btn-ghost:active{
  transform:translateY(2px);
  box-shadow:0 4px 12px -10px rgba(0,0,0,.9), inset 0 1px 0 rgba(255,255,255,.1);
}
.btn-outline-success{
  --bs-btn-color:#17c1bd;
  --bs-btn-border-color:#17c1bd;
  --bs-btn-hover-color:#0d1a14;
  --bs-btn-hover-bg:#17c1bd;
  --bs-btn-hover-border-color:#17c1bd;
  --bs-btn-active-color:#0d1a14;
  --bs-btn-active-bg:#13a39f;
  --bs-btn-active-border-color:#17c1bd;
  --bs-btn-disabled-color:#17c1bd;
  --bs-btn-disabled-border-color:rgba(23,193,189,.4);
  --bs-btn-focus-shadow-rgb:23,193,189;
  border-color:#17c1bd;
  color:#17c1bd;
  background:linear-gradient(180deg, rgba(23,193,189,.15), rgba(0,0,0,.08));
}
.btn-outline-secondary{
  --bs-btn-color:var(--text);
  --bs-btn-border-color:rgba(255,255,255,.25);
  --bs-btn-hover-color:var(--text);
  --bs-btn-hover-bg:rgba(255,255,255,.18);
  --bs-btn-hover-border-color:rgba(255,255,255,.35);
  --bs-btn-active-color:var(--text);
  --bs-btn-active-bg:rgba(255,255,255,.22);
  --bs-btn-active-border-color:rgba(255,255,255,.35);
  --bs-btn-disabled-color:rgba(255,255,255,.5);
  --bs-btn-disabled-border-color:rgba(255,255,255,.15);
  --bs-btn-focus-shadow-rgb:255,255,255;
  border-color:rgba(255,255,255,.25);
  color:var(--text);
  background:linear-gradient(180deg, rgba(255,255,255,.15), rgba(0,0,0,.08));
}
.btn-ghost{
  border-color:rgba(255,255,255,.25);
  color:rgba(255,255,255,.85);
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(0,0,0,.05));
}
.btn-liquid{
  position:relative;
  width:46px;
  height:46px;
  padding:0;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:1.35rem;
  background:
    radial-gradient(circle at 30% 20%, rgba(255,255,255,.5), rgba(255,255,255,.08) 40%, transparent 70%),
    radial-gradient(circle at 70% 70%, rgba(255,255,255,.15), rgba(0,0,0,.75) 60%),
    rgba(10,10,10,.8);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.35),
    inset 0 -6px 12px rgba(0,0,0,.45),
    0 18px 30px -16px rgba(0,0,0,.75);
  backdrop-filter:blur(18px);
  transition:transform .15s ease, box-shadow .15s ease;
}
.btn-liquid:hover{
  transform:translateY(1px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.45),
    inset 0 -4px 10px rgba(0,0,0,.55),
    0 12px 22px -14px rgba(0,0,0,.85);
}
.btn-liquid:active{
  transform:translateY(2px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.3),
    inset 0 -2px 6px rgba(0,0,0,.65),
    0 10px 18px -12px rgba(0,0,0,.9);
}
.btn-liquid::after{
  content:"";
  position:absolute;
  inset:2px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.08);
  pointer-events:none;
}
.btn-primary:focus,
.btn-primary:active,
.btn-primary:focus-visible{
  background:linear-gradient(180deg, #fbb04a, #d07a1a);
  border-color:#f2992e;
  color:#1f1100;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.25),
    inset 0 -4px 10px rgba(0,0,0,.4),
    0 10px 20px -15px rgba(0,0,0,.85);
}
.btn-outline-primary:focus,
.btn-outline-primary:active,
.btn-outline-primary:focus-visible{
  background:linear-gradient(180deg, rgba(255,255,255,.16), rgba(0,0,0,.08));
  color:#f7a53f;
  border-color:#f2992e;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    inset 0 -4px 10px rgba(0,0,0,.35),
    0 10px 18px -14px rgba(0,0,0,.85);
}
.btn-outline-success:focus,
.btn-outline-success:active,
.btn-outline-success:focus-visible{
  background:linear-gradient(180deg, rgba(23,193,189,.22), rgba(0,0,0,.1));
  color:#17c1bd;
  border-color:#17c1bd;
}
.btn-outline-secondary:focus,
.btn-outline-secondary:active,
.btn-outline-secondary:focus-visible,
.btn-ghost:focus,
.btn-ghost:active,
.btn-ghost:focus-visible{
  background:linear-gradient(180deg, rgba(255,255,255,.18), rgba(0,0,0,.09));
  color:var(--text);
}
.btn-glass:focus,
.btn-glass:active,
.btn-glass:focus-visible{
  background:
    radial-gradient(circle at 25% 20%, rgba(255,255,255,.42), rgba(255,255,255,.12) 45%, transparent 70%),
    radial-gradient(circle at 80% 70%, rgba(255,255,255,.15), rgba(0,0,0,.78) 60%),
    rgba(12,12,12,.85);
  border-color:rgba(255,255,255,.22);
}
.btn-glass{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.4rem;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.22);
  background:
    radial-gradient(circle at 20% 15%, rgba(255,255,255,.45), rgba(255,255,255,.12) 42%, transparent 70%),
    radial-gradient(circle at 80% 70%, rgba(255,255,255,.15), rgba(0,0,0,.7) 60%),
    rgba(15,15,15,.75);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.4),
    inset 0 -1px 0 rgba(0,0,0,.3),
    0 8px 32px -8px rgba(0,0,0,.6),
    0 2px 8px rgba(0,0,0,.4);
  backdrop-filter:blur(24px) saturate(1.4);
  -webkit-backdrop-filter:blur(24px) saturate(1.4);
  padding:.55rem 1.35rem;
  transition:transform .2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .2s cubic-bezier(0.4, 0, 0.2, 1), border-color .2s ease, background .2s ease;
  text-transform:none;
  position:relative;
  overflow:hidden;
  color:rgba(255,255,255,.95);
  font-weight:500;
}
.btn-glass::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:16px;
  background:linear-gradient(135deg, rgba(255,255,255,.15) 0%, transparent 50%);
  opacity:0;
  transition:opacity .2s ease;
}
.btn-glass:hover{
  transform:translateY(-1px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.5),
    inset 0 -1px 0 rgba(0,0,0,.25),
    0 12px 40px -8px rgba(0,0,0,.7),
    0 4px 12px rgba(0,0,0,.5);
  border-color:rgba(255,255,255,.3);
  background:
    radial-gradient(circle at 20% 15%, rgba(255,255,255,.5), rgba(255,255,255,.15) 42%, transparent 70%),
    radial-gradient(circle at 80% 70%, rgba(255,255,255,.18), rgba(0,0,0,.65) 60%),
    rgba(20,20,20,.8);
}
.btn-glass:hover::before{
  opacity:1;
}
.auth-row{
  margin-top:.75rem;
}
.signup-intro{
  margin-bottom:1.75rem !important;
}
.login-intro{
  margin-top:-.1rem;
  margin-bottom:1.2rem !important;
}
.auth-card{
  opacity:0;
  transform:translateY(12px);
  animation:authCardFade .25s ease forwards;
}
@keyframes authCardFade{
  to{
    opacity:1;
    transform:translateY(0);
  }
}
.btn-glass:active{
  transform:translateY(0px) scale(0.98);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.3),
    inset 0 2px 8px rgba(0,0,0,.5),
    0 4px 16px -8px rgba(0,0,0,.6);
  background:
    radial-gradient(circle at 20% 15%, rgba(255,255,255,.35), rgba(255,255,255,.08) 42%, transparent 70%),
    radial-gradient(circle at 80% 70%, rgba(255,255,255,.1), rgba(0,0,0,.75) 60%),
    rgba(12,12,12,.85);
}
.btn-pill-mini{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.18rem .7rem;
  font-size:.8rem;
  border-radius:999px;
  line-height:1.2;
  white-space:nowrap;
}
.btn-pulse-mini{
  position:relative;
  overflow:visible;
}
.btn-pulse-mini::after{
  content:"";
  position:absolute;
  inset:-15%;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.22);
  animation:pulseMini 2.5s infinite;
}
@keyframes pulseMini{
  0%{ transform:scale(0.8); opacity:.6; }
  70%{ transform:scale(1.4); opacity:0; }
  100%{ transform:scale(1.4); opacity:0; }
}
.btn-action{
  text-transform:lowercase;
  font-weight:400;
  opacity:.85;
  font-size:.78em;
}
.btn-destination{
  text-transform:none;
  font-weight:600;
  font-size:.98em;
}
.dashboard-cta-row{
  display:flex;
  align-items:center;
  gap:.5rem;
  flex-wrap:nowrap;
}
.dashboard-cta-row .microcopy{
  margin:0;
}
@media (max-width:520px){
  .dashboard-cta-row{
    flex-wrap:wrap;
  }
  .dashboard-cta-row .btn-pill-mini{
    width:100%;
    justify-content:center;
  }
}

pre{
  white-space:pre-wrap;
  font-size:.9rem;
  line-height:1.55;
  color:var(--text);
  background:rgba(0,0,0,.25);
  border-radius:14px;
  padding:1rem;
  border:1px solid rgba(255,255,255,.04);
}

/* Homepage polish */
.hero{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:center;
  padding:6rem 1rem 4rem;
  width:100%;
  background:
    radial-gradient(circle at 15% 20%, rgba(255,165,0,.22), transparent 60%),
    radial-gradient(circle at 85% 35%, rgba(255,215,0,.18), transparent 60%),
    linear-gradient(180deg, #050505 0%, #111013 100%);
}
.hero img{
  width:clamp(320px, 60vw, 475px);
  max-width:100%;
  height:auto;
  filter:drop-shadow(0 8px 16px rgba(0,0,0,.6));
}
.hero .hero-logo-image{
  width:clamp(265px, 54vw, 430px);
  filter:
    drop-shadow(0 6px 16px rgba(246,163,33,.25))
    drop-shadow(0 10px 24px rgba(0,0,0,.45));
}
.hero-canvas{
  position:relative;
  overflow:hidden;
  min-height:90vh;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  max-width:min(1040px, 100%);
  margin:0 auto;
  background:
    radial-gradient(circle at 15% 20%, rgba(255,165,0,.15), transparent 55%),
    radial-gradient(circle at 80% 30%, rgba(255,215,0,.12), transparent 60%),
    linear-gradient(145deg, rgba(6,6,6,.98), rgba(15,14,18,.92));
  border-radius:32px;
  margin-top:2rem;
  padding:5rem 1.75rem 4rem;
}
.hero-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.75), rgba(0,0,0,.65));
}
.hero-content{
  position:relative;
  z-index:1;
  width:min(100%, 820px);
  max-width:820px;
  margin:0 auto;
  padding:3.5rem 1.5rem 4rem;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:clamp(1.5rem, 3vw, 2.5rem);
  border-radius:32px;
  overflow:hidden;
}
.hero-content::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(180deg, rgba(7,7,8,.85), rgba(7,7,9,.55));
  opacity:.95;
  z-index:-1;
}
.hero-logo-shell{
  padding:0;
  border-radius:0;
  background:transparent;
  border:none;
  box-shadow:none;
  margin-bottom:clamp(2rem, 5vw, 3.5rem);
}
.hero-tagline{
  font-size:1.8rem;
  font-weight:600;
  letter-spacing:.02em;
  text-transform:none;
  max-width:760px;
  margin:0 auto;
  text-align:center;
}
.hero-subcopy{
  max-width:600px;
  width:min(92%, 600px);
  color:rgba(255,255,255,.92);
  font-family:'Caveat', cursive;
  font-size:1.5rem;
  font-weight:700;
  line-height:1.35;
  font-style:normal;
  margin:0 auto;
  margin-top:.35rem;
  text-align:center;
}
.hero-ticker{
  background:#0a0a0a;
  border-radius:18px;
  padding:.5rem 1rem;
  border:1px solid rgba(255,255,255,.08);
  overflow:hidden;
}
.hero-ticker .ticker{
  display:flex;
  gap:2rem;
  animation:ticker 18s linear infinite;
  white-space:nowrap;
  font-weight:400;
  color:#FFA500;
}
@media (min-width: 992px){
  .hero-tagline{
    white-space:nowrap;
  }
}
.hero-marquee{
  display:flex;
  gap:1.5rem;
  flex-wrap:wrap;
  justify-content:center;
  font-size:.85rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--muted);
}
.hero-marquee span{
  padding:.35rem .9rem;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.15);
}
.hero-live{
  border:1px solid rgba(255,255,255,.1);
  border-radius:20px;
  padding:1.5rem;
  background:rgba(0,0,0,.25);
  min-width:260px;
}
.hero-live .live-line{
  font-size:1.05rem;
  margin-bottom:0;
  color:rgba(255,255,255,.88);
}
.cta-row{
  width:100%;
  justify-content:center;
}
.hero .cta-row{
  margin-top:clamp(1.5rem, 4vw, 3rem);
}
.hero-cta{
  display:flex;
  flex-direction:column;
  align-items:center;
  width:100%;
  max-width:420px;
  margin:0 auto;
  gap:.85rem;
}
.hero-cta.hero-cta-guest{
  gap:1.1rem;
}
.hero-cta.hero-cta-auth,
.hero-cta.hero-cta-returning{
  margin-bottom:5rem;
}
.hero-cta a{
  width:100%;
  text-align:center;
}
@media (min-width: 576px){
  .hero-cta{
    flex-direction:row;
    max-width:none;
  }
  .hero-cta a{
    width:auto;
  }
}
.hero-pillars{
  margin-top:1rem;
}
.pillar-card{
  position:relative;
  border:1px solid rgba(255,255,255,.1);
  border-radius:18px;
  padding:1.75rem;
  background:linear-gradient(145deg, rgba(23,21,22,.9), rgba(15,14,15,.95));
  height:100%;
  box-shadow:0 18px 40px -30px rgba(0,0,0,.9);
  overflow:hidden;
}
.pillar-card::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:38px;
  background:linear-gradient(180deg, rgba(5,5,5,0), rgba(4,4,4,.55));
  pointer-events:none;
}
.pillar-card > *{
  position:relative;
  z-index:1;
}
.pillar-card h4{
  margin-bottom:.5rem;
  font-size:clamp(1.2rem, 3.2vw, 1.5rem);
}
.pillar-title{
  font-size:clamp(1.25rem, 3.4vw, 1.55rem);
}
.pillar-card p{
  color:rgba(255,255,255,.9);
  font-size:clamp(.94rem, 3.1vw, 1rem);
  line-height:1.55;
}
.feature-list{
  list-style:none;
  padding-left:0;
  margin:.5rem 0 .5rem;
  color:rgba(255,255,255,.8);
  font-size:clamp(.9rem, 3vw, .98rem);
  line-height:1.5;
}
.feature-list li{
  margin-bottom:.25rem;
}
.feature-list strong{
  color:#fff;
}
.pillar-icon{
  font-size:2rem;
  margin-bottom:.5rem;
}
.card-subheading{
  font-weight:600;
  margin-bottom:.6rem;
  color:rgba(255,255,255,.9);
}
.pillar-card .card-body{
  display:flex;
  flex-direction:column;
  gap:.65rem;
}
.card-intro{
  font-weight:600;
  color:rgba(255,255,255,.92);
}
.card-update{
  font-size:.88rem;
  color:var(--muted);
  font-weight:600;
}
.micro-stat-leading{
  font-size:.85rem;
  color:var(--muted);
}
.card-footer{
  margin-top:1rem;
  padding-top:.9rem;
  border-top:1px solid rgba(255,255,255,.08);
  display:flex;
  flex-direction:column;
  gap:.35rem;
  font-size:.85rem;
  color:var(--muted);
}
.card-trust{
  font-size:.9rem;
  color:rgba(255,255,255,.85);
}
.micro-stats{
  display:flex;
  flex-direction:column;
  gap:.25rem;
  margin-top:1rem;
  font-size:.85rem;
  color:var(--muted);
}
.trust-line{
  margin-top:.5rem;
  font-size:.9rem;
  color:rgba(255,255,255,.85);
}
.btn-pill-lg{
  padding:.7rem 1.5rem;
  font-size:1rem;
}
.pillar-card .btn{
  margin-top:1rem;
}
.pillar-card .card-btn{
  margin-top:.5rem;
}
.section-divider{
  font-size:.85rem;
  letter-spacing:.1em;
  color:var(--muted);
}
.stat{
  color:#FFA500;
  font-weight:600;
  font-size:clamp(.95rem, 3vw, 1.05rem);
  margin-top:.75rem;
  display:inline-block;
}
.hover-lift{
  transition:transform .3s ease, box-shadow .3s ease;
}
.hover-lift:hover{
  transform:translateY(-8px);
  box-shadow:0 25px 45px -30px rgba(0,0,0,.8);
}
.section-label{
  font-size:.78rem;
  letter-spacing:.32em;
  text-transform:uppercase;
  color:var(--muted);
  display:block;
  margin:1.25rem 0 .35rem;
  opacity:0;
  transform:translateY(10px);
  transition:all .6s ease;
}
.section-label.visible{
  opacity:1;
  transform:translateY(0);
}
.section-label-space{
  margin-top:2rem;
}
.hero .lead{
  max-width:720px;
  text-align:center;
  margin-top:1rem;
  opacity:.95;
}
.home-shell{
  width:100%;
  max-width:1100px;
  margin:3rem auto 0;
  padding:0 1.5rem 4rem;
}
.home-shell .row{
  margin-right:0;
  margin-left:0;
}
.quote-rotator{
  background:transparent;
  color:#FFD700;
  font-style:italic;
  font-family:'Playfair Display',serif;
  text-align:center;
  padding:1.5rem 1rem;
  margin-top:3rem;
  max-width:780px;
  margin-left:auto;
  margin-right:auto;
}
.quote-cta{
  display:inline-block;
  margin-top:.5rem;
  color:#FFD700;
}
@keyframes ticker{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}
.footer-note{ color:#948a80; font-size:.85rem; }
.microcopy{ color:var(--muted); font-size:.85rem; }
.about-copy{
  font-size:.98rem;
  line-height:1.6;
  color:var(--muted);
}
.about-teaser{
  background:linear-gradient(145deg, rgba(23,21,22,.9), rgba(8,8,8,.95));
  border:1px solid rgba(255,255,255,.08);
  border-radius:24px;
  padding:2rem;
  text-align:left;
  box-shadow:0 26px 60px -40px rgba(0,0,0,.9);
}
.about-page{
  max-width:980px;
  margin:0 auto 4rem;
  display:flex;
  flex-direction:column;
  gap:1.5rem;
}
.about-hero-card{
  padding:clamp(1.5rem, 4vw, 2.5rem);
  border-left:4px solid var(--accent);
  background:linear-gradient(145deg, rgba(29,23,26,.95), rgba(8,8,8,.9));
}
.about-section{
  width:100%;
}
.about-headline{
  font-size:clamp(1.5rem, 4vw, 2rem);
  line-height:1.2;
}
.about-lede{
  color:rgba(255,255,255,.88);
  font-size:clamp(.98rem, 3.3vw, 1.05rem);
  line-height:1.7;
  margin-bottom:.8rem;
}
.about-list{
  list-style:disc;
  padding-left:1.2rem;
  color:rgba(255,255,255,.86);
  line-height:1.6;
  margin-bottom:1rem;
}
.about-divider{
  text-align:center;
  color:rgba(255,255,255,.35);
  letter-spacing:.5rem;
}
.bio-card{
  display:flex;
  gap:1.75rem;
  align-items:center;
  flex-wrap:wrap;
}
.bio-photo{
  flex:0 0 220px;
  max-width:240px;
  width:100%;
}
.bio-photo img{
  width:100%;
  max-width:240px;
  height:auto;
  border-radius:30px;
  border:1px solid rgba(255,255,255,.15);
  box-shadow:0 20px 50px -30px rgba(0,0,0,.9);
}
.bio-content{
  flex:1 1 320px;
}
.about-grid .bio-card{
  align-items:flex-start;
}
.contact-panel .row > div{
  text-align:center;
}
.bio-card{
  flex-direction:row;
}
@media (max-width: 768px){
  .bio-card{
    flex-direction:column;
    align-items:flex-start;
  }
  .bio-photo,
  .bio-content{
    flex:1 1 100%;
    max-width:none;
  }
  .bio-photo img{
    border-radius:20px;
    width:100%;
    max-width:220px;
    margin:0 auto;
  }
}
.contact-card p{
  color:var(--muted);
}
.homepage-footer{
  opacity:.8;
}
.sticky-premium{
  position:fixed;
  left:50%;
  bottom:1.5rem;
  transform:translate(-50%, 120%);
  background:rgba(0,0,0,.85);
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  padding:.65rem 1.5rem;
  display:flex;
  gap:1rem;
  align-items:center;
  box-shadow:0 20px 45px -30px rgba(0,0,0,.9);
  transition:transform .4s ease;
  z-index:20;
  max-width:520px;
  width:calc(100% - 2rem);
}
.sticky-premium .btn-upgrade{
  background:linear-gradient(180deg, #ffe2aa, #dd8b38);
  border-color:#f7c784;
  box-shadow:0 14px 28px -18px rgba(255,191,108,.85), inset 0 0 0 1px rgba(255,248,226,.55);
  color:#2b1a07;
  font-size:.92rem;
  font-weight:700;
  padding:.45rem 1.2rem;
  transition:transform .12s ease, filter .12s ease, box-shadow .12s ease;
  text-shadow:0 1px 0 rgba(255,248,226,.45);
}
.sticky-premium .btn-upgrade:hover{
  filter:brightness(1.03);
  box-shadow:0 16px 30px -18px rgba(255,191,108,.9), inset 0 0 0 1px rgba(255,248,226,.6);
}
.sticky-premium .btn-upgrade:active{
  transform:translateY(1px) scale(.98);
  filter:brightness(.98);
  box-shadow:0 10px 20px -18px rgba(255,191,108,.75), inset 0 0 0 1px rgba(255,248,226,.4);
}
.sticky-premium .premium-bullets{
  list-style:none;
  padding-left:0;
  margin:.4rem 0 .55rem;
  display:grid;
  gap:.35rem;
  color:var(--muted);
  font-size:.92rem;
}
.sticky-premium .premium-summary{
  line-height:1.35;
  margin-bottom:.35rem;
}
.sticky-premium .premium-autobill{
  font-size:.78rem;
  opacity:.7;
}
.sticky-premium .premium-bullets li::before{
  content:"•";
  color:#f1b15a;
  margin-right:.4rem;
}
.sticky-premium .link-soft{
  color:#f3d6b0;
  text-decoration:none;
  opacity:.75;
}
.sticky-premium .link-soft:hover{
  opacity:1;
}
.howitworks-section{
  margin-top:3rem;
  max-width:1040px;
  margin-left:auto;
  margin-right:auto;
  padding:0 1rem;
}
.howitworks-video-card{
  background:transparent;
  border:none;
  border-radius:0;
  box-shadow:none;
  padding:20px 0 0;
}
.howitworks-subtitle{
  color:var(--muted);
  font-size:1rem;
}
.howitworks-toggle{
  display:flex;
  justify-content:center;
  gap:0.5rem;
}
.toggle-pill{
  border-radius:999px;
  padding:.45rem 1.2rem;
  border:1px solid #f7a53f;
  color:#f7a53f;
  background:transparent;
  font-weight:600;
  letter-spacing:.05em;
  transition:all .2s ease;
}
.toggle-pill.active{
  background:#f7a53f;
  color:#1b1209;
  box-shadow:0 12px 28px -18px rgba(0,0,0,.9);
}
.howitworks-video-frame{
  border-radius:12px;
  overflow:hidden;
  background:transparent;
  border:none;
  position:relative;
  padding-bottom:10px;
}
.howitworks-video{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:9/16;
}
.howitworks-video-frame::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:90px;
  pointer-events:none;
  background:linear-gradient(180deg, rgba(5,5,5,0), rgba(5,5,5,.6));
}
.howitworks-video-fallback{
  width:100%;
  aspect-ratio:9/16;
  object-fit:cover;
  display:block;
  border-radius:12px;
}
.howitworks-overlay{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.55));
  color:#f7a53f;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease;
}
.howitworks-overlay.show{
  opacity:1;
  pointer-events:auto;
}
.feature-cards{
  margin-top:1.25rem;
}
.sticky-premium.show{
  transform:translate(-50%, 0);
}
.pulse-cta{
  animation:pulse 2s infinite;
}
@keyframes pulse{
  0%{ box-shadow:0 0 0 0 rgba(255,165,0,.5); }
  70%{ box-shadow:0 0 0 15px rgba(255,165,0,0); }
  100%{ box-shadow:0 0 0 0 rgba(255,165,0,0); }
}
.delayed-fade{
  animation:fadeIn 1s ease forwards;
  animation-delay:.8s;
  opacity:0;
}
@keyframes fadeIn{
  to{ opacity:1; }
}
.animate-runner{
  animation:runner 1.2s ease forwards;
  transform:translateX(-40px);
  opacity:0;
}
@keyframes runner{
  to{ transform:translateX(0); opacity:1; }
}

/* Forms */
.form-label, label{
  color: var(--text);
  font-weight:600;
}
.form-control, .form-select{
  background:linear-gradient(180deg, rgba(19,17,18,.95), rgba(9,8,9,.98));
  color:rgba(255,255,255,.92);
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 8px 20px -18px rgba(0,0,0,.8);
  padding:.65rem .9rem;
  caret-color:#45f6c0;
}
.form-control::placeholder{ color:#9a948a; opacity:.85; }
.form-control::selection,
.form-select::selection{
  background:rgba(69,246,192,.25);
}
.form-control:focus, .form-select:focus{
  border-color:var(--accent-2);
  box-shadow:0 0 0 0.12rem rgba(23,193,189,.25), inset 0 1px 0 rgba(255,255,255,.12);
  background:linear-gradient(180deg, rgba(30,28,29,.98), rgba(15,14,15,.99));
  color:rgba(255,255,255,.98);
}
textarea.form-control{ min-height:90px; }
.form-control.input-visual,
.form-select.input-visual{
  background:linear-gradient(180deg, rgba(27,24,25,.98), rgba(10,9,10,.98));
}

.watchlist-panel{
  background:rgba(20,18,19,.9);
  border:1px solid rgba(255,255,255,.1);
}
.watchlist-panel .form-label{
  font-size:.7rem;
  letter-spacing:.18em;
  color:var(--muted);
}
.watchlist-panel .row.g-4{
  row-gap:1.5rem !important;
}
.watchlist-panel input{
  background:#121012;
  border-color:rgba(255,255,255,.1);
  color:var(--text);
}
.watchlist-panel input:focus{
  border-color:var(--accent-2);
}
.wealth-shell .alert-light{
  background:linear-gradient(135deg, rgba(255,255,255,.92), rgba(235,236,238,.95));
  color:#1b1b1c;
  border-color:rgba(255,255,255,.6);
}
.wealth-shell .alert-light .text-muted{
  color:#5c5c63 !important;
}
.wealth-shell .alert-light .text-dark{
  color:#1b1b1c !important;
}
.wealth-shell .alert-light .btn-link{
  color:#c46e16;
}
.wealth-shell .ai-suggested-value{
  font-weight:700;
  letter-spacing:.02em;
  display:inline-block;
  color:#1b1b1c;
  background:rgba(247,165,63,.16);
  border:1px solid rgba(247,165,63,.26);
  border-radius:999px;
  padding:.2rem .7rem;
  margin:.2rem 0 .3rem;
}
.wealth-shell .ai-suggested-value .text-muted,
.wealth-shell .ai-suggested-value .text-dark{
  color:#1b1b1c !important;
}
.wealth-shell .ai-refresh-link{
  color:#c46e16;
  font-weight:600;
  text-decoration:underline;
  white-space:nowrap;
  transition:color .2s ease;
}
.wealth-shell .ai-refresh-link:hover,
.wealth-shell .ai-refresh-link:focus{
  color:#17c1bd;
}
.wealth-shell .sizing-toggle-link{
  color:#f7a53f;
  font-weight:600;
  text-decoration:underline;
}
.wealth-shell .section-refresh-link{
  color:#f7a53f;
  font-weight:600;
  text-decoration:underline;
  transition:color .2s ease;
}
.wealth-shell .section-refresh-link:hover,
.wealth-shell .section-refresh-link:focus{
  color:#17c1bd;
}
.wealth-shell .section-refresh-link.is-loading{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
}
@keyframes sectionRefreshSpin{
  to{ transform:rotate(360deg); }
}
.refresh-logo,
.ai-refresh-logo{
  width:2rem;
  height:2rem;
  border-radius:0;
  background-image:url("../img/UpliftPal_logo_transparent.png");
  background-size:contain;
  background-position:center;
  background-repeat:no-repeat;
  opacity:1;
  display:inline-block;
  flex-shrink:0;
  position:relative;
  filter:drop-shadow(0 1px 3px rgba(0,0,0,.35));
}
.refresh-logo::before,
.ai-refresh-logo::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:0;
  opacity:0;
}
.wealth-shell .ai-refresh-logo{
  display:inline-block;
}
.wealth-shell .ai-refresh-wrap.is-loading .ai-refresh-logo{
  animation:aiRefreshSpin 1s linear infinite;
}
.wealth-shell .section-refresh-link{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
}
.wealth-shell .section-refresh-link.is-loading .refresh-logo{
  animation:sectionRefreshSpin 1s linear infinite;
}
.wealth-shell .section-refresh-wrap.is-loading .ai-refresh-logo{
  animation:sectionRefreshSpin 1s linear infinite;
}
.wealth-shell .section-refresh-wrap.is-loading .section-refresh-link{
  color:#17c1bd;
}
.wealth-shell .ai-processing.is-loading .ai-refresh-logo,
.wealth-shell [data-role='ai-error'].is-loading .ai-refresh-logo{
  animation:sectionRefreshSpin 1s linear infinite;
}

.refresh-button{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
}
.mind-choice.active{
  background:rgba(242,153,46,.18);
  border-color:rgba(242,153,46,.55);
  box-shadow:0 0 0 1px rgba(242,153,46,.2), 0 0 10px rgba(242,153,46,.2);
}
.refresh-button.is-loading .refresh-logo{
  animation:sectionRefreshSpin 1s linear infinite;
}
.wealth-shell .ai-refresh-wrap.is-loading .ai-refresh-link{
  opacity:.7;
  color:#17c1bd;
}
@keyframes aiRefreshSpin{
  to{ transform:rotate(360deg); }
}
.wealth-shell .ai-suggests{
  border-radius:16px;
}
.wealth-shell .ai-suggests-title{
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.65rem;
  color:#6b6b73;
}
.wealth-shell .ai-suggests-meta{
  gap:.75rem;
}
.wealth-shell .ai-suggests-rationale{
  color:#5c5c63;
}
.wealth-shell .tip-muted{
  color:rgba(255,255,255,.55);
  font-size:.78rem;
}
.onboarding-banner{
  background:linear-gradient(135deg, rgba(247,165,63,.18), rgba(14,14,16,.92));
  color:#f6e9db;
  border-color:rgba(247,165,63,.28);
}
.onboarding-banner .alert-heading{
  color:#f6e9db;
}
.onboarding-banner .btn-close{
  filter:invert(1);
  opacity:.7;
}
.onboarding-banner--compact{
  padding:.65rem 1rem;
}
.onboarding-banner__copy{
  font-size:.9rem;
  letter-spacing:.01em;
}
.watchlist-confirm{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  z-index:1055;
}
.watchlist-confirm.is-visible{
  display:flex;
}
.watchlist-confirm__backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.55);
  backdrop-filter:blur(2px);
}
.watchlist-confirm__card{
  position:relative;
  z-index:1;
  width:min(420px, 90vw);
  background:linear-gradient(145deg, rgba(22,20,21,.98), rgba(12,10,11,.98));
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;
  padding:1.25rem 1.25rem 1rem;
  box-shadow:0 24px 60px -32px rgba(0,0,0,.8);
  color:var(--text);
}
.watchlist-confirm__close{
  position:absolute;
  top:.65rem;
  right:.75rem;
  border:none;
  background:transparent;
  color:rgba(255,255,255,.7);
  font-size:1.1rem;
}
.watchlist-confirm__close:hover{
  color:#fff;
}
.watchlist-confirm__title{
  margin:0 0 .35rem;
  font-size:1rem;
}
.watchlist-confirm__body{
  margin:0 0 1rem;
  color:var(--muted);
  font-size:.9rem;
}
.watchlist-confirm__actions{
  display:flex;
  flex-direction:column;
  gap:.6rem;
}
.watchlist-confirm__actions .btn{
  width:100%;
}
@media (max-width: 576px){
  .wealth-shell .ai-suggests-meta{
    flex-direction:column;
    align-items:flex-start !important;
  }
}
.wealth-shell .alert-light .small{
  color:#231812;
}
.wealth-shell .bg-light{
  background:rgba(245,245,247,.95) !important;
  color:#1b1b1c;
}
.wealth-shell .bg-light p,
.wealth-shell .bg-light .microcopy,
.wealth-shell .bg-light .small,
.wealth-shell .bg-light strong{
  color:#1b1b1c !important;
}
.wealth-shell .bg-light .text-muted{
  color:#5c5c63 !important;
}
.wealth-shell .bg-light .text-dark{
  color:#1b1b1c !important;
}
.wealth-shell .table{
  color:var(--text);
  background:transparent;
}
.wealth-shell .table th,
.wealth-shell .table td{
  color:var(--text);
  border-color:rgba(255,255,255,.08);
  background-color:transparent;
}
.wealth-shell .table-striped > tbody > tr > *{
  color:var(--text);
  background-color:transparent;
}
.wealth-shell .table thead th{
  background:rgba(255,255,255,.08);
  color:var(--text);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.72rem;
}
.wealth-shell .table:not(.table-striped) > tbody > tr{
  background:rgba(0,0,0,.18);
}
.wealth-shell .table-striped > tbody > tr{
  background:rgba(0,0,0,.12);
}
.wealth-shell .table-hover tbody tr:hover{
  background:rgba(255,255,255,.06);
}
.wealth-shell .swing-watchlist-scroll{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.wealth-shell .swing-watchlist-table{
  min-width:560px;
}
.wealth-shell .swing-watchlist-table th,
.wealth-shell .swing-watchlist-table td{
  white-space:nowrap;
}
.wealth-shell .table-striped > tbody > tr:nth-of-type(odd){
  background:rgba(255,255,255,.06);
}
.wealth-shell .table-striped > tbody > tr{
  border-bottom:1px solid rgba(255,255,255,.06);
}
.wealth-shell .table-light{
  background:transparent;
}
.wealth-shell .alert-warning{
  background:linear-gradient(135deg, rgba(247,165,63,.18), rgba(14,14,16,.92));
  color:#f9f1e6;
  border-color:rgba(247,165,63,.3);
}
.wealth-shell .alert-warning strong{
  color:#f9f1e6;
}
.wealth-shell .alert-info{
  background:linear-gradient(135deg, rgba(247,165,63,.16), rgba(12,12,14,.92));
  color:#f6e9db;
  border-color:rgba(247,165,63,.28);
}
.wealth-shell .alert-info .alert-heading{
  color:#f6e9db;
}
@media (max-width: 576px){
  .wealth-shell .table thead th{
    font-size:.78rem;
    padding-top:.75rem;
    padding-bottom:.75rem;
  }
}
.wealth-shell .table-striped > tbody > tr:nth-of-type(odd) > *:first-child{
  border-left:2px solid rgba(247,165,63,.35);
}
.desk-read-text{
  line-height:1.45;
}
.dashboard-timestamp{
  font-size:.78rem;
}
.faq-nav{
  display:flex;
  flex-direction:column;
  gap:.75rem;
  margin-bottom:2rem;
}
.faq-nav a{
  display:block;
  color:var(--accent-2);
  text-decoration:none;
  padding:.65rem 1rem;
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  font-size:.95rem;
  background:rgba(255,255,255,.02);
  display:flex;
  align-items:center;
  gap:.6rem;
}
.faq-nav a span{
  font-size:.85rem;
  letter-spacing:.2em;
  color:var(--muted);
}
.faq-divider{
  text-align:center;
  color:rgba(255,255,255,.25);
  letter-spacing:.5rem;
  margin:2rem auto;
}
.about-summary{
  font-weight:600;
}

.wealth-shell{
  --wealth-amber:rgba(247,165,63,.18);
  --wealth-surface:rgba(12,12,13,.98);
  --wealth-surface-alt:rgba(8,8,9,.98);
  --wealth-border:rgba(255,255,255,.08);
  display:flex;
  flex-direction:column;
  gap:1.75rem;
  background:
    radial-gradient(520px 260px at 10% -10%, rgba(247,165,63,.08), transparent 70%),
    radial-gradient(520px 260px at 90% 10%, rgba(255,255,255,.05), transparent 70%);
  padding:clamp(.75rem, 2vw, 1rem);
  border-radius:32px;
}
body[data-path="/wealth"] .wealth-shell,
body[data-path^="/wealth/"] .wealth-shell{
  gap:1rem;
  padding:clamp(.4rem, 1vw, .65rem);
}
.section-block{
  position:relative;
  border:1px solid var(--wealth-border);
  border-radius:28px;
  padding:1.2rem;
  background:linear-gradient(145deg, var(--wealth-surface), var(--wealth-surface-alt));
  box-shadow:0 25px 60px -42px rgba(0,0,0,.88);
}
.section-block::before{
  content:"";
  position:absolute;
  left:-1px;
  top:18px;
  bottom:18px;
  width:3px;
  border-radius:8px;
  background:linear-gradient(180deg, rgba(247,165,63,.7), rgba(247,165,63,.12));
  opacity:.45;
}
.section-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
}
.section-body{
  margin-top:.75rem;
}
.section-body.collapsed{
  display:none;
}
.section-block.collapsed > .section-body{ display:none; }
.wealth-shell .card{
  background:linear-gradient(145deg, rgba(20,20,22,.98), rgba(10,10,12,.98));
  border-color:rgba(255,255,255,.08);
}
.wealth-shell .watchlist-panel{
  background:linear-gradient(145deg, rgba(18,18,20,.98), rgba(10,10,12,.98));
  border-color:rgba(255,255,255,.08);
}
.wealth-shell .section-title{
  color:#f7d2a2;
}
.wealth-shell .action-watchlist-title{
  font-size:clamp(.95rem, 3.4vw, 1.05rem);
}
.wealth-shell .action-holdings-title{
  font-size:clamp(.95rem, 3.4vw, 1.05rem);
}

.health-shell{
  display:flex;
  flex-direction:column;
  gap:1rem;
  background:
    radial-gradient(520px 260px at 10% -10%, rgba(247,165,63,.08), transparent 70%),
    radial-gradient(520px 260px at 90% 10%, rgba(255,255,255,.05), transparent 70%);
  padding:clamp(.6rem, 1.6vw, .9rem);
  border-radius:28px;
}
body[data-path="/health"] .health-shell,
body[data-path^="/health/"] .health-shell{
  gap:.6rem;
  padding:clamp(.4rem, 1vw, .6rem);
}
.health-shell .card{
  position:relative;
  border-color:rgba(255,255,255,.08);
  background:linear-gradient(145deg, rgba(20,20,22,.98), rgba(10,10,12,.98));
}
.health-shell .card::before{
  content:"";
  position:absolute;
  left:-1px;
  top:18px;
  bottom:18px;
  width:3px;
  border-radius:8px;
  background:linear-gradient(180deg, rgba(247,165,63,.7), rgba(247,165,63,.12));
  opacity:.45;
  pointer-events:none;
}
.health-shell .card .card-body{
  position:relative;
  z-index:1;
}
.pump-dump-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:1rem;
}
.pump-card{
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  padding:1rem;
  background:rgba(255,255,255,.02);
}
.pump-card strong,
.level-card strong{
  color:var(--text);
  letter-spacing:.08em;
}
.level-card strong{
  color:var(--accent);
}
.tag-green{ border-color:#2ecc71; color:#2ecc71; }
.tag-red{ border-color:#ff6b6b; color:#ff6b6b; }
.levels-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:1rem;
}
.level-card{
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  padding:1rem;
  background:rgba(0,0,0,.25);
}


.page-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}
.eyebrow{
  text-transform:uppercase;
  letter-spacing:.28em;
  font-size:.72rem;
  color:rgba(255,255,255,.7);
}
.eyebrow.eyebrow-normal{
  text-transform:none!important;
  letter-spacing:.12em;
}
.ai-output{
  white-space:pre-wrap;
  background:rgba(0,0,0,.25);
  border-radius:16px;
  padding:1rem;
  border:1px solid rgba(255,255,255,.05);
}
.ai-output.ai-text{
  white-space:normal;
  font-size:.95rem;
  line-height:1.6;
  font-family:"Inter",-apple-system,system-ui,sans-serif;
}
.ai-image img{
  width:100%;
  max-width:320px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 12px 30px -18px rgba(0,0,0,.9);
}

.pal-chat-avatar{
  width:28px;
  height:28px;
  border-radius:10px;
  overflow:visible;
  border:none;
  background:transparent;
  box-shadow:none;
  position:relative;
  isolation:isolate;
  display:flex;
  align-items:center;
  justify-content:center;
}
.pal-chat-avatar::before{
  display:none;
}
.pal-chat-avatar img{
  width:100%;
  height:100%;
  object-fit:contain;
  position:relative;
  z-index:1;
  filter:drop-shadow(0 4px 12px rgba(0,0,0,.45));
  transform:scale(1.25);
  transform-origin:center;
}
.pal-chat-head{
  padding-bottom:0;
  margin-bottom:0 !important;
}
.pal-chat-title{
  font-size:clamp(.95rem, 2.4vw, 1.1rem);
  margin-bottom:0;
  font-weight:600;
  font-family:"Caveat","Segoe Script","Bradley Hand",cursive;
  letter-spacing:.02em;
}
.pal-chat-form textarea{
  font-size:.95rem;
}
.btn-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  padding:0;
  border-radius:50%;
}
.btn-icon.btn-chat-send{
  width:auto;
  min-width:72px;
  padding:0 1.1rem;
  border-radius:18px;
}
.pal-chat-spinner{
  display:flex;
  align-items:center;
  gap:.5rem;
  color:var(--muted);
}
.pal-chat-spinner .dashboard-wealth-refresh{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  margin-left:.35rem;
}
.pal-chat-spinner .dashboard-wealth-refresh-note{
  margin-left:.35rem;
}
.pal-chat-spinner .dashboard-wealth-refresh .refresh-logo{
  width:1.1rem;
  height:1.1rem;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.25));
}
.pal-chat-spinner .dashboard-wealth-refresh.is-loading .refresh-logo{
  animation:aiRefreshSpin 1s linear infinite;
}
.pal-chat-spinner.is-loading .refresh-logo{
  animation:sectionRefreshSpin 1s linear infinite;
}
.is-loading .pal-chat-spinner .refresh-logo{
  animation:sectionRefreshSpin 1s linear infinite;
}

.market-pulse-scroll.is-processing{
  opacity:.78;
  pointer-events:none;
}
.market-pulse-scroll.is-processing.is-jsonish{
  opacity:.5;
  filter:blur(.3px);
}

.visually-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.pal-chat-spinner .spinner-border{
  width:1rem;
  height:1rem;
}
.btn-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  padding:0;
  border-radius:50%;
}
.btn-icon.is-listening{
  background:rgba(247,165,63,.15);
  border-color:rgba(247,165,63,.4);
  color:var(--accent);
}
.ideas-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:1.2rem;
}
.ideas-grid.collapsed{
  max-height:360px;
  overflow:hidden;
  transition:max-height .3s ease;
}
.idea-card{
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  padding:1rem;
  background:rgba(0,0,0,.3);
  color:rgba(255,255,255,.9);
}
.idea-card strong{
  font-size:1.05rem;
  color:var(--accent);
}
.idea-card .badge{
  background:rgba(255,165,0,.15);
  color:#FFA500;
  border-radius:999px;
}
.is-loading{
  opacity:.75;
}
.reading-panel{
  background:rgba(32,29,33,.65);
  border:1px solid rgba(255,255,255,.08);
  color:rgba(255,255,255,.94);
  max-height:none;
  overflow:visible;
}
.reading-panel.collapsed{
  max-height:0;
  padding-top:0;
  padding-bottom:0;
  overflow:hidden;
  transition:max-height .3s ease;
}
.macro-panel.collapsed{
  display:none;
}
.sizing-table-wrapper{
  transition:max-height .3s ease;
  max-height:none;
  overflow-x:auto;
}
.sizing-table-wrapper.collapsed{
  max-height:0;
  overflow:hidden;
}
.sizing-table-wrapper table{
  min-width:720px;
}
.position-table{
  width:100%;
  font-size:.9rem;
}
.position-table th{
  text-transform:uppercase;
  font-size:.7rem;
  letter-spacing:.2em;
  color:rgba(255,255,255,.7);
}
.position-table td{
  color:rgba(255,255,255,.9);
}
.position-table tr td:first-child{
  font-weight:600;
  color:var(--accent);
}
.metric-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(120px,1fr));
  gap:0.85rem;
}
.metric-chip{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  padding:.75rem 1rem;
  display:flex;
  flex-direction:column;
  gap:.2rem;
}
.metric-chip span{
  font-size:.8rem;
  color:var(--muted);
  letter-spacing:.08em;
  text-transform:uppercase;
}
.metric-chip strong{
  font-size:1.2rem;
  color:var(--text);
}
.metric-row{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0.75rem;
}
.tone-pills{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin-top:.35rem;
}
.tone-pill{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding:.4rem .8rem;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.15);
  font-size:.85rem;
  color:var(--text);
  background:rgba(255,255,255,.04);
}
.tone-pill.tone-risk-on{
  border-color:#17c1bd;
  color:#17c1bd;
  background:rgba(23,193,189,.08);
}
.tone-pill.tone-balanced{
  border-color:rgba(255,255,255,.24);
  color:var(--muted);
  background:rgba(255,255,255,.05);
}
.tone-pill.tone-risk-off{
  border-color:#f2992e;
  color:#f7a53f;
  background:rgba(242,153,46,.1);
}
.metric-chip.mini{
  padding:.5rem .75rem;
  width:100%;
}
.metric-chip.mini strong{
  font-size:1rem;
}
.microcard{
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  padding:.9rem 1rem;
  background:rgba(40,36,39,.6);
  color:var(--text);
}
.microcard span{
  font-size:.75rem;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.15em;
}
.microcard strong{
  display:block;
  font-size:1.25rem;
  margin-top:.15rem;
}
.sentiment-row{
  display:flex;
  gap:0.75rem;
  padding:.65rem;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(20,20,22,.55);
  margin-bottom:.65rem;
}
.sentiment-row:last-child{ margin-bottom:0; }
.sentiment-row strong{ color:var(--text); }
.sentiment-row small{ color:var(--muted); }
.sentiment-stream{
  max-height:none;
}
.sentiment-stream.collapsed{
  max-height:210px;
  overflow:hidden;
  transition:max-height .3s ease;
}
.tag-pill{
  padding:.25rem .85rem;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.25);
  font-size:.75rem;
  text-transform:uppercase;
  letter-spacing:.15em;
  color:var(--text);
}
.list-tidy{
  list-style:none;
  padding-left:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:.75rem;
}
.list-tidy li{
  padding-bottom:.75rem;
  border-bottom:1px solid rgba(255,255,255,.04);
}
.list-tidy li:last-child{
  border-bottom:none;
  padding-bottom:0;
}
.list-tidy li strong{
  color:var(--text);
}
.list-tidy li small{
  color:var(--muted);
}
.level-card .metric-grid{
  grid-template-columns:repeat(2,minmax(100px,1fr));
}
.sizing-grid .sizing-card{
  min-height:150px;
}
.sizing-grid{
  max-height:900px;
  overflow:hidden;
  transition:max-height .3s ease;
}
.sizing-grid.collapsed{
  max-height:0;
  padding-bottom:0;
}
.pump-dump-grid,
.levels-grid{
  max-height:900px;
  overflow:hidden;
  transition:max-height .3s ease;
}
.pump-dump-grid.collapsed,
.levels-grid.collapsed{
  max-height:0;
  padding-bottom:0;
}

/* Responsive tweaks */
@media (max-width: 992px){
  .hero-canvas{
    min-height:calc(100svh - 120px);
    margin-top:1rem;
    padding:3.75rem 1.25rem 3rem;
  }
  .hero-content{
    padding:2.25rem 1rem 3rem;
    gap:1.75rem;
  }
  .hero-tagline{
    font-size:1.45rem;
    white-space:normal;
  }
  .hero-subcopy{
    font-size:1.3rem;
  }
  .hero .hero-logo-image{
    max-width:55vw;
  }
  .home-shell{
    padding:0 1rem 3rem;
  }
  .hero-live{
    width:100%;
  }
  .hero-marquee{
    gap:.65rem;
  }
  .page-heading{
    flex-direction:column;
    align-items:flex-start;
  }
  .ideas-grid{
    grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  }
  .sentiment-row{
    flex-direction:column;
    align-items:flex-start;
  }
  .sticky-premium{
    position:static;
    transform:none;
    border-radius:28px;
    margin-top:2rem;
    width:100%;
  }
  .sticky-premium.show{
    transform:none;
  }
  .howitworks-video-card{
    padding:1.1rem;
  }
  .howitworks-toggle{
    gap:.35rem;
  }
  .toggle-pill{
    padding:.4rem 1rem;
  }
}
@media (max-width: 768px){
  .hero{
    padding:4.5rem .75rem 3rem;
  }
  .hero-canvas{
    min-height:calc(100svh - 92px);
    padding:3.25rem 1rem 2.5rem;
    border-radius:24px;
    overflow:visible;
    width:100%;
    margin:0 auto;
  }
  .hero-content{
    padding:1.5rem 0.25rem 2.5rem;
    gap:1.25rem;
    max-width:none;
    width:100%;
  }
  .hero-logo-shell{
    margin:0 auto;
  }
  .hero .hero-logo-image{
    width:clamp(248px, 54vw, 345px);
    max-width:54vw;
  }
  .home-shell{
    padding:0 .85rem 3rem;
    margin-top:2.5rem;
  }
  .hero-cta{
    width:100%;
    max-width:520px;
  }
  .hero-live,
  .hero-ticker,
  .hero-marquee{
    align-self:stretch;
    text-align:left;
  }
  .hero-live{
    min-width:0;
  }
  .pillar-card{
    padding:1.45rem;
  }
  .pillar-card h4{
    font-size:1.15rem;
  }
  .pillar-card .eyebrow{
    font-size:.78rem;
    letter-spacing:.18em;
  }
}

@media (max-width: 576px){
  main.container{
    padding-left:1rem;
    padding-right:1rem;
  }
  .hero-logo-shell{
    padding:0;
  }
  .hero .hero-logo-image{
    width:clamp(230px, 54vw, 320px);
    max-width:54vw;
  }
  .hero-tagline{
    font-size:1.2rem;
  }
  .hero-subcopy{
    font-size:1.2rem;
  }
  .hero-ticker .ticker{
    font-size:.9rem;
    animation-duration:26s;
  }
  .quote-rotator{
    padding:1rem .25rem;
  }
  .metric-row{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .ideas-grid{
    grid-template-columns:1fr;
  }
  .microcard strong{
    font-size:1.1rem;
  }
  .sentiment-row{
    gap:.4rem;
  }
}
.sizing-table-wrapper{
  overflow-x:auto;
}
.meal-table-wrapper{
  margin:.5rem 0 .75rem;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  overflow-x:auto;
  background:rgba(0,0,0,.2);
  position:relative;
  scrollbar-width:thin;
}
.meal-table{
  width:100%;
  border-collapse:collapse;
  font-size:.95rem;
}
.meal-table th,
.meal-table td{
  padding:.45rem .6rem;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.meal-table th{
  font-weight:600;
  color:rgba(255,255,255,.9);
}
.meal-table tbody tr:last-child td{
  border-bottom:none;
}
.meal-list{
  padding-left:1.35rem;
  margin-bottom:.35rem;
}
.meal-label{
  letter-spacing:.1em;
  font-size:.72rem;
  text-transform:uppercase;
  color:rgba(255,255,255,.7);
  margin-bottom:.3rem;
}
.meal-table-wrapper[data-scrollable="true"]::after{
  content:"";
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  width:56px;
  pointer-events:none;
  background:linear-gradient(270deg, rgba(8,8,10,.95), rgba(8,8,10,0));
  border-radius:inherit;
  opacity:.85;
  transition:opacity .2s ease;
}
.meal-table-wrapper[data-scrollable="true"]::before{
  content:"Swipe →";
  position:absolute;
  right:.75rem;
  bottom:.35rem;
  font-size:.68rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(255,255,255,.75);
  pointer-events:none;
  opacity:.9;
  transition:opacity .2s ease;
}
.meal-table-wrapper[data-scroll-end="true"]::after,
.meal-table-wrapper[data-scroll-end="true"]::before{
  opacity:0;
}
.input-visually-hidden,
.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  clip-path:inset(50%);
  border:0;
}
.btn-upload{
  min-width:auto;
  width:auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.35rem;
}
.btn-pressable{
  border:1px solid rgba(255,255,255,.3);
  background:linear-gradient(180deg, rgba(255,255,255,.18), rgba(0,0,0,.05));
  color:var(--text);
  border-radius:14px;
  box-shadow:0 8px 20px -14px rgba(0,0,0,.9), inset 0 1px 0 rgba(255,255,255,.2);
  transition:background .15s ease, transform .1s ease, box-shadow .1s ease;
}
.btn-pressable:hover{
  background:linear-gradient(180deg, rgba(255,255,255,.25), rgba(0,0,0,.08));
  color:var(--text);
}
.btn-pressable:active{
  transform:translateY(2px);
  box-shadow:0 4px 14px -10px rgba(0,0,0,.9), inset 0 1px 0 rgba(255,255,255,.15);
}
.card-dashboard .card-body{
  padding:1rem .9rem .95rem;
}
@media (min-width:768px){
  .card-dashboard .card-body{
    padding:1rem 1.05rem 1rem;
  }
}
.card-dashboard .eyebrow{
  margin-bottom:.15rem;
  font-size:.65rem;
  letter-spacing:.18em;
}
.card-dashboard .btn-pill-mini{
  padding:.15rem .65rem;
}
.market-pulse-scroll{
  display:flex;
  flex-direction:column;
  gap:.65rem;
  height:292px;
  max-height:292px;
  min-height:292px;
  overflow-y:auto;
  padding-right:.35rem;
  position:relative;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.35) transparent;
  -webkit-overflow-scrolling:touch;
}
.market-pulse-scroll.pulse-compact{
  height:auto;
  max-height:none;
  min-height:0;
  overflow-y:visible;
  padding-right:0;
}
.market-pulse-scroll::-webkit-scrollbar{
  width:4px;
}
.market-pulse-scroll::-webkit-scrollbar-track{
  background:transparent;
}
.market-pulse-scroll::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.35);
  border-radius:999px;
}
.market-pulse-scroll[data-scrollable="true"]::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-2px;
  height:52px;
  pointer-events:none;
  background:linear-gradient(0deg, rgba(0,0,0,.65), rgba(0,0,0,0));
  opacity:.85;
  transition:opacity .2s ease;
}
@media (max-width: 575.98px){
  .market-pulse-scroll{
    height:263px;
    max-height:263px;
    min-height:263px;
  }
  .market-pulse-scroll.pulse-compact{
    height:auto;
    max-height:none;
    min-height:0;
  }
}
.market-pulse-scroll[data-scrollable="true"]::after{
  content:"scroll ▾";
  position:absolute;
  right:1rem;
  bottom:.35rem;
  font-size:.72rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  opacity:.95;
  padding:.15rem .55rem;
  border-radius:999px;
  background:rgba(0,0,0,.55);
  color:rgba(255,255,255,.95);
  transition:opacity .2s ease;
}
.market-pulse-scroll[data-interacting="true"]::after,
.market-pulse-scroll[data-interacting="true"]::before{
  opacity:0;
}
.market-pulse-scroll[data-scroll-end="true"]::after,
.market-pulse-scroll[data-scrollable="false"]::after{
  opacity:0;
}
.market-pulse-scroll[data-scrollable="false"]::before{
  opacity:0;
}
.health-scroll{
  display:flex;
  flex-direction:column;
  gap:.65rem;
  min-height:150px;
  max-height:170px;
  overflow-y:auto;
  padding-right:.35rem;
  position:relative;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.35) transparent;
  -webkit-overflow-scrolling:touch;
}
.health-scroll::-webkit-scrollbar{
  width:4px;
}
.health-scroll::-webkit-scrollbar-track{
  background:transparent;
}
.health-scroll::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.35);
  border-radius:999px;
}
.health-scroll[data-scrollable="true"]::after{
  content:"Trending ▾";
  position:absolute;
  right:1rem;
  bottom:.35rem;
  font-size:.7rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  padding:.15rem .5rem;
  border-radius:999px;
  background:rgba(0,0,0,.55);
  color:rgba(255,255,255,.9);
  opacity:.95;
  transition:opacity .2s ease;
}
.health-scroll[data-scrollable="true"]::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:36px;
  pointer-events:none;
  background:linear-gradient(0deg, rgba(0,0,0,.7), rgba(0,0,0,0));
  opacity:.85;
  transition:opacity .2s ease;
}
.health-scroll[data-scrollable="false"]::after,
.health-scroll[data-scrollable="false"]::before,
.health-scroll[data-scroll-end="true"]::after,
.health-scroll[data-scroll-end="true"]::before{
  opacity:0;
}
.health-scroll[data-interacting="true"]::after,
.health-scroll[data-interacting="true"]::before{
  opacity:0;
}
.health-trend-line{
  font-size:.92rem;
  line-height:1.4;
  display:flex;
  flex-wrap:wrap;
  gap:.35rem;
}
.health-trend-line strong{
  letter-spacing:.04em;
  font-size:.9em;
}
.health-trend .microcopy{
  font-size:.65rem;
  letter-spacing:.22em;
}
.health-trend-bonus{
  font-size:.9rem;
  color:rgba(255,255,255,.7);
  margin-top:.3rem;
}
.health-trend-color{
  font-size:.9rem;
  color:rgba(255,255,255,.7);
  margin-top:.2rem;
}
.health-extra{
  font-size:.95rem;
  color:rgba(255,255,255,.85);
}
.health-stat{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  font-size:.85rem;
  letter-spacing:.05em;
  text-transform:uppercase;
  padding:.2rem .6rem;
  border-radius:999px;
  background:rgba(0,0,0,.35);
  color:rgba(255,255,255,.75);
}
.health-routine{
  margin-bottom:.35rem;
}
.health-routine-list{
  list-style:none;
  margin:0;
  padding-left:1rem;
  display:flex;
  flex-direction:column;
  gap:.15rem;
  counter-reset:steps;
}
.health-routine-list li{
  position:relative;
  font-size:.92rem;
  line-height:1.35;
  padding-left:.4rem;
}
.health-routine-list li::before{
  counter-increment:steps;
  content:counter(steps) ".";
  position:absolute;
  left:-.7rem;
  color:rgba(255,255,255,.55);
  font-size:.8rem;
}

.market-pulse-watchlists[hidden],
.market-pulse-watch[hidden]{
  display:none !important;
}
.market-pulse-watchlists{
  display:grid;
  gap:.75rem;
}
@media (min-width: 768px){
  .market-pulse-watchlists{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
.market-pulse-list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:.35rem;
}
.market-pulse-list li{
  display:flex;
  align-items:flex-start;
  gap:.4rem;
  font-size:.92rem;
  line-height:1.35;
}
.market-pulse-list .ticker{
  font-weight:600;
  letter-spacing:.08em;
}
.market-pulse-list .reason{
  flex:1;
}
.pulse-label{
  display:flex;
  align-items:center;
  gap:.35rem;
  letter-spacing:.18em;
}
.pulse-icon{
  font-size:.9rem;
  font-weight:700;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.pulse-icon-long{
  color:#4ade80 !important;
}
.pulse-icon-short{
  color:#fb7185 !important;
}
@media (max-width:600px){
  .card-dashboard .btn-pill-mini{
    font-size:.92rem;
    padding:.32rem 1rem;
  }
  .card-dashboard .btn-pill-mini .btn-action,
  .card-dashboard .btn-pill-mini .btn-destination{
    font-size:1em;
  }
}
.btn-ghost{
  --bs-btn-color:rgba(255,255,255,.85);
  --bs-btn-border-color:rgba(255,255,255,.25);
  --bs-btn-hover-color:rgba(255,255,255,.95);
  --bs-btn-hover-bg:rgba(255,255,255,.12);
  --bs-btn-hover-border-color:rgba(255,255,255,.35);
  --bs-btn-active-color:rgba(255,255,255,.95);
  --bs-btn-active-bg:rgba(255,255,255,.16);
  --bs-btn-active-border-color:rgba(255,255,255,.35);
  --bs-btn-disabled-color:rgba(255,255,255,.45);
  --bs-btn-disabled-border-color:rgba(255,255,255,.2);
  --bs-btn-focus-shadow-rgb:255,255,255;
}
.link-accent{
  color:#17c1bd;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:2px;
  font-weight:400;
  font-size:.875em;
}
.link-accent:hover{
  color:#35d6d1;
}
.section-title{
  font-size:clamp(1.35rem, 4vw, 1.65rem);
}
.advanced-features summary span{
  transition:transform .2s ease;
}
.advanced-features[open] summary span{
  transform:rotate(90deg);
}
.settings-hero{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
}
.settings-premium{
  display:flex;
  justify-content:flex-end;
  flex:0 0 auto;
  gap:.6rem;
  flex-wrap:wrap;
}
.settings-premium__badge{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.5rem 1.1rem;
  font-size:.75rem;
  font-weight:600;
  letter-spacing:.03em;
  text-transform:none;
  border-radius:8px;
  background:linear-gradient(135deg, rgba(23, 193, 189, 0.12), rgba(23, 193, 189, 0.08));
  color:var(--accent-2);
  border:1px solid rgba(23, 193, 189, 0.3);
  box-shadow:0 2px 8px rgba(23, 193, 189, 0.1);
  cursor:default;
  user-select:none;
}
.settings-premium__badge--cta{
  text-decoration:none;
  background:linear-gradient(120deg, rgba(241, 177, 90, 0.25), rgba(255, 220, 170, 0.18));
  color:#f7a53f;
  border-color:rgba(241, 177, 90, 0.45);
  box-shadow:0 4px 12px rgba(241, 177, 90, 0.2);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  cursor:pointer;
  user-select:none;
}
.settings-premium__badge--cta:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(241, 177, 90, 0.3);
  border-color:rgba(241, 177, 90, 0.6);
  color:#ffb84d;
}
.settings-ready{
  display:flex;
  align-items:center;
  gap:.75rem;
}
.settings-ready__label{
  font-family:"Caveat","Segoe Script","Bradley Hand",cursive;
  font-size:1.3rem;
  color:#f1b15a;
}
.settings-ready__cta{
  border-radius:999px;
  padding:.35rem 1rem;
}
.settings-close{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1rem;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
}
.settings-close__form{
  display:flex;
  gap:.6rem;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.settings-close__cta{
  white-space:nowrap;
}
.settings-upgrade__cancel{
  display:inline-block;
  margin-top:.75rem;
  font-size:.85rem;
  color:rgba(255,255,255,.65);
  text-decoration:none;
}
.settings-upgrade__cancel:hover{
  color:rgba(255,255,255,.85);
}
@media (max-width:700px){
  .settings-hero{
    flex-direction:column;
    align-items:flex-start;
  }
  .settings-close{
    flex-direction:column;
    align-items:flex-start;
  }
  .settings-close__form{
    width:100%;
    justify-content:flex-start;
  }
}
.settings-upgrade{
  border:1px solid rgba(241, 177, 90, 0.25);
  background:linear-gradient(135deg, rgba(22, 18, 12, 0.9), rgba(14, 14, 14, 0.95));
}
.settings-upgrade__header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1.5rem;
  margin-bottom:1.5rem;
}
.settings-upgrade__eyebrow{
  text-transform:uppercase;
  letter-spacing:.2em;
  font-size:.75rem;
  color:#f1b15a;
  margin-bottom:.35rem;
}
.settings-upgrade__price{
  text-align:right;
  background:rgba(241, 177, 90, 0.12);
  border:1px solid rgba(241, 177, 90, 0.25);
  border-radius:16px;
  padding:.8rem 1.1rem;
  min-width:140px;
}
.settings-upgrade__amount{
  font-size:1.6rem;
  font-weight:600;
  margin:0;
  color:#f7d39c;
}
.settings-upgrade__term{
  margin:0;
  font-size:.85rem;
  color:rgba(255, 255, 255, 0.6);
}
.settings-upgrade__grid{
  display:grid;
  gap:1rem;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  margin-bottom:1.5rem;
}
.settings-upgrade__item{
  padding:1rem;
  border-radius:14px;
  background:rgba(255, 255, 255, 0.04);
  border:1px solid rgba(255, 255, 255, 0.06);
}
.settings-upgrade__actions{
  display:flex;
  align-items:center;
  gap:1rem;
}
.settings-upgrade__actions .btn{
  min-width:200px;
}
@media (max-width:900px){
  .settings-upgrade__grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media (max-width:640px){
  .settings-upgrade__header{
    flex-direction:column;
    align-items:flex-start;
  }
  .settings-upgrade__price{
    width:100%;
    text-align:left;
  }
  .settings-upgrade__grid{
    grid-template-columns:1fr;
  }
  .settings-upgrade__actions{
    flex-direction:column;
    align-items:flex-start;
  }
  .settings-upgrade__actions .btn{
    width:100%;
  }
}
.payment-success{
  min-height:60vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:2rem 1rem;
  background:radial-gradient(circle at top, rgba(241, 177, 90, 0.12), rgba(8, 8, 8, 0) 55%),
    linear-gradient(180deg, rgba(18, 18, 18, 0.9), rgba(6, 6, 6, 0.98));
  border-radius:24px;
}
.payment-success__card{
  width:min(560px, 100%);
  background:rgba(18, 18, 18, 0.78);
  border:1px solid rgba(255, 255, 255, 0.08);
  box-shadow:0 24px 60px rgba(0, 0, 0, 0.45);
  border-radius:24px;
  padding:2.5rem 2.2rem;
  text-align:center;
}
.payment-success__badge{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.35rem .9rem;
  font-size:.78rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  border-radius:999px;
  background:rgba(241, 177, 90, 0.16);
  color:#f1b15a;
  border:1px solid rgba(241, 177, 90, 0.35);
}
.payment-success__icon{
  width:72px;
  height:72px;
  margin:1.5rem auto 1rem;
  border-radius:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg, rgba(241, 177, 90, 0.25), rgba(255, 255, 255, 0.04));
  color:#f7d39c;
}
.payment-success__icon svg{
  width:40px;
  height:40px;
}
.payment-success__title{
  font-size:clamp(1.6rem, 4vw, 2.1rem);
  font-weight:600;
  margin-bottom:.5rem;
}
.payment-success__subtitle{
  color:rgba(255, 255, 255, 0.65);
  margin-bottom:1.8rem;
}
.payment-success__steps{
  text-align:left;
  display:grid;
  gap:1rem;
  margin-bottom:2rem;
}
.payment-success__step{
  display:flex;
  align-items:flex-start;
  gap:.85rem;
}
.payment-success__dot{
  width:12px;
  height:12px;
  border-radius:50%;
  margin-top:.35rem;
  background:rgba(255, 255, 255, 0.2);
  box-shadow:0 0 0 0 rgba(241, 177, 90, 0.0);
}
.payment-success__dot--done{
  background:#f1b15a;
}
.payment-success__dot--pulse{
  background:#f1b15a;
  animation:pulseGlow 1.6s infinite ease-in-out;
}
.payment-success__step-title{
  font-weight:600;
  margin:0 0 .2rem;
}
.payment-success__step-copy{
  margin:0;
  color:rgba(255, 255, 255, 0.6);
  font-size:.95rem;
}
.payment-success__actions{
  display:flex;
  flex-wrap:wrap;
  gap:.8rem;
  justify-content:center;
  margin-bottom:1.4rem;
}
.payment-success__actions .btn{
  min-width:200px;
}
.payment-success__actions .btn-outline-light{
  --bs-btn-color:#f4e6d5;
  --bs-btn-border-color:rgba(244, 230, 213, 0.3);
  --bs-btn-hover-color:#1b1b1b;
  --bs-btn-hover-bg:#f4e6d5;
  --bs-btn-hover-border-color:#f4e6d5;
}
.payment-success__support{
  color:rgba(255, 255, 255, 0.55);
  font-size:.9rem;
  margin:0;
}
.payment-success__support a{
  color:#f1b15a;
}
@keyframes pulseGlow{
  0%{box-shadow:0 0 0 0 rgba(241, 177, 90, 0.5);}
  70%{box-shadow:0 0 0 10px rgba(241, 177, 90, 0);}
  100%{box-shadow:0 0 0 0 rgba(241, 177, 90, 0);}
}
@media (max-width:600px){
  .payment-success{
    border-radius:18px;
    padding:1.5rem .75rem;
  }
  .payment-success__card{
    padding:2rem 1.4rem;
  }
  .payment-success__actions .btn{
    width:100%;
  }
}

/* Bootstrap nav-tabs - teal for clickable, white for active */
.nav-tabs {
  --bs-nav-tabs-link-active-color: var(--text);
  --bs-nav-tabs-link-active-bg: var(--bg);
  --bs-nav-tabs-link-active-border-color: var(--surface-alt) var(--surface-alt) var(--accent-2);
}
.nav-tabs .nav-link {
  color: var(--accent-2);  /* Inactive tabs are teal - inviting click */
  background-color: transparent;
}
.nav-tabs .nav-link:hover,
.nav-tabs .nav-link:focus {
  color: #6bebe7;  /* Lighter teal on hover */
}
.nav-tabs .nav-link.active {
  color: var(--text);  /* Active tab is white - clearly selected */
  background-color: var(--bg);  /* Dark background for contrast */
  border-bottom-color: var(--accent-2);  /* Teal underline shows active state */
}

/* Chat message styles */
.chat-message {
  padding: 8px 12px;
  border-radius: 12px;
  max-width: 100%;
}

.chat-message.user-message {
  background: rgba(23, 193, 189, 0.08);
  border-left: 3px solid rgba(23, 193, 189, 0.5);
}

.chat-message.ai-message {
  background: rgba(255, 255, 255, 0.03);
  border-left: 3px solid rgba(247, 165, 63, 0.3);
}

.chat-message p {
  color: var(--text);
}

/* Pal Chat UI enhancements */
.pal-chat-textarea {
  border-radius: 6px !important;
}

/* Steel mic button - slightly larger for better visibility */
.btn-mic-steel {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.045);
  backdrop-filter: blur(10px);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow:
    0 2px 4px rgba(0, 0, 0, 0.32),
    0 1px 2px rgba(255, 255, 255, 0.12),
    inset 0 1px 1px rgba(255, 255, 255, 0.2),
    inset 0 -1px 1px rgba(0, 0, 0, 0.12);
  padding: 0;
  position: relative;
  overflow: visible;
  transform: scale(1.12);
  transform-origin: center;
}

.btn-mic-steel::before {
  content: '';
  position: absolute;
  inset: -1px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(255,255,255,0.2), transparent 60%);
  opacity: 0.5;
  pointer-events: none;
}

.btn-mic-steel:hover {
  background: rgba(255, 255, 255, 0.07);
  box-shadow:
    0 3px 6px rgba(0, 0, 0, 0.36),
    0 2px 4px rgba(255, 255, 255, 0.16),
    inset 0 1px 1px rgba(255, 255, 255, 0.25),
    inset 0 -1px 1px rgba(0, 0, 0, 0.16);
  transform: translateY(-1px) scale(1.08);
}

.btn-mic-steel:hover::before {
  opacity: 0.6;
}

.btn-mic-steel:active {
  transform: translateY(1px) scale(1.02);
  box-shadow:
    0 1px 2px rgba(0, 0, 0, 0.42),
    inset 0 2px 4px rgba(0, 0, 0, 0.32),
    inset 0 1px 0 rgba(0, 0, 0, 0.2);
  background: rgba(255, 255, 255, 0.04);
}

.mic-icon-emoji {
  font-size: 30px;
  display: block;
  line-height: 1;
  filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.5));
  transition: filter 0.2s ease;
}

.btn-mic-steel:hover .mic-icon-emoji {
  filter: drop-shadow(0 0 8px rgba(255, 255, 255, 0.6)) drop-shadow(0 2px 4px rgba(0, 0, 0, 0.4));
}

.btn-mic-steel:active .mic-icon-emoji {
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.6));
}

/* Updated Pal Chat microphone button styles */
#pal-chat .btn-icon {
  min-width: 36px;
  min-height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  transition: all 0.2s;
}

#pal-chat .btn-icon:hover {
  transform: scale(1.05);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

#pal-chat .btn-icon:active {
  transform: scale(0.95);
}

/* Institutional disclosures table - alternating column colors + row separation */
#foundationDisclosures table tbody tr {
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

#foundationDisclosures table tbody tr:hover {
  background-color: rgba(255, 255, 255, 0.03);
}

#foundationDisclosures table td,
#foundationDisclosures table th {
  padding: 0.5rem 0.4rem;
}

/* Alternating column backgrounds - dark grey/black */
#foundationDisclosures table td:nth-child(odd),
#foundationDisclosures table th:nth-child(odd) {
  background-color: rgba(0, 0, 0, 0.3);
}

#foundationDisclosures table td:nth-child(even),
#foundationDisclosures table th:nth-child(even) {
  background-color: rgba(50, 50, 50, 0.2);
}
