/* ==========================================================
   AMIGOS CAPITAL GROUP — Main Stylesheet
   amigoscapitalgroup.com
========================================================== */

/* === 1. Variables ===================================== */
:root {
    --navy:          #000030;
    --navy-deep:     #000020;
    --gold:          #C8962E;
    --gold-dark:     #B0811F;
    --white:         #FFFFFF;
    --cream:         #F5F1EB;
    --gray-light:    #E8E4DE;
    --text-dark:     #1A1A1A;
    --text-medium:   #4A4A4A;
    --text-muted:    #6B7280;
    --text-subtle:   #9CA3AF;
    --blue-cta:      #000030;
    --blue-hover:    #000020;
    --blue-section:  #00004a;

    --font-serif:    'Playfair Display', Georgia, serif;
    --font-sans:     'Inter', 'Helvetica Neue', Arial, sans-serif;

    --space-xs:  8px;
    --space-sm:  16px;
    --space-md:  32px;
    --space-lg:  64px;
    --space-xl:  96px;
    --space-xxl: 128px;

    --container-max: 1280px;
    --radius:        8px;
    --transition:    200ms ease;
    --shadow-card:   0 2px 12px rgba(0,0,0,0.06);
    --shadow-strong: 0 8px 32px rgba(0,0,0,0.15);
}

/* === 2. Reset & Base ================================== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
}

body {
    font-family: var(--font-sans);
    font-size: 22px;
    line-height: 1.65;
    color: var(--text-dark);
    background: var(--white);
    overflow-x: hidden;
}

body.nav-open { overflow: hidden; }

img, video { max-width: 100%; display: block; }

a { color: inherit; text-decoration: none; }

ul { list-style: none; }

button {
    cursor: pointer;
    background: none;
    border: none;
    font-family: var(--font-sans);
}

/* === 3. Typography ==================================== */
h1, h2, h3, h4, h5 {
    font-family: var(--font-serif);
    line-height: 1.15;
    font-weight: 700;
}

h1 { font-size: clamp(40px, 5vw, 64px); }
h2 { font-size: clamp(32px, 3.5vw, 48px); }
h3 {
    font-family: var(--font-sans);
    font-size: clamp(24px, 2.5vw, 32px);
    font-weight: 600;
}
h4 {
    font-family: var(--font-sans);
    font-size: clamp(22px, 2vw, 26px);
    font-weight: 600;
}

p { font-size: 22px; line-height: 1.65; }

.body-large { font-size: 24px; line-height: 1.7; }
.body-small { font-size: 18px; line-height: 1.5; color: var(--text-medium); }

/* === 4. Layout ======================================== */
.container {
    max-width: var(--container-max);
    margin: 0 auto;
    padding: 0 24px;
}

section { padding: var(--space-xl) 0; }

/* === 5. Utilities ===================================== */
.section-label {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--gold);
    font-family: var(--font-sans);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    margin-bottom: 24px;
}
.section-label::before {
    content: '';
    display: inline-block;
    width: 40px;
    height: 2px;
    background: var(--gold);
    flex-shrink: 0;
}

.text-gold   { color: var(--gold); }
.text-white  { color: var(--white); }
.text-navy   { color: var(--navy); }
.text-muted  { color: var(--text-muted); }
.text-subtle { color: var(--text-subtle); }

.bg-navy  { background: var(--navy); }
.bg-deep  { background: var(--navy-deep); }
.bg-cream { background: var(--cream); }
.bg-white { background: var(--white); }

/* === 6. Buttons ======================================= */
.btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-sans);
    font-size: 18px;
    font-weight: 600;
    padding: 18px 40px;
    border-radius: 6px;
    line-height: 1;
    transition: background var(--transition), border-color var(--transition), transform var(--transition);
    white-space: nowrap;
}
.btn:hover { transform: translateY(-1px); }

.btn-primary {
    background: var(--blue-cta);
    color: var(--white);
    border: 2px solid var(--blue-cta);
}
.btn-primary:hover { background: var(--blue-hover); border-color: var(--blue-hover); }

.btn-outline-white {
    background: transparent;
    color: var(--white);
    border: 2px solid var(--white);
}
.btn-outline-white:hover { background: rgba(255,255,255,0.1); }

.btn-outline-navy {
    background: transparent;
    color: var(--navy);
    border: 2px solid var(--navy);
}
.btn-outline-navy:hover { background: var(--navy); color: var(--white); }

.btn-gold {
    background: var(--gold);
    color: var(--white);
    border: 2px solid var(--gold);
}
.btn-gold:hover { background: var(--gold-dark); border-color: var(--gold-dark); }

/* === 7. Header & Nav ================================== */
.site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 500;
    background: var(--navy);
    transition: box-shadow var(--transition);
}
.site-header.scrolled { box-shadow: 0 4px 24px rgba(0,0,0,0.25); }

.header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    height: 80px;
}

.header-logo { display: flex; align-items: center; flex-shrink: 0; padding: 10px 0; }
.logo-img    { height: 110px; width: auto; }
@media (max-width: 767px) { .logo-img { height: 80px; } }

.nav-links {
    display: flex;
    align-items: center;
    gap: 4px;
}

.nav-link {
    font-family: var(--font-sans);
    font-size: 16px;
    font-weight: 500;
    color: var(--white);
    padding: 8px 14px;
    border-radius: 4px;
    position: relative;
    transition: color var(--transition);
    background: none;
    border: none;
}
.nav-link::after {
    content: '';
    position: absolute;
    bottom: 4px;
    left: 14px;
    right: 14px;
    height: 2px;
    background: var(--gold);
    transform: scaleX(0);
    transition: transform var(--transition);
}
.nav-link:hover::after,
.nav-link.active::after { transform: scaleX(1); }

.header-cta { font-size: 16px; padding: 12px 24px; flex-shrink: 0; }

.header-phone {
    font-family: var(--font-sans);
    font-size: 14px;
    font-weight: 600;
    color: rgba(255,255,255,0.75);
    text-decoration: none;
    letter-spacing: 0.02em;
    flex-shrink: 0;
    transition: color 0.2s;
}
.header-phone:hover { color: var(--gold); }

/* Dropdowns */
.nav-dropdown { position: relative; }

.nav-dropdown-trigger { display: flex; align-items: center; gap: 4px; }
.nav-arrow { font-size: 11px; transition: transform var(--transition); }
.nav-dropdown.open .nav-arrow { transform: rotate(180deg); }

.nav-dropdown-menu {
    position: absolute;
    top: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%) translateY(-8px);
    background: var(--white);
    border-radius: var(--radius);
    box-shadow: var(--shadow-strong);
    padding: 8px 0;
    min-width: 220px;
    opacity: 0;
    visibility: hidden;
    transition: opacity var(--transition), visibility var(--transition), transform var(--transition);
    z-index: 200;
}
.nav-dropdown.open .nav-dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}

.nav-dropdown-item {
    display: block;
    padding: 12px 20px;
    font-size: 16px;
    font-weight: 500;
    color: var(--text-dark);
    transition: background var(--transition), color var(--transition);
}
.nav-dropdown-item:hover {
    background: var(--cream);
    color: var(--navy);
}

.nav-dropdown-item--all {
    color: var(--gold);
    font-weight: 600;
    border-bottom: 1px solid var(--gray-light);
    margin-bottom: 4px;
}
.nav-dropdown-item--all:hover { color: var(--gold-dark); }

/* === 8. Hamburger ===================================== */
.hamburger {
    display: none;
    flex-direction: column;
    justify-content: space-between;
    width: 28px;
    height: 20px;
    flex-shrink: 0;
}
.hamburger span {
    display: block;
    height: 2px;
    width: 100%;
    background: var(--white);
    border-radius: 2px;
    transition: transform var(--transition), opacity var(--transition);
    transform-origin: center;
}
.hamburger.open span:nth-child(1) { transform: translateY(9px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity: 0; }
.hamburger.open span:nth-child(3) { transform: translateY(-9px) rotate(-45deg); }

/* === 9. Mobile Nav ==================================== */
.mobile-nav {
    position: fixed;
    inset: 0;
    background: var(--navy-deep);
    z-index: 800;
    display: flex;
    flex-direction: column;
    padding: 24px;
    transform: translateX(100%);
    transition: transform 0.3s ease;
    overflow-y: auto;
}
.mobile-nav.open { transform: translateX(0); }

.mobile-nav-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 40px;
}

.mobile-nav-close {
    color: var(--white);
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: background var(--transition);
}
.mobile-nav-close:hover { background: rgba(255,255,255,0.1); }

.mobile-nav-links { display: flex; flex-direction: column; gap: 4px; flex: 1; }

.mobile-nav-link {
    display: block;
    font-size: 24px;
    font-weight: 500;
    color: var(--white);
    padding: 14px 0;
    border-bottom: 1px solid var(--blue-section);
}

.mobile-nav-group { border-bottom: 1px solid var(--blue-section); }

.mobile-nav-group-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    font-size: 24px;
    font-weight: 500;
    color: var(--white);
    padding: 14px 0;
}

.mobile-nav-sub {
    display: none;
    padding: 0 0 8px 16px;
}
.mobile-nav-group.open .mobile-nav-sub { display: block; }

.mobile-nav-sub-link {
    display: block;
    font-size: 20px;
    color: var(--text-subtle);
    padding: 10px 0;
    transition: color var(--transition);
}
.mobile-nav-sub-link:hover { color: var(--gold); }

.mobile-nav-cta {
    margin-top: 32px;
    width: 100%;
    justify-content: center;
    font-size: 18px;
}

.mobile-nav-backdrop {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.5);
    z-index: 700;
}
.mobile-nav-backdrop.visible { display: block; }

/* === 10. Hero (Video) ================================= */
.hero {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    padding-top: 80px; /* header height */
    overflow: hidden;
}

.hero-media {
    position: absolute;
    inset: 0;
}

.hero-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to right,
        rgba(15, 26, 40, 0.88) 0%,
        rgba(15, 26, 40, 0.50) 55%,
        rgba(15, 26, 40, 0.25) 100%
    );
}

.hero-content {
    position: relative;
    z-index: 1;
    max-width: 900px;
    padding: var(--space-xxl) 0;
}

.hero h1 {
    color: var(--white);
    font-size: clamp(52px, 6vw, 80px);
    margin-bottom: 28px;
    text-shadow: 0 2px 16px rgba(0,0,0,0.3);
}

.hero h1 em {
    font-style: italic;
    color: var(--gold);
}

.hero-body {
    color: var(--white);
    font-size: 24px;
    line-height: 1.7;
    margin-bottom: 40px;
    opacity: 0.95;
}

.hero-ctas {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

/* Hero Ticker */
.hero-ticker {
    background: var(--cream);
    padding: 18px 0;
    border-bottom: 1px solid var(--gray-light);
}
.hero-ticker .container {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px 20px;
}
.hero-ticker span {
    font-family: var(--font-sans);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: var(--text-medium);
}
.ticker-sep { color: var(--gold); }

/* === 11. Metrics Bar ================================== */
.metrics-bar {
    background: var(--cream);
    padding: var(--space-lg) 0;
}

.metrics-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
}

.metric-item {
    text-align: center;
    padding: 24px 16px;
    position: relative;
}
.metric-item:not(:last-child)::after {
    content: '';
    position: absolute;
    right: 0;
    top: 20%;
    height: 60%;
    width: 1px;
    background: var(--gray-light);
}

.metric-number {
    font-family: var(--font-serif);
    font-size: clamp(36px, 4vw, 48px);
    font-weight: 700;
    color: var(--navy);
    line-height: 1;
    margin-bottom: 10px;
}

.metric-label {
    font-size: 18px;
    color: var(--text-medium);
    line-height: 1.4;
}

/* === 12. What We Do =================================== */
.what-we-do { background: var(--white); }

.section-intro {
    max-width: 720px;
    margin-bottom: var(--space-lg);
}
.section-intro h2 { margin-bottom: 16px; color: var(--navy); }
.section-intro p  { font-size: 22px; color: var(--text-medium); }

.services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}

.service-card {
    background: var(--white);
    border: 1px solid var(--gray-light);
    border-radius: var(--radius);
    padding: var(--space-md);
    box-shadow: var(--shadow-card);
    transition: box-shadow var(--transition), transform var(--transition);
}
.service-card:hover {
    box-shadow: var(--shadow-strong);
    transform: translateY(-2px);
}

.service-icon {
    color: var(--gold);
    margin-bottom: 20px;
}

.service-card h4 {
    color: var(--navy);
    margin-bottom: 12px;
}

.service-card p {
    font-size: 20px;
    color: var(--text-medium);
    line-height: 1.6;
}

/* === 13. Who We Serve ================================= */
.who-we-serve { background: var(--cream); }

.serve-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    margin-top: var(--space-md);
}

.serve-card {
    background: var(--white);
    border-radius: var(--radius);
    box-shadow: var(--shadow-card);
    overflow: hidden;
    transition: box-shadow var(--transition), transform var(--transition);
}
.serve-card:hover {
    box-shadow: var(--shadow-strong);
    transform: translateY(-2px);
}

.serve-card-accent { height: 5px; background: var(--blue-cta); }

.serve-card-body { padding: 28px 28px 32px; }

.serve-card h4 {
    color: var(--navy);
    margin-bottom: 8px;
}

.serve-card-subtitle {
    font-size: 18px;
    color: var(--text-medium);
    margin-bottom: 20px;
    font-weight: 500;
}

.serve-card ul {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 24px;
}

.serve-card li {
    font-size: 18px;
    color: var(--text-medium);
    padding-left: 18px;
    position: relative;
    line-height: 1.5;
}
.serve-card li::before {
    content: '—';
    position: absolute;
    left: 0;
    color: var(--gold);
    font-size: 14px;
    top: 3px;
}

.serve-card-link {
    font-size: 17px;
    font-weight: 600;
    color: var(--gold);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: gap var(--transition);
}
.serve-card-link:hover { gap: 10px; }

/* === 14. How It Works Preview ========================= */
.hiw-preview {
    background: var(--navy);
    padding: var(--space-xl) 0;
}

.hiw-preview h2 {
    color: var(--white);
    margin-bottom: var(--space-lg);
}

.timeline {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    position: relative;
    margin-bottom: var(--space-lg);
}

.timeline::before {
    content: '';
    position: absolute;
    top: 28px;
    left: calc(100% / 8);
    right: calc(100% / 8);
    height: 2px;
    background: repeating-linear-gradient(
        to right,
        var(--gold) 0, var(--gold) 8px,
        transparent 8px, transparent 18px
    );
    z-index: 0;
}

.timeline-step {
    text-align: center;
    padding: 0 20px;
    position: relative;
    z-index: 1;
}

.timeline-num {
    font-family: var(--font-serif);
    font-size: 40px;
    font-weight: 700;
    color: var(--gold);
    line-height: 1;
    width: 58px;
    height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 24px;
    background: var(--navy);
    border: 2px solid var(--gold);
    border-radius: 50%;
    font-size: 22px;
}

.timeline-title {
    font-family: var(--font-sans);
    font-size: 22px;
    font-weight: 600;
    color: var(--white);
    margin-bottom: 10px;
}

.timeline-desc {
    font-size: 18px;
    color: #CBD5E1;
    line-height: 1.55;
}

.hiw-preview .section-cta { text-align: center; }

/* === 15. Capital Capability =========================== */
.capital-section { background: var(--white); }

.deal-cards-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    margin-bottom: 16px;
}

.deal-card-row2 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    margin-bottom: var(--space-lg);
}
.deal-card-row2 .deal-card { grid-column: 1; }

.deal-card {
    border: 1px solid var(--gray-light);
    border-radius: var(--radius);
    padding: 28px 24px;
    transition: box-shadow var(--transition), transform var(--transition);
}
.deal-card:hover {
    box-shadow: var(--shadow-strong);
    transform: translateY(-2px);
}

.deal-card-category {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--text-muted);
    margin-bottom: 10px;
}

.deal-card-size {
    font-family: var(--font-serif);
    font-size: 28px;
    font-weight: 700;
    color: var(--gold);
    margin-bottom: 12px;
    line-height: 1.1;
}

.deal-card p {
    font-size: 18px;
    color: var(--text-medium);
    line-height: 1.55;
}

/* Operating Businesses */
.operating-biz {
    border-top: 1px solid var(--gray-light);
    padding-top: var(--space-lg);
}
.operating-biz h3 {
    color: var(--navy);
    margin-bottom: 12px;
}
.operating-biz > p {
    font-size: 20px;
    color: var(--text-medium);
    margin-bottom: 32px;
    max-width: 720px;
}

.biz-tiles {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 16px;
}

.biz-tile {
    border: 1px solid var(--gray-light);
    border-radius: var(--radius);
    padding: 20px 12px;
    text-align: center;
    transition: box-shadow var(--transition), border-color var(--transition);
}
.biz-tile:hover {
    box-shadow: var(--shadow-card);
    border-color: var(--gold);
}

.biz-tile-icon { color: var(--gold); margin: 0 auto 12px; }

.biz-tile-label {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--text-medium);
    line-height: 1.3;
}

/* === 16. Markets Preview ============================== */
.markets-preview { background: var(--navy); }

.markets-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-lg);
    margin-bottom: var(--space-md);
}

.markets-col h3 {
    color: var(--white);
    margin-bottom: 20px;
    font-family: var(--font-sans);
    font-size: 24px;
}

.markets-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.markets-list li {
    font-size: 20px;
    color: #CBD5E1;
    padding-left: 20px;
    position: relative;
    line-height: 1.5;
}
.markets-list li::before {
    content: '—';
    position: absolute;
    left: 0;
    color: var(--gold);
    font-size: 14px;
    top: 4px;
}
.markets-list li strong {
    color: var(--white);
    font-weight: 600;
}

.markets-preview .section-cta {
    text-align: center;
    margin-top: var(--space-md);
}

/* === 17. FAQ ========================================== */
.faq-section { background: var(--cream); }

.faq-section h2 {
    color: var(--navy);
    margin-bottom: var(--space-md);
}

.faq-list {
    max-width: 860px;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.faq-item {
    background: var(--white);
    border: 1px solid var(--gray-light);
    border-radius: var(--radius);
    margin-bottom: 12px;
    overflow: hidden;
}

.faq-question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 24px 28px;
    font-family: var(--font-sans);
    font-size: 22px;
    font-weight: 600;
    color: var(--navy);
    text-align: left;
    gap: 16px;
    transition: background var(--transition);
    min-height: 48px;
}
.faq-question:hover { background: var(--cream); }
.faq-item.open .faq-question { background: var(--cream); }

.faq-icon {
    font-size: 28px;
    font-weight: 300;
    color: var(--gold);
    flex-shrink: 0;
    transition: transform var(--transition);
    line-height: 1;
    width: 28px;
    text-align: center;
}

.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s ease;
}

.faq-answer-inner {
    padding: 4px 28px 28px;
}

.faq-answer-inner p {
    font-size: 20px;
    color: var(--text-medium);
    line-height: 1.7;
}

/* === 18. Final CTA Block ============================== */
.cta-block {
    background: linear-gradient(135deg, var(--navy) 0%, var(--navy-deep) 100%);
    text-align: center;
}

.cta-block h2 {
    color: var(--white);
    max-width: 680px;
    margin: 0 auto 24px;
}

.cta-block p {
    font-size: 22px;
    color: #CBD5E1;
    max-width: 560px;
    margin: 0 auto 40px;
    line-height: 1.7;
}

.cta-buttons {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
}

/* === 19. Legal Disclaimer ============================ */
.legal-disclaimer {
    background: var(--white);
    border-top: 1px solid var(--gray-light);
    padding: 32px 0;
}
.legal-disclaimer p {
    font-size: 15px;
    color: var(--text-muted);
    line-height: 1.6;
    text-align: center;
    max-width: 900px;
    margin: 0 auto;
}

/* === 20. Footer ======================================= */
.site-footer {
    background: var(--navy-deep);
    padding: var(--space-xl) 0 var(--space-md);
}

.footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: var(--space-lg);
    margin-bottom: var(--space-lg);
}

.footer-logo {
    height: 80px;
    width: auto;
    margin-bottom: 16px;
    opacity: 0.92;
}

.footer-tagline {
    font-size: 18px;
    color: #9CA3AF;
    line-height: 1.55;
    margin-bottom: 16px;
}

.footer-contact-rows {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 4px;
}

.footer-contact-row {
    display: flex;
    align-items: center;
    gap: 9px;
    color: rgba(255,255,255,0.38);
}

.footer-contact-row svg {
    flex-shrink: 0;
    opacity: 0.6;
}

.footer-address {
    font-size: 17px;
    color: #9CA3AF;
    margin-bottom: 0;
}

.footer-email {
    display: block;
    font-size: 17px;
    color: var(--gold);
    transition: opacity var(--transition);
}
.footer-email:hover { opacity: 0.8; }

.footer-col-heading {
    font-family: var(--font-sans);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--white);
    margin-bottom: 20px;
}

.footer-links { display: flex; flex-direction: column; gap: 10px; }

.footer-links a {
    font-size: 17px;
    color: #9CA3AF;
    transition: color var(--transition);
}
.footer-links a:hover { color: var(--white); }

.footer-divider {
    border: none;
    border-top: 1px solid var(--blue-section);
    margin-bottom: var(--space-md);
}

.footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
}

.footer-copy {
    font-size: 16px;
    color: #6B7280;
}

.footer-legal-links {
    display: flex;
    align-items: center;
    gap: 16px;
    font-size: 16px;
    color: #6B7280;
}
.footer-legal-links a {
    color: #6B7280;
    transition: color var(--transition);
}
.footer-legal-links a:hover { color: var(--white); }

/* === 21. Responsive =================================== */

/* Tablet (768px – 1024px) */
@media (max-width: 1024px) {
    .nav-links    { display: none; }
    .header-cta   { display: none; }
    .header-phone { display: none; }
    .hamburger    { display: flex; }

    .services-grid  { grid-template-columns: repeat(2, 1fr); }
    .serve-cards    { grid-template-columns: repeat(2, 1fr); }
    .timeline       { grid-template-columns: repeat(2, 1fr); gap: 40px; }
    .timeline::before { display: none; }
    .deal-cards-grid { grid-template-columns: repeat(2, 1fr); }
    .deal-card-row2  { grid-template-columns: repeat(2, 1fr); }
    .deal-card-row2 .deal-card { grid-column: auto; }
    .biz-tiles    { grid-template-columns: repeat(3, 1fr); }
    .markets-grid { grid-template-columns: 1fr; gap: var(--space-md); }
    .footer-grid  { grid-template-columns: 1fr 1fr; gap: var(--space-md); }
    .metrics-grid { grid-template-columns: repeat(2, 1fr); }
    .metric-item:nth-child(2)::after { display: none; }
}

/* Mobile (< 768px) */
@media (max-width: 767px) {
    body { font-size: 18px; }
    p    { font-size: 18px; }
    section { padding: var(--space-lg) 0; }

    .hero-content   { padding: var(--space-xl) 0 var(--space-lg); }
    .hero-body      { font-size: 20px; }
    .hero-ctas      { flex-direction: column; }
    .hero-ctas .btn { width: 100%; justify-content: center; min-height: 56px; }

    .btn { min-height: 56px; padding: 16px 28px; }

    .metrics-grid { grid-template-columns: 1fr; }
    .metric-item::after { display: none; }
    .metric-item { border-bottom: 1px solid var(--gray-light); }
    .metric-item:last-child { border-bottom: none; }

    .services-grid { grid-template-columns: 1fr; }
    .serve-cards   { grid-template-columns: 1fr; }

    .timeline            { grid-template-columns: 1fr; gap: 32px; }
    .timeline::before    { display: none; }

    .deal-cards-grid { grid-template-columns: 1fr; }
    .deal-card-row2  { grid-template-columns: 1fr; }
    .deal-card-row2 .deal-card { grid-column: auto; }

    .biz-tiles { grid-template-columns: repeat(2, 1fr); }

    .footer-grid {
        grid-template-columns: 1fr;
        gap: var(--space-md);
    }
    .footer-bottom {
        flex-direction: column;
        text-align: center;
    }

    .faq-question  { font-size: 18px; padding: 20px; }
    .faq-answer-inner { padding: 4px 20px 20px; }

    .cta-buttons { flex-direction: column; align-items: stretch; }
    .cta-buttons .btn { justify-content: center; }

    .hero-ticker .container { justify-content: center; }

    .section-intro { margin-bottom: var(--space-md); }

    .serve-card-body { padding: 24px; }
    .serve-card li   { font-size: 16px; }
}

/* Wide (> 1440px) */
@media (min-width: 1441px) {
    .container { max-width: 1280px; }
}

/* ============================================
   INNER PAGE HEROES
============================================ */

.page-hero {
    background: var(--navy);
    padding: calc(80px + 80px) 0 var(--space-xl);
}

.page-hero h1 {
    color: var(--white);
    max-width: 860px;
    margin-bottom: 20px;
}

.page-hero .hero-lead {
    font-size: 22px;
    color: #CBD5E1;
    max-width: 760px;
    line-height: 1.7;
}

/* Hero with background photo */
.page-hero--bg {
    position: relative;
    min-height: 65vh;
    display: flex;
    align-items: center;
    overflow: hidden;
    padding: calc(80px + var(--space-xl)) 0 var(--space-xl);
}

.page-hero--bg .bg-cover {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    z-index: 0;
}

.page-hero--bg .hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to right,
        rgba(15, 26, 40, 0.90) 0%,
        rgba(15, 26, 40, 0.55) 100%
    );
    z-index: 1;
}

.page-hero--bg .container { position: relative; z-index: 2; }

.page-hero--bg .hero-lead {
    font-size: 22px;
    color: rgba(255, 255, 255, 0.88);
    max-width: 760px;
    line-height: 1.7;
}

.page-hero--bg p:not(.section-label):not(.hero-lead) {
    color: rgba(255, 255, 255, 0.80);
}

/* ============================================
   THREE-PARTY MODEL DIAGRAM
============================================ */

.tm-diagram {
    max-width: 920px;
    margin: 0 auto var(--space-md);
}

.tm-top-wrap {
    display: flex;
    justify-content: center;
    position: relative;
    z-index: 1;
}

.tm-top-wrap::after {
    content: '';
    position: absolute;
    bottom: -40px;
    left: 50%;
    transform: translateX(-50%);
    width: 2px;
    height: 40px;
    background: var(--gold);
}

.tm-top-card {
    background: var(--navy);
    border: 2px solid var(--blue-section);
    border-radius: var(--radius);
    padding: 28px 36px;
    text-align: center;
    width: 380px;
}

.tm-top-card h4 { color: var(--white); margin-bottom: 10px; }
.tm-top-card p  { font-size: 18px; color: #9CA3AF; line-height: 1.55; }

.tm-bottom-row {
    display: grid;
    grid-template-columns: 1fr 220px 1fr;
    gap: 24px;
    align-items: center;
    margin-top: 40px;
    position: relative;
}

.tm-bottom-row::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 80px;
    right: 80px;
    height: 2px;
    background: var(--gold);
    opacity: 0.4;
    z-index: 0;
}

.tm-bottom-card {
    background: var(--white);
    border: 2px solid var(--gray-light);
    border-radius: var(--radius);
    padding: 24px;
    text-align: center;
    box-shadow: var(--shadow-card);
    position: relative;
    z-index: 1;
}

.tm-bottom-card h4 { color: var(--navy); margin-bottom: 10px; }
.tm-bottom-card p  { font-size: 17px; color: var(--text-medium); line-height: 1.5; }

.tm-center-card {
    background: var(--navy);
    border-radius: 50%;
    width: 210px;
    height: 210px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 24px;
    border: 3px solid var(--gold);
    box-shadow: 0 0 0 8px rgba(200, 150, 46, 0.12);
    position: relative;
    z-index: 2;
    margin: 0 auto;
}

.tm-center-card p    { font-size: 16px; font-weight: 700; color: var(--white); line-height: 1.3; margin-bottom: 6px; }
.tm-center-card span { font-size: 12px; color: var(--gold); font-weight: 600; letter-spacing: 0.5px; text-transform: uppercase; }

/* ============================================
   SERVICE LINE CARDS (How It Works)
============================================ */

.service-lines-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    margin-top: var(--space-md);
}

.service-line-card {
    background: var(--white);
    border-radius: var(--radius);
    padding: 28px;
    box-shadow: var(--shadow-card);
    border: 1px solid var(--gray-light);
    display: flex;
    gap: 20px;
}

.sl-num {
    font-family: var(--font-serif);
    font-size: 36px;
    font-weight: 700;
    color: var(--gold);
    line-height: 1;
    flex-shrink: 0;
    width: 52px;
    padding-top: 4px;
}

.sl-content h4  { color: var(--navy); margin-bottom: 14px; }

.sl-content ul  { display: flex; flex-direction: column; gap: 8px; margin-bottom: 14px; }

.sl-content li {
    font-size: 18px;
    color: var(--text-medium);
    padding-left: 16px;
    position: relative;
    line-height: 1.5;
}
.sl-content li::before {
    content: '—';
    position: absolute;
    left: 0;
    color: var(--gold);
    font-size: 13px;
    top: 3px;
}

.sl-fee {
    font-size: 16px;
    color: var(--gold);
    font-weight: 600;
    font-style: italic;
}

/* ============================================
   VERTICAL TIMELINE (Deal Flow)
============================================ */

.vtimeline {
    position: relative;
    padding-left: 88px;
    max-width: 820px;
}

.vtimeline::before {
    content: '';
    position: absolute;
    left: 27px;
    top: 28px;
    bottom: 28px;
    width: 2px;
    background: linear-gradient(to bottom, var(--gold) 0%, rgba(200, 150, 46, 0.15) 100%);
}

.vtl-item {
    position: relative;
    margin-bottom: 40px;
    padding: 24px 28px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(200, 150, 46, 0.15);
    border-radius: var(--radius);
    transition: background var(--transition);
}
.vtl-item:last-child { margin-bottom: 0; }
.vtl-item:hover      { background: rgba(255, 255, 255, 0.07); }

