@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=Montserrat:wght@400;500;600;700;800&display=swap');

:root{
  --navy:#1a1f36;
  --blue:#3a86ff;
  --purple:#9b51e0;
  --salmon:#ff6b6b;
  --green:#00ff85;
  --offwhite:#f7f9fc;
  --grey:#b0bec5;
  --white:#ffffff;
  --ink:#111111;
  --max:1180px;
  --radius:26px;
  --shadow:0 18px 55px rgba(26,31,54,.08);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--white);
  color:var(--navy);
  font-family:"Montserrat",Arial,sans-serif;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit}
button,input,textarea{font:inherit}
.container{width:min(var(--max),calc(100% - 64px));margin-inline:auto}

/* Header */
.site-header{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid rgba(176,190,197,.28);
  backdrop-filter:blur(12px);
}
.nav{
  min-height:80px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.brand-link{display:inline-flex;align-items:center;text-decoration:none}
.brand-logo{width:142px;height:auto}
.desktop-nav{display:flex;align-items:center;gap:30px}
.nav-link{
  text-decoration:none;
  font-size:13px;
  font-weight:700;
}
.nav-link:hover,.nav-link:focus-visible{text-decoration:underline;text-underline-offset:5px}
.nav-cta{
  background:var(--navy);
  color:white;
  border-radius:999px;
  padding:11px 18px;
  text-decoration:none;
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
}
.mobile-menu-btn{
  display:none;
  width:46px;height:46px;
  border:0;border-radius:12px;
  background:var(--offwhite);
  color:var(--navy);
  align-items:center;justify-content:center;
  cursor:pointer;
}
.mobile-menu-btn span,.mobile-menu-btn::before,.mobile-menu-btn::after{
  content:"";display:block;width:20px;height:2px;background:currentColor;border-radius:2px;
  transition:transform .2s ease,opacity .2s ease;
}
.mobile-menu-btn span{margin:5px 0}
.mobile-menu-btn[aria-expanded="true"] span{opacity:0}
.mobile-menu-btn[aria-expanded="true"]::before{transform:translateY(7px) rotate(45deg)}
.mobile-menu-btn[aria-expanded="true"]::after{transform:translateY(-7px) rotate(-45deg)}
.mobile-nav{
  display:none;
  border-top:1px solid rgba(176,190,197,.25);
  background:white;
  padding:10px 20px 18px;
}
.mobile-nav.open{display:grid;gap:6px}
.mobile-nav a{
  text-decoration:none;
  font-weight:700;
  padding:13px 10px;
  border-radius:10px;
}
.mobile-nav a:last-child{background:var(--navy);color:white;text-align:center}

/* Typography */
h1,h2,h3,.display{
  font-family:"Archivo Black","Arial Black",Arial,sans-serif;
  font-weight:400;
  letter-spacing:-.045em;
  margin:0;
  color:var(--navy);
}
h1{font-size:clamp(54px,6.4vw,84px);line-height:.98}
h2{font-size:clamp(42px,4.6vw,62px);line-height:1.01}
h3{font-size:26px;line-height:1.08}
.lead{font-size:19px;line-height:1.6;max-width:720px;color:rgba(26,31,54,.78)}
.small-note{font-size:12px;color:rgba(26,31,54,.56)}
.eyebrow{
  display:flex;align-items:center;gap:10px;
  margin-bottom:18px;
  font-size:11px;font-weight:800;
  text-transform:uppercase;letter-spacing:.12em;
}
.eyebrow-line{width:28px;height:3px;background:var(--salmon);display:inline-block;flex:0 0 auto}
.hero-actions{display:flex;flex-wrap:wrap;gap:22px;align-items:center;margin-top:26px}
.text-link{font-weight:800;text-underline-offset:4px}

/* Home */
.home-hero{padding:86px 0 78px}
.hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(390px,.82fr);
  gap:72px;
  align-items:center;
}
.home-copy .lead{max-width:650px;margin:25px 0 0}
.brand-card{
  min-height:470px;
  border-radius:28px;
  background:var(--salmon);
  padding:38px 38px 32px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  box-shadow:var(--shadow);
}
.brand-card .brand-logo{width:138px}
.brand-card h2{font-size:clamp(38px,3.9vw,56px);max-width:520px}
.pills{display:flex;gap:9px;flex-wrap:wrap;margin-top:28px}
.pill{
  background:rgba(255,255,255,.52);
  padding:9px 13px;
  border-radius:999px;
  font-size:11px;
  line-height:1.15;
  font-weight:800;
  text-align:center;
}
.home-value{background:var(--offwhite);padding:74px 0 82px}
.home-value .intro{max-width:900px}
.home-value .intro p{margin:16px 0 0;max-width:810px;color:rgba(26,31,54,.72)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:38px}
.card{
  background:white;
  border:1px solid rgba(176,190,197,.32);
  border-radius:20px;
  padding:29px;
  min-height:220px;
}
.card .num{font-size:12px;font-weight:800;margin-bottom:42px}
.card h3{font-size:24px}
.card p{margin:14px 0 0;color:rgba(26,31,54,.69);font-size:14px;line-height:1.58}
.bottom-cta{
  margin-top:56px;
  padding:44px 48px;
  border-radius:26px;
  background:var(--salmon);
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
}
.bottom-cta h2{max-width:770px;font-size:clamp(38px,4.2vw,58px)}
.cta-dark{
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--navy);color:white;
  min-height:48px;padding:12px 20px;border-radius:999px;
  text-decoration:none;font-weight:800;font-size:13px;white-space:nowrap;
}

