/* ============================================================
   MIRA CAPITAL — Anorent-style typography
   ============================================================ */

*, *::before, *::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html { -webkit-text-size-adjust: 100%; }

html, body {
    margin: 0;
    padding: 0;
}

html {
    height: 100%;
    scroll-behavior: smooth;
    /* Offset for fixed navbar when scrolling to anchors */
    scroll-padding-top: 5rem;
}

body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
    color: #FFFFFF;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    /* Solid black background */
    background-color: #0A0A0A;
    /* Layout */
    min-height: 100%;
    display: flex;
    flex-direction: column;
}

/* Background image only on hero - not whole body */
.hero {
    background-image:
        linear-gradient(90deg,
            rgba(10, 10, 10, 0.85) 0%,
            rgba(10, 10, 10, 0.6) 40%,
            rgba(10, 10, 10, 0.2) 70%,
            rgba(10, 10, 10, 0) 100%),
        url('background.png');
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
}

a { color: inherit; text-decoration: none; }
::selection { background: #EF3127; color: #fff; }

/* ============== NAVBAR ============== */
.navbar {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10;
    padding: 1.5rem clamp(1.5rem, 3vw, 2.5rem);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
}

.logo {
    font-family: 'Inter', sans-serif;
    font-size: 1.125rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    color: #FFFFFF;
}

.logo sup {
    font-size: 0.55em;
    font-weight: 500;
    margin-left: 1px;
    top: -0.6em;
    position: relative;
    color: #EF3127;
}

.menu {
    display: flex;
    align-items: center;
    gap: 2.25rem;
}

.menu-sep {
    color: #EF3127;
    font-weight: 500;
    margin-right: 0.5rem;
}

.menu a {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.15em;
    color: rgba(255, 255, 255, 0.8);
    transition: color 0.2s ease;
}

.menu a:hover { color: #FFFFFF; }

.nav-right {
    display: flex;
    align-items: center;
    gap: 1rem;
}

/* ============== BUTTONS ============== */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.625rem 1.125rem;
    border-radius: 999px;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    border: 1px solid transparent;
    cursor: pointer;
    transition: transform 0.25s cubic-bezier(0.22, 1, 0.36, 1),
                background 0.25s ease,
                box-shadow 0.25s ease;
    white-space: nowrap;
}

.btn svg { transition: transform 0.3s ease; }

.btn-primary {
    background: #EF3127;
    color: #FFFFFF;
    box-shadow: 0 0 0 0 rgba(239, 49, 39, 0.5),
                inset 0 1px 0 rgba(255, 255, 255, 0.15);
}

.btn-primary:hover {
    background: #DC2625;
    transform: translateY(-1px);
    box-shadow: 0 10px 24px -6px rgba(239, 49, 39, 0.5),
                inset 0 1px 0 rgba(255, 255, 255, 0.15);
}

.btn-primary:hover svg { transform: translate(2px, -2px); }

.btn-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #FFFFFF;
    box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7);
    animation: pulse 2s ease-in-out infinite;
}

.btn-lg {
    padding: 0.9rem 1.75rem;
    font-size: 0.8125rem;
    letter-spacing: 0.14em;
    margin-top: 1.25rem;
}

.btn:active { transform: scale(0.98); }

/* ============== HERO ============== */
.hero {
    position: relative;
    min-height: 100vh;
    padding: 6rem 2.5rem 2rem;
    display: block;
    overflow: hidden;
}

.hero-inner {
    position: absolute;
    z-index: 2;
    /* Position in upper-left, not centered vertically */
    left: 8rem;
    top: 9rem;
    text-align: left;
    max-width: 38rem;
    width: 100%;
    animation: fadeUp 0.8s cubic-bezier(0.22, 1, 0.36, 1) both;
}

/* Small label above headline */
.hero-label {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.18em;
    color: #EF3127;
    margin-bottom: 1.25rem;
    text-transform: uppercase;
}

.label-icon {
    color: #EF3127;
    font-size: 0.875rem;
}

/* MAIN HEADLINE — Anorent style */
.hero-title {
    font-family: 'Inter', sans-serif;
    /* All 3 lines uniform — no clamp shifting */
    font-weight: 900;
    font-stretch: condensed;
    /* Bigger, uniform across all lines */
    font-size: clamp(2.5rem, 1.5rem + 2.5vw, 4.5rem);
    line-height: 0.95;
    letter-spacing: -0.02em;
    text-transform: uppercase;
    margin-bottom: 1.5rem;
    /* Constrain width so headline doesn't overlap image area */
    max-width: 56rem;
}

.hero-title span {
    display: block;
}

/* Make sure outline + solid lines have IDENTICAL sizing */
.title-outline,
.title-solid {
    font-size: 1em;
    line-height: inherit;
    letter-spacing: inherit;
    font-weight: inherit;
}

/* First word: outline only (white stroke, transparent fill) */
.title-outline {
    color: transparent;
    -webkit-text-stroke: 1.5px #FFFFFF;
    text-stroke: 1.5px #FFFFFF;
}

/* Other lines: solid red */
.title-solid {
    color: #EF3127;
    -webkit-text-stroke: 0;
}

/* Decorative star sparkle inline */
.title-star {
    display: inline-block;
    color: #FFFFFF;
    font-size: 0.45em;
    margin-left: 0.4em;
    vertical-align: 0.4em;
    font-weight: 400;
    -webkit-text-stroke: 0;
}

/* Subtext */
.hero-sub {
    font-family: 'Inter', sans-serif;
    font-size: 0.9375rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.7);
    margin-top: 0.5rem;
    font-weight: 400;
    max-width: 48ch;
}

/* Bottom meta row */
.hero-meta {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    margin-top: 1.5rem;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.6875rem;
    letter-spacing: 0.15em;
}

.meta-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #EF3127;
    box-shadow: 0 0 0 0 rgba(239, 49, 39, 0.6);
    animation: pulse-red 2s ease-in-out infinite;
}

.meta-label {
    color: rgba(255, 255, 255, 0.5);
    text-transform: uppercase;
}

.meta-value {
    color: #FFFFFF;
    text-transform: uppercase;
    font-weight: 500;
}

/* ============== ANIMATIONS ============== */
@keyframes fadeUp {
    from { opacity: 0; transform: translateY(16px); }
    to   { opacity: 1; transform: translateY(0); }
}

@keyframes pulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7); }
    50%      { box-shadow: 0 0 0 5px rgba(255, 255, 255, 0); }
}

@keyframes pulse-red {
    0%, 100% { box-shadow: 0 0 0 0 rgba(239, 49, 39, 0.7); }
    50%      { box-shadow: 0 0 0 6px rgba(239, 49, 39, 0); }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
    }
}

/* ============== RESPONSIVE ============== */
@media (max-width: 768px) {
    .menu { display: none; }
    .hero-sub br { display: none; }

    /* Mobile: revert hero to flex layout */
    .hero {
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 6rem 1.5rem 2rem;
    }

    .hero-inner {
        position: relative;
        left: auto;
        top: auto;
        transform: none;
    }

    /* Mobile: scroll attachment for smoother performance */
    body {
        background-attachment: scroll;
    }
}

@media (max-width: 480px) {
    .navbar { padding: 1rem 1.25rem; }

    .hero-title {
        font-size: clamp(2rem, 8vw, 3rem);
    }

    .hero-meta {
        flex-wrap: wrap;
    }
}