.vtl-num {
    position: absolute;
    left: -88px;
    top: 20px;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: var(--gold);
    color: var(--navy-deep);
    font-family: var(--font-serif);
    font-weight: 700;
    font-size: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.vtl-title { font-family: var(--font-sans); font-size: 24px; font-weight: 600; color: var(--white); margin-bottom: 10px; }
.vtl-desc  { font-size: 20px; color: #CBD5E1; line-height: 1.65; }

/* ============================================
   CAPITAL STACK LIST (Financing)
============================================ */

.cap-stack-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-width: 900px;
}

.cap-stack-item {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    background: var(--white);
    border: 1px solid var(--gray-light);
    border-radius: var(--radius);
    padding: 24px 28px;
    box-shadow: var(--shadow-card);
    transition: box-shadow var(--transition), border-color var(--transition);
}
.cap-stack-item:hover { box-shadow: var(--shadow-strong); border-color: var(--gold); }

.cap-stack-num {
    font-family: var(--font-serif);
    font-size: 28px;
    font-weight: 700;
    color: var(--gold);
    line-height: 1;
    flex-shrink: 0;
    width: 40px;
    padding-top: 4px;
}

.cap-stack-item h4 { color: var(--navy); margin-bottom: 6px; font-size: 22px; }
.cap-stack-item p  { font-size: 19px; color: var(--text-medium); line-height: 1.55; }

/* ============================================
   SOLUTION CARDS (Developer Problem)
============================================ */

.problem-text {
    max-width: 760px;
    margin-bottom: var(--space-md);
}

.problem-text h2  { color: var(--navy); margin-bottom: 16px; }
.problem-text p   { font-size: 22px; color: var(--text-medium); }

.solution-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.solution-card {
    background: var(--white);
    border: 1px solid var(--gray-light);
    border-top: 4px solid var(--gold);
    border-radius: var(--radius);
    padding: 28px 24px;
    box-shadow: var(--shadow-card);
    text-align: center;
    transition: box-shadow var(--transition), transform var(--transition);
}
.solution-card:hover { box-shadow: var(--shadow-strong); transform: translateY(-2px); }

.solution-card h4 { color: var(--navy); margin-bottom: 12px; }
.solution-card p  { font-size: 19px; color: var(--text-medium); line-height: 1.55; }

/* ============================================
   CAPITAL ACCESS (Two-column layout)
============================================ */

.two-col-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-lg);
    align-items: start;
}

.capital-access-col h3  { color: var(--navy); margin-bottom: 20px; }

.capital-network-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: var(--space-md);
}

.capital-network-list li {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 20px;
    color: var(--text-medium);
    padding: 14px 20px;
    background: var(--white);
    border: 1px solid var(--gray-light);
    border-radius: 6px;
    box-shadow: var(--shadow-card);
}
.capital-network-list li::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--gold);
    flex-shrink: 0;
}

.cap-stack-col h3        { color: var(--navy); margin-bottom: 20px; }

.cap-stack-numbered {
    counter-reset: stack;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.cap-stack-numbered li {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    font-size: 19px;
    color: var(--text-medium);
    line-height: 1.55;
}
.cap-stack-numbered li::before {
    content: counter(stack);
    counter-increment: stack;
    font-family: var(--font-serif);
    font-size: 20px;
    font-weight: 700;
    color: var(--gold);
    flex-shrink: 0;
    width: 28px;
    padding-top: 2px;
}

/* ============================================
   SECTOR CARDS (For Developers)
============================================ */

.sector-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-top: var(--space-md);
}

.sector-card {
    background: var(--white);
    border: 1px solid var(--gray-light);
    border-radius: var(--radius);
    padding: 24px 20px;
    box-shadow: var(--shadow-card);
    transition: box-shadow var(--transition), transform var(--transition), border-color var(--transition);
}
.sector-card:hover {
    box-shadow: var(--shadow-strong);
    transform: translateY(-2px);
    border-color: var(--gold);
}

.sector-num {
    font-family: var(--font-serif);
    font-size: 13px;
    font-weight: 700;
    color: var(--gold);
    letter-spacing: 1px;
    margin-bottom: 10px;
}

.sector-card h4 { color: var(--navy); margin-bottom: 10px; font-size: 20px; }
.sector-card p  { font-size: 17px; color: var(--text-medium); line-height: 1.55; }

.sector-badge {
    display: inline-block;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--blue-cta);
    background: rgba(15, 26, 40, 0.1);
    border-radius: 4px;
    padding: 3px 8px;
    margin-top: 10px;
}

/* ============================================
   MHC BONUS (Navy feature block)
============================================ */

.mhc-bonus {
    background: var(--navy);
    padding: var(--space-lg) 0;
}

.mhc-bonus-inner  { max-width: 820px; }
.mhc-bonus h3     { color: var(--white); margin-bottom: 16px; }
.mhc-bonus p      { font-size: 22px; color: #CBD5E1; line-height: 1.7; }

/* ============================================
   DEVELOPER REGISTRATION CTA
============================================ */

.dev-reg-section { background: var(--cream); }

.dev-reg-inner   { max-width: 760px; }
.dev-reg-inner h2  { color: var(--navy); margin-bottom: 16px; }
.dev-reg-inner p   { font-size: 22px; color: var(--text-medium); line-height: 1.7; margin-bottom: 32px; }

.dev-cta-row {
    display: flex;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
    margin-top: 8px;
}

.dev-cta-email {
    font-size: 18px;
    font-weight: 500;
    color: var(--navy);
    transition: color var(--transition);
}
.dev-cta-email:hover { color: var(--gold); }

/* ============================================
   RESPONSIVE — INNER PAGE COMPONENTS
============================================ */

@media (max-width: 1024px) {
    .sector-grid        { grid-template-columns: repeat(2, 1fr); }
    .service-lines-grid { grid-template-columns: 1fr; }
    .two-col-content    { grid-template-columns: 1fr; gap: var(--space-md); }
    .tm-bottom-row      { grid-template-columns: 1fr; gap: 32px; }
    .tm-bottom-row::before { display: none; }
    .tm-top-wrap::after { display: none; }
}

@media (max-width: 767px) {
    .page-hero     { padding: calc(80px + 40px) 0 var(--space-lg); }
    .page-hero--bg { padding: calc(80px + 40px) 0 var(--space-lg); min-height: 55vh; }
    .page-hero .hero-lead { font-size: 18px; }
    .page-hero--bg h1[style*="nowrap"] { white-space: normal !important; max-width: 100% !important; }

    .sector-grid       { grid-template-columns: repeat(2, 1fr); gap: 14px; }
    .solution-cards    { grid-template-columns: 1fr; }
    .service-lines-grid { grid-template-columns: 1fr; }
    .service-line-card { flex-direction: column; gap: 8px; }
    .sl-num            { font-size: 28px; width: auto; }

    .vtimeline  { padding-left: 70px; }
    .vtl-num    { left: -70px; width: 48px; height: 48px; font-size: 17px; }
    .vtl-item   { padding: 18px 20px; }
    .vtl-title  { font-size: 20px; }
    .vtl-desc   { font-size: 18px; }

    .cap-stack-item { padding: 18px 20px; flex-direction: column; gap: 6px; }
    .tm-top-card    { width: 100%; }
    .tm-center-card { width: 170px; height: 170px; }

    .dev-cta-row    { flex-direction: column; align-items: flex-start; }
    .capital-network-list li { font-size: 18px; }
    .cap-stack-numbered li   { font-size: 17px; }
}

/* ============================================
   QUOTE CARDS (For Landowners)
============================================ */

.quote-cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    margin-top: var(--space-md);
}

.quote-card {
    background: var(--white);
    border-radius: var(--radius);
    padding: 44px 32px 32px;
    border: 1px solid var(--gray-light);
    box-shadow: var(--shadow-card);
    position: relative;
    transition: box-shadow var(--transition), transform var(--transition);
}
.quote-card:hover { box-shadow: var(--shadow-strong); transform: translateY(-2px); }

.quote-card::before {
    content: '\201C';
    font-family: var(--font-serif);
    font-size: 100px;
    line-height: 1;
    color: var(--gold);
    opacity: 0.2;
    position: absolute;
    top: 4px;
    left: 22px;
    pointer-events: none;
}

.quote-card p { font-size: 20px; color: var(--text-dark); font-style: italic; line-height: 1.75; }

/* ============================================
   FEATURE ITEMS (For Landowners)
============================================ */

.feature-items { display: flex; flex-direction: column; max-width: 880px; }

.feature-item {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    padding: 28px 0;
    border-bottom: 1px solid var(--gray-light);
}
.feature-item:first-child { padding-top: 0; }
.feature-item:last-child  { border-bottom: none; }

.feature-item-icon { color: var(--gold); flex-shrink: 0; margin-top: 4px; }
.feature-item-body h4 { color: var(--navy); margin-bottom: 8px; }
.feature-item-body p  { font-size: 20px; color: var(--text-medium); line-height: 1.6; }

/* ============================================
   LAND CRITERIA (For Landowners — navy bg)
============================================ */

.criteria-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: var(--space-md);
}

.criteria-card {
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(200,150,46,0.25);
    border-radius: var(--radius);
    padding: 24px;
    transition: background var(--transition);
}
.criteria-card:hover { background: rgba(255,255,255,0.09); }

.criteria-label {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 10px;
}

.criteria-value { font-size: 22px; color: var(--white); font-weight: 500; line-height: 1.4; }

/* ============================================
   DEAL STRUCTURE OPTIONS (For Landowners)
============================================ */

.deal-options {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-top: var(--space-md);
}

.deal-option {
    background: var(--white);
    border: 1px solid var(--gray-light);
    border-top: 4px solid var(--blue-cta);
    border-radius: var(--radius);
    padding: 24px 20px;
    box-shadow: var(--shadow-card);
    transition: box-shadow var(--transition), transform var(--transition);
}
.deal-option:hover { box-shadow: var(--shadow-strong); transform: translateY(-2px); }
.deal-option h4 { color: var(--navy); margin-bottom: 12px; font-size: 22px; }
.deal-option p  { font-size: 18px; color: var(--text-medium); line-height: 1.55; }

/* ============================================
   PROPERTY FORM
============================================ */

.form-confidentiality {
    background: rgba(43,76,126,0.07);
    border: 1px solid rgba(15,26,40,0.2);
    border-left: 4px solid var(--blue-cta);
    border-radius: var(--radius);
    padding: 20px 24px;
    margin-bottom: 32px;
    font-size: 18px;
    color: var(--blue-cta);
    line-height: 1.6;
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-bottom: 20px;
}

.form-group          { display: flex; flex-direction: column; gap: 8px; }
.form-group--full    { grid-column: 1 / -1; }

.honeypot-wrap {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.form-label {
    font-family: var(--font-sans);
    font-size: 16px;
    font-weight: 600;
    color: var(--navy);
}

.form-required { color: var(--gold); }

.form-input,
.form-select,
.form-textarea {
    width: 100%;
    padding: 14px 18px;
    font-family: var(--font-sans);
    font-size: 18px;
    color: var(--text-dark);
    background: var(--white);
    border: 2px solid var(--gray-light);
    border-radius: 6px;
    transition: border-color var(--transition), box-shadow var(--transition);
    -webkit-appearance: none;
    appearance: none;
}

.form-input:focus,
.form-select:focus,
.form-textarea:focus {
    outline: none;
    border-color: var(--blue-cta);
    box-shadow: 0 0 0 3px rgba(15,26,40,0.12);
}

.form-input.is-error,
.form-select.is-error,
.form-textarea.is-error { border-color: #DC3545; }

.form-textarea { min-height: 130px; resize: vertical; line-height: 1.6; }

.form-select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%234A4A4A' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    padding-right: 44px;
    cursor: pointer;
}

.form-submit-row {
    display: flex;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
    margin-top: 8px;
}

.form-alt {
    font-size: 17px;
    color: var(--text-medium);
}
.form-alt a { color: var(--gold); font-weight: 600; }
.form-alt a:hover { text-decoration: underline; }

.form-alert {
    border-radius: var(--radius);
    padding: 18px 24px;
    font-size: 19px;
    line-height: 1.6;
    margin-bottom: 28px;
}
.form-alert--success {
    background: rgba(25,135,84,0.08);
    border: 1px solid rgba(25,135,84,0.3);
    color: #0a3622;
}
.form-alert--error {
    background: rgba(220,53,69,0.08);
    border: 1px solid rgba(220,53,69,0.3);
    color: #58151c;
}

/* ============================================
   BENEFITS LIST (For Capital Partners)
============================================ */

.benefits-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    max-width: 920px;
    margin-top: var(--space-md);
}

.benefit-item {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    background: var(--white);
    border: 1px solid var(--gray-light);
    border-radius: var(--radius);
    padding: 20px 24px;
    box-shadow: var(--shadow-card);
}

.benefit-num {
    font-family: var(--font-serif);
    font-size: 24px;
    font-weight: 700;
    color: var(--gold);
    flex-shrink: 0;
    width: 36px;
    line-height: 1;
    padding-top: 4px;
}

.benefit-item p { font-size: 19px; color: var(--text-medium); line-height: 1.55; }

/* ============================================
   PARTNER CATEGORY CARDS
============================================ */

.partner-cats {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    margin-top: var(--space-md);
}

.partner-cat-card {
    background: var(--white);
    border: 1px solid var(--gray-light);
    border-left: 4px solid var(--blue-cta);
    border-radius: var(--radius);
    padding: 28px;
    box-shadow: var(--shadow-card);
    transition: box-shadow var(--transition), transform var(--transition);
}
.partner-cat-card:hover { box-shadow: var(--shadow-strong); transform: translateY(-2px); }
.partner-cat-card h4 { color: var(--navy); margin-bottom: 16px; }
.partner-cat-card ul { display: flex; flex-direction: column; gap: 10px; }
.partner-cat-card li {
    font-size: 18px;
    color: var(--text-medium);
    padding-left: 18px;
    position: relative;
    line-height: 1.5;
}
.partner-cat-card li::before {
    content: '—';
    position: absolute;
    left: 0;
    color: var(--gold);
    font-size: 13px;
    top: 3px;
}

/* ============================================
   MARKETS — SECTOR SECTIONS
============================================ */

.sectors-list {
    display: flex;
    flex-direction: column;
    gap: 40px;
    margin-top: var(--space-md);
}

.sector-section {
    display: grid;
    grid-template-columns: 240px 1fr;
    gap: 40px;
    align-items: start;
    padding-bottom: 40px;
    border-bottom: 1px solid var(--gray-light);
}
.sector-section:last-child { border-bottom: none; padding-bottom: 0; }

.sector-section-num {
    font-family: var(--font-serif);
    font-size: 56px;
    font-weight: 700;
    color: var(--gold);
    opacity: 0.3;
    line-height: 1;
    margin-bottom: 8px;
}

.sector-section-name {
    font-size: 26px;
    font-weight: 600;
    color: var(--navy);
    font-family: var(--font-sans);
}

.sector-sub-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.sector-sub-item {
    background: var(--cream);
    border: 1px solid var(--gray-light);
    border-radius: 6px;
    padding: 13px 16px;
    font-size: 18px;
    color: var(--text-dark);
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 10px;
}
.sector-sub-item::before {
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--gold);
    flex-shrink: 0;
}

/* ============================================
   GEOGRAPHIC FOCUS (Markets)
============================================ */

.geo-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: var(--space-md);
}

.geo-card {
    background: var(--white);
    border: 1px solid var(--gray-light);
    border-radius: var(--radius);
    padding: 28px 24px;
    box-shadow: var(--shadow-card);
}

.geo-card-badge {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 12px;
}

.geo-card h4 { color: var(--navy); margin-bottom: 10px; }
.geo-card p  { font-size: 18px; color: var(--text-medium); line-height: 1.6; }

.geo-detail {
    background: var(--white);
    border-radius: var(--radius);
    padding: 32px;
    margin-top: 28px;
    border: 1px solid var(--gray-light);
    box-shadow: var(--shadow-card);
}

.geo-detail h3 { color: var(--navy); margin-bottom: 20px; }

.geo-detail-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.geo-detail-item { font-size: 18px; color: var(--text-medium); line-height: 1.6; }
.geo-detail-item strong { display: block; color: var(--navy); margin-bottom: 4px; font-size: 19px; }

/* ============================================
   PIPELINE HIGHLIGHT (Markets)
============================================ */

.pipeline-inner { max-width: 860px; }
.pipeline-inner h2 { color: var(--white); margin-bottom: 20px; }
.pipeline-inner p  { font-size: 22px; color: #CBD5E1; line-height: 1.7; margin-bottom: 32px; }

.pipeline-tags { display: flex; gap: 12px; flex-wrap: wrap; }

.pipeline-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(200,150,46,0.12);
    border: 1px solid rgba(200,150,46,0.35);
    border-radius: 100px;
    padding: 10px 20px;
    font-size: 17px;
    font-weight: 600;
    color: var(--gold);
}
.pipeline-tag::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--gold);
    flex-shrink: 0;
}

/* ============================================
   RESPONSIVE — PAGES 5-7
============================================ */

@media (max-width: 1024px) {
    .quote-cards      { grid-template-columns: 1fr; }
    .criteria-grid    { grid-template-columns: repeat(2, 1fr); }
    .deal-options     { grid-template-columns: repeat(2, 1fr); }
    .partner-cats     { grid-template-columns: 1fr; }
    .benefits-grid    { grid-template-columns: 1fr; }
    .geo-cards        { grid-template-columns: repeat(2, 1fr); }
    .geo-detail-grid  { grid-template-columns: repeat(2, 1fr); }
    .sector-section   { grid-template-columns: 1fr; gap: 20px; }
    .sector-sub-list  { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 767px) {
    .quote-cards         { grid-template-columns: 1fr; }
    .criteria-grid       { grid-template-columns: 1fr; }
    .deal-options        { grid-template-columns: 1fr; }
    .form-grid           { grid-template-columns: 1fr; }
    .benefits-grid       { grid-template-columns: 1fr; }
    .partner-cats        { grid-template-columns: 1fr; }
    .geo-cards           { grid-template-columns: 1fr; }
    .geo-detail-grid     { grid-template-columns: 1fr; }
    .sector-sub-list     { grid-template-columns: 1fr; }
    .sector-section      { grid-template-columns: 1fr; gap: 12px; }
    .sector-section-num  { font-size: 40px; }
    .form-submit-row     { flex-direction: column; align-items: flex-start; }
    .pipeline-tags       { gap: 8px; }
}

/* ============================================
   ABOUT PAGE
============================================ */

.about-body {
    max-width: 820px;
    margin-top: 28px;
}

.about-body p {
    font-size: 22px;
    color: var(--text-medium);
    line-height: 1.75;
    margin-bottom: 24px;
}

/* Service list */
.about-service-list {
    display: flex;
    flex-direction: column;
    gap: 0;
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: var(--shadow-card);
}

.about-service-item {
    display: grid;
    grid-template-columns: 72px 1fr auto;
    gap: 0;
    align-items: center;
    background: var(--white);
    border-bottom: 1px solid var(--gray-light);
    padding: 28px 32px 28px 0;
    transition: background var(--transition);
}

.about-service-item:last-child { border-bottom: none; }
.about-service-item:hover { background: #faf9f7; }

.about-svc-num {
    font-family: var(--font-serif);
    font-size: 15px;
    font-weight: 700;
    color: var(--gold);
    letter-spacing: 1px;
    text-align: center;
    padding-left: 24px;
    flex-shrink: 0;
}

.about-svc-body { padding: 0 24px; }

.about-svc-body h4 {
    font-family: var(--font-sans);
    font-size: 19px;
    font-weight: 600;
    color: var(--navy);
    margin-bottom: 4px;
}

.about-svc-body p {
    font-size: 17px;
    color: var(--text-medium);
    line-height: 1.5;
}

.about-svc-fee {
    font-size: 15px;
    font-weight: 500;
    color: var(--text-muted);
    text-align: right;
    white-space: nowrap;
    flex-shrink: 0;
    padding-right: 4px;
}

/* Leadership card */
.leader-card {
    display: grid;
    grid-template-columns: 340px 1fr;
    gap: 64px;
    align-items: start;
    margin-top: var(--space-md);
}

.leader-photo-wrap {
    border-radius: var(--radius);
    overflow: hidden;
    background: var(--gray-light);
    aspect-ratio: 4 / 5;
}

.leader-photo-wrap.leader-photo-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--cream);
    border: 2px dashed var(--gray-light);
}

.leader-photo-wrap.leader-photo-placeholder::after {
    content: 'Photo Coming Soon';
    font-size: 15px;
    color: var(--text-muted);
    font-style: italic;
}

.leader-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.leader-name-block { margin-bottom: 28px; }

.leader-name-block h3 {
    font-size: 34px;
    color: var(--navy);
    margin-bottom: 6px;
}

.leader-title {
    font-size: 18px;
    color: var(--gold);
    font-weight: 600;
    letter-spacing: 0.5px;
}

.leader-bio p {
    font-size: 21px;
    color: var(--text-medium);
    line-height: 1.75;
    margin-bottom: 20px;
}

.leader-content .btn { margin-top: 12px; }

/* Why Amigos pillars */
.why-pillars {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
    margin-top: var(--space-md);
}

.why-pillar {
    border-top: 2px solid rgba(200,150,46,0.35);
    padding-top: 28px;
}

.why-pillar-icon {
    color: var(--gold);
    margin-bottom: 16px;
}

.why-pillar h4 {
    font-size: 20px;
    font-weight: 600;
    color: var(--white);
    margin-bottom: 12px;
}

.why-pillar p {
    font-size: 17px;
    color: #CBD5E1;
    line-height: 1.65;
}

/* ============================================
   BLOG PAGE
============================================ */

/* Light hero variant */
.page-hero--light {
    background: var(--cream);
    padding: calc(80px + var(--space-lg)) 0 var(--space-lg);
}

.page-hero--light .section-label { color: var(--gold); }

.page-hero--light h1 {
    color: var(--navy);
    max-width: 700px;
    margin-top: 12px;
}

/* Topic tags */
.topic-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.topic-tag {
    display: inline-block;
    background: var(--cream);
    border: 1px solid var(--gray-light);
    border-radius: 100px;
    padding: 8px 18px;
    font-size: 15px;
    font-weight: 500;
    color: var(--text-medium);
    cursor: default;
    transition: background var(--transition), color var(--transition);
}

.topic-tag:hover {
    background: var(--navy);
    color: var(--white);
    border-color: var(--navy);
}

/* Utility */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
}

/* Featured blog post */
.blog-featured {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: var(--shadow-strong);
    margin-bottom: 40px;
    background: var(--navy);
}

.blog-featured-img {
    min-height: 360px;
    overflow: hidden;
    background: var(--navy-deep);
}

.blog-featured-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.blog-featured:hover .blog-featured-img img { transform: scale(1.03); }

.blog-featured-body {
    padding: 48px 40px;
    background: var(--white);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Blog meta */
.blog-meta {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

.blog-topic-badge {
    display: inline-block;
    background: rgba(200,150,46,0.1);
    border: 1px solid rgba(200,150,46,0.3);
    color: var(--gold-dark);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 4px 12px;
    border-radius: 100px;
}

.blog-date, .blog-readtime {
    font-size: 15px;
    color: var(--text-muted);
}

.blog-readtime::before { content: '·'; margin-right: 14px; }

/* Blog title link */
.blog-title-link {
    color: var(--navy);
    text-decoration: none;
    transition: color var(--transition);
}

.blog-title-link:hover { color: var(--gold-dark); }

.blog-featured-body h3 {
    font-size: 27px;
    line-height: 1.35;
    margin-bottom: 16px;
}

.blog-excerpt {
    font-size: 18px;
    color: var(--text-medium);
    line-height: 1.7;
    margin-bottom: 24px;
}

.blog-readmore {
    font-size: 16px;
    font-weight: 600;
    color: var(--gold);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: gap var(--transition), color var(--transition);
}

.blog-readmore:hover { gap: 10px; color: var(--gold-dark); }

/* Blog post grid */
.blog-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
}

.blog-card {
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: var(--shadow-card);
    border: 1px solid var(--gray-light);
    background: var(--white);
    display: flex;
    flex-direction: column;
    transition: box-shadow var(--transition), transform var(--transition);
}

.blog-card:hover {
    box-shadow: var(--shadow-strong);
    transform: translateY(-3px);
}

.blog-card-img {
    height: 220px;
    overflow: hidden;
    background: var(--navy-deep);
}

.blog-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.blog-card:hover .blog-card-img img { transform: scale(1.04); }

.blog-card-body {
    padding: 28px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.blog-card-body h3 {
    font-size: 22px;
    line-height: 1.35;
    margin-bottom: 12px;
}

.blog-card-body .blog-readmore { margin-top: auto; padding-top: 16px; }

/* Subscribe section */
.blog-subscribe-inner { max-width: 680px; }

.blog-subscribe-inner h2 {
    margin-bottom: 12px;
    font-size: 44px;
}

.blog-subscribe-inner p {
    font-size: 20px;
    color: #CBD5E1;
    line-height: 1.65;
    margin-bottom: 32px;
}

.blog-sub-success {
    background: rgba(22, 163, 74, 0.15);
    border: 1px solid rgba(22, 163, 74, 0.4);
    color: #bbf7d0;
    border-radius: var(--radius);
    padding: 16px 20px;
    font-size: 18px;
    margin-bottom: 24px;
}

.blog-sub-error {
    background: rgba(220, 38, 38, 0.12);
    border: 1px solid rgba(220, 38, 38, 0.35);
    color: #fca5a5;
    border-radius: var(--radius);
    padding: 16px 20px;
    font-size: 18px;
    margin-bottom: 24px;
}

.blog-sub-form { position: relative; }

.blog-sub-row {
    display: flex;
    gap: 12px;
    margin-bottom: 12px;
}

.blog-sub-input {
    flex: 1;
    height: 54px;
    padding: 0 18px;
    font-size: 18px;
    font-family: var(--font-sans);
    background: rgba(255,255,255,0.08);
    border: 1.5px solid rgba(255,255,255,0.2);
    border-radius: var(--radius);
    color: var(--white);
    outline: none;
    transition: border-color var(--transition), background var(--transition);
}

.blog-sub-input::placeholder { color: rgba(255,255,255,0.4); }

.blog-sub-input:focus {
    background: rgba(255,255,255,0.12);
    border-color: var(--gold);
}

.btn-gold {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 54px;
    padding: 0 32px;
    background: var(--gold);
    color: var(--navy-deep);
    font-size: 17px;
    font-weight: 700;
    font-family: var(--font-sans);
    border: none;
    border-radius: var(--radius);
    cursor: pointer;
    text-decoration: none;
    white-space: nowrap;
    transition: background var(--transition), transform var(--transition);
}

.btn-gold:hover {
    background: var(--gold-dark);
    transform: translateY(-1px);
}

.blog-sub-fine {
    font-size: 15px;
    color: rgba(255,255,255,0.45);
}

/* ============================================
   CONTACT PAGE
============================================ */

/* Contact methods */
.contact-methods {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2px;
    background: var(--gray-light);
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: var(--shadow-card);
    margin-top: 8px;
}

.contact-method {
    background: var(--white);
    padding: 40px 36px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}

.contact-method-icon {
    color: var(--gold);
    margin-bottom: 4px;
}

.contact-method-label {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--text-muted);
}

.contact-method-value {
    font-size: 20px;
    font-weight: 600;
    color: var(--navy);
    text-decoration: none;
    line-height: 1.4;
    transition: color var(--transition);
}

a.contact-method-value:hover { color: var(--gold-dark); }

/* Contact form wrapper */
.contact-form-wrap {
    max-width: 860px;
    margin: 0 auto;
}

.contact-form-header {
    margin-bottom: var(--space-md);
}

.contact-form { margin-top: 32px; }

/* ============================================
   RESPONSIVE — PAGES 8-10
============================================ */

@media (max-width: 1200px) {
    .why-pillars { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 1024px) {
    .leader-card  { grid-template-columns: 280px 1fr; gap: 40px; }
    .blog-featured { grid-template-columns: 1fr; }
    .blog-featured-img { min-height: 280px; }
    .contact-methods { grid-template-columns: 1fr; gap: 1px; }
    .about-service-item { grid-template-columns: 60px 1fr; }
    .about-svc-fee { display: none; }
}

@media (max-width: 767px) {
    .why-pillars      { grid-template-columns: 1fr; }
    .leader-card      { grid-template-columns: 1fr; }
    .leader-photo-wrap { max-width: 280px; aspect-ratio: 1 / 1; }
    .blog-grid        { grid-template-columns: 1fr; }
    .blog-featured-body { padding: 28px 24px; }
    .blog-sub-row     { flex-direction: column; }
    .blog-sub-input   { width: 100%; }
    .about-service-item { grid-template-columns: 52px 1fr; padding: 20px 16px 20px 0; }
    .contact-method   { padding: 28px 24px; }
    .contact-form-wrap { max-width: 100%; }
}

/* ============================================
   LEGAL PAGES (Privacy, Terms, Disclosures)
============================================ */

/* Compact hero for legal/utility pages */
.page-hero--sm {
    padding: calc(80px + var(--space-md)) 0 var(--space-md);
}

.page-hero--sm h1 {
    font-size: clamp(36px, 5vw, 54px);
    margin-top: 10px;
}

/* Legal body text */
.legal-body {
    max-width: 820px;
    padding: var(--space-lg) 0 var(--space-xl);
}

.legal-intro {
    font-size: 21px;
    color: var(--text-medium);
    line-height: 1.75;
    border-left: 4px solid var(--gold);
    padding-left: 24px;
    margin-bottom: var(--space-md);
}

.legal-body h2 {
    font-family: var(--font-sans);
    font-size: 22px;
    font-weight: 700;
    color: var(--navy);
    margin-top: 48px;
    margin-bottom: 14px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--gray-light);
}

.legal-body h2:first-of-type { margin-top: var(--space-md); }

.legal-body p {
    font-size: 18px;
    color: var(--text-medium);
    line-height: 1.8;
    margin-bottom: 16px;
}

.legal-body ul {
    margin: 12px 0 16px 0;
    padding-left: 0;
    list-style: none;
}

.legal-body ul li {
    font-size: 18px;
    color: var(--text-medium);
    line-height: 1.7;
    padding: 6px 0 6px 24px;
    position: relative;
}

.legal-body ul li::before {
    content: '—';
    position: absolute;
    left: 0;
    color: var(--gold);
    font-weight: 600;
}

.legal-body a {
    color: var(--blue-cta);
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color var(--transition);
}

.legal-body a:hover { color: var(--gold-dark); }

.legal-body strong { color: var(--text-dark); }

.legal-address {
    font-size: 18px;
    font-style: normal;
    color: var(--text-medium);
    line-height: 1.8;
    margin-top: 8px;
}

/* Disclosures specific */
.disclosure-block h2 { margin-top: 40px; }
.disclosure-block h2:first-child { margin-top: var(--space-md); }

.disclosure-copyright {
    margin-top: var(--space-lg);
    padding-top: 24px;
    border-top: 1px solid var(--gray-light);
}

.disclosure-copyright p {
    font-size: 16px;
    color: var(--text-muted);
    margin-bottom: 4px;
}

/* ============================================
   BLOG POST TEMPLATE
============================================ */

.post-header {
    max-width: 860px;
    padding-top: 12px;
}

.post-back-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 15px;
    font-weight: 500;
    color: rgba(255,255,255,0.65);
    text-decoration: none;
    margin-bottom: 24px;
    transition: color var(--transition);
}

.post-back-link:hover { color: var(--gold); }