/* Standard pages */
.standard-hero{padding:86px 0 76px}
.standard-hero .lead{margin-top:22px}
.black-band{
  margin-top:52px;
  background:var(--navy);
  color:white;
  padding:46px;
  border-radius:26px;
}
.black-band h2{color:white;font-size:clamp(38px,4.1vw,56px);max-width:900px}
.black-band p{color:rgba(255,255,255,.72);max-width:800px;margin:16px 0 0}
.tick-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}
.tick-item{font-weight:800;font-size:14px}
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}
.process-card{
  padding:30px;
  border:1px solid rgba(176,190,197,.32);
  border-radius:20px;
  min-height:230px;
  background:white;
}
.process-card .num{font-size:12px;font-weight:800;margin-bottom:42px}
.process-card p{font-size:14px;color:rgba(26,31,54,.68);margin-top:14px}

/* Book a demo / Jotform */
.demo-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(420px,.95fr);
  gap:60px;
  align-items:start;
}
.demo-panel{
  background:var(--salmon);
  border-radius:28px;
  padding:28px;
  box-shadow:var(--shadow);
  overflow:hidden;
}
.demo-panel-title{
  font-family:"Archivo Black","Arial Black",Arial,sans-serif;
  font-size:30px;line-height:1.05;letter-spacing:-.04em;margin-bottom:18px
}
.jotform-wrap{background:white;border-radius:18px;overflow:hidden;min-height:650px}
.jotform-wrap iframe{width:100%!important;max-width:100%!important;border:0!important;display:block!important}
.form-fallback{font-size:12px;margin-top:12px;color:rgba(26,31,54,.72)}
.form-success{
  min-height:360px;
  background:white;
  border-radius:18px;
  padding:44px 34px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.form-success[hidden]{display:none}
.form-success-icon{
  width:62px;height:62px;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--navy);color:white;
  font-size:30px;font-weight:800;
  margin-bottom:22px;
}
.form-success p{
  max-width:420px;
  margin:0;
  font-family:"Archivo Black","Arial Black",Arial,sans-serif;
  font-size:clamp(25px,3vw,34px);
  line-height:1.12;
  letter-spacing:-.04em;
}

/* Tool pages */
.tool-hero{padding:68px 0 72px}
.trial-tag{
  display:inline-flex;
  background:rgba(255,107,107,.18);
  border-radius:999px;
  padding:8px 12px;
  font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;
  margin-bottom:18px;
}
.tool-heading{font-size:clamp(48px,5.4vw,72px)}
.tool-sub{font-size:18px;color:rgba(26,31,54,.72);margin:14px 0 0}
.tool-frame{
  margin-top:36px;
  min-height:600px;
  border:1px solid rgba(176,190,197,.42);
  background:var(--offwhite);
  border-radius:24px;
  padding:18px;
  overflow:hidden;
}
.tool-placeholder{
  min-height:560px;
  background:white;
  border:2px dashed rgba(176,190,197,.72);
  border-radius:17px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:40px;
}
.tool-placeholder-inner{max-width:650px}
.tool-placeholder h3{font-size:32px}
.tool-placeholder p{color:rgba(26,31,54,.64);margin:14px 0 0}
.tool-placeholder code{font-size:12px;background:var(--offwhite);padding:4px 7px;border-radius:6px}
.tool-frame iframe{width:100%;min-height:720px;border:0;border-radius:17px;background:white}
.snapshot-tool-frame{padding:0;background:#f7f7fa}
.snapshot-tool-frame iframe{
  display:block;
  min-height:760px;
  height:920px;
  border-radius:23px;
  transition:height .18s ease;
}
#finplanr-agent-slot{
  min-height:0;
  background:white;
}
#finplanr-agent-slot iframe{
  display:block;
  width:100%!important;
  max-width:100%!important;
  min-height:0;
  border:0;
  border-radius:17px;
}

