/* Capital Management — global stylesheet */
:root{
  --navy:#0f2942;
  --navy-dark:#0a1c2e;
  --teal:#0e8f7c;
  --teal-dark:#0b6e5f;
  --gold:#c8963e;
  --bg:#f7f9fb;
  --card:#ffffff;
  --border:#e2e8ef;
  --text:#1c2b3a;
  --text-muted:#5b6b7c;
  --radius:10px;
  --maxw:1160px;
  --shadow:0 1px 3px rgba(15,41,66,.08), 0 8px 24px rgba(15,41,66,.06);
  --focus:2px solid #0e8f7c;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:var(--teal-dark);text-decoration:none}
a:hover{text-decoration:underline}
a:focus-visible,button:focus-visible{outline:var(--focus);outline-offset:2px}
.container{max-width:var(--maxw);margin:0 auto;padding:0 20px}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--navy);color:#fff;padding:10px 16px;border-radius:0 0 6px 0;z-index:1000}
.skip-link:focus{left:0}

/* Header */
.site-header{background:var(--navy);color:#fff;position:sticky;top:0;z-index:100;box-shadow:0 1px 0 rgba(255,255,255,.06)}
.site-header .container{display:flex;align-items:center;justify-content:space-between;height:66px;gap:16px}
.brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:700;font-size:1.15rem;letter-spacing:-0.01em}
.brand:hover{text-decoration:none;opacity:.92}
.brand-mark{display:inline-block;flex-shrink:0}
nav.main-nav{display:flex;align-items:center;gap:2px}
nav.main-nav a{color:#dce7f0;padding:10px 12px;border-radius:6px;font-size:.94rem;font-weight:500}
nav.main-nav a:hover{background:rgba(255,255,255,.08);text-decoration:none;color:#fff}
nav.main-nav a.active{color:#fff;background:rgba(255,255,255,.12)}
.nav-toggle{display:none;background:none;border:1px solid rgba(255,255,255,.3);color:#fff;padding:8px 10px;border-radius:6px;font-size:1rem;cursor:pointer}
.header-search{display:flex;align-items:center}
.header-search input{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);color:#fff;padding:8px 12px;border-radius:20px;font-size:.85rem;width:170px;transition:width .2s}
.header-search input::placeholder{color:#b7c6d3}
.header-search input:focus{width:220px;background:rgba(255,255,255,.16)}

/* Breadcrumbs */
.breadcrumbs{font-size:.83rem;color:var(--text-muted);padding:14px 0 0}
.breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0}
.breadcrumbs li:not(:last-child)::after{content:"/";margin-left:6px;color:#b7c2cd}
.breadcrumbs a{color:var(--text-muted)}

/* Hero */
.hero{background:linear-gradient(160deg,var(--navy) 0%,var(--navy-dark) 100%);color:#fff;padding:64px 0 72px}
.hero-flex{display:flex;align-items:flex-start;justify-content:space-between;gap:40px}
.hero-content{flex:1;min-width:0}
.hero-logo{height:170px;width:auto;flex-shrink:0;margin-top:6px}
.hero h1{font-size:clamp(2rem,4vw,2.9rem);margin:0 0 14px;letter-spacing:-0.02em;line-height:1.15}
.hero p.lede{font-size:1.15rem;color:#c9d8e3;max-width:640px;margin:0 0 28px}
.hero-search{display:flex;max-width:520px;gap:8px}
.hero-search input{flex:1;padding:14px 16px;border-radius:8px;border:none;font-size:1rem}
.hero-search button{padding:14px 22px;border-radius:8px;border:none;background:var(--teal);color:#fff;font-weight:600;cursor:pointer;font-size:1rem}
.hero-search button:hover{background:var(--teal-dark)}
.trust-strip{display:flex;flex-wrap:wrap;gap:24px;margin-top:32px;color:#9fb3c2;font-size:.85rem}

/* Section grid */
.section-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin:40px 0}
.section-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow);transition:transform .15s, box-shadow .15s}
.section-card:hover{transform:translateY(-3px);box-shadow:0 4px 10px rgba(15,41,66,.1),0 14px 30px rgba(15,41,66,.09)}
.section-card .icon{font-size:1.8rem;display:inline-block;margin-bottom:12px}
.section-card h2,.section-card h3{margin:0 0 8px;font-size:1.2rem}
.section-card h2 a,.section-card h3 a{color:var(--navy)}
.section-card p{color:var(--text-muted);font-size:.94rem;margin:0 0 14px}
.section-card .card-link{font-size:.86rem;font-weight:600}

/* Page layout */
main{padding-bottom:64px}
.page-head{padding:40px 0 8px}
.page-head h1{font-size:clamp(1.7rem,3.4vw,2.4rem);margin:0 0 12px;color:var(--navy);letter-spacing:-0.01em}
.page-head p.dek{color:var(--text-muted);font-size:1.05rem;max-width:760px}
.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:700;color:var(--teal-dark)}

/* Subsection blocks on section pages */
.subsection{margin:38px 0;padding-top:8px;border-top:1px solid var(--border)}
.subsection h2{font-size:1.35rem;color:var(--navy);margin:24px 0 4px}
.subsection .sub-intro{color:var(--text-muted);margin:0 0 18px;max-width:720px}
.article-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.article-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;box-shadow:0 1px 2px rgba(15,41,66,.04)}
.article-card h3{margin:0 0 6px;font-size:1.02rem;line-height:1.35}
.article-card h3 a{color:var(--navy)}
.article-card p{margin:0;color:var(--text-muted);font-size:.88rem}
.badge{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:20px;margin-top:10px}
.badge-full{background:#e3f6f0;color:var(--teal-dark)}
.badge-soon{background:#f1eadd;color:#8a6a2a}

/* Article page */
.article-page article{max-width:760px}
.article-page .page-head{padding-bottom:0}
.article-meta{display:flex;flex-wrap:wrap;gap:14px;color:var(--text-muted);font-size:.85rem;margin:6px 0 28px}
.article-body h2{font-size:1.4rem;color:var(--navy);margin:34px 0 12px}
.article-body h3{font-size:1.12rem;color:var(--navy);margin:24px 0 8px}
.article-body p{margin:0 0 16px}
.article-body ul,.article-body ol{margin:0 0 18px;padding-left:22px}
.article-body li{margin-bottom:6px}
.article-body table{width:100%;border-collapse:collapse;margin:18px 0 26px;font-size:.93rem}
.article-body th,.article-body td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border)}
.article-body thead th{background:#eef3f6;color:var(--navy);font-weight:700}
.callout{border-radius:8px;padding:16px 18px;margin:0 0 28px;font-size:.92rem}
.callout p{margin:0}
.callout-info{background:#eef7f5;border:1px solid #cfeee6;color:#155c4e}
.callout-soon{background:#fbf3e6;border:1px solid #f0dfbb;color:#7a5a1e}
.related{margin-top:44px;padding-top:24px;border-top:1px solid var(--border)}
.related h2{font-size:1.15rem;color:var(--navy);margin:0 0 14px}

/* Stub / coming-soon page */
.stub-cta{display:inline-block;margin-top:10px;background:var(--teal);color:#fff;padding:10px 18px;border-radius:8px;font-weight:600;font-size:.92rem}
.stub-cta:hover{background:var(--teal-dark);text-decoration:none}

/* Search page */
.search-box{margin:20px 0 10px}
.search-box input{width:100%;max-width:480px;padding:12px 16px;border:1px solid var(--border);border-radius:8px;font-size:1rem}
#search-results{margin-top:18px}
#search-results .article-card{margin-bottom:12px}
.no-results{color:var(--text-muted);padding:20px 0}

/* Contact form */
.contact-form{max-width:560px;margin-top:8px}
.form-group{margin-bottom:20px}
.form-group label{display:block;font-weight:600;font-size:.92rem;margin-bottom:6px;color:var(--navy)}
.form-group .optional{font-weight:400;color:var(--text-muted);font-size:.82rem}
.form-group input[type="text"],
.form-group input[type="tel"],
.form-group input[type="email"],
.form-group textarea{
  width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:8px;
  font-size:1rem;font-family:inherit;background:var(--card);color:var(--text);
}
.form-group textarea{min-height:150px;resize:vertical}
.form-group input:focus,.form-group textarea:focus{
  outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(14,143,124,.15);
}
.form-hp{position:absolute;left:-9999px;top:-9999px;opacity:0}
.contact-form button[type="submit"]{
  padding:14px 26px;border-radius:8px;border:none;background:var(--teal);color:#fff;
  font-weight:600;font-size:1rem;cursor:pointer;
}
.contact-form button[type="submit"]:hover{background:var(--teal-dark)}
.contact-form button[type="submit"]:disabled{opacity:.65;cursor:default}
.form-status{margin-top:16px;font-size:.92rem;font-weight:600}
.form-status:empty{display:none}
.form-status-success{color:var(--teal-dark)}
.form-status-error{color:#a3341f}
.contact-details{margin:0 0 30px;color:var(--text-muted)}
.contact-details a{font-weight:600}

/* Footer */
.site-footer{background:var(--navy-dark);color:#b7c6d3;padding:48px 0 28px;margin-top:40px}
.footer-grid{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:28px}
.footer-grid h4{color:#fff;font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;margin:0 0 12px}
.footer-grid ul{list-style:none;margin:0;padding:0}
.footer-grid li{margin-bottom:8px}
.footer-grid a{color:#b7c6d3;font-size:.88rem}
.footer-grid a:hover{color:#fff}
.footer-brand p{font-size:.88rem;max-width:280px;color:#93a6b6}
.footer-bottom{margin-top:36px;padding-top:20px;border-top:1px solid rgba(255,255,255,.08);font-size:.8rem;color:#8398a8;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}
.disclaimer-box{font-size:.78rem;color:#7c92a3;max-width:900px;margin-top:14px;line-height:1.6}

/* Responsive */
@media (max-width:860px){
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .nav-toggle{display:inline-flex;align-items:center;gap:6px}
  nav.main-nav{position:absolute;top:66px;left:0;right:0;background:var(--navy-dark);flex-direction:column;align-items:stretch;padding:8px;display:none;box-shadow:0 8px 16px rgba(0,0,0,.25)}
  nav.main-nav.open{display:flex}
  nav.main-nav a{padding:12px 14px}
  .header-search{display:none}
  .hero{padding:44px 0 52px}
  .hero-flex{flex-direction:column-reverse;gap:0}
  .hero-logo{height:110px;margin:0 0 20px}
  .hero-search{flex-direction:column}
  .trust-strip{gap:14px 20px}
}
@media (max-width:520px){
  .footer-grid{grid-template-columns:1fr 1fr}
}