.post-meta-top {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.post-title {
    font-size: clamp(30px, 4vw, 52px);
    line-height: 1.2;
    color: var(--white);
    max-width: 820px;
}

/* Hero image */
.post-hero-img {
    border-radius: var(--radius);
    overflow: hidden;
    max-height: 480px;
    margin-bottom: var(--space-md);
    background: var(--navy-deep);
}

.post-hero-img img {
    width: 100%;
    height: 480px;
    object-fit: cover;
    display: block;
}

/* Excerpt callout */
.post-excerpt {
    font-size: 22px;
    color: var(--text-medium);
    line-height: 1.7;
    border-left: 4px solid var(--gold);
    padding-left: 24px;
    margin-bottom: var(--space-md);
    max-width: 820px;
    font-style: italic;
}

/* Article prose */
.post-content {
    max-width: 760px;
    font-size: 20px;
    color: var(--text-medium);
    line-height: 1.85;
}

.post-content p { margin-bottom: 24px; }

.post-content h3 {
    font-family: var(--font-serif);
    font-size: 28px;
    color: var(--navy);
    margin-top: 48px;
    margin-bottom: 16px;
    line-height: 1.3;
}

.post-content h4 {
    font-family: var(--font-sans);
    font-size: 20px;
    font-weight: 700;
    color: var(--navy);
    margin-top: 32px;
    margin-bottom: 10px;
}

.post-content ul {
    margin: 0 0 24px 0;
    padding-left: 0;
    list-style: none;
}

.post-content ul li {
    padding: 7px 0 7px 28px;
    position: relative;
    line-height: 1.65;
}

.post-content ul li::before {
    content: '→';
    position: absolute;
    left: 0;
    color: var(--gold);
    font-weight: 700;
}

.post-content strong { color: var(--navy); font-weight: 600; }

.post-content a {
    color: var(--blue-cta);
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color var(--transition);
}

.post-content a:hover { color: var(--gold-dark); }

/* Article footer */
.post-footer {
    margin-top: var(--space-md);
    padding-top: 32px;
    border-top: 1px solid var(--gray-light);
}

/* ============================================
   RESPONSIVE — LEGAL & BLOG POST
============================================ */

@media (max-width: 767px) {
    .legal-body      { padding: var(--space-md) 0 var(--space-lg); }
    .legal-body h2   { font-size: 20px; margin-top: 36px; }
    .legal-intro     { font-size: 18px; }
    .post-title      { font-size: 30px; }
    .post-excerpt    { font-size: 19px; }
    .post-content    { font-size: 18px; }
    .post-content h3 { font-size: 24px; }
    .post-hero-img   { max-height: 240px; }
    .post-hero-img img { height: 240px; }
}

/* ============================================================
   MODERN HOMEPAGE REDESIGN — New Components
============================================================ */

/* --- Hero enhancements --- */
.hero-scroll-hint {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    z-index: 2;
    opacity: 0.55;
    animation: scrollBob 2.5s ease-in-out infinite;
}
.hero-scroll-hint span {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--white);
}
.hero-scroll-line {
    width: 1px;
    height: 48px;
    background: linear-gradient(to bottom, var(--white), transparent);
}
@keyframes scrollBob {
    0%, 100% { transform: translateX(-50%) translateY(0); }
    50%       { transform: translateX(-50%) translateY(8px); }
}

/* --- Intro Split --- */
.intro-split {
    background: var(--white);
    padding: var(--space-xl) 0;
}

.intro-split-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 72px;
    align-items: center;
}

.intro-split-left h2 {
    color: var(--navy);
    margin-bottom: 24px;
    font-size: clamp(32px, 3.5vw, 52px);
}

.intro-split-left p {
    font-size: 20px;
    color: var(--text-medium);
    line-height: 1.75;
}

/* Mini stacked audience cards */
.intro-mini-cards {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.intro-mini-card {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    height: 110px;
    background-size: cover;
    background-position: center;
    display: block;
    text-decoration: none;
    transition: transform 0.35s ease, box-shadow 0.35s ease;
    box-shadow: 0 4px 20px rgba(0,0,0,0.18);
}
.intro-mini-card:hover {
    transform: translateY(-3px) scale(1.01);
    box-shadow: 0 12px 40px rgba(0,0,0,0.28);
}

.intro-mini-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to right,
        rgba(11, 22, 38, 0.82) 0%,
        rgba(11, 22, 38, 0.45) 100%
    );
    transition: background 0.35s ease;
}
.intro-mini-card:hover .intro-mini-overlay {
    background: linear-gradient(
        to right,
        rgba(11, 22, 38, 0.75) 0%,
        rgba(11, 22, 38, 0.35) 100%
    );
}

.intro-mini-body {
    position: relative;
    z-index: 1;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 28px;
}

.intro-mini-eyebrow {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 4px;
}

.intro-mini-title {
    font-size: 20px;
    font-weight: 600;
    color: var(--white);
    font-family: var(--font-sans);
}

.intro-mini-arrow {
    font-size: 22px;
    color: var(--white);
    opacity: 0.6;
    transition: opacity var(--transition), transform var(--transition);
}
.intro-mini-card:hover .intro-mini-arrow {
    opacity: 1;
    transform: translateX(4px);
}

/* --- Stats Dark --- */
.stats-dark {
    background: var(--navy-deep);
    padding: var(--space-lg) 0;
}

.stats-dark-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
}

.stat-dark-item {
    text-align: center;
    padding: 32px 24px;
    position: relative;
}
.stat-dark-item:not(:last-child)::after {
    content: '';
    position: absolute;
    right: 0;
    top: 20%;
    height: 60%;
    width: 1px;
    background: rgba(255,255,255,0.08);
}

.stat-dark-num {
    font-family: var(--font-serif);
    font-size: clamp(40px, 5vw, 64px);
    font-weight: 700;
    color: var(--gold);
    line-height: 1;
    margin-bottom: 12px;
    letter-spacing: -1px;
}

.stat-dark-label {
    font-size: 16px;
    color: rgba(255,255,255,0.55);
    line-height: 1.4;
    max-width: 180px;
    margin: 0 auto;
}

/* --- Services Modern (numbered rows) --- */
.services-modern {
    background: var(--cream);
    padding: var(--space-xl) 0;
}

.services-modern-header {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: end;
    margin-bottom: var(--space-lg);
}

.services-modern-header h2 { color: var(--navy); }

.services-modern-sub {
    font-size: 20px;
    color: var(--text-medium);
    line-height: 1.65;
}

.service-rows {
    display: flex;
    flex-direction: column;
}

.service-row {
    display: grid;
    grid-template-columns: 72px 1fr auto;
    gap: 0;
    align-items: center;
    padding: 28px 32px 28px 0;
    border-bottom: 1px solid rgba(0,0,0,0.06);
    background: transparent;
    transition: background 0.25s ease;
    border-radius: 8px;
    margin-bottom: 2px;
}
.service-row:first-child { border-top: 1px solid rgba(0,0,0,0.06); }
.service-row:hover { background: rgba(255,255,255,0.7); }

.service-row-num {
    font-family: var(--font-serif);
    font-size: 14px;
    font-weight: 700;
    color: var(--gold);
    letter-spacing: 1px;
    padding-left: 4px;
}

.service-row-body { padding: 0 24px; }

.service-row-body h4 {
    font-size: 20px;
    font-weight: 600;
    color: var(--navy);
    margin-bottom: 4px;
}

.service-row-body p {
    font-size: 17px;
    color: var(--text-medium);
    line-height: 1.5;
}

.service-row-link {
    font-size: 15px;
    font-weight: 600;
    color: var(--navy);
    white-space: nowrap;
    padding: 8px 0;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: color var(--transition), gap var(--transition);
}
.service-row:hover .service-row-link {
    color: var(--gold);
    gap: 10px;
}

/* --- Audience Section (photo cards) --- */
.audience-section {
    background: var(--white);
    padding: var(--space-xl) 0;
}

.audience-header {
    margin-bottom: var(--space-md);
}

.audience-header h2 { color: var(--navy); }

.audience-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.audience-card {
    position: relative;
    border-radius: 14px;
    overflow: hidden;
    min-height: 480px;
    background-size: cover;
    background-position: center;
    display: block;
    text-decoration: none;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    box-shadow: 0 6px 28px rgba(0,0,0,0.16);
}
.audience-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 60px rgba(0,0,0,0.28);
}

.audience-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(10, 20, 35, 0.92) 0%,
        rgba(10, 20, 35, 0.45) 50%,
        rgba(10, 20, 35, 0.1) 100%
    );
    transition: background 0.4s ease;
}
.audience-card:hover .audience-overlay {
    background: linear-gradient(
        to top,
        rgba(10, 20, 35, 0.95) 0%,
        rgba(10, 20, 35, 0.55) 55%,
        rgba(10, 20, 35, 0.15) 100%
    );
}

.audience-body {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 36px 32px;
    z-index: 1;
}

.audience-eyebrow {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 10px;
}

.audience-title {
    font-size: 24px;
    font-weight: 700;
    color: var(--white);
    line-height: 1.25;
    margin-bottom: 12px;
    font-family: var(--font-serif);
}

.audience-desc {
    font-size: 16px;
    color: rgba(255,255,255,0.72);
    line-height: 1.6;
    margin-bottom: 20px;
}

.audience-cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 15px;
    font-weight: 600;
    color: var(--gold);
    border-bottom: 1px solid rgba(200,150,46,0.4);
    padding-bottom: 2px;
    transition: gap var(--transition), border-color var(--transition);
}
.audience-card:hover .audience-cta {
    gap: 10px;
    border-color: var(--gold);
}

/* Audience card — child element classes used in HTML */
.audience-card-photo {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
}

.audience-card-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(10, 20, 35, 0.93) 0%,
        rgba(10, 20, 35, 0.48) 50%,
        rgba(10, 20, 35, 0.10) 100%
    );
    transition: background 0.4s ease;
    z-index: 1;
}

.audience-card:hover .audience-card-overlay {
    background: linear-gradient(
        to top,
        rgba(10, 20, 35, 0.97) 0%,
        rgba(10, 20, 35, 0.58) 55%,
        rgba(10, 20, 35, 0.15) 100%
    );
}

.audience-card-body {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 36px 32px;
    z-index: 2;
}

.audience-card-badge {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 10px;
}

.audience-sub {
    font-size: 15px;
    color: rgba(255,255,255,0.72);
    line-height: 1.6;
    margin-bottom: 20px;
}

.audience-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 600;
    color: var(--gold);
    border-bottom: 1px solid rgba(200,150,46,0.40);
    padding-bottom: 2px;
    transition: gap var(--transition), border-color var(--transition);
    text-decoration: none;
}

.audience-card:hover .audience-link {
    gap: 10px;
    border-color: var(--gold);
}

/* --- Immersive Section --- */
.immersive-section {
    position: relative;
    padding: var(--space-xxl) 0;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    min-height: 560px;
    display: flex;
    align-items: center;
}

.immersive-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        135deg,
        rgba(10, 20, 35, 0.92) 0%,
        rgba(27, 42, 61, 0.82) 100%
    );
}

.immersive-body {
    position: relative;
    z-index: 1;
    max-width: 760px;
}

.immersive-body h2 {
    color: var(--white);
    font-size: clamp(36px, 4.5vw, 60px);
    margin-bottom: 20px;
}

.immersive-body > p {
    font-size: 20px;
    color: rgba(255,255,255,0.75);
    line-height: 1.75;
    margin-bottom: 40px;
}

.immersive-stats {
    display: flex;
    align-items: center;
    gap: 0;
    flex-wrap: wrap;
}

.immersive-stat {
    padding: 0 40px 0 0;
}
.immersive-stat:first-child { padding-left: 0; }

.immersive-stat-num {
    font-family: var(--font-serif);
    font-size: 42px;
    font-weight: 700;
    color: var(--gold);
    line-height: 1;
    margin-bottom: 6px;
}

.immersive-stat-label {
    font-size: 14px;
    font-weight: 500;
    color: rgba(255,255,255,0.55);
    letter-spacing: 1px;
    text-transform: uppercase;
}

.immersive-stat-div {
    width: 1px;
    height: 56px;
    background: rgba(255,255,255,0.15);
    margin-right: 40px;
    flex-shrink: 0;
}

/* --- Process Section (How It Works) --- */
.process-section {
    background: var(--navy);
    padding: var(--space-xl) 0 var(--space-xl);
}

.process-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    padding-bottom: var(--space-lg);
    flex-wrap: wrap;
}

/* --- Process Cards (box mode) --- */
.process-cards-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-top: var(--space-lg);
}

.process-card {
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.09);
    border-radius: 12px;
    padding: 32px 28px;
    position: relative;
    overflow: hidden;
    transition: background var(--transition), border-color var(--transition);
}

.process-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: var(--gold);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.35s ease;
}

.process-card:hover::before { transform: scaleX(1); }
.process-card:hover {
    background: rgba(255,255,255,0.08);
    border-color: rgba(255,255,255,0.15);
}

.process-card-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 24px;
}

.process-card-tag {
    display: inline-block;
    font-family: var(--font-sans);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: var(--gold);
    border: 1px solid rgba(200,150,46,0.4);
    border-radius: 100px;
    padding: 4px 12px;
}

.process-card-num {
    font-family: var(--font-serif);
    font-size: 48px;
    font-weight: 700;
    color: var(--white);
    opacity: 0.25;
    line-height: 1;
    user-select: none;
    transition: opacity var(--transition);
}

.process-card:hover .process-card-num { opacity: 0.55; }

.process-card h4 {
    font-size: 20px;
    font-weight: 700;
    color: var(--white);
    margin-bottom: 12px;
    line-height: 1.25;
}

.process-card p {
    font-size: 15px;
    color: rgba(255,255,255,0.58);
    line-height: 1.7;
}

/* --- Locations Section --- */
/* =============================================
   WHERE WE OPERATE — Light section redesign
   ============================================= */
.markets-light-section {
    background: #F7F5F1;
    padding: var(--space-xl) 0;
}

.markets-light-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 32px;
    margin-bottom: 48px;
    flex-wrap: wrap;
}

.markets-light-header-left h2 {
    color: var(--navy);
    max-width: 520px;
    margin-top: 12px;
}

.markets-light-header-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 24px;
    flex-shrink: 0;
}

.markets-stats-row {
    display: flex;
    align-items: center;
    gap: 28px;
}

.markets-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.markets-stat-num {
    font-family: var(--font-serif);
    font-size: 36px;
    font-weight: 700;
    color: var(--navy);
    line-height: 1;
}

.markets-stat-label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1.8px;
    text-transform: uppercase;
    color: var(--text-muted);
}

.markets-stat-sep {
    width: 1px;
    height: 44px;
    background: rgba(15,26,40,0.15);
}

/* Two-column grid */
.markets-light-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    align-items: stretch;
}

/* Featured photo card */
.mkt-featured {
    position: relative;
    overflow: hidden;
    display: block;
    text-decoration: none;
    background-size: cover;
    background-position: center;
    border-radius: 16px;
    min-height: 560px;
    transition: box-shadow 0.35s ease;
}

.mkt-featured:hover {
    box-shadow: 0 20px 60px rgba(15,26,40,0.25);
}

.mkt-featured-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(8, 15, 24, 0.93) 0%,
        rgba(8, 15, 24, 0.42) 50%,
        rgba(8, 15, 24, 0.10) 100%
    );
    transition: background var(--transition);
}

.mkt-featured:hover .mkt-featured-overlay {
    background: linear-gradient(
        to top,
        rgba(8, 15, 24, 0.97) 0%,
        rgba(8, 15, 24, 0.52) 55%,
        rgba(8, 15, 24, 0.15) 100%
    );
}

.mkt-featured-body {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 32px;
}

.mkt-badge {
    display: inline-flex;
    align-self: flex-start;
    background: rgba(200,150,46,0.15);
    border: 1px solid rgba(200,150,46,0.45);
    color: var(--gold);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 5px 14px;
    border-radius: 100px;
}

.mkt-featured-foot h3 {
    font-family: var(--font-serif);
    font-size: 34px;
    font-weight: 700;
    color: var(--white);
    margin-bottom: 10px;
    line-height: 1.2;
}

.mkt-featured-foot p {
    font-size: 15px;
    color: rgba(255,255,255,0.65);
    line-height: 1.6;
    margin-bottom: 20px;
    max-width: 360px;
}

.mkt-featured-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid rgba(255,255,255,0.30);
    border-radius: 50%;
    color: var(--white);
    font-size: 17px;
    transition: background var(--transition), border-color var(--transition), transform var(--transition);
}

.mkt-featured:hover .mkt-featured-arrow {
    background: var(--gold);
    border-color: var(--gold);
    transform: translateX(4px);
}

/* Secondary stacked row cards */
.mkt-secondary-col {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.mkt-row-card {
    display: grid;
    grid-template-columns: 160px 1fr;
    background: var(--white);
    border-radius: 12px;
    overflow: hidden;
    text-decoration: none;
    box-shadow: 0 2px 14px rgba(15,26,40,0.06);
    border: 1px solid rgba(15,26,40,0.07);
    transition: box-shadow 0.30s ease, transform 0.30s ease, border-color 0.30s ease;
    flex: 1;
}

.mkt-row-card:hover {
    box-shadow: 0 10px 36px rgba(15,26,40,0.13);
    transform: translateY(-3px);
    border-color: var(--gold);
}

.mkt-row-photo {
    background-size: cover;
    background-position: center;
    min-height: 150px;
}

.mkt-row-body {
    padding: 24px 24px 20px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.mkt-badge-navy {
    display: inline-flex;
    align-self: flex-start;
    background: rgba(15,26,40,0.06);
    border: 1px solid rgba(15,26,40,0.12);
    color: var(--navy);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 4px 12px;
    border-radius: 100px;
    margin-bottom: 4px;
}

.mkt-row-body h4 {
    font-family: var(--font-serif);
    font-size: 20px;
    font-weight: 700;
    color: var(--navy);
    line-height: 1.2;
    margin: 0;
}

.mkt-row-body p {
    font-size: 14px;
    color: var(--text-muted);
    line-height: 1.55;
    margin: 0;
    flex: 1;
}

.mkt-row-link {
    font-size: 13px;
    font-weight: 600;
    color: var(--gold);
    letter-spacing: 0.3px;
    margin-top: 8px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    transition: gap var(--transition);
}

.mkt-row-card:hover .mkt-row-link {
    gap: 8px;
}

/* --- FAQ Modern Layout --- */
.faq-modern {
    background: var(--white);
    padding: var(--space-xl) 0;
}

.faq-modern-grid {
    display: grid;
    grid-template-columns: 380px 1fr;
    gap: 72px;
    align-items: start;
}

.faq-modern-left h2 { color: var(--navy); margin-bottom: 16px; }

.faq-modern-left p {
    font-size: 19px;
    color: var(--text-medium);
    line-height: 1.65;
}

.faq-modern-right {
    display: flex;
    flex-direction: column;
}

/* Override FAQ item styles for modern look */
.faq-modern-right .faq-item {
    background: transparent;
    border: none;
    border-bottom: 1px solid var(--gray-light);
    border-radius: 0;
    margin-bottom: 0;
}

.faq-modern-right .faq-question {
    padding: 22px 0;
    font-size: 19px;
    color: var(--text-dark);
}

.faq-modern-right .faq-question:hover { background: transparent; color: var(--navy); }
.faq-modern-right .faq-item.open .faq-question { background: transparent; color: var(--gold-dark); }

.faq-modern-right .faq-answer-inner {
    padding: 0 0 20px 0;
}

.faq-modern-right .faq-answer-inner p {
    font-size: 17px;
    color: var(--text-medium);
}

/* --- CTA Photo Section --- */
.cta-photo {
    position: relative;
    background-size: cover;
    background-position: center;
    padding: var(--space-xxl) 0;
    text-align: center;
}

.cta-photo-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        135deg,
        rgba(10, 20, 35, 0.93) 0%,
        rgba(15, 26, 40, 0.88) 100%
    );
}

.cta-photo-body {
    position: relative;
    z-index: 1;
}

.cta-photo-body .section-label { margin-bottom: 10px; }

.cta-photo-body h2 {
    color: var(--white);
    max-width: 1120px;
    margin: 0 auto 24px;
    font-size: clamp(34px, 3.5vw, 46px);
}

.cta-photo-body > p {
    font-size: 22px;
    color: rgba(255,255,255,0.68);
    max-width: 860px;
    margin: 0 auto 40px;
    line-height: 1.7;
}

/* ============================================================
   RESPONSIVE — Modern Homepage
============================================================ */

@media (max-width: 1200px) {
    .intro-split-grid     { gap: 48px; }
    .faq-modern-grid      { grid-template-columns: 300px 1fr; gap: 48px; }
    .process-cards-grid   { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 1024px) {
    .intro-split-grid     { grid-template-columns: 1fr; gap: 48px; }
    .intro-mini-cards     { flex-direction: row; }
    .intro-mini-card      { flex: 1; height: 140px; }
    .stats-dark-grid      { grid-template-columns: repeat(2, 1fr); }
    .stat-dark-item:nth-child(2)::after { display: none; }
    .services-modern-header { grid-template-columns: 1fr; gap: 16px; }
    .audience-grid        { grid-template-columns: 1fr; gap: 14px; }
    .audience-card        { min-height: 320px; }
    .process-cards-grid   { grid-template-columns: repeat(2, 1fr); }
    .markets-light-grid   { grid-template-columns: 1fr; }
    .mkt-featured         { min-height: 420px; }
    .faq-modern-grid      { grid-template-columns: 1fr; gap: 36px; }
    .faq-modern-left .btn { display: none; }
    .markets-light-header { flex-direction: column; align-items: flex-start; }
    .markets-light-header-right { align-items: flex-start; }
    .process-header       { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 767px) {
    .intro-mini-cards     { flex-direction: column; }
    .intro-mini-card      { height: 100px; }
    .intro-mini-title     { font-size: 17px; }
    .stats-dark-grid      { grid-template-columns: 1fr 1fr; }
    .stat-dark-item::after { display: none; }
    .stat-dark-num        { font-size: 40px; }
    .stat-dark-item       { padding: 24px 12px; }
    .service-row          { grid-template-columns: 52px 1fr; padding: 20px 0; }
    .service-row-link     { display: none; }
    .audience-card        { min-height: 280px; }
    .audience-title       { font-size: 20px; }
    .audience-body        { padding: 24px 20px; }
    .immersive-section    { background-attachment: scroll; padding: var(--space-xl) 0; }
    .immersive-body h2    { font-size: 34px; }
    .immersive-stat-num   { font-size: 32px; }
    .immersive-stats      { gap: 20px; flex-direction: column; align-items: flex-start; }
    .immersive-stat-div   { display: none; }
    .process-cards-grid   { grid-template-columns: 1fr; }
    .mkt-row-card         { grid-template-columns: 120px 1fr; }
    .mkt-row-photo        { min-height: 120px; }
    .services-modern-header { grid-template-columns: 1fr; }
    .faq-modern-grid      { grid-template-columns: 1fr; gap: 24px; }
    .cta-photo            { padding: var(--space-xl) 0; }
}


/* ============================================================
   INNER PAGE MODERN — Phase 2
   (For Developers / For Capital Partners / How It Works)
   ============================================================ */

/* --- Dev Split Section --- */
.dev-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.dev-split-photo {
    position: relative;
    overflow: hidden;
    min-height: 520px;
}

.dev-split-photo img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dev-split-content {
    padding: 80px 64px;
    background: var(--white);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.dev-challenge-list {
    display: flex;
    flex-direction: column;
    gap: 28px;
    margin-top: var(--space-md);
}

.dev-challenge-item {
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

.dev-challenge-icon {
    width: 44px;
    height: 44px;
    border-radius: 8px;
    background: var(--cream);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--gold);
}

.dev-challenge-text h4 {
    font-size: 17px;
    font-weight: 600;
    color: var(--navy);
    margin-bottom: 4px;
}

.dev-challenge-text p {
    font-size: 15px;
    color: var(--text-medium);
    margin: 0;
    line-height: 1.6;
}

/* --- Capital Split (full-width navy | white) --- */
.capital-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.capital-split-dark {
    background: var(--navy);
    padding: 72px 64px;
}

.capital-split-dark h2 {
    color: var(--white);
    margin-bottom: var(--space-md);
}

.capital-network-list-modern {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.capital-network-list-modern li {
    color: rgba(255, 255, 255, 0.82);
    font-size: 17px;
    padding-left: 24px;
    position: relative;
    line-height: 1.5;
}

.capital-network-list-modern li::before {
    content: '→';
    position: absolute;
    left: 0;
    color: var(--gold);
    font-size: 14px;
    top: 2px;
}

.capital-split-light {
    background: var(--white);
    padding: 72px 64px;
}

.capital-split-light h2 {
    color: var(--navy);
    margin-bottom: var(--space-md);
}

.capital-stack-list {
    list-style: none;
    padding: 0;
    margin: 0;
    counter-reset: stack;
}

.capital-stack-list li {
    counter-increment: stack;
    display: flex;
    gap: 20px;
    align-items: baseline;
    padding: 18px 0;
    border-bottom: 1px solid var(--border);
    font-size: 16px;
    color: var(--text-dark);
    line-height: 1.5;
}

.capital-stack-list li::before {
    content: counter(stack, decimal-leading-zero);
    font-family: var(--serif);
    font-size: 18px;
    font-weight: 700;
    color: var(--gold);
    opacity: 0.65;
    flex-shrink: 0;
    min-width: 32px;
}

/* --- Sector Rows --- */
.sector-rows {
    display: flex;
    flex-direction: column;
    margin-top: var(--space-lg);
}

.sector-row {
    display: grid;
    grid-template-columns: 72px 1fr auto;
    gap: 24px 32px;
    align-items: start;
    padding: 32px 0;
    border-bottom: 1px solid var(--border);
}

.sector-row:first-child {
    border-top: 1px solid var(--border);
}

.sector-row-num {
    font-family: var(--serif);
    font-size: 36px;
    font-weight: 700;
    color: var(--gold);
    opacity: 0.5;
    line-height: 1.1;
    padding-top: 2px;
}

.sector-row-content h4 {
    font-size: 19px;
    font-weight: 600;
    color: var(--navy);
    margin-bottom: 6px;
}

.sector-row-content p {
    font-size: 15px;
    color: var(--text-medium);
    margin: 0;
    line-height: 1.6;
}

.sector-row-badge {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--gold);
    border: 1px solid rgba(200, 150, 46, 0.4);
    border-radius: 3px;
    padding: 5px 12px;
    white-space: nowrap;
    align-self: flex-start;
    margin-top: 4px;
}

/* --- Service Fee Pill / Link Arrow (How It Works) --- */
.service-fee-pill {
    font-size: 12px;
    font-weight: 600;
    color: var(--gold);
    background: rgba(200, 150, 46, 0.1);
    border: 1px solid rgba(200, 150, 46, 0.25);
    border-radius: 3px;
    padding: 5px 12px;
    white-space: nowrap;
    align-self: flex-start;
}

.service-link-arrow {
    font-size: 14px;
    font-weight: 600;
    color: var(--gold);
    text-decoration: none;
    white-space: nowrap;
}

.service-link-arrow:hover {
    color: var(--navy);
}

/* --- CP Benefits Grid (2-col numbered) --- */
.cp-benefits-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin-top: var(--space-lg);
}

.cp-benefit {
    padding: 48px 56px;
    border-bottom: 1px solid var(--border);
}

.cp-benefit:nth-child(odd) {
    border-right: 1px solid var(--border);
}

.cp-benefit-num {
    font-family: var(--serif);
    font-size: 56px;
    font-weight: 700;
    color: var(--gold);
    opacity: 0.22;
    line-height: 1;
    margin-bottom: 14px;
}

.cp-benefit p {
    font-size: 17px;
    color: var(--text-dark);
    line-height: 1.65;
    margin: 0;
}

.cp-benefit strong {
    color: var(--navy);
}

/* --- Partner Photo Cards (full-width 4-col) --- */
.partner-photo-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.partner-photo-card {
    position: relative;
    height: 480px;
    overflow: hidden;
}

.partner-photo-card-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    transition: transform 0.7s ease;
}

.partner-photo-card:hover .partner-photo-card-bg {
    transform: scale(1.06);
}

.partner-photo-card-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(15, 26, 40, 0.93) 30%, rgba(15, 26, 40, 0.12) 100%);
}

.partner-photo-card-body {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 32px 28px;
}

.partner-photo-card-body h4 {
    font-size: 18px;
    font-weight: 700;
    color: var(--white);
    margin-bottom: 12px;
}

.partner-photo-card-body ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.partner-photo-card-body li {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.72);
    padding: 4px 0 4px 16px;
    position: relative;
}

.partner-photo-card-body li::before {
    content: '—';
    color: var(--gold);
    position: absolute;
    left: 0;
}

/* --- Modern Timeline Grid (Navy 2-col) --- */
.vtimeline-modern {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin-top: var(--space-lg);
}

.vtl-mod-item {
    padding: 48px 56px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.vtl-mod-item:nth-child(odd) {
    border-right: 1px solid rgba(255, 255, 255, 0.07);
}

.vtl-mod-num {
    font-family: var(--serif);
    font-size: 60px;
    font-weight: 700;
    color: var(--gold);
    opacity: 0.2;
    line-height: 1;
    margin-bottom: 16px;
}

.vtl-mod-title {
    font-size: 21px;
    font-weight: 600;
    color: var(--white);
    margin-bottom: 10px;
}

.vtl-mod-desc {
    font-size: 15px;
    color: rgba(255, 255, 255, 0.65);
    line-height: 1.7;
    margin: 0;
}

/* --- Three-Party Visual (How It Works) --- */
.tpv-wrap {
    margin-top: var(--space-lg);
}

.tpv-top {
    background: var(--cream);
    border: 1px solid var(--border);
    padding: 36px 48px;
    text-align: center;
    max-width: 560px;
    margin: 0 auto;
    position: relative;
}

.tpv-top::after {
    content: '';
    position: absolute;
    bottom: -32px;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 32px;
    background: var(--border);
}

.tpv-top h4 {
    font-size: 20px;
    font-weight: 700;
    color: var(--navy);
    margin-bottom: 8px;
}

.tpv-top p {
    font-size: 15px;
    color: var(--text-medium);
    margin: 0;
}

.tpv-middle {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    margin-top: 32px;
    border: 1px solid var(--border);
    overflow: hidden;
}

.tpv-node {
    padding: 40px 36px;
    text-align: center;
}

.tpv-node h4 {
    font-size: 18px;
    font-weight: 700;
    color: var(--navy);
    margin-bottom: 8px;
}

.tpv-node p {
    font-size: 14px;
    color: var(--text-medium);
    margin: 0;
    line-height: 1.6;
}

.tpv-center-node {
    background: var(--navy);
    padding: 40px 48px;
    text-align: center;
    min-width: 220px;
    border-left: 1px solid var(--border);
    border-right: 1px solid var(--border);
}

.tpv-center-tag {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--gold);
    margin-bottom: 10px;
}