/* ============================================================
   WHERE WE INVEST
   ============================================================ */
.invest {
    position: relative;
    padding: 6rem 2rem;
    /* Slight darker tint over background image for readability */
    background: linear-gradient(180deg,
        rgba(10, 10, 10, 0.4) 0%,
        rgba(10, 10, 10, 0.85) 30%,
        rgba(10, 10, 10, 0.95) 100%);
}

.invest-inner {
    max-width: 1280px;
    margin: 0 auto;
}

/* ----- Section header ----- */
.invest-head {
    max-width: 56rem;
    margin: 0 auto 3.5rem;
    text-align: left;
}

.section-label {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.5rem;
}

.section-num {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.15em;
    color: #EF3127;
}

.section-tag {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.2em;
    color: rgba(255, 255, 255, 0.5);
    padding-left: 0.75rem;
    border-left: 1px solid rgba(255, 255, 255, 0.15);
}

.invest-title {
    font-family: 'Inter', sans-serif;
    font-weight: 900;
    font-stretch: condensed;
    /* Reduced vw range for zoom safety */
    font-size: clamp(1.875rem, 1.25rem + 2vw, 4rem);
    line-height: 0.92;
    letter-spacing: -0.025em;
    text-transform: uppercase;
    margin-bottom: 1.25rem;
}

.invest-title span { display: block; }

.invest-intro {
    font-family: 'Inter', sans-serif;
    font-size: 1rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.7);
    max-width: 50ch;
    font-weight: 400;
}

/* ----- Grid ----- */
.invest-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
}

/* ----- Sector card ----- */
.sector-card {
    position: relative;
    padding: 1.75rem 1.5rem 1.5rem;
    background: rgba(20, 20, 22, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 4px;
    display: flex;
    flex-direction: column;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    transition: border-color 0.3s ease, transform 0.3s ease, background 0.3s ease;
    overflow: hidden;
    min-height: 360px;
}

.sector-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg,
        rgba(239, 49, 39, 0.08) 0%,
        transparent 60%);
    opacity: 0;
    transition: opacity 0.4s ease;
    pointer-events: none;
}

.sector-card:hover {
    border-color: rgba(239, 49, 39, 0.5);
    background: rgba(25, 25, 28, 0.75);
    transform: translateY(-3px);
}

.sector-card:hover::before { opacity: 1; }

/* Card head: number + status */
.sector-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.75rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    position: relative;
    z-index: 1;
}

.sector-num {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.875rem;
    font-weight: 500;
    color: #EF3127;
    letter-spacing: 0.05em;
}

.sector-status {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.15em;
    color: rgba(255, 255, 255, 0.55);
}

.status-dot-red {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #EF3127;
    box-shadow: 0 0 0 0 rgba(239, 49, 39, 0.6);
    animation: pulse-red 2s ease-in-out infinite;
}

/* Card title */
.sector-title {
    font-family: 'Inter', sans-serif;
    font-weight: 900;
    font-stretch: condensed;
    /* Reduced vw range for zoom safety */
    font-size: 1.375rem;
    line-height: 0.95;
    letter-spacing: -0.02em;
    text-transform: uppercase;
    color: #FFFFFF;
    margin-bottom: 1rem;
    position: relative;
    z-index: 1;
}

/* Card body text */
.sector-text {
    font-family: 'Inter', sans-serif;
    font-size: 0.875rem;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.65);
    margin-bottom: 1.5rem;
    flex-grow: 1;
    position: relative;
    z-index: 1;
}

/* Tag chips */
.sector-tags {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
    margin-bottom: 1.5rem;
    position: relative;
    z-index: 1;
}

.sector-tags li {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    color: rgba(255, 255, 255, 0.65);
    padding: 0.3rem 0.625rem;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 2px;
}

/* Bottom link */
.sector-link {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.15em;
    color: #EF3127;
    align-self: flex-start;
    padding-top: 1rem;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    width: 100%;
    position: relative;
    z-index: 1;
    transition: color 0.2s ease;
}

.sector-link svg { transition: transform 0.3s ease; }

.sector-link:hover {
    color: #FFFFFF;
}

.sector-link:hover svg {
    transform: translate(2px, -2px);
}

/* ----- Responsive ----- */
@media (max-width: 968px) {
    .invest-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 640px) {
    .invest-grid {
        grid-template-columns: 1fr;
    }

    .sector-card {
        min-height: auto;
    }
}

/* ============================================================
   UNIVERSAL CONTENT LOCK
   ------------------------------------------------------------
   Prevents text/layout from shifting on browser zoom in/out.
   ============================================================ */

html {
    /* Lock font scaling — viewport changes don't affect base size */
    font-size: 16px;
}

/* Prevent text from wrapping awkwardly anywhere */
h1, h2, h3, h4, p {
    text-wrap: balance;
    overflow-wrap: break-word;
    word-wrap: break-word;
}

/* All content containers max-width is fixed in rem, never vw */
.hero-inner,
.invest-inner,
.invest-head,
.about-inner,
.about-head {
    /* Auto-center even on big screens */
    margin-left: auto;
    margin-right: auto;
}

/* ============================================================
   ABOUT MIRA SECTION
   ============================================================ */
.about {
    position: relative;
    padding: 6rem 1.5rem;
    background: linear-gradient(180deg,
        rgba(10, 10, 10, 0.95) 0%,
        rgba(10, 10, 10, 0.98) 100%);
}

.about-inner {
    max-width: 80rem;
    margin: 0 auto;
}

/* ---- Section header (2-column) ---- */
.about-head {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    gap: 4rem;
    align-items: start;
    max-width: 100%;
    margin: 0 auto 4rem;
    text-align: left;
}

.about-head-left {
    max-width: 36rem;
}

.about-title {
    font-family: 'Inter', sans-serif;
    font-weight: 900;
    font-stretch: condensed;
    font-size: clamp(1.875rem, 1.25rem + 2vw, 4rem);
    line-height: 0.92;
    letter-spacing: -0.025em;
    text-transform: uppercase;
    margin-top: 1.25rem;
}

.about-title span { display: block; }

/* ---- Fund credentials card (document style) ---- */
.fund-card {
    position: relative;
    padding: 1.75rem;
    background: linear-gradient(180deg,
        rgba(20, 20, 22, 0.7) 0%,
        rgba(15, 15, 17, 0.7) 100%);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 6px;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    overflow: hidden;
    /* Subtle scan-line pattern */
    background-image:
        repeating-linear-gradient(0deg,
            transparent 0px,
            transparent 3px,
            rgba(255, 255, 255, 0.012) 3px,
            rgba(255, 255, 255, 0.012) 4px);
}

/* Subtle red corner glow */
.fund-card::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 140px;
    height: 140px;
    background: radial-gradient(circle at top right,
        rgba(239, 49, 39, 0.15) 0%,
        transparent 60%);
    pointer-events: none;
}

/* Decorative corner brackets */
.fc-corner {
    position: absolute;
    width: 14px;
    height: 14px;
    border: 1.5px solid #EF3127;
    pointer-events: none;
    opacity: 0.6;
}

