/* ─── Reset & variables ─────────────────────────────────────────── */
:root{
  --navy:#081B44;
  --navy-2:#10285E;
  --navy-dark:#050F2A;
  --gold:#C5A46D;
  --gold-soft:#D8C19A;
  --ivory:#F7F5F1;
  --ivory-2:#F1ECE3;
  --section:#EEF2F7;
  --card:#FFFFFF;
  --ink:#1B1B1B;
  --ink-2:#454C60;
  --rule:#ECEAE7;
  --rule-strong:#D6D2CB;
}
*{box-sizing:border-box;margin:0;padding:0}
html{overflow-x:hidden}
body{overflow-x:hidden;max-width:100%}
html,body{
  background:var(--ivory);color:var(--ink);
  font-family:"DM Sans",ui-sans-serif,system-ui,-apple-system,sans-serif;
  font-size:16px;line-height:1.62;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{font-family:inherit;cursor:pointer;border:none;background:none}
ul{list-style:none}

/* ─── Typography ────────────────────────────────────────────────── */
.eyebrow{
  font-family:"DM Sans";font-size:11px;letter-spacing:.22em;
  text-transform:uppercase;color:#3A4055;font-weight:600;
}
.eyebrow.on-navy{color:var(--gold)}
.rule-gold{
  display:inline-block;width:36px;height:1px;background:var(--gold);
  vertical-align:middle;margin-right:14px;
}
h1.display{
  font-family:"Cormorant Garamond",serif;font-weight:500;
  font-size:clamp(54px,6.4vw,98px);line-height:1.01;letter-spacing:-.016em;
}
h2.display{
  font-family:"Cormorant Garamond",serif;font-weight:500;
  font-size:clamp(42px,4.6vw,74px);line-height:1.05;letter-spacing:-.01em;max-width:22ch;
}
h3.display{
  font-family:"Cormorant Garamond",serif;font-weight:500;
  font-size:clamp(30px,2.6vw,42px);line-height:1.14;
}
.lede{font-size:19px;line-height:1.76;color:#3D4358;max-width:46ch}
.lede.lg{font-size:21px}
.bg-navy .lede{color:rgba(255,255,255,.88)}

/* ─── Layout ────────────────────────────────────────────────────── */
.container{max-width:1340px;margin:0 auto;padding:0 40px}
.container-narrow{max-width:1060px;margin:0 auto;padding:0 40px}
section{position:relative}
.pad-xl{padding:180px 0}
.pad-lg{padding:140px 0}
.pad-md{padding:96px 0}
.bg-ivory{background:var(--ivory)}
.bg-cream{background:var(--ivory-2)}
.bg-section{background:var(--section)}
.bg-navy{background:var(--navy);color:#fff}
.bg-navy .eyebrow{color:var(--gold)}

/* ─── Buttons ───────────────────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:15px 24px;border-radius:2px;font-weight:500;font-size:14px;
  letter-spacing:.04em;border:1px solid transparent;
  transition:all .25s ease;text-decoration:none;white-space:nowrap;
  cursor:pointer;font-family:"DM Sans",sans-serif;
}
.btn-primary{background:var(--navy);color:#fff;border-color:var(--navy)}
.btn-primary:hover{background:var(--navy-2);border-color:var(--navy-2)}
.btn-secondary{background:var(--ivory);color:var(--navy);border-color:var(--gold)}
.btn-secondary:hover{background:var(--ivory-2)}
.btn-ghost{background:transparent;color:var(--navy);padding:14px 0;border-bottom:1px solid var(--gold);border-radius:0;}
.btn-ghost:hover{color:var(--navy-2)}
.btn .arr{transition:transform .25s ease;display:inline-block}
.btn:hover .arr{transform:translateX(3px)}

/* ─── NAV ───────────────────────────────────────────────────────── */
.aml-nav{
  position:sticky;top:0;z-index:50;
  background:rgba(247,245,241,.9);
  backdrop-filter:saturate(160%) blur(18px);
  -webkit-backdrop-filter:saturate(160%) blur(18px);
  border-bottom:1px solid rgba(231,229,228,.5);
}
.nav-inner{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 40px;max-width:1440px;margin:0 auto;gap:24px;
}
.aml-logo{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--navy);flex-shrink:0;}
.aml-logo .custom-logo-link{display:flex;align-items:center}
.aml-logo .custom-logo-link img.custom-logo{display:block;max-height:56px;width:auto;}
.aml-stack{position:relative;line-height:1;text-align:left}
.aml-flourish{display:block;height:8px;margin-bottom:2px}
.aml-letters{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:34px;line-height:.85;letter-spacing:.04em;color:var(--navy);display:block;}
.aml-name{display:block;font-family:"DM Sans";font-weight:600;font-size:9px;letter-spacing:.24em;color:var(--navy);margin-top:4px;text-transform:uppercase;white-space:nowrap;}
.aml-tag{display:block;font-family:"DM Sans";font-weight:400;font-size:7.5px;letter-spacing:.28em;color:var(--gold);margin-top:2px;text-transform:uppercase;white-space:nowrap;}
.nav-links{display:flex;gap:30px;font-size:13.5px;color:var(--ink);font-weight:400;}
.nav-links a{text-decoration:none;color:inherit;position:relative;padding:8px 0;display:inline-flex;align-items:center;gap:5px;}
.nav-links a:hover{color:var(--navy-2)}
.nav-links a.active{color:var(--navy);font-weight:500}
.nav-links a.active::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold);}
.nav-links .chev{opacity:.6;font-size:9px}
.nav-cta{display:flex;align-items:center;gap:14px}
.nav-burger{width:42px;height:42px;border:1px solid var(--rule);display:grid;place-items:center;background:#fff;cursor:pointer;}
.nav-burger span{display:block;width:16px;height:1.4px;background:var(--navy);box-shadow:0 5px 0 var(--navy),0 -5px 0 var(--navy);}

/* ─── HERO ──────────────────────────────────────────────────────── */
.hero{position:relative;min-height:min(960px,97vh);overflow:hidden;background:var(--navy);color:#fff;}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;filter:saturate(.85) contrast(1.0) brightness(.78);}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,rgba(8,27,68,.92) 0%,rgba(8,27,68,.72) 40%,rgba(8,27,68,.2) 68%,rgba(8,27,68,.52) 100%);}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:3fr 2fr;gap:64px;padding:120px 0 140px;align-items:center;min-height:inherit;}
.hero-eyebrow{display:inline-flex;align-items:center;gap:14px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:32px;}
.hero-eyebrow::before{content:"";width:30px;height:1px;background:var(--gold)}
.hero-title{font-family:"Cormorant Garamond",serif;font-weight:500;font-size:clamp(44px,4.8vw,72px);line-height:1.05;letter-spacing:-.014em;margin-bottom:38px;color:#fff;max-width:22ch;}
.hero-title em{display:inline;font-style:italic;color:var(--gold);font-weight:500;}
.hero-sub{font-size:20px;line-height:1.78;max-width:44ch;margin-bottom:46px;color:rgba(255,255,255,.82);}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap}
.hero-ctas .btn-primary{background:#fff;color:var(--navy);border-color:#fff}
.hero-ctas .btn-primary:hover{background:var(--ivory-2);border-color:var(--ivory-2)}
.hero-ctas .btn-secondary{background:transparent;border-color:rgba(197,164,109,.7);color:#fff;}
.hero-ctas .btn-secondary:hover{background:rgba(197,164,109,.12)}

/* Calc card */
.hero-calc-wrap{justify-self:stretch;width:100%}
.hero-calc{width:100%;background:#fff;color:var(--ink);padding:32px 32px 28px;box-shadow:0 32px 80px -24px rgba(8,27,68,.2),0 6px 18px -6px rgba(8,27,68,.1);border-radius:2px;position:relative;}
.hero-calc::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--gold),transparent 90%);}
.hc-head{display:flex;align-items:center;gap:10px;padding-bottom:14px;border-bottom:1px solid var(--rule);margin-bottom:20px;}
.hc-head .lbl{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--navy);font-weight:600;}
.hc-field{margin-bottom:14px}
.hc-field label{display:block;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);margin-bottom:6px;font-weight:500;}
.hc-field .ctl{display:flex;align-items:center;border:1px solid rgba(236,234,231,.9);background:var(--ivory);padding:12px 14px;transition:border-color .2s;}
.hc-field .ctl:focus-within{border-color:rgba(197,164,109,.5)}
.hc-field .ctl input,.hc-field .ctl select{flex:1;border:0;outline:0;background:transparent;font:inherit;font-size:14px;color:var(--ink);font-weight:500;font-family:"DM Sans";}
.hc-field .pct{font-size:11px;color:var(--gold);font-weight:600;letter-spacing:.06em;background:rgba(197,164,109,.1);padding:3px 8px;border:1px solid rgba(197,164,109,.3);white-space:nowrap;}
.hc-result{margin-top:20px;padding:24px 24px 20px;border:none;background:var(--navy);color:#fff;text-align:left;position:relative;}
.hc-result .k{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.55);font-weight:500;margin-bottom:10px;}
.hc-result .v{font-family:"Cormorant Garamond",serif;font-weight:500;font-size:62px;color:var(--gold);line-height:1;letter-spacing:-.01em;display:flex;align-items:baseline;gap:4px;}
.hc-result .v small{font-family:"DM Sans";font-weight:400;font-size:16px;color:rgba(255,255,255,.6);letter-spacing:.04em;}
.hc-result .sub{font-size:11.5px;color:rgba(255,255,255,.45);margin-top:10px;letter-spacing:.04em}
.hc-gate{font-size:11px;color:rgba(255,255,255,.5);line-height:1.6;margin-top:14px;letter-spacing:.01em}
.hc-below{font-size:11.5px;color:var(--ink-2);line-height:1.65;margin-top:16px;padding:14px 0 4px;border-top:1px solid var(--rule);letter-spacing:.01em}
.hero-calc-above{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:14px;line-height:1.58;color:var(--ink-2);text-align:left;margin-bottom:18px;}