.tpv-center-node h3 {
    font-size: 22px;
    font-weight: 700;
    color: var(--white);
    margin-bottom: 4px;
}

.tpv-center-node > span {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.5);
}

/* ============================================================
   RESPONSIVE — Inner Page Phase 2
   ============================================================ */

@media (max-width: 1199px) {
    .dev-split-content       { padding: 60px 48px; }
    .capital-split-dark,
    .capital-split-light     { padding: 56px 48px; }
    .vtl-mod-item            { padding: 40px 44px; }
    .cp-benefit              { padding: 40px 44px; }
}

@media (max-width: 1023px) {
    .dev-split               { grid-template-columns: 1fr; }
    .dev-split-photo         { min-height: 320px; }
    .dev-split-content       { padding: 48px 32px; }
    .capital-split           { grid-template-columns: 1fr; }
    .capital-split-dark,
    .capital-split-light     { padding: 48px 32px; }
    .partner-photo-grid      { grid-template-columns: repeat(2, 1fr); }
    .vtimeline-modern        { grid-template-columns: 1fr; }
    .vtl-mod-item:nth-child(odd) { border-right: none; }
    .tpv-middle              { grid-template-columns: 1fr; }
    .tpv-center-node         { border-left: none; border-right: none; border-top: 1px solid rgba(255,255,255,0.1); }
    .tpv-node:last-child     { border-top: 1px solid var(--border); }
    .tpv-top::after          { display: none; }
    .tpv-wrap                { margin-top: var(--space-md); }
}

@media (max-width: 767px) {
    .cp-benefits-grid        { grid-template-columns: 1fr; }
    .cp-benefit:nth-child(odd) { border-right: none; }
    .cp-benefit              { padding: 32px 24px; }
    .partner-photo-grid      { grid-template-columns: 1fr; }
    .partner-photo-card      { height: 380px; }
    .sector-row              { grid-template-columns: 56px 1fr; }
    .sector-row-badge        { display: none; }
    .vtl-mod-item            { padding: 32px 24px; }
    .vtl-mod-num             { font-size: 44px; }
    .tpv-top                 { padding: 28px 24px; }
    .tpv-node                { padding: 28px 24px; }
    .tpv-center-node         { padding: 28px 24px; min-width: 0; }
    .dev-challenge-list      { gap: 20px; }
}


/* ============================================================
   FOR LANDOWNERS PAGE — New Components
   ============================================================ */

/* --- Quote Grid (2×2, cream bg section) --- */
.quote-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    margin-top: var(--space-md);
}

.quote-block {
    background: var(--white);
    border-radius: 12px;
    padding: 40px 40px 36px;
    position: relative;
    box-shadow: 0 2px 16px rgba(0,0,0,0.05);
    border: 1px solid var(--gray-light);
}

.quote-block-mark {
    display: block;
    font-family: var(--font-serif);
    font-size: 96px;
    line-height: 0.7;
    color: var(--gold);
    opacity: 0.22;
    margin-bottom: 20px;
    user-select: none;
}

.quote-block p {
    font-size: 19px;
    color: var(--text-dark);
    line-height: 1.7;
    font-style: italic;
    margin: 0;
}


/* --- Criteria Modern Grid (navy bg, 3-col) --- */
.criteria-modern-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2px;
    margin-top: var(--space-md);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 10px;
    overflow: hidden;
}

.criteria-modern-item {
    padding: 36px 40px;
    background: rgba(255,255,255,0.04);
    border-right: 1px solid rgba(255,255,255,0.08);
    border-bottom: 1px solid rgba(255,255,255,0.08);
    transition: background var(--transition);
}

.criteria-modern-item:hover {
    background: rgba(255,255,255,0.07);
}

.criteria-modern-item:nth-child(3n) {
    border-right: none;
}

.criteria-modern-item:nth-child(4),
.criteria-modern-item:nth-child(5),
.criteria-modern-item:nth-child(6) {
    border-bottom: none;
}

.criteria-modern-label {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 10px;
}

.criteria-modern-value {
    font-size: 20px;
    font-weight: 600;
    color: var(--white);
    line-height: 1.4;
    font-family: var(--font-sans);
}


/* --- Form Split Layout (left navy info + right white form) --- */
.form-split-wrap {
    display: grid;
    grid-template-columns: 420px 1fr;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 8px 48px rgba(0,0,0,0.10);
    border: 1px solid var(--gray-light);
}

.form-split-info {
    background: var(--navy);
    padding: 56px 48px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.form-split-info .section-label {
    color: var(--gold);
}

.form-split-info h2 {
    color: var(--white);
    font-size: clamp(26px, 2.5vw, 36px);
    margin-bottom: 0;
}

.form-split-bullets {
    list-style: none;
    margin: 32px 0 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.form-split-bullets li {
    font-size: 17px;
    color: rgba(255,255,255,0.78);
    padding-left: 28px;
    position: relative;
    line-height: 1.5;
}

.form-split-bullets li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 9px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--gold);
    opacity: 0.85;
}

.form-split-contact-detail {
    margin-top: auto;
    padding-top: 40px;
    border-top: 1px solid rgba(255,255,255,0.10);
    margin-top: 48px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.form-split-contact-detail span {
    font-size: 14px;
    color: rgba(255,255,255,0.45);
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-weight: 600;
}

.form-split-contact-detail a {
    font-size: 17px;
    color: var(--gold);
    font-weight: 600;
    text-decoration: none;
    transition: color var(--transition);
}

.form-split-contact-detail a:hover {
    color: #e0ab40;
    text-decoration: underline;
}

.form-split-form {
    background: var(--white);
    padding: 56px 48px;
}


/* --- Responsive: For Landowners page --- */
@media (max-width: 1023px) {
    .form-split-wrap            { grid-template-columns: 1fr; }
    .form-split-info            { padding: 48px 40px; }
    .form-split-form            { padding: 48px 40px; }
    .form-split-contact-detail  { margin-top: 40px; }
    .criteria-modern-grid       { grid-template-columns: repeat(2, 1fr); }
    .criteria-modern-item:nth-child(3n)  { border-right: 1px solid rgba(255,255,255,0.08); }
    .criteria-modern-item:nth-child(2n)  { border-right: none; }
    .criteria-modern-item:nth-child(4),
    .criteria-modern-item:nth-child(5),
    .criteria-modern-item:nth-child(6)   { border-bottom: 1px solid rgba(255,255,255,0.08); }
    .criteria-modern-item:nth-child(5),
    .criteria-modern-item:nth-child(6)   { border-bottom: none; }
}

@media (max-width: 767px) {
    .quote-grid                 { grid-template-columns: 1fr; }
    .quote-block                { padding: 28px 24px; }
    .quote-block-mark           { font-size: 64px; margin-bottom: 14px; }
    .quote-block p              { font-size: 17px; }
    .criteria-modern-grid       { grid-template-columns: 1fr; border-radius: 8px; }
    .criteria-modern-item       { padding: 24px 28px; border-right: none !important; }
    .criteria-modern-item:last-child { border-bottom: none; }
    .criteria-modern-item:nth-child(4),
    .criteria-modern-item:nth-child(5) { border-bottom: 1px solid rgba(255,255,255,0.08) !important; }
    .form-split-info            { padding: 40px 24px; }
    .form-split-form            { padding: 40px 24px; }
}


/* ============================================================
   INNER PAGE MODERN — Phase 4
   (Financing / About / Markets / Contact)
   ============================================================ */

/* --- Sector Sub Tags (Markets) --- */
.sector-sub-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 10px;
}

.sector-sub-tags span {
    font-size: 13px;
    color: var(--text-medium);
    background: rgba(0, 0, 0, 0.04);
    border: 1px solid var(--border);
    padding: 3px 10px;
    border-radius: 2px;
}

/* --- Deal Size Tiers (Financing) --- */
.deal-tiers-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border: 1px solid var(--border);
    margin-top: var(--space-lg);
}

.deal-tier-card {
    padding: 40px 32px;
    border-right: 1px solid var(--border);
}

.deal-tier-card:last-child {
    border-right: none;
}

.deal-tier-cat {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--gold);
    margin-bottom: 12px;
}

.deal-tier-size {
    font-family: var(--serif);
    font-size: 26px;
    font-weight: 700;
    color: var(--navy);
    margin-bottom: 16px;
    line-height: 1.2;
}

.deal-tier-card p {
    font-size: 15px;
    color: var(--text-medium);
    margin: 0;
    line-height: 1.65;
}

.deal-tier-wide {
    border-top: 1px solid var(--border);
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0 48px;
    align-items: center;
    padding: 36px 40px;
}

.deal-tier-wide p {
    font-size: 15px;
    color: var(--text-medium);
    margin: 0;
    line-height: 1.65;
}

/* --- Operating Business Sectors (Financing) --- */
.biz-sectors {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border: 1px solid var(--border);
    margin-top: var(--space-lg);
}

.biz-sector-item {
    padding: 32px 28px;
    border-right: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    display: flex;
    align-items: center;
    gap: 16px;
}

.biz-sector-item:nth-child(3n) {
    border-right: none;
}

.biz-sector-item:nth-child(n+4) {
    border-bottom: none;
}

.biz-sector-icon {
    width: 44px;
    height: 44px;
    border-radius: 6px;
    background: var(--cream);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--gold);
}

.biz-sector-label {
    font-size: 16px;
    font-weight: 600;
    color: var(--navy);
}

/* --- Modern Leadership Card (About) --- */
.leader-modern {
    display: grid;
    grid-template-columns: 300px 1fr;
    border: 1px solid var(--border);
    overflow: hidden;
    margin-top: var(--space-lg);
}

.leader-modern-id {
    background: var(--navy);
    padding: 48px 40px;
    display: flex;
    flex-direction: column;
}

.leader-modern-photo {
    width: 100%;
    aspect-ratio: 3 / 4;
    object-fit: cover;
    object-position: top;
    margin-bottom: 28px;
    border-radius: 2px;
}

.leader-modern-tag {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--gold);
    margin-bottom: 10px;
    margin-top: auto;
}

.leader-modern-id h3 {
    font-size: 26px;
    font-weight: 700;
    color: var(--white);
    margin-bottom: 6px;
}

.leader-modern-role {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.55);
    margin: 0;
    line-height: 1.5;
}

.leader-modern-bio {
    background: var(--white);
    padding: 56px 64px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.leader-modern-bio p {
    font-size: 18px;
    color: var(--text-dark);
    line-height: 1.78;
    margin-bottom: 20px;
}

/* --- Partner Photo Card Link (Contact) --- */
.partner-photo-card-link {
    display: inline-block;
    margin-top: 14px;
    font-size: 13px;
    font-weight: 600;
    color: var(--gold);
    text-decoration: none;
    letter-spacing: 0.02em;
}

.partner-photo-card-link:hover {
    color: var(--white);
}

/* --- Modern Contact Methods (Contact) --- */
.contact-methods-modern {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border: 1px solid var(--border);
    margin-top: var(--space-lg);
}

.contact-method-modern {
    padding: 40px 36px;
    border-right: 1px solid var(--border);
}

.contact-method-modern:last-child {
    border-right: none;
}

.contact-method-icon-wrap {
    width: 48px;
    height: 48px;
    border-radius: 8px;
    background: var(--cream);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--gold);
    margin-bottom: 20px;
}

.contact-method-label {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--gold);
    margin-bottom: 8px;
}

.contact-method-value {
    font-size: 19px;
    font-weight: 600;
    color: var(--navy);
    line-height: 1.4;
}

.contact-method-value a {
    color: var(--navy);
    text-decoration: none;
}

.contact-method-value a:hover {
    color: var(--gold);
}

.contact-method-sub {
    font-size: 14px;
    color: var(--text-muted);
    font-weight: 400;
    margin-top: 4px;
}

/* ============================================================
   RESPONSIVE — Inner Page Phase 4
   ============================================================ */

@media (max-width: 1199px) {
    .leader-modern-bio       { padding: 48px 48px; }
    .deal-tier-wide          { gap: 0 32px; padding: 32px 32px; }
}

@media (max-width: 1023px) {
    .deal-tiers-grid         { grid-template-columns: repeat(2, 1fr); }
    .deal-tier-card:nth-child(2) { border-right: none; }
    .deal-tier-card:nth-child(3) { border-top: 1px solid var(--border); }
    .deal-tier-card:nth-child(4) { border-top: 1px solid var(--border); border-right: none; }
    .deal-tier-wide          { grid-template-columns: 1fr; gap: 8px; }
    .biz-sectors             { grid-template-columns: repeat(2, 1fr); }
    .biz-sector-item:nth-child(3n)  { border-right: 1px solid var(--border); }
    .biz-sector-item:nth-child(2n)  { border-right: none; }
    .biz-sector-item:nth-child(5)   { border-bottom: 1px solid var(--border); }
    .biz-sector-item:nth-child(6)   { border-bottom: none; }
    .leader-modern           { grid-template-columns: 1fr; }
    .leader-modern-id        { padding: 40px 32px; }
    .leader-modern-bio       { padding: 40px 32px; }
    .leader-modern-tag       { margin-top: 0; }
    .contact-methods-modern  { grid-template-columns: 1fr; }
    .contact-method-modern   { border-right: none; border-bottom: 1px solid var(--border); }
    .contact-method-modern:last-child { border-bottom: none; }
}

@media (max-width: 767px) {
    .deal-tiers-grid         { grid-template-columns: 1fr; }
    .deal-tier-card          { border-right: none; border-bottom: 1px solid var(--border); }
    .deal-tier-wide          { padding: 28px 24px; }
    .biz-sectors             { grid-template-columns: 1fr; }
    .biz-sector-item         { border-right: none; }
    .biz-sector-item:nth-child(5) { border-bottom: 1px solid var(--border); }
    .leader-modern-photo     { aspect-ratio: 4 / 3; }
    .leader-modern-bio p     { font-size: 16px; }
    .leader-modern-bio       { padding: 32px 24px; }
    .contact-method-modern   { padding: 28px 24px; }
}


/* ============================================================
   HOW IT WORKS — Redesigned Components (Phase 5)
   ============================================================ */

/* === Ecosystem Section === */
.hiw-eco-section { background: var(--white); }

.hiw-eco-intro {
    font-size: 20px;
    color: var(--text-medium);
    max-width: 640px;
    margin: 16px 0 0;
    line-height: 1.65;
}

.hiw-eco-layout {
    display: grid;
    grid-template-columns: 340px 1fr;
    gap: 32px;
    margin-top: var(--space-lg);
    align-items: start;
}

/* ACG Hub Card */
.hiw-eco-hub {
    background: var(--navy);
    border-radius: 16px;
    padding: 48px 40px;
    position: sticky;
    top: 100px;
}

.hiw-eco-hub-badge {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 16px;
}

.hiw-eco-hub-name {
    font-family: var(--font-serif);
    font-size: 26px;
    font-weight: 700;
    color: var(--white);
    margin-bottom: 6px;
    line-height: 1.2;
}

.hiw-eco-hub-location {
    font-size: 14px;
    color: rgba(255,255,255,0.45);
    margin: 0;
}

.hiw-eco-hub-rule {
    height: 1px;
    background: rgba(255,255,255,0.1);
    margin: 28px 0;
}

.hiw-eco-hub-metrics {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-bottom: 28px;
}

.hiw-eco-hub-metric { display: flex; flex-direction: column; gap: 4px; }

.hiw-eco-hub-metric-num {
    font-family: var(--font-serif);
    font-size: 22px;
    font-weight: 700;
    color: var(--gold);
    line-height: 1;
}

.hiw-eco-hub-metric-label {
    font-size: 12px;
    color: rgba(255,255,255,0.45);
    line-height: 1.3;
}

.hiw-eco-hub-note {
    font-size: 14px;
    color: rgba(255,255,255,0.55);
    line-height: 1.6;
    border-top: 1px solid rgba(255,255,255,0.1);
    padding-top: 20px;
}

/* Party Cards Column */
.hiw-eco-parties { display: flex; flex-direction: column; gap: 16px; }

.hiw-eco-party {
    display: block;
    background: var(--white);
    border: 1px solid rgba(15,26,40,0.09);
    border-radius: 12px;
    padding: 28px 32px 24px;
    text-decoration: none;
    transition: box-shadow 250ms ease, transform 250ms ease, border-color 250ms ease;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}
.hiw-eco-party:hover {
    box-shadow: 0 10px 44px rgba(0,0,0,0.10);
    transform: translateX(8px);
    border-color: var(--gold);
}

.hiw-eco-party-top {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 14px;
}

.hiw-eco-party-num {
    font-size: 13px;
    font-weight: 700;
    color: var(--gold);
    background: rgba(200,150,46,0.12);
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.hiw-eco-party-tag {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--text-muted);
}

.hiw-eco-party h4 {
    font-size: 20px;
    color: var(--navy);
    margin-bottom: 10px;
    line-height: 1.3;
}

.hiw-eco-party p {
    font-size: 16px;
    color: var(--text-medium);
    margin-bottom: 16px;
    line-height: 1.6;
}

.hiw-eco-party-arrow {
    font-size: 15px;
    font-weight: 600;
    color: var(--gold);
}


/* === Service Lines Section === */
.hiw-svc-section { background: var(--cream); }

.hiw-svc-intro {
    font-size: 20px;
    color: var(--text-medium);
    max-width: 640px;
    margin: 16px 0 0;
    line-height: 1.65;
}

.hiw-svc-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: var(--space-lg);
}

.hiw-svc-card {
    background: var(--white);
    border: 1px solid rgba(15,26,40,0.07);
    border-radius: 12px;
    padding: 36px 32px 32px;
    position: relative;
    overflow: hidden;
    transition: box-shadow 250ms ease, transform 250ms ease, border-color 250ms ease;
}
.hiw-svc-card:hover {
    box-shadow: 0 12px 48px rgba(0,0,0,0.10);
    transform: translateY(-5px);
    border-color: var(--gold);
}

.hiw-svc-num {
    position: absolute;
    top: 18px;
    right: 22px;
    font-family: var(--font-serif);
    font-size: 84px;
    font-weight: 700;
    color: var(--gold);
    opacity: 0.07;
    line-height: 1;
    pointer-events: none;
    user-select: none;
}

.hiw-svc-card h4 {
    font-size: 20px;
    color: var(--navy);
    margin-bottom: 14px;
    position: relative;
    z-index: 1;
    line-height: 1.3;
}

.hiw-svc-card p {
    font-size: 16px;
    color: var(--text-medium);
    line-height: 1.7;
    margin-bottom: 20px;
    position: relative;
    z-index: 1;
}

.hiw-svc-fee {
    display: inline-block;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.5px;
    padding: 6px 14px;
    background: rgba(200,150,46,0.1);
    color: #8a600e;
    border-radius: 4px;
    position: relative;
    z-index: 1;
}

.hiw-svc-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 15px;
    font-weight: 600;
    color: var(--gold);
    transition: gap 200ms ease;
    position: relative;
    z-index: 1;
}
.hiw-svc-link:hover { gap: 10px; }


/* === Deal Flow Section === */
.hiw-flow-section {
    background: var(--navy);
    padding: var(--space-xl) 0;
}

.hiw-flow-intro {
    font-size: 18px;
    color: rgba(255,255,255,0.55);
    margin: 12px 0 0;
    line-height: 1.6;
}

.hiw-flow-track {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 0;
    margin-top: var(--space-xl);
    position: relative;
}

.hiw-flow-track::before {
    content: '';
    position: absolute;
    top: 29px;
    left: calc(100% / 12);
    right: calc(100% / 12);
    height: 2px;
    background: repeating-linear-gradient(
        to right,
        rgba(200,150,46,0.5) 0,
        rgba(200,150,46,0.5) 8px,
        transparent 8px,
        transparent 20px
    );
    z-index: 0;
}

.hiw-flow-step {
    padding: 0 14px;
    text-align: center;
}

.hiw-flow-circle {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    border: 2px solid var(--gold);
    background: var(--navy);
    color: var(--gold);
    font-family: var(--font-serif);
    font-size: 18px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 24px;
    position: relative;
    z-index: 1;
    transition: background 250ms ease, color 250ms ease;
}
.hiw-flow-step:hover .hiw-flow-circle {
    background: var(--gold);
    color: var(--navy);
}

.hiw-flow-step h4 {
    font-size: 16px;
    font-weight: 700;
    color: var(--white);
    margin-bottom: 10px;
    font-family: var(--font-sans);
    line-height: 1.3;
}

.hiw-flow-step p {
    font-size: 14px;
    color: rgba(255,255,255,0.52);
    line-height: 1.65;
}


/* === Responsive — How It Works Redesign === */
@media (max-width: 1199px) {
    .hiw-eco-layout          { grid-template-columns: 300px 1fr; gap: 24px; }
    .hiw-eco-hub             { padding: 40px 32px; }
    .hiw-svc-grid            { gap: 20px; }
    .hiw-flow-step           { padding: 0 10px; }
}

@media (max-width: 1023px) {
    .hiw-eco-layout          { grid-template-columns: 1fr; }
    .hiw-eco-hub             { position: static; }
    .hiw-svc-grid            { grid-template-columns: repeat(2, 1fr); }
    .hiw-flow-track          { grid-template-columns: repeat(3, 1fr); gap: 40px 0; }
    .hiw-flow-track::before  { display: none; }
    .hiw-flow-step           { padding: 0 20px 32px; border-bottom: 1px solid rgba(255,255,255,0.06); }
    .hiw-flow-step:nth-child(4),
    .hiw-flow-step:nth-child(5),
    .hiw-flow-step:nth-child(6) { border-bottom: none; }
}

@media (max-width: 767px) {
    .hiw-eco-hub-metrics     { gap: 10px; }
    .hiw-eco-hub-metric-num  { font-size: 18px; }
    .hiw-eco-party           { padding: 22px 20px 18px; }
    .hiw-eco-party:hover     { transform: translateX(4px); }
    .hiw-svc-grid            { grid-template-columns: 1fr; gap: 16px; }
    .hiw-svc-card            { padding: 28px 24px; }
    .hiw-svc-num             { font-size: 64px; }
    .hiw-flow-track          { grid-template-columns: 1fr; gap: 0; }
    .hiw-flow-track::before  { display: none; }
    .hiw-flow-step {
        display: flex;
        align-items: flex-start;
        gap: 20px;
        text-align: left;
        padding: 20px 0;
        border-bottom: 1px solid rgba(255,255,255,0.07);
    }
    .hiw-flow-step:last-child { border-bottom: none; }
    .hiw-flow-circle         { flex-shrink: 0; margin: 0; width: 52px; height: 52px; font-size: 16px; }
    .hiw-flow-step h4        { font-size: 15px; }
}


/* ============================================================
   FINANCING — Redesigned Components (Phase 6)
   ============================================================ */

/* Shared intro text */
.fin-section-intro {
    font-size: 20px;
    color: var(--text-medium);
    max-width: 680px;
    margin: 16px 0 0;
    line-height: 1.65;
}

/* === Deal Size Tiers === */
.fin-tiers-section { background: var(--white); }

.fin-tiers-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    margin-top: var(--space-lg);
}

.fin-tier-card {
    background: var(--white);
    border: 1px solid rgba(15,26,40,0.09);
    border-radius: 12px;
    padding: 36px 32px;
    transition: box-shadow 250ms ease, transform 250ms ease, border-color 250ms ease;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}
.fin-tier-card:hover {
    box-shadow: 0 12px 44px rgba(0,0,0,0.10);
    transform: translateY(-5px);
    border-color: var(--gold);
}

.fin-tier-cat {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: var(--text-muted);
    margin-bottom: 12px;
}

.fin-tier-size {
    font-family: var(--font-serif);
    font-size: clamp(26px, 2.8vw, 38px);
    font-weight: 700;
    color: var(--gold);
    margin-bottom: 16px;
    line-height: 1.1;
}

.fin-tier-card p {
    font-size: 16px;
    color: var(--text-medium);
    line-height: 1.65;
    margin: 0;
}

/* Land Banking — full-width navy card */
.fin-tier-land {
    margin-top: 24px;
    background: var(--navy);
    border-radius: 12px;
    padding: 40px 48px;
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 48px;
    align-items: center;
}

.fin-tier-land-left { display: flex; flex-direction: column; gap: 8px; }

.fin-tier-land-size {
    font-size: clamp(28px, 3vw, 40px);
    color: var(--white);
    margin-bottom: 0;
}

.fin-tier-land p {
    font-size: 17px;
    color: rgba(255,255,255,0.68);
    line-height: 1.75;
    margin: 0;
}


/* === Capital Stack === */
.fin-stack-section { background: var(--cream); }

.fin-stack-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: var(--space-lg);
}

.fin-stack-card {
    background: var(--white);
    border: 1px solid rgba(15,26,40,0.07);
    border-radius: 12px;
    padding: 36px 32px 32px;
    position: relative;
    overflow: hidden;
    transition: box-shadow 250ms ease, transform 250ms ease, border-color 250ms ease;
}
.fin-stack-card:hover {
    box-shadow: 0 12px 48px rgba(0,0,0,0.10);
    transform: translateY(-5px);
    border-color: var(--gold);
}

.fin-stack-num {
    position: absolute;
    top: 18px;
    right: 22px;
    font-family: var(--font-serif);
    font-size: 84px;
    font-weight: 700;
    color: var(--gold);
    opacity: 0.07;
    line-height: 1;
    pointer-events: none;
    user-select: none;
}

.fin-stack-badge {
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    padding: 5px 12px;
    background: rgba(200,150,46,0.1);
    color: #8a600e;
    border-radius: 4px;
    margin-bottom: 18px;
    position: relative;
    z-index: 1;
}

.fin-stack-card h4 {
    font-size: 19px;
    color: var(--navy);
    margin-bottom: 12px;
    line-height: 1.3;
    position: relative;
    z-index: 1;
}

.fin-stack-card p {
    font-size: 16px;
    color: var(--text-medium);
    line-height: 1.7;
    margin: 0;
    position: relative;
    z-index: 1;
}


/* === Operating Businesses === */
.fin-opbiz-section { background: var(--navy); }

.fin-opbiz-intro {
    font-size: 18px;
    color: rgba(255,255,255,0.58);
    max-width: 680px;
    margin: 16px 0 0;
    line-height: 1.65;
}

.fin-opbiz-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2px;
    margin-top: var(--space-lg);
    border: 1px solid rgba(255,255,255,0.07);
    border-radius: 12px;
    overflow: hidden;
}

.fin-opbiz-card {
    padding: 40px 36px;
    background: rgba(255,255,255,0.03);
    border-right: 1px solid rgba(255,255,255,0.07);
    border-bottom: 1px solid rgba(255,255,255,0.07);
    transition: background 250ms ease;
}
.fin-opbiz-card:hover { background: rgba(255,255,255,0.07); }
.fin-opbiz-card:nth-child(3n) { border-right: none; }
.fin-opbiz-card:nth-child(4),
.fin-opbiz-card:nth-child(5),
.fin-opbiz-card:nth-child(6) { border-bottom: none; }

.fin-opbiz-icon {
    width: 52px;
    height: 52px;
    border-radius: 10px;
    background: rgba(200,150,46,0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--gold);
    margin-bottom: 20px;
}

.fin-opbiz-label {
    font-size: 18px;
    font-weight: 700;
    color: var(--white);
    margin-bottom: 8px;
    font-family: var(--font-sans);
}

.fin-opbiz-desc {
    font-size: 15px;
    color: rgba(255,255,255,0.5);
    line-height: 1.6;
    margin: 0;
}


/* === Responsive — Financing === */
@media (max-width: 1199px) {
    .fin-tiers-grid      { gap: 20px; }
    .fin-stack-grid      { gap: 20px; }
    .fin-tier-land       { padding: 36px 40px; gap: 36px; }
}

@media (max-width: 1023px) {
    .fin-tiers-grid      { grid-template-columns: repeat(2, 1fr); }
    .fin-stack-grid      { grid-template-columns: repeat(2, 1fr); }
    .fin-opbiz-grid      { grid-template-columns: repeat(2, 1fr); }
    .fin-opbiz-card:nth-child(3n)  { border-right: 1px solid rgba(255,255,255,0.07); }
    .fin-opbiz-card:nth-child(2n)  { border-right: none; }
    .fin-opbiz-card:nth-child(4)   { border-bottom: 1px solid rgba(255,255,255,0.07); }
    .fin-opbiz-card:nth-child(5),
    .fin-opbiz-card:nth-child(6)   { border-bottom: none; }
    .fin-tier-land       { grid-template-columns: 1fr; gap: 20px; padding: 36px 32px; }
}

@media (max-width: 767px) {
    .fin-tiers-grid      { grid-template-columns: 1fr; gap: 16px; }
    .fin-stack-grid      { grid-template-columns: 1fr; gap: 16px; }
    .fin-stack-card      { padding: 28px 24px; }
    .fin-opbiz-grid      { grid-template-columns: 1fr; }
    .fin-opbiz-card      { border-right: none !important; }
    .fin-opbiz-card:nth-child(4),
    .fin-opbiz-card:nth-child(5) { border-bottom: 1px solid rgba(255,255,255,0.07) !important; }
    .fin-tier-land       { padding: 28px 24px; }
    .fin-tier-card       { padding: 28px 24px; }
    .fin-opbiz-card      { padding: 28px 24px; }
}


/* ============================================================
   FOR DEVELOPERS — Redesigned Components (Phase 7)
   ============================================================ */

/* === Capital Access === */
.dev-cap-section { background: var(--white); }

.dev-cap-intro {
    font-size: 20px;
    color: var(--text-medium);
    max-width: 640px;
    margin: 16px 0 0;
    line-height: 1.65;
}

.dev-cap-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-radius: 16px;
    overflow: hidden;
    margin-top: var(--space-lg);
    border: 1px solid rgba(15,26,40,0.08);
}

.dev-cap-sources {
    background: var(--navy);
    padding: 56px 48px;
}

.dev-cap-stack {
    background: var(--cream);
    padding: 56px 48px;
}

.dev-cap-panel-tag {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 28px;
}

.dev-cap-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.dev-cap-list li {
    font-size: 17px;
    color: rgba(255,255,255,0.80);
    padding-left: 24px;
    position: relative;
    line-height: 1.55;
}
.dev-cap-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 9px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--gold);
    opacity: 0.75;
}

.dev-stack-ol {
    list-style: none;
    display: flex;
    flex-direction: column;
    counter-reset: stack-counter;
}

.dev-stack-ol li {
    counter-increment: stack-counter;
    font-size: 17px;
    color: var(--text-dark);
    padding: 16px 0 16px 48px;
    border-bottom: 1px solid rgba(15,26,40,0.07);
    position: relative;
    line-height: 1.5;
}
.dev-stack-ol li:last-child { border-bottom: none; }
.dev-stack-ol li::before {
    content: counter(stack-counter, decimal-leading-zero);
    position: absolute;
    left: 0;
    top: 14px;
    font-family: var(--font-serif);
    font-size: 18px;
    font-weight: 700;
    color: var(--gold);
    opacity: 0.55;
    line-height: 1;
}