.fc-corner-tl { top: 8px; left: 8px;  border-right: none; border-bottom: none; }
.fc-corner-tr { top: 8px; right: 8px; border-left: none;  border-bottom: none; }
.fc-corner-bl { bottom: 8px; left: 8px;  border-right: none; border-top: none; }
.fc-corner-br { bottom: 8px; right: 8px; border-left: none;  border-top: none; }

/* Top header strip */
.fc-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 1rem;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.12);
    margin-bottom: 1.25rem;
    position: relative;
    z-index: 1;
}

.fc-classification {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.625rem;
    font-weight: 500;
    letter-spacing: 0.18em;
    color: #EF3127;
    text-transform: uppercase;
}

.fc-doc-num {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.625rem;
    font-weight: 500;
    letter-spacing: 0.12em;
    color: rgba(255, 255, 255, 0.35);
}

/* Stamp/Mark area */
.fc-stamp {
    text-align: left;
    padding-bottom: 1.25rem;
    margin-bottom: 1.25rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    position: relative;
    z-index: 1;
}

.fc-stamp-mark {
    display: block;
    font-family: 'Inter', sans-serif;
    font-weight: 900;
    font-stretch: condensed;
    font-size: 1.625rem;
    line-height: 1;
    letter-spacing: -0.015em;
    color: #FFFFFF;
    margin-bottom: 0.375rem;
}

.fc-stamp-mark sup {
    font-size: 0.4em;
    font-weight: 500;
    color: #EF3127;
    top: -0.7em;
    margin-left: 1px;
}

.fc-stamp-line {
    display: block;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.18em;
    color: rgba(255, 255, 255, 0.5);
    text-transform: uppercase;
}

/* Data rows */
.fc-rows {
    display: flex;
    flex-direction: column;
    margin-bottom: 1.25rem;
    position: relative;
    z-index: 1;
}

.fc-row {
    display: grid;
    grid-template-columns: 6.5rem 1fr;
    gap: 1rem;
    padding: 0.55rem 0;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.06);
    align-items: baseline;
}

.fc-row:last-child { border-bottom: none; }

.fc-key {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.625rem;
    font-weight: 500;
    letter-spacing: 0.15em;
    color: rgba(255, 255, 255, 0.4);
    text-transform: uppercase;
}

.fc-val {
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 0.875rem;
    color: #FFFFFF;
    letter-spacing: 0.005em;
}

.fc-val-mute {
    font-weight: 400;
    color: rgba(255, 255, 255, 0.4);
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.75rem;
}

/* Signature footer */
.fc-foot {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 1rem;
    border-top: 1px dashed rgba(255, 255, 255, 0.12);
    position: relative;
    z-index: 1;
}

.fc-sig {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.fc-sig-mark {
    font-family: 'Inter', sans-serif;
    font-weight: 900;
    font-stretch: condensed;
    font-size: 1.5rem;
    line-height: 1;
    color: #EF3127;
    font-style: italic;
    transform: rotate(-8deg);
    display: inline-block;
    padding: 0.25rem 0.4rem;
    border: 1.5px solid #EF3127;
    border-radius: 3px;
}

.fc-sig-text {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.5625rem;
    font-weight: 500;
    letter-spacing: 0.12em;
    color: rgba(255, 255, 255, 0.5);
    line-height: 1.5;
    text-transform: uppercase;
}

/* Barcode decoration */
.fc-barcode {
    display: inline-flex;
    align-items: center;
    gap: 1px;
    height: 24px;
}

.fc-barcode span {
    display: block;
    height: 100%;
    background: rgba(255, 255, 255, 0.5);
    width: 2px;
}

.fc-barcode span:nth-child(odd)   { width: 1px; }
.fc-barcode span:nth-child(3n)    { width: 3px; }
.fc-barcode span:nth-child(5n)    { width: 1px; opacity: 0.6; }
.fc-barcode span:nth-child(7n)    { width: 4px; }

/* ---- Two-column grid ---- */
.about-grid {
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 4rem;
    align-items: start;
}

/* ---- Left column ---- */
.about-left {
    max-width: 30rem;
}

.about-text {
    font-family: 'Inter', sans-serif;
    font-size: 1rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.72);
    margin-bottom: 1.25rem;
    font-weight: 400;
}

