@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Cantarell:wght@400;700&display=swap');

/* ============ TOKENS ============
   Ink #2d1a32 | Royal #412847 | Gold #E38F25
   Mark accents: Teal #51A590 | Rust #A74F25 | Olive #9CA75D | Magenta #B25989 | Mauve #805D86
   Display: Cormorant Garamond | Body: Cantarell
   Signature: the strata bar, the six mark colors stacked like a capital stack */

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } }
body { font-family:'Cantarell', sans-serif; color:#3d2a42; background:#fff; }

/* Strata ribbon: the one bold element, present on every page */
body::before { content:''; display:block; height:5px;
  background:linear-gradient(90deg, #51A590 0 16.6%, #A74F25 16.6% 33.3%, #9CA75D 33.3% 50%, #E38F25 50% 66.6%, #B25989 66.6% 83.3%, #805D86 83.3% 100%); }

h1,h2,h3, .fjalla { font-family:'Cormorant Garamond', Georgia, serif; font-weight:600; }

.purple { color:#412847; }
.gold { color:#E38F25; }

/* NAV */
.nav { background:#ffffff; height:92px; display:flex; align-items:center; justify-content:space-between; padding:0 48px; border-bottom:1px solid #e8e2ea; }
.nav .logo { display:flex; align-items:center; text-decoration:none; }
.nav .logo img { height:64px; }
.nav .links { display:flex; align-items:center; gap:34px; }
.nav .links a { color:#412847; text-decoration:none; font-size:13px; letter-spacing:1.5px; font-weight:700; }
.nav .links a:hover { color:#E38F25; }
.nav .links a.active { color:#E38F25; border-bottom:2px solid #E38F25; padding-bottom:6px; }
.nav .cta { border:1px solid #412847; color:#412847; font-weight:700; padding:13px 22px; font-size:12px; letter-spacing:2px; text-decoration:none; transition:all .15s ease; }
.nav .cta:hover { background:#412847; color:#fff; }

/* HERO */
.hero { position:relative; height:720px; background-size:cover; background-position:center; display:flex; align-items:center; }
.hero::before { content:''; position:absolute; inset:0; background:linear-gradient(105deg, rgba(65,40,71,0.90) 0%, rgba(65,40,71,0.74) 55%, rgba(65,40,71,0.30) 100%); }
.hero-inner { position:relative; z-index:1; max-width:700px; padding:0 48px; color:#fff; }
.eyebrow { font-size:12px; letter-spacing:3px; color:#E38F25; font-weight:700; margin-bottom:18px; }
.h1 { font-size:72px; line-height:1.02; margin-bottom:24px; letter-spacing:0.5px; }
.h1 .gold-line { color:#E38F25; }
.hero-sub { font-size:18px; line-height:1.65; color:#e8e0ea; margin-bottom:24px; max-width:560px; }
.quote-block { border-left:3px solid #E38F25; padding-left:18px; font-style:italic; color:#d9cfdb; font-size:15px; line-height:1.6; margin-bottom:34px; max-width:520px; }
.btn-row { display:flex; gap:26px; align-items:center; }
.btn-gold { background:#E38F25; color:#2d1a32; font-weight:700; padding:17px 30px; font-size:12px; letter-spacing:2px; text-decoration:none; transition:background .15s ease; }
.btn-gold:hover { background:#f0a03d; }
.btn-outline { border:1px solid #cbb8ce; color:#fff; font-weight:700; padding:17px 30px; font-size:12px; letter-spacing:2px; text-decoration:none; }
.link-quiet { color:inherit; font-weight:700; font-size:13px; letter-spacing:1.5px; text-decoration:none; border-bottom:1px solid currentColor; padding-bottom:3px; }
.link-quiet:hover { color:#E38F25; }

/* INNER PAGE HEADER */
.inner-header { position:relative; height:360px; background-size:cover; background-position:center; display:flex; align-items:center; }
.inner-header::before { content:''; position:absolute; inset:0; background:linear-gradient(105deg, rgba(65,40,71,0.90) 0%, rgba(65,40,71,0.74) 55%, rgba(65,40,71,0.30) 100%); }
.inner-header-inner { position:relative; z-index:1; max-width:800px; padding:0 48px; color:#fff; }
.inner-header .h1 { font-size:58px; margin-bottom:14px; }
.inner-sub { font-size:17px; color:#e8e0ea; line-height:1.65; }
.inner-header-inner.wide-sub { max-width:940px; }

/* CAPTION BAR */
.caption-bar { background:#2d1a32; color:#cbb8ce; font-size:13px; padding:10px 48px; }

/* STAT STRIP - proof at scale */
.stat-strip { background:#2d1a32; border-top:5px solid; border-image:linear-gradient(90deg,#51A590 0 16.6%,#A74F25 16.6% 33.3%,#9CA75D 33.3% 50%,#E38F25 50% 66.6%,#B25989 66.6% 83.3%,#805D86 83.3% 100%) 1; display:grid; grid-template-columns:repeat(4,1fr); padding:52px 48px; gap:24px; }
.stat-strip .stat-num { font-family:'Cormorant Garamond', serif; font-weight:600; font-size:58px; line-height:1; color:#E38F25; margin-bottom:10px; }
.stat-strip .stat-label { font-size:11px; letter-spacing:2px; color:#cbb8ce; }
.stat-strip.three { grid-template-columns:repeat(3,1fr); }

section { padding:80px 48px; }
.tint-purple { background:#f6f1f7; }
.tint-gold { background:#fdf9f0; }
.eyebrow-dark { font-size:12px; letter-spacing:3px; color:#E38F25; font-weight:700; margin-bottom:14px; }
.h2 { font-size:48px; color:#2d1a32; margin-bottom:18px; line-height:1.1; }
.body-txt { font-size:16px; line-height:1.75; color:#5a4a5f; max-width:820px; }
.body-txt.closed-deals-intro { max-width:520px; }

/* CARDS */
.card-row { display:grid; gap:3px; margin-top:36px; }
.card-row.cols-3 { grid-template-columns:repeat(3,1fr); }
.card { background:#f6f1f7; border-top:3px solid #412847; padding:28px 26px; }
.card.gold-top { border-top:3px solid #E38F25; background:#fdf9f0; }
/* Stack-position colors: structure as information */
.card.pos-senior { border-top:3px solid #51A590; }
.card.pos-mezz { border-top:3px solid #A74F25; }
.card.pos-pref { border-top:3px solid #E38F25; }
.card .num { font-family:'Cormorant Garamond', serif; font-size:28px; color:#b0a3b3; margin-bottom:8px; }
.card h3 { font-size:24px; color:#2d1a32; margin-bottom:10px; }
.card p { font-size:14px; line-height:1.65; color:#5a4a5f; }

.rule-item { border-left:3px solid #E38F25; padding-left:16px; margin-bottom:22px; }
.rule-item:last-child { margin-bottom:0; }
.rule-item p { font-size:15px; line-height:1.65; color:#5a4a5f; }
.rule-item b { color:#2d1a32; }

.two-col { display:grid; grid-template-columns:1fr 1fr; gap:0; margin-top:26px; }
.two-col .col { padding:32px 34px; }
.two-col .col.purple-bg { background:#ece5ef; border-top:3px solid #412847; }
.two-col .col.gold-bg { background:#fdf5e8; border-top:3px solid #E38F25; }
.two-col h3 { font-size:24px; color:#2d1a32; margin-bottom:18px; }

.bridge-box { background:#ece5ef; border-left:3px solid #412847; padding:22px 28px; font-size:15px; line-height:1.65; color:#4a3a4f; }
.selectivity-box { background:#fdf5e8; border-top:2px solid #E38F25; border-bottom:2px solid #E38F25; padding:22px 28px; font-size:15px; color:#4a3a4f; }
.selectivity-box b { color:#2d1a32; }

/* TOMBSTONES: formal, weighty, print-announcement style */
.tombstone-row { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:36px; }
.tombstone-row.row2 { margin-top:24px; }
.tombstone { border:1px solid #d8cddb; padding:36px 24px 32px; text-align:center; background:#fff; }
.tombstone h4 { font-family:'Cormorant Garamond', serif; font-size:24px; font-weight:600; color:#2d1a32; margin-bottom:10px; line-height:1.15; }
.tombstone .market { font-size:12px; letter-spacing:2px; color:#8a7a8f; text-transform:uppercase; margin-bottom:2px; }
.tombstone .type { font-size:12px; letter-spacing:1px; color:#b0a3b3; margin-bottom:20px; }
.tombstone .amt { font-family:'Cormorant Garamond', serif; font-weight:700; font-size:44px; color:#2d1a32; }
.tombstone .amt::after { content:''; display:block; width:36px; height:3px; background:#E38F25; margin:14px auto 0; }

.confidentiality { background:#f7f5f8; border-left:3px solid #2d1a32; padding:20px 24px; font-size:13px; font-style:italic; color:#6a6a6a; margin-top:36px; }

/* FOOTER CTA */
.footer-cta { position:relative; padding:96px 48px; background-size:cover; background-position:center; text-align:center; color:#fff; }
.footer-cta::before { content:''; position:absolute; inset:0; background:rgba(45,26,50,0.78); }
.footer-cta-inner { position:relative; z-index:1; }
.footer-cta h2 { font-size:52px; margin-bottom:8px; line-height:1.08; }
.footer-cta h2 .gold { display:block; }
.footer-cta p { font-size:16px; color:#e0d5e2; max-width:640px; margin:20px auto 32px; line-height:1.65; }
.footer-cta p.cta-standard { max-width:400px; }
.footer-cta p.cta-source-finance { max-width:520px; }
.footer-cta .btn-row { justify-content:center; }
.footer-bar { background:#1e1124; color:#a396a6; font-size:12px; padding:20px 48px; display:flex; justify-content:space-between; gap:12px; }

/* LEVER HOUSE story */
.lever-house { display:grid; grid-template-columns:1.1fr 1fr; gap:0; align-items:stretch; }
.lever-house .photo { min-height:520px; background-size:cover; background-position:center; }
.lever-house .story { background:#2d1a32; color:#fff; padding:80px 64px; display:flex; flex-direction:column; justify-content:center; }
.lever-house .story h2 { font-size:44px; color:#fff; margin-bottom:22px; line-height:1.12; }
.lever-house .story p { font-size:16px; line-height:1.8; color:#d9cfdb; margin-bottom:16px; max-width:480px; }
.lever-house .credit { font-size:11px; letter-spacing:1.5px; color:#8a7a8f; margin-top:18px; }

/* ABOUT */
.about-split { display:grid; grid-template-columns:1.5fr 1fr; gap:44px; align-items:stretch; padding:80px 48px; }
.about-split .left h2 { font-size:42px; margin-bottom:22px; }
.about-split .left p { font-size:16px; line-height:1.8; color:#5a4a5f; margin-bottom:18px; }

.home-about-block { padding:80px 48px; background:#f6f1f7; }
.home-about-header h2 { font-size:42px; margin-top:12px; margin-bottom:30px; }
.home-about-row { display:grid; grid-template-columns:1.5fr 1fr; gap:44px; align-items:stretch; }
.home-about-row .left p { font-size:16px; line-height:1.8; color:#5a4a5f; margin-bottom:18px; }

.member-box-wrap { display:flex; flex-direction:column; }
.member-box { background:#ece5ef; border-top:3px solid #E38F25; padding:28px 30px; flex:1; display:flex; flex-direction:column; justify-content:flex-start; }
.member-box.spread { justify-content:space-between; }
.member-box.tight { padding:16px 30px; }
.member-box.tight .field-group { margin-bottom:16px; }
.member-box.tight .field-group:last-child { margin-bottom:0; }
.member-box .field-group { margin-bottom:24px; }
.member-box .field-group:last-child { margin-bottom:0; }
.member-box.about-fit .field-group { margin-bottom:20px; }
.member-box.about-fit .field-group:last-child { margin-bottom:0; }
.member-box .label { font-size:11px; letter-spacing:2px; color:#2d1a32; font-weight:700; margin-bottom:6px; }
.member-box .val { font-size:15px; color:#5a4a5f; line-height:1.5; }

/* TEAM */
.team-row { display:grid; grid-template-columns:repeat(3,1fr); gap:36px; margin-top:36px; }
.team-card { text-align:left; }
.team-card img { width:96px; height:96px; border-radius:50%; border:3px solid #E38F25; object-fit:cover; margin-bottom:16px; }
.team-card h4 { font-size:26px; margin-bottom:4px; }
.team-card .role { font-size:11px; letter-spacing:2px; color:#E38F25; font-weight:700; margin-bottom:12px; }
.team-card p { font-size:14px; line-height:1.65; color:#c9bccc; }

/* SOURCES STRIP */
.sources-strip { display:grid; grid-template-columns:repeat(6,1fr); }
.sources-strip div { background:#ece5ef; text-align:center; padding:20px 12px; font-size:13px; color:#4a3a4f; border-right:1px solid #d8cddb; white-space:nowrap; }
.sources-strip div:last-child { border-right:none; }

/* NEWS */
.filter-pills { display:grid; grid-template-columns:repeat(6,1fr); gap:10px; margin-top:24px; }
.pill { border:1px solid #cbb8ce; border-radius:20px; text-align:center; padding:10px 6px; font-size:13px; color:#4a3a4f; }
.pill.active { background:#412847; color:#fff; border-color:#412847; }
.news-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:3px solid #E38F25; margin-top:24px; }
.news-card { padding:26px 22px; border-right:1px solid #eee; border-bottom:1px solid #eee; }
.news-card:nth-child(3n) { border-right:none; }
.news-card .meta { display:flex; justify-content:space-between; font-size:11px; letter-spacing:1px; color:#8a7a8f; margin-bottom:12px; }
.news-card h4 { font-family:'Cormorant Garamond', serif; font-size:22px; font-weight:600; color:#2d1a32; margin-bottom:14px; line-height:1.25; }
.news-card a { font-size:12px; letter-spacing:1px; color:#412847; font-weight:700; text-decoration:none; }
.news-card a:hover { color:#E38F25; }

/* FORMS (real inputs) */
.form-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:0; }
.form-field { margin-bottom:18px; }
.form-field label { display:block; font-size:11px; letter-spacing:1.5px; font-weight:700; color:#2d1a32; margin-bottom:6px; }
.form-field input, .form-field select, .form-field textarea {
  width:100%; border:1px solid #d8cddb; background:#faf8fb; padding:11px 12px;
  font-family:'Cantarell', sans-serif; font-size:14px; color:#3d2a42; }
.form-field input, .form-field select { height:42px; }
.form-field textarea { min-height:90px; resize:vertical; }
.form-field input:focus, .form-field select:focus, .form-field textarea:focus { outline:2px solid #E38F25; outline-offset:0; border-color:#E38F25; }
button.btn-gold, button.btn-ink { border:none; cursor:pointer; font-family:'Cantarell', sans-serif; }
.btn-ink { background:#2d1a32; color:#fff; font-weight:700; padding:17px 30px; font-size:12px; letter-spacing:2px; text-decoration:none; display:inline-block; }
.btn-ink:hover { background:#412847; }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:0; }
.contact-grid .pane-left { padding:32px 40px 0 0; border-right:1px solid #e5e0e6; border-top:3px solid #E38F25; }
.contact-grid .pane-right { padding:32px 0 0 40px; border-top:3px solid #412847; }
.contact-h { font-family:'Cormorant Garamond', serif; font-size:34px; font-weight:600; color:#2d1a32; margin-bottom:14px; }
.contact-intro { font-size:15px; line-height:1.6; color:#5a4a5f; margin-bottom:26px; max-width:380px; }

/* EXEC GRID (transactions page) */
.exec-grid { display:grid; grid-template-columns:1fr 1fr; gap:30px 50px; margin-top:36px; align-items:start; }

/* ============ RESPONSIVE ============ */
@media (max-width:1024px) {
  .h1 { font-size:56px; }
  .inner-header .h1 { font-size:46px; }
  .h2 { font-size:40px; }
  .nav { padding:0 28px; }
  .nav .links { gap:22px; }
  section, .about-split, .home-about-block { padding-left:28px; padding-right:28px; }
  .footer-cta, .footer-bar, .caption-bar, .stat-strip { padding-left:28px; padding-right:28px; }
}

@media (max-width:860px) {
  .nav { height:auto; flex-wrap:wrap; padding:16px 20px; gap:12px; justify-content:center; }
  .nav .links { flex-wrap:wrap; justify-content:center; gap:14px 20px; }
  .nav .cta { display:none; }
  .h1 { font-size:44px; }
  .hero { height:auto; padding:90px 0; }
  .inner-header { height:auto; padding:70px 0; }
  .inner-header .h1 { font-size:38px; }
  .h2 { font-size:34px; }
  .footer-cta h2 { font-size:38px; }
  section { padding:56px 20px; }
  .card-row.cols-3, .team-row, .tombstone-row, .two-col { grid-template-columns:1fr; }
  .news-grid { grid-template-columns:1fr 1fr; }
  .news-card:nth-child(3n) { border-right:1px solid #eee; }
  .news-card:nth-child(2n) { border-right:none; }
  .stat-strip, .stat-strip.three { grid-template-columns:1fr 1fr; padding:36px 20px; }
  .stat-strip .stat-num { font-size:44px; }
  .about-split, .home-about-row, .lever-house, .contact-grid, .exec-grid { grid-template-columns:1fr; }
  .about-split { padding:56px 20px; gap:32px; }
  .home-about-block { padding:56px 20px; }
  .lever-house .photo { min-height:320px; }
  .lever-house .story { padding:56px 28px; }
  .lever-house .story h2 { font-size:34px; }
  .contact-grid .pane-left { padding:28px 0 40px; border-right:none; }
  .contact-grid .pane-right { padding:28px 0 0; }
  .sources-strip { grid-template-columns:repeat(3,1fr); }
  .sources-strip div { border-bottom:1px solid #d8cddb; white-space:normal; }
  .filter-pills { grid-template-columns:repeat(3,1fr); }
  .footer-cta { padding:64px 20px; }
  .footer-bar, .caption-bar { padding:16px 20px; }
  .footer-bar { flex-direction:column; text-align:center; }
}

@media (max-width:520px) {
  .h1 { font-size:36px; }
  .hero-inner, .inner-header-inner { padding:0 20px; }
  .btn-row { flex-direction:column; align-items:flex-start; gap:18px; }
  .footer-cta .btn-row { align-items:center; }
  .news-grid, .filter-pills { grid-template-columns:1fr; }
  .news-card, .news-card:nth-child(3n) { border-right:none; }
  .stat-strip, .stat-strip.three { grid-template-columns:1fr 1fr; }
  .form-grid-2 { grid-template-columns:1fr; gap:0; margin-bottom:0; }
  .form-grid-2 .form-field { margin-bottom:18px; }
  .sources-strip { grid-template-columns:1fr 1fr; }
}

/* Homepage-specific grids (were inline) */
.card-row.cols-4 { grid-template-columns:repeat(4,1fr); }
.lobby-split { display:grid; grid-template-columns:1fr 1fr; }
@media (max-width:860px) {
  .card-row.cols-4 { grid-template-columns:1fr 1fr; }
  .lobby-split { grid-template-columns:1fr; }
}
@media (max-width:520px) {
  .card-row.cols-4 { grid-template-columns:1fr; }
}

/* Restore homepage dark team band (dropped in v2 rewrite) */
.team-row.dark { background:#2d1a32; padding:64px 48px; margin:0; }
.team-row.dark h4 { color:#fff; }
@media (max-width:1024px) { .team-row.dark { padding:56px 28px; } }
@media (max-width:860px) { .team-row.dark { padding:48px 20px; } }

/* Orphan control: balance headlines, tidy paragraphs */
h1, h2, h3, .h1, .h2, .news-card h4, .tombstone h4, .card h3 { text-wrap: balance; }
p, .body-txt, .hero-sub, .quote-block, .inner-sub, .contact-intro { text-wrap: pretty; }

/* Equal row heights in multi-row card grids */
.card-row { grid-auto-rows: 1fr; }

/* Team LinkedIn links */
.li-link { display:inline-block; margin-top:10px; font-size:11px; letter-spacing:2px; font-weight:700; color:#E38F25; text-decoration:none; border-bottom:1px solid transparent; }
.li-link:hover { border-bottom-color:#E38F25; }
.team-card .li-link { margin-bottom:6px; }

.hero-sub { text-wrap: balance; }

/* ============ ARTICLE (News detail pages) ============ */
.article-topic-tag { display:inline-block; background:#412847; color:#fff; font-size:12px; letter-spacing:1px; padding:6px 14px; margin-bottom:20px; }
.article-back-link { display:inline-block; margin-bottom:32px; font-size:12px; letter-spacing:1.5px; font-weight:700; color:#412847; text-decoration:none; }
.article-back-link:hover { color:#E38F25; }
.article-body { max-width:740px; margin:0 auto; }
.article-byline { font-size:13px; color:#8a7a8f; margin-bottom:40px; padding-bottom:28px; border-bottom:1px solid #e8e2ea; }
.article-body p { font-size:17px; line-height:1.85; color:#3d2a42; margin-bottom:22px; }
.article-body h2 { font-size:30px; color:#2d1a32; margin:44px 0 18px; line-height:1.2; }
.article-body h3 { font-size:21px; color:#2d1a32; margin:34px 0 14px; }
.article-body a { color:#412847; text-decoration:underline; text-decoration-color:#E38F25; text-underline-offset:2px; }
.article-body a:hover { color:#E38F25; }
.article-body ul, .article-body ol { margin:0 0 22px 22px; }
.article-body li { font-size:17px; line-height:1.75; color:#3d2a42; margin-bottom:8px; }
.article-body figure { margin:36px 0; }
.article-body figure img { width:100%; height:auto; display:block; }
.article-body figcaption { font-size:12px; color:#8a7a8f; margin-top:8px; }
.article-body sup { font-size:11px; }
.article-related-link { font-size:14px; font-style:italic; border-left:3px solid #E38F25; padding-left:14px; color:#5a4a5f; margin-bottom:22px; }
.references-block { margin-top:56px; padding-top:32px; border-top:1px solid #e8e2ea; }
.references-block h3 { font-family:'Cantarell', sans-serif; font-size:13px; letter-spacing:2px; color:#2d1a32; text-transform:uppercase; font-weight:700; margin-bottom:18px; }
.references-block ol { margin-left:20px; }
.references-block li { font-size:13px; line-height:1.7; color:#8a7a8f; margin-bottom:10px; }
.references-block a { color:#412847; text-decoration:none; word-break:break-word; }
.references-block a:hover { color:#E38F25; }

@media (max-width:860px) {
  .article-body h2 { font-size:25px; margin:34px 0 14px; }
  .article-body h3 { font-size:19px; }
  .article-body p, .article-body li { font-size:16px; }
}

/* ============ NEWS PAGE (filter + load more) ============ */
.pill { cursor:pointer; user-select:none; transition:background .15s ease, color .15s ease, border-color .15s ease; }
.news-card.is-hidden { display:none; }
.news-card.load-more-hidden { display:none; }
.news-load-btn[disabled] { opacity:0.4; cursor:default; }

/* ============ LEGAL PAGES + FOOTER LINKS ============ */
.legal-body { max-width:760px; margin-top:28px; }
.legal-body p { font-size:15px; line-height:1.8; color:#5a4a5f; margin-bottom:18px; }
.legal-body h3 { font-size:22px; color:#2d1a32; margin:34px 0 12px; }
.legal-body a { color:#412847; font-weight:700; text-decoration:none; }
.legal-body a:hover { color:#E38F25; }
.footer-bar a { color:#a396a6; text-decoration:none; }
.footer-bar a:hover { color:#E38F25; }