/* === Sectors Grid === */
.dev-sectors-section { background: var(--cream); }

.dev-sectors-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-top: var(--space-lg);
}

.dev-sector-card {
    background: var(--white);
    border: 1px solid rgba(15,26,40,0.07);
    border-radius: 12px;
    padding: 32px 28px 28px;
    position: relative;
    overflow: hidden;
    transition: box-shadow 250ms ease, transform 250ms ease, border-color 250ms ease;
}
.dev-sector-card:hover {
    box-shadow: 0 10px 40px rgba(0,0,0,0.09);
    transform: translateY(-4px);
    border-color: var(--gold);
}

.dev-sector-num {
    position: absolute;
    top: 16px;
    right: 20px;
    font-family: var(--font-serif);
    font-size: 72px;
    font-weight: 700;
    color: var(--gold);
    opacity: 0.07;
    line-height: 1;
    pointer-events: none;
    user-select: none;
}

.dev-sector-badge {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    padding: 4px 10px;
    background: rgba(200,150,46,0.1);
    color: #8a600e;
    border-radius: 3px;
    margin-bottom: 14px;
}

.dev-sector-spacer { height: 26px; margin-bottom: 14px; }

.dev-sector-card h4 {
    font-size: 19px;
    color: var(--navy);
    margin-bottom: 10px;
    position: relative;
    z-index: 1;
    line-height: 1.3;
}

.dev-sector-card p {
    font-size: 15px;
    color: var(--text-medium);
    line-height: 1.65;
    margin: 0;
    position: relative;
    z-index: 1;
}


/* === Responsive — For Developers === */
@media (max-width: 1023px) {
    .dev-cap-grid        { grid-template-columns: 1fr; }
    .dev-cap-sources     { padding: 48px 40px; }
    .dev-cap-stack       { padding: 48px 40px; }
    .dev-sectors-grid    { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 767px) {
    .dev-cap-sources     { padding: 36px 24px; }
    .dev-cap-stack       { padding: 36px 24px; }
    .dev-sectors-grid    { grid-template-columns: 1fr; }
    .dev-sector-card     { padding: 28px 22px 24px; }
}


/* =====================================================
   MHC Developer Advantage — Redesigned
===================================================== */
.mhc-adv-section {
    position: relative;
    padding: var(--space-xxl) 0;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

.mhc-adv-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        130deg,
        rgba(10, 20, 35, 0.93) 0%,
        rgba(15, 30, 50, 0.82) 100%
    );
}

.mhc-adv-inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr 420px;
    gap: 80px;
    align-items: center;
}

.mhc-adv-content .section-label {
    letter-spacing: 0.04em;
    white-space: nowrap;
}

.mhc-adv-content h2 {
    color: var(--white);
    font-size: clamp(32px, 3.6vw, 52px);
    line-height: 1.15;
    margin: 18px 0 28px;
}

.mhc-adv-body {
    font-size: 17px;
    color: rgba(255, 255, 255, 0.72);
    line-height: 1.8;
    margin: 0;
}

.mhc-adv-stats {
    display: flex;
    flex-direction: column;
    border: 1px solid rgba(200, 150, 46, 0.28);
    border-radius: 6px;
    overflow: hidden;
    background: rgba(15, 26, 40, 0.55);
    backdrop-filter: blur(6px);
}

.mhc-adv-stat {
    padding: 32px 36px;
    border-bottom: 1px solid rgba(200, 150, 46, 0.14);
    transition: background 0.25s;
}

.mhc-adv-stat:last-child {
    border-bottom: none;
}

.mhc-adv-stat:hover {
    background: rgba(200, 150, 46, 0.06);
}

.mhc-adv-num {
    font-family: var(--font-serif);
    font-size: clamp(36px, 4vw, 52px);
    font-weight: 700;
    color: var(--gold);
    line-height: 1.1;
    margin-bottom: 10px;
}

.mhc-adv-label {
    font-family: var(--font-sans);
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.09em;
    color: rgba(255, 255, 255, 0.5);
}

@media (max-width: 1023px) {
    .mhc-adv-inner        { grid-template-columns: 1fr; gap: 52px; }
    .mhc-adv-stats        { flex-direction: row; }
    .mhc-adv-stat         { flex: 1; border-bottom: none; border-right: 1px solid rgba(200,150,46,0.14); }
    .mhc-adv-stat:last-child { border-right: none; }
}

@media (max-width: 767px) {
    .mhc-adv-section      { background-attachment: scroll; }
    .mhc-adv-stats        { flex-direction: column; }
    .mhc-adv-stat         { border-right: none; border-bottom: 1px solid rgba(200,150,46,0.14); }
    .mhc-adv-stat:last-child { border-bottom: none; }
}


/* =====================================================
   Developer Network — Redesigned
===================================================== */
.devnet-section {
    background: var(--cream);
    padding: var(--space-xxl) 0;
}

.devnet-inner {
    display: grid;
    grid-template-columns: 1fr 460px;
    gap: 80px;
    align-items: center;
}

.devnet-content h2 {
    color: var(--navy);
    font-size: clamp(34px, 3.8vw, 52px);
    line-height: 1.15;
    margin: 18px 0 24px;
}

.devnet-desc {
    font-size: 17px;
    color: var(--text-medium);
    line-height: 1.75;
    margin: 0 0 32px;
}

.devnet-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.devnet-badge {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--gold);
    border: 1px solid rgba(200, 150, 46, 0.4);
    border-radius: 3px;
    padding: 6px 14px;
}

/* Buttons side by side, outline styled for light bg */
.devnet-section .cta-buttons {
    flex-wrap: nowrap;
    align-items: center;
}

.devnet-section .btn-outline-white {
    color: var(--navy);
    border-color: var(--navy);
}

.devnet-section .btn-outline-white:hover {
    background: var(--navy);
    color: var(--white);
}

/* Right panel — navy card for contrast */
.devnet-panel {
    background: var(--navy);
    border: none;
    border-radius: 6px;
    padding: 40px 40px 32px;
    box-shadow: 0 12px 40px rgba(15, 26, 40, 0.14);
}

.devnet-panel-tag {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--gold);
    margin-bottom: 28px;
}

.devnet-criteria {
    list-style: none;
    padding: 0;
    margin: 0;
}

.devnet-criteria li {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    padding: 20px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.devnet-criteria li:last-child {
    border-bottom: none;
}

.devnet-criteria-icon {
    width: 30px;
    height: 30px;
    border: 1px solid rgba(200, 150, 46, 0.35);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--gold);
    flex-shrink: 0;
    margin-top: 1px;
}

.devnet-criteria div strong {
    display: block;
    font-family: var(--font-sans);
    font-size: 14px;
    font-weight: 600;
    color: var(--white);
    margin-bottom: 4px;
}

.devnet-criteria div span {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.48);
    line-height: 1.5;
}

.devnet-panel-footer {
    margin-top: 24px;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.3);
    text-align: center;
    letter-spacing: 0.04em;
    font-style: italic;
}

@media (max-width: 1100px) {
    .devnet-inner { grid-template-columns: 1fr 400px; gap: 60px; }
}

@media (max-width: 900px) {
    .devnet-inner        { grid-template-columns: 1fr; gap: 52px; }
    .devnet-panel        { max-width: 520px; }
    .devnet-section .cta-buttons { flex-wrap: wrap; }
}

@media (max-width: 767px) {
    .devnet-panel { padding: 32px 28px 24px; }
}


/* =====================================================
   For Capital Partners — Phase 8
===================================================== */

/* === Benefits Feature Grid === */
.cp-feat-section {
    background: var(--white);
    padding: var(--space-xxl) 0;
}

.cp-feat-header {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: end;
    margin-bottom: 52px;
}

.cp-feat-header h2 {
    color: var(--navy);
    font-size: clamp(30px, 3.5vw, 44px);
    margin: 14px 0 0;
    line-height: 1.2;
}

.cp-feat-intro {
    font-size: 17px;
    color: var(--text-medium);
    line-height: 1.75;
    margin: 0;
}

.cp-feat-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1px;
    background: rgba(15, 26, 40, 0.1);
    border-radius: 6px;
    overflow: hidden;
}

.cp-feat-card {
    position: relative;
    padding: 36px 30px 32px;
    background: var(--white);
    overflow: hidden;
    transition: background 0.22s;
}

.cp-feat-card:hover {
    background: var(--cream);
}

.cp-feat-card--navy {
    background: var(--navy) !important;
}
.cp-feat-card--navy:hover {
    background: #16273a !important;
}
.cp-feat-card--navy h4           { color: var(--white) !important; }
.cp-feat-card--navy h4::before   { background: var(--gold) !important; }
.cp-feat-card--navy p            { color: rgba(255,255,255,0.65) !important; }
.cp-feat-card--navy strong       { color: var(--gold); }
.cp-feat-card--navy .cp-feat-ghost { color: var(--white); opacity: 0.06; }

.cp-feat-ghost {
    position: absolute;
    top: 14px;
    right: 18px;
    font-family: var(--font-serif);
    font-size: 84px;
    font-weight: 700;
    color: var(--navy);
    opacity: 0.05;
    line-height: 1;
    pointer-events: none;
    user-select: none;
}

.cp-feat-card h4 {
    font-family: var(--font-sans);
    font-size: 15px;
    font-weight: 700;
    color: var(--navy);
    margin: 0 0 10px;
    position: relative;
    z-index: 1;
}

.cp-feat-card h4::before {
    content: '';
    display: block;
    width: 24px;
    height: 2px;
    background: var(--gold);
    margin-bottom: 14px;
}

.cp-feat-card p {
    font-size: 14px;
    color: var(--text-medium);
    line-height: 1.65;
    margin: 0;
    position: relative;
    z-index: 1;
}


/* === Who We Work With === */
.cp-who-section {
    background: var(--cream);
    padding: var(--space-xxl) 0;
}

.cp-who-header {
    margin-bottom: 48px;
}

.cp-who-header h2 {
    font-size: clamp(30px, 3.5vw, 44px);
    margin: 14px 0 18px;
}

.cp-who-intro {
    font-size: 20px;
    color: var(--text-medium);
    line-height: 1.6;
    max-width: 580px;
    margin: 0;
}

.cp-who-rows {
    border-top: 1px solid rgba(15, 26, 40, 0.12);
}

.cp-who-row {
    display: grid;
    grid-template-columns: 72px 240px 1fr;
    grid-template-areas: "num meta bullets";
    gap: 48px;
    align-items: start;
    padding: 40px 0;
    border-bottom: 1px solid rgba(15, 26, 40, 0.12);
    transition: background 0.2s;
}

.cp-who-row:hover {
    background: rgba(15, 26, 40, 0.02);
}

.cp-who-num {
    grid-area: num;
    font-family: var(--font-serif);
    font-size: 44px;
    font-weight: 700;
    color: var(--gold);
    line-height: 1;
    padding-top: 2px;
}

.cp-who-meta {
    grid-area: meta;
}

.cp-who-title {
    font-family: var(--font-sans);
    font-size: 19px;
    font-weight: 700;
    color: var(--navy);
    margin: 0 0 10px;
    line-height: 1.25;
}

.cp-who-tag {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--gold);
    border: 1px solid rgba(200, 150, 46, 0.4);
    border-radius: 3px;
    padding: 4px 10px;
}

.cp-who-bullets {
    grid-area: bullets;
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.cp-who-bullets li {
    font-size: 15px;
    color: var(--text-medium);
    line-height: 1.55;
    padding-left: 20px;
    position: relative;
}

.cp-who-bullets li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 10px;
    width: 8px;
    height: 1.5px;
    background: var(--gold);
}


/* === Process Flow === */
.cp-flow-section {
    background: var(--navy);
    padding: var(--space-xxl) 0;
}

.cp-flow-intro {
    color: rgba(255, 255, 255, 0.6);
    font-size: 18px;
    max-width: 500px;
    line-height: 1.65;
    margin: 16px 0 56px;
}

.cp-flow-track {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 0;
    position: relative;
}

.cp-flow-track::before {
    content: '';
    position: absolute;
    top: 19px;
    left: calc(100% / 12);
    right: calc(100% / 12);
    height: 1px;
    background: repeating-linear-gradient(
        90deg,
        rgba(200, 150, 46, 0.5) 0,
        rgba(200, 150, 46, 0.5) 6px,
        transparent 6px,
        transparent 14px
    );
}

.cp-flow-step {
    padding: 0 16px;
    text-align: center;
}

.cp-flow-circle {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--gold);
    color: var(--navy);
    font-family: var(--font-sans);
    font-size: 13px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 22px;
    position: relative;
    z-index: 1;
}

.cp-flow-step h4 {
    font-family: var(--font-sans);
    font-size: 14px;
    font-weight: 700;
    color: var(--white);
    margin: 0 0 10px;
    line-height: 1.3;
}

.cp-flow-step p {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.5);
    line-height: 1.65;
    margin: 0;
}


/* === Responsive — Capital Partners === */
@media (max-width: 1200px) {
    .cp-feat-grid               { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 1023px) {
    .cp-feat-header             { grid-template-columns: 1fr; gap: 20px; }
    .cp-who-row                 { grid-template-columns: 60px 1fr; grid-template-areas: "num meta" ". bullets"; gap: 24px 32px; }
    .cp-flow-track              { grid-template-columns: repeat(3, 1fr); gap: 40px; }
    .cp-flow-track::before      { display: none; }
    .cp-flow-step               { padding: 0; }
}

@media (max-width: 767px) {
    .cp-feat-grid               { grid-template-columns: 1fr; }
    .cp-who-row                 { grid-template-columns: 1fr; grid-template-areas: "num" "meta" "bullets"; gap: 12px; }
    .cp-who-num                 { font-size: 32px; }
    .cp-flow-track              { grid-template-columns: repeat(2, 1fr); gap: 32px; }
}


/* =====================================================
   For Landowners — Phase 9
===================================================== */

/* === Sound Familiar — Quotes === */
.lo-quotes-section {
    background: var(--cream);
    padding: var(--space-xxl) 0;
}

.lo-quotes-section h2 {
    font-size: clamp(28px, 3vw, 40px);
    margin: 14px 0 0;
}

.lo-quotes-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-top: 48px;
}

.lo-quote-card {
    background: var(--white);
    border-radius: 4px;
    padding: 36px 36px 32px;
    border-bottom: 3px solid transparent;
    transition: border-color 0.25s, box-shadow 0.25s;
}

.lo-quote-card:hover {
    border-bottom-color: var(--gold);
    box-shadow: 0 8px 32px rgba(15, 26, 40, 0.07);
}

.lo-quote-mark {
    display: block;
    font-family: var(--font-serif);
    font-size: 72px;
    line-height: 0.65;
    color: var(--gold);
    opacity: 0.5;
    margin-bottom: 22px;
}

.lo-quote-card p {
    font-size: 17px;
    color: var(--navy);
    line-height: 1.7;
    font-style: italic;
    margin: 0;
}


/* === What We Do — Services === */
.lo-svc-section {
    background: var(--white);
    padding: var(--space-xxl) 0;
}

.lo-svc-header {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: end;
    margin-bottom: 52px;
}

.lo-svc-header h2 {
    font-size: clamp(30px, 3.5vw, 44px);
    margin: 14px 0 0;
    line-height: 1.2;
}

.lo-svc-intro {
    font-size: 17px;
    color: var(--text-medium);
    line-height: 1.75;
    margin: 0;
}

.lo-svc-rows {
    border-top: 1px solid rgba(15, 26, 40, 0.1);
}

.lo-svc-row {
    display: grid;
    grid-template-columns: 72px 260px 1fr;
    gap: 48px;
    align-items: center;
    padding: 32px 0;
    border-bottom: 1px solid rgba(15, 26, 40, 0.1);
    transition: background 0.2s;
}

.lo-svc-row:hover {
    background: rgba(15, 26, 40, 0.015);
}

.lo-svc-row--highlight {
    background: rgba(200, 150, 46, 0.04);
}

.lo-svc-row--highlight:hover {
    background: rgba(200, 150, 46, 0.07);
}

.lo-svc-num {
    font-family: var(--font-serif);
    font-size: 40px;
    font-weight: 700;
    color: var(--gold);
    line-height: 1;
}

.lo-svc-title {
    font-family: var(--font-sans);
    font-size: 18px;
    font-weight: 700;
    color: var(--navy);
    margin: 0;
}

.lo-svc-desc {
    font-size: 15px;
    color: var(--text-medium);
    line-height: 1.65;
    margin: 0;
}

.lo-svc-desc strong {
    color: var(--navy);
}


/* === Land Criteria === */
.lo-criteria-section {
    background: var(--navy);
    padding: var(--space-xxl) 0;
}

.lo-criteria-section h2 {
    font-size: clamp(28px, 3.5vw, 44px);
    margin: 14px 0 52px;
}

.lo-criteria-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    background: rgba(255, 255, 255, 0.08);
    border-radius: 6px;
    overflow: hidden;
}

.lo-criteria-item {
    background: rgba(15, 26, 40, 0.6);
    padding: 36px 36px;
    transition: background 0.2s;
}

.lo-criteria-item:hover {
    background: rgba(200, 150, 46, 0.07);
}

.lo-criteria-label {
    font-family: var(--font-sans);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--gold);
    margin-bottom: 14px;
}

.lo-criteria-value {
    font-family: var(--font-serif);
    font-size: 20px;
    font-weight: 600;
    color: var(--white);
    line-height: 1.4;
}


/* === Deal Structures === */
.lo-struct-section {
    background: var(--cream);
    padding: var(--space-xxl) 0;
}

.lo-struct-section h2 {
    font-size: clamp(28px, 3.5vw, 44px);
    margin: 14px 0 0;
}

.lo-struct-intro {
    font-size: 20px;
    color: var(--text-medium);
    max-width: 580px;
    line-height: 1.6;
    margin: 16px 0 48px;
}

.lo-struct-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.lo-struct-card {
    position: relative;
    background: var(--white);
    border-radius: 4px;
    padding: 40px 36px 36px;
    overflow: hidden;
    border-top: 3px solid transparent;
    transition: border-color 0.25s, box-shadow 0.25s;
}

.lo-struct-card:hover {
    border-top-color: var(--gold);
    box-shadow: 0 8px 32px rgba(15, 26, 40, 0.07);
}

.lo-struct-ghost {
    position: absolute;
    top: 16px;
    right: 20px;
    font-family: var(--font-serif);
    font-size: 84px;
    font-weight: 700;
    color: var(--navy);
    opacity: 0.05;
    line-height: 1;
    pointer-events: none;
    user-select: none;
}

.lo-struct-tag {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--gold);
    border: 1px solid rgba(200, 150, 46, 0.4);
    border-radius: 3px;
    padding: 4px 10px;
    display: inline-block;
    margin-bottom: 20px;
}

.lo-struct-card h4 {
    font-family: var(--font-sans);
    font-size: 20px;
    font-weight: 700;
    color: var(--navy);
    margin: 0 0 12px;
    position: relative;
    z-index: 1;
}

.lo-struct-card p {
    font-size: 15px;
    color: var(--text-medium);
    line-height: 1.65;
    margin: 0;
    position: relative;
    z-index: 1;
}


/* === Responsive — For Landowners === */
@media (max-width: 1023px) {
    .lo-svc-header      { grid-template-columns: 1fr; gap: 20px; }
    .lo-svc-row         { grid-template-columns: 60px 1fr; grid-template-areas: "num title" ". desc"; gap: 16px 32px; align-items: start; }
    .lo-svc-num         { grid-area: num; }
    .lo-svc-meta        { grid-area: title; }
    .lo-svc-desc        { grid-area: desc; }
    .lo-criteria-grid   { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 767px) {
    .lo-quotes-grid     { grid-template-columns: 1fr; }
    .lo-svc-row         { grid-template-columns: 1fr; grid-template-areas: "num" "title" "desc"; gap: 8px; }
    .lo-svc-num         { font-size: 28px; }
    .lo-criteria-grid   { grid-template-columns: 1fr; }
    .lo-struct-grid     { grid-template-columns: 1fr; }
}


/* =====================================================
   Markets — Phase 10
===================================================== */

/* === Sectors Grid === */
.mkt-sectors-section {
    background: var(--white);
    padding: var(--space-xxl) 0;
}

.mkt-sectors-header {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: end;
    margin-bottom: 52px;
}

.mkt-sectors-header h2 {
    font-size: clamp(28px, 3.5vw, 44px);
    margin: 14px 0 0;
    line-height: 1.2;
}

.mkt-sectors-intro {
    font-size: 18px;
    color: var(--text-medium);
    line-height: 1.7;
    margin: 0;
}

.mkt-sectors-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    background: rgba(15, 26, 40, 0.1);
    border-radius: 6px;
    overflow: hidden;
}

.mkt-sector-card {
    background: var(--white);
    padding: 40px 36px;
    transition: background 0.22s;
}

.mkt-sector-card:hover {
    background: var(--cream);
}

.mkt-sector-card--wide {
    grid-column: span 2;
}

.mkt-sector-top {
    display: flex;
    align-items: baseline;
    gap: 16px;
    margin-bottom: 18px;
}

.mkt-sector-num {
    font-family: var(--font-sans);
    font-size: 12px;
    font-weight: 800;
    color: var(--gold);
    letter-spacing: 0.06em;
    flex-shrink: 0;
}

.mkt-sector-name {
    font-family: var(--font-sans);
    font-size: 20px;
    font-weight: 700;
    color: var(--navy);
    margin: 0;
    flex: 1;
}

.mkt-sector-count {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--gold);
    border: 1px solid rgba(200, 150, 46, 0.35);
    border-radius: 3px;
    padding: 4px 10px;
    white-space: nowrap;
    flex-shrink: 0;
}

.mkt-sector-rule {
    width: 24px;
    height: 2px;
    background: var(--gold);
    margin-bottom: 20px;
}

.mkt-sector-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.mkt-sector-tags span {
    font-size: 13px;
    color: var(--text-medium);
    background: rgba(15, 26, 40, 0.05);
    border-radius: 3px;
    padding: 5px 12px;
    line-height: 1;
}


/* === Geographic Focus === */
.mkt-geo-section {
    background: var(--cream);
    padding: var(--space-xxl) 0;
}

.mkt-geo-header {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: end;
    margin-bottom: 48px;
}

.mkt-geo-header h2 {
    font-size: clamp(28px, 3.5vw, 44px);
    margin: 14px 0 0;
}

.mkt-geo-intro {
    font-size: 18px;
    color: var(--text-medium);
    line-height: 1.7;
    margin: 0;
}

.mkt-geo-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.mkt-geo-card {
    background: var(--white);
    border-radius: 4px;
    padding: 36px 32px;
    border-left: 3px solid var(--gold);
    transition: box-shadow 0.25s;
}

.mkt-geo-card:hover {
    box-shadow: 0 8px 32px rgba(15, 26, 40, 0.09);
}

.mkt-geo-badge {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.09em;
    color: var(--gold);
    margin-bottom: 14px;
}

.mkt-geo-name {
    font-family: var(--font-serif);
    font-size: 22px;
    font-weight: 700;
    color: var(--navy);
    margin-bottom: 14px;
    line-height: 1.25;
}

.mkt-geo-card p {
    font-size: 15px;
    color: var(--text-medium);
    line-height: 1.65;
    margin: 0 0 20px;
}

.mkt-geo-link {
    font-size: 13px;
    font-weight: 600;
    color: var(--gold);
    text-decoration: none;
}

.mkt-geo-link:hover {
    color: var(--navy);
}

/* Texas detail */
.mkt-geo-detail {
    margin-top: var(--space-lg);
    border-top: 1px solid rgba(15, 26, 40, 0.12);
    padding-top: var(--space-md);
}

.mkt-geo-detail h3 {
    font-size: clamp(18px, 2vw, 24px);
    color: var(--navy);
    margin: 0 0 28px;
}

.mkt-geo-detail-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    background: rgba(15, 26, 40, 0.1);
    border-radius: 4px;
    overflow: hidden;
}

.mkt-geo-detail-item {
    background: var(--white);
    padding: 28px 28px;
    font-size: 15px;
    color: var(--text-medium);
    line-height: 1.65;
}

.mkt-geo-detail-item strong {
    display: block;
    font-size: 16px;
    font-weight: 700;
    color: var(--navy);
    margin-bottom: 10px;
}


/* === Active Pipeline === */
.mkt-pipe-section {
    background: var(--navy);
    padding: var(--space-xxl) 0;
}

.mkt-pipe-inner {
    display: grid;
    grid-template-columns: 1fr 400px;
    gap: 80px;
    align-items: center;
}

.mkt-pipe-content h2 {
    color: var(--white);
    font-size: clamp(30px, 3.5vw, 46px);
    margin: 18px 0 24px;
    line-height: 1.15;
}

.mkt-pipe-lead {
    font-size: 16px;
    color: rgba(255, 255, 255, 0.68);
    line-height: 1.8;
    margin: 0 0 32px;
}

.mkt-pipe-stats {
    display: flex;
    flex-direction: column;
    border: 1px solid rgba(200, 150, 46, 0.28);
    border-radius: 6px;
    overflow: hidden;
    background: rgba(15, 26, 40, 0.5);
}

.mkt-pipe-stat {
    padding: 30px 36px;
    border-bottom: 1px solid rgba(200, 150, 46, 0.14);
    transition: background 0.25s;
}

.mkt-pipe-stat:last-child {
    border-bottom: none;
}

.mkt-pipe-stat:hover {
    background: rgba(200, 150, 46, 0.06);
}

.mkt-pipe-num {
    font-family: var(--font-serif);
    font-size: clamp(34px, 3.5vw, 48px);
    font-weight: 700;
    color: var(--gold);
    line-height: 1.1;
    margin-bottom: 8px;
}

.mkt-pipe-label {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.09em;
    color: rgba(255, 255, 255, 0.45);
}


/* === Responsive — Markets === */
@media (max-width: 1100px) {
    .mkt-pipe-inner         { grid-template-columns: 1fr 340px; gap: 60px; }
}

@media (max-width: 1023px) {
    .mkt-sectors-header     { grid-template-columns: 1fr; gap: 20px; }
    .mkt-geo-header         { grid-template-columns: 1fr; gap: 20px; }
    .mkt-sector-card--wide  { grid-column: span 1; }
    .mkt-sectors-grid       { grid-template-columns: repeat(2, 1fr); }
    .mkt-pipe-inner         { grid-template-columns: 1fr; gap: 52px; }
    .mkt-pipe-stats         { flex-direction: row; max-width: 560px; }
    .mkt-pipe-stat          { flex: 1; border-bottom: none; border-right: 1px solid rgba(200,150,46,0.14); padding: 24px 20px; }
    .mkt-pipe-stat:last-child { border-right: none; }
}

@media (max-width: 767px) {
    .mkt-sectors-grid       { grid-template-columns: 1fr; }
    .mkt-geo-cards          { grid-template-columns: 1fr; }
    .mkt-geo-detail-grid    { grid-template-columns: 1fr; }
    .mkt-pipe-stats         { flex-direction: column; }
    .mkt-pipe-stat          { border-right: none; border-bottom: 1px solid rgba(200,150,46,0.14); }
    .mkt-pipe-stat:last-child { border-bottom: none; }
}


/* ============================================================
   PHASE 11 — ABOUT PAGE
   abt-who-section · abt-svc-section · abt-leader-section
   abt-why-section
============================================================ */

/* --- Who We Are --- */
.abt-who-section {
    background: var(--white);
    padding: var(--space-xl) 0;
}

.abt-who-inner {
    display: grid;
    grid-template-columns: 480px 1fr;
    gap: 80px;
    align-items: center;
}

.abt-who-img-wrap {
    position: relative;
    border-left: 4px solid var(--gold);
}

.abt-who-photo {
    width: 100%;
    height: 520px;
    object-fit: cover;
    display: block;
}

.abt-who-content h2 {
    margin-bottom: 20px;
}

.abt-who-content p {
    font-size: 18px;
    color: var(--text-medium);
    line-height: 1.75;
    margin-bottom: 16px;
}

.abt-who-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 28px;
}

.abt-who-tags span {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: var(--navy);
    background: var(--cream);
    border: 1px solid rgba(15,26,40,0.12);
    border-radius: 3px;
    padding: 6px 14px;
}

/* --- Services Summary --- */
.abt-svc-section {
    background: var(--cream);
    padding: var(--space-xl) 0;
}

.abt-svc-header {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: end;
    margin-bottom: 60px;
}

.abt-svc-intro {
    font-size: 18px;
    color: var(--text-medium);
    line-height: 1.65;
    align-self: end;
}

/* --- Leadership --- */
.abt-leader-section {
    background: var(--white);
    padding: var(--space-xl) 0;
}

.abt-leader-section > .container > .section-label { margin-bottom: 8px; }
.abt-leader-section > .container > h2 { margin-bottom: 52px; }

.abt-leader-card {
    display: grid;
    grid-template-columns: 340px 1fr;
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: var(--shadow-strong);
    border: 1px solid var(--gray-light);
}

.abt-leader-left {
    background: var(--navy);
    display: flex;
    flex-direction: column;
}

.abt-leader-id {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    padding: 52px 36px;
}

.abt-leader-monogram {
    font-family: var(--font-serif);
    font-size: 120px;
    font-weight: 700;
    line-height: 1;
    color: transparent;
    -webkit-text-stroke: 1px rgba(200, 150, 46, 0.3);
    letter-spacing: -6px;
    margin-bottom: 32px;
    user-select: none;
}

.abt-leader-rule {
    width: 40px;
    height: 2px;
    background: var(--gold);
    margin-bottom: 24px;
}

.abt-leader-name {
    font-family: var(--font-serif);
    font-size: 24px;
    font-weight: 700;
    color: var(--white);
    margin-bottom: 8px;
    line-height: 1.2;
}

.abt-leader-role {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 10px;
}

.abt-leader-loc {
    font-size: 13px;
    color: rgba(255,255,255,0.4);
    margin-bottom: 28px;
}

.abt-leader-tags {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.abt-leader-tags span {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.35);
    padding-left: 12px;
    border-left: 2px solid rgba(200,150,46,0.35);
}

