/* First State Growth LLC — institutional theme
   System font stack only: no external font request, nothing to fail an
   integrity check, and no stretched display faces. */

:root{
  --ground:#ffffff;
  --band:#f5f7f9;
  --band2:#eef1f5;
  --ink:#15181d;
  --body:#474d59;
  --muted:#6b7280;
  --rule:#dde2e8;
  --rule-strong:#c3cbd5;
  --navy:#1b3a6b;
  --navy-dark:#132a4e;
  --navy-tint:#eaf0f8;
  --ok:#1c6b3c;
  --ok-tint:#e8f5ed;
  --warn-tint:#fdf3e7;
  --maxw:1080px;
  --textw:740px;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--ground);color:var(--body);
  font-family:var(--sans);font-size:16.5px;line-height:1.7;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}

a{color:var(--navy);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
a:hover{color:var(--navy-dark)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,
textarea:focus-visible{outline:2px solid var(--navy);outline-offset:2px;border-radius:2px}

h1,h2,h3,h4{color:var(--ink);font-weight:660;letter-spacing:-.018em;margin:0}
h1{font-size:clamp(1.85rem,4.2vw,2.7rem);line-height:1.18;letter-spacing:-.028em}
h2{font-size:clamp(1.3rem,2.6vw,1.65rem);line-height:1.3;margin-bottom:.7rem}
h3{font-size:1.02rem;font-weight:680;margin-bottom:.35rem}
p{margin:0 0 1.05rem}
strong{color:var(--ink);font-weight:650}
small{font-size:.85rem}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 1.5rem}
.narrow{max-width:var(--textw)}
.band{background:var(--band);border-block:1px solid var(--rule)}
section{padding:3.6rem 0}
.eyebrow{
  display:block;font-size:.7rem;font-weight:700;letter-spacing:.13em;
  text-transform:uppercase;color:var(--muted);margin-bottom:.7rem;
}
.lede{font-size:1.08rem;color:var(--body);max-width:62ch}

/* skip link */
.skip{position:absolute;left:-9999px;top:0;background:var(--navy);color:#fff;
  padding:.7rem 1.1rem;z-index:100;text-decoration:none}
.skip:focus{left:0}

/* ---------- header ---------- */
.site-head{
  position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);
  backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid var(--rule);
}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;
  gap:1rem;min-height:64px}
.wordmark{display:flex;align-items:baseline;gap:.55rem;text-decoration:none;
  color:var(--ink);font-weight:700;letter-spacing:-.02em;font-size:.98rem;white-space:nowrap}
.wordmark .rule{display:inline-block;width:22px;height:2px;background:var(--navy)}
.wordmark small{display:block;font-weight:500;color:var(--muted);font-size:.7rem;
  letter-spacing:.06em;text-transform:uppercase}
.site-nav{display:flex;align-items:center;gap:1.6rem}
.site-nav a{color:var(--body);text-decoration:none;font-size:.9rem}
.site-nav a:hover{color:var(--navy)}
@media(max-width:820px){.site-nav{display:none}}

/* ---------- buttons ---------- */
.btn{
  display:inline-block;padding:.78rem 1.5rem;border-radius:3px;font-size:.94rem;
  font-weight:620;text-decoration:none;border:1px solid transparent;cursor:pointer;
  font-family:inherit;line-height:1.4;
}
.btn-primary{background:var(--navy);color:#fff}
.btn-primary:hover{background:var(--navy-dark);color:#fff}
.btn-primary:disabled{background:var(--rule-strong);cursor:not-allowed}
.btn-ghost{background:transparent;color:var(--navy);border-color:var(--rule-strong)}
.btn-ghost:hover{border-color:var(--navy);color:var(--navy-dark)}
.btn-row{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;margin-top:1.4rem}
.price-note{font-size:.9rem;color:var(--muted)}
.price-note strong{color:var(--ink)}

/* ---------- hero ---------- */
.hero{padding:4.2rem 0 3.4rem;border-bottom:1px solid var(--rule)}
.hero h1{margin-bottom:1rem;max-width:19ch}
.segments{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.6rem 0 0;padding:0;list-style:none}
.segments li{font-size:.85rem;color:var(--ink);background:var(--band2);
  border:1px solid var(--rule);border-radius:2px;padding:.32rem .7rem}

/* ---------- data table ---------- */
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;
  border:1px solid var(--rule);background:var(--ground)}
table{width:100%;border-collapse:collapse;font-size:.94rem}
caption{text-align:left;font-size:.7rem;font-weight:700;letter-spacing:.13em;
  text-transform:uppercase;color:var(--muted);padding:1rem 1.1rem .5rem}
th,td{text-align:left;padding:.72rem 1.1rem;border-top:1px solid var(--rule);
  vertical-align:top}
thead th{background:var(--band);color:var(--ink);font-weight:650;
  border-top:0;font-size:.86rem}
tbody th{font-weight:500;color:var(--body);width:52%}
td.num{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink);
  font-weight:600;white-space:nowrap}
.record td.num{font-size:1.02rem}

/* ---------- grids / cards ---------- */
.grid{display:grid;gap:1.15rem}
.g2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.card{background:var(--ground);border:1px solid var(--rule);padding:1.4rem 1.5rem}
.card.flat{background:var(--band);border-color:var(--rule)}
.card p:last-child,.card ul:last-child{margin-bottom:0}
.card .kicker{font-size:.72rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--navy);display:block;margin-bottom:.5rem}

