/* ============================================
   Edwin Oquendo — Personal Mortgage Site
   Direction D · Homespire Signature
   Shared stylesheet for all pages
   ============================================ */

:root{
  --bg:#f7f5fb;
  --bg-2:#ece7f4;
  --bg-3:#e2daf0;
  --surface:#ffffff;
  --ink:#0f0a24;
  --ink-2:#241a3f;
  --muted:#585271;
  --rule:#d0c6e0;
  --accent:#4F2D84;
  --accent-deep:#3a1f66;
  --accent-tint:rgba(79,45,132,0.08);
  --accent-2:#67489D;
  --accent-3:#706F8C;
  --btn-radius:6px;
  --card-radius:8px;
  --success:#2d7a52;
  --warn:#b58a2e;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:'Instrument Sans',system-ui,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5{font-family:'Fraunces',Georgia,serif;font-weight:500;letter-spacing:-0.02em;color:var(--ink);margin:0;text-wrap:balance}
p{margin:0;color:var(--ink-2);text-wrap:pretty}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{font-family:inherit}
.mono{font-family:'JetBrains Mono',monospace}

/* Utility */
.container{max-width:1280px;margin:0 auto;padding:0 40px}
.container-sm{max-width:920px;margin:0 auto;padding:0 40px}
.kicker{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--accent);margin-bottom:20px;display:flex;align-items:center;gap:10px}
.kicker::before{content:"";width:24px;height:1px;background:var(--accent)}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:#fff;padding:11px 20px;border-radius:var(--btn-radius);font-family:'Instrument Sans',sans-serif;font-size:13px;font-weight:500;letter-spacing:0.01em;border:0;cursor:pointer;transition:all 0.2s ease;text-decoration:none;white-space:nowrap}
.btn:hover{background:var(--accent-deep);transform:translateY(-1px);box-shadow:0 8px 20px var(--accent-tint)}
.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--rule)}
.btn-ghost:hover{background:var(--bg-2);color:var(--ink);box-shadow:none;transform:none}
.btn-lg{padding:14px 24px;font-size:14px}
.btn .arrow{transition:transform 0.2s ease}
.btn:hover .arrow{transform:translateX(3px)}

/* ============================================
   NAV
   ============================================ */
.nav{position:sticky;top:0;z-index:50;background:color-mix(in oklab, var(--bg) 88%, transparent);backdrop-filter:blur(16px);border-bottom:1px solid var(--rule)}
.nav-inner{max-width:1280px;margin:0 auto;padding:16px 40px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.brand{display:flex;align-items:baseline;gap:10px;font-family:'Fraunces',serif;font-size:20px;font-weight:500;letter-spacing:-0.01em;color:var(--ink)}
.brand .dot{width:8px;height:8px;background:var(--accent);border-radius:50%;transform:translateY(-2px)}
.brand small{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted);font-weight:400}
.nav-links{display:flex;gap:28px;align-items:center;font-size:14px;color:var(--ink-2)}
.nav-links a{transition:color 0.15s ease;position:relative}
.nav-links a:hover{color:var(--accent)}
.nav-links a.active{color:var(--accent)}
.nav-links a.active::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--accent);border-radius:2px}

/* ============================================
   FOOTER
   ============================================ */
footer{background:var(--bg-2);color:var(--ink-2);padding:64px 40px 40px;border-top:1px solid var(--rule)}
.footer-inner{max-width:1280px;margin:0 auto}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;padding-bottom:40px;border-bottom:1px solid var(--rule)}
.footer-brand h4{font-family:'Fraunces',serif;font-size:24px;font-weight:500;letter-spacing:-0.01em;margin-bottom:8px}
.footer-brand p{font-size:14px;max-width:36ch;margin-bottom:16px}
.footer-col h5{font-family:'JetBrains Mono',monospace;font-size:10px;text-transform:uppercase;letter-spacing:0.14em;color:var(--muted);margin:0 0 16px;font-weight:600}
.footer-col ul{list-style:none;padding:0;margin:0}
.footer-col li{margin-bottom:10px;font-size:13px;color:var(--ink-2)}
.footer-col a:hover{color:var(--accent)}

.footer-states{padding:28px 0;border-bottom:1px solid var(--rule);font-size:12px;color:var(--muted);line-height:1.7}
.footer-states strong{color:var(--ink);font-family:'JetBrains Mono',monospace;font-size:10px;text-transform:uppercase;letter-spacing:0.14em;display:block;margin-bottom:10px}

.footer-legal{padding-top:28px;display:flex;justify-content:space-between;gap:32px;align-items:flex-start;font-size:11px;line-height:1.65;color:var(--muted)}
.footer-legal p{color:var(--muted);font-size:11px;max-width:70ch}
.footer-legal .ehl{display:flex;align-items:center;flex-shrink:0}
.ehl-logo{width:64px;height:auto;display:block;opacity:0.85;filter:brightness(0.4)}

/* ============================================
   PAGE HEADER (subpage hero)
   ============================================ */
.page-header{padding:56px 40px 48px;border-bottom:1px solid var(--rule)}
.page-header-inner{max-width:1280px;margin:0 auto}
.page-header h1{font-size:64px;line-height:1;letter-spacing:-0.035em;font-weight:400;margin-bottom:20px}
.page-header h1 em{font-style:italic;color:var(--accent);font-weight:400}
.page-header .lede{font-family:'Fraunces',serif;font-size:22px;line-height:1.45;color:var(--ink-2);max-width:56ch;font-weight:400}

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width:900px){
  .nav-links{display:none}
  .container,.container-sm{padding:0 24px}
  .page-header{padding:40px 24px 32px}
  .page-header h1{font-size:44px}
  .page-header .lede{font-size:18px}
  .footer-top{grid-template-columns:1fr 1fr;gap:32px}
}
@media (max-width:600px){
  .footer-top{grid-template-columns:1fr}
  .footer-legal{flex-direction:column-reverse}
}

