/* ── Finance Foundry · shared.css ── */
:root{
  --ink:#0f0f0f;
  --cream:#f5f0e8;
  --ember:#e84b1a;
  --ember2:#ff7e3d;
  --molten:#ffb347;
  --steel:#1e2d40;
  --steel2:#2c3e55;
  --teal:#0d7377;
  --teal2:#14a085;
  --white:#ffffff;
  --gray:#7a7a7a;
  --light:#ebe6dc;
  --light2:#f0ece3;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;background:var(--cream);color:var(--ink);overflow-x:hidden}

/* ── CURSOR (desktop only) ── */
@media(pointer:fine){
  .cursor{position:fixed;width:12px;height:12px;background:var(--ember);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .3s,height .3s;mix-blend-mode:multiply}
  .cursor-ring{position:fixed;width:38px;height:38px;border:1.5px solid var(--ember);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:width .3s,height .3s}
}

/* ── NAV ── */
.site-nav{position:fixed;top:0;left:0;right:0;z-index:500;padding:0 48px;display:flex;align-items:center;justify-content:space-between;height:72px;transition:background .3s,backdrop-filter .3s;mix-blend-mode:difference}
.site-nav.scrolled{background:rgba(14,29,48,.96);mix-blend-mode:normal;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.nav-logo{font-family:'Syne',sans-serif;font-weight:800;font-size:19px;color:#fff;letter-spacing:-.02em;text-decoration:none;display:flex;align-items:center;gap:10px;flex-shrink:0}
.nav-logo-icon{width:34px;height:34px;background:var(--ember);border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s}
.nav-logo:hover .nav-logo-icon{background:var(--ember2)}
.nav-menu{display:flex;align-items:center;list-style:none;gap:2px}
.nav-menu a{color:rgba(255,255,255,.78);font-size:13px;font-weight:500;text-decoration:none;padding:8px 13px;border-radius:6px;letter-spacing:.06em;text-transform:uppercase;transition:color .2s,background .2s;display:block;white-space:nowrap}
.nav-menu a:hover{color:#fff;background:rgba(255,255,255,.1)}
.nav-menu .active{color:#fff}
.nav-cta-btn{background:var(--ember)!important;color:#fff!important;border-radius:100px!important;padding:10px 22px!important;font-weight:500!important}
.nav-cta-btn:hover{background:var(--ember2)!important}

/* Hamburger */
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px;background:none;border:none;z-index:600}
.hamburger span{display:block;width:24px;height:2px;background:#fff;border-radius:2px;transition:all .3s}
.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* Mobile drawer */
.mobile-nav{display:none;position:fixed;inset:0;background:var(--steel);z-index:490;flex-direction:column;align-items:center;justify-content:center;gap:8px}
.mobile-nav.open{display:flex}
.mobile-nav a{color:#fff;font-family:'Syne',sans-serif;font-weight:700;font-size:28px;text-decoration:none;padding:12px 0;letter-spacing:-.02em;text-align:center;width:100%;text-align:center;border-bottom:1px solid rgba(255,255,255,.06);transition:color .2s}
.mobile-nav a:hover{color:var(--ember2)}
.mobile-nav .mob-cta{background:var(--ember);border-radius:100px;padding:16px 40px!important;border:none!important;margin-top:16px;font-size:22px!important;display:inline-block!important;width:auto!important}

/* ── TICKER ── */
.ticker-bar{background:var(--ember);overflow:hidden;white-space:nowrap;padding:13px 0}
.ticker-track{display:inline-flex;animation:ticker-scroll 32s linear infinite}
@keyframes ticker-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.ticker-item{font-family:'Syne',sans-serif;font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#fff;padding:0 36px;display:inline-block}
.ticker-dot{display:inline-block;width:5px;height:5px;background:rgba(255,255,255,.45);border-radius:50%;vertical-align:middle;margin-right:36px}

/* ── PAGE HERO (inner pages) ── */
.page-hero{background:var(--steel);padding:140px 48px 80px;position:relative;overflow:hidden}
.page-hero::before{content:'';position:absolute;bottom:-80px;right:-80px;width:500px;height:500px;border-radius:50%;background:radial-gradient(ellipse,rgba(232,75,26,.18),transparent 70%)}
.page-hero-inner{max-width:900px;position:relative;z-index:1}
.page-eyebrow{font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--ember2);margin-bottom:16px;display:block}
.page-h1{font-family:'Syne',sans-serif;font-weight:800;font-size:clamp(38px,6vw,72px);line-height:.95;color:#fff;letter-spacing:-.04em;margin-bottom:22px}
.page-h1 em{font-style:italic;color:var(--ember2)}
.page-sub{font-size:clamp(16px,2vw,20px);font-weight:300;color:rgba(255,255,255,.6);line-height:1.65;max-width:560px}

/* ── COMMON SECTION STYLES ── */
.section{padding:90px 48px}
.section-cream{background:var(--cream)}
.section-white{background:var(--white)}
.section-steel{background:var(--steel)}
.section-light{background:var(--light2)}
.container{max-width:1200px;margin:0 auto}
.container-sm{max-width:860px;margin:0 auto}
.container-md{max-width:1060px;margin:0 auto}

.eyebrow{font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--ember);margin-bottom:14px;display:block}
.eyebrow-teal{color:var(--teal)}
.h2{font-family:'Syne',sans-serif;font-weight:800;font-size:clamp(32px,4.5vw,54px);line-height:1;color:var(--ink);letter-spacing:-.03em;margin-bottom:16px}
.h2 em{font-style:italic;color:var(--teal)}
.h2-wh{color:#fff}
.h2-wh em{color:var(--ember2)}
.body-text{font-size:18px;font-weight:300;color:#4a4a4a;line-height:1.75}
.body-text-sm{font-size:16px;font-weight:300;color:#5a5a5a;line-height:1.7}
.body-wh{color:rgba(255,255,255,.6)}

/* ── BUTTONS ── */
.btn-forge{background:var(--ember);color:#fff;font-family:'DM Sans',sans-serif;font-weight:500;font-size:16px;padding:15px 34px;border-radius:100px;text-decoration:none;transition:background .2s,transform .2s;border:none;cursor:pointer;display:inline-block}
.btn-forge:hover{background:var(--ember2);transform:translateY(-2px)}
.btn-forge-sm{font-size:14px;padding:12px 26px}
.btn-ghost{background:transparent;color:var(--ink);font-family:'DM Sans',sans-serif;font-weight:400;font-size:16px;padding:15px 34px;border-radius:100px;text-decoration:none;border:1.5px solid rgba(0,0,0,.2);transition:all .2s;display:inline-block}
.btn-ghost:hover{border-color:var(--ember);color:var(--ember)}
.btn-ghost-wh{color:rgba(255,255,255,.8);border-color:rgba(255,255,255,.25)}
.btn-ghost-wh:hover{border-color:#fff;color:#fff}
.btn-teal{background:var(--teal);color:#fff;font-family:'DM Sans',sans-serif;font-weight:500;font-size:16px;padding:15px 34px;border-radius:100px;text-decoration:none;transition:background .2s;border:none;cursor:pointer;display:inline-block}
.btn-teal:hover{background:var(--teal2)}

/* ── CARDS ── */
.card-white{background:#fff;border-radius:16px;padding:36px 30px;transition:transform .3s,box-shadow .3s}
.card-white:hover{transform:translateY(-4px);box-shadow:0 16px 48px rgba(0,0,0,.08)}
.card-steel{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:36px 30px}
.card-cream{background:var(--light2);border-radius:16px;padding:32px 28px}

/* ── FORM STYLES ── */
.form-group{margin-bottom:16px}
.form-group label{display:block;font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--gray);margin-bottom:5px}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:13px 16px;border:1.5px solid #ddd8cc;border-radius:8px;font-family:'DM Sans',sans-serif;font-size:15px;color:var(--ink);background:#fff;transition:border-color .2s;outline:none}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--ember)}
.form-group textarea{min-height:120px;resize:vertical}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-dark input,.form-dark select,.form-dark textarea{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.15);color:#fff}
.form-dark input::placeholder,.form-dark textarea::placeholder{color:rgba(255,255,255,.35)}
.form-dark label{color:rgba(255,255,255,.5)}

/* ── FOOTER ── */
.site-footer{background:var(--steel);padding:64px 48px 32px}
.footer-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.07)}
.footer-brand p{font-size:14px;font-weight:300;color:rgba(255,255,255,.38);line-height:1.7;margin:14px 0 18px;max-width:240px}
.footer-brand a{display:block;color:var(--ember2);text-decoration:none;font-size:14px;font-weight:400;margin-bottom:4px;transition:color .2s}
.footer-brand a:hover{color:#fff}
.footer-col h5{font-size:10.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.28);margin-bottom:16px}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:9px}
.footer-col ul a{color:rgba(255,255,255,.4);font-size:14px;font-weight:300;text-decoration:none;transition:color .2s}
.footer-col ul a:hover{color:var(--ember2)}
.footer-bottom{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.footer-bottom p{font-size:12px;font-weight:300;color:rgba(255,255,255,.22)}
.footer-legal{display:flex;gap:18px}
.footer-legal a{font-size:12px;color:rgba(255,255,255,.22);text-decoration:none;transition:color .2s}
.footer-legal a:hover{color:rgba(255,255,255,.6)}
.footer-disc{max-width:1200px;margin:20px auto 0;font-size:11px;color:rgba(255,255,255,.18);padding-top:18px;border-top:1px solid rgba(255,255,255,.05);line-height:1.65}

/* ── NUMBERS STRIP ── */
.nums-strip{background:var(--steel);padding:72px 48px}
.nums-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr)}
.num-item{text-align:center;padding:6px 16px;border-right:1px solid rgba(255,255,255,.09)}
.num-item:last-child{border:none}
.num-n{font-family:'Syne',sans-serif;font-weight:800;font-size:clamp(38px,5vw,58px);color:#fff;letter-spacing:-.03em;display:block;line-height:1}
.num-n sup{font-size:.5em;color:var(--ember);vertical-align:super}
.num-l{font-size:12px;font-weight:400;color:rgba(255,255,255,.38);letter-spacing:.08em;text-transform:uppercase;margin-top:6px;display:block}

/* ── REVEAL ANIMATION ── */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .55s ease,transform .55s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
@keyframes fade-up{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}

/* ── RESPONSIVE ── */
@media(max-width:900px){
  .site-nav{padding:0 24px}
  .nav-menu{display:none}
  .hamburger{display:flex}
  .section{padding:70px 24px}
  .page-hero{padding:120px 24px 64px}
  .nums-strip{padding:56px 24px}
  .nums-grid{grid-template-columns:1fr 1fr;gap:24px}
  .num-item{border:none}
  .site-footer{padding:56px 24px 28px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:36px}
  .form-row{grid-template-columns:1fr}
}
@media(max-width:580px){
  .footer-grid{grid-template-columns:1fr}
  .nums-grid{grid-template-columns:1fr 1fr}
}