/* Stats strip */
.about-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    margin-top: 2.5rem;
    padding-top: 2rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.stat-item {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.stat-num {
    font-family: 'Inter', sans-serif;
    font-weight: 900;
    font-stretch: condensed;
    font-size: 2rem;
    line-height: 1;
    letter-spacing: -0.03em;
    color: #EF3127;
    font-variant-numeric: tabular-nums;
}

.stat-label {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.18em;
    color: rgba(255, 255, 255, 0.5);
}

/* ---- Right column: principles list ---- */
.principles {
    list-style: none;
    padding: 0;
    margin: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.principle {
    display: grid;
    grid-template-columns: 4rem 1fr;
    gap: 1.5rem;
    padding: 1.5rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    transition: background 0.3s ease, padding-left 0.3s ease;
}

.principle:hover {
    background: rgba(239, 49, 39, 0.04);
    padding-left: 1rem;
}

.p-num {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.8125rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    color: #EF3127;
    font-variant-numeric: tabular-nums;
    padding-top: 0.25rem;
}

.p-body {
    /* Lock width to prevent zoom shifting */
    max-width: 32rem;
}

.p-title {
    font-family: 'Inter', sans-serif;
    font-weight: 800;
    font-stretch: condensed;
    font-size: 1.0625rem;
    line-height: 1.15;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: #FFFFFF;
    margin-bottom: 0.4rem;
}

.p-text {
    font-family: 'Inter', sans-serif;
    font-size: 0.875rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.6);
    font-weight: 400;
}

/* ---- Responsive ---- */
@media (max-width: 968px) {
    .about-head {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .about-head-left {
        max-width: 100%;
    }

    .about-grid {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .about-left {
        max-width: 100%;
    }
}

@media (max-width: 640px) {
    .about {
        padding: 4rem 1.25rem;
    }

    .about-head {
        margin-bottom: 3rem;
    }

    .about-stats {
        grid-template-columns: 1fr 1fr;
        gap: 1.5rem;
    }

    .stat-num {
        font-size: 1.75rem;
    }

    .principle {
        grid-template-columns: 3rem 1fr;
        gap: 1rem;
        padding: 1.25rem 0;
    }
}

/* ============================================================
   PORTFOLIO SECTION
   ============================================================ */
.portfolio {
    position: relative;
    padding: 6rem 2rem;
    background: linear-gradient(180deg,
        rgba(10, 10, 10, 0.98) 0%,
        rgba(10, 10, 10, 0.95) 100%);
}

.portfolio-inner {
    max-width: 80rem;
    margin: 0 auto;
}

/* ---- Section header (2-column) ---- */
.portfolio-head {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 4rem;
    align-items: start;
    margin: 0 auto 4rem;
}

.portfolio-head-left {
    text-align: left;
    max-width: 36rem;
}

.portfolio-title {
    font-family: 'Inter', sans-serif;
    font-weight: 900;
    font-stretch: condensed;
    font-size: clamp(1.875rem, 1.25rem + 2vw, 4rem);
    line-height: 0.92;
    letter-spacing: -0.025em;
    text-transform: uppercase;
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
}

.portfolio-title span { display: block; }

.portfolio-intro {
    font-family: 'Inter', sans-serif;
    font-size: 1rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.7);
    max-width: 50ch;
    font-weight: 400;
}

/* ---- Portfolio snapshot panel ---- */
.portfolio-panel {
    position: relative;
    padding: 1.75rem;
    background: rgba(20, 20, 22, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 6px;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    overflow: hidden;
}

.portfolio-panel::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 100px;
    height: 100px;
    background: radial-gradient(circle at top right,
        rgba(239, 49, 39, 0.18) 0%,
        transparent 60%);
    pointer-events: none;
}

.pp-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    margin-bottom: 1.5rem;
    position: relative;
    z-index: 1;
}

.pp-label {
    display: inline-flex;
    align-items: center;
    gap: 0.625rem;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.18em;
    color: #EF3127;
    text-transform: uppercase;
}

.pp-num {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    color: rgba(255, 255, 255, 0.4);
}

/* Big metric */
.pp-metric {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    padding-bottom: 1.5rem;
    margin-bottom: 1.5rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    position: relative;
    z-index: 1;
}

.pp-metric-num {
    font-family: 'Inter', sans-serif;
    font-weight: 900;
    font-stretch: condensed;
    font-size: 4.5rem;
    line-height: 0.85;
    letter-spacing: -0.04em;
    color: #EF3127;
    font-variant-numeric: tabular-nums;
}

.pp-metric-label {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.15em;
    color: rgba(255, 255, 255, 0.5);
    line-height: 1.45;
    text-transform: uppercase;
}

/* Sector breakdown bars */
.pp-sectors {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
    margin-bottom: 1.5rem;
    position: relative;
    z-index: 1;
}

.pp-sector-row {
    display: grid;
    grid-template-columns: 6.5rem 1fr 1.75rem;
    gap: 0.875rem;
    align-items: center;
}

.pps-name {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.08em;
    color: rgba(255, 255, 255, 0.65);
    text-transform: uppercase;
}

.pps-bar {
    height: 4px;
    background: rgba(255, 255, 255, 0.06);
    border-radius: 999px;
    overflow: hidden;
    position: relative;
}

.pps-fill {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, #EF3127 0%, rgba(239, 49, 39, 0.7) 100%);
    border-radius: 999px;
    box-shadow: 0 0 8px rgba(239, 49, 39, 0.3);
    /* Animate on load */
    animation: ppFill 1.2s cubic-bezier(0.22, 1, 0.36, 1) both;
    transform-origin: left center;
}

@keyframes ppFill {
    from { transform: scaleX(0); }
    to   { transform: scaleX(1); }
}

.pps-count {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.75rem;
    font-weight: 500;
    color: #FFFFFF;
    font-variant-numeric: tabular-nums;
    text-align: right;
}

/* Panel footer */
.pp-foot {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    padding-top: 1.25rem;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    position: relative;
    z-index: 1;
}

.pp-foot-item {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.ppf-label {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.625rem;
    font-weight: 500;
    letter-spacing: 0.15em;
    color: rgba(255, 255, 255, 0.4);
    text-transform: uppercase;
}

.ppf-val {
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 0.875rem;
    color: #FFFFFF;
    letter-spacing: 0.01em;
}

/* ---- Grid ---- */
.portfolio-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    margin-bottom: 3rem;
}

/* ---- Portfolio card ---- */
.portfolio-card {
    position: relative;
    padding: 1.5rem;
    background: rgba(20, 20, 22, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 4px;
    display: flex;
    flex-direction: column;
    min-height: 280px;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    transition: border-color 0.3s ease, transform 0.3s ease, background 0.3s ease;
    overflow: hidden;
}

.portfolio-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg,
        rgba(239, 49, 39, 0.08) 0%,
        transparent 60%);
    opacity: 0;
    transition: opacity 0.4s ease;
    pointer-events: none;
}

.portfolio-card:hover {
    border-color: rgba(239, 49, 39, 0.5);
    background: rgba(25, 25, 28, 0.75);
    transform: translateY(-3px);
}

.portfolio-card:hover::before { opacity: 1; }

.portfolio-card[hidden] { display: none !important; }

/* Card head: logo + stage */
.pc-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.25rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    position: relative;
    z-index: 1;
}

.pc-logo {
    width: 40px;
    height: 40px;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    position: relative;
}

.pc-logo::before {
    content: '';
    position: absolute;
    inset: 30%;
    border: 1px dashed rgba(255, 255, 255, 0.15);
    border-radius: 2px;
    opacity: 0.5;
}

.pc-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 6px;
    position: relative;
    z-index: 1;
}

.pc-stage {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.15em;
    color: #EF3127;
    padding: 0.25rem 0.625rem;
    background: rgba(239, 49, 39, 0.1);
    border: 1px solid rgba(239, 49, 39, 0.2);
    border-radius: 2px;
}

/* Company name */
.pc-name {
    font-family: 'Inter', sans-serif;
    font-weight: 900;
    font-stretch: condensed;
    font-size: 1.125rem;
    line-height: 1.1;
    letter-spacing: -0.01em;
    text-transform: uppercase;
    color: #FFFFFF;
    margin-bottom: 0.375rem;
    position: relative;
    z-index: 1;
}

/* Tagline (mono red) */
.pc-tag {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    color: #EF3127;
    margin-bottom: 0.875rem;
    position: relative;
    z-index: 1;
}

/* Description */
.pc-desc {
    font-family: 'Inter', sans-serif;
    font-size: 0.8125rem;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.6);
    margin-bottom: 1.25rem;
    flex-grow: 1;
    position: relative;
    z-index: 1;
}

/* Bottom row */
.pc-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 1rem;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    position: relative;
    z-index: 1;
}

.pc-year {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.75rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.45);
    letter-spacing: 0.05em;
    font-variant-numeric: tabular-nums;
}

.pc-link {
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.7);
    transition: background 0.2s ease, color 0.2s ease, transform 0.3s ease, border-color 0.2s ease;
}

.pc-link:hover {
    background: #EF3127;
    border-color: #EF3127;
    color: #FFFFFF;
    transform: translate(2px, -2px);
}

/* ---- Portfolio footer ---- */
.portfolio-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1.5rem;
    padding-top: 2.5rem;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.portfolio-counter {
    display: inline-flex;
    align-items: baseline;
    gap: 0.5rem;
    font-family: 'JetBrains Mono', monospace;
}

.counter-num {
    font-family: 'Inter', sans-serif;
    font-weight: 900;
    font-stretch: condensed;
    font-size: 2rem;
    line-height: 1;
    letter-spacing: -0.03em;
    color: #EF3127;
    font-variant-numeric: tabular-nums;
}

.counter-label {
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.15em;
    color: rgba(255, 255, 255, 0.5);
}

/* ---- Responsive ---- */
@media (max-width: 968px) {
    .portfolio-head {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .portfolio-head-left {
        max-width: 100%;
    }

    .portfolio-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 640px) {
    .portfolio {
        padding: 4rem 1.25rem;
    }

    .portfolio-grid {
        grid-template-columns: 1fr;
    }

    .portfolio-card {
        min-height: auto;
    }

    .portfolio-footer {
        flex-direction: column;
        align-items: flex-start;
    }

    .pp-metric-num {
        font-size: 3.5rem;
    }
}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer {
    position: relative;
    background: #050505;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    overflow: hidden;
    margin: 0;
    padding: 0;
}

/* Subtle red glow at the top edge */
.site-footer::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60%;
    height: 1px;
    background: linear-gradient(90deg,
        transparent 0%,
        #EF3127 50%,
        transparent 100%);
    opacity: 0.5;
}