.abt-leader-bio {
    padding: 52px 56px;
    background: var(--white);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.abt-leader-quote {
    font-family: var(--font-serif);
    font-size: clamp(18px, 1.6vw, 22px);
    font-style: italic;
    color: var(--navy);
    line-height: 1.65;
    border-left: 3px solid var(--gold);
    padding-left: 24px;
    margin: 0 0 28px;
}

.abt-leader-bio p {
    font-size: 17px;
    color: var(--text-medium);
    line-height: 1.75;
    margin-bottom: 16px;
}

.abt-leader-bio p:last-of-type { margin-bottom: 0; }

/* --- Why Amigos --- */
.abt-why-section {
    background: var(--navy);
    padding: var(--space-xl) 0;
}

.abt-why-section .section-label { color: var(--gold); }

.abt-why-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1px;
    background: rgba(200, 150, 46, 0.18);
    border-radius: var(--radius);
    overflow: hidden;
    margin-top: 52px;
}

.abt-why-card {
    background: var(--navy);
    padding: 48px 44px;
    position: relative;
    transition: background var(--transition);
}

.abt-why-card:hover { background: rgba(255,255,255,0.04); }

.abt-why-num {
    position: absolute;
    top: 20px;
    right: 24px;
    font-family: var(--font-serif);
    font-size: 80px;
    font-weight: 700;
    line-height: 1;
    color: var(--white);
    opacity: 0.04;
    pointer-events: none;
    user-select: none;
}

.abt-why-card h4 {
    font-size: clamp(17px, 1.4vw, 20px);
    color: var(--white);
    margin-bottom: 16px;
}

.abt-why-card p {
    font-size: 16px;
    color: rgba(255,255,255,0.55);
    line-height: 1.7;
}

/* === Responsive — About === */
@media (max-width: 1100px) {
    .abt-who-inner           { grid-template-columns: 400px 1fr; gap: 56px; }
    .abt-leader-card         { grid-template-columns: 280px 1fr; }
    .abt-leader-bio          { padding: 40px 44px; }
}

@media (max-width: 1023px) {
    .abt-who-inner           { grid-template-columns: 1fr; gap: 44px; }
    .abt-who-photo           { height: 380px; }
    .abt-svc-header          { grid-template-columns: 1fr; gap: 16px; margin-bottom: 44px; }
    .abt-leader-card         { grid-template-columns: 1fr; }
    .abt-leader-id           { padding: 40px 28px; }
    .abt-leader-monogram     { font-size: 90px; margin-bottom: 24px; }
    .abt-leader-bio          { padding: 40px 36px; }
    .abt-why-grid            { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
    .abt-who-photo           { height: 280px; }
    .abt-who-tags            { gap: 8px; }
    .abt-leader-bio          { padding: 32px 24px; }
    .abt-leader-quote        { font-size: 17px; }
    .abt-why-card            { padding: 36px 28px; }
}


/* ============================================================
   PHASE 12 — TEAM PAGE
   tm-profile-section · tm-focus-section
============================================================ */

/* --- Profile Section --- */
.tm-profile-section {
    background: var(--white);
    padding: var(--space-xl) 0;
}

.tm-profile-card {
    display: grid;
    grid-template-columns: 340px 1fr;
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: 0 2px 40px rgba(15,26,40,0.10), 0 1px 4px rgba(15,26,40,0.06);
    border: 1px solid var(--gray-light);
}

/* Left panel */
.tm-profile-left {
    background: var(--navy);
    padding: 52px 36px 52px;
    display: flex;
    flex-direction: column;
}

.tm-profile-mono {
    font-family: var(--font-serif);
    font-size: 110px;
    font-weight: 700;
    line-height: 1;
    color: transparent;
    -webkit-text-stroke: 1px rgba(200,150,46,0.28);
    letter-spacing: -5px;
    margin-bottom: 28px;
    user-select: none;
}

.tm-profile-rule {
    width: 36px;
    height: 2px;
    background: var(--gold);
    margin-bottom: 24px;
}

.tm-profile-name {
    font-family: var(--font-serif);
    font-size: 22px;
    font-weight: 700;
    color: var(--white);
    line-height: 1.25;
    margin-bottom: 8px;
}

.tm-profile-title {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 10px;
}

.tm-profile-loc {
    font-size: 13px;
    color: rgba(255,255,255,0.38);
    margin-bottom: 36px;
}

.tm-profile-expertise {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: auto;
}

.tm-profile-expertise li {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.38);
    padding-left: 12px;
    border-left: 2px solid rgba(200,150,46,0.35);
    line-height: 1.4;
}

/* Right panel */
.tm-profile-right {
    background: var(--white);
    padding: 56px 60px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.tm-profile-quote {
    font-family: var(--font-serif);
    font-size: clamp(18px, 1.5vw, 22px);
    font-style: italic;
    color: var(--navy);
    line-height: 1.65;
    border-left: 3px solid var(--gold);
    padding-left: 24px;
    margin: 0 0 8px;
}

.tm-profile-right p {
    font-size: 17px;
    color: var(--text-medium);
    line-height: 1.8;
    margin: 0;
}

.tm-profile-metrics {
    display: flex;
    gap: 0;
    border-top: 1px solid var(--gray-light);
    border-bottom: 1px solid var(--gray-light);
    padding: 24px 0;
    margin: 8px 0;
}

.tm-profile-metric {
    flex: 1;
    padding-right: 24px;
    margin-right: 24px;
    border-right: 1px solid var(--gray-light);
}

.tm-profile-metric:last-child {
    border-right: none;
    margin-right: 0;
    padding-right: 0;
}

.tm-profile-metric-num {
    font-family: var(--font-serif);
    font-size: clamp(24px, 2vw, 30px);
    font-weight: 700;
    color: var(--navy);
    line-height: 1.1;
    margin-bottom: 4px;
}

.tm-profile-metric-label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: var(--text-medium);
}

/* --- Focus Areas Section --- */
.tm-focus-section {
    background: var(--cream);
    padding: var(--space-xl) 0;
}

.tm-focus-header {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: end;
    margin-bottom: 60px;
}

.tm-focus-intro {
    font-size: 18px;
    color: var(--text-medium);
    line-height: 1.65;
    align-self: end;
}

.tm-focus-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1px;
    background: rgba(15,26,40,0.08);
    border-radius: var(--radius);
    overflow: hidden;
}

.tm-focus-card {
    background: var(--cream);
    padding: 48px 44px;
    position: relative;
    transition: background var(--transition);
}

.tm-focus-card:hover { background: var(--white); }

.tm-focus-num {
    position: absolute;
    top: 20px;
    right: 24px;
    font-family: var(--font-serif);
    font-size: 80px;
    font-weight: 700;
    line-height: 1;
    color: var(--navy);
    opacity: 0.05;
    pointer-events: none;
    user-select: none;
}

.tm-focus-card h4 {
    font-size: clamp(17px, 1.4vw, 20px);
    color: var(--navy);
    margin-bottom: 14px;
}

.tm-focus-card p {
    font-size: 16px;
    color: var(--text-medium);
    line-height: 1.72;
}

/* === Responsive — Team === */
@media (max-width: 1100px) {
    .tm-profile-card         { grid-template-columns: 280px 1fr; }
    .tm-profile-right        { padding: 48px 44px; }
    .tm-profile-mono         { font-size: 88px; }
}

@media (max-width: 1023px) {
    .tm-profile-card         { grid-template-columns: 1fr; }
    .tm-profile-left         { padding: 44px 36px 40px; }
    .tm-profile-expertise    { flex-direction: row; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
    .tm-profile-expertise li { margin: 0; }
    .tm-profile-right        { padding: 44px 36px; }
    .tm-focus-header         { grid-template-columns: 1fr; gap: 16px; margin-bottom: 44px; }
}

@media (max-width: 767px) {
    .tm-profile-mono         { font-size: 72px; }
    .tm-profile-right        { padding: 36px 24px; }
    .tm-profile-metrics      { flex-direction: column; gap: 20px; padding: 20px 0; }
    .tm-profile-metric       { border-right: none; border-bottom: 1px solid var(--gray-light); padding-bottom: 20px; margin-right: 0; padding-right: 0; }
    .tm-profile-metric:last-child { border-bottom: none; padding-bottom: 0; }
    .tm-focus-grid           { grid-template-columns: 1fr; }
    .tm-focus-card           { padding: 36px 28px; }
}


/* ============================================================
   PHASE 13 — CONTACT PAGE
   ctc-strip · ctc-who-section · ctc-form-section
============================================================ */

/* --- Info Strip (dark bar below hero) --- */
.ctc-strip {
    background: var(--navy);
    border-bottom: 1px solid rgba(200,150,46,0.18);
}

.ctc-strip-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
}

.ctc-strip-item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 28px 36px;
    border-right: 1px solid rgba(255,255,255,0.07);
}

.ctc-strip-item:last-child { border-right: none; }

.ctc-strip-icon {
    color: var(--gold);
    flex-shrink: 0;
    opacity: 0.85;
}

.ctc-strip-label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.38);
    margin-bottom: 4px;
}

.ctc-strip-value {
    font-size: 15px;
    color: var(--white);
    font-weight: 500;
    text-decoration: none;
    transition: color var(--transition);
}

a.ctc-strip-value:hover { color: var(--gold); }

/* --- Who We Work With --- */
.ctc-who-section {
    background: var(--white);
    padding: var(--space-xl) 0;
}

.ctc-who-header {
    margin-bottom: 52px;
}

.ctc-who-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    background: rgba(15,26,40,0.08);
    border-radius: var(--radius);
    overflow: hidden;
}

.ctc-who-card {
    position: relative;
    height: 520px;
    overflow: hidden;
}

.ctc-who-card-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    transition: transform 0.6s ease;
}

.ctc-who-card:hover .ctc-who-card-bg { transform: scale(1.04); }

.ctc-who-card-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(10,18,30,0.93) 0%, rgba(10,18,30,0.45) 55%, rgba(10,18,30,0.15) 100%);
}

.ctc-who-card-body {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 36px 32px;
}

.ctc-who-num {
    font-family: var(--font-serif);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: var(--gold);
    margin-bottom: 10px;
}

.ctc-who-card-body h4 {
    font-family: var(--font-serif);
    font-size: clamp(20px, 1.8vw, 24px);
    font-weight: 700;
    color: var(--white);
    margin-bottom: 16px;
    line-height: 1.2;
}

.ctc-who-card-body ul {
    list-style: none;
    padding: 0;
    margin: 0 0 24px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ctc-who-card-body li {
    font-size: 14px;
    color: rgba(255,255,255,0.7);
    line-height: 1.5;
    padding-left: 14px;
    position: relative;
}

.ctc-who-card-body li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 9px;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--gold);
    opacity: 0.7;
}

.ctc-who-link {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--gold);
    text-decoration: none;
    transition: opacity var(--transition);
}

.ctc-who-link:hover { opacity: 0.75; }

/* --- Form Section --- */
.ctc-form-section {
    background: var(--cream);
}

.ctc-form-wrap {
    display: grid;
    grid-template-columns: 420px 1fr;
    min-height: 700px;
}

/* Left info panel */
.ctc-form-info {
    background: var(--navy);
    padding: 72px 52px;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.ctc-form-info .section-label { color: var(--gold); margin-bottom: 12px; }

.ctc-form-info h2 {
    color: var(--white);
    margin-bottom: 20px;
    font-size: clamp(26px, 2.2vw, 34px);
}

.ctc-form-info > p {
    font-size: 16px;
    color: rgba(255,255,255,0.55);
    line-height: 1.75;
    margin-bottom: 36px;
}

.ctc-form-bullets {
    list-style: none;
    padding: 0;
    margin: 0 0 44px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.ctc-form-bullets li {
    font-size: 15px;
    color: rgba(255,255,255,0.75);
    padding-left: 20px;
    position: relative;
    line-height: 1.45;
}

.ctc-form-bullets li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 7px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--gold);
    opacity: 0.7;
}

.ctc-form-direct {
    padding-top: 28px;
    border-top: 1px solid rgba(255,255,255,0.08);
    margin-bottom: 44px;
}

.ctc-form-direct-label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.35);
    margin-bottom: 8px;
}

.ctc-form-direct-link {
    display: block;
    font-size: 16px;
    color: var(--gold);
    text-decoration: none;
    font-weight: 500;
    transition: opacity var(--transition);
}

.ctc-form-direct-link:hover { opacity: 0.75; }

.ctc-form-person {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: auto;
    padding-top: 28px;
    border-top: 1px solid rgba(255,255,255,0.08);
}

.ctc-form-person-mono {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 1px solid rgba(200,150,46,0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-serif);
    font-size: 16px;
    font-weight: 700;
    color: rgba(200,150,46,0.6);
    flex-shrink: 0;
    user-select: none;
}

.ctc-form-person-name {
    font-size: 15px;
    font-weight: 600;
    color: var(--white);
    margin-bottom: 3px;
}

.ctc-form-person-role {
    font-size: 12px;
    color: rgba(255,255,255,0.38);
}

/* Right form panel */
.ctc-form-panel {
    background: var(--white);
    padding: 72px 60px;
}

/* === Responsive — Contact === */
@media (max-width: 1100px) {
    .ctc-form-wrap           { grid-template-columns: 360px 1fr; }
    .ctc-form-info           { padding: 60px 40px; }
    .ctc-form-panel          { padding: 60px 44px; }
}

@media (max-width: 1023px) {
    .ctc-strip-grid          { grid-template-columns: 1fr; }
    .ctc-strip-item          { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.07); padding: 20px 24px; }
    .ctc-strip-item:last-child { border-bottom: none; }
    .ctc-who-grid            { grid-template-columns: 1fr; }
    .ctc-who-card            { height: 420px; }
    .ctc-form-wrap           { grid-template-columns: 1fr; }
    .ctc-form-info           { padding: 52px 40px; }
    .ctc-form-person         { margin-top: 32px; }
    .ctc-form-panel          { padding: 52px 40px; }
}

@media (max-width: 767px) {
    .ctc-strip-item          { padding: 18px 20px; }
    .ctc-who-card            { height: 380px; }
    .ctc-who-card-body       { padding: 28px 24px; }
    .ctc-form-info           { padding: 40px 24px; }
    .ctc-form-panel          { padding: 40px 24px; }
}


/* ============================================================
   MOBILE RESPONSIVE FIXES — Global Pass
   Addresses all issues found in full-site audit
============================================================ */

/* ---- 1. stats-dark-grid: 2-col → 1-col on phones ---- */
@media (max-width: 480px) {
    .stats-dark-grid { grid-template-columns: 1fr; }
    .stat-dark-item  { border-bottom: 1px solid rgba(255,255,255,0.06); }
    .stat-dark-item:last-child { border-bottom: none; }
}

/* ---- 2. Oversized body text (22px) — reduce on mobile ---- */
@media (max-width: 767px) {
    .dev-reg-inner p  { font-size: 18px; }
    .pipeline-inner p { font-size: 18px; }
    .about-body p     { font-size: 18px; }
}

/* ---- 3. Monogram font sizes at 767px ---- */
@media (max-width: 767px) {
    .abt-leader-monogram  { font-size: 64px; letter-spacing: -3px; margin-bottom: 20px; }
    .tm-profile-mono      { font-size: 64px; letter-spacing: -3px; margin-bottom: 20px; }
}

/* ---- 4. Section padding reductions (new phases) ---- */
/* Sections with var(--space-xxl) padding need to scale down */
@media (max-width: 767px) {
    .cp-feat-section,
    .cp-who-section,
    .cp-flow-section,
    .lo-quotes-section,
    .lo-svc-section,
    .lo-criteria-section,
    .lo-struct-section    { padding: 56px 0; }

    .abt-who-section,
    .abt-svc-section,
    .abt-leader-section,
    .abt-why-section,
    .tm-profile-section,
    .tm-focus-section,
    .mkt-sectors-section,
    .mkt-geo-section,
    .mkt-pipe-section,
    .ctc-who-section      { padding: 56px 0; }
}

/* ---- 5. Capital Partners — flow track: 2-col → 1-col on small phones ---- */
@media (max-width: 480px) {
    .cp-flow-track   { grid-template-columns: 1fr; gap: 0; }
    .cp-flow-step    { border-bottom: 1px solid rgba(255,255,255,0.07); padding: 24px 0; }
    .cp-flow-step:last-child { border-bottom: none; }
}

/* ---- 6. About — leader id padding on very small screens ---- */
@media (max-width: 767px) {
    .abt-leader-id   { padding: 36px 28px; }
    .abt-why-card    { padding: 32px 24px; }
    .abt-svc-header  { margin-bottom: 32px; }
}

/* ---- 7. Team — profile metrics: horizontal → vertical ---- */
/* Already handled in Phase 12; ensure ctc panels stack cleanly */
@media (max-width: 767px) {
    .tm-profile-left    { padding: 40px 28px 36px; }
    .tm-profile-right   { padding: 36px 24px; }
    .tm-profile-quote   { font-size: 17px; padding-left: 18px; }
    .tm-focus-card      { padding: 32px 24px; }
}

/* ---- 8. Contact — strip and form panel on mobile ---- */
@media (max-width: 767px) {
    .ctc-form-info      { padding: 44px 24px; }
    .ctc-form-panel     { padding: 44px 24px; }
    .ctc-form-direct    { padding-top: 20px; }
    .ctc-form-bullets li { font-size: 14px; }
}

/* ---- 9. Markets — geo cards and pipe section ---- */
@media (max-width: 767px) {
    .mkt-geo-card       { padding: 28px 24px; }
    .mkt-geo-detail     { padding: 28px 24px; }
    .mkt-pipe-content   { padding: 0; }
    .mkt-pipe-num       { font-size: 36px; }
}

/* ---- 10. Hero CTA buttons — full-width stack on phones ---- */
/* Already stacked via .cta-buttons at 767px; ensure width on inner pages */
@media (max-width: 480px) {
    .page-hero--bg .cta-buttons .btn { width: 100%; justify-content: center; }
}

/* ---- 11. For Developers — dev-cap panels ---- */
@media (max-width: 767px) {
    .dev-cap-sources { padding: 32px 20px; }
    .dev-cap-stack   { padding: 32px 20px; }
}

/* ---- 12. Service fee pill — allow wrap on mobile ---- */
@media (max-width: 767px) {
    .service-fee-pill  { white-space: normal; }
}

/* ---- 13. MHC section — content padding on mobile ---- */
@media (max-width: 767px) {
    .mhc-adv-content   { padding: 0; }
    .mhc-adv-num       { font-size: 40px; }
}

/* ---- 14. Lo struct / criteria cards — padding on mobile ---- */
@media (max-width: 767px) {
    .lo-struct-card    { padding: 28px 24px; }
    .lo-criteria-card  { padding: 20px; }
}

/* ---- 15. General container safety net ---- */
@media (max-width: 400px) {
    .container { padding: 0 16px; }
    .btn       { padding: 14px 20px; font-size: 15px; }
}


/* ============================================================
   PHASE 14 — Conversion Priority
   Hero Path Cards · Hero Metrics Bar
   HIW Dark Hero · HIW Conversion Nudge
============================================================ */

/* --- Hero Segmented Path Cards --- */
.hero-paths { margin-top: 44px; }

.hero-paths-eyebrow {
    font-size: 12px;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: rgba(255,255,255,0.65);
    margin-bottom: 16px;
}

.hero-paths-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.hero-path-card {
    background: rgba(0,0,20,0.72);
    border: 1px solid rgba(255,255,255,0.16);
    border-radius: 6px;
    padding: 26px 22px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    text-decoration: none;
    color: var(--white);
    position: relative;
    overflow: hidden;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    transition: border-color 0.25s, background 0.25s, transform 0.2s;
}

.hero-path-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(200,150,46,0.10) 0%, transparent 60%);
    opacity: 0;
    transition: opacity 0.25s;
}

.hero-path-card:hover {
    border-color: rgba(200,150,46,0.55);
    background: rgba(0,0,20,0.85);
    transform: translateY(-2px);
}

.hero-path-card:hover::before { opacity: 1; }

.hero-path-num {
    font-size: 11px;
    letter-spacing: 2px;
    color: rgba(200,150,46,0.70);
    font-weight: 600;
}

.hero-path-role {
    font-family: var(--font-serif);
    font-size: 24px;
    font-weight: 700;
    line-height: 1.15;
    display: block;
}

.hero-path-desc {
    font-size: 14px;
    color: rgba(255,255,255,0.58);
    line-height: 1.4;
}

.hero-path-arrow {
    font-size: 20px;
    color: var(--gold);
    margin-top: 10px;
    display: block;
    transition: transform 0.2s;
}

.hero-path-card:hover .hero-path-arrow { transform: translateX(4px); }

.hero-paths-link {
    display: inline-block;
    margin-top: 18px;
    font-size: 14px;
    color: rgba(255,255,255,0.52);
    text-decoration: none;
    letter-spacing: 0.3px;
    transition: color 0.2s;
}

.hero-paths-link:hover { color: rgba(255,255,255,0.85); }

/* --- Hero Metrics Bar (absolute bottom of hero) --- */
.hero-metrics-bar {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0,0,20,0.72);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-top: 1px solid rgba(200,150,46,0.18);
    z-index: 4;
}

.hero-metrics-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px 0;
}

.hero-metric {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 40px;
    gap: 3px;
}

.hero-metric-num {
    font-family: var(--font-serif);
    font-size: 22px;
    font-weight: 700;
    color: var(--gold);
    line-height: 1;
}

.hero-metric-lbl {
    font-size: 10px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: rgba(255,255,255,0.45);
    white-space: nowrap;
}

.hero-metric-sep {
    width: 1px;
    height: 28px;
    background: rgba(255,255,255,0.10);
    flex-shrink: 0;
}

/* --- How It Works — Dark Navy Split Hero --- */
.hiw-page-hero {
    background: var(--navy-deep);
    padding: 140px 0 96px;
    min-height: 88vh;
    display: flex;
    align-items: center;
}

.hiw-hero-grid {
    display: grid;
    grid-template-columns: 1fr 420px;
    gap: 72px;
    align-items: center;
}

.hiw-hero-left h1 {
    color: var(--white);
    font-size: clamp(36px, 4vw, 54px);
    margin-bottom: 24px;
    line-height: 1.1;
}

.hiw-hero-lead {
    color: rgba(255,255,255,0.62);
    font-size: 17px;
    line-height: 1.75;
    margin-bottom: 32px;
    max-width: 520px;
}

.hiw-hero-facts {
    display: flex;
    gap: 32px;
    margin-bottom: 36px;
}

.hiw-hero-fact {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.hiw-hero-fact strong {
    font-family: var(--font-serif);
    font-size: 28px;
    color: var(--gold);
    line-height: 1;
    font-weight: 700;
}

.hiw-hero-fact span {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: rgba(255,255,255,0.38);
    white-space: nowrap;
}

.hiw-hero-ctas { display: flex; gap: 14px; flex-wrap: wrap; }

/* Right panel — three party cards */
.hiw-hero-party {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 22px 20px;
    border: 1px solid rgba(255,255,255,0.07);
    border-radius: 6px;
    text-decoration: none;
    color: var(--white);
    background: rgba(255,255,255,0.02);
    transition: border-color 0.25s, background 0.25s, transform 0.2s;
    margin-bottom: 10px;
}

.hiw-hero-party:last-child { margin-bottom: 0; }

.hiw-hero-party:hover {
    border-color: rgba(200,150,46,0.40);
    background: rgba(200,150,46,0.04);
    transform: translateX(4px);
}

.hiw-hero-party-num {
    font-family: var(--font-serif);
    font-size: 28px;
    font-weight: 700;
    color: rgba(200,150,46,0.22);
    flex-shrink: 0;
    width: 36px;
    line-height: 1;
}

.hiw-hero-party-body { flex: 1; min-width: 0; }

.hiw-hero-party strong {
    display: block;
    font-size: 15px;
    margin-bottom: 4px;
    color: var(--white);
    font-weight: 600;
}

.hiw-hero-party p {
    font-size: 13px;
    color: rgba(255,255,255,0.44);
    margin: 0;
    line-height: 1.5;
}

.hiw-hero-party-arrow {
    margin-left: auto;
    color: var(--gold);
    font-size: 16px;
    flex-shrink: 0;
    align-self: center;
    padding-left: 8px;
    opacity: 0;
    transition: opacity 0.2s;
}

.hiw-hero-party:hover .hiw-hero-party-arrow { opacity: 1; }

/* --- How It Works — Mid-Page Conversion Nudge --- */
.hiw-conversion-nudge {
    background: var(--navy);
    padding: 22px 0;
    border-top: 1px solid rgba(200,150,46,0.12);
    border-bottom: 1px solid rgba(200,150,46,0.12);
}

.hiw-conv-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
}

.hiw-conv-text strong {
    display: block;
    color: var(--white);
    font-size: 16px;
    margin-bottom: 3px;
    font-weight: 600;
}

.hiw-conv-text span {
    font-size: 13px;
    color: rgba(255,255,255,0.44);
}

.hiw-conv-actions {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-shrink: 0;
}

.hiw-conv-email {
    font-size: 13px;
    color: var(--gold);
    text-decoration: none;
    transition: opacity 0.2s;
}

.hiw-conv-email:hover { opacity: 0.72; }

/* --- Phase 14 Mobile --- */
@media (max-width: 1023px) {
    .hiw-hero-grid       { grid-template-columns: 1fr; gap: 48px; }
    .hiw-hero-left h1    { font-size: clamp(34px, 5vw, 46px); }
    .hiw-hero-lead       { max-width: 100%; }
    .hiw-page-hero       { min-height: auto; padding: 120px 0 72px; }
}

@media (max-width: 767px) {
    /* Path cards: vertical stack with row layout per card */
    .hero-paths-grid       { grid-template-columns: 1fr; gap: 8px; }
    .hero-path-card        { flex-direction: row; align-items: center; padding: 14px 16px; gap: 12px; }
    .hero-path-num         { display: none; }
    .hero-path-desc        { display: none; }
    .hero-path-role        { font-size: 15px; flex: 1; margin: 0; }
    .hero-path-arrow       { margin-top: 0; }

    /* Hero metrics: 2×2 grid */
    .hero-metrics-inner    { display: grid; grid-template-columns: 1fr 1fr; padding: 0; }
    .hero-metric           { padding: 12px; border-bottom: 1px solid rgba(255,255,255,0.06); }
    .hero-metric:nth-child(3),
    .hero-metric:nth-child(4) { border-bottom: none; }
    .hero-metric-sep       { display: none; }

    /* HIW hero */
    .hiw-hero-facts        { gap: 20px; }
    .hiw-hero-fact strong  { font-size: 22px; }
    .hiw-hero-ctas         { flex-direction: column; }
    .hiw-hero-ctas .btn    { width: 100%; justify-content: center; }
    .hiw-hero-party        { padding: 16px; }

    /* Conversion nudge */
    .hiw-conv-inner        { flex-direction: column; align-items: flex-start; }
    .hiw-conv-actions      { flex-wrap: wrap; }
}

@media (max-width: 480px) {
    .hero-metric-num       { font-size: 18px; }
    .hero-metric-lbl       { font-size: 9px; letter-spacing: 1px; }
    .hero-paths-eyebrow    { display: none; }
    .hero-path-role        { font-size: 14px; }
}


/* ============================================================
   PHASE 15 — Credibility / Proof
   Audience Dark Heroes · Proof Cards
   Financing Products · Capital Sources · Named Market Cards
============================================================ */

/* ─── Shared Audience Page Dark Hero ─────────────────────── */
.aud-page-hero {
    background: var(--navy-deep);
    padding: 140px 0 88px;
    min-height: 80vh;
    display: flex;
    align-items: center;
}

.aud-hero-inner {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 64px;
    align-items: center;
}

.aud-hero-left h1 {
    color: var(--white);
    font-size: clamp(36px, 4.5vw, 58px);
    line-height: 1.1;
    margin-bottom: 24px;
}

.aud-hero-lead {
    color: rgba(255,255,255,0.62);
    font-size: 17px;
    line-height: 1.75;
    margin-bottom: 28px;
}

.aud-hero-checks {
    list-style: none;
    padding: 0;
    margin: 0 0 32px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.aud-hero-checks li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    color: rgba(255,255,255,0.65);
    line-height: 1.4;
}

.aud-hero-checks li::before {
    content: '';
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--gold);
    flex-shrink: 0;
}

.aud-hero-ctas { display: flex; gap: 14px; flex-wrap: wrap; }

/* Proof card (right panel) */
.aud-hero-proof {
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(200,150,46,0.22);
    border-radius: 8px;
    padding: 26px;
}

.aud-proof-tag {
    font-size: 10px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.aud-proof-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--gold);
    flex-shrink: 0;
    animation: proofPulse 2s ease-in-out infinite;
}

@keyframes proofPulse {
    0%, 100% { opacity: 1; }
    50%       { opacity: 0.30; }
}

.aud-proof-rows { display: flex; flex-direction: column; }

.aud-proof-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    padding: 11px 0;
    border-bottom: 1px solid rgba(255,255,255,0.06);
}

.aud-proof-row:last-child { border-bottom: none; padding-bottom: 0; }

.aud-proof-row-label {
    font-size: 12px;
    color: rgba(255,255,255,0.38);
}

.aud-proof-row-val {
    font-family: var(--font-serif);
    font-size: 16px;
    font-weight: 700;
    color: var(--white);
    text-align: right;
    white-space: nowrap;
}

.aud-proof-footer {
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid rgba(200,150,46,0.14);
    font-size: 11px;
    color: rgba(255,255,255,0.30);
    line-height: 1.6;
}

/* Numbered steps variant (landowners) */
.aud-proof-steps { display: flex; flex-direction: column; }

.aud-proof-step {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 11px 0;
    border-bottom: 1px solid rgba(255,255,255,0.06);
}

.aud-proof-step:last-child { border-bottom: none; }

.aud-proof-step-circle {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: rgba(200,150,46,0.16);
    color: var(--gold);
    font-size: 10px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.aud-proof-step-text { flex: 1; }

.aud-proof-step-text strong {
    display: block;
    font-size: 13px;
    color: var(--white);
    margin-bottom: 1px;
    font-weight: 600;
}

.aud-proof-step-text span {
    font-size: 11px;
    color: rgba(255,255,255,0.38);
    line-height: 1.4;
}

/* ─── Financing Product Cards ─────────────────────────────── */
.fin-products-section {
    background: var(--cream);
    padding: var(--space-xl) 0;
}

.fin-products-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    background: rgba(0,0,0,0.07);
    border-radius: 8px;
    overflow: hidden;
    margin-top: 40px;
    border: 1px solid rgba(0,0,0,0.08);
}

.fin-product-card {
    background: var(--white);
    padding: 28px 18px;
    border-right: 1px solid rgba(0,0,0,0.06);
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.fin-product-card:last-child { border-right: none; }

.fin-product-card--agency {
    background: var(--navy-deep);
    border-right: none;
}

.fin-product-card--agency h4,
.fin-product-card--agency > p          { color: var(--white); }
.fin-product-card--agency .fin-product-spec-label { color: rgba(255,255,255,0.38); }
.fin-product-card--agency .fin-product-spec-val   { color: var(--white); }
.fin-product-card--agency .fin-product-specs      { border-top-color: rgba(255,255,255,0.08); }
.fin-product-card--agency .fin-product-num        { color: rgba(255,255,255,0.07); }

.fin-product-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 6px;
    margin-bottom: 4px;
}

