:root{
  /* Dashboard palette (institutional teal + green) */
  --viz-portfolio:#1F7A8C;
  --viz-benchmark:#5FD068;
  --navy-950:#0F3D3E;
  --navy-900:#0F3D3E;
  --navy-850:#0F3D3E;
  --navy-800:#1F7A8C;
  --paper:#ffffff;
  --ink:#0b1220;
  --gold:#5FD068;
  --gold-strong:#3BAF5E;
  --sky:#1F7A8C;
  --mint:#5FD068;
  --line:rgba(0,0,0,0.08);
  --muted:#6B7280;
  --muted2:#9CA3AF;

  --r-1:12px;
  --r-2:16px;
  --r-3:16px;
  --shadow:0 12px 30px rgba(0,0,0,0.06);
  --shadow-soft:0 10px 30px rgba(0,0,0,0.05);

  --wrap:1400px;
  --g:24px;

  --h1:clamp(2.2rem, 1.4rem + 2.6vw, 3.4rem);
  --h2:clamp(1.6rem, 1.1rem + 1.6vw, 2.1rem);
  --h3:1.05rem;
  --p:0.98rem;
  --small:0.88rem;

  --font: "Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--font);
  color: var(--navy-950);
  background: linear-gradient(180deg, #F8FAF9 0%, #FFFFFF 100%);
  overflow-x:hidden;
  font-weight:400;
}

a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
button,input,select{font:inherit}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.skip{
  position:absolute;left:-999px;top:10px;
  background:var(--paper);color:var(--ink);
  padding:10px 12px;border-radius:10px;z-index:10
}
.skip:focus{left:10px}

.top{
  position:sticky;top:0;z-index:20;
  background: var(--navy-950);
  color:#ffffff;
  backdrop-filter: blur(14px);
  border-bottom:1px solid rgba(255,255,255,0.08);
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}
.top__inner{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:14px 0;
  flex-wrap:wrap;
}
.brand{display:flex;align-items:center;gap:10px}
.brand__mark{
  display:none;
  width:34px;height:34px;border-radius:12px;
  background:
    radial-gradient(12px 12px at 30% 30%, rgba(255,74,23,0.95), rgba(255,74,23,0.0)),
    radial-gradient(18px 18px at 72% 66%, rgba(12,90,96,0.22), rgba(12,90,96,0.0)),
    linear-gradient(135deg, rgba(255,255,255,0.12), rgba(255,255,255,0.02));
  border:1px solid rgba(255,255,255,0.12);
  box-shadow: 0 18px 40px rgba(0,0,0,0.25);
}
.brand__name{font-weight:600;letter-spacing:0.1px}
.brand__logo{width:34px;height:34px;border-radius:12px;display:block;object-fit:cover;border:1px solid rgba(255,255,255,0.18);background:#ffffff}
.brand.no-logo .brand__mark{display:block}
.brand.no-logo .brand__logo{display:none}
.fbrand.no-logo .brand__mark{display:block}
.fbrand.no-logo .brand__logo{display:none}
.nav{
  display:flex;
  gap:8px;
  flex: 1 1 100%;
  flex-wrap:nowrap;
  overflow-x:auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.nav::-webkit-scrollbar{display:none}
.nav a{color:rgba(255,255,255,0.86);font-size:0.9rem;font-weight:500;padding:8px 10px;border-radius:10px}
.nav a:hover{background: rgba(255,255,255,0.10)}
.nav a:hover{color:#ffffff}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:12px 22px;border-radius:12px;
  border:1px solid transparent;
  cursor:pointer;
  user-select:none;
  transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease, border-color 160ms ease, color 160ms ease;
  font-weight:600;
}
.btn:active{transform: translateY(1px)}
.btn--sm{padding:10px 14px;border-radius:12px;font-size:0.93rem}
.btn--primary{
  color:#ffffff;
  background: linear-gradient(135deg,#5FD068,#3BAF5E);
  box-shadow: 0 12px 30px rgba(0,0,0,0.10);
}
.btn--primary:hover{filter: brightness(0.98); box-shadow: 0 18px 40px rgba(0,0,0,0.14)}
.btn--ghost{
  background: rgba(15,61,62,0.04);
  border-color: rgba(0,0,0,0.08);
  color: #0F3D3E;
}
.btn--ghost:hover{border-color: rgba(0,0,0,0.12);background: rgba(15,61,62,0.07)}
.btn:focus-visible,.iconbtn:focus-visible,.linkbtn:focus-visible,input:focus-visible,select:focus-visible{
  outline: 2px solid rgba(122,194,82,0.70);
  outline-offset: 2px;
}

/* Button variants for inner pages (color-rule: light bg -> black button, dark bg -> white button) */
.btn--ink{
  background:#0b0c0d;
  color:#ffffff;
  border-color: rgba(255,255,255,0.0);
  box-shadow: 0 18px 42px rgba(0,0,0,0.18), 0 20px 50px rgba(12,90,96,0.10);
}
.btn--ink:hover{background:#15181a}
.btn--paper{
  background:#ffffff;
  color:#0b0c0d;
  border-color: rgba(255,255,255,0.0);
  box-shadow: 0 18px 42px rgba(0,0,0,0.24);
}
.btn--paper:hover{background:#f7f7f7}

.card{
  border-radius: var(--r-2);
  background:#ffffff;
  border: 1px solid rgba(0,0,0,0.06);
  box-shadow: var(--shadow-soft);
  transition: transform 200ms ease, box-shadow 200ms ease;
}

.hero{padding:56px 0 34px; position:relative}
.hero__grid{display:grid;gap:20px}
.hero__copy{padding:6px 0}
.kicker{
  display:inline-flex;align-items:center;gap:10px;
  font-size: var(--small);
  color: var(--muted);
  margin:0 0 10px;
}
.kicker::before{
  content:"";
  width:10px;height:10px;border-radius:50%;
  background: radial-gradient(circle at 30% 30%, var(--gold), rgba(255,74,23,0.0));
  box-shadow: 0 0 0 4px rgba(122,194,82,0.12);
}

h1{
  font-size: var(--h1);
  line-height:1.05;
  margin:0 0 10px;
  letter-spacing:-0.5px;
  font-weight:600;
}

h2,h3{font-weight:600}

.subhead{
  margin:0 0 18px;
  font-size: 1.05rem;
  color: var(--muted);
  max-width: 44ch;
}

.hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0 16px}
.microproof{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.chip{
  display:inline-flex;align-items:center;gap:10px;
  padding:10px 12px;
  border-radius: 999px;
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.06);
  color: #0F3D3E;
  font-size: 0.92rem;
}
.dot{width:8px;height:8px;border-radius:50%}
.dot--gold{background:var(--gold)}
.dot--sky{background:var(--sky)}
.dot--mint{background:var(--mint)}

.hero__visual{position:relative;min-height: 420px}
.hero__visual::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 70% 30%, rgba(122,194,82,0.15), transparent 60%);
  pointer-events: none;
}
.hero__glass{
  position:absolute;inset:-20px;
  background: radial-gradient(420px 260px at 18% 18%, rgba(31,122,140,0.08), transparent 70%),
    radial-gradient(520px 320px at 82% 60%, rgba(95,208,104,0.12), transparent 70%);
  filter: blur(24px);
  pointer-events:none;
}

.dash{
  position:relative;
  padding:18px;
  border-radius: var(--r-3);
  background: rgba(15, 61, 62, 0.85); /* darker base */
  backdrop-filter: blur(16px);
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 20px 60px rgba(0,0,0,0.35);
  overflow:hidden;
}

.dash__top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.dash__label{font-size:0.86rem;color:rgba(255,255,255,0.75)}
.dash__value{font-weight:700;font-size:1.35rem;letter-spacing:0.2px;color:#ffffff}
.pill{
  background: rgba(95,208,104,0.16);
  border: 1px solid rgba(95,208,104,0.30);
  color: #0F3D3E;
  padding:8px 10px;border-radius:999px;
  font-weight:700;
}
.pill__up{color:var(--gold)}
.dash__chart{margin:14px 0 10px;border-radius:18px;overflow:hidden;border:1px solid rgba(0,0,0,0.06);background:var(--navy-950)}
.dash__chart svg{display:block;width:100%;height:auto}
.dash__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:10px 0 14px}
.mini{padding:12px;border-radius:16px;background:#F9FAFB;border:1px solid rgba(0,0,0,0.04)}
.dash .mini{
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.08);
}
.mini__k{font-size:0.82rem;color:rgba(255,255,255,0.65)}
.mini__v{font-weight:800;margin-top:4px;color:#ffffff}
.alloc{display:grid;gap:10px}
.alloc__row{display:grid;grid-template-columns: 1fr 1.4fr auto;align-items:center;gap:12px;color:rgba(255,255,255,0.9)}
.alloc__left{display:flex;align-items:center;gap:10px;color:rgba(255,255,255,0.9);font-size:0.93rem}
.sw{width:10px;height:10px;border-radius:3px}
.sw--gold{background:var(--gold)}
.sw--sky{background:var(--sky)}
.sw--mint{background:var(--mint)}
.alloc__bar{height:10px;border-radius:999px;background:rgba(255,255,255,0.08);overflow:hidden;border:1px solid rgba(255,255,255,0.08)}
.alloc__bar span{display:block;height:100%;border-radius:999px;background: linear-gradient(90deg, #7AC252, #A8E063)}
.alloc__pct{color:rgba(255,255,255,0.9);font-variant-numeric: tabular-nums}

section{padding:60px 0}
.sectionhead{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}
.sectionhead h2{font-size:var(--h2);margin:0;letter-spacing:-0.2px;font-weight:600}
.sectionhead p{margin:0;color:var(--muted);max-width: 58ch;font-weight:400}

.grid4{display:grid;grid-template-columns:1fr;gap:var(--g)}
.grid2{display:grid;grid-template-columns:1fr;gap:var(--g)}
.grid3{display:grid;grid-template-columns:1fr;gap:var(--g)}

.metrics{padding:60px 0}
.metrics .grid4{gap:20px}
.metrics .sectionhead h2::after{
  content:"";
  display:block;
  width:60px;
  height:3px;
  background:#5FD068;
  margin-top:10px;
  border-radius:999px;
}

.metric{padding:24px}
.metric__icon{
  width:42px;height:42px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  background: #F9FAFB;
  border:1px solid rgba(0,0,0,0.06);
  margin-bottom:14px;
  color: #0F3D3E;
}
.metric__icon svg{width:22px;height:22px}
.metric__value{font-weight:700;font-size:28px;color:#0F3D3E}
.metric__label{color:#6B7280;margin-top:6px;font-size:14px}

.prob{padding:18px}
.prob__icon{
  width:44px;height:44px;border-radius:16px;
  display:flex;align-items:center;justify-content:center;
  background: radial-gradient(24px 24px at 30% 30%, rgba(122,194,82,0.18), rgba(255,74,23,0.0));
  border:1px solid rgba(255,255,255,0.10);
  margin-bottom:12px;
  color: rgba(12,90,96,0.88);
}
.prob__icon svg{width:22px;height:22px}
.prob h3{margin:0 0 6px;font-size:var(--h3)}
.prob p{margin:0;color:rgba(12,90,96,0.72);font-size:0.95rem}

.framework{position:relative}
.flow{position:relative;display:grid;gap:14px}
.flow__rail{
  position:absolute;left:22px;top:18px;bottom:18px;width:2px;
  background: linear-gradient(180deg, rgba(122,194,82,0.22), rgba(12,90,96,0.16));
  opacity:0.9;
}
.flow__step{display:grid;grid-template-columns: 44px 1fr;gap:12px;align-items:stretch;position:relative}
.flow__badge{
  width:44px;height:44px;border-radius:16px;
  display:flex;align-items:center;justify-content:center;
  background: rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.12);
  font-weight:900;color:rgba(12,90,96,0.88);
}
.flow__card{padding:24px;position:relative;overflow:hidden}
.flow__title{font-weight:850}
.flow__meta{margin-top:4px;color:var(--muted);font-size:0.92rem}
.spark{
  position:absolute;right:-30px;top:-30px;width:140px;height:140px;border-radius:40px;
  background: radial-gradient(80px 80px at 35% 35%, rgba(122,194,82,0.22), rgba(255,74,23,0.0));
  transform: rotate(14deg);
}
.spark--b{background: radial-gradient(80px 80px at 35% 35%, rgba(12,90,96,0.16), rgba(12,90,96,0.0))}
.spark--c{background: radial-gradient(80px 80px at 35% 35%, rgba(126,240,196,0.22), rgba(126,240,196,0.0))}
.spark--d{background: radial-gradient(80px 80px at 35% 35%, rgba(122,194,82,0.18), rgba(255,74,23,0.0))}

.founder__grid{display:grid;gap:22px;align-items:center}
.portrait{position:relative;max-width: 360px;margin:0 auto}
.portrait__ring{
  position:absolute;inset:-14px;border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.10);
  background:
    radial-gradient(240px 180px at 30% 30%, rgba(122,194,82,0.16), transparent 70%),
    radial-gradient(240px 180px at 70% 65%, rgba(12,90,96,0.10), transparent 72%);
}
.portrait__img{aspect-ratio:1 / 1;
  position:relative;
  border-radius: 999px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.04);
  box-shadow: var(--shadow);
}
.portrait__img svg{display:block;width:100%;height:auto}
.portrait__tag{
  position:absolute;right:-10px;bottom:-10px;
  padding:12px 14px;
  border-radius: 18px;
  min-width: 180px;
}
.portrait__k{font-size:0.82rem;color:var(--muted)}
.portrait__v{font-weight:600;margin-top:2px;color:#0F3D3E}
.founder__meta{margin:10px 0 14px;color:var(--muted)}
.founder__desc{
  margin:0 0 14px;
  color: var(--muted);
  line-height:1.55;
  max-width: 62ch;
}
.quote{padding:24px;border-radius:16px}
.quote p{margin:0;font-size:1.05rem;line-height:1.35}
.quote footer{margin-top:10px;color:var(--muted)}
.quote__name{font-weight:600;color:#0F3D3E}
.founder__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}

.intelligence{padding:50px 0 60px}
.viz{padding:24px;border-radius:18px}
.viz__head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.viz__title{font-weight:600;color:#0F3D3E}
.badge{
  font-size:0.82rem;
  color: #6B7280;
  padding:8px 10px;border-radius:999px;
  border:1px solid rgba(0,0,0,0.04);
  background: #F9FAFB;
}
.viz__body{margin-top:12px;border-radius:16px;overflow:hidden;border:1px solid rgba(0,0,0,0.06);background:#ffffff}
.viz__body svg{display:block;width:100%;height:auto}
.viz__foot{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}
.kv{flex:1;min-width:160px;padding:12px 14px;border-radius:12px;background:#F9FAFB;border:1px solid rgba(0,0,0,0.04)}
.kv__k{font-size:0.82rem;color:#6B7280}
.kv__v{margin-top:4px;font-weight:600;color:#0F3D3E}
.legend{display:flex;align-items:center;gap:10px;color:#0F3D3E;padding:12px 14px;border-radius:12px;background:#F9FAFB;border:1px solid rgba(0,0,0,0.04)}

.step{padding:24px}
.step__num{
  width:42px;height:42px;border-radius:999px;
  display:flex;align-items:center;justify-content:center;
  background:#F9FAFB;
  border: 1px solid rgba(0,0,0,0.06);
  margin-bottom:12px;
  font-weight:700;
  color: #0F3D3E;
}
.step h3{margin:0 0 6px;font-size:var(--h3);font-weight:600;color:#0F3D3E}
.step p{margin:0;color:var(--muted);font-size:0.95rem}

.tcard{padding:24px}
.tcard__top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.tcard__name{font-weight:600;color:#0F3D3E}
.stars{color:var(--gold);letter-spacing:2px}
.tcard p{margin:0;color:var(--muted);line-height:1.45}
.tcta{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}

.article{overflow:hidden}
.article__thumb{height:124px;background: #F9FAFB;border-bottom:1px solid rgba(0,0,0,0.06)}
.thumb{height:100%}
.thumb--a{
  background:
    radial-gradient(220px 140px at 20% 35%, rgba(12,90,96,0.12), transparent 70%),
    radial-gradient(220px 140px at 70% 45%, rgba(122,194,82,0.18), transparent 70%),
    linear-gradient(135deg, rgba(255,255,255,0.06), rgba(255,255,255,0.01));
}
.thumb--b{
  background:
    radial-gradient(220px 140px at 20% 35%, rgba(126,240,196,0.18), transparent 70%),
    radial-gradient(220px 140px at 70% 45%, rgba(122,194,82,0.18), transparent 70%),
    linear-gradient(135deg, rgba(255,255,255,0.06), rgba(255,255,255,0.01));
}
.thumb--c{
  background:
    radial-gradient(220px 140px at 20% 35%, rgba(122,194,82,0.20), transparent 70%),
    radial-gradient(220px 140px at 70% 45%, rgba(12,90,96,0.10), transparent 70%),
    linear-gradient(135deg, rgba(255,255,255,0.06), rgba(255,255,255,0.01));
}
.article__body{padding:24px}
.article__meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.tag{
  font-size:0.80rem;color:rgba(12,90,96,0.84);
  padding:7px 10px;border-radius:999px;
  background: rgba(122,194,82,0.12);
  border:1px solid rgba(122,194,82,0.16);
}
.muted{color:var(--muted);font-size:0.86rem}
.article h3{margin:0 0 10px;font-size:1.02rem;line-height:1.2}
.link{
  display:inline-flex;align-items:center;gap:10px;
  color: #1F7A8C;
  font-weight:600;
}
.link::after{content:"\2192";opacity:0.85}
.link:hover{color: #0F3D3E}

.finalcta{padding:60px 0;position:relative}
.finalcta__grid{display:grid;gap:20px;align-items:center}
.finalcta__copy p{margin:10px 0 18px;color:var(--muted);max-width: 58ch}
.finalcta__actions{display:flex;flex-wrap:wrap;gap:12px}
.disclaimer{margin-top:14px;font-size:0.84rem;color:var(--muted2)}
.meet{position:relative;min-height: 260px}
.meet__bg{
  position:absolute;inset:-30px;
  background:
    radial-gradient(520px 320px at 20% 35%, rgba(12,90,96,0.08), transparent 68%),
    radial-gradient(520px 320px at 74% 52%, rgba(122,194,82,0.14), transparent 70%);
  filter: blur(22px);
  pointer-events:none;
}
.meet__pane{
  position:relative;
  padding:18px;
  border-radius: 24px;
}
.meet__row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(0,0,0,0.06)}
.meet__row:last-child{border-bottom:0}
.meet__k{color:var(--muted);font-size:0.92rem}
.meet__v{font-weight:900}
.conf{
  padding:6px 10px;border-radius:999px;
  background: rgba(122,194,82,0.14);
  border:1px solid rgba(126,240,196,0.22);
}

.footer{padding:56px 0;background:#0F3D3E;color:#ffffff}
.footer a{color:rgba(255,255,255,0.92)}
.footer a:hover{color:#ffffff}

.footerDash__grid{display:grid;grid-template-columns:1fr;gap:24px}
.fbrand{display:flex;align-items:center;gap:12px}
.fbrand__name{font-weight:600;letter-spacing:-0.2px}
.fbrand__desc{margin-top:6px;color:rgba(255,255,255,0.72);max-width: 44ch}
.ftitle{font-weight:600;margin-bottom:12px;color:#ffffff}
.fcol{display:grid;gap:10px}
.fmuted,.fmutedlink{color:rgba(255,255,255,0.70)}
.flegal{display:flex;gap:14px;flex-wrap:wrap}
.footerDash__bottom{margin-top:28px;padding-top:18px;border-top:1px solid rgba(255,255,255,0.10);display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;color:rgba(255,255,255,0.74);font-size:0.92rem}
@media (min-width: 840px){
  .footerDash__grid{grid-template-columns: 1.3fr 1fr 1fr 1fr}
}
.footer__grid{display:grid;gap:14px;align-items:start}
.footer__brand{display:flex;align-items:center;gap:10px;font-weight:900}
.footer__muted{margin-top:8px;color:rgba(12,90,96,0.70);max-width: 48ch}
.footer__links{display:flex;flex-wrap:wrap;gap:14px;justify-content:flex-start}
.footer__links a,.linkbtn{
  color:rgba(12,90,96,0.78);
  font-size:0.95rem;
  background:none;border:0;padding:0;cursor:pointer;
}
.footer__links a:hover,.linkbtn:hover{color:rgba(12,90,96,0.95)}

.fab{
  position:fixed;right:16px;bottom:16px;z-index:30;
  width:58px;height:58px;border-radius:18px;
  border:1px solid rgba(0,0,0,0.06);
  background: linear-gradient(135deg,#5FD068,#3BAF5E);
  color: #ffffff;
  font-weight:600;
  box-shadow: 0 18px 50px rgba(0,0,0,0.32);
  cursor:pointer;
}

.modal{
  width:min(720px, calc(100% - 22px));
  border:0;
  padding:0;
  border-radius: 22px;
  background: transparent;
}
.modal::backdrop{
  background: rgba(2,6,12,0.72);
  backdrop-filter: blur(8px);
}
.modal__card{
  padding:18px;
  border-radius: 22px;
  background:
    radial-gradient(700px 360px at 18% 22%, rgba(12,90,96,0.08), transparent 56%),
    radial-gradient(780px 420px at 82% 28%, rgba(122,194,82,0.14), transparent 58%),
    linear-gradient(180deg, rgba(255,255,255,0.10), rgba(255,255,255,0.03));
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: var(--shadow);
}
.modal__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.modal__title{font-weight:950;font-size:1.2rem}
.modal__sub{margin-top:4px;color:var(--muted);font-size:0.92rem}
.iconbtn{
  width:40px;height:40px;border-radius:14px;
  border:1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: rgba(255,255,255,0.92);
  cursor:pointer;
}
.modal__grid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:14px}
.field{display:grid;gap:7px}
.field__k{color:var(--muted);font-size:0.88rem}
input,select{
  width:100%;
  padding:12px 14px;
  border-radius: 12px;
  border:1px solid rgba(0,0,0,0.10);
  background: #ffffff;
  color: #0F3D3E;
}
.modal .field__k{color: rgba(255,255,255,0.78)}
.modal input,.modal select{
  border:1px solid rgba(255,255,255,0.14);
  background: rgba(11,12,13,0.55);
  color: rgba(255,255,255,0.92);
}
select option{color: var(--ink)}
.modal__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}
.modal .btn--ghost{
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.16);
  color: rgba(255,255,255,0.92);
}
.modal .btn--ghost:hover{background: rgba(255,255,255,0.12);border-color: rgba(255,255,255,0.22)}
.privacy{margin:12px 0 0;color:var(--muted2);font-size:0.84rem}

.reveal{opacity:1;transform:none}
.js .reveal{opacity:0;transform: translateY(10px);transition: opacity 600ms ease, transform 600ms ease}
.js .reveal.is-in{opacity:1;transform:none}

@media (min-width: 840px){
  .nav{flex:1 1 720px;flex-wrap:wrap;overflow:visible}
  .hero{padding:74px 0 40px}
  .hero__grid{grid-template-columns: 1.05fr 1fr;align-items:center}
  .hero__visual{min-height: 520px}
  .grid4{grid-template-columns: repeat(4, 1fr)}
  .grid2{grid-template-columns: repeat(2, 1fr)}
  .grid3{grid-template-columns: repeat(3, 1fr)}
  .flow{grid-template-columns: repeat(4, 1fr);gap:16px}
  .flow__rail{left: 22px;right:22px;top:22px;bottom:auto;height:2px;width:auto}
  .flow__step{grid-template-columns: 1fr;gap:10px}
  .flow__badge{margin-left:10px}
  .founder__grid{grid-template-columns: 0.95fr 1.05fr}
  .sectionhead{margin-bottom:22px}
  .modal__grid{grid-template-columns: repeat(2, 1fr)}
  .footer__grid{grid-template-columns: 1.2fr 1fr;align-items:center}
  .footer__links{justify-content:flex-end}
  .finalcta__grid{grid-template-columns: 1.1fr 0.9fr}
  .fab{display:none}
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .js .reveal{transition:none}
  .btn{transition:none}
}
.ceo__img{display:block;width:100%;height:100%;object-fit:cover}

/* Premium fintech additions (no layout redesign; additive styles only) */
.latestposts .article__thumb{position:relative;overflow:hidden}
.article__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.article__excerpt{margin:10px 0 0;color:var(--muted);font-size:0.92rem;line-height:1.5}
.readmore{margin-top:12px}

.article--skeleton .article__thumb{background:linear-gradient(90deg, rgba(12,90,96,0.06), rgba(12,90,96,0.12), rgba(12,90,96,0.06));background-size:200% 100%;animation: shimmer 1.2s infinite linear}
.article--skeleton .sline,.article--skeleton .sblock,.article--skeleton .sbtn{border-radius:12px;background:linear-gradient(90deg, rgba(12,90,96,0.06), rgba(12,90,96,0.12), rgba(12,90,96,0.06));background-size:200% 100%;animation: shimmer 1.2s infinite linear}
.article--skeleton .sline{height:14px;width:70%;margin:8px 0}
.article--skeleton .sblock{height:42px;width:100%;margin:10px 0}
.article--skeleton .sbtn{height:34px;width:92px;margin-top:14px}
@keyframes shimmer{0%{background-position:0% 0}100%{background-position:200% 0}}

.chartcard{padding:16px}
.chartcard__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.chartwrap{height:260px;border-radius:18px;border:1px solid rgba(12,90,96,0.12);background:#ffffff;position:relative;overflow:hidden}
.chartwrap svg{width:100%;height:100%;display:block}
.chartlegend{display:flex;gap:12px;align-items:center;color:rgba(12,90,96,0.72);font-size:0.92rem}
.lg{display:inline-flex;gap:8px;align-items:center}
.lg__dot{width:10px;height:10px;border-radius:3px;display:inline-block}
.lg__dot--portfolio{background:var(--viz-portfolio)}
.lg__dot--benchmark{background:var(--viz-benchmark)}
.charttip{margin-top:10px;color:rgba(12,90,96,0.78);font-size:0.92rem;min-height:1.2em}

.gline{fill:none;stroke-width:3.5;stroke-linecap:round}
.gline--portfolio{stroke:var(--viz-portfolio)}
.gline--benchmark{stroke:var(--viz-benchmark)}
.ggrid{stroke:rgba(12,90,96,0.10);stroke-width:1}
.gdot{fill:#ffffff;stroke-width:2}
.gdot--portfolio{stroke:var(--viz-portfolio)}
.gdot--benchmark{stroke:var(--viz-benchmark)}

/* Draw animation: enabled when container gets .is-anim */
.js .chartwrap .gline{stroke-dasharray: 1000; stroke-dashoffset: 1000; transition: stroke-dashoffset 1200ms ease}
.js .chartwrap.is-anim .gline{stroke-dashoffset: 0}

.india{padding:16px}
.india__svg{width:100%;height:auto;display:block}
.india__outline{fill:rgba(12,90,96,0.04);stroke:rgba(12,90,96,0.38);stroke-width:2.5}
.india__flow{fill:none;stroke:url(#flow);stroke-width:3.5;stroke-linecap:round;stroke-dasharray:220;stroke-dashoffset:220;animation: indiaFlow 3.2s ease-in-out infinite}
@keyframes indiaFlow{0%{stroke-dashoffset:220;opacity:0.0}15%{opacity:0.9}60%{opacity:0.9}100%{stroke-dashoffset:-220;opacity:0.0}}

/* Approach sequence animation (reuses existing .flow and .is-in) */
.js .flow .flow__step{opacity:0;transform:translateY(10px);transition: opacity 600ms ease, transform 600ms ease}
.js .flow.is-in .flow__step{opacity:1;transform:none}
.js .flow.is-in .flow__step:nth-child(2){transition-delay:40ms}
.js .flow.is-in .flow__step:nth-child(3){transition-delay:140ms}
.js .flow.is-in .flow__step:nth-child(4){transition-delay:240ms}
.js .flow.is-in .flow__step:nth-child(5){transition-delay:340ms}

/* Metric counters */
.count{font-variant-numeric: tabular-nums}

/* Testimonials carousel */
.carousel{overflow:hidden}
.carousel__track{display:flex;gap:var(--g);overflow:auto;scroll-snap-type:x mandatory;padding-bottom:8px}
.carousel__track::-webkit-scrollbar{height:8px}
.carousel__track::-webkit-scrollbar-thumb{background:rgba(12,90,96,0.18);border-radius:999px}
.carousel__track > *{flex:0 0 88%;scroll-snap-align:start}
@media (min-width: 840px){
  .carousel__track > *{flex:0 0 calc((100% - (2 * var(--g))) / 3)}
}

/* Testimonials page: infinite loop carousel (preserves existing card design) */
.testipage .loopcar{--per:1}
@media (min-width: 600px){
  .testipage .loopcar{--per:2}
}
@media (min-width: 840px){
  .testipage .loopcar{--per:3}
}
@media (min-width: 1200px){
  .testipage .loopcar{--per:4}
}
.testipage .loopcar__viewport{overflow:hidden}
.testipage .loopcar__track{
  display:flex;
  gap:var(--g);
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  padding:4px 0 12px;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.testipage .loopcar__track.testimonial-track{
  overflow: visible;
  overflow-x: visible;
  scroll-snap-type: none;
}
.testipage .loopcar__track::-webkit-scrollbar{display:none}
.testipage .loopcar__slide{
  flex:0 0 calc((100% - ((var(--per) - 1) * var(--g))) / var(--per));
  scroll-snap-align:start;
}
.testipage .loopcar__track.testimonial-track > .loopcar__slide{
  flex:0 0 min(300px, 80vw);
  scroll-snap-align: none;
}
@media(min-width:600px){
  .testipage .loopcar__track.testimonial-track > .loopcar__slide{flex:0 0 280px}
}
@media(min-width:1024px){
  .testipage .loopcar__track.testimonial-track > .loopcar__slide{flex:0 0 300px}
}
.testipage .loopcar__ui{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-top:12px;
}
.testipage .loopcar__arrow{
  width:44px;height:44px;
  border-radius:14px;
  border:1px solid rgba(0,0,0,0.10);
  background:#ffffff;
  color:var(--navy-950);
  box-shadow: 0 10px 25px rgba(0,0,0,0.06);
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
}
.testipage .loopcar__arrow:hover{
  transform: translateY(-1px);
  box-shadow: 0 16px 34px rgba(0,0,0,0.10);
}
.testipage .loopcar__arrow:active{transform: translateY(0px)}
.testipage .loopcar__arrow svg{width:18px;height:18px}
.testipage .loopcar__arrow:focus-visible,
.testipage .loopcar__dot:focus-visible{
  outline: 2px solid rgba(122,194,82,0.70);
  outline-offset: 2px;
}
.testipage .loopcar__dots{display:flex;gap:8px;align-items:center;justify-content:center}
.testipage .loopcar__dot{
  width:8px;height:8px;border-radius:999px;
  border:0;
  background: rgba(12,90,96,0.14);
  cursor:pointer;
  transition: transform 160ms ease, background 160ms ease;
}
.testipage .loopcar__dot.is-active{background: var(--gold); transform: scale(1.25)}
.testipage .loopcar__dot:hover{transform: scale(1.25)}

/* Testimonials page: Google Reviews icon */
.testipage .greviews__title{display:flex;align-items:center;gap:10px}
.testipage .gico{
  width:28px;height:28px;border-radius:10px;
  display:inline-flex;align-items:center;justify-content:center;
  background: rgba(12,90,96,0.08);
  border:1px solid rgba(12,90,96,0.12);
  color: var(--navy-950);
}
.testipage .gico svg{width:16px;height:16px}

/* Portfolio review tool */
.reviewtool{background: var(--paper)}
.reviewSplit{display:grid;grid-template-columns:1fr;gap:24px;align-items:center}
.reviewLeft .sectionhead{margin-bottom:14px}
.reviewBadges{display:grid;gap:10px}
.tbadge{
  display:flex;align-items:center;gap:10px;
  padding:14px 16px;
  border-radius:12px;
  background:#F9FAFB;
  border:1px solid rgba(0,0,0,0.04);
  color:#0F3D3E;
  font-weight:500;
}
.tbadge span{color:#5FD068;font-weight:700}

.reviewGlass{
  background: rgba(255,255,255,0.85);
  backdrop-filter: blur(10px);
  border-radius: 18px;
  padding: 32px;
  border:1px solid rgba(0,0,0,0.06);
  box-shadow: 0 12px 30px rgba(0,0,0,0.05);
}
.reviewgrid{display:grid;grid-template-columns:1fr;gap:24px;margin-top:16px}
.reviewactions{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:18px}
.reviewmsg{color:var(--muted);font-size:0.92rem}
@media (min-width: 840px){
  .reviewSplit{grid-template-columns:1fr 1fr;gap:40px}
  .reviewgrid{grid-template-columns:repeat(2,1fr)}
}

/* Research insights */
.research .grid3{gap:24px}
.rcard{padding:24px}
.rcard__icon{
  width:44px;height:44px;border-radius:12px;
  display:inline-flex;align-items:center;justify-content:center;
  background:#F9FAFB;
  border:1px solid rgba(0,0,0,0.06);
  color:#1F7A8C;
  margin-bottom:14px;
}
.rcard__icon svg{width:22px;height:22px}
.rcard h3{margin:0 0 8px;font-weight:600;color:#0F3D3E}
.rcard p{margin:0;color:var(--muted);line-height:1.5}
.linkbtn{display:inline-flex;align-items:center;gap:8px;margin-top:14px;color:#1F7A8C;font-weight:600}
.linkbtn::after{content:"→";opacity:0.85}
.linkbtn:hover{color:#0F3D3E}

/* FAQ accordion */
.faqstack{display:grid;gap:12px}
details.faq{padding:18px;border-radius:12px;box-shadow: 0 6px 20px rgba(0,0,0,0.04)}
details.faq summary{cursor:pointer;list-style:none;font-weight:600;color:#0F3D3E}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary{display:flex;align-items:center;justify-content:space-between;gap:12px}
details.faq summary::after{content:"+";font-weight:700;color:#5FD068}
details.faq[open] summary::after{content:"–"}
.faq__a{margin-top:12px;color:var(--muted);line-height:1.55}
.faq__a p{margin:0}

/* Contact cards */
.ccard{padding:24px}
.ccard__k{font-size:14px;color:#6B7280}
.ccard__v{margin-top:10px;font-weight:600;color:#0F3D3E;font-size:1.05rem}
.ccard__m{margin-top:8px;color:var(--muted);font-size:0.92rem}
.contact__cta{margin-top:18px}

/* Premium footer */
.footerpro__top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}
.footerpro__brand{display:flex;align-items:center;gap:12px}
.footerpro__name{font-weight:900;color:var(--navy-950)}
.footerpro__muted{color:rgba(12,90,96,0.70);margin-top:2px}
.footerpro__grid{display:grid;grid-template-columns:1fr;gap:18px;margin-top:18px}
.footercol{display:grid;gap:10px}
.footercol__title{font-weight:900;color:var(--navy-950)}
.footercol a{color:rgba(12,90,96,0.78)}
.footercol a:hover{color:var(--navy-950)}
.footerlatest__item{color:rgba(12,90,96,0.74)}
.footercontact{display:grid;gap:8px}
.footercontact__muted{color:rgba(12,90,96,0.70)}
.footerpro__bottom{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:18px;color:rgba(12,90,96,0.70);font-size:0.92rem}
.footerpro__sep{opacity:0.55}
@media (min-width: 840px){
  .footerpro__grid{grid-template-columns: 1fr 1fr 1fr}
}

/* Micro hover lift (subtle) — scoped away from components with their own hover */
@media (hover:hover){
  .card:not(.metric):not(.viz):not(.tcard):not(.article):not(.tw-card):not(.tw-follow-card):not(.landscape__card):not(.step):not(.faq):not(.flow__card):not(.rcard):hover{
    transform: translateY(-4px);
    box-shadow: 0 18px 40px rgba(0,0,0,0.08);
  }
}
/* Nationwide card (dot-map + data pills) */
.nationcard{background: radial-gradient(900px 520px at 12% 20%, rgba(122,194,82,0.08), transparent 55%), radial-gradient(900px 520px at 82% 40%, rgba(12,90,96,0.16), transparent 60%), linear-gradient(180deg, #111315, #0b0c0d); border:1px solid rgba(255,255,255,0.08); box-shadow: 0 26px 70px rgba(0,0,0,0.55); color:#ffffff; overflow:hidden}
.nationcard__grid{display:grid;grid-template-columns:1fr;gap:16px}
.nationcard__copy{padding:22px}
.nationcard__copy h2{margin:0; color:#ffffff; font-size: clamp(2.2rem, 1.4rem + 2.8vw, 3.4rem); line-height:1.02}
.nationcard__btn{margin-top:18px}
.nationcard__map{position:relative; min-height: 280px; padding:18px}
.nationcard__map .india__svg{width:100%;max-width:520px;margin-left:auto;display:block;filter: contrast(1.05)}
.pins{position:absolute; inset:0; pointer-events:none}
.pin{position:absolute; left:var(--x); top:var(--y); transform: translate(-50%, -50%); display:inline-flex; align-items:center; gap:10px; padding:10px 12px; border-radius:999px; background: rgba(255,255,255,0.95); color:#0b0c0d; box-shadow: 0 16px 34px rgba(0,0,0,0.32); border:1px solid rgba(255,255,255,0.25); font-weight:800; letter-spacing:0.1px}
.pin__ic{width:18px;height:18px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;background: rgba(12,90,96,0.08); color: var(--navy-950); font-weight:900}
.pin__txt strong{margin-left:6px;color:var(--navy-950)}
@media (min-width: 840px){
  .nationcard__grid{grid-template-columns: 1.05fr 0.95fr; align-items:center}
  .nationcard__copy{padding:34px}
  .nationcard__map{min-height: 420px; padding:28px}
}
/* Chart.js in Portfolio Intelligence */
.intelligence .viz__body{height:220px; background:#ffffff;}
.intelligence .viz__body canvas{width:100% !important; height:100% !important;}
.intelligence .viz__foot{gap:10px}

.riskpanel{display:grid;grid-template-columns:1fr;gap:12px;padding:12px}
.riskmetric{
  background:#F9FAFB;
  border-radius:12px;
  padding:16px;
  border:1px solid rgba(0,0,0,0.04);
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.riskmetric__k{font-size:14px;color:#6B7280}
.riskmetric__v{margin:0;font-weight:600;font-size:18px;color:#0F3D3E;font-variant-numeric: tabular-nums}
.risknote{color:var(--muted);font-size:0.9rem;line-height:1.35}

@media (min-width: 840px){
  .intelligence .grid3{gap:24px}
}
.intelligence .viz:nth-child(3) .viz__body{height:auto}

/* Investment Process (inner page) */
.hero--inner{padding:56px 0 44px}
.processpage .hero__copy .subhead{max-width: 62ch}
.testipage .hero--inner{
  background:
    radial-gradient(900px 520px at 12% 20%, rgba(95,208,104,0.10), transparent 55%),
    radial-gradient(900px 520px at 82% 40%, rgba(31,122,140,0.22), transparent 60%),
    linear-gradient(180deg, #111315, #0b0c0d);
  color:#ffffff;
  border-bottom:1px solid rgba(255,255,255,0.08);
}
.testipage .hero__grid{grid-template-columns:1fr;justify-items:center}
.testipage .hero__copy{text-align:center}
.testipage .hero__copy h1{color:#ffffff;max-width: 22ch;margin-left:auto;margin-right:auto}
.testipage .hero__copy .subhead{color: rgba(255,255,255,0.78);margin-left:auto;margin-right:auto}
.testipage .accent{color: var(--mint)}
.testipage .badge--hero{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.86);
  border-color: rgba(255,255,255,0.14);
  margin-bottom: 12px;
}

.testipage .sectionhead--center{
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  text-align:center;
}
.testipage .sectionhead--center p{max-width: 62ch}

.testipage .allreviews .grid3{gap:24px}
@media (min-width: 600px){
  .testipage .allreviews .grid3{grid-template-columns: repeat(2, 1fr)}
}
@media (min-width: 840px){
  .testipage .allreviews .grid3{grid-template-columns: repeat(3, 1fr)}
}

.testipage .greviewsPanel{
  padding:18px;
  border-radius: 22px;
  background:
    radial-gradient(700px 360px at 18% 22%, rgba(31,122,140,0.20), transparent 56%),
    radial-gradient(780px 420px at 82% 28%, rgba(95,208,104,0.18), transparent 58%),
    linear-gradient(180deg, #111315, #0b0c0d);
  border:1px solid rgba(255,255,255,0.08);
  box-shadow: 0 26px 70px rgba(0,0,0,0.55);
  color:#ffffff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:16px;
  text-align:center;
}
.testipage .greviewsPanel h2{margin:0;color:#ffffff}
.testipage .greviewsPanel .subhead{margin:10px 0 0;color: rgba(255,255,255,0.78);max-width: 62ch}
.testipage .greviewsPanel__meta{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:12px}
.testipage .greviewsPanel .fmuted{color: rgba(255,255,255,0.78)}
.testipage .greviewsPanel .gico{
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.14);
  color:#ffffff;
}
.testipage .greviewsPanel__actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
@media (min-width: 840px){
  .testipage .greviewsPanel{padding:28px 30px}
}
.quoteCard{margin-top:16px;padding:18px;background:#ffffff;border-color:rgba(12,90,96,0.12)}
.quoteCard__q{margin:0;color:var(--navy-950);font-weight:900;letter-spacing:-0.1px;line-height:1.25}
.quoteCard__p{margin:10px 0 0;color:rgba(12,90,96,0.74);line-height:1.5}
.quoteCard__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}

.procDash{padding:16px; background: linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.03)); border-color: rgba(255,255,255,0.10)}
.procDash__head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.procDash__title{font-weight:950;color:#ffffff;letter-spacing:-0.2px}
.procDash .badge{background: rgba(255,255,255,0.08);color: rgba(255,255,255,0.86);border-color: rgba(255,255,255,0.14)}
.procDash__body{margin-top:14px}
.procDash__foot{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.processpage .procDash .mini{background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.12)}
.processpage .procDash .mini__k{color: rgba(255,255,255,0.78)}
.processpage .procDash .mini__v{color:#ffffff}

.phoneMock{border-radius: 24px; padding:14px; background: rgba(11,12,13,0.45); border:1px solid rgba(255,255,255,0.10); box-shadow: 0 26px 70px rgba(0,0,0,0.55)}
.phoneMock__top{display:flex;align-items:center;gap:10px}
.phoneMock__dot{width:10px;height:10px;border-radius:999px;background: rgba(255,255,255,0.20)}
.phoneMock__bar{height:10px;border-radius:999px;flex:1;background: linear-gradient(90deg, rgba(255,255,255,0.16), rgba(255,255,255,0.06))}
.phoneMock__kpi{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-top:12px}
.phoneMock__kpi .kpi__k{color: rgba(255,255,255,0.72);font-size:0.82rem}
.phoneMock__kpi .kpi__v{color:#ffffff;font-weight:950}
.pill--ok{background: rgba(122,194,82,0.14); color:#ffffff; border:1px solid rgba(122,194,82,0.24)}
.phoneMock__chart{margin-top:12px;height:98px;border-radius:18px;background: radial-gradient(220px 120px at 20% 30%, rgba(122,194,82,0.14), transparent 60%), radial-gradient(240px 120px at 80% 60%, rgba(255,255,255,0.08), transparent 62%), rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.10); overflow:hidden; position:relative}
.spark{position:absolute;inset:0;background:
  linear-gradient(90deg, rgba(255,255,255,0.00) 0%, rgba(255,255,255,0.06) 45%, rgba(255,255,255,0.00) 100%),
  radial-gradient(80px 40px at 18% 52%, rgba(122,194,82,0.16), transparent 62%),
  radial-gradient(90px 44px at 62% 30%, rgba(12,90,96,0.18), transparent 62%);
  transform: translateX(-22%);
  animation: sparkMove 2600ms ease-in-out infinite;
}
@keyframes sparkMove{0%{transform: translateX(-22%)}50%{transform: translateX(18%)}100%{transform: translateX(-22%)}}
.pmChart{position:absolute;inset:0;width:100%;height:100%}
.pmChart__line{
  filter: drop-shadow(0 6px 16px rgba(0,0,0,0.28));
  stroke-dasharray: 520;
  stroke-dashoffset: 520;
  animation: pmDraw 1300ms ease-out 250ms forwards;
}
.pmChart__area{opacity:0.9}
.pmChart__dot{fill:#ffffff;stroke: rgba(122,194,82,0.9); stroke-width:2.2; filter: drop-shadow(0 10px 18px rgba(0,0,0,0.35))}
.js .pmChart__dot{opacity:0; animation: pmDot 1300ms ease-out 250ms forwards}
@keyframes pmDraw{to{stroke-dashoffset:0}}
@keyframes pmDot{to{opacity:1}}
.phoneMock__rows{display:grid;gap:8px;margin-top:12px}
.phoneMock__rows .row{display:flex;align-items:center;justify-content:space-between;color: rgba(255,255,255,0.86);font-weight:800;background: rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.10);border-radius:14px;padding:10px 12px}

.pstage,.ponboard{padding:48px 0}
.pcard{padding:18px}
.pcard__icon{width:44px;height:44px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;
  background: rgba(122,194,82,0.10);
  color: var(--navy-950);
  border:1px solid rgba(12,90,96,0.12);
  margin-bottom:12px;
}
.pcard h3{margin:0 0 8px}
.pcard p{margin:0;color:rgba(12,90,96,0.74);line-height:1.5}

.ptl{display:grid;gap:14px;position:relative}
.ptl:before{content:"";position:absolute;left:22px;top:10px;bottom:10px;width:2px;background: rgba(12,90,96,0.12)}
.ptl__step{display:grid;grid-template-columns: 48px 1fr;gap:14px;padding:16px 16px 16px 12px;position:relative;background:#ffffff;border-color: rgba(12,90,96,0.12)}
.ptl__idx{width:44px;height:44px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-weight:950;
  background: rgba(12,90,96,0.08);
  color: var(--navy-950);
  border:1px solid rgba(12,90,96,0.12);
  z-index:1;
}
.ptl__body h3{margin:0 0 6px;letter-spacing:-0.15px}
.ptl__body p{margin:0;color:rgba(12,90,96,0.74);line-height:1.5}
.ptl__step--highlight{border-color: rgba(122,194,82,0.35); box-shadow: 0 22px 50px rgba(12,90,96,0.12)}
.ptl__step--highlight .ptl__idx{background: rgba(122,194,82,0.14); border-color: rgba(122,194,82,0.34)}
.ptl__aside{margin-top:12px}
.phoneMini{width:min(260px, 100%);border-radius:22px;padding:14px;background: radial-gradient(240px 160px at 18% 18%, rgba(122,194,82,0.14), transparent 62%), #0b0c0d;border:1px solid rgba(255,255,255,0.10); box-shadow: 0 26px 70px rgba(0,0,0,0.40)}
.phoneMini__top{height:10px;border-radius:999px;background: rgba(255,255,255,0.14)}
.phoneMini__kpi{margin-top:12px}
.phoneMini__kpi .k1{color: rgba(255,255,255,0.70);font-size:0.82rem}
.phoneMini__kpi .k2{color:#ffffff;font-weight:950;margin-top:4px}
.phoneMini__bars{display:flex;gap:8px;align-items:flex-end;height:74px;margin-top:12px}
.phoneMini__bars span{flex:1;border-radius:10px;background: linear-gradient(180deg, rgba(122,194,82,0.92), rgba(12,90,96,0.32))}
.phoneMini__cta{margin-top:14px;height:38px;border-radius:14px;background: rgba(255,255,255,0.10);border:1px solid rgba(255,255,255,0.12)}

.pcta{padding:26px 0 60px}
.pcta__card{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px;
  background: radial-gradient(720px 360px at 18% 18%, rgba(122,194,82,0.10), transparent 58%),
              radial-gradient(760px 420px at 84% 52%, rgba(12,90,96,0.26), transparent 64%),
              linear-gradient(180deg, #111315, #0b0c0d);
  color:#ffffff;
  border:1px solid rgba(255,255,255,0.08);
  box-shadow: 0 26px 70px rgba(0,0,0,0.55);
}
.pcta__card h2{margin:0;color:#ffffff}
.pcta__card p{margin:6px 0 0;color: rgba(255,255,255,0.78)}

@media (min-width: 840px){
  .ptl__step{grid-template-columns: 56px 1fr}
  .ptl:before{left:28px}
  .ptl__aside{max-width: 320px}
}

/* About / Blog / Testimonials / Contact pages */
.vmcard{padding:24px}
.vmcard h3{margin:0 0 10px;font-size:var(--h3);font-weight:600;color:#0F3D3E}
.vmcard p{margin:0;color:rgba(12,90,96,0.74);line-height:1.55}

.bio{padding:24px}
.bio p{margin:0;color:rgba(12,90,96,0.74);line-height:1.55}
.bio p + p{margin-top:10px}

.teamgrid{display:grid;grid-template-columns:1fr;gap:24px}
.teamcard{padding:24px;display:flex;flex-direction:column;gap:10px}

/* Photo container — square crop, same size as old avatar */
.teamcard__photo{
  width:80px;height:80px;
  border-radius:20px;
  overflow:hidden;
  flex-shrink:0;
  background:rgba(12,90,96,0.06);
  border:1px solid rgba(12,90,96,0.10);
  display:flex;align-items:center;justify-content:center;
}
.teamcard__photo img{
  width:100%;height:100%;
  object-fit:cover;object-position:center top;
  display:block;
  border-radius:20px;
}

/* Initials fallback (shown when image fails to load) */
.avatar{
  width:80px;height:80px;border-radius:20px;
  display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:1.1rem;letter-spacing:0.3px;
  color:#0F3D3E;
  background:rgba(12,90,96,0.08);
  border:1px solid rgba(12,90,96,0.12);
  flex-shrink:0;
}
.teamcard__name{font-weight:600;color:#0F3D3E}
.teamcard__role{color:var(--muted);font-size:0.93rem}
@media (min-width: 600px){
  .teamgrid{grid-template-columns: repeat(2, 1fr)}
}
@media (min-width: 840px){
  .teamgrid{grid-template-columns: repeat(4, 1fr)}
}

.greviews__card{padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.greviews__title{font-weight:600;letter-spacing:-0.2px;color:#0F3D3E}
.greviews__meta{display:flex;align-items:center;gap:10px;margin-top:8px}
.greviews__actions{display:flex;gap:10px;flex-wrap:wrap}

.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.filterbtn{
  padding:10px 12px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,0.08);
  background:#ffffff;
  color:#0F3D3E;
  font-weight:600;
  font-size:0.9rem;
  cursor:pointer;
  transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease, border-color 160ms ease;
}
.filterbtn:hover{transform: translateY(-1px); box-shadow: 0 10px 25px rgba(0,0,0,0.06)}
.filterbtn.is-active{background: rgba(95,208,104,0.14); border-color: rgba(95,208,104,0.34)}

.blogmore{display:flex;justify-content:center;margin-top:18px}

.contactSplit{display:grid;grid-template-columns:1fr;gap:24px;align-items:start}
.contactFormCard{padding:24px}
.contactForm{display:grid;gap:12px}
.contactInfo{display:grid;gap:24px;align-items:start}
.mapCard{padding:0;overflow:hidden;border-radius:16px}
.mapCard iframe{width:100%;height:320px;border:0;display:block}
@media (min-width: 840px){
  .contactSplit{grid-template-columns: 1fr 1fr;align-items:start}
  .mapCard iframe{height:360px}
  .contactMapFull iframe{height:420px}
}

textarea{
  width:100%;
  padding:12px 14px;
  border-radius: 12px;
  border:1px solid rgba(0,0,0,0.10);
  background: #ffffff;
  color: #0F3D3E;
  resize: vertical;
}
.modal textarea{
  border:1px solid rgba(255,255,255,0.14);
  background: rgba(11,12,13,0.55);
  color: rgba(255,255,255,0.92);
}

/* =============================================
   TASK 2 – Cashflow Status Panel
   ============================================= */
.cashflow-panel{display:grid;grid-template-columns:1fr;gap:8px;padding:12px}
.cashflow-row{
  background:#F9FAFB;
  border-radius:12px;
  padding:11px 14px;
  border:1px solid rgba(0,0,0,0.04);
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:0.88rem;
}
.cashflow-row--sep{
  background: rgba(15,61,62,0.05);
  border-color: rgba(15,61,62,0.10);
  font-weight:600;
}
.cashflow-label{font-size:14px;color:#6B7280}
.cashflow-value{
  font-weight:600;
  font-size:15px;
  font-variant-numeric:tabular-nums;
  text-align:right;
  color:#0F3D3E;
}
.cashflow-row--sep .cashflow-label{color:#0F3D3E;font-weight:600}
.cashflow-value--pos{color:#3BAF5E}
.cashflow-value--neg{color:#e05252}

/* =============================================
   TASK 3 – Form Validation Styles
   ============================================= */
.field__req{color:#e05252;font-size:0.82rem;margin-left:2px}
.field__opt{color:var(--muted2);font-size:0.82rem;font-weight:400}
.field__err{
  display:block;
  font-size:0.82rem;
  color:#e05252;
  min-height:1.1em;
  margin-top:2px;
}
.field--invalid input,
.field--invalid select,
.field--invalid textarea{
  border-color: rgba(224,82,82,0.6);
  box-shadow: 0 0 0 2px rgba(224,82,82,0.10);
}
.field--valid input,
.field--valid select,
.field--valid textarea{
  border-color: rgba(59,175,94,0.45);
}

/* =============================================
   TASK 1 – Latest Market Updates / Twitter Cards
   ============================================= */
.twitterfeed{padding:56px 0; background: var(--paper)}
.twitter-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--g);
  margin-top:0;
}
@media (min-width: 640px){
  .twitter-grid{grid-template-columns:1fr 1fr}
}
@media (min-width: 960px){
  .twitter-grid{grid-template-columns:1fr 1fr 1fr}
}
.tw-card{padding:22px;display:flex;flex-direction:column;gap:14px}
.tw-card__head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.tw-card__brand{display:flex;align-items:center;gap:10px}
.tw-card__avatar{
  width:34px;height:34px;border-radius:10px;
  background:var(--navy-950);
  display:flex;align-items:center;justify-content:center;
  color:#ffffff;flex-shrink:0;
}
.tw-card__name{font-weight:600;font-size:0.88rem;color:var(--navy-950)}
.tw-card__handle{font-size:0.8rem;color:var(--muted)}
.tw-card__text{
  margin:0;
  font-size:0.93rem;
  color:var(--navy-950);
  line-height:1.55;
  flex:1;
}
.tw-card__foot{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding-top:12px;
  border-top:1px solid rgba(0,0,0,0.05);
}
.tw-card__date{font-size:0.8rem;color:var(--muted)}
.tw-col-stack{display:flex;flex-direction:column;gap:var(--g)}
.tw-follow-card{padding:18px 22px}
.tw-follow-card__inner{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.tw-follow-card__icon{
  width:38px;height:38px;border-radius:10px;
  background:var(--navy-950);
  display:flex;align-items:center;justify-content:center;
  color:#ffffff;flex-shrink:0;
}
.tw-follow-card__copy{flex:1;min-width:0}
.tw-follow-card__title{font-weight:600;font-size:0.92rem;color:var(--navy-950)}
.tw-follow-card__sub{font-size:0.8rem;color:var(--muted)}

/* =============================================
   TASK 4 – Contact Page Improved Layout
   ============================================= */
.contactInfoCard{padding:28px}
.contactInfoRows{display:grid;gap:18px;margin:18px 0}
.contactInfoRow{display:flex;gap:14px;align-items:flex-start}
.contactInfoRow__icon{
  flex-shrink:0;
  width:38px;height:38px;
  background:rgba(15,61,62,0.06);
  border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  color:var(--navy-950);
}
.contactInfoRow__body{display:grid;gap:2px}
.contactInfoRow__k{font-size:0.82rem;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:0.04em}
.contactInfoRow__v{font-size:0.95rem;color:var(--navy-950);font-weight:500}
.contactInfoRow__link{color:var(--sky);text-decoration:none}
.contactInfoRow__link:hover{text-decoration:underline}
.contactInfoRow__sub{font-size:0.82rem;color:var(--muted2)}

.contactSocial{margin-top:18px;padding-top:18px;border-top:1px solid rgba(0,0,0,0.07)}
.contactSocial__label{font-size:0.82rem;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:0.04em;margin-bottom:10px}
.contactSocial__icons{display:flex;gap:10px;flex-wrap:wrap}
.contactSocial__icon{
  width:38px;height:38px;
  border-radius:10px;
  background:rgba(15,61,62,0.06);
  border:1px solid rgba(0,0,0,0.06);
  display:flex;align-items:center;justify-content:center;
  color:var(--navy-950);
  transition: background 160ms ease, transform 160ms ease, color 160ms ease;
}
.contactSocial__icon:hover{
  background:var(--navy-950);
  color:#ffffff;
  transform:translateY(-2px);
}

.contactMapFull iframe{width:100%;height:380px;border:0;display:block;border-radius:var(--r-2)}

/* =============================================
   TASK 5 – Footer Social Icons
   ============================================= */
.footerDash__social{
  margin-top:24px;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,0.10);
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
}
.ftitle--social{
  font-weight:600;
  color:#ffffff;
  font-size:0.9rem;
  white-space:nowrap;
  flex-shrink:0;
}
.fsocial{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.fsocial__link{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 12px;
  border-radius:10px;
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.10);
  color:rgba(255,255,255,0.82);
  font-size:0.84rem;
  font-weight:500;
  transition: background 160ms ease, color 160ms ease, transform 160ms ease, border-color 160ms ease;
}
.fsocial__link:hover{
  background:rgba(255,255,255,0.16);
  color:#ffffff;
  border-color:rgba(255,255,255,0.22);
  transform:translateY(-2px);
}

/* ═══════════════════════════════════════════════
   FEATURE 1 — MARKET TICKER
   ═══════════════════════════════════════════════ */
.ticker-bar{
  background:var(--navy-950);
  border-bottom:1px solid rgba(255,255,255,0.07);
  overflow:hidden;
  height:36px;
  display:flex;
  align-items:center;
  position:relative;
  z-index:19;
}
.ticker-bar::before,.ticker-bar::after{
  content:'';
  position:absolute;
  top:0;bottom:0;
  width:48px;
  z-index:2;
  pointer-events:none;
}
.ticker-bar::before{left:0;background:linear-gradient(to right,var(--navy-950),transparent)}
.ticker-bar::after{right:0;background:linear-gradient(to left,var(--navy-950),transparent)}
.ticker-track{
  display:flex;
  gap:0;
  will-change:transform;
  animation:ticker-scroll 28s linear infinite;
  white-space:nowrap;
}
.ticker-bar:hover .ticker-track{animation-play-state:paused}
@keyframes ticker-scroll{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}
.ticker-item{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:0 28px;
  font-size:0.78rem;
  font-weight:600;
  color:rgba(255,255,255,0.75);
  letter-spacing:0.02em;
}
.ticker-item__label{color:rgba(255,255,255,0.45);font-weight:500}
.ticker-item__val{color:#ffffff}
.ticker-item__chg--up{color:#5FD068}
.ticker-item__chg--dn{color:#f87171}
.ticker-sep{color:rgba(255,255,255,0.14);padding:0 2px;font-size:0.7rem}

/* ═══════════════════════════════════════════════
   FEATURE 6 — TRUST BADGES (below hero)
   ═══════════════════════════════════════════════ */
.trustbar{
  background:#F9FAFB;
  border-top:1px solid rgba(0,0,0,0.05);
  border-bottom:1px solid rgba(0,0,0,0.05);
  padding:20px 0;
}
.trustbar__inner{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:12px 0;
}
.trust-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 20px;
  font-size:0.84rem;
  font-weight:600;
  color:var(--navy-950);
  position:relative;
}
.trust-badge + .trust-badge::before{
  content:'';
  position:absolute;
  left:0;top:20%;bottom:20%;
  width:1px;
  background:rgba(0,0,0,0.10);
}
.trust-badge__icon{
  width:28px;height:28px;
  border-radius:8px;
  background:var(--navy-950);
  color:#ffffff;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.trust-badge__sub{
  font-weight:400;
  color:var(--muted);
  font-size:0.75rem;
  display:block;
  margin-top:1px;
}

/* ═══════════════════════════════════════════════
   FEATURE 2 — SIP CALCULATOR
   ═══════════════════════════════════════════════ */
.sipcalc{padding:68px 0;background:#ffffff}
.sipcalc .sectionhead{margin-bottom:40px}
.sipcalc__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:28px;
  align-items:start;
}
@media(min-width:860px){
  .sipcalc__grid{grid-template-columns:1fr 1fr;gap:40px}
}
.sipcalc__inputs{display:grid;gap:22px}
.sipcalc__field{display:grid;gap:8px}
.sipcalc__label{
  font-size:0.85rem;font-weight:600;
  color:var(--navy-950);
  display:flex;justify-content:space-between;align-items:center;
}
.sipcalc__val-bubble{
  font-size:0.85rem;font-weight:700;
  color:var(--sky);
  min-width:80px;text-align:right;
}
.sipcalc__range{
  -webkit-appearance:none;appearance:none;
  width:100%;height:6px;
  border-radius:999px;
  background:linear-gradient(to right,var(--sky) var(--pct,50%),rgba(0,0,0,0.09) var(--pct,50%));
  outline:none;border:none;padding:0;cursor:pointer;
}
.sipcalc__range::-webkit-slider-thumb{
  -webkit-appearance:none;
  width:20px;height:20px;
  border-radius:50%;
  background:var(--navy-950);
  border:3px solid #ffffff;
  box-shadow:0 2px 8px rgba(15,61,62,0.25);
  cursor:pointer;
}
.sipcalc__range::-moz-range-thumb{
  width:20px;height:20px;
  border-radius:50%;
  background:var(--navy-950);
  border:3px solid #ffffff;
  box-shadow:0 2px 8px rgba(15,61,62,0.25);
  cursor:pointer;
}
.sipcalc__results{
  display:grid;
  gap:14px;
  grid-template-columns:1fr;
}
.sipcalc__stat{
  background:#F9FAFB;
  border:1px solid rgba(0,0,0,0.06);
  border-radius:14px;
  padding:18px 20px;
  display:flex;align-items:center;
  justify-content:space-between;
  gap:12px;
}
.sipcalc__stat--highlight{
  background:var(--navy-950);
  border-color:transparent;
}
.sipcalc__stat__k{font-size:0.82rem;color:var(--muted);font-weight:500}
.sipcalc__stat--highlight .sipcalc__stat__k{color:rgba(255,255,255,0.6)}
.sipcalc__stat__v{font-size:1.15rem;font-weight:700;color:var(--navy-950)}
.sipcalc__stat--highlight .sipcalc__stat__v{color:#ffffff}
.sipcalc__stat__badge{
  font-size:0.75rem;font-weight:600;
  color:#3BAF5E;background:rgba(95,208,104,0.12);
  padding:3px 8px;border-radius:999px;
  white-space:nowrap;
}
.sipcalc__chart-wrap{
  position:relative;
  height:200px;
  margin-top:6px;
  border-radius:12px;
  overflow:hidden;
}
.sipcalc__chart-wrap canvas{width:100%!important;height:100%!important}

/* ═══════════════════════════════════════════════
   FEATURE 4 — TESTIMONIAL AUTO-SCROLL (infinite)
   ═══════════════════════════════════════════════ */
/* Replace snap-scroll with infinite marquee-style loop */
.carousel--auto{overflow:hidden;cursor:grab;user-select:none}
.testimonial-track {
  display: flex;
  gap: 24px;
  animation: scrollTestimonials 25s linear infinite;
  width: max-content;
  overflow: visible;
  scroll-snap-type: none;
}

@keyframes scrollTestimonials {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

.testimonial-track:hover {
  animation-play-state: paused;
}

@media (max-width: 768px) {
  .testimonial-track {
    animation-duration: 40s;
  }
}
.carousel--auto .carousel__track > *{
  flex:0 0 min(300px, 80vw);
  scroll-snap-align:none;
}
@media(min-width:600px){
  .carousel--auto .carousel__track > *{flex:0 0 280px}
}
@media(min-width:1024px){
  .carousel--auto .carousel__track > *{flex:0 0 300px}
}

/* ═══════════════════════════════════════════════
   FEATURE 5 — TWITTER TIMELINE EMBED
   ═══════════════════════════════════════════════ */
.tw-timeline-wrap{
  border-radius:16px;
  overflow:hidden;
  border:1px solid rgba(0,0,0,0.07);
  background:#15202b;
  min-height:502px;
  display:flex;align-items:center;justify-content:center;
}
.tw-timeline-wrap .twitter-timeline{width:100%!important}
.tw-sidebar{display:grid;gap:var(--g);align-content:start}
.tw-embed-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:28px;
  align-items:start;
}
@media(min-width:860px){
  .tw-embed-grid{grid-template-columns:1fr 1fr}
}

/* ═══════════════════════════════════════════════
   FOUNDER BIO UPDATE — subtitle & extra paragraphs
   ═══════════════════════════════════════════════ */
.founder__subtitle{
  font-size:clamp(0.9rem, 1rem + 0.3vw, 1.05rem);
  font-weight:500;
  color:var(--muted);
  display:block;
  margin-top:4px;
}
.founder__copy h2{
  line-height:1.15;
}
.founder__desc + .founder__desc{
  color:var(--muted);
  font-size:0.97rem;
  line-height:1.65;
}

/* ═══════════════════════════════════════════════
   SECTION 7–8 — OPPORTUNITY LANDSCAPE
   ═══════════════════════════════════════════════ */
.landscape{padding:72px 0;background:#F9FAFB;border-top:1px solid rgba(0,0,0,0.05)}
.landscape__grid{margin-top:40px;align-items:stretch}
.landscape__card{
  padding:28px;
  display:flex;
  flex-direction:column;
  gap:14px;
  border-radius:var(--r-2);
}
.landscape__card--accent{
  background:var(--navy-950);
  border-color:transparent;
  box-shadow:0 12px 40px rgba(15,61,62,0.18);
}
.landscape__label{
  display:inline-flex;
  align-items:center;
  padding:4px 12px;
  border-radius:999px;
  font-size:0.74rem;
  font-weight:600;
  letter-spacing:0.03em;
  text-transform:uppercase;
  width:fit-content;
}
.landscape__label--neutral{
  background:rgba(0,0,0,0.05);
  color:var(--muted);
}
.landscape__label--accent{
  background:rgba(95,208,104,0.15);
  color:#3BAF5E;
}
.landscape__title{
  font-size:var(--h3);
  font-weight:700;
  color:var(--navy-950);
  margin:0;
  line-height:1.25;
}
.landscape__card--accent .landscape__title{
  color:#ffffff;
}
.landscape__list{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:10px;
  flex:1;
}
.landscape__list li{
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-size:0.93rem;
  color:var(--muted);
  line-height:1.5;
}
.landscape__card--accent .landscape__list li{
  color:rgba(255,255,255,0.75);
}
.landscape__dot{
  width:8px;height:8px;
  border-radius:50%;
  flex-shrink:0;
  margin-top:6px;
}
.landscape__dot--muted{background:rgba(0,0,0,0.18)}
.landscape__dot--pos{background:#5FD068}
.landscape__card--accent .landscape__dot--muted{background:rgba(255,255,255,0.25)}

/* Section 8 CTA */
.landscape__cta{
  margin-top:48px;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:20px;
}
.landscape__cta-text{
  font-size:1.05rem;
  color:var(--muted);
  max-width:58ch;
  line-height:1.65;
  margin:0;
}

/* Process section CTA (sections 4–5) */
.process__cta{
  margin-top:40px;
  padding-top:32px;
  border-top:1px solid var(--line);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:18px;
  text-align:center;
}
.process__cta-text{
  font-size:1rem;
  color:var(--muted);
  max-width:62ch;
  line-height:1.65;
  margin:0;
  font-style:italic;
}

/* ═══════════════════════════════════════════════════════════
   UI POLISH — All 10 sections
   Additive only. No layout changes. No class renames.
   ═══════════════════════════════════════════════════════════ */

/* ── 1. HERO DASHBOARD CARD ─────────────────────────────── */
.dash {
  background: rgba(15, 61, 62, 0.85); /* darker base */
  backdrop-filter: blur(16px);
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 20px 60px rgba(0,0,0,0.35);
}
.dash__chart {
  border-radius: 14px;
  border: 1px solid rgba(15,61,62,0.08);
  background: var(--navy-950);
  overflow: hidden;
}
.dash__chart svg {
  display: block;
  width: 100%;
  height: auto;
  shape-rendering: geometricPrecision;
}
.dash__value { font-size: 1.45rem; letter-spacing: -0.4px }
.subhead { font-size: 1.08rem; line-height: 1.70; color: var(--muted) }
.mini {
  background: linear-gradient(140deg, #F9FAFB, #F3F7F5);
  border: 1px solid rgba(15,61,62,0.06);
  transition: box-shadow 180ms ease;
}
.mini:hover { box-shadow: 0 8px 20px rgba(15,61,62,0.07) }

/* ── 2. METRICS ─────────────────────────────────────────── */
.metric__value { font-size: 34px; letter-spacing: -0.5px; line-height: 1.1 }
.metric__label { font-size: 13px; margin-top: 5px; color: var(--muted) }
.metric {
  transition: transform 200ms ease, box-shadow 200ms ease;
}
@media (hover: hover) {
  .metric:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 48px rgba(15,61,62,0.10);
  }
}
.metric__icon {
  background: linear-gradient(140deg, #F3F7F5, #EBF5F0);
  border: 1px solid rgba(15,61,62,0.08);
}

/* ── 3. FOUNDER SECTION ─────────────────────────────────── */
.founder__copy h2 {
  padding-top: 18px;
  border-top: 2px solid rgba(95,208,104,0.40);
  line-height: 1.18;
}
.founder__desc {
  line-height: 1.78;
  margin-bottom: 14px;
  font-size: 0.97rem;
}
.founder__desc + .founder__desc { margin-top: 0 }
.founder__meta {
  font-size: 0.88rem;
  letter-spacing: 0.01em;
  margin: 12px 0 18px;
}

/* ── 4. PORTFOLIO INTELLIGENCE CARDS ───────────────────── */
.viz {
  box-shadow: 0 8px 32px rgba(15,61,62,0.07), 0 1px 4px rgba(0,0,0,0.04);
  border: 1px solid rgba(15,61,62,0.07);
  transition: box-shadow 200ms ease, transform 200ms ease;
}
@media (hover: hover) {
  .viz:hover {
    box-shadow: 0 18px 48px rgba(15,61,62,0.11);
    transform: translateY(-3px);
  }
}
.viz__body {
  border-radius: 12px;
  border: 1px solid rgba(15,61,62,0.06);
  background: #FAFCFB;
  overflow: hidden;
}
.viz__body canvas { shape-rendering: geometricPrecision }
.kv {
  background: linear-gradient(140deg, #F9FAFB, #F3F7F5);
  border: 1px solid rgba(15,61,62,0.06);
}
.cashflow-row {
  background: linear-gradient(140deg, #FAFCFB, #F4F8F6);
  border: 1px solid rgba(15,61,62,0.05);
  transition: background 150ms ease;
}
.cashflow-row:hover { background: #EEF6F1 }

/* ── 5. APP SHOWCASE + PHONE MOCKUP ────────────────────── */
.appshowcase { padding: 72px 0; background: linear-gradient(180deg,#F8FAF9,#ffffff) }
.appshowcase__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
  align-items: center;
}
@media (min-width: 860px) {
  .appshowcase__grid { grid-template-columns: 1fr 1fr; gap: 56px }
}
.appshowcase__copy .sectionhead h2 { font-size: clamp(1.5rem,1.1rem + 1.4vw,2rem) }
.appshowcase__list {
  list-style: none;
  padding: 0; margin: 0;
  display: grid;
  gap: 14px;
  margin-top: 20px;
}
.appshowcase__list li {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 0.96rem;
  color: var(--navy-950);
  font-weight: 500;
}
.appshowcase__bullet {
  width: 26px; height: 26px;
  border-radius: 8px;
  background: rgba(95,208,104,0.14);
  border: 1px solid rgba(95,208,104,0.28);
  display: inline-flex; align-items: center; justify-content: center;
  color: #3BAF5E;
  flex-shrink: 0;
}
.appshowcase__visual {
  display: flex;
  justify-content: center;
  align-items: flex-start;
}

/* Phone shell */
.phone-mockup {
  position: relative;
  width: min(280px, 100%);
  margin: 0 auto;
  filter: drop-shadow(0 32px 64px rgba(15,61,62,0.22)) drop-shadow(0 8px 20px rgba(0,0,0,0.12));
}
@keyframes float {
  0% { transform: translateY(0px); }
  50% { transform: translateY(-12px); }
  100% { transform: translateY(0px); }
}
@media (min-width: 769px) {
  .phone-mockup {
    animation: float 6s ease-in-out infinite;
  }
}
@media (prefers-reduced-motion: reduce) {
  .phone-mockup { animation: none }
}
.phone-mockup__frame {
  border-radius: 40px;
  background: linear-gradient(160deg, #1a1f24, #0d1115);
  border: 2px solid rgba(255,255,255,0.13);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.12),
    inset 0 -1px 0 rgba(0,0,0,0.40),
    0 0 0 1px rgba(0,0,0,0.45);
  padding: 14px 10px 18px;
  overflow: hidden;
  position: relative;
}
/* Side buttons */
.phone-mockup__frame::before {
  content: '';
  position: absolute;
  left: -3px; top: 80px;
  width: 3px; height: 42px;
  background: rgba(255,255,255,0.10);
  border-radius: 3px 0 0 3px;
  box-shadow: 0 52px 0 rgba(255,255,255,0.10);
}
.phone-mockup__frame::after {
  content: '';
  position: absolute;
  right: -3px; top: 100px;
  width: 3px; height: 56px;
  background: rgba(255,255,255,0.10);
  border-radius: 0 3px 3px 0;
}
.phone-mockup__notch {
  width: 88px; height: 24px;
  background: #0d1115;
  border-radius: 0 0 16px 16px;
  margin: 0 auto 10px;
  position: relative;
  z-index: 2;
  border: 1px solid rgba(255,255,255,0.08);
  border-top: 0;
}
.phone-mockup__screen {
  border-radius: 28px;
  background: linear-gradient(160deg, #0F3D3E 0%, #082828 100%);
  padding: 14px 12px 12px;
  overflow: hidden;
  min-height: 460px;
  position: relative;
}
/* Screen inner glow */
.phone-mockup__screen::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(260px 160px at 80% 10%, rgba(95,208,104,0.14), transparent 60%),
    radial-gradient(220px 180px at 10% 80%, rgba(31,122,140,0.16), transparent 60%);
  pointer-events: none;
}
.phone-mockup__glow {
  position: absolute;
  inset: -20px;
  background: radial-gradient(300px 200px at 50% 60%, rgba(95,208,104,0.14), transparent 65%);
  filter: blur(24px);
  pointer-events: none;
  z-index: -1;
}

/* App showcase transition + phone screen */
.muted-heading{
  font-size: var(--small);
  color: var(--muted);
  opacity: 0.75;
  font-weight: 600;
  margin: 0 0 6px;
}
.phone-screen{
  display:flex;
  align-items:center;
  justify-content:center;
}
.portfolio-card{
  position:relative;
  z-index:1;
  width:100%;
  background:#0d1115;
  border:1px solid rgba(255,255,255,0.10);
  border-radius:20px;
  padding:18px 16px;
  box-shadow:0 18px 44px rgba(0,0,0,0.35);
}
.portfolio-card h4{
  margin:0;
  font-size:0.75rem;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:rgba(255,255,255,0.58);
  font-weight:700;
}
.portfolio-card h2{
  margin:10px 0 0;
  font-size:1.7rem;
  line-height:1.1;
  letter-spacing:-0.4px;
  color:#ffffff;
}
.portfolio-card .metrics{
  padding:0;
  margin:16px 0 0;
  display:grid;
  gap:10px;
}
.portfolio-card .metrics > div{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:14px;
  font-size:0.86rem;
  color:rgba(255,255,255,0.72);
}
.portfolio-card .metrics > div span{
  color:rgba(255,255,255,0.92);
  font-weight:600;
  text-align:right;
}

/* App screen content */
.pmapp__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
  position: relative;
  z-index: 1;
}
.pmapp__greeting {
  font-size: 0.72rem;
  font-weight: 700;
  color: rgba(255,255,255,0.55);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.pmapp__sub {
  font-size: 0.68rem;
  color: rgba(255,255,255,0.35);
  margin-top: 2px;
}
.pmapp__avatar {
  width: 28px; height: 28px;
  border-radius: 9px;
  background: rgba(95,208,104,0.22);
  border: 1px solid rgba(95,208,104,0.35);
  color: #5FD068;
  font-size: 0.65rem;
  font-weight: 800;
  display: flex; align-items: center; justify-content: center;
}
.pmapp__hero-val {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.09);
  border-radius: 14px;
  padding: 14px 12px 12px;
  margin-bottom: 10px;
  position: relative;
  z-index: 1;
}
.pmapp__val-label {
  font-size: 0.68rem;
  color: rgba(255,255,255,0.45);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 4px;
}
.pmapp__val-num {
  font-size: 1.30rem;
  font-weight: 800;
  color: #ffffff;
  letter-spacing: -0.4px;
  line-height: 1.1;
}
.pmapp__val-gain {
  margin-top: 5px;
  font-size: 0.75rem;
  font-weight: 700;
  color: #5FD068;
  display: flex;
  align-items: center;
  gap: 4px;
}
.pmapp__arrow { font-size: 0.65rem }

/* Spark bars */
.pmapp__sparkbar {
  display: flex;
  align-items: flex-end;
  gap: 3px;
  height: 36px;
  padding: 0 2px;
  margin-bottom: 10px;
}
.pmapp__sparkbar span {
  flex: 1;
  border-radius: 3px 3px 0 0;
  background: linear-gradient(180deg, rgba(95,208,104,0.75), rgba(31,122,140,0.35));
  transition: height 400ms ease;
}

/* Stats grid */
.pmapp__stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  margin-bottom: 10px;
  position: relative;
  z-index: 1;
}
.pmapp__stat {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 10px;
  padding: 8px 10px;
}
.pmapp__stat-k {
  font-size: 0.63rem;
  color: rgba(255,255,255,0.40);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-weight: 600;
  margin-bottom: 3px;
}
.pmapp__stat-v {
  font-size: 0.82rem;
  font-weight: 800;
  color: #ffffff;
  letter-spacing: -0.1px;
}
.pmapp__stat-v--pos { color: #5FD068 }

/* Fund list */
.pmapp__funds-label {
  font-size: 0.63rem;
  font-weight: 700;
  color: rgba(255,255,255,0.35);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 6px;
  position: relative;
  z-index: 1;
}
.pmapp__fund {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 8px;
  border-radius: 9px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.06);
  margin-bottom: 5px;
  position: relative;
  z-index: 1;
}
.pmapp__fund-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  flex-shrink: 0;
}
.pmapp__fund-dot--a { background: #5FD068 }
.pmapp__fund-dot--b { background: #1F7A8C }
.pmapp__fund-dot--c { background: #7AC252 }
.pmapp__fund-name {
  flex: 1;
  font-size: 0.70rem;
  color: rgba(255,255,255,0.70);
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pmapp__fund-val {
  font-size: 0.70rem;
  font-weight: 700;
  flex-shrink: 0;
}
.pmapp__disclaimer {
  font-size: 0.58rem;
  color: rgba(255,255,255,0.22);
  text-align: center;
  margin-top: 8px;
  line-height: 1.4;
  position: relative;
  z-index: 1;
}

/* ── 6. TESTIMONIAL CARDS ───────────────────────────────── */
.tcard {
  padding: 28px;
  position: relative;
  transition: box-shadow 200ms ease, transform 200ms ease;
}
/* Large decorative quote mark */
.tcard::before {
  content: '\201C';
  position: absolute;
  top: 14px; right: 20px;
  font-size: 4.5rem;
  line-height: 1;
  font-family: Georgia, serif;
  color: rgba(95,208,104,0.18);
  pointer-events: none;
  user-select: none;
}
.tcard__top { margin-bottom: 14px }
.tcard p {
  line-height: 1.65;
  font-size: 0.96rem;
  position: relative;
  z-index: 1;
}
@media (hover: hover) {
  .tcard:hover {
    box-shadow: 0 20px 48px rgba(15,61,62,0.10);
    transform: translateY(-4px);
  }
}

/* ── 7. BLOG CARDS ──────────────────────────────────────── */
.article {
  overflow: hidden;
  transition: box-shadow 220ms ease, transform 220ms ease;
}
@media (hover: hover) {
  .article:hover {
    box-shadow: 0 22px 52px rgba(15,61,62,0.11);
    transform: translateY(-5px);
  }
  .article:hover .article__thumb img {
    transform: scale(1.05);
  }
}
.article__thumb {
  overflow: hidden;
  position: relative;
}
.article__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 360ms ease;
  will-change: transform;
}
.article h3 { line-height: 1.35; font-size: 1.00rem }
.article__body { padding: 22px 24px }

/* ── 8. TWITTER / TWEET CARDS ──────────────────────────── */
.tw-card {
  transition: box-shadow 200ms ease, transform 200ms ease;
}
@media (hover: hover) {
  .tw-card:hover {
    box-shadow: 0 18px 44px rgba(15,61,62,0.10);
    transform: translateY(-4px);
  }
}
.tw-card__text { line-height: 1.60 }
.tw-follow-card {
  transition: box-shadow 200ms ease, transform 200ms ease;
}
@media (hover: hover) {
  .tw-follow-card:hover {
    box-shadow: 0 16px 36px rgba(15,61,62,0.09);
    transform: translateY(-3px);
  }
}

/* ── 9. OPPORTUNITY LANDSCAPE — ACCENT CARD ────────────── */
.landscape__card--accent {
  background:
    radial-gradient(360px 240px at 80% 20%, rgba(95,208,104,0.12), transparent 60%),
    radial-gradient(360px 280px at 10% 80%, rgba(31,122,140,0.15), transparent 62%),
    linear-gradient(160deg, #0e3535, #0b2a2a);
  border: 1px solid rgba(95,208,104,0.22);
  box-shadow:
    0 0 0 1px rgba(95,208,104,0.12),
    0 16px 48px rgba(15,61,62,0.28),
    0 0 60px -10px rgba(95,208,104,0.15);
  transition: box-shadow 200ms ease, transform 200ms ease;
}
@media (hover: hover) {
  .landscape__card--accent:hover {
    box-shadow:
      0 0 0 1px rgba(95,208,104,0.22),
      0 24px 64px rgba(15,61,62,0.32),
      0 0 80px -8px rgba(95,208,104,0.22);
    transform: translateY(-5px);
  }
}
.landscape__card--accent .landscape__title { font-size: 1.06rem }
.landscape__dot--pos { width: 9px; height: 9px; background: #5FD068; box-shadow: 0 0 6px rgba(95,208,104,0.50) }

/* Neutral landscape cards — subtle hover */
.landscape__card:not(.landscape__card--accent) {
  transition: box-shadow 200ms ease, transform 200ms ease;
}
@media (hover: hover) {
  .landscape__card:not(.landscape__card--accent):hover {
    box-shadow: 0 14px 36px rgba(15,61,62,0.08);
    transform: translateY(-3px);
  }
}

/* ── 10. FORM INPUT POLISH ──────────────────────────────── */
input, select, textarea {
  padding: 13px 15px;
  border-radius: 12px;
  border: 1.5px solid rgba(0,0,0,0.09);
  background: #FAFCFB;
  transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
  font-size: 0.95rem;
}
input:focus, select:focus, textarea:focus {
  outline: none;
  border-color: rgba(31,122,140,0.55);
  box-shadow: 0 0 0 3px rgba(31,122,140,0.10);
  background: #ffffff;
}
input::placeholder, textarea::placeholder {
  color: rgba(107,114,128,0.65);
}
.field__k {
  font-size: 0.84rem;
  font-weight: 600;
  color: var(--navy-950);
  margin-bottom: 2px;
  letter-spacing: 0.01em;
}
.field { gap: 8px }
.reviewGlass input,
.reviewGlass select,
.reviewGlass textarea {
  background: #ffffff;
  border-color: rgba(0,0,0,0.09);
}
.reviewGlass input:focus,
.reviewGlass select:focus,
.reviewGlass textarea:focus {
  border-color: rgba(31,122,140,0.50);
  box-shadow: 0 0 0 3px rgba(31,122,140,0.09);
}

/* ── 11. FINAL CTA CARD — GRADIENT ACCENT ──────────────── */
.finalcta {
  padding: 72px 0;
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(800px 400px at 8% 40%, rgba(31,122,140,0.07), transparent 60%),
    radial-gradient(700px 380px at 92% 55%, rgba(95,208,104,0.09), transparent 58%),
    linear-gradient(180deg, #F4FAF6 0%, #EDFAF2 100%);
  border-top: 1px solid rgba(95,208,104,0.18);
}
.finalcta::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(95,208,104,0.04) 0%, transparent 50%, rgba(31,122,140,0.04) 100%);
  pointer-events: none;
}
.finalcta__copy h2 {
  font-size: clamp(1.5rem, 1rem + 1.6vw, 2rem);
  letter-spacing: -0.3px;
  line-height: 1.2;
}
.finalcta__copy p {
  font-size: 1.02rem;
  line-height: 1.65;
}
.finalcta .btn--primary {
  box-shadow: 0 16px 40px rgba(59,175,94,0.28);
  font-size: 1.02rem;
  padding: 14px 28px;
}
.finalcta .btn--primary:hover {
  box-shadow: 0 22px 52px rgba(59,175,94,0.36);
  transform: translateY(-2px);
}
.meet__pane {
  background:
    radial-gradient(340px 200px at 80% 20%, rgba(95,208,104,0.08), transparent 60%),
    #ffffff;
  border: 1px solid rgba(95,208,104,0.16);
}

/* ── GLOBAL CARD HOVER — refine the existing rule ────────── */
@media (hover: hover) {
  /* Override generic card hover for cards that have their own hover */
  .metric, .viz, .tcard, .article, .tw-card, .tw-follow-card,
  .landscape__card, .landscape__card--accent {
    /* already defined per-component above — prevent double-transform */
  }
}

/* ── SECTION HEAD DIVIDER ACCENT ─────────────────────────── */
.sectionhead h2 { letter-spacing: -0.25px }

/* ── PROCESS / UNIQUE CARDS ──────────────────────────────── */
.step {
  transition: box-shadow 200ms ease, transform 200ms ease;
}
@media (hover: hover) {
  .step:hover {
    box-shadow: 0 16px 40px rgba(15,61,62,0.09);
    transform: translateY(-4px);
  }
}
.step__num {
  background: linear-gradient(140deg, #EBF7EE, #D9F0E2);
  border-color: rgba(95,208,104,0.25);
  color: #3BAF5E;
}
.step h3 { line-height: 1.35 }
.step p { line-height: 1.60 }

/* ═══════════════════════════════════════════════════════════
   VISION & MISSION SECTION
   ═══════════════════════════════════════════════════════════ */
.vmsection { padding: 64px 0; background: #F8FAF9; border-top: 1px solid rgba(0,0,0,0.05); border-bottom: 1px solid rgba(0,0,0,0.05) }
.vmgrid { margin-top: 4px }

.vmcard {
  padding: 32px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  position: relative;
  overflow: hidden;
}
.vmcard::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  border-radius: 3px 3px 0 0;
}
.vmcard--vision::before  { background: linear-gradient(90deg, #1F7A8C, #5FD068) }
.vmcard--mission::before { background: linear-gradient(90deg, #5FD068, #1F7A8C) }

.vmcard__icon {
  width: 48px; height: 48px;
  border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.vmcard--vision .vmcard__icon  { background: rgba(31,122,140,0.10);  color: #1F7A8C }
.vmcard--mission .vmcard__icon { background: rgba(95,208,104,0.12);  color: #3BAF5E }

.vmcard h3 {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--navy-950);
  letter-spacing: -0.2px;
}
.vmcard p {
  margin: 0;
  color: var(--muted);
  line-height: 1.75;
  font-size: 0.97rem;
}

/* ═══════════════════════════════════════════════════════════
   HERO CHART DRAW ANIMATION
   Applied to .hero-chart__line, .hero-chart__area, .hero-chart__dot
   Triggered by JS adding .hero-chart--animated to the <svg>
   ═══════════════════════════════════════════════════════════ */

/* Line: draw from left using stroke-dasharray */
.js .hero-chart__line {
  stroke-dasharray: 1200;
  stroke-dashoffset: 1200;
  stroke-width: 3.5;
  opacity: 1;
}
.js .hero-chart--animated .hero-chart__line {
  stroke-dashoffset: 0;
  animation: drawLine 2s ease forwards;
}
@keyframes drawLine {
  from { stroke-dashoffset: 1200; }
  to { stroke-dashoffset: 0; }
}

/* Area fill: fade in after line finishes */
.js .hero-chart__area {
  opacity: 0;
}
.js .hero-chart--animated .hero-chart__area {
  opacity: 0.35;
  animation: fadeArea 2s ease forwards;
  animation-delay: 0.4s;
}
@keyframes fadeArea {
  from { opacity: 0; }
  to { opacity: 0.35; }
}

/* End dot: pop in last */
.js .hero-chart__dot {
  opacity: 1;
  transform-origin: center;
  transform: scale(1);
  transition: opacity 300ms ease 1200ms, transform 400ms cubic-bezier(0.34, 1.56, 0.64, 1) 1200ms;
}
.js .hero-chart--animated .hero-chart__dot {
  opacity: 1;
  transform: scale(1);
}

/* Reduce motion: skip animation entirely */
@media (prefers-reduced-motion: reduce) {
  .js .hero-chart__line    { animation: none; stroke-dashoffset: 0 }
  .js .hero-chart__area    { animation: none; opacity: 0.35 }
  .js .hero-chart__dot     { transition: none; opacity: 1; transform: scale(1) }
}

.hero-chart__area {
  opacity: 0.35 !important;
}

.hero-chart__line {
  stroke-width: 3.5;
  opacity: 1;
}

.hero-chart__dot {
  opacity: 1;
}

@media (max-width: 768px) {
  
  .phone-mockup {
    animation: none !important;
    transform: none !important;
  }

  .hero-chart__line,
  .hero-chart__area {
    animation: none !important;
    transition: none !important;
  }

  .reveal {
    opacity: 1 !important;
    transform: none !important;
  }

  .dash {
    background: rgba(15, 61, 62, 0.95);
    backdrop-filter: none;
  }

}

.card.small-status {
  background: rgba(15, 61, 62, 0.7);
  color: #ffffff;
}

/* Requested UI polish (scoped additions) */
.metric-value {
  font-size: 28px;
  font-weight: 600;
}
.metric-label {
  font-size: 12px;
  opacity: 0.6;
}

.blog-card { transition: 0.3s; }
@media (hover: hover) {
  .blog-card:hover img { transform: scale(1.05); }
}

.highlight-card {
  background: #0f3d2e;
  color: #fff;
  transform: scale(1.03);
}
@media (hover: hover) {
  .highlight-card:hover { transform: translateY(-5px) scale(1.03); }
}

.testimonial-card { position: relative; overflow: hidden; }
.tcard.testimonial-card::before { content: none; }
.testimonial-card .quote{
  position: absolute;
  top: 14px;
  left: 16px;
  padding: 0;
  border-radius: 0;
  background: none;
  font-size: 46px;
  line-height: 1;
  font-weight: 700;
  color: rgba(0,0,0,0.08);
  user-select: none;
  pointer-events: none;
}
@media (hover: hover) {
  .testimonial-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
  }
}

/* Vision & Mission */
.container{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.vm-grid{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin-top: 32px;
}
.vm-card{
  background: #ffffff;
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.05);
  transition: all 0.3s ease;
  opacity: 0;
  transform: translateY(20px);
  animation: fadeUp 0.6s ease forwards;
}
.vm-card:hover{transform: translateY(-4px)}
.vm-icon{font-size: 24px;margin-bottom: 12px}
.vm-card h3{font-size: 20px;margin-bottom: 10px}
.vm-card p{color: #5f6c72;line-height: 1.6}
.vm-card:nth-child(2){animation-delay: 0.2s}

@keyframes fadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 768px) {
  .vm-grid {
    grid-template-columns: 1fr;
  }
}

/* Additional styles for requested updates */
.reviews-cta {
  text-align: center;
  margin-top: 32px;
}
.map-container {
  margin-top: 40px;
  width: 100%;
}
.map-container iframe {
  border-radius: 16px; /* Matching card border radius */
  box-shadow: var(--shadow-soft);
}
.testimonial-card strong {
  display: block;
  margin-top: 12px;
  color: var(--navy-950);
  font-weight: 700;
}
.testimonial-card .stars {
  color: #FFD700;
  margin-bottom: 8px;
}
.brand__logo {
  width: 75px;
  height: auto;
}
.ceo__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}
.portrait__img {
  width: 320px;
  height: 320px;
  border-radius: 50%;
  overflow: hidden;
}

.ceo__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}
/* FIX OVAL → FORCE TRUE CIRCLE */

.portrait {
  width: 320px !important;
  height: 320px !important;
  flex: 0 0 320px !important;
  position: relative;
}

.portrait__img {
  width: 100% !important;
  height: 100% !important;
  border-radius: 50% !important;
  overflow: hidden !important;
}

.ceo__img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 50% !important;
}