.footer-inner {
    max-width: 80rem;
    margin: 0 auto;
    padding: 6rem 2rem 3rem;
    position: relative;
    z-index: 2;
}

/* ---- Top: tagline + CTA + pitch card ---- */
.footer-top {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 4rem;
    align-items: start;
    padding-bottom: 4rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    margin-bottom: 4rem;
}

.footer-top-left {
    text-align: left;
}

.footer-tagline {
    font-family: 'Inter', sans-serif;
    font-weight: 900;
    font-stretch: condensed;
    font-size: clamp(1.875rem, 1.25rem + 2vw, 4rem);
    line-height: 0.95;
    letter-spacing: -0.025em;
    text-transform: uppercase;
    margin: 1.25rem 0 2rem;
    max-width: 50rem;
}

.footer-tagline span { display: block; }

.footer-cta {
    margin-top: 0.5rem;
}

/* ---- Pitch Process Snapshot Card ---- */
.pitch-card {
    position: relative;
    padding: 1.75rem;
    background: rgba(20, 20, 22, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 6px;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    overflow: hidden;
    /* Subtle red corner accent */
}

.pitch-card::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 80px;
    height: 80px;
    background: radial-gradient(circle at top right,
        rgba(239, 49, 39, 0.18) 0%,
        transparent 60%);
    pointer-events: none;
}

.pitch-card-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    margin-bottom: 1.5rem;
    position: relative;
    z-index: 1;
}

.pitch-card-label {
    display: inline-flex;
    align-items: center;
    gap: 0.625rem;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.18em;
    color: #EF3127;
    text-transform: uppercase;
}

.pitch-card-num {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    color: rgba(255, 255, 255, 0.4);
}

/* Steps list */
.pitch-steps {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
}

.pitch-steps li {
    display: grid;
    grid-template-columns: 2.25rem 1fr auto;
    gap: 1rem;
    padding: 0.875rem 0;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.05);
    align-items: center;
    transition: padding 0.2s ease;
}

.pitch-steps li:last-child {
    border-bottom: none;
}

.pitch-steps li:hover {
    padding-left: 0.5rem;
}

.ps-num {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.75rem;
    font-weight: 500;
    color: #EF3127;
    background: rgba(239, 49, 39, 0.1);
    border: 1px solid rgba(239, 49, 39, 0.25);
    padding: 0.35rem 0.45rem;
    border-radius: 3px;
    text-align: center;
    font-variant-numeric: tabular-nums;
}

.ps-body {
    min-width: 0;
}

.ps-body h4 {
    font-family: 'Inter', sans-serif;
    font-weight: 800;
    font-stretch: condensed;
    font-size: 0.875rem;
    line-height: 1.1;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: #FFFFFF;
    margin-bottom: 0.25rem;
}

.ps-body p {
    font-family: 'Inter', sans-serif;
    font-size: 0.75rem;
    line-height: 1.4;
    color: rgba(255, 255, 255, 0.55);
}

.ps-time {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.6875rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.5);
    letter-spacing: 0.05em;
    font-variant-numeric: tabular-nums;
    text-align: right;
}

/* Pitch card footer */
.pitch-card-foot {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 1.25rem;
    padding-top: 1.25rem;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    position: relative;
    z-index: 1;
}

.pcf-label {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.625rem;
    font-weight: 500;
    letter-spacing: 0.15em;
    color: rgba(255, 255, 255, 0.4);
    text-transform: uppercase;
}

.pcf-val {
    font-family: 'Inter', sans-serif;
    font-weight: 900;
    font-stretch: condensed;
    font-size: 1.125rem;
    letter-spacing: -0.01em;
    color: #EF3127;
}

/* ---- Middle: 3-column grid ---- */
.footer-mid {
    display: grid;
    grid-template-columns: 1.6fr 1fr 1fr;
    gap: 3rem;
    padding-bottom: 3rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    margin-bottom: 2rem;
}

/* Brand column */
.footer-brand {
    max-width: 24rem;
}

.footer-logo {
    display: inline-block;
    font-family: 'Inter', sans-serif;
    font-size: 1.5rem;
    font-weight: 900;
    font-stretch: condensed;
    letter-spacing: 0.02em;
    color: #FFFFFF;
    margin-bottom: 1.25rem;
}

.footer-logo sup {
    font-size: 0.45em;
    font-weight: 500;
    margin-left: 2px;
    top: -0.7em;
    position: relative;
    color: #EF3127;
}

.footer-desc {
    font-family: 'Inter', sans-serif;
    font-size: 0.875rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.6);
    margin-bottom: 1.5rem;
}

.footer-status {
    display: inline-flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0.5rem 0.875rem;
    background: rgba(239, 49, 39, 0.08);
    border: 1px solid rgba(239, 49, 39, 0.2);
    border-radius: 999px;
}

.status-text {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.15em;
    color: #EF3127;
}