/* Footer */
.site-footer{
  border-top:1px solid rgba(176,190,197,.28);
  padding:28px 0 34px;
  color:rgba(26,31,54,.58);
  font-size:12px;
}
.footer-row{display:flex;justify-content:space-between;align-items:center;gap:22px;flex-wrap:wrap}
.footer-links{display:flex;gap:18px;flex-wrap:wrap}
.footer-links a{color:inherit;text-decoration:none}
.footer-links a:hover{text-decoration:underline}

/* Responsive */
@media (max-width:900px){
  .container{width:min(var(--max),calc(100% - 40px))}
  .hero-grid,.demo-grid{grid-template-columns:1fr;gap:40px}
  .brand-card{min-height:390px}
  .cards,.process-grid,.tick-row{grid-template-columns:1fr}
  .card,.process-card{min-height:0}
  .card .num,.process-card .num{margin-bottom:20px}
  .bottom-cta{align-items:flex-start;flex-direction:column}
}
@media (max-width:760px){
  .container{width:calc(100% - 30px)}
  .nav{min-height:68px}
  .brand-logo{width:118px}
  .desktop-nav{display:none}
  .mobile-menu-btn{display:flex;flex-direction:column}
  .home-hero,.standard-hero{padding:50px 0 48px}
  h1{font-size:clamp(43px,12.5vw,58px)}
  h2{font-size:clamp(34px,9.8vw,46px)}
  h3{font-size:22px}
  .lead{font-size:16px;line-height:1.55}
  .eyebrow{font-size:10px;margin-bottom:15px}
  .eyebrow-line{width:22px;height:2px}
  .hero-grid,.demo-grid{gap:28px}
  .brand-card{min-height:330px;padding:25px;border-radius:22px}
  .brand-card h2{font-size:clamp(34px,9vw,46px)}
  .brand-card .brand-logo{width:112px}
  .pills{gap:7px;margin-top:22px}
  .pill{font-size:10px;padding:8px 10px}
  .hero-actions{gap:16px;margin-top:22px;font-size:13px}
  .home-value{padding:48px 0 52px}
  .cards,.process-grid{gap:13px;margin-top:27px}
  .card,.process-card{padding:22px;border-radius:17px}
  .bottom-cta{padding:27px 24px;border-radius:21px;margin-top:36px}
  .black-band{padding:26px 23px;border-radius:21px;margin-top:34px}
  .tick-row{gap:13px;margin-top:24px}
  .demo-panel{padding:20px;border-radius:22px}
  .jotform-wrap{min-height:700px}
  .form-success{min-height:320px;padding:34px 24px}
  .tool-hero{padding:45px 0 50px}
  .tool-heading{font-size:clamp(40px,11vw,54px)}
  .tool-frame{padding:10px;border-radius:18px;margin-top:26px;min-height:500px}
  .tool-placeholder{min-height:470px;padding:24px;border-radius:13px}
  .tool-placeholder h3{font-size:27px}
  .tool-frame iframe{min-height:70svh}
  .snapshot-tool-frame iframe{min-height:760px;border-radius:17px}
  #finplanr-agent-slot{padding:8px}
  #finplanr-agent-slot iframe{min-height:0}
  .site-footer{padding:24px 0 28px}
  .footer-row{align-items:flex-start;flex-direction:column}
}
@media (max-width:420px){
  .container{width:calc(100% - 24px)}
  h1{font-size:clamp(40px,12vw,50px)}
  .brand-card{padding:22px;min-height:310px}
  .bottom-cta{padding:23px 20px}
  .black-band{padding:23px 20px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important}
}