.fin-product-num {
    font-family: var(--font-serif);
    font-size: 32px;
    font-weight: 700;
    color: rgba(0,0,0,0.06);
    line-height: 1;
    flex-shrink: 0;
}

.fin-product-badge {
    font-size: 9px;
    letter-spacing: 1.3px;
    text-transform: uppercase;
    padding: 3px 7px;
    border-radius: 3px;
    font-weight: 600;
    white-space: nowrap;
    line-height: 1.4;
}

.fin-product-badge--stage  { background: rgba(200,150,46,0.12); color: #8B6210; }
.fin-product-badge--debt   { background: rgba(0,0,48,0.09);     color: var(--navy); }
.fin-product-badge--mezz   { background: rgba(80,40,0,0.08);    color: #5C3000; }
.fin-product-badge--equity { background: rgba(0,64,0,0.09);     color: #004000; }
.fin-product-badge--agency { background: rgba(200,150,46,0.20); color: var(--gold); }

.fin-product-card h4 {
    font-size: 15px;
    line-height: 1.3;
    margin: 0;
    color: var(--text-dark);
}

.fin-product-card > p {
    font-size: 12px;
    color: var(--text-muted);
    line-height: 1.55;
    margin: 0;
    flex: 1;
}

.fin-product-specs {
    display: flex;
    flex-direction: column;
    gap: 7px;
    margin-top: auto;
    padding-top: 14px;
    border-top: 1px solid rgba(0,0,0,0.06);
}

.fin-product-spec {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 6px;
}

.fin-product-spec-label {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: var(--text-subtle);
}

.fin-product-spec-val {
    font-size: 11px;
    font-weight: 700;
    color: var(--text-dark);
    text-align: right;
}

/* ─── Capital Sources Grid (Financing page) ──────────────── */
.fin-sources-section {
    background: var(--white);
    padding: var(--space-xl) 0;
}

.fin-sources-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1px;
    background: rgba(0,0,0,0.07);
    border-radius: 6px;
    overflow: hidden;
    margin-top: 40px;
}

.fin-source-item {
    background: var(--white);
    padding: 22px 20px;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.fin-source-item strong {
    font-size: 14px;
    color: var(--navy);
    font-weight: 600;
}

.fin-source-item span {
    font-size: 12px;
    color: var(--text-muted);
    line-height: 1.4;
}

/* ─── Named Market Cards ─────────────────────────────────── */
.mkt-named-section { padding: var(--space-xl) 0; }

.mkt-named-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 32px;
    flex-wrap: wrap;
}

.mkt-named-top-row {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 1px;
    background: rgba(0,0,30,0.10);
    border-radius: 8px 8px 0 0;
    overflow: hidden;
}

.mkt-named-bot-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1px;
    background: rgba(0,0,30,0.10);
    border-radius: 0 0 8px 8px;
    overflow: hidden;
    margin-top: 1px;
}

.mkt-named-card {
    background: var(--white);
    padding: 30px 26px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.mkt-named-card--featured { background: var(--navy-deep); }

.mkt-named-card--featured .mkt-named-name    { color: var(--white); }
.mkt-named-card--featured .mkt-named-thesis  { color: rgba(255,255,255,0.58); }
.mkt-named-card--featured .mkt-named-sector-tag {
    background: rgba(255,255,255,0.08);
    color: rgba(255,255,255,0.62);
}
.mkt-named-card--featured .mkt-named-link { color: var(--gold); }

.mkt-named-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 9px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--gold);
    font-weight: 600;
}

.mkt-named-badge::before {
    content: '';
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--gold);
}

.mkt-named-name {
    font-family: var(--font-serif);
    font-size: 20px;
    font-weight: 700;
    color: var(--navy);
    line-height: 1.2;
    margin: 0;
}

.mkt-named-thesis {
    font-size: 13px;
    color: var(--text-muted);
    line-height: 1.65;
    flex: 1;
    margin: 0;
}

.mkt-named-sectors {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.mkt-named-sector-tag {
    font-size: 10px;
    padding: 3px 9px;
    background: rgba(0,0,48,0.06);
    border-radius: 3px;
    color: var(--navy);
    font-weight: 500;
    letter-spacing: 0.2px;
}

.mkt-named-link {
    font-size: 12px;
    color: var(--navy);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: 2px;
    font-weight: 500;
    transition: gap 0.2s;
}

.mkt-named-link:hover { gap: 8px; }

/* ─── Phase 15 Mobile ────────────────────────────────────── */
@media (max-width: 1100px) {
    .fin-products-grid     { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 1023px) {
    .aud-hero-inner        { grid-template-columns: 1fr; gap: 40px; }
    .aud-page-hero         { min-height: auto; padding: 120px 0 72px; }
    .mkt-named-top-row     { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 767px) {
    .aud-hero-ctas         { flex-direction: column; }
    .aud-hero-ctas .btn    { width: 100%; justify-content: center; }
    .fin-products-grid     { grid-template-columns: 1fr 1fr; background: transparent; gap: 10px; border: none; border-radius: 0; }
    .fin-product-card      { border-right: none; border: 1px solid rgba(0,0,0,0.08); border-radius: 6px; }
    .fin-product-card--agency { border-color: rgba(200,150,46,0.20); }
    .fin-sources-grid      { grid-template-columns: 1fr 1fr; }
    .mkt-named-top-row     { grid-template-columns: 1fr; }
    .mkt-named-bot-row     { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
    .fin-products-grid     { grid-template-columns: 1fr; }
    .fin-sources-grid      { grid-template-columns: 1fr; }
    .aud-page-hero         { padding: 110px 0 60px; }
    .mkt-named-card        { padding: 22px 18px; }
}


/* =====================================================
   PHASE 16 — Blog Insight Library & Footer Updates
====================================================== */

/* --- Blog page hero ---------------------------------- */
.blog-page-hero {
    background: var(--navy-deep);
    padding: 120px 0 0;
    border-bottom: 1px solid rgba(200,150,46,0.10);
}
.blog-hero-content {
    padding-bottom: 56px;
    max-width: 740px;
}
.blog-hero-kicker {
    color: var(--gold);
    font-family: var(--font-sans);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    margin-bottom: 18px;
}
.blog-hero-h1 {
    color: var(--white);
    font-family: var(--font-serif);
    font-size: clamp(32px, 4.5vw, 54px);
    line-height: 1.08;
    margin: 0 0 22px;
}
.blog-hero-lead {
    color: rgba(255,255,255,0.58);
    font-size: 16px;
    line-height: 1.65;
    margin: 0 0 36px;
    max-width: 580px;
}
.blog-hero-pills {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.blog-hero-pill {
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.10);
    border-radius: 100px;
    padding: 5px 15px;
    font-size: 12px;
    color: rgba(255,255,255,0.55);
    font-family: var(--font-sans);
    font-weight: 500;
}

/* --- Blog filter bar --------------------------------- */
.blog-filter-bar {
    background: var(--navy);
    border-bottom: 1px solid rgba(200,150,46,0.12);
}
.blog-filter-inner {
    display: flex;
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}
.blog-filter-inner::-webkit-scrollbar { display: none; }
.blog-filter-tab {
    flex-shrink: 0;
    padding: 14px 20px;
    font-family: var(--font-sans);
    font-size: 12px;
    font-weight: 500;
    color: rgba(255,255,255,0.40);
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    cursor: pointer;
    white-space: nowrap;
    letter-spacing: 0.04em;
    line-height: 1;
}
.blog-filter-tab--active {
    color: var(--gold);
    border-bottom-color: var(--gold);
    font-weight: 600;
}

/* --- Blog list section ------------------------------- */
.blog-list-section {
    background: var(--white);
    padding: 64px 0 80px;
}
.blog-section-eyebrow {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: var(--gold);
    font-family: var(--font-sans);
    margin-bottom: 24px;
}
.blog-grid-eyebrow {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: var(--text-muted);
    font-family: var(--font-sans);
    margin: 52px 0 24px;
}

/* --- Post page hero ---------------------------------- */
.post-page-hero {
    background: var(--navy-deep);
    padding: 120px 0 72px;
    border-bottom: 1px solid rgba(200,150,46,0.10);
}
.post-hero-inner { max-width: 820px; }
.post-back-dark {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: rgba(255,255,255,0.42);
    font-size: 13px;
    font-family: var(--font-sans);
    text-decoration: none;
    margin-bottom: 32px;
    transition: color 0.2s;
}
.post-back-dark:hover { color: var(--gold); }
.post-meta-bar {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 22px;
}
.post-title-dark {
    font-family: var(--font-serif);
    font-size: clamp(26px, 3.5vw, 46px);
    color: var(--white);
    line-height: 1.14;
    margin: 0 0 22px;
}
.post-excerpt-dark {
    color: rgba(255,255,255,0.55);
    font-size: 17px;
    line-height: 1.65;
    max-width: 680px;
    margin: 0;
    font-style: italic;
}

/* --- Post body layout -------------------------------- */
.post-body-section {
    background: var(--white);
    padding: 64px 0 80px;
}
.post-body-grid {
    display: grid;
    grid-template-columns: 1fr 260px;
    gap: 72px;
    align-items: start;
}
.post-content-col { min-width: 0; }
.post-sidebar {
    position: sticky;
    top: 96px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.post-sidebar-card {
    background: var(--cream);
    border: 1px solid rgba(0,0,30,0.08);
    border-radius: 6px;
    padding: 22px;
}
.post-sidebar-card--dark {
    background: var(--navy-deep);
    border-color: rgba(200,150,46,0.22);
}
.post-sidebar-heading {
    font-family: var(--font-serif);
    font-size: 15px;
    color: var(--navy);
    line-height: 1.3;
    margin: 0 0 10px;
}
.post-sidebar-card--dark .post-sidebar-heading { color: var(--white); }
.post-sidebar-body {
    font-size: 13px;
    color: var(--text-muted);
    line-height: 1.55;
    margin: 0 0 16px;
}
.post-sidebar-card--dark .post-sidebar-body { color: rgba(255,255,255,0.52); }
.post-sidebar-btn {
    display: block;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    font-family: var(--font-sans);
    padding: 11px 16px;
    border-radius: 4px;
    text-align: center;
    transition: background 0.2s;
}
.post-sidebar-btn--navy {
    background: var(--navy);
    color: var(--white);
}
.post-sidebar-btn--navy:hover { background: var(--navy-deep); }
.post-sidebar-btn--gold {
    background: var(--gold);
    color: var(--navy-deep);
}
.post-sidebar-btn--gold:hover { background: var(--gold-dark); }

/* Phase 16 Mobile */
@media (max-width: 900px) {
    .post-body-grid { grid-template-columns: 1fr; }
    .post-sidebar { position: static; flex-direction: row; flex-wrap: wrap; }
    .post-sidebar-card { flex: 1 1 240px; }
}
@media (max-width: 640px) {
    .blog-page-hero { padding: 96px 0 0; }
    .blog-hero-pills { display: none; }
    .blog-hero-content { padding-bottom: 40px; }
    .post-page-hero { padding: 96px 0 52px; }
    .post-body-section { padding: 40px 0 56px; }
    .post-sidebar { flex-direction: column; }
    .post-sidebar-card { flex: 1 1 100%; }
}


/* =====================================================
   PHASE 17 — Trust / Legal Pages
====================================================== */

/* --- Plain-language summary section ----------------- */
.disc-plain-section {
    background: var(--cream);
    padding: 72px 0 80px;
    border-bottom: 1px solid rgba(0,0,30,0.08);
}
.disc-plain-label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: var(--gold);
    font-family: var(--font-sans);
    margin-bottom: 10px;
}
.disc-plain-heading {
    font-family: var(--font-serif);
    font-size: clamp(24px, 3vw, 36px);
    color: var(--navy);
    margin: 0 0 44px;
    line-height: 1.2;
}

/* What we are / are not */
.disc-what-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 56px;
}
.disc-what-col {
    background: var(--white);
    border: 1px solid rgba(0,0,30,0.08);
    border-radius: 8px;
    padding: 28px 28px 24px;
}
.disc-what-col--yes { border-top: 3px solid rgba(0,120,60,0.45); }
.disc-what-col--no  { border-top: 3px solid rgba(180,30,30,0.35); }
.disc-what-heading {
    font-family: var(--font-sans);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    margin-bottom: 18px;
}
.disc-what-col--yes .disc-what-heading { color: rgb(0,100,50); }
.disc-what-col--no  .disc-what-heading { color: rgb(155,28,28); }
.disc-what-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 11px;
}
.disc-what-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 14px;
    line-height: 1.5;
    color: var(--text-dark);
}
.disc-what-icon {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
    margin-top: 1px;
}
.disc-what-icon--yes { background: rgba(0,120,60,0.10); color: rgb(0,100,50); }
.disc-what-icon--no  { background: rgba(180,30,30,0.09); color: rgb(155,28,28); }

/* Fee cards */
.disc-fee-heading {
    font-family: var(--font-serif);
    font-size: clamp(20px, 2.5vw, 28px);
    color: var(--navy);
    margin: 0 0 24px;
}
.disc-fee-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}
.disc-fee-card {
    background: var(--white);
    border: 1px solid rgba(0,0,30,0.08);
    border-radius: 8px;
    padding: 24px;
}
.disc-fee-num {
    font-family: var(--font-serif);
    font-size: 36px;
    color: var(--gold);
    line-height: 1;
    margin-bottom: 10px;
}
.disc-fee-label {
    font-size: 13px;
    font-weight: 700;
    color: var(--navy);
    font-family: var(--font-sans);
    margin: 0 0 8px;
}
.disc-fee-body {
    font-size: 13px;
    color: var(--text-muted);
    line-height: 1.6;
    margin: 0;
}

/* Phase 17 Mobile */
@media (max-width: 768px) {
    .disc-what-grid { grid-template-columns: 1fr; }
    .disc-fee-grid  { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
    .disc-plain-section { padding: 52px 0 60px; }
}


/* =====================================================
   PHASE 18 — Legal Page Redesign
====================================================== */

/* --- Legal page hero --------------------------------- */
.legal-page-hero {
    background: var(--navy-deep);
    padding: 120px 0 0;
}
.legal-hero-inner { padding-bottom: 40px; }
.legal-hero-title {
    font-family: var(--font-serif);
    font-size: clamp(32px, 4vw, 52px);
    color: var(--white);
    line-height: 1.1;
    margin: 10px 0 14px;
}
.legal-hero-meta {
    color: rgba(255,255,255,0.46);
    font-size: 15px;
    line-height: 1.65;
    font-family: var(--font-sans);
    margin: 0;
}

/* --- Legal page tab nav ----------------------------- */
.legal-page-nav {
    display: flex;
    border-top: 1px solid rgba(255,255,255,0.08);
}
.legal-page-nav-link {
    flex: 1;
    text-align: center;
    padding: 15px 12px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.34);
    text-decoration: none;
    border-top: 2px solid transparent;
    margin-top: -1px;
    font-family: var(--font-sans);
    transition: color 0.2s, border-color 0.2s;
}
.legal-page-nav-link--active {
    color: var(--gold);
    border-top-color: var(--gold);
}
.legal-page-nav-link:hover:not(.legal-page-nav-link--active) {
    color: rgba(255,255,255,0.62);
}

/* --- Legal content section -------------------------- */
.legal-content-section {
    background: var(--white);
    padding: 64px 0 96px;
}
.legal-content-section .legal-body {
    max-width: 760px;
    margin: 0 auto;
    padding: 0;
}

/* --- Fix footer bar contrast ------------------------ */
.footer-copy { color: rgba(255,255,255,0.32); font-size: 14px; }
.footer-legal-links { color: rgba(255,255,255,0.32); font-size: 14px; }
.footer-legal-links a { color: rgba(255,255,255,0.46); text-decoration: none; }
.footer-legal-links a:hover { color: var(--white); }

/* Phase 18 Mobile */
@media (max-width: 640px) {
    .legal-page-hero { padding: 96px 0 0; }
    .legal-hero-title { font-size: 30px; }
    .legal-page-nav-link { font-size: 10px; padding: 13px 6px; letter-spacing: 0.05em; }
    .legal-content-section { padding: 44px 0 64px; }
}

/* ==========================================================
   PHASE 19 — Homepage Trust & Micro-Conversion
   proof-section · mktbrief-strip
========================================================== */

/* --- Social Proof Section -------------------------------- */
.proof-section {
    background: var(--cream);
    padding: var(--space-xl) 0;
}

.proof-header {
    text-align: center;
    margin-bottom: 52px;
}

.proof-cols {
    display: grid;
    grid-template-columns: 1fr 1.35fr 1fr;
    gap: 28px;
    align-items: stretch;
    margin-bottom: 32px;
}

/* Outcome cards (left & right) */
.proof-outcome-card {
    background: var(--white);
    border-radius: var(--radius);
    padding: 40px 32px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    box-shadow: var(--shadow-card);
    border-top: 3px solid transparent;
    transition: border-color var(--transition), box-shadow var(--transition);
}

.proof-outcome-card:hover {
    border-top-color: var(--gold);
    box-shadow: var(--shadow-strong);
}

.proof-outcome-eyebrow {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--gold);
}

.proof-outcome-card h4 {
    font-family: var(--font-serif);
    font-size: 20px;
    color: var(--navy);
    margin: 0;
    line-height: 1.25;
}

.proof-outcome-card p {
    font-size: 15px;
    color: var(--text-medium);
    line-height: 1.7;
    margin: 0;
    flex: 1;
}

.proof-outcome-link {
    display: inline-block;
    font-size: 14px;
    font-weight: 600;
    color: var(--gold);
    letter-spacing: 0.02em;
    transition: opacity var(--transition);
    margin-top: 6px;
}
.proof-outcome-link:hover { opacity: 0.72; }

/* Center quote card */
.proof-quote-card {
    background: var(--navy);
    border-radius: var(--radius);
    padding: 44px 40px;
    display: flex;
    flex-direction: column;
    gap: 0;
    box-shadow: var(--shadow-strong);
}

.proof-quote-mark {
    font-family: var(--font-serif);
    font-size: 80px;
    color: var(--gold);
    opacity: 0.45;
    line-height: 0.9;
    margin-bottom: 12px;
    display: block;
}

.proof-quote-text {
    font-family: var(--font-serif);
    font-size: 17px;
    font-style: italic;
    color: var(--white);
    line-height: 1.7;
    flex: 1;
    margin-bottom: 28px;
}

.proof-quote-footer {
    display: flex;
    align-items: center;
    gap: 14px;
    padding-top: 24px;
    border-top: 1px solid rgba(255,255,255,0.1);
}

.proof-quote-mono {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--gold);
    color: var(--navy);
    font-weight: 700;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-family: var(--font-sans);
}

.proof-quote-name {
    font-size: 14px;
    font-weight: 600;
    color: var(--white);
    line-height: 1.3;
    font-family: var(--font-sans);
}

.proof-quote-role {
    font-size: 12px;
    color: rgba(255,255,255,0.46);
    margin-top: 3px;
    font-family: var(--font-sans);
}

/* Track record bar */
.proof-track-bar {
    display: flex;
    align-items: center;
    background: var(--navy);
    border-radius: var(--radius);
    padding: 36px 48px;
}

.proof-track-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 0 32px;
    flex: 1;
    text-align: center;
}

.proof-track-num {
    font-family: var(--font-serif);
    font-size: 38px;
    font-weight: 700;
    color: var(--gold);
    line-height: 1;
}

.proof-track-label {
    font-size: 13px;
    color: rgba(255,255,255,0.5);
    line-height: 1.4;
    max-width: 150px;
}

.proof-track-sep {
    width: 1px;
    height: 52px;
    background: rgba(255,255,255,0.1);
    flex-shrink: 0;
}

/* --- Market Brief Strip ---------------------------------- */
.mktbrief-strip {
    background: var(--blue-section);
    padding: 80px 0;
    border-top: 1px solid rgba(200,150,46,0.14);
    border-bottom: 1px solid rgba(200,150,46,0.14);
}

.mktbrief-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 72px;
    align-items: center;
}

.mktbrief-eyebrow {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 16px;
}

.mktbrief-title {
    font-family: var(--font-serif);
    font-size: clamp(28px, 3vw, 42px);
    color: var(--white);
    line-height: 1.18;
    margin-bottom: 16px;
}

.mktbrief-body {
    font-size: 16px;
    color: rgba(255,255,255,0.58);
    line-height: 1.75;
    margin-bottom: 20px;
}

.mktbrief-topics {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.mktbrief-topic {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.05em;
    color: rgba(255,255,255,0.5);
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 4px;
    padding: 5px 12px;
}

.mktbrief-right {
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: var(--radius);
    padding: 44px 40px;
}

.mktbrief-form-label {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.38);
    margin-bottom: 20px;
}

.mktbrief-input-row {
    display: flex;
    gap: 12px;
}

.mktbrief-input {
    flex: 1;
    background: rgba(255,255,255,0.07);
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: 6px;
    padding: 14px 18px;
    font-size: 15px;
    color: var(--white);
    font-family: var(--font-sans);
    transition: border-color var(--transition);
    min-width: 0;
}

.mktbrief-input::placeholder { color: rgba(255,255,255,0.32); }
.mktbrief-input:focus { outline: none; border-color: var(--gold); }

.mktbrief-fine {
    font-size: 12px;
    color: rgba(255,255,255,0.28);
    margin-top: 12px;
}

/* Phase 19 Responsive */
@media (max-width: 1023px) {
    .proof-cols         { grid-template-columns: 1fr; }
    .proof-track-bar    { flex-direction: column; gap: 24px; padding: 32px 24px; }
    .proof-track-sep    { width: 60px; height: 1px; }
    .proof-track-item   { padding: 0; }
    .mktbrief-inner     { grid-template-columns: 1fr; gap: 40px; }
}

@media (max-width: 767px) {
    .proof-outcome-card  { padding: 28px 24px; }
    .proof-quote-card    { padding: 32px 24px; }
    .proof-quote-text    { font-size: 15px; }
    .proof-track-num     { font-size: 30px; }
    .mktbrief-right      { padding: 28px 24px; }
    .mktbrief-input-row  { flex-direction: column; }
}


/* ==========================================================
   PHASE 20 — Homepage Redesign
   hero-glass · stagger · count-up · intro-proof ·
   service-bento · audience-num · process-timeline · reveal
========================================================== */

/* ── Hero Overlay — stronger on-palette gradient ────────── */
.hero-overlay {
    background: linear-gradient(105deg,
        rgba(0,0,32,0.92) 0%,
        rgba(0,0,48,0.72) 50%,
        rgba(0,0,48,0.38) 100%);
}

/* ── Hero stagger (JS adds .hero-animated) ───────────────── */
@media (prefers-reduced-motion: no-preference) {
    @keyframes heroFadeUp {
        from { opacity: 0; transform: translateY(18px); }
        to   { opacity: 1; transform: translateY(0); }
    }
    .hero-animated .section-label {
        animation: heroFadeUp 0.65s cubic-bezier(0.22,1,0.36,1)   0ms both;
    }
    .hero-animated h1 {
        animation: heroFadeUp 0.65s cubic-bezier(0.22,1,0.36,1)  80ms both;
    }
    .hero-animated .hero-body {
        animation: heroFadeUp 0.65s cubic-bezier(0.22,1,0.36,1) 160ms both;
    }
    .hero-animated .hero-paths {
        animation: heroFadeUp 0.65s cubic-bezier(0.22,1,0.36,1) 240ms both;
    }
}

/* ── Hero Path Cards — glassmorphism ─────────────────────── */
.hero-paths { margin-top: 44px; }

.hero-paths-eyebrow {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.44);
    margin-bottom: 16px;
    font-family: var(--font-sans);
}

.hero-paths-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}

.hero-path-card {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 22px 20px 20px;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.14);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-radius: var(--radius);
    text-decoration: none;
    transition: transform 0.22s ease, border-color 0.22s ease, background 0.22s ease;
}

.hero-path-card:hover {
    transform: translateY(-3px);
    border-color: rgba(200,150,46,0.65);
    background: rgba(255,255,255,0.09);
}

.hero-path-card:focus-visible {
    outline: 2px solid var(--gold);
    outline-offset: 2px;
}

.hero-path-num {
    font-family: var(--font-serif);
    font-size: 32px;
    font-weight: 700;
    color: var(--gold);
    opacity: 0.6;
    line-height: 1;
    display: block;
    margin-bottom: 8px;
}

.hero-path-role {
    display: block;
    font-family: var(--font-sans);
    font-size: 15px;
    font-weight: 600;
    color: var(--white);
    line-height: 1.2;
}

.hero-path-desc {
    display: block;
    font-size: 13px;
    color: rgba(255,255,255,0.50);
    line-height: 1.4;
    margin-bottom: 8px;
}

.hero-path-arrow {
    display: block;
    color: var(--gold);
    font-size: 17px;
    margin-top: auto;
    transition: transform 0.22s ease;
}

.hero-path-card:hover .hero-path-arrow { transform: translateX(5px); }

.hero-paths-link {
    display: inline-block;
    margin-top: 18px;
    font-size: 13px;
    color: rgba(255,255,255,0.42);
    text-decoration: none;
    transition: color 0.2s;
}
.hero-paths-link:hover { color: rgba(255,255,255,0.70); }

/* ── Stats — larger numbers, count-up structure ──────────── */
.stat-dark-num {
    font-size: clamp(40px, 5vw, 60px);
    line-height: 1;
}
.stat-count-display { display: block; }

/* ── Intro-Split — asymmetric grid ───────────────────────── */
.intro-split-grid {
    grid-template-columns: 1.3fr 1fr;
    gap: 64px;
    align-items: center;
}

/* Proof panel (replaces mini-cards) */
.intro-proof-panel {
    background: var(--navy);
    border: 1px solid rgba(200,150,46,0.20);
    border-top: 3px solid var(--gold);
    border-radius: var(--radius);
    padding: 44px 40px;
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.intro-proof-tagline {
    font-family: var(--font-serif);
    font-size: clamp(18px, 1.9vw, 24px);
    font-style: italic;
    color: var(--white);
    line-height: 1.55;
    margin: 0;
}

.intro-proof-badge-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.intro-proof-badge {
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.10);
    border-radius: 8px;
    padding: 18px 16px;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.intro-proof-badge-num {
    font-family: var(--font-serif);
    font-size: 30px;
    font-weight: 700;
    color: var(--gold);
    line-height: 1;
    display: block;
}

.intro-proof-badge-label {
    font-size: 12px;
    color: rgba(255,255,255,0.42);
    line-height: 1.45;
    display: block;
}

/* ── Services — cream background ─────────────────────────── */
.services-modern { background: var(--cream); }

/* ── Service Bento Grid ───────────────────────────────────── */
.service-bento-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

/* Explicit desktop placement for 2×2 featured block */
.service-bento-item--featured    { grid-column: 1 / 3; grid-row: 1 / 3; }
.service-bento-item:nth-child(2) { grid-column: 3;     grid-row: 1; }
.service-bento-item:nth-child(3) { grid-column: 3;     grid-row: 2; }
.service-bento-item:nth-child(4) { grid-column: 1;     grid-row: 3; }
.service-bento-item:nth-child(5) { grid-column: 2;     grid-row: 3; }
.service-bento-item:nth-child(6) { grid-column: 3;     grid-row: 3; }

.service-bento-item {
    background: var(--white);
    border: 1px solid rgba(0,0,30,0.08);
    border-top: 3px solid transparent;
    border-radius: var(--radius);
    padding: 32px 28px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    position: relative;
    overflow: hidden;
    transition: border-top-color var(--transition), box-shadow var(--transition), transform var(--transition);
}

.service-bento-item:hover {
    border-top-color: var(--gold);
    box-shadow: var(--shadow-strong);
    transform: translateY(-2px);
}

.service-bento-item--featured {
    background: var(--navy);
    border: none;
    border-top: 3px solid var(--gold);
    padding: 44px 40px;
}

.service-bento-item--featured:hover {
    border-top-color: var(--gold);
    transform: translateY(-2px);
}

.sbi-num {
    font-family: var(--font-serif);
    font-size: 60px;
    font-weight: 700;
    color: rgba(0,0,30,0.09);
    line-height: 1;
    position: absolute;
    top: 14px;
    right: 20px;
    pointer-events: none;
    user-select: none;
}

.service-bento-item--featured .sbi-num {
    color: rgba(255,255,255,0.07);
    font-size: 88px;
    top: 12px;
    right: 24px;
}

.service-bento-item h4 {
    font-family: var(--font-serif);
    font-size: 18px;
    color: var(--navy);
    margin: 0;
    line-height: 1.25;
    position: relative;
    z-index: 1;
}

.service-bento-item--featured h4 {
    font-size: clamp(22px, 2.2vw, 30px);
    color: var(--white);
}

.service-bento-item > p {
    font-size: 14px;
    color: var(--text-medium);
    line-height: 1.7;
    margin: 0;
    flex: 1;
    position: relative;
    z-index: 1;
}

.service-bento-item--featured > p {
    font-size: 16px;
    color: rgba(255,255,255,0.58);
    max-width: 460px;
}

.sbi-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 600;
    color: var(--gold);
    text-decoration: none;
    position: relative;
    z-index: 1;
    margin-top: auto;
    transition: gap 0.2s ease;
}
.sbi-link:hover { gap: 10px; }
.service-bento-item--featured .sbi-link { font-size: 15px; }

/* ── Audience number badges ───────────────────────────────── */
.audience-card { position: relative; }

.audience-num {
    position: absolute;
    top: 18px;
    right: 18px;
    font-family: var(--font-serif);
    font-size: 64px;
    font-weight: 700;
    color: rgba(255,255,255,0.10);
    line-height: 1;
    pointer-events: none;
    z-index: 2;
    user-select: none;
}

/* ── Process timeline progress ────────────────────────────── */
.process-timeline-track {
    position: relative;
    height: 3px;
    background: rgba(255,255,255,0.08);
    border-radius: 2px;
    margin: 32px 0 44px;
    overflow: hidden;
}

.process-timeline-fill {
    position: absolute;
    top: 0; left: 0;
    height: 100%;
    width: 0%;
    background: var(--gold);
    border-radius: 2px;
    transition: width 0.12s linear;
}

.process-card--active .process-card-num { color: var(--gold); }