/* Footer columns */
.footer-col {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.footer-col-title {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.18em;
    color: rgba(255, 255, 255, 0.4);
    margin-bottom: 0.75rem;
    text-transform: uppercase;
}

.footer-link {
    font-family: 'Inter', sans-serif;
    font-size: 0.875rem;
    font-weight: 400;
    color: rgba(255, 255, 255, 0.7);
    width: fit-content;
    position: relative;
    transition: color 0.2s ease, padding-left 0.2s ease;
}

.footer-link::before {
    content: '→';
    position: absolute;
    left: -1.25rem;
    opacity: 0;
    color: #EF3127;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.footer-link:hover {
    color: #FFFFFF;
    padding-left: 0.5rem;
}

.footer-link:hover::before {
    opacity: 1;
    transform: translateX(0);
}

/* ---- Bottom row: copy only ---- */
.footer-bottom {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}

.footer-copy {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.12em;
    color: rgba(255, 255, 255, 0.4);
}

.copy-mark {
    color: #EF3127;
    margin-right: 0.25rem;
}

.footer-coord {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.6875rem;
    letter-spacing: 0.12em;
}

.coord-label {
    color: rgba(255, 255, 255, 0.35);
}

.coord-val {
    color: #FFFFFF;
    font-variant-numeric: tabular-nums;
}

.coord-sep {
    color: #EF3127;
    margin: 0 0.25rem;
}

/* ---- Giant MIRA wordmark at the very bottom ---- */
.footer-mega {
    position: relative;
    width: 100%;
    overflow: hidden;
    line-height: 0;
    padding: 0;
    margin: 0;
    /* Hard crop the wordmark height */
    height: clamp(4rem, 12vw, 12rem);
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

.footer-mega-text {
    display: block;
    font-family: 'Inter', sans-serif;
    font-weight: 900;
    font-stretch: condensed;
    font-size: clamp(6rem, 22vw, 22rem);
    line-height: 0.85;
    letter-spacing: -0.04em;
    color: transparent;
    -webkit-text-stroke: 1px rgba(239, 49, 39, 0.25);
    text-align: center;
    user-select: none;
    pointer-events: none;
    margin: 0;
    padding: 0;
    /* Push the text up so only upper half is visible inside the cropped container */
    transform: translateY(-15%);
}

/* ---- Responsive ---- */
@media (max-width: 968px) {
    .footer-inner {
        padding: 4rem 1.5rem 2rem;
    }

    .footer-top {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .footer-mid {
        grid-template-columns: 1fr 1fr;
        gap: 2.5rem;
    }

    .footer-brand {
        grid-column: 1 / -1;
    }
}

@media (max-width: 640px) {
    .footer-inner {
        padding: 3.5rem 1.25rem 2rem;
    }

    .footer-top {
        padding-bottom: 2.5rem;
        margin-bottom: 2.5rem;
    }

    .footer-mid {
        grid-template-columns: 1fr;
        gap: 2.5rem;
        padding-bottom: 2rem;
        margin-bottom: 2rem;
    }

    .footer-bottom {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* ============================================================
   PORTFOLIO PAGE
   ============================================================ */

/* ---- Page header ---- */
.page-head {
    position: relative;
    padding: 8rem 2rem 3rem;
    background: #0A0A0A;
}

.page-head-inner {
    max-width: 80rem;
    margin: 0 auto;
}

.back-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.15em;
    color: rgba(255, 255, 255, 0.5);
    margin-bottom: 3rem;
    transition: color 0.2s ease;
}

.back-link svg {
    transition: transform 0.3s ease;
}

.back-link:hover {
    color: #EF3127;
}

.back-link:hover svg {
    transform: translateX(-3px);
}

.page-title {
    font-family: 'Inter', sans-serif;
    font-weight: 900;
    font-stretch: condensed;
    font-size: clamp(2rem, 1.25rem + 2.5vw, 4.5rem);
    line-height: 0.92;
    letter-spacing: -0.025em;
    text-transform: uppercase;
    margin: 1.25rem 0 1.5rem;
    max-width: 60rem;
}

.page-title span { display: block; }

.page-intro {
    font-family: 'Inter', sans-serif;
    font-size: 1rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.7);
    max-width: 52ch;
    font-weight: 400;
}

/* ---- Active nav state (Portfolio link) ---- */
.menu a.active {
    color: #EF3127;
}

/* ---- Filter bar ---- */
.filter-bar {
    position: relative;
    padding: 2rem 2rem 3rem;
    background: #0A0A0A;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.filter-inner {
    max-width: 80rem;
    margin: 0 auto;
}

.filter-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.filter-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.7);
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 0.625rem 1.125rem;
    border-radius: 999px;
    cursor: pointer;
    transition: all 0.25s ease;
}

.filter-pill:hover {
    border-color: rgba(239, 49, 39, 0.5);
    color: #FFFFFF;
}

.filter-pill.active {
    background: #EF3127;
    border-color: #EF3127;
    color: #FFFFFF;
    box-shadow: 0 6px 16px -4px rgba(239, 49, 39, 0.4);
}

.pill-count {
    font-size: 0.625rem;
    opacity: 0.7;
    padding: 0.15rem 0.4rem;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 999px;
}

.filter-pill.active .pill-count {
    background: rgba(255, 255, 255, 0.2);
    opacity: 1;
}

/* ---- Empty state ---- */
.empty-state {
    text-align: center;
    padding: 4rem 2rem;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.875rem;
    letter-spacing: 0.1em;
    color: rgba(255, 255, 255, 0.4);
    text-transform: uppercase;
}

/* ---- CTA Strip at bottom ---- */
.cta-strip {
    position: relative;
    padding: 6rem 2rem;
    background: linear-gradient(180deg,
        rgba(20, 5, 5, 0.6) 0%,
        rgba(10, 10, 10, 0.95) 100%);
    border-top: 1px solid rgba(239, 49, 39, 0.15);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    overflow: hidden;
}

.cta-strip::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60%;
    height: 1px;
    background: linear-gradient(90deg,
        transparent 0%,
        #EF3127 50%,
        transparent 100%);
    opacity: 0.5;
}

.cta-strip-inner {
    max-width: 60rem;
    margin: 0 auto;
    text-align: left;
    position: relative;
    z-index: 2;
}

.cta-title {
    font-family: 'Inter', sans-serif;
    font-weight: 900;
    font-stretch: condensed;
    font-size: clamp(1.875rem, 1.25rem + 2vw, 3.75rem);
    line-height: 0.95;
    letter-spacing: -0.025em;
    text-transform: uppercase;
    margin: 1.25rem 0 1.5rem;
}

.cta-title span { display: block; }

.cta-text {
    font-family: 'Inter', sans-serif;
    font-size: 1rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.7);
    max-width: 50ch;
    margin-bottom: 2rem;
}

/* ---- Responsive ---- */
@media (max-width: 640px) {
    .page-head {
        padding: 6rem 1.25rem 2rem;
    }

    .filter-bar {
        padding: 1.5rem 1.25rem 2rem;
    }

    .filter-pills {
        overflow-x: auto;
        flex-wrap: nowrap;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding-bottom: 0.25rem;
    }

    .filter-pills::-webkit-scrollbar {
        display: none;
    }

    .filter-pill {
        flex-shrink: 0;
    }

    .cta-strip {
        padding: 4rem 1.25rem;
    }
}

/* ============================================================
   PREFERS REDUCED MOTION
   ============================================================ */
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* ============================================================
   THESIS DETAIL PAGE
   ============================================================ */

/* ---- Thesis header ---- */
.thesis-head {
    position: relative;
    padding: 8rem 2rem 4rem;
    background: #0A0A0A;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.thesis-head-inner {
    max-width: 60rem;
    margin: 0 auto;
}

.thesis-title {
    font-family: 'Inter', sans-serif;
    font-weight: 900;
    font-stretch: condensed;
    font-size: clamp(2rem, 1.25rem + 2.5vw, 4.5rem);
    line-height: 0.92;
    letter-spacing: -0.025em;
    text-transform: uppercase;
    margin: 1.25rem 0 1.5rem;
}

.thesis-title span { display: block; }

.thesis-lede {
    font-family: 'Inter', sans-serif;
    font-size: clamp(1rem, 0.95rem + 0.3vw, 1.25rem);
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.75);
    max-width: 52ch;
    font-weight: 400;
    margin-bottom: 3rem;
}