/* ─── TRUST PILLARS ─────────────────────────────────────────────── */
.trust-pillars{padding:40px 0;background:var(--ivory);border-bottom:1px solid rgba(231,229,228,.5);}
.tp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:52px;align-items:start;}
.tp-item{display:flex;gap:20px;align-items:flex-start}
.tp-icon{flex-shrink:0;width:48px;height:48px;border:1px solid rgba(197,164,109,.5);border-radius:50%;display:grid;place-items:center;background:rgba(197,164,109,.06);}
.tp-text h4{font-family:"Cormorant Garamond",serif;font-weight:500;font-size:21px;color:var(--navy);margin-bottom:8px;line-height:1.2;}
.tp-text p{font-size:14.5px;color:var(--ink);line-height:1.68;max-width:30ch;}

/* ─── AUTHORITY ─────────────────────────────────────────────────── */
.auth2-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:88px;align-items:center;}
.auth2-img{position:relative;aspect-ratio:4/5;}
.auth2-img img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.9) contrast(1.01);object-position:center;}
.auth2-img::after{content:"";position:absolute;left:-20px;bottom:-20px;width:130px;height:130px;border:1px solid rgba(197,164,109,.6);pointer-events:none;}
.auth2-copy h2{margin:24px 0 32px;color:var(--navy);font-family:"Cormorant Garamond",serif;font-weight:500;font-size:clamp(32px,3.5vw,52px);line-height:1.09;letter-spacing:-.01em;max-width:100%;}
.auth2-copy p{font-size:18px;line-height:1.82;color:var(--ink);max-width:44ch;margin-bottom:26px;}
.auth2-copy p.muted{color:#3D4358}

/* ─── BEST FIT ──────────────────────────────────────────────────── */
.bf-head{max-width:980px;margin-bottom:54px}
.bf-head h2{margin:18px 0 16px;max-width:18ch}
.bf-head p{font-size:17px;color:#3D4358;line-height:1.72;max-width:60ch}
.bf-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:stretch;}
.bf-photo{position:relative;overflow:hidden}
.bf-photo img{width:100%;height:100%;object-fit:cover;aspect-ratio:5/4;display:block;filter:saturate(.94);}
.bf-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 70%,rgba(8,27,68,.18));pointer-events:none;}
.bf-card{background:#fff;border:1px solid rgba(231,229,228,.5);padding:46px 44px 40px;display:flex;flex-direction:column;position:relative;box-shadow:0 20px 60px -28px rgba(8,27,68,.1);}
.bf-card::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--gold),transparent 80%);}
.bf-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:6px;}
.bf-badge{display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--navy);font-weight:600;padding:8px 14px;background:rgba(197,164,109,.08);border:1px solid rgba(197,164,109,.4);}
.bf-name{font-family:"Cormorant Garamond",serif;font-weight:500;font-size:32px;color:var(--navy);margin:6px 0 8px;line-height:1.1;}
.bf-subname{font-size:14px;color:var(--ink-2);margin-bottom:28px}
.bf-stats{display:grid;grid-template-columns:1fr 1fr;gap:20px 32px;padding:24px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin-bottom:28px;}
.bf-stat .k{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2);margin-bottom:6px;font-weight:500;}
.bf-stat .v{font-family:"Cormorant Garamond",serif;font-size:22px;color:var(--navy);font-weight:500;line-height:1.1;}
.bf-cta{margin-top:auto;width:100%;justify-content:center;display:flex;padding:15px;background:var(--navy);color:#fff;border:none;font-size:13px;letter-spacing:.06em;font-weight:500;cursor:pointer;align-items:center;gap:10px;transition:background .2s;text-decoration:none;}
.bf-cta:hover{background:var(--navy-2)}

/* ─── LOAN PROGRAMS ─────────────────────────────────────────────── */
.lp2-head{text-align:center;max-width:680px;margin:0 auto 64px}
.lp2-head h2{margin:18px 0 14px}
.lp2-head p{font-size:16px;color:#3D4358}
.lp2-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.lp2-card{background:#fff;border:1px solid rgba(231,229,228,.45);padding:44px 36px 36px;display:flex;flex-direction:column;transition:all .35s ease;position:relative;}
.lp2-card::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--gold),transparent 80%);opacity:0;transition:opacity .25s;}
.lp2-card:hover{transform:translateY(-5px);box-shadow:0 28px 60px -24px rgba(8,27,68,.11);border-color:rgba(197,164,109,.4);}
.lp2-card:hover::before{opacity:1}
.lp2-ico{width:46px;height:46px;border:1px solid rgba(197,164,109,.5);border-radius:50%;display:grid;place-items:center;background:rgba(197,164,109,.06);margin-bottom:26px;}
.lp2-card h3{font-family:"Cormorant Garamond",serif;font-weight:500;font-size:28px;color:var(--navy);margin-bottom:14px;line-height:1.14;}
.lp2-card p{font-size:14.5px;color:var(--ink);line-height:1.65;margin-bottom:22px;flex:1;}
.lp2-bullets{padding:18px 0 0;border-top:1px solid var(--rule);display:flex;flex-direction:column;gap:10px;font-size:13.5px;color:var(--ink);}
.lp2-bullets li{display:flex;gap:10px;align-items:center}
.lp2-bullets li::before{content:"";width:5px;height:5px;background:var(--gold);border-radius:50%;flex-shrink:0;}
.lp2-link{margin-top:22px;font-size:13px;color:var(--navy);font-weight:500;text-decoration:none;letter-spacing:.04em;display:inline-flex;align-items:center;gap:8px;align-self:flex-start;border-bottom:1px solid var(--gold);padding-bottom:3px;transition:color .2s;}
.lp2-link:hover{color:var(--navy-2)}
.lp2-advisor{display:flex;align-items:center;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid var(--rule);}
.lp2-advisor img{width:34px;height:34px;border-radius:50%;object-fit:cover}
.lp2-advisor .who{font-size:12.5px;color:var(--ink);font-weight:500;line-height:1.2}
.lp2-advisor .role{font-size:11px;color:var(--ink-2);margin-top:2px;letter-spacing:.02em}