/* ── Scroll-reveal utility ────────────────────────────────── */
@media (prefers-reduced-motion: no-preference) {
    .reveal {
        opacity: 0;
        transform: translateY(22px);
        transition: opacity 0.65s cubic-bezier(0.22,1,0.36,1),
                    transform 0.65s cubic-bezier(0.22,1,0.36,1);
    }
    .reveal.revealed { opacity: 1; transform: translateY(0); }

    .reveal-stagger > * {
        opacity: 0;
        transform: translateY(18px);
        transition: opacity 0.6s cubic-bezier(0.22,1,0.36,1),
                    transform 0.6s cubic-bezier(0.22,1,0.36,1);
    }
    .reveal-stagger.revealed > * { opacity: 1; transform: translateY(0); }
    .reveal-stagger.revealed > *:nth-child(1) { transition-delay:   0ms; }
    .reveal-stagger.revealed > *:nth-child(2) { transition-delay:  80ms; }
    .reveal-stagger.revealed > *:nth-child(3) { transition-delay: 160ms; }
    .reveal-stagger.revealed > *:nth-child(4) { transition-delay: 240ms; }
    .reveal-stagger.revealed > *:nth-child(5) { transition-delay: 320ms; }
    .reveal-stagger.revealed > *:nth-child(6) { transition-delay: 400ms; }
}

/* ── Phase 20 Responsive ──────────────────────────────────── */
@media (max-width: 1023px) {
    .hero-paths-grid      { grid-template-columns: 1fr 1fr; }
    .intro-split-grid     { grid-template-columns: 1fr; gap: 40px; }
    .service-bento-grid   { grid-template-columns: 1fr 1fr; }
    .service-bento-item--featured    { grid-column: 1 / 3; grid-row: 1; }
    .service-bento-item:nth-child(2),
    .service-bento-item:nth-child(3),
    .service-bento-item:nth-child(4),
    .service-bento-item:nth-child(5),
    .service-bento-item:nth-child(6) { grid-column: auto; grid-row: auto; }
}

@media (max-width: 767px) {
    .hero-paths-grid      { grid-template-columns: 1fr; }
    .service-bento-grid   { grid-template-columns: 1fr; }
    .service-bento-item--featured { grid-column: 1; grid-row: auto; }
    .intro-proof-badge-row { grid-template-columns: 1fr 1fr; }
    .audience-num         { font-size: 44px; }
    .sbi-num              { font-size: 44px; }
    .service-bento-item--featured .sbi-num { font-size: 64px; }
}

@media (max-width: 640px) {
    .intro-proof-panel    { padding: 32px 24px; }
    .intro-proof-badge-row { grid-template-columns: 1fr; }
    .service-bento-item   { padding: 24px 22px; }
    .service-bento-item--featured { padding: 32px 28px; }
    .hero-path-card       { padding: 16px 16px 14px; }
}


/* ==========================================================
   PHASE 21 — Homepage Polish (v2 contrast & detail fixes)
   hero-shadow · hero-vignette · process-contrast ·
   stat-labels · header-transparent
========================================================== */

/* ── Header: transparent over hero, solid on scroll ─────── */
.site-header {
    background: rgba(0,0,30,0.0);
    transition: background 0.30s ease, box-shadow 0.30s ease;
}
.site-header.scrolled {
    background: var(--navy);
    box-shadow: 0 4px 24px rgba(0,0,0,0.25);
}
/* Keep header solid when mobile nav is open */
body.nav-open .site-header { background: var(--navy); }

/* ── Hero text readability ────────────────────────────────── */
.hero-content .section-label,
.hero-content h1,
.hero-content .hero-body {
    text-shadow: 0 1px 4px rgba(0,0,0,0.45);
}
.hero-body { color: rgba(255,255,255,0.94); }

/* ── Hero bottom vignette ─────────────────────────────────── */
.hero::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 240px;
    background: linear-gradient(to top,
        rgba(0,0,32,0.60) 0%,
        rgba(0,0,32,0.00) 100%);
    pointer-events: none;
    z-index: 1;
}
.hero .container { position: relative; z-index: 2; }

/* ── Process card (How It Works) contrast ─────────────────── */
.process-card {
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.10);
}
.process-card-num {
    color: var(--gold);
    opacity: 0.30;
}
.process-card:hover .process-card-num { opacity: 0.60; }
.process-card p { color: rgba(255,255,255,0.70); }

/* ── Outcomes stat bar label contrast ─────────────────────── */
.proof-track-label { color: rgba(255,255,255,0.65); }

/* ── Markets DFW overlay — on-palette gradient ────────────── */
.mkt-featured-overlay {
    background: linear-gradient(
        to top,
        rgba(0,0,30,0.96) 0%,
        rgba(0,0,30,0.46) 55%,
        rgba(0,0,30,0.10) 100%
    );
}
.mkt-featured:hover .mkt-featured-overlay {
    background: linear-gradient(
        to top,
        rgba(0,0,30,0.98) 0%,
        rgba(0,0,30,0.60) 55%,
        rgba(0,0,30,0.22) 100%
    );
}

/* ── Hero path cards — slightly more padding ──────────────── */
.hero-path-card { padding: 26px 22px 24px; }
.hero-path-num  { font-size: 36px; }
.hero-path-role { font-size: 16px; }

/* ── Phase 21 Responsive ──────────────────────────────────── */
@media (max-width: 767px) {
    .hero-path-card  { padding: 18px 18px 16px; }
    .hero::after     { height: 160px; }
}


/* ==========================================================
   PHASE 22 — Capital Partner Final CTA Redesign
   cp-cta-final · cp-cta-grid · cp-cta-card
========================================================== */

.cp-cta-final {
    background: var(--navy-deep);
    padding: var(--space-xxl) 0;
    border-top: 1px solid rgba(200,150,46,0.18);
    position: relative;
    overflow: hidden;
}

/* Decorative radial accent — top-right */
.cp-cta-final::before {
    content: '';
    position: absolute;
    top: -160px; right: -120px;
    width: 560px; height: 560px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(200,150,46,0.06) 0%, transparent 70%);
    pointer-events: none;
}

.cp-cta-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}

/* Left — editorial proposition */
.cp-cta-left .section-label { margin-bottom: 18px; }

.cp-cta-left h2 {
    color: var(--white);
    font-size: clamp(28px, 3vw, 42px);
    line-height: 1.15;
    margin-bottom: 22px;
}

.cp-cta-body {
    font-size: 17px;
    color: rgba(255,255,255,0.60);
    line-height: 1.78;
    margin-bottom: 40px;
    max-width: 460px;
}

.cp-cta-steps {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.cp-cta-steps li {
    display: flex;
    align-items: center;
    gap: 16px;
    font-size: 15px;
    color: rgba(255,255,255,0.70);
    line-height: 1.4;
}

.cp-cta-step-num {
    font-family: var(--font-sans);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: var(--gold);
    background: rgba(200,150,46,0.10);
    border: 1px solid rgba(200,150,46,0.28);
    border-radius: 4px;
    padding: 3px 9px;
    flex-shrink: 0;
}

/* Right — action card */
.cp-cta-card {
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(200,150,46,0.20);
    border-top: 3px solid var(--gold);
    border-radius: var(--radius);
    padding: 48px 44px;
    display: flex;
    flex-direction: column;
    gap: 0;
    position: relative;
    z-index: 1;
}

.cp-cta-fee-row {
    display: flex;
    align-items: baseline;
    gap: 16px;
    padding-bottom: 28px;
    margin-bottom: 20px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}

.cp-cta-fee-num {
    font-family: var(--font-serif);
    font-size: 58px;
    font-weight: 700;
    color: var(--gold);
    line-height: 1;
}

.cp-cta-fee-label {
    font-size: 14px;
    font-weight: 600;
    color: rgba(255,255,255,0.52);
    line-height: 1.45;
    font-family: var(--font-sans);
}

.cp-cta-card-body {
    font-size: 15px;
    color: rgba(255,255,255,0.55);
    line-height: 1.72;
    margin: 0 0 28px;
}

.cp-cta-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    width: 100%;
    margin-bottom: 16px;
}

.cp-cta-phone {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 15px;
    font-family: var(--font-sans);
    color: rgba(255,255,255,0.44);
    text-decoration: none;
    margin-bottom: 24px;
    transition: color 0.2s ease;
}
.cp-cta-phone:hover { color: rgba(255,255,255,0.80); }

.cp-cta-fine {
    font-size: 12px;
    color: rgba(255,255,255,0.26);
    text-align: center;
    border-top: 1px solid rgba(255,255,255,0.06);
    padding-top: 18px;
    margin: 0;
    line-height: 1.6;
}

/* Phase 22 Responsive */
@media (max-width: 1023px) {
    .cp-cta-grid { grid-template-columns: 1fr; gap: 52px; }
    .cp-cta-body  { max-width: 100%; }
}

@media (max-width: 767px) {
    .cp-cta-final  { padding: 64px 0; }
    .cp-cta-card   { padding: 36px 28px; }
    .cp-cta-fee-num { font-size: 44px; }
    .cp-cta-grid   { gap: 40px; }
}


/* ============================================================
   PHASE 23 — SECTORS HUB + EDGE LANDING PAGES + CAPITAL MENU
   Adds: /sectors hub, 5 edge sector landing pages,
         financing.php Capital Solutions Menu expansion,
         market-growth chart UI.
   ============================================================ */

/* ─────────────────────────────────────────────
   SECTION 23.1 — Edge Verticals Spotlight (hub)
   ───────────────────────────────────────────── */
.sec-edge-section {
    background: var(--cream);
    padding: var(--space-xl) 0;
}
.sec-edge-header {
    text-align: center;
    max-width: 760px;
    margin: 0 auto 56px;
}
.sec-edge-header h2 {
    margin-top: 12px;
    margin-bottom: 18px;
}
.sec-edge-intro {
    color: var(--text-medium);
    font-size: 17px;
    line-height: 1.7;
    margin: 0;
}
.sec-edge-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}
.sec-edge-card {
    position: relative;
    background: var(--white);
    border: 1px solid var(--gray-light);
    border-radius: var(--radius);
    padding: 32px 28px 28px;
    text-decoration: none;
    color: var(--text-dark);
    transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
    box-shadow: var(--shadow-card);
    display: flex;
    flex-direction: column;
    min-height: 240px;
}
.sec-edge-card:hover {
    transform: translateY(-4px);
    border-color: rgba(200, 150, 46, 0.50);
    box-shadow: 0 12px 32px rgba(0, 0, 48, 0.10);
}
.sec-edge-num {
    font-family: var(--font-serif);
    font-size: 44px;
    font-weight: 700;
    color: rgba(200, 150, 46, 0.32);
    line-height: 1;
    margin-bottom: 16px;
    transition: color 0.22s ease;
}
.sec-edge-card:hover .sec-edge-num {
    color: var(--gold);
}
.sec-edge-card h4 {
    font-family: var(--font-serif);
    font-size: 22px;
    margin: 0 0 10px;
    color: var(--text-dark);
}
.sec-edge-card p {
    font-size: 15px;
    color: var(--text-medium);
    line-height: 1.6;
    margin: 0 0 18px;
    flex: 1;
}
.sec-edge-link {
    font-family: var(--font-sans);
    font-size: 13px;
    font-weight: 600;
    color: var(--gold);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    transition: gap 0.22s ease;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.sec-edge-card:hover .sec-edge-link {
    gap: 12px;
}

/* Ghost card (last one) */
.sec-edge-card--ghost {
    background: transparent;
    border: 1px dashed rgba(0, 0, 48, 0.22);
    box-shadow: none;
    cursor: default;
}
.sec-edge-card--ghost:hover {
    transform: none;
    border-color: rgba(200, 150, 46, 0.50);
    box-shadow: none;
}
.sec-edge-card--ghost .sec-edge-num {
    color: rgba(0, 0, 48, 0.30);
}
.sec-edge-card--ghost h4 {
    color: var(--navy);
}

/* ─────────────────────────────────────────────
   SECTION 23.2 — Pillar Sections (hub)
   ───────────────────────────────────────────── */
.sec-pillar-section {
    padding: var(--space-xl) 0;
}
.sec-pillar-section--re {
    background: var(--white);
}
.sec-pillar-section--ops {
    background: var(--navy-deep);
    color: var(--white);
}
.sec-pillar-section--ops h2,
.sec-pillar-section--ops h3,
.sec-pillar-section--ops h4 {
    color: var(--white);
}
.sec-pillar-header {
    max-width: 760px;
    margin: 0 auto 56px;
    text-align: center;
}
.sec-pillar-tag {
    display: inline-block;
    font-family: var(--font-sans);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--gold);
    background: rgba(200, 150, 46, 0.10);
    border: 1px solid rgba(200, 150, 46, 0.30);
    border-radius: 4px;
    padding: 5px 12px;
    margin-bottom: 20px;
}
.sec-pillar-section--re .sec-pillar-tag {
    background: rgba(200, 150, 46, 0.10);
}
.sec-pillar-header h2 {
    margin: 0 0 16px;
    font-size: 42px;
}
.sec-pillar-intro {
    font-size: 17px;
    line-height: 1.7;
    color: var(--text-medium);
    margin: 0;
}
.sec-pillar-section--ops .sec-pillar-intro {
    color: rgba(255, 255, 255, 0.72);
}
.sec-cat-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
}
.sec-cat-grid--dark {
    grid-template-columns: repeat(3, 1fr);
}
.sec-cat-card {
    background: var(--white);
    border: 1px solid var(--gray-light);
    border-radius: var(--radius);
    padding: 32px 30px;
    transition: border-color 0.22s ease, transform 0.22s ease;
}
.sec-cat-card:hover {
    border-color: rgba(200, 150, 46, 0.40);
    transform: translateY(-2px);
}
.sec-cat-card--dark {
    background: rgba(255, 255, 255, 0.035);
    border: 1px solid rgba(255, 255, 255, 0.10);
}
.sec-cat-card--dark:hover {
    border-color: rgba(200, 150, 46, 0.50);
    background: rgba(255, 255, 255, 0.05);
}
.sec-cat-head {
    display: flex;
    align-items: baseline;
    gap: 18px;
    margin-bottom: 24px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--gray-light);
}
.sec-cat-card--dark .sec-cat-head {
    border-bottom-color: rgba(255, 255, 255, 0.10);
}
.sec-cat-num {
    font-family: var(--font-serif);
    font-size: 32px;
    font-weight: 700;
    color: rgba(200, 150, 46, 0.55);
    line-height: 1;
}
.sec-cat-head h3 {
    font-family: var(--font-serif);
    font-size: 24px;
    margin: 0;
    color: var(--text-dark);
    flex: 1;
}
.sec-cat-card--dark .sec-cat-head h3 {
    color: var(--white);
}
.sec-cat-chips {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.sec-cat-chips li {
    position: relative;
    padding-left: 18px;
    font-size: 14.5px;
    line-height: 1.55;
    color: var(--text-medium);
}
.sec-cat-chips li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 9px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--gold);
    opacity: 0.5;
}
.sec-cat-card--dark .sec-cat-chips li {
    color: rgba(255, 255, 255, 0.78);
}
.sec-cat-card--dark .sec-cat-chips li::before {
    opacity: 0.7;
}

/* ─────────────────────────────────────────────
   SECTION 23.3 — Capital Solutions Teaser (hub)
   ───────────────────────────────────────────── */
.sec-cap-section {
    background: var(--cream);
    padding: var(--space-xl) 0;
}
.sec-cap-header {
    text-align: center;
    max-width: 780px;
    margin: 0 auto 56px;
}
.sec-cap-header h2 {
    margin: 12px 0 18px;
}
.sec-cap-intro {
    font-size: 17px;
    line-height: 1.7;
    color: var(--text-medium);
    margin: 0;
}
.sec-cap-tiles {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    margin-bottom: 48px;
}
.sec-cap-tile {
    background: var(--white);
    border: 1px solid var(--gray-light);
    border-radius: var(--radius);
    padding: 32px 28px;
    transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
    box-shadow: var(--shadow-card);
}
.sec-cap-tile:hover {
    transform: translateY(-3px);
    border-color: rgba(200, 150, 46, 0.45);
    box-shadow: 0 10px 28px rgba(0, 0, 48, 0.09);
}
.sec-cap-tile--featured {
    background: var(--navy);
    color: var(--white);
    border: 1px solid var(--gold);
    border-top: 3px solid var(--gold);
}
.sec-cap-tile-tag {
    display: inline-block;
    font-family: var(--font-sans);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--gold);
    background: rgba(200, 150, 46, 0.10);
    border: 1px solid rgba(200, 150, 46, 0.30);
    border-radius: 4px;
    padding: 4px 10px;
    margin-bottom: 14px;
}
.sec-cap-tile h4 {
    font-family: var(--font-serif);
    font-size: 20px;
    margin: 0 0 18px;
    color: var(--text-dark);
}
.sec-cap-tile--featured h4 {
    color: var(--white);
}
.sec-cap-tile-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.sec-cap-tile-list li {
    position: relative;
    padding-left: 16px;
    font-size: 14px;
    line-height: 1.55;
    color: var(--text-medium);
}
.sec-cap-tile-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--gold);
    opacity: 0.55;
}
.sec-cap-tile--featured .sec-cap-tile-list li {
    color: rgba(255, 255, 255, 0.80);
}
.sec-cap-tile--featured .sec-cap-tile-list li::before {
    opacity: 1;
}
.sec-cap-cta {
    text-align: center;
}

/* ─────────────────────────────────────────────
   SECTION 23.4 — Market Outlook Chart (edge pages)
   ───────────────────────────────────────────── */
.mkt-chart-section {
    background: var(--white);
    padding: var(--space-xl) 0;
    border-top: 1px solid var(--gray-light);
    border-bottom: 1px solid var(--gray-light);
}
.mkt-chart-header {
    text-align: center;
    max-width: 780px;
    margin: 0 auto 56px;
}
.mkt-chart-header h2 {
    margin: 12px 0 18px;
}
.mkt-chart-intro {
    font-size: 17px;
    line-height: 1.7;
    color: var(--text-medium);
    margin: 0;
}
.mkt-chart-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr) 1.8fr;
    gap: 22px;
    align-items: stretch;
    margin-bottom: 24px;
}
.mkt-chart-stat {
    background: var(--cream);
    border: 1px solid var(--gray-light);
    border-radius: var(--radius);
    padding: 30px 26px 26px;
    display: flex;
    flex-direction: column;
}
.mkt-chart-stat-num {
    font-family: var(--font-serif);
    font-size: 44px;
    font-weight: 700;
    color: var(--navy);
    line-height: 1;
    margin-bottom: 12px;
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
}
.mkt-chart-arrow {
    font-size: 22px;
    color: var(--gold);
    line-height: 1;
}
.mkt-chart-stat-label {
    font-family: var(--font-sans);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 12px;
}
.mkt-chart-stat-note {
    font-size: 13.5px;
    color: var(--text-medium);
    line-height: 1.55;
    margin: 0;
    margin-top: auto;
}
.mkt-chart-visual {
    background: var(--navy-deep);
    border-radius: var(--radius);
    padding: 26px 24px 18px;
    color: var(--white);
    display: flex;
    flex-direction: column;
}
.mkt-chart-visual-label {
    font-family: var(--font-sans);
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.65);
    margin: 0 0 18px;
}
.mkt-bars {
    flex: 1;
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 8px;
    align-items: end;
    min-height: 180px;
}
.mkt-bar {
    position: relative;
    background: linear-gradient(180deg, rgba(200, 150, 46, 0.32) 0%, rgba(200, 150, 46, 0.55) 100%);
    border-top: 2px solid var(--gold);
    border-radius: 2px 2px 0 0;
    height: var(--h);
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding-bottom: 4px;
    transition: height 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}
.mkt-bar--end {
    background: linear-gradient(180deg, rgba(200, 150, 46, 0.70) 0%, var(--gold) 100%);
    border-top: 2px solid var(--gold);
}
.mkt-bar-val {
    position: absolute;
    top: -22px;
    left: 50%;
    transform: translateX(-50%);
    font-family: var(--font-sans);
    font-size: 11px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.85);
    white-space: nowrap;
}
.mkt-bar-yr {
    font-family: var(--font-sans);
    font-size: 10px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.55);
    position: absolute;
    bottom: -18px;
    left: 50%;
    transform: translateX(-50%);
}
/* ─────────────────────────────────────────────
   SECTION 23.5 — What We Cover (edge pages)
   ───────────────────────────────────────────── */
.sec-cover-section {
    background: var(--cream);
    padding: var(--space-xl) 0;
}
.sec-cover-header {
    text-align: center;
    max-width: 760px;
    margin: 0 auto 56px;
}
.sec-cover-header h2 {
    margin: 12px 0 0;
}
.sec-cover-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}
.sec-cover-card {
    background: var(--white);
    border: 1px solid var(--gray-light);
    border-radius: var(--radius);
    padding: 30px 28px 28px;
    transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
    box-shadow: var(--shadow-card);
}
.sec-cover-card:hover {
    transform: translateY(-3px);
    border-color: rgba(200, 150, 46, 0.45);
    box-shadow: 0 10px 28px rgba(0, 0, 48, 0.08);
}
.sec-cover-num {
    font-family: var(--font-serif);
    font-size: 30px;
    font-weight: 700;
    color: rgba(200, 150, 46, 0.55);
    line-height: 1;
    display: block;
    margin-bottom: 16px;
}
.sec-cover-card h4 {
    font-family: var(--font-serif);
    font-size: 20px;
    margin: 0 0 10px;
    color: var(--text-dark);
}
.sec-cover-card p {
    font-size: 14.5px;
    color: var(--text-medium);
    line-height: 1.6;
    margin: 0;
}

/* ─────────────────────────────────────────────
   SECTION 23.6 — Capital Relevant (edge pages)
   ───────────────────────────────────────────── */
.sec-cap-relevant {
    background: var(--white);
    padding: var(--space-xl) 0;
}
.sec-cap-relevant-header {
    max-width: 800px;
    margin: 0 auto 48px;
    text-align: center;
}
.sec-cap-relevant-header h2 {
    margin: 12px 0 18px;
}
.sec-cap-relevant-intro {
    font-size: 17px;
    line-height: 1.7;
    color: var(--text-medium);
    margin: 0;
}
.sec-cap-relevant-rows {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.sec-cap-relevant-row {
    display: grid;
    grid-template-columns: 64px 280px 1fr;
    align-items: center;
    gap: 28px;
    background: var(--cream);
    border: 1px solid var(--gray-light);
    border-left: 3px solid var(--gold);
    border-radius: var(--radius);
    padding: 22px 28px;
    transition: transform 0.22s ease, border-color 0.22s ease;
}
.sec-cap-relevant-row:hover {
    transform: translateX(2px);
    border-left-color: var(--gold);
    border-color: rgba(200, 150, 46, 0.30);
}
.sec-cap-relevant-num {
    font-family: var(--font-serif);
    font-size: 30px;
    font-weight: 700;
    color: var(--gold);
    line-height: 1;
}
.sec-cap-relevant-meta h4 {
    font-family: var(--font-serif);
    font-size: 20px;
    margin: 0 0 6px;
    color: var(--text-dark);
}
.sec-cap-relevant-tag {
    font-family: var(--font-sans);
    font-size: 12px;
    font-weight: 500;
    color: var(--text-muted);
    letter-spacing: 0.02em;
}
.sec-cap-relevant-body {
    font-size: 15px;
    color: var(--text-medium);
    line-height: 1.6;
    margin: 0;
}

/* ─────────────────────────────────────────────
   SECTION 23.7 — Edge Detail (Why Our Edge)
   ───────────────────────────────────────────── */
.sec-edge-detail-section {
    background: var(--navy-deep);
    padding: var(--space-xl) 0;
    color: var(--white);
}
.sec-edge-detail-header {
    text-align: center;
    max-width: 760px;
    margin: 0 auto 56px;
}
.sec-edge-detail-header h2 {
    margin: 12px 0 0;
    color: var(--white);
}
.sec-edge-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 22px;
}
.sec-edge-detail-card {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.10);
    border-top: 2px solid rgba(200, 150, 46, 0.50);
    border-radius: var(--radius);
    padding: 30px 28px;
    transition: border-color 0.22s ease, background 0.22s ease;
}
.sec-edge-detail-card:hover {
    border-color: rgba(200, 150, 46, 0.45);
    background: rgba(255, 255, 255, 0.055);
}
.sec-edge-detail-card h4 {
    font-family: var(--font-serif);
    font-size: 22px;
    margin: 0 0 12px;
    color: var(--white);
}
.sec-edge-detail-card p {
    font-size: 15px;
    color: rgba(255, 255, 255, 0.75);
    line-height: 1.65;
    margin: 0;
}

/* ─────────────────────────────────────────────
   SECTION 23.8 — Capital Solutions Menu (financing.php)
   ───────────────────────────────────────────── */
.fin-menu-section {
    background: var(--cream);
    padding: var(--space-xl) 0;
}
.fin-menu-header {
    text-align: center;
    max-width: 780px;
    margin: 0 auto 56px;
}
.fin-menu-header h2 {
    margin: 12px 0 18px;
}
.fin-menu-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    margin-bottom: 48px;
}
.fin-menu-tile {
    background: var(--white);
    border: 1px solid var(--gray-light);
    border-radius: var(--radius);
    padding: 34px 30px 30px;
    transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
    box-shadow: var(--shadow-card);
    display: flex;
    flex-direction: column;
}
.fin-menu-tile:hover {
    transform: translateY(-3px);
    border-color: rgba(200, 150, 46, 0.45);
    box-shadow: 0 10px 28px rgba(0, 0, 48, 0.09);
}
.fin-menu-tile--featured {
    background: var(--navy);
    color: var(--white);
    border: 1px solid var(--gold);
    border-top: 3px solid var(--gold);
}
.fin-menu-tile-head {
    margin-bottom: 22px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--gray-light);
}
.fin-menu-tile--featured .fin-menu-tile-head {
    border-bottom-color: rgba(255, 255, 255, 0.14);
}
.fin-menu-tile-tag {
    display: inline-block;
    font-family: var(--font-sans);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--gold);
    background: rgba(200, 150, 46, 0.10);
    border: 1px solid rgba(200, 150, 46, 0.30);
    border-radius: 4px;
    padding: 4px 10px;
    margin-bottom: 14px;
}
.fin-menu-tile h3 {
    font-family: var(--font-serif);
    font-size: 21px;
    margin: 0;
    color: var(--text-dark);
    line-height: 1.3;
}
.fin-menu-tile--featured h3 {
    color: var(--white);
}
.fin-menu-tile-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 9px;
    flex: 1;
}
.fin-menu-tile-list li {
    position: relative;
    padding-left: 16px;
    font-size: 14px;
    line-height: 1.55;
    color: var(--text-medium);
}
.fin-menu-tile-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--gold);
    opacity: 0.55;
}
.fin-menu-tile--featured .fin-menu-tile-list li {
    color: rgba(255, 255, 255, 0.82);
}
.fin-menu-tile--featured .fin-menu-tile-list li::before {
    opacity: 1;
}
.fin-menu-tile-foot {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.55);
    font-style: italic;
    margin: 20px 0 0;
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.10);
    line-height: 1.55;
}
.fin-menu-foot {
    text-align: center;
    border-top: 1px solid var(--gray-light);
    padding-top: 36px;
}
.fin-menu-foot-line {
    font-size: 16px;
    color: var(--text-medium);
    margin: 0 0 22px;
}
.fin-menu-foot-line strong {
    color: var(--navy);
    font-weight: 600;
}

/* ─────────────────────────────────────────────
   SECTION 23.9 — Responsive
   ───────────────────────────────────────────── */
@media (max-width: 1023px) {
    .sec-edge-grid,
    .sec-cover-grid,
    .sec-cap-tiles,
    .fin-menu-grid { grid-template-columns: repeat(2, 1fr); }
    .sec-cat-grid,
    .sec-cat-grid--dark { grid-template-columns: repeat(2, 1fr); }
    .sec-edge-detail-grid { grid-template-columns: repeat(2, 1fr); }

    .mkt-chart-grid { grid-template-columns: repeat(2, 1fr); }
    .mkt-chart-visual { grid-column: 1 / 3; min-height: 220px; }

    .sec-cap-relevant-row {
        grid-template-columns: 56px 1fr;
        grid-template-rows: auto auto;
        gap: 8px 24px;
    }
    .sec-cap-relevant-meta { grid-column: 2; grid-row: 1; }
    .sec-cap-relevant-body { grid-column: 1 / 3; grid-row: 2; }
    .sec-cap-relevant-num  { grid-row: 1; }
}

@media (max-width: 767px) {
    .sec-edge-section,
    .sec-pillar-section,
    .sec-cap-section,
    .mkt-chart-section,
    .sec-cover-section,
    .sec-cap-relevant,
    .sec-edge-detail-section,
    .fin-menu-section { padding: 64px 0; }

    .sec-edge-grid,
    .sec-cover-grid,
    .sec-cap-tiles,
    .fin-menu-grid,
    .sec-cat-grid,
    .sec-cat-grid--dark,
    .sec-edge-detail-grid,
    .mkt-chart-grid { grid-template-columns: 1fr; gap: 16px; }

    .mkt-chart-visual { grid-column: 1; }
    .mkt-bars { min-height: 160px; }
    .mkt-bar-val { font-size: 10px; top: -18px; }
    .mkt-bar-yr { font-size: 9px; bottom: -16px; }

    .sec-pillar-header h2 { font-size: 32px; }
    .sec-edge-num { font-size: 36px; }
    .sec-cat-num { font-size: 26px; }
    .sec-cat-head h3 { font-size: 20px; }
    .mkt-chart-stat-num { font-size: 36px; }

    .sec-cap-relevant-row {
        grid-template-columns: 1fr;
        padding: 20px 22px;
    }
    .sec-cap-relevant-num { font-size: 24px; }

    .fin-menu-tile { padding: 28px 22px; }
}

/* ─────────────────────────────────────────────
   SECTION 23.9b — Sectors dropdown width
   (Longest label "Behavioral & Foster Care" needs more room.)
   ───────────────────────────────────────────── */
#dropSectors .nav-dropdown-menu { min-width: 280px; }
#dropSectors .nav-dropdown-item { white-space: nowrap; }

/* ─────────────────────────────────────────────
   SECTION 23.9d — Contact form-info: trim bottom gap
   (Person card removed; anchor contact details to bottom
    of the flex column to absorb the gap.)
   ───────────────────────────────────────────── */
.ctc-form-direct {
    margin-bottom: 0;
    margin-top: auto;
}

/* ─────────────────────────────────────────────
   SECTION 23.9c — Contact "Who We Work With" grid
   (4 cards now — Landowner / Developer / Capital / Sectors)
   ───────────────────────────────────────────── */
.ctc-who-grid { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1023px) {
    .ctc-who-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
    .ctc-who-grid { grid-template-columns: 1fr; }
}

/* ─────────────────────────────────────────────
   SECTION 23.10 — Footer 5-column override
   (Adds Sectors column without breaking Phase 1.)
   ───────────────────────────────────────────── */
.footer-grid {
    grid-template-columns: 2fr 1fr 1.2fr 1fr 1fr;
}
@media (max-width: 1023px) {
    .footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 767px) {
    .footer-grid { grid-template-columns: 1fr; }
}