/* Meta info row */
.thesis-meta {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    padding-top: 2rem;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.meta-item {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.meta-key {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.625rem;
    font-weight: 500;
    letter-spacing: 0.18em;
    color: rgba(255, 255, 255, 0.4);
    text-transform: uppercase;
}

.meta-val {
    font-family: 'Inter', sans-serif;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #FFFFFF;
    letter-spacing: 0.02em;
}

/* ---- Thesis body ---- */
.thesis-body {
    padding: 5rem 2rem;
    background: #0A0A0A;
}

.thesis-body-inner {
    max-width: 45rem;
    margin: 0 auto;
}

.thesis-body p {
    font-family: 'Inter', sans-serif;
    font-size: 1rem;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.78);
    margin-bottom: 1.25rem;
}

/* Lede paragraph (first one) — bigger, brighter */
.thesis-lede-p {
    font-size: 1.125rem !important;
    color: #FFFFFF !important;
    line-height: 1.6 !important;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    margin-bottom: 2rem !important;
}

/* H2 headings — Anorent style */
.thesis-h2 {
    font-family: 'Inter', sans-serif;
    font-weight: 900;
    font-stretch: condensed;
    font-size: clamp(1.5rem, 1rem + 1.5vw, 2.25rem);
    line-height: 1;
    letter-spacing: -0.02em;
    text-transform: uppercase;
    color: #FFFFFF;
    margin: 3.5rem 0 1.5rem;
    position: relative;
    padding-top: 1.5rem;
}

/* Numbered tag above each H2 */
.thesis-h2::before {
    content: attr(data-num);
    position: absolute;
    top: 0;
    left: 0;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.18em;
    color: #EF3127;
}

/* Numbered list — boxed */
.thesis-list {
    list-style: none;
    counter-reset: t;
    margin: 1.5rem 0 2rem;
    padding: 0;
    display: grid;
    gap: 0.625rem;
}

.thesis-list li {
    counter-increment: t;
    position: relative;
    padding: 1.25rem 1.5rem 1.25rem 4.5rem;
    background: rgba(20, 20, 22, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 4px;
    font-family: 'Inter', sans-serif;
    font-size: 0.9375rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.7);
    transition: border-color 0.3s ease, background 0.3s ease;
}

.thesis-list li:hover {
    border-color: rgba(239, 49, 39, 0.4);
    background: rgba(25, 25, 28, 0.75);
}

.thesis-list li::before {
    content: counter(t, decimal-leading-zero);
    position: absolute;
    left: 1.5rem;
    top: 1.25rem;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.75rem;
    font-weight: 500;
    color: #EF3127;
    letter-spacing: 0.05em;
    background: rgba(239, 49, 39, 0.1);
    border: 1px solid rgba(239, 49, 39, 0.2);
    padding: 0.2rem 0.5rem;
    border-radius: 2px;
}

.thesis-list li strong {
    display: block;
    font-family: 'Inter', sans-serif;
    font-weight: 800;
    font-stretch: condensed;
    font-size: 1.0625rem;
    color: #FFFFFF;
    margin-bottom: 0.4rem;
    letter-spacing: -0.005em;
    text-transform: uppercase;
}

/* Pull quote */
.thesis-quote {
    font-family: 'Inter', sans-serif;
    font-weight: 800;
    font-stretch: condensed;
    font-size: clamp(1.375rem, 1rem + 1vw, 2rem);
    line-height: 1.15;
    letter-spacing: -0.015em;
    text-transform: uppercase;
    color: #FFFFFF;
    margin: 3rem 0;
    padding: 2rem 0 2rem 2rem;
    border-left: 3px solid #EF3127;
    background: linear-gradient(90deg,
        rgba(239, 49, 39, 0.06) 0%,
        transparent 80%);
}

/* ---- Other theses section ---- */
.other-theses {
    padding: 5rem 2rem;
    background: #050505;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.other-theses-inner {
    max-width: 60rem;
    margin: 0 auto;
}

.other-theses-title {
    font-family: 'Inter', sans-serif;
    font-weight: 900;
    font-stretch: condensed;
    font-size: clamp(1.5rem, 1.2rem + 1vw, 2.25rem);
    line-height: 1;
    letter-spacing: -0.02em;
    text-transform: uppercase;
    color: #FFFFFF;
    margin: 1rem 0 2rem;
}

.other-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.other-card {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    padding: 1.5rem;
    background: rgba(20, 20, 22, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 4px;
    color: inherit;
    transition: border-color 0.3s ease, transform 0.3s ease, background 0.3s ease;
    position: relative;
}

.other-card:hover {
    border-color: rgba(239, 49, 39, 0.5);
    background: rgba(25, 25, 28, 0.75);
    transform: translateY(-2px);
}

.other-num {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.875rem;
    font-weight: 500;
    color: #EF3127;
    letter-spacing: 0.05em;
    flex-shrink: 0;
    padding: 0.4rem 0.625rem;
    background: rgba(239, 49, 39, 0.1);
    border: 1px solid rgba(239, 49, 39, 0.2);
    border-radius: 2px;
}

.other-body {
    flex-grow: 1;
}

.other-body h3 {
    font-family: 'Inter', sans-serif;
    font-weight: 800;
    font-stretch: condensed;
    font-size: 1rem;
    line-height: 1.1;
    letter-spacing: -0.005em;
    text-transform: uppercase;
    color: #FFFFFF;
    margin-bottom: 0.25rem;
}

.other-tag {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    color: rgba(255, 255, 255, 0.5);
}

.other-arrow {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.05);
    color: rgba(255, 255, 255, 0.7);
    transition: background 0.3s ease, color 0.3s ease, transform 0.3s ease;
    flex-shrink: 0;
}

.other-card:hover .other-arrow {
    background: #EF3127;
    color: #FFFFFF;
    transform: translate(2px, -2px);
}

/* ---- Responsive ---- */
@media (max-width: 768px) {
    .thesis-head {
        padding: 7rem 1.25rem 3rem;
    }

    .thesis-meta {
        grid-template-columns: 1fr 1fr;
        gap: 1.25rem;
    }

    .thesis-body {
        padding: 3.5rem 1.25rem;
    }

    .thesis-list li {
        padding-left: 1.5rem;
        padding-top: 3rem;
    }

    .thesis-list li::before {
        top: 1rem;
    }

    .other-grid {
        grid-template-columns: 1fr;
    }

    .other-theses {
        padding: 3.5rem 1.25rem;
    }
}

/* ============================================================
   MOBILE PHONE OPTIMIZATIONS (≤480px)
   ============================================================ */
@media (max-width: 480px) {

    /* ---- Global tightening ---- */
    .navbar {
        padding: 1rem 1.25rem;
    }

    .logo {
        font-size: 1rem;
    }

    .nav-right .btn {
        padding: 0.55rem 0.875rem;
        font-size: 0.6875rem;
    }

    /* Smaller pulse dot in button */
    .nav-right .btn-dot {
        width: 5px;
        height: 5px;
    }

    /* ---- HERO ---- */
    .hero {
        padding: 5rem 1.25rem 2rem;
        min-height: auto;
    }

    .hero-inner {
        position: relative;
        left: auto;
        top: auto;
        transform: none;
        max-width: 100%;
    }

    .hero-title {
        font-size: 2.25rem;
    }

    .hero-sub {
        font-size: 0.875rem;
    }

    .btn-lg {
        padding: 0.75rem 1.25rem;
        font-size: 0.75rem;
    }

    .hero-meta {
        flex-wrap: wrap;
        font-size: 0.625rem;
        margin-top: 1.25rem;
    }

    /* ---- WHERE WE INVEST ---- */
    .invest {
        padding: 4rem 1.25rem;
    }

    .invest-head {
        margin-bottom: 2.5rem;
    }

    .invest-title {
        font-size: 2rem;
    }

    .sector-card {
        padding: 1.25rem;
    }

    /* ---- ABOUT ---- */
    .about {
        padding: 4rem 1.25rem;
    }

    .about-title {
        font-size: 2rem;
    }

    .about-stats {
        grid-template-columns: 1fr 1fr;
        gap: 1.25rem;
    }

    .stat-num {
        font-size: 1.625rem;
    }

    /* Fund card on mobile */
    .fund-card {
        padding: 1.25rem;
    }

    .fc-stamp-mark {
        font-size: 1.375rem;
    }

    .fc-row {
        grid-template-columns: 5rem 1fr;
        gap: 0.75rem;
    }

    .fc-foot {
        flex-wrap: wrap;
        gap: 0.75rem;
    }

    /* Principles list */
    .principle {
        grid-template-columns: 2.5rem 1fr;
        gap: 0.875rem;
        padding: 1rem 0;
    }

    .p-title {
        font-size: 0.9375rem;
    }

    /* ---- PORTFOLIO (homepage) ---- */
    .portfolio {
        padding: 4rem 1.25rem;
    }

    .portfolio-title {
        font-size: 2rem;
    }

    .portfolio-panel {
        padding: 1.25rem;
    }

    .pp-metric {
        gap: 1rem;
    }

    .pp-metric-num {
        font-size: 3rem;
    }

    .pp-metric-label {
        font-size: 0.625rem;
    }

    .pp-sector-row {
        grid-template-columns: 5.5rem 1fr 1.5rem;
        gap: 0.625rem;
    }

    .pps-name {
        font-size: 0.625rem;
    }

    .portfolio-card {
        padding: 1.25rem;
    }

    .pc-name {
        font-size: 1rem;
    }

    .portfolio-footer {
        align-items: flex-start;
    }

    .counter-num {
        font-size: 1.625rem;
    }

    /* ---- FOOTER ---- */
    .footer-inner {
        padding: 3.5rem 1.25rem 2rem;
    }

    .footer-tagline {
        font-size: 1.875rem;
    }

    .footer-top {
        padding-bottom: 2.5rem;
        margin-bottom: 2.5rem;
        gap: 2.5rem;
    }

    .footer-mid {
        gap: 2rem;
        padding-bottom: 2rem;
        margin-bottom: 1.5rem;
    }

    /* Pitch card on mobile */
    .pitch-card {
        padding: 1.25rem;
    }

    .pitch-steps li {
        grid-template-columns: 2rem 1fr auto;
        gap: 0.75rem;
        padding: 0.625rem 0;
    }

    .ps-body h4 {
        font-size: 0.8125rem;
    }

    .ps-body p {
        font-size: 0.6875rem;
    }

    .pcf-val {
        font-size: 1rem;
    }

    .footer-coord {
        flex-wrap: wrap;
    }

    /* ---- PORTFOLIO PAGE ---- */
    .page-head {
        padding: 5.5rem 1.25rem 2rem;
    }

    .page-title {
        font-size: 2rem;
    }

    .back-link {
        margin-bottom: 2rem;
    }

    .filter-bar {
        padding: 1.25rem 1.25rem 1.75rem;
    }

    /* ---- THESIS PAGES ---- */
    .thesis-head {
        padding: 6rem 1.25rem 2.5rem;
    }

    .thesis-title {
        font-size: 2rem;
    }

    .thesis-lede {
        font-size: 0.9375rem;
        margin-bottom: 2rem;
    }

    .thesis-meta {
        grid-template-columns: 1fr 1fr;
        gap: 1rem;
        padding-top: 1.5rem;
    }

    .thesis-body {
        padding: 3rem 1.25rem;
    }

    .thesis-lede-p {
        font-size: 1rem !important;
    }

    .thesis-h2 {
        font-size: 1.375rem;
        margin-top: 2.5rem;
    }

    .thesis-list li {
        padding: 2.75rem 1rem 1rem;
    }

    .thesis-list li::before {
        top: 0.875rem;
        left: 1rem;
    }

    .thesis-list li strong {
        font-size: 1rem;
    }

    .thesis-quote {
        font-size: 1.25rem;
        padding: 1.5rem 0 1.5rem 1.25rem;
        margin: 2rem 0;
    }

    .other-theses {
        padding: 3rem 1.25rem;
    }

    .other-card {
        padding: 1.25rem;
        gap: 1rem;
    }

    .other-body h3 {
        font-size: 0.875rem;
    }

    /* ---- CTA Strip ---- */
    .cta-strip {
        padding: 4rem 1.25rem;
    }

    .cta-title {
        font-size: 1.875rem;
    }

}

/* ============================================================
   VERY SMALL PHONES (≤360px)
   ============================================================ */
@media (max-width: 360px) {
    .hero-title,
    .invest-title,
    .about-title,
    .portfolio-title,
    .page-title,
    .thesis-title,
    .footer-tagline {
        font-size: 1.75rem;
    }

    .navbar {
        padding: 0.875rem 1rem;
    }

    .pp-foot,
    .pp-sector-row {
        font-size: 0.6rem;
    }

    .fc-row {
        grid-template-columns: 4.5rem 1fr;
    }
}

/* ============================================================
   MOBILE MENU + HAMBURGER
   ============================================================ */

/* Hamburger button — hidden by default (desktop) */
.nav-toggle {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    width: 36px;
    height: 36px;
    padding: 8px;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 4px;
    cursor: pointer;
    transition: border-color 0.2s ease;
}

.nav-toggle:hover {
    border-color: #EF3127;
}

.nav-toggle span {
    display: block;
    width: 100%;
    height: 1.5px;
    background: #FFFFFF;
    transition: transform 0.3s ease, opacity 0.3s ease;
    transform-origin: center;
}

/* Animate hamburger into X when open */
.nav-toggle.is-open span:nth-child(1) {
    transform: translateY(5.5px) rotate(45deg);
    background: #EF3127;
}

.nav-toggle.is-open span:nth-child(2) {
    opacity: 0;
}

.nav-toggle.is-open span:nth-child(3) {
    transform: translateY(-5.5px) rotate(-45deg);
    background: #EF3127;
}

/* Mobile menu overlay */
.mobile-menu {
    position: fixed;
    inset: 0;
    background: rgba(5, 5, 5, 0.98);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    z-index: 99;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s ease, visibility 0.35s ease;
}

.mobile-menu.is-open {
    opacity: 1;
    visibility: visible;
}

.mobile-menu nav {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 6rem 2rem 2rem;
    max-width: 28rem;
    margin: 0 auto;
}

.mobile-menu a {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    padding: 1.25rem 0;
    font-family: 'Inter', sans-serif;
    font-weight: 800;
    font-stretch: condensed;
    font-size: 1.75rem;
    line-height: 1;
    letter-spacing: -0.01em;
    text-transform: uppercase;
    color: #FFFFFF;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    transition: color 0.2s ease, padding-left 0.2s ease;
}

.mobile-menu a:hover,
.mobile-menu a:focus-visible {
    color: #EF3127;
    padding-left: 0.5rem;
}

.mobile-menu .mm-cta {
    margin-top: 1.5rem;
    background: #EF3127;
    color: #FFFFFF;
    padding: 1rem 1.5rem;
    border-radius: 999px;
    border-bottom: none;
    font-size: 0.875rem;
    letter-spacing: 0.12em;
    justify-content: center;
    font-stretch: normal;
    font-weight: 600;
}

.mobile-menu .mm-cta:hover {
    background: #DC2625;
    color: #FFFFFF;
    padding-left: 1.5rem;
}

/* Hide hamburger on desktop, show on mobile */
@media (max-width: 768px) {
    .nav-toggle {
        display: flex;
    }
}

/* Prevent scroll when menu is open */
body.menu-open {
    overflow: hidden;
}