/* ─── STATS BAR ─────────────────────────────────────────────────── */
.stats-bar{position:relative;background:var(--navy);color:#fff;padding:76px 0;overflow:hidden;}
.sb-bg{position:absolute;inset:0;z-index:0;opacity:.12}
.sb-bg img{width:100%;height:100%;object-fit:cover}
.sb-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--navy) 0%,rgba(8,27,68,.88) 100%);}
.sb-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:32px;}
.sb-item{display:flex;flex-direction:column;align-items:flex-start}
.sb-icowrap{margin-bottom:14px}
.sb-v{font-family:"Cormorant Garamond",serif;font-weight:500;font-size:58px;color:var(--gold);line-height:1;letter-spacing:-.01em;}
.sb-l{font-size:13px;color:rgba(255,255,255,.85);letter-spacing:.04em;margin-top:10px;font-weight:400}

/* ─── ADVISOR MOMENT ────────────────────────────────────────────── */
.adv-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:88px;align-items:center;}
.adv-img-wrap{position:relative}
.adv-img-wrap img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center;}
.adv-img-wrap::after{content:"";position:absolute;left:-20px;bottom:-20px;width:130px;height:130px;border:1px solid rgba(197,164,109,.6);z-index:-1;}
.adv-quote{position:absolute;left:24px;bottom:24px;right:24px;color:#fff;font-family:"Cormorant Garamond",serif;font-style:italic;font-size:20px;line-height:1.38;padding:20px 24px;background:rgba(8,27,68,.55);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}
.adv-quote small{display:block;font-style:normal;font-family:"DM Sans";font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-top:10px;font-weight:500;}
.adv-copy h2{margin:22px 0 24px}
.adv-copy p{font-size:18px;line-height:1.82;color:var(--ink);margin-bottom:20px;max-width:44ch;}
.adv-copy p.muted{color:#3D4358}
.adv-people{display:flex;align-items:center;gap:14px;margin-top:34px;padding-top:28px;border-top:1px solid var(--rule);}
.adv-stack{display:flex}
.adv-stack img{width:42px;height:42px;border-radius:50%;border:2px solid var(--ivory-2);object-fit:cover;margin-left:-10px;}
.adv-stack img:first-child{margin-left:0}
.adv-people-label{font-size:13.5px;color:var(--ink-2)}
.adv-people-label b{color:var(--navy);font-weight:500;display:block}

/* ─── HOW IT WORKS ──────────────────────────────────────────────── */
.hiw-head{text-align:center;max-width:620px;margin:0 auto 76px}
.hiw-head h2{margin:18px 0 14px}
.hiw-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;}
.hiw-grid::before{content:"";position:absolute;top:44px;left:8%;right:8%;height:1px;background:var(--rule);}
.hiw-step{padding:0 28px;text-align:left;position:relative;background:var(--ivory);}
.hiw-step:not(:last-child){border-right:1px dashed rgba(236,234,231,.8)}
.hiw-num{font-family:"Cormorant Garamond",serif;font-weight:500;font-size:58px;color:var(--gold);line-height:1;margin-bottom:26px;font-style:italic;}
.hiw-step h3{font-family:"Cormorant Garamond",serif;font-weight:500;font-size:25px;color:var(--navy);margin-bottom:12px;line-height:1.15;}
.hiw-step p{font-size:14.5px;color:var(--ink);line-height:1.68}

/* ─── TESTIMONIALS ──────────────────────────────────────────────── */
.tm-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:56px;gap:40px;flex-wrap:wrap;}
.tm-rating{display:flex;align-items:center;gap:14px}
.tm-stars{color:var(--gold);font-size:20px;letter-spacing:2px}
.tm-rating-text{font-size:13.5px;color:var(--ink-2)}
.tm-rating-text b{display:block;font-family:"Cormorant Garamond",serif;color:var(--navy);font-size:22px;font-weight:500;line-height:1;margin-bottom:4px;}
.tm-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:28px}
.tm-card{background:#fff;border:1px solid rgba(231,229,228,.45);padding:44px 36px 36px;display:flex;flex-direction:column;position:relative;}
.tm-card::before{content:"\201C";position:absolute;top:4px;left:24px;font-family:"Cormorant Garamond",serif;font-size:84px;color:var(--gold);line-height:1;font-style:italic;}
.tm-card.feature{background:var(--navy);color:#fff;border-color:var(--navy)}
.tm-quote{font-family:"Cormorant Garamond",serif;font-size:21px;line-height:1.42;color:var(--navy);margin:32px 0 28px;font-weight:500;flex:1;font-style:italic;}
.tm-card.feature .tm-quote{color:#fff;font-size:24px}
.tm-author{display:flex;align-items:center;gap:14px;padding-top:22px;border-top:1px solid var(--rule);}
.tm-card.feature .tm-author{border-top-color:rgba(255,255,255,.12)}
.tm-author img{width:44px;height:44px;border-radius:50%;object-fit:cover}
.tm-author .who{font-size:14px;color:var(--ink);font-weight:500}
.tm-card.feature .tm-author .who{color:#fff}
.tm-author .where{font-size:12px;color:var(--ink-2);letter-spacing:.04em;margin-top:2px}
.tm-card.feature .tm-author .where{color:rgba(255,255,255,.55)}

/* ─── EMOTIONAL STRIP ───────────────────────────────────────────── */
.emo-strip{padding:80px 0;text-align:center;background:var(--navy)}
.es-inner{max-width:100%;margin:0 auto}
.es-rule{width:48px;height:1px;background:var(--gold);margin:0 auto 44px}
.es-q{font-family:"Cormorant Garamond",serif;font-weight:500;font-size:clamp(36px,4vw,58px);line-height:1.14;color:#fff;margin-bottom:34px;letter-spacing:-.008em;}
.es-q em{color:var(--gold);font-style:italic;display:block;margin-top:12px}
.es-sub{font-size:19px;color:rgba(255,255,255,.85);line-height:1.78;max-width:54ch;margin:0 auto;}

/* ─── FINAL CTA ─────────────────────────────────────────────────── */
.final-cta{position:relative;overflow:hidden}
.fc-bg{position:absolute;inset:0;z-index:0}
.fc-bg img{width:100%;height:100%;object-fit:cover;filter:brightness(.5)}
.fc-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,27,68,.52),rgba(8,27,68,.94));}
.fc-inner{position:relative;z-index:1;padding:60px 0;text-align:left;color:#fff;max-width:100%;display:flex;flex-direction:column;gap:28px;}
.fc-inner h2{color:#fff;font-family:"Cormorant Garamond",serif;font-size:clamp(46px,5.2vw,80px);line-height:1.03;font-weight:500;letter-spacing:-.014em;}
.fc-inner h2 em{color:var(--gold);font-style:italic;display:block}
.fc-inner p{font-size:18px;line-height:1.78;color:rgba(255,255,255,.88);max-width:48ch;}
.fc-cta{align-self:flex-start;background:var(--gold);color:var(--navy);font-weight:600;}
.fc-cta:hover{background:var(--gold-soft)}

/* ─── FOOTER ────────────────────────────────────────────────────── */
.aml-footer{background:#050E27;color:rgba(255,255,255,.7);padding:80px 0 36px;font-size:14px;}
.ft-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:48px;}
.ft-col h4{font-family:"DM Sans";font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:18px;}
.ft-col ul{display:flex;flex-direction:column;gap:11px;}
.ft-col a{color:rgba(255,255,255,.65);text-decoration:none;font-size:13.5px;transition:color .2s;}
.ft-col a:hover{color:#fff}
.ft-brand .aml-letters{color:#fff;font-family:"Cormorant Garamond",serif;font-weight:600;font-size:32px;letter-spacing:.04em;display:block;}
.ft-brand .aml-name{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:#fff;font-weight:500;display:block;margin-top:4px;}
.ft-brand .aml-tag{font-size:8px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);display:block;margin-top:3px;}
.ft-brand p{font-size:13.5px;line-height:1.72;color:rgba(255,255,255,.55);max-width:38ch;margin:22px 0;}
.ft-contact{font-size:13.5px;color:rgba(255,255,255,.7);display:flex;flex-direction:column;gap:10px;}
.ft-contact b{display:block;color:#fff;font-weight:500;font-size:18px;font-family:"Cormorant Garamond",serif;letter-spacing:0;}
.ft-bottom{margin-top:72px;padding-top:28px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;font-size:12px;color:rgba(255,255,255,.38);letter-spacing:.04em;}
.ft-bottom a{color:rgba(255,255,255,.5);text-decoration:none;margin-left:24px;}
.ft-bottom a:hover{color:#fff}

/* ─── INVESTOR PAGE TREATMENT ───────────────────────────────────── */
.aml-investors .hero-bg::after,
.aml-dscr-loan .hero-bg::after,
.aml-fix-and-flip .hero-bg::after{
  background:linear-gradient(105deg,rgba(5,15,42,.96) 0%,rgba(5,15,42,.82) 40%,rgba(5,15,42,.28) 68%,rgba(5,15,42,.62) 100%);
}
.aml-investors .hero-bg img,
.aml-dscr-loan .hero-bg img,
.aml-fix-and-flip .hero-bg img{
  filter:saturate(.7) contrast(1.08) brightness(.72);
}
.aml-investors .stats-bar,
.aml-dscr-loan .stats-bar{background:var(--navy-dark)}
.aml-investors .emo-strip,
.aml-dscr-loan .emo-strip,
.aml-fix-and-flip .emo-strip{background:var(--navy-dark)}

/* ─── RESPONSIVE ────────────────────────────────────────────────── */
@media (max-width:1080px){
  .ft-grid{grid-template-columns:1fr 1fr 1fr;gap:36px}
  .ft-brand{grid-column:1/-1}
}
@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr;gap:48px;padding:64px 0 88px}
  .hero-calc-wrap{justify-self:stretch;max-width:none}
  .auth2-grid{grid-template-columns:1fr;gap:52px}
  .auth2-img::after{display:none}
  .bf-grid{grid-template-columns:1fr}
  .lp2-grid{grid-template-columns:1fr 1fr}
  .adv-grid{grid-template-columns:1fr;gap:56px}
  .adv-img-wrap::after{display:none}
  .tm-grid{grid-template-columns:1fr}
}
@media (max-width:880px){
  .tp-grid{grid-template-columns:1fr 1fr;gap:32px}
  .sb-grid{grid-template-columns:1fr 1fr;gap:40px}
  .hiw-grid{grid-template-columns:1fr 1fr;gap:40px}
  .hiw-grid::before{display:none}
  .hiw-step{border-right:none!important;padding:0}
  .nav-links{display:none}
  .ft-grid{grid-template-columns:1fr 1fr;gap:32px}
}
/* Hide burger on desktop */
@media (min-width:881px){
  .nav-burger{display:none}
}
@media (max-width:640px){
  .container{padding:0 24px}
  .nav-inner{padding:10px 10px!important}
  .lp2-grid{grid-template-columns:1fr}
  .tp-grid{grid-template-columns:1fr}
  .hiw-grid{grid-template-columns:1fr}
  .bf-stats{grid-template-columns:1fr 1fr}
  .ft-grid{grid-template-columns:1fr}
  .pad-lg{padding:90px 0}
  .pad-xl{padding:116px 0}
  .emo-strip{padding:60px 0}
  .fc-inner{padding:48px 0}
  .hero-grid{padding:80px 0 96px}
  .btn{padding:16px 22px;font-size:14px}
  .es-q{font-size:clamp(32px,8vw,46px)}
  .sb-grid{grid-template-columns:1fr 1fr}
  .auth2-grid{gap:36px}
  .hero-title{font-size:clamp(38px,9vw,52px)}
  .hero-sub{font-size:18px}
  .hc-result .v{font-size:52px}
  .auth2-copy h2{font-size:clamp(30px,7vw,40px)}
}
@media (max-width:480px){
  .sb-grid{grid-template-columns:1fr 1fr}
  .hero-ctas{flex-direction:column}
  .hero-ctas .btn{width:100%;justify-content:center}
  .fc-inner{padding:40px 0}
  .btn{padding:17px 24px;font-size:15px}
  /* hide decorative offset borders that cause horizontal overflow on small screens */
  .auth2-img::after,.adv-img-wrap::after{display:none}
  /* shrink nav button and burger on tiny screens to prevent overflow */
  .nav-cta .btn{display:inline-flex!important;padding:9px 10px!important;font-size:10px!important}
  .nav-burger{width:32px!important;height:32px!important;padding:0!important}
}

/* ─── MOBILE NAV ────────────────────────────────────────────────── */
.mobile-nav{
  display:none;
  position:fixed;inset:0;z-index:49;
  background:rgba(5,15,42,.97);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  flex-direction:column;
  padding:100px 32px 48px;
  overflow-y:auto;
}
.mobile-nav.open{display:flex}
.mobile-nav a{
  display:block;
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(28px,6vw,40px);
  font-weight:500;color:#fff;
  padding:16px 0;
  border-bottom:1px solid rgba(255,255,255,.07);
  letter-spacing:-.01em;
  transition:color .2s;
}
.mobile-nav a:hover,.mobile-nav a.active{color:var(--gold)}
.mobile-nav .mob-cta{
  margin-top:32px;
  background:var(--gold);color:var(--navy);
  display:inline-flex;align-items:center;gap:10px;
  padding:16px 28px;font-family:"DM Sans",sans-serif;
  font-size:14px;font-weight:600;letter-spacing:.06em;
  border:none;
}
.nav-burger span{position:relative;transition:background .2s;}
.nav-burger.is-open span{background:transparent;box-shadow:none;}
.nav-burger.is-open span::before,
.nav-burger.is-open span::after{
  content:"";position:absolute;left:0;
  width:16px;height:1.4px;background:var(--navy);
  top:0;transition:transform .2s;
}
.nav-burger.is-open span::before{transform:rotate(45deg)}
.nav-burger.is-open span::after{transform:rotate(-45deg)}

/* ─── Scroll animations ─────────────────────────────────────────── */
.anim-init{
  opacity:0;
  transition:opacity .75s cubic-bezier(.22,1,.36,1),transform .75s cubic-bezier(.22,1,.36,1);
  will-change:opacity,transform;
}
.anim-init[data-anim-type="up"]   { transform:translateY(36px) }
.anim-init[data-anim-type="right"]{ transform:translateX(-36px) }
.anim-init[data-anim-type="left"] { transform:translateX(36px) }
.anim-init.anim-in{ opacity:1; transform:none !important }
@media(prefers-reduced-motion:reduce){
  .anim-init{ transition:none !important; opacity:1 !important; transform:none !important }
}

/* ====================================================================
   ALF — Inline Loan Form
   ==================================================================== */
.alf-section { background:var(--bg-cream,#FAF8F4); }
.alf-wrap {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:64px;
  align-items:start;
}
.alf-head { position:sticky; top:100px; }
.alf-head h2 { color:var(--navy); font-size:clamp(1.5rem,2.8vw,2.2rem); margin:16px 0 0; }
.alf-head p { color:var(--ink-2); line-height:1.7; margin-top:12px; font-size:.95rem; }

/* Form */
.alf-form { background:#fff; border-radius:16px; padding:36px; box-shadow:0 4px 24px rgba(8,27,68,.08); display:flex; flex-direction:column; gap:20px; }

/* Field */
.alf-field { display:flex; flex-direction:column; gap:6px; }
.alf-field label { font-size:.82rem; font-weight:600; color:var(--navy); letter-spacing:.04em; text-transform:uppercase; }
.alf-hint { font-weight:400; text-transform:none; letter-spacing:0; color:var(--ink-2); font-size:.78rem; }
.alf-field input[type="text"],
.alf-field input[type="number"],
.alf-field input[type="email"],
.alf-field input[type="tel"],
.alf-field select {
  width:100%; padding:12px 16px;
  border:1.5px solid #E2E6EF;
  border-radius:8px;
  font-family:"DM Sans",sans-serif;
  font-size:.95rem;
  color:var(--navy);
  background:#FAFBFC;
  transition:border-color .2s, box-shadow .2s;
  appearance:none; -webkit-appearance:none;
  box-sizing:border-box;
}
.alf-field input:focus,
.alf-field select:focus { outline:none; border-color:var(--gold); box-shadow:0 0 0 3px rgba(197,164,109,.15); }
.alf-field select { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23081B44' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; padding-right:36px; cursor:pointer; }

/* Input with prefix/suffix */
.alf-input-wrap { position:relative; display:flex; align-items:center; }
.alf-input-wrap input { padding-left:36px; }
.alf-input-wrap input.has-suffix { padding-right:40px; }
.alf-prefix { position:absolute; left:14px; font-size:.95rem; color:var(--ink-2); font-weight:500; pointer-events:none; z-index:1; }
.alf-suffix { position:absolute; right:14px; font-size:.95rem; color:var(--ink-2); font-weight:500; pointer-events:none; z-index:1; }
.alf-input-wrap input[type="number"] { -moz-appearance:textfield; }
.alf-input-wrap input[type="number"]::-webkit-inner-spin-button,
.alf-input-wrap input[type="number"]::-webkit-outer-spin-button { -webkit-appearance:none; }

/* Two-column row */
.alf-field-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }

/* Divider before contact */
.alf-divider { border:none; border-top:1px solid #E8EBF2; margin:4px 0; }

/* Privacy note */
.alf-privacy { display:flex; align-items:center; gap:8px; font-size:.78rem; color:#8A91A0; line-height:1.5; }
.alf-privacy svg { flex-shrink:0; color:#8A91A0; }

/* Submit */
.alf-submit { width:100%; justify-content:center; font-size:1rem; padding:16px 24px; }

/* Success */
.alf-success { text-align:center; padding:32px 16px; }
.alf-success-icon { width:56px; height:56px; border-radius:50%; background:var(--gold); color:#fff; font-size:1.6rem; display:flex; align-items:center; justify-content:center; margin:0 auto 16px; }
.alf-success h3 { color:var(--navy); margin:0 0 8px; }
.alf-success p { color:var(--ink-2); font-size:.9rem; margin:0; }

/* Error */
.alf-error { background:#FEF2F2; border:1px solid #FECACA; border-radius:8px; padding:12px 16px; font-size:.88rem; color:#991B1B; }
.alf-error a { color:#991B1B; font-weight:600; }

/* Loading state */
.alf-submit.is-loading { opacity:.7; pointer-events:none; }
.alf-submit.is-loading .arr { animation:alf-spin .8s linear infinite; display:inline-block; }
@keyframes alf-spin { to { transform:rotate(360deg); } }

/* Responsive */
@media (max-width:860px) {
  .alf-wrap { grid-template-columns:1fr; gap:32px; }
  .alf-head { position:static; }
  .alf-form { padding:24px; }
}
@media (max-width:560px) {
  .alf-field-row { grid-template-columns:1fr; }
}
/* ====================================================================
   ARB — Rate Intelligence Banner
   ==================================================================== */
.arb-wrap { position:relative; z-index:50; }

/* Strip (collapsed) */
.arb-strip {
  width:100%; display:flex; align-items:center; gap:0;
  background:var(--navy); border:none; cursor:pointer;
  padding:0; margin:0; text-align:left;
  transition:background .2s;
}
.arb-strip:hover { background:#0d2456; }

.arb-strip-left {
  display:flex; align-items:center; gap:10px;
  padding:14px 20px 14px 24px;
  background:var(--gold); color:var(--navy); flex-shrink:0;
}
.arb-label { font-size:.72rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; white-space:nowrap; }
.arb-divider { width:1px; height:14px; background:rgba(8,27,68,.2); }

.arb-strip-rates {
  display:flex; align-items:center; gap:0; flex:1; overflow:hidden;
  padding:0 8px;
}
.arb-pill {
  display:flex; align-items:center; gap:8px;
  padding:14px 20px; border-right:1px solid rgba(255,255,255,.08);
  white-space:nowrap;
}
.arb-pill-name { font-size:.75rem; color:rgba(255,255,255,.65); font-weight:400; }
.arb-pill-rate { font-size:.95rem; color:#fff; font-weight:700; font-variant-numeric:tabular-nums; letter-spacing:-.01em; }

.arb-strip-right {
  display:flex; align-items:center; gap:6px;
  padding:14px 24px; margin-left:auto; flex-shrink:0;
}
.arb-more { font-size:.75rem; color:rgba(255,255,255,.7); font-weight:500; letter-spacing:.04em; white-space:nowrap; }
.arb-chevron { color:var(--gold); transition:transform .3s; flex-shrink:0; }
.arb-open .arb-chevron { transform:rotate(180deg); }

/* Panel (expanded) */
.arb-panel {
  background:#f4f6fb; border-bottom:2px solid var(--gold);
  animation:arb-slide-down .25s cubic-bezier(.4,0,.2,1);
}
@keyframes arb-slide-down {
  from { opacity:0; transform:translateY(-8px); }
  to   { opacity:1; transform:translateY(0); }
}
.arb-panel-inner { padding:32px 0 28px; }

.arb-panel-head {
  display:flex; justify-content:space-between; align-items:flex-start;
  gap:16px; margin-bottom:24px;
}
.arb-panel-title { font-size:1.1rem; font-weight:700; color:var(--navy); margin:0 0 6px; }
.arb-panel-sub { font-size:.82rem; color:var(--ink-2); margin:0; line-height:1.5; }
.arb-panel-sub a { color:var(--gold); font-weight:600; text-decoration:none; }
.arb-panel-sub a:hover { text-decoration:underline; }
.arb-updated { display:flex; align-items:center; gap:5px; font-size:.73rem; color:#8A91A0; white-space:nowrap; flex-shrink:0; padding-top:2px; }
.arb-live-badge { display:inline-flex; align-items:center; font-size:.6rem; font-weight:800; letter-spacing:.1em; color:#22c55e; background:rgba(34,197,94,.12); border:1px solid rgba(34,197,94,.3); border-radius:4px; padding:1px 5px; margin-left:2px; }
.arb-live-dot { display:inline-block; width:7px; height:7px; border-radius:50%; background:#22c55e; margin-left:5px; vertical-align:middle; box-shadow:0 0 6px rgba(34,197,94,.5); }

/* Two columns */
.arb-cols { display:grid; grid-template-columns:1fr 1fr; gap:32px; }

.arb-col-label {
  font-size:.7rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--gold); border-bottom:1px solid #dde2ee; padding-bottom:8px; margin-bottom:4px;
}

.arb-rate-list { display:flex; flex-direction:column; }
.arb-rate-row {
  display:flex; justify-content:space-between; align-items:center;
  padding:10px 0; border-bottom:1px solid #e8ebf4;
}
.arb-rate-row:last-child { border-bottom:none; }
.arb-rate-info { display:flex; flex-direction:column; gap:2px; }
.arb-rate-name { font-size:.88rem; font-weight:600; color:var(--navy); }
.arb-rate-note { font-size:.73rem; color:#8A91A0; }
.arb-rate-val { font-size:1.15rem; font-weight:700; color:var(--navy); font-variant-numeric:tabular-nums; letter-spacing:-.02em; }
.arb-rate-val small { font-size:.65rem; font-weight:500; color:var(--ink-2); margin-left:1px; }

/* CTA box inside panel */
.arb-cta-box {
  margin-top:20px; padding:18px 20px; background:var(--navy); border-radius:10px;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
}
.arb-cta-box p { font-size:.82rem; color:rgba(255,255,255,.8); margin:0; line-height:1.5; }

/* Disclaimer */
.arb-disclaimer { font-size:.7rem; color:#9AA0AE; margin:20px 0 0; line-height:1.6; }

/* Mobile cards */
.arb-mobile-cards {
  display:none;
  grid-template-columns:repeat(3,1fr);
  background:var(--navy);
  border-top:1px solid rgba(255,255,255,.08);
}
.arb-mobile-card {
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding:14px 8px 12px;
  border-right:1px solid rgba(255,255,255,.08);
  position:relative;
}
.arb-mobile-card:last-child { border-right:none; }
.arb-mc-label {
  font-size:.62rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  color:rgba(255,255,255,.6); margin-bottom:6px; text-align:center; line-height:1.3;
}
.arb-mc-rate {
  font-size:1.35rem; font-weight:800; color:#fff; font-variant-numeric:tabular-nums;
  letter-spacing:-.02em; line-height:1;
}
.arb-mc-rate small { font-size:.7rem; font-weight:500; color:rgba(255,255,255,.6); margin-left:1px; }
.arb-mc-dot {
  width:7px; height:7px; border-radius:50%; background:#22c55e;
  box-shadow:0 0 6px rgba(34,197,94,.5);
  margin-top:5px;
}

/* Responsive */
@media (max-width:768px) {
  .arb-strip-rates { display:none; }
  .arb-mobile-cards { display:grid; }
  .arb-cols { grid-template-columns:1fr; gap:20px; }
  .arb-cta-box { flex-direction:column; align-items:flex-start; }
}
@media (max-width:480px) {
  .arb-strip-left { padding:12px 16px; }
  .arb-strip-right { padding:12px 16px; }
  .arb-mc-rate { font-size:1.2rem; }
  .arb-mc-label { font-size:.58rem; }
}
/* ====================================================================
   ACB — Chatbot Widget
   ==================================================================== */
.acb-wrap { position:fixed; bottom:24px; right:24px; z-index:9999; font-family:"DM Sans",sans-serif; }

/* Launcher */
.acb-launcher {
  display:flex; align-items:center; gap:10px;
  background:var(--navy); color:#fff;
  border:none; border-radius:50px; cursor:pointer;
  padding:14px 20px 14px 16px;
  box-shadow:0 4px 24px rgba(8,27,68,.28);
  transition:transform .2s, box-shadow .2s, background .2s;
  position:relative;
}
.acb-launcher:hover { background:#0d2456; transform:translateY(-2px); box-shadow:0 8px 32px rgba(8,27,68,.32); }
.acb-launcher-icon { display:flex; align-items:center; justify-content:center; width:28px; height:28px; background:var(--gold); border-radius:50%; flex-shrink:0; }
.acb-launcher-label { font-size:.85rem; font-weight:600; letter-spacing:.01em; white-space:nowrap; }
.acb-unread {
  position:absolute; top:-6px; right:-6px;
  width:20px; height:20px; border-radius:50%;
  background:#e53e3e; color:#fff; font-size:.7rem; font-weight:700;
  display:flex; align-items:center; justify-content:center;
  border:2px solid #fff;
  animation:acb-pulse 2s infinite;
}
@keyframes acb-pulse { 0%,100%{transform:scale(1)} 50%{transform:scale(1.15)} }

/* Window */
.acb-window {
  position:absolute; bottom:72px; right:0;
  width:360px; max-height:540px;
  background:#fff; border-radius:16px;
  box-shadow:0 8px 40px rgba(8,27,68,.18);
  display:flex; flex-direction:column;
  overflow:hidden;
  animation:acb-pop .2s cubic-bezier(.4,0,.2,1);
}
@keyframes acb-pop { from{opacity:0;transform:scale(.95) translateY(8px)} to{opacity:1;transform:none} }

/* Header */
.acb-header {
  display:flex; align-items:center; gap:10px;
  background:var(--navy); padding:14px 16px;
  flex-shrink:0;
}
.acb-avatar {
  width:36px; height:36px; border-radius:50%;
  background:var(--gold); display:flex; align-items:center; justify-content:center;
  flex-shrink:0; color:var(--navy);
}
.acb-header-info { flex:1; }
.acb-name { display:block; font-size:.88rem; font-weight:700; color:#fff; }
.acb-status { display:flex; align-items:center; gap:5px; font-size:.72rem; color:rgba(255,255,255,.65); }
.acb-dot { width:7px; height:7px; border-radius:50%; background:#48bb78; flex-shrink:0; }
.acb-close-btn { background:none; border:none; color:rgba(255,255,255,.6); cursor:pointer; padding:4px; display:flex; border-radius:4px; transition:color .2s; }
.acb-close-btn:hover { color:#fff; }

/* Messages */
.acb-messages { flex:1; overflow-y:auto; padding:16px; display:flex; flex-direction:column; gap:10px; scroll-behavior:smooth; }
.acb-messages::-webkit-scrollbar { width:4px; }
.acb-messages::-webkit-scrollbar-track { background:transparent; }
.acb-messages::-webkit-scrollbar-thumb { background:#ddd; border-radius:2px; }

.acb-msg { max-width:85%; line-height:1.55; font-size:.875rem; border-radius:12px; padding:10px 14px; animation:acb-msg-in .18s ease; }
@keyframes acb-msg-in { from{opacity:0;transform:translateY(4px)} to{opacity:1;transform:none} }
.acb-msg-bot { background:#F4F6FB; color:var(--navy); border-bottom-left-radius:3px; align-self:flex-start; }
.acb-msg-bot a { color:var(--gold); }
.acb-msg-user { background:var(--navy); color:#fff; border-bottom-right-radius:3px; align-self:flex-end; }

/* Typing indicator */
.acb-typing { display:flex; gap:4px; align-items:center; padding:12px 16px; }
.acb-typing span { width:7px; height:7px; border-radius:50%; background:#aab; display:inline-block; animation:acb-bounce .9s infinite; }
.acb-typing span:nth-child(2){ animation-delay:.15s; }
.acb-typing span:nth-child(3){ animation-delay:.3s; }
@keyframes acb-bounce { 0%,60%,100%{transform:translateY(0)} 30%{transform:translateY(-6px)} }

/* Options */
.acb-options { display:flex; flex-wrap:wrap; gap:7px; margin-top:2px; }
.acb-opt {
  background:#fff; border:1.5px solid #DDE2EE; color:var(--navy);
  border-radius:20px; padding:7px 14px; font-size:.8rem; font-weight:500;
  cursor:pointer; transition:all .15s; font-family:inherit;
  white-space:nowrap;
}
.acb-opt:hover:not(:disabled) { border-color:var(--gold); color:var(--gold); background:#FEFBF5; }
.acb-opt-selected { background:var(--navy); border-color:var(--navy); color:#fff; }
.acb-opt-used:not(.acb-opt-selected) { opacity:.35; }
.acb-opt:disabled { cursor:default; }

/* Input area */
.acb-input-area {
  display:flex; align-items:center; gap:8px;
  padding:10px 12px; border-top:1px solid #EEF0F5; flex-shrink:0;
}
.acb-input {
  flex:1; border:1.5px solid #E2E6EF; border-radius:20px;
  padding:9px 14px; font-size:.875rem; font-family:inherit; color:var(--navy);
  outline:none; transition:border-color .2s;
}
.acb-input:focus { border-color:var(--gold); }
.acb-send {
  width:36px; height:36px; border-radius:50%; border:none;
  background:var(--navy); color:#fff; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0; transition:background .2s;
}
.acb-send:hover { background:var(--gold); }
.acb-send svg { display:block !important; width:16px !important; height:16px !important; stroke:currentColor !important; fill:none !important; pointer-events:none; }
.acb-input-error { border-color:#e57373 !important; animation:acbShake .3s ease; }
@keyframes acbShake { 0%,100%{transform:translateX(0)} 25%{transform:translateX(-5px)} 75%{transform:translateX(5px)} }

/* Footer note */
.acb-footer-note { font-size:.68rem; color:#AAB0BE; text-align:center; padding:6px 12px 10px; flex-shrink:0; }

/* Astra theme overrides [hidden] — force chat window closed when hidden */
.acb-window[hidden] { display:none !important; }

/* Mobile */
@media (max-width:480px) {
  .acb-wrap { bottom:16px; right:16px; left:16px; }
  .acb-window { width:100%; right:0; left:0; bottom:68px; max-height:70vh; }
  .acb-launcher { width:fit-content; margin-left:auto; }
  /* Larger close button touch target on mobile */
  .acb-close-btn { width:44px; height:44px; display:flex; align-items:center; justify-content:center; }
}

/* ── Avatar status dot ──────────────────────────────────────────────── */
.acb-avatar { position:relative; }
.acb-avatar-status { position:absolute; right:0; bottom:0; width:9px; height:9px; border-radius:50%; background:#22c55e; border:2px solid var(--navy); }
.acb-mood-thinking .acb-avatar-status { background:var(--gold); }
.acb-mood-speaking .acb-avatar-status { background:#60a5fa; }
.acb-mood-error    .acb-avatar-status { background:#f59e0b; }

/* Avatar mood animations */
.acb-mood-thinking { animation:acbAvatarThink 1.4s ease-in-out infinite; }
.acb-mood-speaking { animation:acbAvatarSpeak 0.7s ease-in-out infinite; }
@keyframes acbAvatarThink { 0%,100%{transform:scale(1);filter:brightness(1)} 50%{transform:scale(1.06);filter:brightness(1.15)} }
@keyframes acbAvatarSpeak { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-2px)} }

/* ── Orb + Wave thinking indicator ─────────────────────────────────── */
.aml-thinking-wrap { display:flex; align-items:center; gap:10px; background:#fff; border-radius:16px; padding:12px 14px; margin:4px 0; width:fit-content; max-width:85%; box-shadow:0 4px 14px rgba(8,27,68,.08); border:1px solid rgba(8,27,68,.07); }
.aml-thinking-wrap p { margin:0; font-size:12.5px; color:#334155; font-weight:500; }

/* Orb — Siri-style spinning gradient */
.aml-orb { position:relative; width:36px; height:36px; border-radius:50%; background:linear-gradient(135deg,#3b82f6,#8b5cf6,#ec4899); box-shadow:0 0 18px rgba(139,92,246,.55),0 0 36px rgba(59,130,246,.3); animation:amlSiriPulse 1.8s ease-in-out infinite; flex-shrink:0; overflow:hidden; }
.aml-orb::before { content:''; position:absolute; inset:0; border-radius:50%; background:conic-gradient(from 0deg,#3b82f6,#8b5cf6,#ec4899,#06b6d4,#10b981,#3b82f6); animation:amlSiriSpin 2.5s linear infinite; }
.aml-orb::after { content:''; position:absolute; inset:5px; border-radius:50%; background:radial-gradient(circle at 35% 35%,rgba(255,255,255,.75) 0%,transparent 65%); z-index:1; pointer-events:none; }
.aml-orb span { display:none; }

/* Wave */
.aml-wave { display:flex; align-items:center; gap:3px; height:22px; }
.aml-wave i { display:block; width:3px; height:7px; border-radius:99px; background:var(--gold); animation:amlWave .9s ease-in-out infinite; }
.aml-wave i:nth-child(2) { animation-delay:.1s; }
.aml-wave i:nth-child(3) { animation-delay:.2s; }
.aml-wave i:nth-child(4) { animation-delay:.3s; }
.aml-wave i:nth-child(5) { animation-delay:.4s; }

/* Keyframes */
@keyframes amlSiriSpin  { to { transform:rotate(360deg); } }
@keyframes amlSiriPulse { 0%,100%{transform:scale(1);box-shadow:0 0 18px rgba(139,92,246,.55),0 0 36px rgba(59,130,246,.3)} 50%{transform:scale(1.12);box-shadow:0 0 28px rgba(139,92,246,.75),0 0 56px rgba(59,130,246,.45)} }
@keyframes amlWave      { 0%,100%{height:6px;opacity:.4} 50%{height:18px;opacity:1} }

/* Reduced motion */
@media (prefers-reduced-motion:reduce) {
  .aml-orb,.aml-orb::before,.aml-wave i,.acb-mood-thinking,.acb-mood-speaking { animation:none !important; }
}

/* Mobile horizontal overflow fix */
@media (max-width:768px) {
  html,body { overflow-x:hidden; max-width:100vw; }
}

/* ─── HC2 TABBED CALCULATOR ─────────────────────────────────────── */
.hc2 { padding:28px 28px 22px; }
.hc2-panel[hidden] { display:none !important; }

/* Tab nav */
.hc2-tabs { display:flex; border-bottom:1px solid rgba(8,27,68,.1); margin-bottom:24px; gap:0; }
.hc2-tab { flex:1; background:none; border:none; padding:10px 4px 12px; font:600 11px/1 "DM Sans",sans-serif; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-2); cursor:pointer; position:relative; transition:color .2s; }
.hc2-tab::after { content:""; position:absolute; bottom:-1px; left:0; right:0; height:2px; background:var(--gold); transform:scaleX(0); transition:transform .2s; }
.hc2-tab.active { color:var(--navy); }
.hc2-tab.active::after { transform:scaleX(1); }
.hc2-tab:hover { color:var(--gold); }
.hc2-tab:hover::after { transform:scaleX(1); }

/* Panel */
.hc2-panel { display:flex; flex-direction:column; gap:0; }

/* Field / label row */
.hc2-field { margin-bottom:18px; }
.hc2-label-row { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:8px; }
.hc2-label-row label { font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--ink-2); font-weight:600; }
.hc2-val { font-size:13px; font-weight:600; color:var(--navy); }
.hc2-sm-label { display:block; font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--ink-2); font-weight:600; margin-bottom:8px; }

/* Sliders */
.hc2-slider { -webkit-appearance:none; appearance:none; width:100%; height:4px; border-radius:2px; background:linear-gradient(90deg,var(--gold) 31.1%,rgba(8,27,68,.12) 31.1%); outline:none; cursor:pointer; }
.hc2-slider::-webkit-slider-thumb { -webkit-appearance:none; appearance:none; width:18px; height:18px; border-radius:50%; background:var(--navy); border:3px solid var(--gold); cursor:pointer; transition:transform .15s; }
.hc2-slider::-webkit-slider-thumb:hover { transform:scale(1.2); }
.hc2-slider::-moz-range-thumb { width:18px; height:18px; border-radius:50%; background:var(--navy); border:3px solid var(--gold); cursor:pointer; }
.hc2-range-ends { display:flex; justify-content:space-between; margin-top:5px; }
.hc2-range-ends span { font-size:10px; color:var(--ink-2); }

/* Row + half */
.hc2-row { display:flex; gap:14px; }
.hc2-half { flex:1; min-width:0; }

/* Pill group */
.hc2-pill-group { display:flex; gap:6px; }
.hc2-pill { flex:1; background:var(--ivory); border:1px solid rgba(8,27,68,.12); color:var(--ink-2); font:600 11px "DM Sans",sans-serif; padding:7px 0; cursor:pointer; border-radius:2px; transition:all .15s; }
.hc2-pill.active { background:var(--navy); border-color:var(--navy); color:#fff; }
.hc2-pill:hover:not(.active) { border-color:var(--navy); color:var(--navy); }

/* Select */
.hc2-select { width:100%; background:var(--ivory); border:1px solid rgba(8,27,68,.12); color:var(--ink); font:500 12px "DM Sans",sans-serif; padding:8px 10px; cursor:pointer; appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23081B44' stroke-width='1.5' fill='none'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 10px center; }

/* Result box */
.hc2-result { display:flex; align-items:center; background:var(--navy); color:#fff; padding:18px 20px; margin:20px 0 16px; gap:0; justify-content:space-between; }
.hc2-res-left { flex:1; }
.hc2-res-label { font-size:9.5px; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.5); margin-bottom:6px; }
.hc2-res-val { font-family:"Cormorant Garamond",serif; font-size:46px; font-weight:500; color:var(--gold); line-height:1; display:flex; align-items:baseline; gap:3px; }
.hc2-res-val small { font-family:"DM Sans"; font-size:13px; font-weight:400; color:rgba(255,255,255,.5); }
.hc2-res-sub { font-size:10px; color:rgba(255,255,255,.4); margin-top:6px; letter-spacing:.04em; }
.hc2-res-right { display:flex; flex-direction:column; gap:10px; align-items:flex-end; }
.hc2-mini { text-align:right; }
.hc2-mini span { display:block; font-size:9px; letter-spacing:.15em; text-transform:uppercase; color:rgba(255,255,255,.4); }
.hc2-mini strong { font-size:13px; color:#fff; font-weight:600; }
.hc2-savings strong { color:#4caf6e !important; }

/* CTA */
.hc2-cta { display:flex; align-items:center; justify-content:center; gap:8px; background:var(--gold); color:var(--navy); font:700 11px/1 "DM Sans",sans-serif; letter-spacing:.12em; text-transform:uppercase; text-decoration:none; padding:14px 20px; transition:background .2s,color .2s; }
.hc2-cta:hover { background:var(--navy); color:#fff; }

/* Equity intro text */
.hc2-equity-intro { font-size:12.5px; color:var(--ink-2); line-height:1.65; margin-bottom:18px; margin-top:-4px; }

@media(max-width:480px){
  .hc2-res-val { font-size:38px; }
  .hc2-result { flex-direction:column; align-items:flex-start; gap:14px; }
  .hc2-res-right { align-items:flex-start; flex-direction:row; gap:20px; }
  .hc2-mini { text-align:left; }
}