/* numbered process */
.steps{list-style:none;counter-reset:s;margin:0;padding:0;
  display:grid;gap:1.05rem;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.steps li{counter-increment:s;border-top:2px solid var(--navy);padding-top:.9rem}
.steps li::before{content:counter(s,decimal-leading-zero);display:block;
  font-size:.75rem;font-weight:700;color:var(--navy);letter-spacing:.08em;margin-bottom:.35rem}
.steps h3{margin-bottom:.3rem}
.steps p{font-size:.92rem;margin-bottom:0}

/* callout */
.note{border-left:3px solid var(--navy);background:var(--navy-tint);
  padding:1.15rem 1.3rem;margin:1.6rem 0}
.note.ok{border-left-color:var(--ok);background:var(--ok-tint)}
.note p:last-child{margin-bottom:0}

/* definition list */
.dl{margin:0;font-size:.94rem}
.dl div{display:flex;justify-content:space-between;gap:1rem;
  padding:.6rem 0;border-top:1px solid var(--rule)}
.dl div:first-child{border-top:0}
.dl dt{color:var(--body)}
.dl dd{margin:0;color:var(--ink);font-weight:600;text-align:right}

/* card marks */
.cardmarks{display:flex;flex-wrap:wrap;gap:.45rem;margin:.9rem 0 0;padding:0;list-style:none}
.cardmarks li{font-size:.74rem;font-weight:650;letter-spacing:.04em;color:var(--body);
  border:1px solid var(--rule-strong);border-radius:3px;padding:.3rem .6rem;background:#fff}
.descriptor{font-family:var(--mono);font-size:.86rem;background:var(--band2);
  border:1px solid var(--rule);padding:.15rem .45rem;border-radius:2px;color:var(--ink)}

/* ---------- FAQ ---------- */
.faq{border-top:1px solid var(--rule)}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{cursor:pointer;padding:1.05rem 2rem 1.05rem 0;position:relative;
  font-weight:620;color:var(--ink);list-style:none;font-size:.98rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:.3rem;top:50%;
  transform:translateY(-50%);font-size:1.2rem;color:var(--navy);font-weight:400}
.faq details[open] summary::after{content:"\2212"}
.faq .ans{padding:0 0 1.15rem;max-width:70ch}
.faq .ans p:last-child{margin-bottom:0}

/* ---------- form ---------- */
.form-shell{border:1px solid var(--rule);background:var(--ground);padding:1.7rem}
.fields{display:grid;gap:1rem;grid-template-columns:1fr 1fr}
.fld{display:flex;flex-direction:column}
.fld.full{grid-column:1/-1}
label{font-size:.86rem;font-weight:620;color:var(--ink);margin-bottom:.35rem}
.req{color:#a32626}
input[type=text],input[type=email],input[type=tel],select,textarea{
  font-family:inherit;font-size:.95rem;padding:.66rem .8rem;color:var(--ink);
  background:#fff;border:1px solid var(--rule-strong);border-radius:3px;width:100%;
}
textarea{min-height:110px;resize:vertical}
.hint{font-size:.82rem;color:var(--muted);margin-top:.3rem}
.consent{display:flex;gap:.65rem;align-items:flex-start;margin:1.2rem 0 .3rem;
  padding:.95rem 1rem;background:var(--band);border:1px solid var(--rule)}
.consent input{margin-top:.25rem;width:16px;height:16px;flex:0 0 16px;accent-color:var(--navy)}
.consent label{font-weight:450;font-size:.87rem;color:var(--body);margin:0;line-height:1.6}
.paybar{margin-top:1.1rem;padding-top:1.1rem;border-top:1px solid var(--rule)}
.msg{display:none;margin-top:1rem;padding:.85rem 1rem;border-radius:3px;font-size:.9rem}
.msg.ok{background:var(--ok-tint);border:1px solid #9fd8b4;color:var(--ok)}
.msg.err{background:#fdeaea;border:1px solid #e6a3a3;color:#a32626}
.hp{position:absolute;left:-9999px;top:-9999px}
@media(max-width:640px){.fields{grid-template-columns:1fr}}

/* ---------- footer ---------- */
.site-foot{background:#0f1520;color:#a9b2c1;padding:3rem 0 2.2rem;font-size:.88rem}
.site-foot h4{color:#fff;font-size:.75rem;letter-spacing:.11em;text-transform:uppercase;
  margin-bottom:.85rem;font-weight:700}
.site-foot a{color:#d3dae5;text-decoration:none}
.site-foot a:hover{color:#fff;text-decoration:underline}
.foot-grid{display:grid;gap:2rem;grid-template-columns:1.6fr 1fr 1fr;margin-bottom:2.2rem}
.foot-grid ul{list-style:none;margin:0;padding:0}
.foot-grid li{margin-bottom:.45rem}
.foot-legal{border-top:1px solid #23304a;padding-top:1.5rem;font-size:.82rem;color:#8792a4}
.foot-legal p{margin-bottom:.45rem}
.site-foot .cardmarks li{background:transparent;border-color:#31405c;color:#a9b2c1}
.site-foot .descriptor{background:#1a2333;border-color:#31405c;color:#d3dae5}
@media(max-width:760px){.foot-grid{grid-template-columns:1fr}}

/* legal pages */
.legal h2{margin-top:2.6rem}
.legal h3{margin-top:1.7rem}
.legal ul,.legal ol{padding-left:1.35rem;margin:0 0 1.15rem}
.legal li{margin-bottom:.5rem}
.doc-meta{font-size:.88rem;color:var(--muted);padding-bottom:1.3rem;
  border-bottom:1px solid var(--rule);margin-bottom:.5rem}

@media print{.site-head,.site-nav,.btn{display:none}body{font-size:11pt}}
