/* ==========================================
   RESET
========================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
    overflow-x: hidden;
}

body{
    font-family:'Inter',sans-serif;
    background:#ffffff;
    color:#0f172a;
    overflow-x: hidden;
    padding-top: 86px;
}

/* ==========================================
   NAVBAR
========================================== */

.navbar{

    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:1000;

    height:86px;

    display:flex;
    align-items:center;
    justify-content:space-between;

    padding:0 56px 0 106px;

    background:rgba(255,255,255,0.76);

    backdrop-filter:blur(16px) saturate(180%);
    -webkit-backdrop-filter:blur(16px) saturate(180%);

    border-bottom:1px solid rgba(15,23,42,0.055);

    box-shadow:0 1px 0 rgba(15,23,42,0.04), 0 12px 48px rgba(15,23,42,0.04);

    transition:transform 0.35s cubic-bezier(0.4,0,0.2,1), background 0.3s ease, box-shadow 0.3s ease;
}

.navbar.nav-hidden{

    transform:translateY(-100%);
}

.navbar.scrolled{

    background:rgba(255,255,255,0.88);

    box-shadow:0 1px 0 rgba(15,23,42,0.06), 0 12px 48px rgba(15,23,42,0.08);
}


/* ==========================================
   LOGO
========================================== */

.logo{
    display:flex;
    align-items:center;
    flex: 1;
}

.logo img{
    height:48px;
    width:auto;
    display:block;
    object-fit:contain;
}

/* ==========================================
   CENTER NAV
========================================== */

.nav-menu{

    display:flex;

    align-items:center;

    gap:42px;

    margin-right: 60px;
}


/* ==========================================
   LINKS
========================================== */

.nav-menu > a,
.menu-item > a{

    text-decoration:none;

    position:relative;

    color:#0A0F1E;

    font-family:'Plus Jakarta Sans', sans-serif;

    font-size:14.5px;

    font-weight:500;

    letter-spacing:-0.01em;

    transition:color 0.2s ease, opacity 0.2s ease;
}

.nav-menu > a:hover,
.menu-item > a:hover{

    color:#0c1422;
    opacity:0.72;
}


/* ==========================================
   RIGHT SIDE
========================================== */

.nav-right{

    display:flex;
    flex: 1;
    justify-content: flex-end;
    align-items:center;

    gap:26px;
}

.login-link{

    text-decoration:none;

    color:#1a2438;

    font-size:14.5px;

    font-weight:500;

    letter-spacing:-0.01em;

    transition:color 0.2s ease, opacity 0.2s ease;
}

.login-link:hover{

    color:#0c1422;
    opacity:0.65;
}


/* ==========================================
   LIQUID BUTTON SYSTEM
========================================== */

:root {
    --liq-ease: cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

/* ── Nav CTA ── */

.cta-btn{

    text-decoration:none;

    background: #1E5EFF;

    color:#ffffff;

    padding:11px 22px;

    position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;

    border-radius:4px;

    font-family:'Plus Jakarta Sans', sans-serif;

    font-size:14px;

    font-weight:600;

    letter-spacing:-0.01em;

    box-shadow: 0 4px 18px rgba(30,94,255,0.28);
    white-space: nowrap;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.cta-btn__label {
    position: relative;
    z-index: 1;
    transition: transform 0.65s var(--liq-ease);
}

.cta-btn__fill {
    position: absolute;
    inset: 0;
    background: #0b1120;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 11px 22px;
    clip-path: circle(0% at 90% 50%);
    transition: clip-path 0.65s var(--liq-ease);
    z-index: 2;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: -0.01em;
    white-space: nowrap;
}

.cta-btn:hover .cta-btn__fill {
    clip-path: circle(150% at 90% 50%);
}

.cta-btn:hover .cta-btn__label {
    transform: translateX(-5px);
}

.cta-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 24px rgba(11,17,32,0.22);
}


/* ==========================================
   MENU ITEM
========================================== */

.menu-item{

    position:relative;
    display:flex;
    align-items:center;
}

.menu-item.nav-active > a{

    color:#0c1422;
    font-weight:600;
}

.menu-item.nav-active > a::after{

    content:'';
    display:block;
    position:absolute;
    bottom:-2px;
    left:0;
    right:0;
    height:1.5px;
    background:#174ACC;
    border-radius:2px;
    opacity:0.7;
}


/* ==========================================
   BLUR OVERLAY
========================================== */

.blur-overlay{

    position:fixed;

    top:86px;

    left:0;

    right:0;

    bottom:0;

    background:rgba(15,23,42,0.2);

    backdrop-filter:blur(4px);

    -webkit-backdrop-filter:blur(4px);

    z-index:999;

    opacity:0;

    pointer-events:none;

    transition:opacity 0.25s ease;
}

.blur-overlay.active{

    opacity:1;

    pointer-events:all;
}


/* ==========================================
   MEGA PANEL
========================================== */

.mega-panel{

    position:absolute;

    top:86px;

    left:200px;

    right:200px;

    background:#fff;

    border-top:1px solid rgba(15,23,42,.12);

    border-bottom:1px solid rgba(15,23,42,.12);

    box-shadow:0 16px 40px rgba(15,23,42,.10);

    opacity:0;

    transform:translateY(-6px);

    pointer-events:none;

    transition:opacity 0.2s ease, transform 0.2s ease;

    overflow:hidden;

    z-index:10;
}

.mega-panel.active{

    opacity:1;

    transform:translateY(0);

    pointer-events:all;
}

.mega-panel-inner{

    position:relative;

    overflow:hidden;
}


/* ==========================================
   PANEL CONTENT
========================================== */

.panel-content{

    display:none;

    flex-direction:row;

    gap:0;

    padding:24px 44px;
}

.panel-content.active{

    display:flex;

    animation:panelIn 0.22s ease both;
}

.panel-content.active.from-left{

    animation:panelInLeft 0.22s ease both;
}

@keyframes panelIn{
    from{ opacity:0; transform:translateX(16px); }
    to{   opacity:1; transform:translateX(0); }
}

@keyframes panelInLeft{
    from{ opacity:0; transform:translateX(-16px); }
    to{   opacity:1; transform:translateX(0); }
}


/* ==========================================
   PANEL COLUMN
========================================== */

.panel-col{

    flex:1;

    min-width:180px;

    padding-right:40px;
}

.panel-col:last-child{

    padding-right:0;
}

.panel-col:not(:last-child){

    border-right:1px solid rgba(15,23,42,.12);

    margin-right:40px;
}


/* ==========================================
   COLUMN LABEL
========================================== */

.col-label{

    display:block;

    font-size:11.5px;

    font-weight:600;

    text-transform:none;

    letter-spacing:0;

    color:#0f172a;

    padding-bottom:10px;

    border-bottom:1px solid rgba(15,23,42,.12);

    margin-bottom:10px;
}


/* ==========================================
   PANEL LIST
========================================== */

.panel-list{

    list-style:none;
}

.panel-list li{

    padding:4px 0;
}

.panel-list li a{

    text-decoration:none;

    display:flex;

    flex-direction:column;

    gap:2px;
}

.item-title{

    font-size:14px;

    font-weight:700;

    color:#0f172a;

    transition:color 0.15s;
}

.item-desc{

    font-size:12.5px;

    color:#6b7280;

    line-height:1.5;
}

.panel-list li:not(.view-all) a:hover .item-title{

    color:#1E5EFF;
}

.panel-list .view-all{

    padding-top:10px;
}

.panel-list .view-all a{

    font-size:13px;

    font-weight:600;

    color:#1E5EFF;

    text-decoration:none;

    display:block;

    transition:color 0.15s;
}

.panel-list .view-all a:hover{

    color:#174ACC;

    text-decoration:underline;
}


/* ==========================================
   HERO
========================================== */

.hero{

    min-height:calc(100vh - 86px);

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    text-align:center;

    padding:0 24px;
    position: relative;
    overflow: hidden;
}

.hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 80% 60% at 25% 50%, rgba(0,0,0,0.038) 0%, transparent 60%),
        radial-gradient(ellipse 60% 70% at 80% 20%, rgba(0,0,0,0.024) 0%, transparent 55%),
        radial-gradient(ellipse 50% 45% at 70% 85%, rgba(0,0,0,0.016) 0%, transparent 50%);
    animation: heroMesh 14s ease-in-out infinite alternate;
    pointer-events: none;
    z-index: 0;
}

@keyframes heroMesh {
    0%   { opacity: 0.5; transform: scale(1); }
    100% { opacity: 1;   transform: scale(1.06); }
}

.hero > * { position: relative; z-index: 1; }

/* ── Hero text staged reveal ── */
.eyebrow,
.hero h1,
.hero-description,
.hero-buttons {
    opacity: 0;
    transform: translateY(28px);
}
.hero.hero-loaded .eyebrow          { animation: heroReveal 0.75s cubic-bezier(0.16,1,0.3,1) 60ms  forwards; }
.hero.hero-loaded h1                { animation: heroReveal 0.75s cubic-bezier(0.16,1,0.3,1) 180ms forwards; }
.hero.hero-loaded .hero-description { animation: heroReveal 0.75s cubic-bezier(0.16,1,0.3,1) 300ms forwards; }
.hero.hero-loaded .hero-buttons     { animation: heroReveal 0.75s cubic-bezier(0.16,1,0.3,1) 420ms forwards; }

@keyframes heroReveal {
    to { opacity: 1; transform: translateY(0); }
}

.eyebrow{

    font-size:16px;

    font-weight:700;

    letter-spacing:6px;

    color:#1E5EFF;

    margin-bottom:24px;
}

.hero h1{

    font-size:96px;

    line-height:0.95;

    font-weight:900;

    letter-spacing:-4px;

    color:#0b132b;

    max-width:1100px;
}

.hero h1 span{

    color:#1E3A8A;
}

.hero-description{

    margin-top:34px;

    max-width:820px;

    font-size:24px;

    line-height:1.7;

    color:#64748b;
}

.hero-buttons{

    display:flex;

    gap:18px;

    margin-top:44px;
}

/* ── Hero Primary Button ── */

.primary-btn {
    position: relative;
    overflow: hidden;
    text-decoration: none;
    background: #1E5EFF;
    color: white;
    padding: 18px 36px;
    border-radius: 10px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: -0.02em;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    box-shadow: 0 4px 20px rgba(30,94,255,0.32);
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.primary-btn .liq-label {
    position: relative;
    z-index: 1;
    transition: transform 0.65s var(--liq-ease);
}

.primary-btn .liq-fill {
    position: absolute;
    inset: 0;
    background: #0b1120;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px 36px;
    clip-path: circle(0% at 90% 50%);
    transition: clip-path 0.65s var(--liq-ease);
    z-index: 2;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: -0.02em;
    white-space: nowrap;
}

.primary-btn:hover .liq-fill {
    clip-path: circle(150% at 90% 50%);
}

.primary-btn:hover .liq-label {
    transform: translateX(-6px);
}

.primary-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 24px rgba(11,17,32,0.22);
}

/* ── Hero Secondary (Ghost) Button ── */

.secondary-btn {
    position: relative;
    overflow: hidden;
    text-decoration: none;
    background: transparent;
    border: 1.5px solid rgba(15,23,42,0.20);
    color: #111827;
    padding: 18px 36px;
    border-radius: 999px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: -0.02em;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    transition: border-color 0.35s ease;
}

.secondary-btn:hover {
    border-color: #1E5EFF;
}

.secondary-btn .liq-label {
    position: relative;
    z-index: 1;
    transition: transform 0.65s var(--liq-ease);
}

.secondary-btn .liq-fill {
    position: absolute;
    inset: 0;
    background: #1E5EFF;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px 36px;
    clip-path: circle(0% at 90% 50%);
    transition: clip-path 0.65s var(--liq-ease);
    z-index: 2;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: -0.02em;
    white-space: nowrap;
}

.secondary-btn:hover .liq-fill {
    clip-path: circle(150% at 90% 50%);
}

.secondary-btn:hover .liq-label {
    transform: translateX(-6px);
}


/* ==========================================
   WHAT'S NEW SECTION
========================================== */

.wn-section{

    padding-top:max(60px, calc(100vh - 86px - 520px));

    background:#ffffff;
}

.wn-header{

    display:flex;

    align-items:flex-end;

    justify-content:space-between;

    padding:0 80px;

    margin-bottom:36px;
}

.wn-eyebrow{

    display:block;

    font-family:'Plus Jakarta Sans', sans-serif;

    font-size:18px;

    font-weight:900;

    letter-spacing:0.18em;

    text-transform:uppercase;

    color:#1E3A8A;

    text-align:center;

    width:100%;

    margin-bottom:28px;
}

.wn-header h2{

    font-size:52px;

    font-weight:900;

    letter-spacing:-2.5px;

    color:#0b132b;
}

.wn-view-all{

    text-decoration:none;

    font-size:14px;

    font-weight:700;

    color:#1E5EFF;

    padding-bottom:4px;

    border-bottom:2px solid currentColor;

    white-space:nowrap;

    transition:opacity 0.2s;
}

.wn-view-all:hover{

    opacity:0.65;
}

.wn-scroll{

    overflow-x:auto;

    overflow-y:visible;

    padding:28px 80px 36px;

    scrollbar-width:none;

    -ms-overflow-style:none;

    cursor:grab;
}

.wn-scroll:active{

    cursor:grabbing;
}

.wn-scroll::-webkit-scrollbar{

    display:none;
}

.wn-track{

    display:flex;

    gap:14px;

    width:max-content;
}

.wn-card{

    flex-shrink:0;

    width:300px;

    height:300px;

    border-radius:0;

    overflow:hidden;

    position:relative;

    cursor:pointer;

    background:var(--card-color, #1E5EFF);

    border:1px solid rgba(255,255,255,0.08);

    transition:transform 0.4s cubic-bezier(0.16,1,0.3,1), box-shadow 0.4s cubic-bezier(0.16,1,0.3,1), opacity 0.4s cubic-bezier(0.16,1,0.3,1), filter 0.4s cubic-bezier(0.16,1,0.3,1);
}

.wn-card--featured{

    width:360px;

    height:300px;
}

.wn-card:hover{

    transform:scale(1.04) translateY(-8px);

    z-index:10;

    box-shadow:0 20px 60px rgba(0,0,0,0.15);
}

.wn-scroll:has(.wn-card:hover) .wn-card:not(:hover){

    opacity:0.65;

    filter:blur(1px);

    transform:scale(0.96);
}

.wn-card::before{

    content:'';

    position:absolute;

    top:0;

    left:0;

    right:0;

    bottom:0;

    background:linear-gradient(160deg, rgba(255,255,255,0.12) 0%, transparent 55%);

    pointer-events:none;

    z-index:1;
}

/* keep ::before slot — repurposed as shine overlay above */
.wn-card-glow{

    display:none;

    pointer-events:none;

    z-index:1;
}

.wn-card::after{

    content:'';

    position:absolute;

    inset:0;

    background-image:radial-gradient(circle, rgba(255,255,255,0.07) 1px, transparent 1px);

    background-size:20px 20px;

    pointer-events:none;

    z-index:1;
}

.wn-badge{

    position:absolute;

    top:16px;

    left:16px;

    background:#1E5EFF;

    color:#ffffff;

    font-size:10px;

    font-weight:800;

    letter-spacing:2px;

    padding:4px 10px;

    border-radius:4px;

    z-index:4;
}

.wn-info{

    position:absolute;

    bottom:0;

    left:0;

    right:0;

    padding:22px 22px 24px;

    background:linear-gradient(to top,rgba(0,0,0,0.82) 0%,rgba(0,0,0,0.2) 60%,transparent 100%);

    z-index:4;
}

.wn-card--featured .wn-info{

    padding:28px 28px 32px;
}

.wn-cat{

    display:flex;

    align-items:center;

    gap:7px;

    font-size:11px;

    font-weight:700;

    color:rgba(255,255,255,0.65);

    margin-bottom:9px;

    letter-spacing:0.3px;
}

.wn-dot{

    display:inline-block;

    width:6px;

    height:6px;

    border-radius:50%;

    background:#1E5EFF;

    flex-shrink:0;
}

.wn-card h3{

    font-size:17px;

    font-weight:800;

    color:#ffffff;

    line-height:1.3;

    letter-spacing:-0.4px;
}

.wn-card--featured h3{

    font-size:26px;

    letter-spacing:-1px;

    margin-bottom:12px;
}

.wn-desc{

    font-size:14px;

    color:rgba(255,255,255,0.62);

    line-height:1.55;

    margin-bottom:20px;
}

.wn-cta{

    display:inline-block;

    text-decoration:none;

    background:#1E5EFF;

    color:#ffffff;

    padding:11px 22px;

    border-radius:999px;

    font-weight:700;

    font-size:13px;

    transition:background 0.2s;
}

.wn-cta:hover{

    background:#174ACC;
}

.wn-date{

    display:block;

    font-size:12px;

    color:rgba(255,255,255,0.45);

    margin-top:8px;
}


/* ==========================================
   CREDIBILITY / TRUST SECTION
========================================== */

.crd-trust {
    position: relative;
    padding: 120px 0 0;
    background: #fafafa;
    overflow: hidden;
}

.crd-trust-bg {
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(ellipse 55% 60% at 50% 30%, rgba(0,0,0,0.03) 0%, transparent 65%),
        radial-gradient(rgba(15,23,42,0.04) 1px, transparent 1px);
    background-size: 100% 100%, 24px 24px;
    pointer-events: none;
}

/* ── Metrics row ── */
.crd-metrics {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    margin: 0 auto 28px;
    max-width: 820px;
    position: relative;
    z-index: 1;
    padding: 0 24px;
}

.crd-metric {
    flex: 1;
    text-align: center;
    padding: 0 28px;
    opacity: 0;
    transform: translateY(14px);
    transition: opacity 0.55s cubic-bezier(0.16,1,0.3,1), transform 0.55s cubic-bezier(0.16,1,0.3,1);
}

.crd-metric.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.crd-metric-num {
    display: block;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 28px;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.03em;
    line-height: 1;
    margin-bottom: 5px;
}

.crd-metric-desc {
    display: block;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 11.5px;
    font-weight: 500;
    color: rgba(15,23,42,0.40);
    letter-spacing: 0.01em;
}

.crd-metric-sep {
    width: 1px;
    height: 32px;
    background: rgba(15,23,42,0.09);
    flex-shrink: 0;
}

/* ── Logo Rail ── */
.crd-rail-wrap {
    position: relative;
    overflow: hidden;
    z-index: 1;
    padding: 140px 0 8px;
}

.crd-rail-fade {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 120px;
    z-index: 2;
    pointer-events: none;
}

.crd-rail-fade--l {
    left: 0;
    background: linear-gradient(to right, #fafafa 30%, transparent);
}

.crd-rail-fade--r {
    right: 0;
    background: linear-gradient(to left, #fafafa 30%, transparent);
}

.crd-rail-track {
    display: flex;
    align-items: center;
    width: max-content;
    animation: logoScroll 70s linear infinite;
    will-change: transform;
}

.crd-logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 160px;
    flex-shrink: 0;
    margin: 0 56px;
    transition: transform 0.35s cubic-bezier(0.16,1,0.3,1), opacity 0.35s ease;
    opacity: 0.85;
}

.crd-logo:hover {
    opacity: 1;
    transform: translateY(-2px);
}

.crd-logo img {
    max-height: 140px;
    max-width: 280px;
    width: auto;
    height: auto;
    object-fit: contain;
}

@keyframes logoScroll{
    from{ transform:translateX(0); }
    to  { transform:translateX(-50%); }
}


/* ==========================================
   PRE-FUNDRAISING — LIGHT
========================================== */

.pfl-section {
    background: #EEEFF0;
    padding: 0;
    position: relative;
    overflow: hidden;
}

.pfl-inner {
    background: transparent;
    border: none;
    border-radius: 0;
    overflow: visible;
    padding: 0;
}

.pfl-section::before {
    content: '';
    position: absolute;
    top: -10%;
    left: 50%;
    transform: translateX(-50%);
    width: 900px;
    height: 600px;
    background: radial-gradient(circle at center, rgba(0,0,0,0.04), transparent 60%);
    pointer-events: none;
    z-index: 0;
}

.pfl-section::after {
    content: none;
}

.pfl-container {
    max-width: 1360px;
    width: 100%;
    margin: 0 auto;
    padding: 0 48px 48px;
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
}

/* Section header */
.pfl-sechdr {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin-bottom: 36px;
}

.pfl-eyebrow {
    display: block;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 18px;
    font-weight: 900;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #1E3A8A;
    margin-top: 140px;
    margin-bottom: 28px;
    text-align: center;
}

.pfl-sechdr-title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 50px;
    font-weight: 700;
    letter-spacing: -1px;
    color: #0f172a;
    line-height: 1.05;
    margin: 0 auto 10px;
    text-align: center;
    white-space: normal;
    max-width: none;
}

.pfl-sechdr-title span {
    color: #1E5EFF;
}

.pfl-sechdr-desc {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 15px;
    color: rgba(20,30,55,0.60);
    line-height: 1.60;
    margin: 0 auto;
    font-weight: 400;
    text-align: center;
    white-space: normal;
    max-width: none;
}

/* Grid */
.pfl-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: 400px 380px;
    gap: 20px;
    margin-bottom: 20px;
}

/* Base card */
.pfl-card {
    background: rgba(255,255,255,0.78);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,0.70);
    border-radius: 12px;
    padding: 28px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    position: relative;
    box-shadow: 0 1px 3px rgba(15,23,42,0.04), 0 4px 16px rgba(15,23,42,0.06);
    transition: transform 0.4s cubic-bezier(0.16,1,0.3,1), box-shadow 0.4s cubic-bezier(0.16,1,0.3,1), opacity 0.4s cubic-bezier(0.16,1,0.3,1), filter 0.4s cubic-bezier(0.16,1,0.3,1);
    cursor: default;
}

/* Tier 1 — Pitch Deck & Financial Modeling */
.pfl-card--pitch,
.pfl-card--finance {
    box-shadow: 0 2px 8px rgba(15,23,42,0.07), 0 12px 32px rgba(15,23,42,0.12), 0 24px 64px rgba(30,94,255,0.06);
}

/* Tier 2 — Valuation, Investor Readiness, Company Setup */
.pfl-card--valuation,
.pfl-card--investor,
.pfl-card--company {
    box-shadow: 0 1px 4px rgba(15,23,42,0.05), 0 6px 16px rgba(15,23,42,0.08);
}

.pfl-card:hover {
    transform: scale(1.03) translateY(-6px);
    z-index: 10;
    box-shadow: 0 24px 64px rgba(15,23,42,0.18);
}

.pfl-grid:has(.pfl-card:hover) .pfl-card:not(:hover) {
    opacity: 0.55;
    filter: blur(1.5px);
    transform: scale(0.97);
}

/* Hero card */
.pfl-card--hero {
    background: #ffffff;
    justify-content: flex-start;
    gap: 0;
}

.pfl-hero-title {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 28px;
    font-weight: 900;
    letter-spacing: -1px;
    color: #0f172a;
    line-height: 1.15;
    margin-bottom: 16px;
}

.pfl-hero-desc {
    font-size: 14px;
    color: #64748b;
    line-height: 1.65;
    margin-bottom: auto;
}

.pfl-explore {
    display: inline-block;
    text-decoration: none;
    color: #1E5EFF;
    font-size: 14px;
    font-weight: 700;
    margin-top: 28px;
    transition: opacity 0.2s, transform 0.2s;
}

.pfl-explore:hover {
    opacity: 0.75;
    transform: translateX(3px);
}

/* Card head */
.pfl-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 14px;
    flex-shrink: 0;
}

.pfl-card-head h3 {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 18px;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.5px;
}

.pfl-icon-sm {
    width: 30px;
    height: 30px;
    border-radius: 6px;
    background: rgba(30,94,255,0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1E5EFF;
    flex-shrink: 0;
    transition: background 0.2s;
}

.pfl-card:hover .pfl-icon-sm {
    background: rgba(30,94,255,0.14);
}

.pfl-card-desc {
    font-size: 13.5px;
    color: #64748b;
    line-height: 1.65;
    margin-bottom: 20px;
    flex-shrink: 0;
}

/* Light visual wrapper */
.pfl-visual {
    flex: 1;
    min-height: 0;
    border-radius: 8px;
    overflow: hidden;
    background: #f8f9fc;
    border: 1px solid rgba(15,23,42,0.07);
    display: flex;
    flex-direction: column;
}

/* ── Pitch Deck visual (light) ── */
.pfl-visual--pitch {
    padding: 0;
    background: #111422;
    border-color: rgba(255,255,255,0.06);
}

.pfl-slides {
    display: flex;
    gap: 8px;
    padding: 12px;
    flex: 1;
    min-height: 0;
}

.pfl-slide {
    flex: 1;
    border-radius: 6px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    position: relative;
    border: 1px solid rgba(255,255,255,0.08);
}

.pfl-slide--a,
.pfl-slide--b,
.pfl-slide--c {
    background: #181b2c;
    padding: 14px;
}

.pfl-slide-img {
    flex: 1;
    border-radius: 6px;
    min-height: 0;
}

.pfl-slide-img--land {
    background: linear-gradient(160deg, #1e3a5f 0%, #0f2040 35%, #2a1850 70%, #1a1230 100%);
    position: relative;
    overflow: hidden;
}

.pfl-slide-img--land::after {
    content: '';
    position: absolute;
    inset: 0;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 120'%3E%3Cpath d='M0,90 L40,55 L70,70 L100,30 L130,45 L160,20 L200,35 L200,120 L0,120Z' fill='rgba(30,60,100,0.6)'/%3E%3Cpath d='M0,110 L50,75 L90,85 L120,50 L150,65 L200,45 L200,120 L0,120Z' fill='rgba(15,30,60,0.8)'/%3E%3C/svg%3E") center/cover no-repeat;
}

.pfl-slide-img--land::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 45%;
    background: linear-gradient(to top, #181b2c, transparent);
    z-index: 1;
}

.pfl-slide--a .pfl-slide-lines {
    position: absolute;
    bottom: 14px;
    left: 14px;
    right: 14px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.pfl-slide-img--face {
    background: linear-gradient(155deg, #1e1535 0%, #120f25 40%, #251840 100%);
    position: relative;
    overflow: hidden;
}

.pfl-slide-img--face::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 75%;
    height: 90%;
    background: linear-gradient(to top, rgba(100,70,180,0.15) 0%, rgba(160,100,255,0.35) 50%, rgba(200,140,255,0.2) 100%);
    border-radius: 50% 50% 0 0;
    filter: blur(8px);
}

.pfl-slide-img--face::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60%;
    height: 80%;
    background: linear-gradient(to top, #2a1545 0%, #9b59b6 40%, #d4a8e8 90%);
    border-radius: 50% 50% 0 0;
    opacity: 0.6;
    z-index: 1;
}

.pfl-slide-footer {
    flex-shrink: 0;
    padding-top: 8px;
}

.pfl-slide-label {
    display: block;
    font-size: 11px;
    font-weight: 800;
    color: #f1f5f9;
    margin-bottom: 8px;
    letter-spacing: -0.2px;
}

.pfl-slide-text {
    font-size: 9.5px;
    color: rgba(255,255,255,0.5);
    line-height: 1.55;
    margin-bottom: 8px;
}

.pfl-slide-lines {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.pfl-slide-lines div {
    height: 3px;
    background: rgba(255,255,255,0.1);
    border-radius: 2px;
}

/* "Vision. Impact. Scale." text for slide c */
.pfl-slide--c .pfl-vis-text {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.pfl-slide--c .pfl-vis-text span {
    font-size: 13px;
    font-weight: 900;
    color: #f8fafc;
    letter-spacing: -0.4px;
    line-height: 1.2;
}

/* Mini chart in slide c */
.pfl-slide--c .pfl-mini-chart {
    position: absolute;
    bottom: 14px;
    left: 14px;
    right: 14px;
    height: 36px;
    z-index: 2;
}

.mt8 { margin-top: 6px; }

/* ── Finance visual (light) ── */
.pfl-visual--finance {
    padding: 0;
}

.pfin-wrap {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 16px;
}

.pfin-title {
    font-size: 12px;
    font-weight: 700;
    color: #374151;
    margin-bottom: 12px;
    flex-shrink: 0;
    letter-spacing: -0.1px;
}

.pfin-scroll {
    flex: 1;
    overflow: auto;
    scrollbar-width: none;
}

.pfin-scroll::-webkit-scrollbar { display: none; }

.pfin-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 11.5px;
}

.pfin-table thead td,
.pfin-table thead th {
    color: #9ca3af;
    font-weight: 600;
    padding: 5px 8px;
    text-align: right;
    border-bottom: 1px solid rgba(15,23,42,0.08);
    white-space: nowrap;
}

.pfin-table thead td { text-align: left; }

.pfin-table tbody td {
    padding: 6px 8px;
    text-align: right;
    color: #374151;
    border-bottom: 1px solid rgba(15,23,42,0.05);
    white-space: nowrap;
}

.pfin-table tbody td:first-child,
.pfin-table tbody th {
    text-align: left;
    color: #6b7280;
    font-weight: 500;
}

.pfin-neg { color: #ef4444 !important; }
.pfin-or  { color: #f97316 !important; }
.pfin-hi  { color: #1E5EFF !important; }

/* ── Valuation visual (light) ── */
.pfl-visual--valuation {
    padding: 0;
    overflow: visible;
    background: transparent;
    border: none;
}

.pflv-inner {
    flex-shrink: 0;
    padding: 16px 18px 10px;
}

.pflv-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 6px;
}

.pflv-label {
    font-size: 12px;
    color: #6b7280;
    font-weight: 600;
}

.pflv-dots {
    font-size: 14px;
    color: #9ca3af;
    letter-spacing: 1px;
}

.pflv-value {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 24px;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.8px;
}

.pflv-chart-wrap {
    flex: 1;
    min-height: 0;
    line-height: 0;
    background: linear-gradient(to top, rgba(237,243,255,0.6) 0%, transparent 60%);
    border-radius: 0 0 8px 8px;
    overflow: hidden;
}

.pflv-chart {
    width: 100%;
    height: 100%;
    min-height: 60px;
    display: block;
}

.pflv-line {
    stroke-dasharray: 1000;
    stroke-dashoffset: 1000;
    transition: stroke-dashoffset 1.8s cubic-bezier(0.4,0,0.2,1);
}

.pflv-dot {
    opacity: 0;
    transition: opacity 0.3s 1.7s;
}

.pfl-card.is-visible .pflv-line { stroke-dashoffset: 0; }
.pfl-card.is-visible .pflv-dot  { opacity: 1; }

/* ── Investor visual (light) ── */
.pfl-visual--investor {
    padding: 16px 18px;
}

.pfli-title {
    font-size: 12px;
    font-weight: 700;
    color: #374151;
    margin-bottom: 12px;
    flex-shrink: 0;
    letter-spacing: -0.1px;
}

.pfli-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.pfli-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 10px;
    border-radius: 6px;
    font-size: 13px;
    color: #374151;
    background: rgba(255,255,255,0.8);
    border: 1px solid rgba(15,23,42,0.06);
    opacity: 0;
    transform: translateX(-8px);
    transition: opacity 0.4s, transform 0.4s, background 0.2s;
}

.pfl-card.is-visible .pfli-item:nth-child(1) { opacity:1; transform:translateX(0); transition-delay:0.1s; }
.pfl-card.is-visible .pfli-item:nth-child(2) { opacity:1; transform:translateX(0); transition-delay:0.2s; }
.pfl-card.is-visible .pfli-item:nth-child(3) { opacity:1; transform:translateX(0); transition-delay:0.3s; }
.pfl-card.is-visible .pfli-item:nth-child(4) { opacity:1; transform:translateX(0); transition-delay:0.4s; }

.pfli-item:hover { background: rgba(30,94,255,0.05); }

.pfli-icon { color: #9ca3af; display: flex; flex-shrink: 0; }

.pfli-check {
    margin-left: auto;
    color: #16a34a;
    font-size: 14px;
    font-weight: 700;
}

/* ── Company visual (light) ── */
.pfl-visual--company {
    background: #f1f4f9;
    border-color: rgba(15,23,42,0.07);
    padding: 14px;
    flex-direction: row;
    align-items: stretch;
}

.pflc-inner {
    flex: 1;
    display: flex;
    gap: 12px;
    min-width: 0;
    align-items: stretch;
}

.pflc-doc-mock {
    width: 92px;
    flex-shrink: 0;
    background: #ffffff;
    border: 1px solid rgba(15,23,42,0.09);
    border-radius: 7px;
    padding: 14px 12px 12px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: 0 2px 8px rgba(15,23,42,0.06);
}

.pflc-doc-mock-lines {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.pflc-doc-mock-lines div {
    height: 3px;
    background: rgba(15,23,42,0.13);
    border-radius: 2px;
}

.pflc-doc-mock-lines div:nth-child(2) { width: 80%; }
.pflc-doc-mock-lines div:nth-child(3) { width: 65%; }
.pflc-doc-mock-lines div:nth-child(4) { width: 85%; }
.pflc-doc-mock-lines div:nth-child(5) { width: 55%; }
.pflc-doc-mock-lines div:nth-child(6) { width: 72%; }

.pflc-stamp-v2 {
    flex-shrink: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 14px;
}

.pflc-checklist {
    flex: 1;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.pflc-check-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 10px;
    border-radius: 6px;
    background: #ffffff;
    border: 1px solid rgba(15,23,42,0.07);
    box-shadow: 0 1px 3px rgba(15,23,42,0.04);
}

.pflc-ci-icon {
    color: #9ca3af;
    display: flex;
    flex-shrink: 0;
}

.pflc-ci-text {
    font-size: 12.5px;
    color: #374151;
    font-weight: 500;
    flex: 1;
    white-space: nowrap;
}

.pflc-ci-check {
    color: #16a34a;
    font-size: 13px;
    font-weight: 700;
    flex-shrink: 0;
}

.pflc-ci-anim {
    opacity: 0;
    transform: translateX(-6px);
    transition: opacity 0.4s, transform 0.4s;
    transition-delay: var(--ci-delay, 0s);
}

.pfl-card.is-visible .pflc-ci-anim {
    opacity: 1;
    transform: translateX(0);
}

/* ── Legal bar (light) ── */
.pfl-legal {
    display: flex;
    align-items: center;
    gap: 40px;
    background: rgba(255,255,255,0.78);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,0.70);
    border-radius: 12px;
    padding: 28px 40px;
    box-shadow: 0 1px 2px rgba(15,23,42,0.03), 0 2px 6px rgba(15,23,42,0.05);
}

.pfl-legal-left {
    flex-shrink: 0;
    max-width: 280px;
}

.pfl-legal-left h3 {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 16px;
    font-weight: 800;
    color: #0f172a;
    margin-bottom: 5px;
    letter-spacing: -0.3px;
}

.pfl-legal-left p {
    font-size: 13px;
    color: #64748b;
    line-height: 1.6;
}

.pfl-legal-items {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: space-around;
    gap: 12px;
}

.pfl-legal-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 10px;
    cursor: pointer;
    transition: opacity 0.2s;
}

.pfl-legal-item:hover { opacity: 0.65; }

.pfl-li-icon {
    width: 40px;
    height: 40px;
    border-radius: 7px;
    background: rgba(30,94,255,0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1E5EFF;
    flex-shrink: 0;
    transition: background 0.2s;
}

.pfl-legal-item:hover .pfl-li-icon {
    background: rgba(30,94,255,0.14);
}

.pfl-legal-item span {
    font-size: 13px;
    font-weight: 600;
    color: #374151;
    white-space: nowrap;
}

/* Light scroll reveal — reuse .pfl-reveal from dark's .pf-reveal */
.pfl-reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.65s cubic-bezier(0.16,1,0.3,1), transform 0.65s cubic-bezier(0.16,1,0.3,1);
    transition-delay: var(--delay, 0ms);
}

.pfl-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}


/* ==========================================
   CAPITAL NETWORK
========================================== */

.cap-section {
    background: #EEEFF0;
    padding: 24px;
    position: relative;
}

.cap-container {
    max-width: 1360px;
    width: 100%;
    margin: 0 auto;
}

/* Main white card */
.cap-inner {
    background: #ffffff;
    border: 0.8px solid #D0E5E5;
    border-radius: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* Main content area */
.cap-content {
    flex: 1;
    padding: 72px 72px 64px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Header */
.cap-header {
    text-align: center;
    margin: 0 auto 64px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.cap-eyebrow {
    display: block;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 18px;
    font-weight: 900;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #1E3A8A;
    opacity: 1;
    margin-bottom: 28px;
}

.cap-title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 40px;
    font-weight: 900;
    color: #0d0d0d;
    line-height: 1.06;
    letter-spacing: -0.5px;
    margin: 0 auto 24px;
    max-width: none;
    white-space: nowrap;
    text-align: center;
}

.cap-desc {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 17px;
    color: #52525b;
    line-height: 1.65;
    margin: 0 auto;
    max-width: 680px;
    text-align: center;
}

.cap-desc-em {
    font-weight: 700;
    color: #0f172a;
}

/* Join label */
.cap-join {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: #7c2d2d;
    margin: 0 0 20px;
    text-align: center;
}

/* Grid */
.cap-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    width: 100%;
}

/* ── Card base ── */
.cap-card {
    position: relative;
    border-radius: 6px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: 250px;
    cursor: pointer;
    transition: transform 0.4s cubic-bezier(0.16,1,0.3,1),
                box-shadow 0.4s cubic-bezier(0.16,1,0.3,1),
                border-color 0.4s cubic-bezier(0.16,1,0.3,1);
}

.cap-card:hover {
    transform: translateY(-10px);
}

/* ── Hover: Investor — rust edge glow ── */
.cap-card--investors:hover {
    border-color: rgba(155,82,58,0.45);
    box-shadow: 0 24px 80px rgba(0,0,0,0.60),
                inset 0 1px 0 rgba(174,182,188,0.10),
                0 0 28px rgba(155,82,58,0.18);
}

/* ── Hover: Partner — silver white edge glow ── */
.cap-card--partners:hover {
    border-color: rgba(255,255,255,0.20);
    box-shadow: 0 24px 80px rgba(0,0,0,0.82),
                inset 0 1px 0 rgba(255,255,255,0.06),
                0 0 28px rgba(255,255,255,0.06);
}

.cap-grid:has(.cap-card:hover) .cap-card:not(:hover) {
    opacity: 0.55;
    filter: blur(1px);
    transform: scale(0.98);
    transition: all 0.4s cubic-bezier(0.16,1,0.3,1);
}

/* ── Founder — Brushed Silver ── */
.cap-card--founders {
    background: linear-gradient(
        110deg,
        #f2f4f7 0%,
        #e8eaef 18%,
        #ffffff 34%,
        #d8dce6 52%,
        #eaecf1 70%,
        #f4f5f8 100%
    );
    border: 1px solid rgba(160,168,185,0.55);
    box-shadow: 0 16px 56px rgba(0,0,0,0.14), inset 0 1px 0 rgba(255,255,255,0.9);
}

/* Horizontal engraved lines + sliding metallic sheen on hover */
.cap-card--founders::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(112deg, transparent 20%, rgba(255,255,255,0.60) 50%, transparent 70%),
        repeating-linear-gradient(0deg, rgba(0,0,0,0.028) 0px, rgba(0,0,0,0.028) 1px, transparent 1px, transparent 28px);
    background-size: 200% 100%, auto;
    background-position: -100% 0, 0 0;
    transition: background-position 0.75s cubic-bezier(0.16,1,0.3,1);
    pointer-events: none;
    z-index: 0;
}

.cap-card--founders:hover::before {
    background-position: 200% 0, 0 0;
}

/* Subtle partial arc */
.cap-card--founders::after {
    content: '';
    position: absolute;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    border: 1px solid rgba(0,0,0,0.05);
    top: 50%;
    left: -110px;
    transform: translateY(-50%);
    pointer-events: none;
    z-index: 0;
}

/* ── Investor — Gunmetal + Oxidized Copper Green ── */
.cap-card--investors {
    background: linear-gradient(
        145deg,
        #2F3438 0%,
        #3C4347 45%,
        #292E32 100%
    );
    border: 1px solid rgba(155,82,58,0.22);
    box-shadow: 0 20px 80px rgba(0,0,0,0.55), inset 0 1px 0 rgba(174,182,188,0.08);
}

/* Horizontal engraved lines + sliding silver sheen on hover */
.cap-card--investors::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(112deg, transparent 20%, rgba(255,255,255,0.04) 50%, transparent 70%),
        repeating-linear-gradient(0deg, rgba(174,182,188,0.02) 0px, rgba(174,182,188,0.02) 1px, transparent 1px, transparent 28px);
    background-size: 200% 100%, auto;
    background-position: -100% 0, 0 0;
    transition: background-position 0.75s cubic-bezier(0.16,1,0.3,1);
    pointer-events: none;
    z-index: 0;
}

.cap-card--investors:hover::before {
    background-position: 200% 0, 0 0;
}

/* Subtle partial arc — oxidized green */
.cap-card--investors::after {
    content: '';
    position: absolute;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    border: 1px solid rgba(155,82,58,0.18);
    top: 50%;
    left: -110px;
    transform: translateY(-50%);
    background: radial-gradient(
        ellipse 80% 70% at 80% 30%,
        rgba(155,82,58,0.06) 0%,
        transparent 70%
    );
    pointer-events: none;
    z-index: 0;
}

/* ── Partner — Matte Black + Monochrome Luxury ── */
.cap-card--partners {
    background: linear-gradient(
        145deg,
        #0B0D10 0%,
        #14171B 50%,
        #090B0E 100%
    );
    border: 1px solid rgba(255,255,255,0.10);
    box-shadow: 0 20px 80px rgba(0,0,0,0.80), inset 0 1px 0 rgba(255,255,255,0.04);
}

/* Horizontal lines + sliding white sheen on hover */
.cap-card--partners::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(112deg, transparent 20%, rgba(255,255,255,0.12) 50%, transparent 70%),
        repeating-linear-gradient(0deg, rgba(255,255,255,0.05) 0px, rgba(255,255,255,0.05) 1px, transparent 1px, transparent 28px);
    background-size: 200% 100%, auto;
    background-position: -100% 0, 0 0;
    transition: background-position 0.75s cubic-bezier(0.16,1,0.3,1);
    pointer-events: none;
    z-index: 0;
}

.cap-card--partners:hover::before {
    background-position: 200% 0, 0 0;
}

/* Subtle partial white arc */
.cap-card--partners::after {
    content: '';
    position: absolute;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,0.10);
    top: 50%;
    left: -110px;
    transform: translateY(-50%);
    pointer-events: none;
    z-index: 0;
}

/* ── Card body ── */
.cap-body {
    flex: 1;
    padding: 24px 26px 28px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    position: relative;
    z-index: 1;
}

.cap-card-title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.25;
    margin: 0 0 12px;
    text-align: center;
}

.cap-card--investors .cap-card-title { color: #F2F4F5; }
.cap-card--partners .cap-card-title  { color: #FFFFFF; }
.cap-card--founders .cap-card-title  { color: #0f172a; }

.cap-divider {
    width: 100%;
    height: 1px;
    margin-bottom: 12px;
    flex-shrink: 0;
}

.cap-card--investors .cap-divider { background: rgba(155,82,58,0.38); }
.cap-card--partners .cap-divider  { background: rgba(255,255,255,0.15); }
.cap-card--founders .cap-divider  { background: rgba(15,23,42,0.10); }

.cap-card-desc {
    font-size: 12.5px;
    line-height: 1.65;
    margin: auto 0 0;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.cap-card--investors .cap-card-desc { color: rgba(255,255,255,0.75); }
.cap-card--partners .cap-card-desc { color: #C9CDD1; }
.cap-card--founders .cap-card-desc { color: #4a5568; }

.cap-arrow {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 14px;
    flex-shrink: 0;
    margin-top: auto;
    transition: background 0.25s, border-color 0.25s, color 0.25s;
}

.cap-card--investors .cap-arrow {
    border: 1.5px solid rgba(155,82,58,0.50);
    color: #BF7858;
}
.cap-card--investors .cap-arrow:hover {
    background: rgba(155,82,58,0.14);
}

.cap-card--partners .cap-arrow {
    border: 1.5px solid rgba(255,255,255,0.25);
    color: #ffffff;
}
.cap-card--partners .cap-arrow:hover {
    background: rgba(255,255,255,0.08);
}

.cap-card--founders .cap-arrow {
    border: 1.5px solid rgba(15,23,42,0.20);
    color: #0f172a;
}
.cap-card--founders .cap-arrow:hover {
    background: rgba(15,23,42,0.08);
}

/* Card image panel */
.cap-img {
    flex: 0 0 0;
    position: relative;
    overflow: hidden;
}
.cap-img--partners::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 90% 80% at 70% 70%, rgba(255,255,255,0.18) 0%, transparent 60%),
                linear-gradient(to top, rgba(0,0,0,0.12) 0%, transparent 50%);
}

/* Reveal */
.cap-reveal {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 0.65s cubic-bezier(0.16,1,0.3,1), transform 0.65s cubic-bezier(0.16,1,0.3,1);
    transition-delay: var(--cap-delay, 0ms);
}

.cap-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}




/* ==========================================
   SECTION TRANSITIONS
========================================== */

.section-transition-dark {
    height: 152px;
    background: linear-gradient(
        180deg,
        #F0F0EE 0%,
        #DEDEDE 16%,
        #AAAAAA 34%,
        #626262 54%,
        #1C1C1C 78%,
        #000000 100%
    );
    pointer-events: none;
}

.section-transition-light {
    height: 340px;
    background: linear-gradient(
        180deg,
        #000000 0%,
        #181818 20%,
        #3C3C3C 42%,
        #C2C2C2 72%,
        #EDEEED 88%,
        #F5F5F5 100%
    );
    pointer-events: none;
}



/* ==========================================
   ACTIVE FUNDRAISING SECTION
========================================== */

.af-section {
    background: #08101B;
    position: relative;
    overflow: hidden;
}

.af-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);
    background-size: 80px 80px;
    pointer-events: none;
    z-index: 0;
}

.af-container {
    max-width: 1360px;
    width: 100%;
    margin: 0 auto;
    padding: 0 80px;
    position: relative;
    z-index: 1;
}

/* Section Header */
.af-header {
    padding: 110px 0 72px;
    max-width: 660px;
}

.af-eyebrow {
    display: block;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.32);
    margin-bottom: 28px;
}

.af-title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 54px;
    font-weight: 900;
    color: #ffffff;
    line-height: 1.08;
    letter-spacing: -0.5px;
    margin: 0 0 24px;
}

.af-sub {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 15.5px;
    color: rgba(255,255,255,0.44);
    line-height: 1.72;
    margin: 0;
}

/* Storytelling Layout */
.af-layout {
    display: grid;
    grid-template-columns: 45% 55%;
    padding-bottom: 120px;
}

/* Left: Sticky Visual Column */
.af-vis-col {
    position: relative;
}

.af-vis-sticky {
    position: sticky;
    top: 90px;
    height: calc(100vh - 180px);
}

/* ── Fundraising Workspace Dashboard ── */

.dash {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-right: 28px;
    position: relative;
}

/* Header bar */
.dash-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: rgba(255,255,255,0.055);
    border: 1px solid rgba(255,255,255,0.10);
    border-radius: 10px;
    padding: 11px 18px;
    backdrop-filter: blur(12px);
    flex-shrink: 0;
}

.dash-ws-label {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: rgba(255,255,255,0.55);
}

.dash-ws-label span {
    color: rgba(255,255,255,0.85);
    font-weight: 700;
}

.dash-live {
    display: flex;
    align-items: center;
    gap: 7px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.10em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.45);
}

.dash-live-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #34D399;
    flex-shrink: 0;
    animation: pulse-green 2s ease-in-out infinite;
}

@keyframes pulse-green {
    0%,100% { box-shadow: 0 0 0 0 rgba(52,211,153,0.55); opacity: 1; }
    50%      { box-shadow: 0 0 0 5px rgba(52,211,153,0); opacity: 0.75; }
}

/* KPI metrics row */
.dash-kpis {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
    flex-shrink: 0;
}

.dash-kpi {
    background: rgba(255,255,255,0.045);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 9px;
    padding: 13px 14px 12px;
    backdrop-filter: blur(8px);
}

.dash-kpi-val {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: #ffffff;
    line-height: 1;
    margin-bottom: 5px;
    letter-spacing: -0.02em;
}

.dash-kpi-label {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 9.5px;
    font-weight: 500;
    color: rgba(255,255,255,0.35);
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

/* Round progress */
.dash-round-panel {
    background: rgba(255,255,255,0.045);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 9px;
    padding: 14px 16px;
    backdrop-filter: blur(8px);
    flex-shrink: 0;
}

.dash-round-top {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 10px;
}

.dash-round-name {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 11px;
    font-weight: 700;
    color: rgba(255,255,255,0.70);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.dash-round-pct {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 11px;
    font-weight: 600;
    color: #34D399;
}

.dash-progress-bar {
    height: 4px;
    background: rgba(255,255,255,0.10);
    border-radius: 2px;
    overflow: hidden;
}

.dash-progress-fill {
    height: 100%;
    width: 67%;
    background: linear-gradient(90deg, #34D399, #6EE7B7);
    border-radius: 2px;
    transition: width 0.8s cubic-bezier(0.16,1,0.3,1);
}

/* Investor pipeline */
.dash-pipeline-panel {
    background: rgba(255,255,255,0.045);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 9px;
    padding: 14px 16px;
    backdrop-filter: blur(8px);
    flex: 1;
    overflow: hidden;
}

.dash-panel-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 11px;
}

.dash-panel-title {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 9.5px;
    font-weight: 700;
    color: rgba(255,255,255,0.38);
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.dash-panel-badge {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 9px;
    font-weight: 600;
    color: rgba(255,255,255,0.28);
    background: rgba(255,255,255,0.07);
    border-radius: 4px;
    padding: 2px 7px;
}

.dash-inv-table {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.dash-inv-row {
    display: grid;
    grid-template-columns: 16px 1fr 80px 56px;
    align-items: center;
    gap: 10px;
    padding: 9px 10px;
    border-radius: 7px;
    border: 1px solid transparent;
    transition: background 0.4s ease, border-color 0.4s ease;
}

.dash-inv-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    flex-shrink: 0;
}

.dash-inv-dot.green  { background: #34D399; }
.dash-inv-dot.blue   { background: #6BA3FF; }
.dash-inv-dot.yellow { background: #FBBF24; }
.dash-inv-dot.gray   { background: rgba(255,255,255,0.25); }

.dash-inv-name {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: rgba(255,255,255,0.60);
    transition: color 0.4s ease;
}

.dash-inv-stage {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 10px;
    color: rgba(255,255,255,0.30);
    text-align: right;
    transition: color 0.4s ease;
}

.dash-inv-amt {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 11px;
    font-weight: 600;
    color: rgba(255,255,255,0.35);
    text-align: right;
    transition: color 0.4s ease;
}

/* Active row per step */
[data-step="0"] .dash-inv-row[data-hi="0"],
[data-step="1"] .dash-inv-row[data-hi="1"],
[data-step="2"] .dash-inv-row[data-hi="2"],
[data-step="3"] .dash-inv-row[data-hi="3"] {
    background: rgba(255,255,255,0.06);
    border-color: rgba(255,255,255,0.11);
}

[data-step="0"] .dash-inv-row[data-hi="0"] .dash-inv-name,
[data-step="1"] .dash-inv-row[data-hi="1"] .dash-inv-name,
[data-step="2"] .dash-inv-row[data-hi="2"] .dash-inv-name,
[data-step="3"] .dash-inv-row[data-hi="3"] .dash-inv-name {
    color: rgba(255,255,255,0.92);
}

[data-step="0"] .dash-inv-row[data-hi="0"] .dash-inv-stage,
[data-step="1"] .dash-inv-row[data-hi="1"] .dash-inv-stage,
[data-step="2"] .dash-inv-row[data-hi="2"] .dash-inv-stage,
[data-step="3"] .dash-inv-row[data-hi="3"] .dash-inv-stage,
[data-step="0"] .dash-inv-row[data-hi="0"] .dash-inv-amt,
[data-step="1"] .dash-inv-row[data-hi="1"] .dash-inv-amt,
[data-step="2"] .dash-inv-row[data-hi="2"] .dash-inv-amt,
[data-step="3"] .dash-inv-row[data-hi="3"] .dash-inv-amt {
    color: rgba(255,255,255,0.65);
}

/* Timeline */
.dash-timeline-panel {
    background: rgba(255,255,255,0.040);
    border: 1px solid rgba(255,255,255,0.07);
    border-radius: 9px;
    padding: 13px 16px;
    backdrop-filter: blur(8px);
    flex-shrink: 0;
}

.dash-timeline {
    display: flex;
    align-items: center;
    gap: 0;
    position: relative;
}

.dash-tl-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1;
    position: relative;
    z-index: 1;
}

.dash-tl-step:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 8px;
    left: 50%;
    width: 100%;
    height: 1px;
    background: rgba(255,255,255,0.10);
    z-index: 0;
}

.dash-tl-dot {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 1.5px solid rgba(255,255,255,0.18);
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 6px;
    position: relative;
    z-index: 2;
    font-size: 8px;
}

.dash-tl-step.done .dash-tl-dot {
    border-color: #34D399;
    background: rgba(52,211,153,0.15);
    color: #34D399;
}

.dash-tl-step.active .dash-tl-dot {
    border-color: #ffffff;
    background: rgba(255,255,255,0.12);
    color: #ffffff;
}

.dash-tl-label {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 9px;
    font-weight: 600;
    color: rgba(255,255,255,0.28);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    white-space: nowrap;
}

.dash-tl-step.done .dash-tl-label  { color: #34D399; }
.dash-tl-step.active .dash-tl-label { color: rgba(255,255,255,0.70); }

/* Floating meeting card */
.dash-float {
    position: absolute;
    bottom: 58px;
    right: 36px;
    width: 220px;
    background: rgba(12,20,35,0.88);
    border: 1px solid rgba(255,255,255,0.13);
    border-radius: 11px;
    padding: 14px 16px;
    backdrop-filter: blur(20px);
    box-shadow: 0 24px 48px rgba(0,0,0,0.45), 0 4px 12px rgba(0,0,0,0.25);
    z-index: 10;
    transition: opacity 0.5s ease, transform 0.5s cubic-bezier(0.16,1,0.3,1);
}

.dash-float-tag {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 8.5px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #6BA3FF;
    margin-bottom: 8px;
}

.dash-float-title {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 12px;
    font-weight: 700;
    color: rgba(255,255,255,0.90);
    margin-bottom: 4px;
    line-height: 1.3;
}

.dash-float-sub {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 10.5px;
    color: rgba(255,255,255,0.40);
    margin-bottom: 10px;
}

.dash-float-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 10px;
    color: rgba(255,255,255,0.38);
    border-top: 1px solid rgba(255,255,255,0.07);
    padding-top: 9px;
}

.dash-float-status {
    font-size: 10px;
    font-weight: 600;
    color: #34D399;
}

/* Right: Content Column */
.af-content-col {
    padding-left: 4px;
}

.af-step {
    min-height: 95vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 52px 0 56px;
}

.af-step-num {
    display: block;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.24em;
    color: rgba(255,255,255,0.22);
    margin-bottom: 28px;
}

.af-step-title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 52px;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.1;
    letter-spacing: -0.02em;
    margin: 0 0 24px;
}

.af-step-lead {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 16px;
    color: rgba(255,255,255,0.50);
    margin: 0 0 36px;
    line-height: 1.65;
    max-width: 420px;
}

.af-step-list {
    list-style: none;
    padding: 0;
    margin: 0 0 36px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.af-step-list li {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14px;
    color: rgba(255,255,255,0.55);
    padding-left: 18px;
    position: relative;
    line-height: 1.55;
}

.af-step-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    width: 6px;
    height: 1px;
    background: rgba(255,255,255,0.30);
}

.af-step-footnote {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 12px;
    color: rgba(255,255,255,0.22);
    line-height: 1.6;
    max-width: 360px;
    padding-top: 24px;
    border-top: 1px solid rgba(255,255,255,0.07);
}

/* ==========================================
   AF PROGRESS INDICATOR
========================================== */

.af-progress {
    position: fixed;
    right: 38px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 200;
    opacity: 0;
    transition: opacity 0.5s ease;
    pointer-events: none;
}

.af-progress.is-visible {
    opacity: 1;
    pointer-events: auto;
}

.af-prog-track {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    position: relative;
}

.af-prog-track::before {
    content: '';
    position: absolute;
    right: 3px;
    top: 22px;
    bottom: 22px;
    width: 1px;
    background: rgba(255,255,255,0.12);
    z-index: 0;
}

.af-prog-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 0;
    position: relative;
    z-index: 1;
    cursor: default;
}

.af-prog-dot {
    order: 2;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    border: 1.5px solid rgba(255,255,255,0.28);
    background: transparent;
    flex-shrink: 0;
    transition: background 0.35s ease, border-color 0.35s ease, transform 0.35s ease;
}

.af-prog-label {
    order: 1;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 9.5px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.22);
    white-space: nowrap;
    transition: color 0.35s ease;
}

.af-prog-item.is-active .af-prog-dot {
    background: #ffffff;
    border-color: #ffffff;
    transform: scale(1.3);
}

.af-prog-item.is-active .af-prog-label {
    color: rgba(255,255,255,0.75);
}

.af-prog-item.is-done .af-prog-dot {
    background: rgba(255,255,255,0.42);
    border-color: rgba(255,255,255,0.42);
}

/* ==========================================
   VISUAL COMPOSITIONS — SHARED
========================================== */

/* ── Visual 0: Investor Meeting Memo ── */
.vis-doc-wrap {
    position: relative;
    width: 88%;
    max-width: 390px;
}

.vis-doc {
    background: rgba(255,255,255,0.055);
    border: 1px solid rgba(255,255,255,0.10);
    border-radius: 13px;
    padding: 26px 26px 20px;
    backdrop-filter: blur(4px);
}

.vis-doc-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding-bottom: 14px;
    margin-bottom: 16px;
    border-bottom: 1px solid rgba(255,255,255,0.09);
}

.vis-label {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.40);
}

.vis-date {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 9.5px;
    color: rgba(255,255,255,0.28);
}

.vis-skel {
    height: 7px;
    border-radius: 4px;
    background: rgba(255,255,255,0.11);
    margin-bottom: 7px;
}

.vis-section-title {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.26);
    margin: 18px 0 10px;
}

.vis-checklist {
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.vis-check-item {
    display: flex;
    align-items: center;
    gap: 9px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 11px;
    color: rgba(255,255,255,0.65);
    line-height: 1.4;
}

.vis-check-icon {
    width: 15px;
    height: 15px;
    border-radius: 50%;
    border: 1.5px solid rgba(255,255,255,0.22);
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.vis-check-done {
    background: rgba(90,200,130,0.15);
    border-color: rgba(90,200,130,0.50);
}

.vis-check-done::after {
    content: '';
    display: block;
    width: 5px;
    height: 3px;
    border-left: 1.5px solid rgba(90,200,130,0.9);
    border-bottom: 1.5px solid rgba(90,200,130,0.9);
    transform: rotate(-45deg) translateY(-1px);
}

.vis-doc-footer {
    display: flex;
    gap: 6px;
    margin-top: 18px;
    padding-top: 12px;
    border-top: 1px solid rgba(255,255,255,0.07);
}

.vis-tag {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.24);
    border: 1px solid rgba(255,255,255,0.10);
    border-radius: 4px;
    padding: 3px 7px;
}

.vis-overlap-card {
    position: absolute;
    bottom: -26px;
    right: -22px;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.13);
    border-radius: 10px;
    padding: 12px 18px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    backdrop-filter: blur(8px);
}

.vis-oc-label {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgba(255,255,255,0.36);
}

.vis-oc-value {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 17px;
    font-weight: 700;
    color: rgba(255,255,255,0.88);
}

/* ── Visual 1: Pitch Day ── */
.vis-deck-wrap {
    width: 92%;
    max-width: 400px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.vis-slide {
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.11);
    border-radius: 11px;
    padding: 20px 22px 16px;
    aspect-ratio: 16/9;
    display: flex;
    flex-direction: column;
}

.vis-slide-header {
    display: flex;
    align-items: baseline;
    gap: 5px;
    margin-bottom: 12px;
}

.vis-slide-num {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.40);
}

.vis-slide-of {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 9px;
    color: rgba(255,255,255,0.18);
}

.vis-slide-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.vis-slide-titles {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.vis-skel-lg { height: 12px; border-radius: 4px; background: rgba(255,255,255,0.14); }
.vis-skel-md { height: 8px; border-radius: 4px; background: rgba(255,255,255,0.09); width: 68%; }

.vis-bars {
    flex: 1;
    display: flex;
    align-items: flex-end;
    gap: 7px;
    padding-top: 6px;
}

.vis-bar {
    flex: 1;
    border-radius: 3px 3px 0 0;
    background: rgba(255,255,255,0.13);
}

.vis-bar-active {
    background: rgba(180,200,255,0.28);
}

.vis-thumbs {
    display: flex;
    gap: 5px;
}

.vis-thumb {
    flex: 1;
    height: 34px;
    border-radius: 5px;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.07);
}
.vis-thumb-done { background: rgba(255,255,255,0.10); border-color: rgba(255,255,255,0.13); }
.vis-thumb-active { background: rgba(180,200,255,0.16); border-color: rgba(180,200,255,0.32); }

.vis-note {
    display: flex;
    align-items: center;
    gap: 9px;
    background: rgba(255,215,80,0.07);
    border: 1px solid rgba(255,215,80,0.17);
    border-radius: 8px;
    padding: 9px 13px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 11px;
    color: rgba(255,215,80,0.70);
    width: 92%;
    max-width: 400px;
}

/* ── Visual 2: Deal Structuring ── */
.vis-ts-wrap {
    width: 92%;
    max-width: 400px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.vis-ts {
    background: rgba(255,255,255,0.055);
    border: 1px solid rgba(255,255,255,0.10);
    border-radius: 11px;
    overflow: hidden;
}

.vis-ts-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 13px 18px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}

.vis-ts-name {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.20em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.40);
}

.vis-ts-draft {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 8.5px;
    font-weight: 600;
    letter-spacing: 0.10em;
    text-transform: uppercase;
    color: rgba(255,200,80,0.65);
    background: rgba(255,200,80,0.08);
    border: 1px solid rgba(255,200,80,0.18);
    border-radius: 4px;
    padding: 3px 7px;
}

.vis-ts-row {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    padding: 9px 18px;
    border-bottom: 1px solid rgba(255,255,255,0.05);
    align-items: center;
    font-family: 'Plus Jakarta Sans', sans-serif;
}

.vis-ts-row:last-child { border-bottom: none; }

.vis-ts-row-hd {
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.22);
    background: rgba(255,255,255,0.03);
    padding: 7px 18px;
    border-bottom: 1px solid rgba(255,255,255,0.06);
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
}

.vis-ts-cell {
    font-size: 11px;
    color: rgba(255,255,255,0.58);
}

.vis-ts-orig { color: rgba(255,255,255,0.38); }
.vis-ts-green { color: rgba(90,200,130,0.85); font-weight: 600; }
.vis-ts-amber { color: rgba(255,200,80,0.80); font-weight: 600; }

.vis-ct {
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 9px;
    padding: 12px 16px;
}

.vis-ct-lbl {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 0.20em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.24);
    margin-bottom: 8px;
    display: block;
}

.vis-ct-bar {
    display: flex;
    height: 28px;
    border-radius: 5px;
    overflow: hidden;
    gap: 2px;
}

.vis-ct-seg {
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 9px;
    font-weight: 600;
    overflow: hidden;
}

.vis-ct-seg span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding: 0 5px; }
.vis-ct-f { background: rgba(100,130,210,0.28); color: rgba(180,200,255,0.85); }
.vis-ct-i { background: rgba(200,165,90,0.24); color: rgba(240,210,140,0.85); }
.vis-ct-e { background: rgba(90,185,155,0.20); color: rgba(150,220,195,0.85); }

/* ── Visual 3: Due Diligence Data Room ── */
.vis-dr {
    width: 92%;
    max-width: 400px;
    background: rgba(255,255,255,0.055);
    border: 1px solid rgba(255,255,255,0.10);
    border-radius: 11px;
    overflow: hidden;
}

.vis-dr-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 13px 18px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}

.vis-dr-name {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.20em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.40);
}

.vis-dr-pct {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 10px;
    font-weight: 600;
    color: rgba(90,200,130,0.70);
}

.vis-folder {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 10px 18px;
    border-bottom: 1px solid rgba(255,255,255,0.04);
    font-family: 'Plus Jakarta Sans', sans-serif;
}

.vis-folder:last-child { border-bottom: none; }

.vis-folder-icon {
    font-size: 13px;
    color: rgba(255,255,255,0.22);
    flex-shrink: 0;
    width: 16px;
}
.vis-f-done .vis-folder-icon  { color: rgba(90,200,130,0.60); }
.vis-f-active .vis-folder-icon { color: rgba(180,200,255,0.60); }

.vis-folder-name {
    flex: 1;
    font-size: 11px;
    color: rgba(255,255,255,0.50);
}
.vis-f-done .vis-folder-name   { color: rgba(255,255,255,0.68); }
.vis-f-active .vis-folder-name { color: rgba(180,200,255,0.80); }

.vis-folder-count {
    font-size: 10px;
    font-weight: 600;
    color: rgba(255,255,255,0.22);
    font-variant-numeric: tabular-nums;
}
.vis-f-done .vis-folder-count   { color: rgba(90,200,130,0.60); }
.vis-f-active .vis-folder-count { color: rgba(180,200,255,0.52); }

.vis-dr-foot {
    padding: 12px 18px;
    border-top: 1px solid rgba(255,255,255,0.06);
}

.vis-dr-progbar {
    height: 3px;
    background: rgba(255,255,255,0.09);
    border-radius: 2px;
    overflow: hidden;
}

.vis-dr-fill {
    height: 100%;
    width: 68%;
    background: linear-gradient(90deg, rgba(90,200,130,0.45), rgba(90,200,130,0.72));
    border-radius: 2px;
}


/* ==========================================
   RESPONSIVE
========================================== */

@media(max-width:1100px){

    .nav-menu{

        gap:24px;
    }

    .mega-panel{

        left:100px;

        right:100px;
    }

    .hero h1{

        font-size:70px;
    }

    .wn-header{

        padding:0 48px;
    }

    .wn-header h2{

        font-size:42px;
    }

    .wn-scroll{

        padding:0 48px 32px;
    }

}

@media(max-width:900px){

    .navbar{

        padding:0 24px;
    }

    .nav-menu{

        display:none;
    }

    .hero h1{

        font-size:54px;
    }

    .hero-description{

        font-size:18px;
    }

    .mega-panel,
    .blur-overlay{

        display:none !important;
    }

    .wn-header{

        padding:0 24px;

        align-items:flex-start;

        flex-direction:column;

        gap:14px;
    }

    .wn-header h2{

        font-size:36px;
    }

    .wn-scroll{

        padding:0 24px 28px;
    }

    .wn-card{

        width:240px;

        height:340px;
    }

    .wn-card--featured{

        width:310px;
    }

    .wn-card--featured h3{

        font-size:20px;
    }

    .crd-trust {
        padding: 36px 0 32px;
    }

    .crd-metrics {
        flex-wrap: wrap;
        gap: 20px 0;
        margin-bottom: 28px;
    }

    .crd-metric-sep {
        display: none;
    }

    .crd-metric {
        flex: 0 0 50%;
    }

    .crd-logo {
        width: 200px;
        height: 110px;
        margin: 0 20px;
    }

    .crd-logo img {
        max-height: 96px;
        max-width: 180px;
    }
}

/* ==========================================
   IMR RESPONSIVE
========================================== */

@media (max-width: 1080px) {
    .imr-section { padding: 64px 28px; }
    .imr-topbar { padding: 24px 32px 22px; }
    .imr-inner {
        grid-template-columns: 1fr;
        padding: 40px 32px 52px;
        gap: 44px;
    }
    .imr-headline { font-size: clamp(40px, 10vw, 58px); }
    .imr-copy { font-size: 16px; max-width: 100%; }
    .imr-visual { padding-left: 24px; }
    .imr-qfloat { left: 0; width: 190px; padding: 16px 18px; }
    .imr-readiness { right: 0; }
}

@media (max-width: 640px) {
    .imr-section { padding: 48px 16px; }
    .imr-topbar { padding: 20px 20px 18px; flex-wrap: wrap; gap: 16px; }
    .imr-inner { padding: 32px 20px 44px; gap: 40px; }
    .imr-headline { font-size: 36px; }
    .imr-copy { font-size: 15px; }
    .imr-visual { padding-left: 18px; }
    .imr-qfloat { display: none; }
    .imr-readiness { display: none; }
    .imr-notif { top: -16px; right: 10px; padding: 12px 16px; }
}

/* ==========================================
   ACTIVE FUNDRAISING SUPPORT — SHOWCASE
========================================== */

.afs-section {
    background: #050505;
    position: relative;
    padding: 36px 0 44px;
    overflow: hidden;
}

.afs-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 50% 0%, rgba(255,255,255,0.06) 0%, transparent 62%);
    pointer-events: none;
}

.afs-container {
    max-width: 1260px;
    margin: 0 auto;
    padding: 0 52px;
    position: relative;
    z-index: 1;
}

/* ── Section Header ── */

.afs-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin: 0 auto 28px;
}

.afs-eyebrow {
    display: block;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #ffffff;
    margin-bottom: 8px;
    text-align: center;
}

.afs-headline {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 34px;
    font-weight: 800;
    color: #ffffff;
    line-height: 1.06;
    letter-spacing: -0.03em;
    margin: 0 auto 14px;
    text-align: center;
    max-width: 1000px;
    white-space: nowrap;
}

.afs-lead {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 15px;
    color: rgba(255,255,255,0.38);
    line-height: 1.60;
    margin: 0 auto;
    text-align: center;
    max-width: 960px;
    white-space: nowrap;
}

/* ── Showcase: individual floating cards with breathing room ── */

.afs-showcase {
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-width: 1160px;
    margin: 0 auto;
}

.afs-row {
    display: grid;
    grid-template-columns: 58% 42%;
    min-height: 170px;
    background: rgba(255,255,255,0.025);
    border: 1px solid rgba(255,255,255,0.065);
    border-radius: 16px;
    overflow: hidden;
    transition: border-color 0.3s ease;
}

.afs-row:hover {
    border-color: rgba(255,255,255,0.10);
}

/* Text column */
.afs-text-col {
    padding: 18px 28px 18px 32px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.afs-card-num {
    display: block;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.24em;
    color: rgba(255,255,255,0.18);
    margin-bottom: 8px;
}

.afs-card-title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 20px;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.15;
    margin: 0 0 8px;
    letter-spacing: -0.01em;
}

.afs-card-lead {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 12.5px;
    color: rgba(255,255,255,0.44);
    line-height: 1.60;
    margin: 0 0 12px;
    max-width: 380px;
}

.afs-feat-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.afs-feat-list li {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 12px;
    color: rgba(255,255,255,0.48);
    padding-left: 14px;
    position: relative;
    line-height: 1.45;
}

.afs-feat-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    width: 5px;
    height: 1px;
    background: rgba(255,255,255,0.26);
}

/* Visual column */
.afs-visual-col {
    position: relative;
    background: rgba(0,0,0,0.18);
    border-left: 1px solid rgba(255,255,255,0.055);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px 36px;
    overflow: hidden;
}


.afs-row-alt .afs-visual-col {
    border-left: none;
    border-right: 1px solid rgba(255,255,255,0.06);
    order: -1;
}

/* Scene base */
.afs-scene {
    width: 100%;
    max-width: 400px;
    position: relative;
    z-index: 1;
}

/* ── Scene 01: Prep Checklist ── */

.scene-window {
    background: rgba(255,255,255,0.042);
    border: 1px solid rgba(255,255,255,0.09);
    border-radius: 14px;
    overflow: hidden;
}

.scene-win-bar {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    background: rgba(255,255,255,0.024);
    border-bottom: 1px solid rgba(255,255,255,0.06);
}

.scene-dots {
    display: flex;
    gap: 5px;
    flex-shrink: 0;
}

.scene-dots span {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(255,255,255,0.10);
}

.scene-win-title {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 10.5px;
    font-weight: 600;
    color: rgba(255,255,255,0.35);
}

.scene-win-body {
    padding: 18px 16px;
}

.scene-prep-list {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-bottom: 18px;
}

.scene-prep-row {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 9px 10px;
    border-radius: 7px;
    opacity: 0;
    animation: afs-item-up 0.4s ease-out calc(var(--i) * 0.11s) both;
    animation-play-state: paused;
}

.afs-row.is-visible .scene-prep-row {
    animation-play-state: running;
}

.scene-prep-row.is-done  { background: rgba(52,211,153,0.05); }
.scene-prep-row.is-active { background: rgba(255,255,255,0.04); }

.scene-checkbox {
    width: 15px;
    height: 15px;
    border-radius: 4px;
    border: 1.5px solid rgba(255,255,255,0.18);
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 9px;
    color: #34D399;
    transition: all 0.3s ease;
}

.scene-checkbox.is-checked {
    border-color: #34D399;
    background: rgba(52,211,153,0.12);
    animation: afs-checkbox-pop 0.4s cubic-bezier(0.34,1.56,0.64,1) calc(var(--i) * 0.11s + 0.35s) both;
    animation-play-state: paused;
}
.scene-checkbox.is-checked::after { content: '✓'; }

.afs-row.is-visible .scene-checkbox.is-checked {
    animation-play-state: running;
}

.scene-prep-row.is-active .scene-checkbox {
    border-color: rgba(255,255,255,0.38);
    animation: afs-cb-pulse 2.2s ease-in-out infinite;
}

.scene-prep-row span:not(.scene-active-tag) {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 12px;
    color: rgba(255,255,255,0.40);
    flex: 1;
    line-height: 1.4;
}

.scene-prep-row.is-done span:not(.scene-active-tag) {
    color: rgba(255,255,255,0.58);
}

.scene-active-tag {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 9px;
    font-weight: 600;
    color: rgba(255,255,255,0.42);
    background: rgba(255,255,255,0.07);
    padding: 2px 7px;
    border-radius: 4px;
    white-space: nowrap;
}

.scene-readiness {
    padding-top: 14px;
    border-top: 1px solid rgba(255,255,255,0.06);
}

.scene-readiness-label {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 9.5px;
    font-weight: 600;
    color: rgba(255,255,255,0.26);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.scene-readiness-pct { color: #34D399; }

.scene-readiness-track {
    height: 3px;
    background: rgba(255,255,255,0.07);
    border-radius: 2px;
    overflow: hidden;
}

.scene-readiness-fill {
    height: 100%;
    border-radius: 2px;
    background: linear-gradient(90deg, #34D399, #6EE7B7);
    animation: afs-bar-osc 9s ease-in-out infinite alternate;
    animation-play-state: paused;
}

.afs-row.is-visible .scene-readiness-fill {
    animation-play-state: running;
}

/* ── Scene 02: Live Pitch Room ── */

.afs-scene-pitch {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.scene-pitch-status {
    display: flex;
    align-items: center;
    gap: 10px;
    background: rgba(255,255,255,0.038);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 10px;
    padding: 11px 15px;
}

.scene-live-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #34D399;
    flex-shrink: 0;
    animation: afs-live-glow 2s ease-in-out infinite;
}

.scene-pitch-label {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 11px;
    font-weight: 600;
    color: rgba(255,255,255,0.52);
    flex: 1;
}

.scene-pitch-timer {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 11px;
    font-weight: 600;
    color: rgba(255,255,255,0.28);
    font-variant-numeric: tabular-nums;
}

.scene-pitch-notes {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.scene-note {
    display: flex;
    gap: 11px;
    align-items: flex-start;
    background: rgba(255,255,255,0.028);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 9px;
    padding: 11px 13px;
    opacity: 0;
    animation: afs-note-slide 0.5s ease-out calc(var(--i) * 0.22s + 0.2s) both;
    animation-play-state: paused;
}

.afs-row.is-visible .scene-note {
    animation-play-state: running;
}

.scene-note-new {
    border-color: rgba(52,211,153,0.18);
    animation: afs-note-new 0.65s cubic-bezier(0.16,1,0.3,1) calc(var(--i) * 0.22s + 0.2s) both;
}

.afs-row.is-visible .scene-note-new {
    animation-play-state: running;
}

.scene-note-time {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 10px;
    font-weight: 600;
    color: rgba(255,255,255,0.20);
    white-space: nowrap;
    padding-top: 1px;
    font-variant-numeric: tabular-nums;
}

.scene-note-text {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 11.5px;
    color: rgba(255,255,255,0.50);
    line-height: 1.50;
    flex: 1;
}

.scene-note-badge {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #34D399;
    background: rgba(52,211,153,0.10);
    border-radius: 4px;
    padding: 2px 7px;
    white-space: nowrap;
    flex-shrink: 0;
}

.scene-typing {
    display: flex;
    gap: 4px;
    padding: 8px 13px;
    align-items: center;
}

.scene-typing-dot {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: rgba(255,255,255,0.20);
    animation: afs-typing 1.5s ease-in-out calc(var(--i) * 0.22s) infinite;
}

/* ── Scene 03: Deal Grid ── */

.afs-scene-deal {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.scene-deal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 13px;
    border-bottom: 1px solid rgba(255,255,255,0.07);
}

.scene-deal-title {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 11px;
    font-weight: 700;
    color: rgba(255,255,255,0.48);
    letter-spacing: 0.04em;
}

.scene-deal-status-badge {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.10em;
    text-transform: uppercase;
    color: #FBBF24;
    background: rgba(251,191,36,0.10);
    border-radius: 4px;
    padding: 3px 8px;
}

.scene-deal-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 7px;
}

.scene-deal-node {
    background: rgba(255,255,255,0.038);
    border: 1px solid rgba(255,255,255,0.07);
    border-radius: 10px;
    padding: 13px 12px 11px;
    opacity: 0;
    animation: afs-item-up 0.35s ease-out calc(var(--i) * 0.08s + 0.1s) both;
    animation-play-state: paused;
}

.afs-row.is-visible .scene-deal-node {
    animation-play-state: running;
}

.scene-deal-highlight {
    border-color: rgba(52,211,153,0.28);
    background: rgba(52,211,153,0.06);
    animation: afs-item-up 0.35s ease-out calc(var(--i) * 0.08s + 0.1s) both,
               afs-node-glow 4s ease-in-out 1.5s infinite;
    animation-play-state: paused;
}

.afs-row.is-visible .scene-deal-highlight {
    animation-play-state: running;
}

.scene-deal-improved {
    border-color: rgba(52,211,153,0.12);
}

.scene-deal-label {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 9px;
    font-weight: 600;
    color: rgba(255,255,255,0.28);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 7px;
}

.scene-deal-val {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: rgba(255,255,255,0.72);
    letter-spacing: -0.01em;
}

.scene-deal-old {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 10.5px;
    color: rgba(255,255,255,0.25);
    text-decoration: line-through;
    margin-bottom: 3px;
}

.scene-deal-new {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #34D399;
    letter-spacing: -0.01em;
    animation: afs-val-shimmer 6s ease-in-out 2s infinite;
    animation-play-state: paused;
}

.afs-row.is-visible .scene-deal-new {
    animation-play-state: running;
}

/* ── Scene 04: Data Room ── */

.afs-scene-dd {
    display: flex;
    flex-direction: column;
    gap: 11px;
    width: 100%;
}

.scene-dd-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.scene-dd-title {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 10.5px;
    font-weight: 700;
    color: rgba(255,255,255,0.50);
    letter-spacing: 0.10em;
    text-transform: uppercase;
}

.scene-dd-pct {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 11px;
    font-weight: 600;
    color: #34D399;
}

.scene-dd-progress-bar {
    height: 3px;
    background: rgba(255,255,255,0.07);
    border-radius: 2px;
    overflow: hidden;
}

.scene-dd-fill {
    height: 100%;
    background: linear-gradient(90deg, #34D399, #6EE7B7);
    border-radius: 2px;
    animation: afs-dd-fill 3.5s cubic-bezier(0.16,1,0.3,1) 0.6s both;
    animation-play-state: paused;
}

.afs-row.is-visible .scene-dd-fill {
    animation-play-state: running;
}

.scene-dd-folders {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.scene-dd-row {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 10px 12px;
    border-radius: 8px;
    border: 1px solid transparent;
    opacity: 0;
    animation: afs-item-up 0.4s ease-out calc(var(--i) * 0.09s + 0.6s) both;
    animation-play-state: paused;
}

.afs-row.is-visible .scene-dd-row {
    animation-play-state: running;
}

.scene-dd-row.is-done   { background: rgba(52,211,153,0.04); border-color: rgba(52,211,153,0.08); }
.scene-dd-row.is-active { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.08); }

.scene-dd-icon {
    width: 16px;
    height: 16px;
    border-radius: 4px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    font-style: normal;
}

.scene-dd-done-icon    { background: rgba(52,211,153,0.14); color: #34D399; }
.scene-dd-done-icon::after { content: '✓'; }
.scene-dd-active-icon  { background: rgba(255,255,255,0.07); animation: afs-cb-pulse 2.2s ease-in-out infinite; }
.scene-dd-active-icon::after { content: '●'; font-size: 6px; color: rgba(255,255,255,0.50); }
.scene-dd-pending-icon { border: 1.5px solid rgba(255,255,255,0.10); }

.scene-dd-name {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 12px;
    color: rgba(255,255,255,0.42);
    flex: 1;
}

.scene-dd-row.is-done .scene-dd-name { color: rgba(255,255,255,0.60); }

.scene-dd-count {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 10px;
    font-weight: 600;
    color: rgba(255,255,255,0.26);
    font-variant-numeric: tabular-nums;
}

.scene-dd-row.is-done .scene-dd-count { color: #34D399; }

/* ==========================================
   AFS KEYFRAME ANIMATIONS
========================================== */

@keyframes afs-item-up {
    from { opacity: 0; transform: translateY(10px); }
    to   { opacity: 1; transform: translateY(0); }
}

@keyframes afs-note-slide {
    from { opacity: 0; transform: translateX(18px); }
    to   { opacity: 1; transform: translateX(0); }
}

@keyframes afs-note-new {
    from { opacity: 0; transform: translateX(24px) scale(0.97); }
    to   { opacity: 1; transform: translateX(0) scale(1); }
}

@keyframes afs-checkbox-pop {
    0%   { transform: scale(0.75); }
    65%  { transform: scale(1.18); }
    100% { transform: scale(1); }
}

@keyframes afs-cb-pulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(255,255,255,0.10); }
    50%       { box-shadow: 0 0 0 4px rgba(255,255,255,0.04); opacity: 0.70; }
}

@keyframes afs-bar-osc {
    0%   { width: 52%; }
    100% { width: 88%; }
}

@keyframes afs-live-glow {
    0%, 100% { box-shadow: 0 0 0 0 rgba(52,211,153,0.55); }
    50%       { box-shadow: 0 0 0 5px rgba(52,211,153,0); }
}

@keyframes afs-typing {
    0%, 60%, 100% { transform: translateY(0); opacity: 0.35; }
    30%           { transform: translateY(-4px); opacity: 1; }
}

@keyframes afs-node-glow {
    0%, 100% { box-shadow: none; border-color: rgba(52,211,153,0.28); }
    50%       { box-shadow: 0 0 18px rgba(52,211,153,0.08); border-color: rgba(52,211,153,0.45); }
}

@keyframes afs-val-shimmer {
    0%, 40%, 100% { color: #34D399; text-shadow: none; }
    20%           { color: #6EE7B7; text-shadow: 0 0 14px rgba(52,211,153,0.35); }
}

@keyframes afs-dd-fill {
    from { width: 0%; }
    to   { width: 68%; }
}

/* ==========================================
   ACTIVE FUNDRAISING SUPPORT — PREMIUM
========================================== */

.afs2-section {
    background: linear-gradient(158deg, #EAEAEA 0%, #F2F2F2 45%, #EEEEEE 100%);
    padding: 80px 0 64px;
    position: relative;
    overflow: hidden;
}

/* Ambient dark radial glow */
.afs2-section::before {
    content: '';
    position: absolute;
    top: -15%;
    left: 50%;
    transform: translateX(-50%);
    width: 1100px;
    height: 750px;
    background: radial-gradient(ellipse at 50% 30%,
        rgba(0,0,0,0.07) 0%,
        rgba(0,0,0,0.04) 35%,
        transparent 68%);
    pointer-events: none;
    z-index: 0;
}

/* Subtle dot-grid texture */
.afs2-section::after {
    content: '';
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle, rgba(0,0,0,0.05) 1px, transparent 1px);
    background-size: 28px 28px;
    pointer-events: none;
    z-index: 0;
}

.afs2-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 60px;
    position: relative;
    z-index: 1;
}

/* ── Header ── */
.afs2-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin-bottom: 32px;
}

.afs2-eyebrow {
    display: block;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 18px;
    font-weight: 900;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #1E3A8A;
    margin-bottom: 20px;
    text-shadow: 0 0 32px rgba(30,58,138,0.18);
}

.afs2-headline {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 54px;
    font-weight: 700;
    color: #0A0F1E;
    line-height: 1.06;
    letter-spacing: -0.025em;
    margin: 0 0 10px;
    text-align: center;
}

.afs2-lead {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 17px;
    color: rgba(15,23,42,0.46);
    line-height: 1.65;
    white-space: nowrap;
    text-align: center;
    margin: 0;
}

/* ── Advisory Card — Glassmorphism ── */
.afs2-card {
    position: relative;
    background: rgba(255,255,255,0.82);
    backdrop-filter: blur(32px) saturate(180%);
    -webkit-backdrop-filter: blur(32px) saturate(180%);
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 12px;
    box-shadow:
        0 0 0 1px rgba(30,94,255,0.09),
        0 1px 2px rgba(15,23,42,0.04),
        0 4px 8px rgba(15,23,42,0.04),
        0 16px 40px rgba(15,23,42,0.07),
        0 40px 80px rgba(15,23,42,0.04),
        inset 0 1px 0 rgba(255,255,255,0.95);
    transition: box-shadow 0.4s cubic-bezier(0.16,1,0.3,1),
                transform 0.4s cubic-bezier(0.16,1,0.3,1);
}

.afs2-card:hover {
    box-shadow:
        0 0 0 1px rgba(30,94,255,0.14),
        0 1px 2px rgba(15,23,42,0.04),
        0 4px 8px rgba(15,23,42,0.04),
        0 20px 52px rgba(15,23,42,0.09),
        0 48px 96px rgba(15,23,42,0.05),
        inset 0 1px 0 rgba(255,255,255,1);
    transform: translateY(-1px);
}

/* Top gradient accent line */
.afs2-card::after {
    content: '';
    position: absolute;
    top: 0;
    left: 8%;
    right: 8%;
    height: 1px;
    background: linear-gradient(90deg,
        transparent,
        rgba(30,94,255,0.40) 30%,
        rgba(99,102,241,0.30) 60%,
        transparent);
    pointer-events: none;
    z-index: 2;
}

.afs2-card-top {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 40px;
    border-bottom: 1px solid rgba(255,255,255,0.06);
    background: #0A0F1E;
}

.afs2-card-label {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #ffffff;
}

.afs2-status {
    display: flex;
    align-items: center;
    gap: 7px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 11.5px;
    font-weight: 500;
    color: rgba(15,23,42,0.36);
}

.afs2-status-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #22C55E;
    flex-shrink: 0;
    box-shadow: 0 0 0 2px rgba(34,197,94,0.18);
    animation: afs2-pulse 2.4s ease-in-out infinite;
}

@keyframes afs2-pulse {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(34,197,94,0.55),
                    0 0 6px rgba(34,197,94,0.25);
    }
    50% {
        box-shadow: 0 0 0 6px rgba(34,197,94,0),
                    0 0 14px rgba(34,197,94,0);
    }
}

/* ── Rows ── */
.afs2-rows {
    display: flex;
    flex-direction: column;
}

.afs2-row {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 22px 40px;
    border-bottom: 1px solid rgba(15,23,42,0.055);
    box-shadow: inset 3px 0 0 transparent;
    transition:
        background 0.35s cubic-bezier(0.16,1,0.3,1),
        box-shadow 0.35s cubic-bezier(0.16,1,0.3,1),
        transform  0.35s cubic-bezier(0.16,1,0.3,1);
    cursor: default;
}

.afs2-row--last { border-bottom: none; }

.afs2-row:hover {
    background: linear-gradient(90deg,
        rgba(30,94,255,0.038) 0%,
        rgba(30,94,255,0.016) 55%,
        transparent 100%);
    box-shadow: inset 3px 0 0 #1E5EFF;
    transform: translateX(2px);
}

.afs2-num {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 11px;
    font-weight: 600;
    color: #0A0F1E;
    letter-spacing: 0.06em;
    flex-shrink: 0;
    min-width: 22px;
    transition: color 0.35s ease;
}

.afs2-row:hover .afs2-num { color: #1E5EFF; }

.afs2-row-body {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
    min-width: 0;
}

.afs2-row-title {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #1E293B;
    line-height: 1.25;
    transition: color 0.35s ease;
}

.afs2-row:hover .afs2-row-title { color: #0A0F1E; }

.afs2-row-desc {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13px;
    font-weight: 400;
    color: #94A3B8;
    line-height: 1.45;
    transition: color 0.35s ease;
}

.afs2-row:hover .afs2-row-desc { color: #64748B; }

.afs2-arrow {
    font-size: 16px;
    color: #CBD5E1;
    flex-shrink: 0;
    line-height: 1;
    transition: transform 0.35s cubic-bezier(0.16,1,0.3,1), color 0.35s ease;
}

.afs2-row:hover .afs2-arrow {
    transform: translateX(7px);
    color: #1E5EFF;
}

/* ── Toolkit Band — Glass ── */
.afs2-band {
    position: relative;
    background: rgba(255,255,255,0.78);
    backdrop-filter: blur(24px) saturate(160%);
    -webkit-backdrop-filter: blur(24px) saturate(160%);
    border-radius: 0;
    padding: 22px 40px;
    box-shadow:
        0 0 0 1px rgba(30,94,255,0.08),
        0 1px 2px rgba(15,23,42,0.03),
        0 4px 12px rgba(15,23,42,0.05),
        inset 0 1px 0 rgba(255,255,255,0.90);
    transition: box-shadow 0.4s cubic-bezier(0.16,1,0.3,1);
}

.afs2-band::before {
    content: '';
    position: absolute;
    top: 0;
    left: 12%;
    right: 12%;
    height: 1px;
    background: linear-gradient(90deg,
        transparent,
        rgba(30,94,255,0.28) 35%,
        rgba(99,102,241,0.20) 65%,
        transparent);
    pointer-events: none;
}

.afs2-band-meta {
    display: flex;
    align-items: center;
    gap: 16px;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(15,23,42,0.055);
    margin-bottom: 20px;
}

.afs2-band-label {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #0A0F1E;
    flex-shrink: 0;
    border-right: 1px solid rgba(15,23,42,0.18);
    padding-right: 16px;
}

.afs2-band-sub {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 12.5px;
    color: #0A0F1E;
}

.afs2-band-items {
    display: flex;
    align-items: center;
}

.afs2-band-item {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
    padding: 6px 0;
    cursor: default;
    transition: opacity 0.32s cubic-bezier(0.16,1,0.3,1),
                transform 0.32s cubic-bezier(0.16,1,0.3,1);
}

.afs2-band-items:hover .afs2-band-item { opacity: 0.32; }

.afs2-band-items:hover .afs2-band-item:hover {
    opacity: 1;
    transform: translateY(-1px);
}

.afs2-band-icon {
    width: 17px;
    height: 17px;
    color: #94A3B8;
    flex-shrink: 0;
    transition: color 0.32s ease, filter 0.32s ease;
}

.afs2-band-item:hover .afs2-band-icon {
    color: #1E5EFF;
    filter: drop-shadow(0 0 4px rgba(30,94,255,0.30));
}

.afs2-band-div {
    width: 1px;
    height: 26px;
    background: rgba(15,23,42,0.07);
    flex-shrink: 0;
    margin: 0 4px;
}

.afs2-band-title {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #64748B;
    white-space: nowrap;
    transition: color 0.32s ease;
}

.afs2-band-item:hover .afs2-band-title { color: #0F172A; }

/* ==========================================
   PARTNERSHIP & ADVISORY — SHARED BASE
========================================== */

.pa-section {
    background: #ffffff;
    padding: 52px 0 48px;
    position: relative;
}

.pa-container {
    max-width: 1300px;
    margin: 0 auto;
    padding: 0 60px;
}

/* ── Section Header ── */

.pa-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin-bottom: 52px;
    padding-top: 0;
}

.pa-header .pa-eyebrow {
    margin-bottom: 20px;
}

.pa-header .pa-headline {
    text-align: center;
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
}

.pa-header .pa-lead {
    text-align: center;
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0;
}

/* ── PRIMARY: Active Fundraising Advisory Card ── */

.pa-advisory-card {
    background: #ffffff;
    border: 1px solid rgba(15,23,42,0.10);
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 12px;
    box-shadow: 0 1px 3px rgba(15,23,42,0.04), 0 8px 24px rgba(15,23,42,0.06);
}

.pa-advisory-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 40px;
    border-bottom: 1px solid rgba(15,23,42,0.07);
    background: #FAFBFD;
}

.pa-advisory-label {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: rgba(15,23,42,0.28);
}

.pa-advisory-status {
    display: flex;
    align-items: center;
    gap: 7px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 11.5px;
    font-weight: 500;
    color: rgba(15,23,42,0.36);
}

.pa-status-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #22C55E;
    flex-shrink: 0;
    box-shadow: 0 0 0 3px rgba(34,197,94,0.15);
    animation: pa-dot-pulse 2s ease-in-out infinite;
}

@keyframes pa-dot-pulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(34,197,94,0.40); }
    50%       { box-shadow: 0 0 0 5px rgba(34,197,94,0); }
}

/* Advisory rows */
.pa-advisory-rows {
    display: flex;
    flex-direction: column;
}

.pa-advisory-row {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 22px 40px;
    border-bottom: 1px solid rgba(15,23,42,0.06);
    cursor: default;
    box-shadow: inset 3px 0 0 transparent;
    transition: background 0.28s ease, box-shadow 0.28s ease;
}

.pa-advisory-row--last {
    border-bottom: none;
}

.pa-advisory-row:hover {
    background: rgba(30,94,255,0.026);
    box-shadow: inset 3px 0 0 #1E5EFF;
}

.pa-row-num {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 11px;
    font-weight: 600;
    color: rgba(15,23,42,0.16);
    letter-spacing: 0.06em;
    flex-shrink: 0;
    min-width: 22px;
    transition: color 0.28s ease;
}

.pa-advisory-row:hover .pa-row-num {
    color: rgba(30,94,255,0.44);
}

.pa-row-body {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
    min-width: 0;
}

.pa-row-title {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #1E293B;
    line-height: 1.25;
    transition: color 0.28s ease;
}

.pa-advisory-row:hover .pa-row-title {
    color: #0F172A;
}

.pa-row-desc {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13px;
    font-weight: 400;
    color: #94A3B8;
    line-height: 1.45;
    transition: color 0.28s ease;
}

.pa-advisory-row:hover .pa-row-desc {
    color: #64748B;
}

.pa-row-arrow {
    font-size: 16px;
    color: #CBD5E1;
    flex-shrink: 0;
    transition: transform 0.28s ease, color 0.28s ease;
    line-height: 1;
}

.pa-advisory-row:hover .pa-row-arrow {
    transform: translateX(6px);
    color: #1E5EFF;
}

/* ── SECONDARY: Fundraise Toolkit Band ── */

.pa-network-band {
    background: #ffffff;
    border: 1px solid rgba(15,23,42,0.09);
    border-radius: 16px;
    padding: 22px 40px;
    box-shadow: 0 1px 3px rgba(15,23,42,0.04), 0 4px 12px rgba(15,23,42,0.04);
}

.pa-network-band-meta {
    display: flex;
    align-items: center;
    gap: 16px;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(15,23,42,0.06);
    margin-bottom: 20px;
}

.pa-network-label {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: rgba(15,23,42,0.28);
    flex-shrink: 0;
}

.pa-network-sub {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 12.5px;
    font-weight: 400;
    color: #94A3B8;
}

.pa-network-items {
    display: flex;
    align-items: center;
}

.pa-network-item {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
    cursor: default;
    padding: 6px 0;
    transition: opacity 0.28s ease;
}

.pa-network-items:hover .pa-network-item {
    opacity: 0.36;
}

.pa-network-items:hover .pa-network-item:hover {
    opacity: 1;
}

.pa-net-icon {
    width: 17px;
    height: 17px;
    color: #94A3B8;
    flex-shrink: 0;
    transition: color 0.28s ease;
}

.pa-network-item:hover .pa-net-icon {
    color: #1E5EFF;
}

.pa-network-div {
    width: 1px;
    height: 26px;
    background: rgba(15,23,42,0.08);
    flex-shrink: 0;
    margin: 0 4px;
}

.pa-network-title {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #64748B;
    transition: color 0.28s ease;
    white-space: nowrap;
}

.pa-network-item:hover .pa-network-title {
    color: #0F172A;
}

/* ── Hero ── */
.pa-hero {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 40px;
    align-items: center;
    margin-bottom: 36px;
}

.pa-hero-left {
    display: flex;
    flex-direction: column;
}

.pa-eyebrow {
    display: block;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 18px;
    font-weight: 900;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #1E3A8A;
    margin-bottom: 28px;
    text-align: center;
}

.pa-headline {
    font-family: 'Playfair Display', serif;
    font-size: 54px;
    font-weight: 700;
    color: #0F172A;
    line-height: 1.06;
    letter-spacing: -0.025em;
    margin: 0 0 14px;
}

.pa-accent { color: #0F172A; font-style: italic; }

.pa-lead {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14.5px;
    color: rgba(15,23,42,0.46);
    line-height: 1.60;
    margin: 0 0 20px;
    max-width: 440px;
}

/* ── Advisory signals — 4-in-a-row ── */
.pa-signals {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
}

.pa-signal {
    background: #ffffff;
    border: 1px solid rgba(15,23,42,0.09);
    border-radius: 9px;
    padding: 11px 12px 10px;
    display: flex;
    flex-direction: column;
    gap: 7px;
    transition: border-color 0.25s cubic-bezier(0.16,1,0.3,1), box-shadow 0.25s cubic-bezier(0.16,1,0.3,1);
}

.pa-signal:hover {
    border-color: rgba(15,23,42,0.18);
    box-shadow: 0 4px 12px rgba(15,23,42,0.05);
}

.pa-signal-label {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 10.5px;
    font-weight: 600;
    color: #94a3b8;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

/* Row: value left, icon right */
.pa-signal-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
}

.pa-signal-status {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 11px;
    font-weight: 600;
    color: #1E293B;
    line-height: 1.3;
}

.pa-signal-status small {
    font-size: 10px;
    font-weight: 500;
    color: rgba(15,23,42,0.38);
    display: block;
    margin-top: 1px;
}

.pa-signal-row svg {
    width: 15px;
    height: 15px;
    flex-shrink: 0;
    color: rgba(15,23,42,0.20);
    transition: color 0.2s;
}

.pa-signal:hover .pa-signal-row svg {
    color: rgba(15,23,42,0.38);
}

/* ── Network SVG ── */
.pa-hero-right {
    display: flex;
    align-items: center;
    justify-content: center;
}

.pa-orbital-svg {
    width: 100%;
    max-width: 460px;
    height: auto;
}

/* ── Services ── */
.pa-services {
    margin-bottom: 20px;
}

.pa-services-eyebrow {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.16em;
    color: rgba(15,23,42,0.30);
    margin: 0 0 14px;
    text-transform: uppercase;
}

.pa-service-list {
    display: flex;
    background: #F9FAFB;
    border: 1.5px solid rgba(10,15,30,0.38);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(10,15,30,0.08);
}

.pa-service {
    flex: 1;
    padding: 22px 22px;
    border-right: 1.5px solid rgba(10,15,30,0.30);
    transition: background 0.25s cubic-bezier(0.16,1,0.3,1);
}

.pa-service:last-child { border-right: none; }

.pa-service:hover { background: rgba(255,255,255,0.85); }

.pa-service-icon {
    width: 34px;
    height: 34px;
    background: rgba(15,23,42,0.06);
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
    color: #374151;
    transition: background 0.2s;
}

.pa-service:hover .pa-service-icon { background: rgba(15,23,42,0.10); }

.pa-service-icon svg { width: 16px; height: 16px; }

.pa-service-title {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13.5px;
    font-weight: 700;
    color: #0F172A;
    margin: 0 0 6px;
    line-height: 1.3;
}

.pa-service-desc {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 12px;
    color: #64748b;
    line-height: 1.55;
    margin: 0;
}

/* ── Journey Timeline ── */
.pa-journey {
    margin-bottom: 64px;
}

.pa-journey-title {
    font-family: 'Playfair Display', serif;
    font-size: 32px;
    font-weight: 700;
    color: #0F172A;
    line-height: 1.20;
    letter-spacing: -0.02em;
    margin: 0 0 40px;
}

.pa-timeline {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding-top: 8px;
}

.pa-timeline-track {
    position: absolute;
    top: 14px;
    left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg, #E8ECF3 0%, #1E5EFF 40%, #1E5EFF 60%, #E8ECF3 100%);
    z-index: 0;
}

.pa-stage {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    position: relative;
    z-index: 1;
}

.pa-stage-dot {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #ffffff;
    border: 2px solid #E8ECF3;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.pa-stage-dot--active {
    background: #1E5EFF;
    border-color: #1E5EFF;
    box-shadow: 0 0 0 4px rgba(30,94,255,0.12);
}

.pa-stage:hover .pa-stage-dot:not(.pa-stage-dot--active) {
    border-color: rgba(30,94,255,0.35);
}

.pa-stage-label {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 12.5px;
    font-weight: 600;
    color: #64748b;
    white-space: nowrap;
}

.pa-stage:has(.pa-stage-dot--active) .pa-stage-label {
    color: #1E5EFF;
    font-weight: 700;
}

/* ── CTA Bar ── */
.pa-cta-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: 1px solid #E4E8F3;
    border-radius: 14px;
    padding: 20px 32px;
    background: #F8F9FD;
    position: relative;
    overflow: hidden;
    gap: 24px;
}

.pa-cta-deco {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 150px;
    height: auto;
    pointer-events: none;
    flex-shrink: 0;
}

.pa-cta-copy {
    font-family: 'Playfair Display', serif;
    font-size: 22px;
    font-weight: 700;
    color: #0F172A;
    letter-spacing: -0.02em;
    margin: 0;
    flex: 1;
    padding-left: 160px;
    position: relative;
    z-index: 1;
}

.pa-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #1E5EFF;
    color: #ffffff;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13.5px;
    font-weight: 600;
    padding: 12px 24px;
    border-radius: 8px;
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.2s, transform 0.2s, box-shadow 0.2s;
    box-shadow: 0 4px 16px rgba(30,94,255,0.24);
    position: relative;
    z-index: 1;
}

.pa-cta-btn:hover {
    background: #1650e8;
    transform: translateY(-1px);
    box-shadow: 0 8px 24px rgba(30,94,255,0.30);
}

/* PA CTA: blue base, dark fill on hover */
.pa-cta-bar .cta-btn {
    background: #1E5EFF;
    box-shadow: 0 4px 16px rgba(30,94,255,0.28);
}

.pa-cta-bar .cta-btn__fill {
    background: #0f1728;
}


/* ==========================================
   PARTNERSHIP & ADVISORY — PREMIUM REFINEMENT
   One-fold layout: entire section visible without scrolling
   Scoped to #partnership-advisory only
========================================== */

#partnership-advisory {
    background: linear-gradient(180deg, #FFFFFF 0%, #F0F0F0 50%, #FFFFFF 100%);
    padding: 68px 0;
}

#partnership-advisory::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 65% 55% at 52% 38%, rgba(15,23,42,0.020) 0%, transparent 100%);
    pointer-events: none;
}

/* Hero — single column, centered */
#partnership-advisory .pa-hero {
    grid-template-columns: 1fr;
    gap: 0;
    margin-bottom: 44px;
}

/* Section label — full-width, centered above hero grid */
#partnership-advisory .pa-eyebrow {
    font-size: 18px;
    font-weight: 900;
    letter-spacing: 0.18em;
    color: #1E3A8A;
    display: block;
    width: 100%;
    text-align: center;
    margin-bottom: 20px;
}

/* Headline — editorial dominance */
#partnership-advisory .pa-headline {
    font-family: 'Playfair Display', serif;
    font-size: 36px;
    line-height: 1.1;
    letter-spacing: -0.02em;
    max-width: none;
    white-space: normal;
    margin: 0 0 18px;
    color: #0A0F1E;
    text-align: center;
}

/* Description */
#partnership-advisory .pa-lead {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 15.5px;
    line-height: 1.58;
    color: #6B7280;
    max-width: none;
    white-space: nowrap;
    margin: 0 0 28px;
    text-align: center;
}

/* Ambient glow */
#partnership-advisory {
    position: relative;
    overflow: hidden;
}

.pa-ambient-glow {
    position: absolute;
    top: -60px;
    left: 50%;
    transform: translateX(-50%);
    width: 900px;
    height: 900px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(0,0,0,0.07), transparent 70%);
    filter: blur(60px);
    pointer-events: none;
    animation: pa-float 8s ease-in-out infinite;
}

@keyframes pa-float {
    0%, 100% { transform: translateX(-50%) translateY(0px); }
    50% { transform: translateX(-50%) translateY(-12px); }
}

/* Metric cards */
#partnership-advisory .pa-signals {
    gap: 8px;
}

#partnership-advisory .pa-signal {
    height: 90px;
    border-radius: 8px;
    background: rgba(255,255,255,0.65);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    background-clip: padding-box;
    border: 1px solid transparent;
    background-image: linear-gradient(rgba(255,255,255,0.65),rgba(255,255,255,0.65)), linear-gradient(135deg, rgba(30,64,175,.25), rgba(255,255,255,.7));
    background-origin: padding-box, border-box;
    box-shadow:
        0 0 0 1px rgba(10,15,30,0.12),
        0 10px 40px rgba(0,0,0,.04),
        inset 0 1px 0 rgba(255,255,255,.7);
    padding: 12px 13px;
    gap: 0;
    justify-content: space-between;
    transition: all .4s ease;
    flex-direction: column;
}

#partnership-advisory .pa-signal:hover {
    transform: translateY(-6px);
    box-shadow:
        0 0 0 1px rgba(10,15,30,0.20),
        0 20px 60px rgba(0,0,0,.08),
        inset 0 1px 0 rgba(255,255,255,.9);
}

#partnership-advisory .pa-signal-label {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 9.5px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #0A0F1E;
}

#partnership-advisory .pa-signal-status {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #0F172A;
    line-height: 1.2;
}

#partnership-advisory .pa-signal-row svg {
    width: 15px;
    height: 15px;
    color: rgba(15,23,42,0.20);
}

#partnership-advisory .pa-signal-dot {
    display: inline-block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #22c55e;
    margin-right: 6px;
    vertical-align: middle;
    position: relative;
    top: -1px;
    box-shadow: 0 0 0 2px rgba(34,197,94,.2);
}

#partnership-advisory .pa-signal-sub {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 9px;
    font-weight: 500;
    color: #0A0F1E;
    letter-spacing: 0.04em;
    margin-top: 2px;
}

/* Network visual — full left-column height */
#partnership-advisory .pa-hero-right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

#partnership-advisory .pa-orbital-svg {
    width: 100%;
    max-width: 460px;
}

/* Services label */
#partnership-advisory .pa-services {
    margin-bottom: 16px;
}

#partnership-advisory .pa-services-eyebrow {
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.20em;
    color: #0A0F1E;
    margin-bottom: 13px;
    margin-left: -8px;
    display: flex;
    align-items: center;
    gap: 14px;
}

#partnership-advisory .pa-eyebrow-line {
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(15,23,42,0.12), transparent);
}

/* Services — single continuous panel */
#partnership-advisory .pa-service-list {
    display: flex;
    background: rgba(255,255,255,0.65);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    border: 1px solid transparent;
    background-image: linear-gradient(rgba(255,255,255,0.65),rgba(255,255,255,0.65)), linear-gradient(135deg, rgba(30,64,175,.2), rgba(255,255,255,.8));
    background-origin: padding-box, border-box;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(0,0,0,.04), inset 0 1px 0 rgba(255,255,255,.7);
    border-radius: 10px;
}

#partnership-advisory .pa-service {
    flex: 1;
    padding: 26px 24px;
    background: transparent;
    border-right: 1px solid rgba(15,23,42,0.05);
    transition: all .4s ease;
}

#partnership-advisory .pa-service:last-child {
    border-right: none;
}

#partnership-advisory .pa-service:hover {
    background: rgba(30,64,175,.03);
    transform: translateY(-4px);
}

#partnership-advisory .pa-service:hover .pa-service-icon svg {
    transform: scale(1.08);
}

/* Icons — bare monoline, no box */
#partnership-advisory .pa-service-icon {
    width: 24px;
    height: 24px;
    background: none;
    border-radius: 0;
    padding: 0;
    margin-bottom: 13px;
    color: #111827;
    justify-content: flex-start;
    align-items: flex-start;
}

#partnership-advisory .pa-service-icon svg {
    width: 22px;
    height: 22px;
    stroke-width: 1.5;
    transition: transform .4s ease;
}

#partnership-advisory .pa-service-title {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13.5px;
    font-weight: 700;
    color: #0F172A;
    margin: 0 0 7px;
    line-height: 1.3;
}

#partnership-advisory .pa-service-desc {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 12px;
    color: #6B7280;
    line-height: 1.55;
    margin: 0;
}

/* CTA bar — premium horizontal strip */
#partnership-advisory .pa-cta-bar {
    background: rgba(255,255,255,0.65);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    border: 1.5px solid rgba(10,15,30,0.18);
    background-image: linear-gradient(rgba(255,255,255,0.65),rgba(255,255,255,0.65)), linear-gradient(135deg, rgba(30,64,175,.25), rgba(255,255,255,.7));
    background-origin: padding-box, border-box;
    min-height: 84px;
    padding: 0 36px;
    gap: 32px;
    box-shadow: 0 0 0 1px rgba(10,15,30,0.06), 0 10px 40px rgba(0,0,0,.04), inset 0 1px 0 rgba(255,255,255,.7);
    border-radius: 10px;
    overflow: hidden;
    position: relative;
}

#partnership-advisory .pa-cta-deco {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 130px;
    opacity: 0.85;
}

#partnership-advisory .pa-cta-text {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

#partnership-advisory .pa-cta-copy {
    font-family: 'Playfair Display', serif;
    font-size: 27px;
    font-weight: 600;
    letter-spacing: -0.025em;
    color: #0A0F1E;
    margin: 0 0 4px;
    white-space: nowrap;
}

#partnership-advisory .pa-cta-sub {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 11px;
    color: rgba(15,23,42,0.38);
    margin: 0;
    letter-spacing: 0.01em;
    white-space: nowrap;
}

/* Blue pill button */
#partnership-advisory .pa-cta-bar .cta-btn {
    background: #1E3A8A;
    border-radius: 999px;
    padding: 13px 26px;
    box-shadow: 0 4px 20px rgba(30,58,138,0.35);
    font-size: 13.5px;
    font-weight: 600;
    white-space: nowrap;
    flex-shrink: 0;
    overflow: hidden;
    margin-left: auto;
}

#partnership-advisory .pa-cta-bar .cta-btn:hover {
    background: #162C6E;
    transform: translateY(-2px);
    box-shadow: 0 8px 28px rgba(30,58,138,0.45);
}

#partnership-advisory .pa-cta-bar .cta-btn__fill {
    background: #0F172A;
    border-radius: 999px;
}




/* ==========================================
   INVESTOR MOCK ROOM
========================================== */

.imr-section {
    background:
        radial-gradient(ellipse 60% 55% at 65% 48%, rgba(0,0,0,0.04), transparent),
        radial-gradient(ellipse 40% 40% at 20% 60%, rgba(0,0,0,0.02), transparent),
        linear-gradient(160deg, #f7f7f7 0%, #f0f0f0 48%, #f7f7f7 100%);
    padding: 100px 52px;
    position: relative;
    border-top: 1px solid rgba(15,23,42,0.05);
}

/* ── Satin card — full-width square block ── */

.imr-block {
    width: 100%;
    position: relative;
    border-radius: 0;
    border: 1px solid rgba(15,23,42,0.06);
    background:
        radial-gradient(circle at 78% 14%, rgba(58,78,110,0.10), transparent 38%),
        linear-gradient(135deg, rgba(252,253,255,0.97) 0%, rgba(234,238,245,0.93) 100%);
    box-shadow:
        0 2px 0 rgba(255,255,255,0.80) inset,
        0 32px 96px rgba(34,46,70,0.07);
    overflow: visible;
    z-index: 1;
}

/* Physical corner marks — identical 5×5px, inset inside the block */

.imr-corner {
    position: absolute;
    width: 5px;
    height: 5px;
    background: rgba(11,17,32,0.35);
    z-index: 20;
    pointer-events: none;
}
.imr-corner--tl { top: 10px;    left: 10px;  }
.imr-corner--tr { top: 10px;    right: 10px; }
.imr-corner--bl { bottom: 10px; left: 10px;  }
.imr-corner--br { bottom: 10px; right: 10px; }

/* ── Top bar: headline left / CTAs right ── */

.imr-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 36px 60px 32px;
    border-bottom: 1px solid rgba(15,23,42,0.07);
}

.imr-inner {
    padding: 48px 60px 60px;
    display: grid;
    grid-template-columns: 0.72fr 1.28fr;
    gap: 48px;
    align-items: center;
    position: relative;
    z-index: 1;
}

/* ── Left: Text ── */

.imr-text {
    position: relative;
    z-index: 2;
}

.imr-eyebrow {
    display: block;
    text-align: center;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 18px;
    font-weight: 900;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #1E3A8A;
    margin-bottom: 28px;
}


.imr-eyebrow-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #1E5EFF;
    flex-shrink: 0;
    box-shadow: 0 0 0 3px rgba(30,94,255,0.14);
}

.imr-headline {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: clamp(36px, 3.2vw, 46px);
    font-weight: 400;
    line-height: 1.1;
    letter-spacing: -0.038em;
    color: #0b1120;
    max-width: 640px;
    margin: 0;
    flex-shrink: 1;
}

.imr-copy {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 15.5px;
    font-weight: 400;
    line-height: 1.65;
    color: #0b1120;
    max-width: 100%;
    margin: 0;
}

/* ── CTA buttons ── */

.imr-ctas {
    display: flex;
    gap: 10px;
    flex-shrink: 0;
}

.imr-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 13px 26px;
    border-radius: 4px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14.5px;
    font-weight: 600;
    letter-spacing: 0.01em;
    cursor: pointer;
    border: none;
    overflow: hidden;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
    text-decoration: none;
    white-space: nowrap;
}

.imr-btn:hover { transform: translateY(-1px); }

.imr-btn__label {
    position: relative;
    z-index: 2;
    transition: color 0.4s var(--liq-ease);
    pointer-events: none;
}

.imr-btn__fill {
    position: absolute;
    inset: 0;
    z-index: 1;
    clip-path: circle(0% at 90% 50%);
    transition: clip-path 0.65s var(--liq-ease);
    pointer-events: none;
    border-radius: inherit;
}

/* Primary — blue fill → dark on hover */
.imr-btn--primary {
    background: #1E5EFF;
    color: #fff;
    box-shadow: 0 4px 18px rgba(30,94,255,0.28);
}
.imr-btn--primary .imr-btn__fill { background: #0b1120; }
.imr-btn--primary:hover .imr-btn__fill { clip-path: circle(150% at 90% 50%); }
.imr-btn--primary:hover { box-shadow: 0 6px 24px rgba(11,17,32,0.22); }

/* Ghost — outline, fills blue on hover */
.imr-btn--ghost {
    background: transparent;
    color: #1E5EFF;
    border: 1.5px solid rgba(30,94,255,0.35);
    box-shadow: none;
}
.imr-btn--ghost .imr-btn__fill { background: #1E5EFF; }
.imr-btn--ghost:hover .imr-btn__fill { clip-path: circle(150% at 90% 50%); }
.imr-btn--ghost:hover .imr-btn__label { color: #fff; }
.imr-btn--ghost:hover { border-color: transparent; }

/* ── Right: Visual column ── */

.imr-visual {
    position: relative;
    padding: 0;
}

/* ── Ghost screen (depth layer behind main window) ── */

.imr-ghost {
    position: absolute;
    width: 82%;
    top: 38px;
    left: -40px;
    z-index: 3;
    border-radius: 24px;
    background: rgba(245, 247, 251, 0.62);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    border: 1px solid rgba(255, 255, 255, 0.72);
    box-shadow: 0 16px 48px rgba(15, 23, 42, 0.06);
    opacity: 0.32;
    pointer-events: none;
    height: 82%;
    overflow: hidden;
}

.imr-ghost-chrome {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 12px 16px;
    border-bottom: 1px solid rgba(0,0,0,0.05);
    background: rgba(248,249,252,0.70);
}

.imr-ghost-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: rgba(0,0,0,0.10);
    flex-shrink: 0;
}

.imr-ghost-body {
    padding: 20px 22px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.imr-ghost-line {
    height: 8px;
    border-radius: 99px;
    background: rgba(0,0,0,0.07);
}
.imr-ghost-line--wide  { width: 80%; }
.imr-ghost-line--mid   { width: 58%; }
.imr-ghost-line--short { width: 36%; }

.imr-ghost-rule {
    height: 1px;
    background: rgba(0,0,0,0.06);
    margin: 6px 0;
}

/* ── Dark notification pill (floats above the window, top-right area) ── */

.imr-notif {
    position: absolute;
    top: -22px;
    right: 20px;
    display: flex;
    align-items: center;
    gap: 12px;
    background: rgba(10,10,10,0.95);
    border: 1px solid rgba(255,255,255,0.07);
    border-radius: 22px;
    padding: 14px 22px;
    box-shadow: 0 25px 60px rgba(0,0,0,0.22);
    z-index: 20;
    animation: float 6s ease-in-out infinite;
    animation-delay: 0.8s;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.imr-notif-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #22C55E;
    flex-shrink: 0;
    animation: imr-pulse 2.4s ease-in-out infinite;
}

.imr-notif-title {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: rgba(255,255,255,0.90);
    letter-spacing: -0.01em;
    margin-bottom: 2px;
}

.imr-notif-sub {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 11.5px;
    font-weight: 400;
    color: rgba(255,255,255,0.42);
}

/* ── Main glass window ── */

.imr-window {
    width: 100%;
    background: rgba(255,255,255,0.78);
    backdrop-filter: blur(28px);
    -webkit-backdrop-filter: blur(28px);
    border: 1px solid rgba(255,255,255,0.88);
    border-radius: 28px;
    overflow: hidden;
    box-shadow:
        0 40px 100px rgba(34, 46, 70, 0.10),
        0 8px 24px rgba(34, 46, 70, 0.06),
        inset 0 1px 0 rgba(255,255,255, 0.75);
    position: relative;
    z-index: 5;
}

.imr-win-chrome {
    display: flex;
    align-items: center;
    padding: 16px 22px;
    border-bottom: 1px solid rgba(0,0,0,0.05);
    background: rgba(248, 249, 251, 0.75);
}

.imr-win-dots {
    display: flex;
    gap: 6px;
    margin-right: 14px;
}

.imr-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
}

.imr-dot-r { background: #FF5F57; }
.imr-dot-y { background: #FFBD2E; }
.imr-dot-g { background: #28C840; }

.imr-win-title {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 12px;
    font-weight: 500;
    color: rgba(0,0,0,0.35);
    letter-spacing: -0.01em;
}

.imr-win-body {
    padding: 26px 32px 28px;
    display: flex;
    flex-direction: column;
    background: rgba(255,255,255,0.35);
}

.imr-area {
    padding-bottom: 20px;
}

.imr-area--last {
    padding-bottom: 0;
}

.imr-area-label {
    display: block;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: rgba(0,0,0,0.26);
    margin-bottom: 8px;
}

.imr-q-text {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: #0A0A0A;
    line-height: 1.45;
    margin: 0;
    transition: opacity 0.35s ease;
}

.imr-q-text.imr-fade { opacity: 0; }

.imr-resp-row {
    display: flex;
    align-items: center;
    gap: 2px;
    min-height: 20px;
}

.imr-resp-text {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13.5px;
    color: rgba(0,0,0,0.48);
    line-height: 1.5;
    transition: opacity 0.35s ease;
}

.imr-resp-text.imr-fade { opacity: 0; }

.imr-cursor {
    display: inline-block;
    width: 1.5px;
    height: 14px;
    background: rgba(0,0,0,0.55);
    border-radius: 1px;
    margin-left: 2px;
    flex-shrink: 0;
    animation: imr-blink 1s step-end infinite;
}

.imr-rule {
    border: none;
    border-top: 1px solid rgba(0,0,0,0.06);
    margin: 0 0 20px;
}

.imr-fb-rows {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-top: 6px;
}

.imr-fb-row {
    display: grid;
    grid-template-columns: 140px 1fr 36px;
    align-items: center;
    gap: 14px;
}

.imr-fb-name {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 12px;
    font-weight: 500;
    color: rgba(0,0,0,0.42);
}

.imr-fb-track {
    height: 8px;
    background: #e7e9ee;
    border-radius: 999px;
    overflow: hidden;
}

.imr-fb-bar {
    height: 100%;
    width: 0;
    border-radius: 999px;
    background: linear-gradient(90deg, #111827, #374151);
    transition: width 0.9s cubic-bezier(0.34, 1.06, 0.64, 1);
}

.imr-fb-bar.imr-bar-animate { width: var(--pct); }

.imr-fb-val {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 12px;
    font-weight: 700;
    color: #0f1728;
    text-align: right;
}

/* ── Dock section (bottom of window) ── */

.imr-dock-section {
    display: flex;
    justify-content: center;
    padding: 16px 24px 20px;
    border-top: 1px solid rgba(0,0,0,0.05);
    background: rgba(248,249,251,0.60);
}

.imr-dock {
    display: inline-flex;
    align-items: center;
    background: rgba(255,255,255,.88);
    border: 1px solid rgba(255,255,255,0.80);
    border-radius: 28px;
    padding: 16px 20px;
    box-shadow: 0 20px 60px rgba(0,0,0,.08);
    gap: 0;
}

.imr-dock-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 0 14px;
    cursor: default;
    transition: opacity 0.25s ease;
}

.imr-dock-item:hover { opacity: 0.72; }

.imr-dock-icon {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    background: rgba(0,0,0,0.05);
    border: 1px solid rgba(0,0,0,0.07);
}

.imr-dock-active .imr-dock-icon {
    background: #111111;
    border-color: transparent;
}

.imr-dock-icon svg {
    width: 17px;
    height: 17px;
    color: rgba(0,0,0,0.45);
}

.imr-dock-active .imr-dock-icon svg {
    color: #ffffff;
    stroke-width: 1.8;
}

.imr-dock-item span {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 10px;
    font-weight: 500;
    color: rgba(0,0,0,0.38);
    white-space: nowrap;
}

.imr-dock-active span {
    color: rgba(0,0,0,0.65);
    font-weight: 600;
}

.imr-dock-div {
    width: 1px;
    height: 36px;
    background: rgba(0,0,0,0.07);
    flex-shrink: 0;
}

/* ── Floating question card (hangs off window's left edge) ── */

.imr-qfloat {
    position: absolute;
    top: 72px;
    left: -8px;
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    border: 1px solid rgba(255, 255, 255, 0.72);
    border-radius: 18px;
    padding: 18px 20px;
    width: 210px;
    z-index: 15;
    box-shadow:
        0 20px 56px rgba(15, 23, 42, 0.12),
        0 4px 12px rgba(15, 23, 42, 0.06),
        inset 0 1px 0 rgba(255, 255, 255, 0.90);
    animation: float 6s ease-in-out infinite;
}

.imr-qfloat-label {
    display: block;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: rgba(0,0,0,0.26);
    margin-bottom: 10px;
}

.imr-qfloat-text {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #111111;
    line-height: 1.5;
    margin: 0 0 12px;
}

.imr-qfloat-diff {
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 11px;
    font-weight: 500;
    color: rgba(0,0,0,0.38);
}

.imr-qfloat-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #EF4444;
    flex-shrink: 0;
}

/* ── Readiness card with circular progress ring ── */

.imr-readiness {
    position: absolute;
    top: 24px;
    right: -16px;
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    border: 1px solid rgba(255, 255, 255, 0.72);
    border-radius: 18px;
    padding: 18px 22px;
    width: 190px;
    z-index: 15;
    box-shadow:
        0 20px 56px rgba(15, 23, 42, 0.12),
        0 4px 12px rgba(15, 23, 42, 0.06),
        inset 0 1px 0 rgba(255, 255, 255, 0.90);
    animation: float 6s ease-in-out infinite;
    animation-delay: 1.5s;
}

.imr-ring {
    display: block;
    margin: 0 auto 12px;
}

.imr-readiness-body {
    text-align: center;
}

.imr-readiness-title {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(0,0,0,0.35);
    margin-bottom: 4px;
}

.imr-readiness-val {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 22px;
    font-weight: 700;
    color: #0f1728;
    letter-spacing: -0.03em;
    line-height: 1.1;
    margin-bottom: 4px;
}

.imr-readiness-val small {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0;
}

.imr-readiness-sub {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 10.5px;
    color: rgba(0,0,0,0.36);
    line-height: 1.4;
}

/* ── Animations ── */

@keyframes float {
    0%, 100% { transform: translateY(0); }
    50%       { transform: translateY(-8px); }
}

@keyframes imr-blink {
    0%, 100% { opacity: 1; }
    50% { opacity: 0; }
}

@keyframes imr-pulse {
    0%, 100% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.35); opacity: 0.65; }
}


/* ==========================================
   SITE FOOTER
========================================== */

.site-footer {
    background: #000000;
    position: relative;
    overflow: hidden;
}

.ft-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 120px 80px 40px;
}

/* ── Main Grid ── */

.ft-grid {
    display: grid;
    grid-template-columns: 1.3fr 1fr 1fr 1fr;
    gap: 80px;
    align-items: start;
}

/* ── Left: CTA Column ── */

.ft-cta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 36px;
}

.ft-eyebrow {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 12px;
    letter-spacing: .28em;
    font-weight: 700;
    text-transform: uppercase;
    color: #9CA3AF;
}

.ft-headline {
    font-family: 'Playfair Display', serif;
    font-size: clamp(56px, 5.5vw, 84px);
    line-height: 0.92;
    font-weight: 700;
    letter-spacing: -0.05em;
    color: #ffffff;
    margin: 0;
}

/* inline-grid with both children at grid-area 1/1 locks width to widest word ('convert') */
.ft-word-wrap {
    display: inline-grid;
    vertical-align: top;
    line-height: inherit;
}

.ft-word-wrap > * {
    grid-area: 1 / 1;
    font-style: italic;
}

#ftWord {
    color: #5b8cff;
}

.ft-word-sizer {
    color: transparent;
    user-select: none;
    pointer-events: none;
}

.ft-btn {
    position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 56px;
    padding: 0 28px;
    border-radius: 999px;
    background: #1E5EFF;
    color: #ffffff;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: -0.01em;
    text-decoration: none;
    white-space: nowrap;
    flex-shrink: 0;
    box-shadow: 0 4px 20px rgba(30,94,255,0.28);
}

.ft-btn__label {
    position: relative;
    z-index: 1;
    transition: transform 0.65s var(--liq-ease);
}

.ft-btn__icon {
    position: relative;
    z-index: 1;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    transition: transform 0.65s var(--liq-ease);
}

.ft-btn__fill {
    position: absolute;
    inset: 0;
    background: #0f1728;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 28px;
    clip-path: circle(0% at 90% 50%);
    transition: clip-path 0.65s var(--liq-ease);
    z-index: 2;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: -0.01em;
    white-space: nowrap;
}

.ft-btn__fill svg {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

.ft-btn:hover .ft-btn__fill {
    clip-path: circle(150% at 90% 50%);
}

.ft-btn:hover .ft-btn__label {
    transform: translateX(-4px);
}

.ft-btn:hover .ft-btn__icon {
    transform: translateX(4px);
}

/* ── Column wrapper ── */

.ft-col {
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.ft-col-head {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 12px;
    letter-spacing: .28em;
    font-weight: 700;
    text-transform: uppercase;
    color: #9CA3AF;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(255,255,255,.12);
}

/* ── Contact ── */

.ft-contact-group {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.ft-contact-label {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 11px;
    letter-spacing: .18em;
    font-weight: 600;
    text-transform: uppercase;
    color: #a1a1aa;
}

.ft-contact-val {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 17px;
    font-weight: 500;
    color: rgba(255,255,255,.70);
    text-decoration: none;
    letter-spacing: -0.01em;
    line-height: 1.5;
    display: block;
    transition: color 0.2s ease;
}

.ft-contact-val:hover { color: rgba(255,255,255,.95); }

/* ── Navigate ── */

.ft-nav {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.ft-nav-link {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 15px;
    font-weight: 400;
    color: rgba(255,255,255,.52);
    text-decoration: none;
    transition: color 0.2s ease, transform 0.2s ease;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.ft-nav-link:hover {
    color: rgba(255,255,255,.90);
    transform: translateX(4px);
}

.ft-social-link svg {
    width: 12px;
    height: 12px;
    color: rgba(255,255,255,.28);
    transition: color 0.2s ease;
}

.ft-social-link:hover svg { color: rgba(255,255,255,.70); }

/* ── Divider ── */

.ft-divider {
    height: 1px;
    background: rgba(255,255,255,.12);
    margin-top: 80px;
    margin-bottom: 32px;
}

/* ── Bottom bar ── */

.ft-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.ft-bottom-left {
    display: flex;
    align-items: center;
    gap: 20px;
}

.ft-logo {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: #ffffff;
    letter-spacing: -0.02em;
}

.ft-copy {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13.5px;
    color: rgba(255,255,255,.90);
}

.ft-back-top {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 999px;
    background: rgba(255,255,255,.02);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    color: rgba(255,255,255,.50);
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.ft-back-top:hover {
    background: rgba(255,255,255,.06);
    color: rgba(255,255,255,.85);
    transform: translateY(-2px);
}

.ft-back-top svg {
    width: 13px;
    height: 13px;
}

/* ── Rotating word animations ── */

@keyframes ft-word-enter {
    from { opacity: 0; filter: blur(4px); transform: translateY(8px); }
    to   { opacity: 1; filter: blur(0);   transform: translateY(0); }
}

@keyframes ft-word-exit {
    from { opacity: 1; filter: blur(0);   transform: translateY(0); }
    to   { opacity: 0; filter: blur(4px); transform: translateY(-8px); }
}


/* ==========================================
   INQUIRY MODAL
========================================== */

/* ── Overlay ── */

.iq-overlay {
    position: fixed;
    inset: 0;
    z-index: 9100;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(11,17,32,0.68);
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    transition: opacity 0.26s ease, visibility 0s 0.26s;
}

.iq-overlay.iq-open {
    opacity: 1;
    pointer-events: all;
    visibility: visible;
    transition: opacity 0.26s ease, visibility 0s 0s;
}

/* ── Modal card ── */

.iq-modal {
    background: #ffffff;
    border: 1px solid rgba(15,23,42,0.07);
    border-radius: 0;
    box-shadow:
        0 4px 0 rgba(15,23,42,0.04),
        0 28px 80px rgba(15,23,42,0.22),
        0 80px 160px rgba(15,23,42,0.10);
    padding: 44px 56px 48px;
    width: 100%;
    max-width: 880px;
    max-height: 92vh;
    overflow: visible;
    position: relative;
    transform: translateY(28px) scale(0.97);
    opacity: 0;
    transition: transform 0.36s cubic-bezier(0.16,1,0.3,1), opacity 0.28s ease;
}

.iq-overlay.iq-open .iq-modal {
    transform: translateY(0) scale(1);
    opacity: 1;
}

.iq-modal::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, #1E5EFF 0%, #6197ff 50%, #1E5EFF 100%);
    border-radius: 0;
    opacity: 0.7;
    pointer-events: none;
}

/* ── Close button ── */

.iq-modal-close {
    position: absolute;
    top: 22px;
    right: 22px;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    border: 1.5px solid rgba(15,23,42,0.10);
    background: #f8fafc;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #64748b;
    transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
    z-index: 2;
}

.iq-modal-close:hover {
    background: #f1f5f9;
    border-color: rgba(15,23,42,0.18);
    color: #0f172a;
    transform: scale(1.06);
}

.iq-modal-close svg {
    width: 14px;
    height: 14px;
}

/* ── Modal header ── */

.iq-modal-head {
    text-align: center;
    margin-bottom: 32px;
}

.iq-headline {
    font-family: 'Playfair Display', serif;
    font-size: clamp(30px, 3.4vw, 44px);
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1.05;
    color: #0b132b;
    text-align: center;
    margin-bottom: 10px;
}

.iq-subheading {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14.5px;
    font-weight: 400;
    line-height: 1.5;
    color: #64748b;
    text-align: center;
    white-space: normal;
}

/* ── Form layout ── */

.iq-form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px 28px;
}

.iq-row {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.iq-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.iq-field--full {
    grid-column: 1 / -1;
}

/* ── Labels ── */

.iq-label {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #374151;
    letter-spacing: -0.01em;
}

.iq-req {
    color: #e11d48;
}

/* ── Text inputs ── */

.iq-input {
    height: 48px;
    background: #f8fafc;
    border: 1.5px solid rgba(15,23,42,0.09);
    border-radius: 14px;
    padding: 0 18px;
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    font-weight: 400;
    color: #0f172a;
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
    width: 100%;
}

.iq-input::placeholder { color: #aab4c8; }

.iq-input:hover {
    border-color: rgba(15,23,42,0.16);
    background: #f5f8fc;
}

.iq-input:focus {
    border-color: #1E5EFF;
    background: #ffffff;
    box-shadow: 0 0 0 3.5px rgba(30,94,255,0.11);
}

.iq-input.iq-invalid {
    border-color: #ef4444;
    box-shadow: 0 0 0 3px rgba(239,68,68,0.10);
}

/* ── Select ── */

.iq-select-wrap {
    position: relative;
}

.iq-select {
    height: 48px;
    background: #f8fafc;
    border: 1.5px solid rgba(15,23,42,0.09);
    border-radius: 14px;
    padding: 0 44px 0 18px;
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    font-weight: 400;
    color: #0f172a;
    outline: none;
    appearance: none;
    -webkit-appearance: none;
    width: 100%;
    cursor: pointer;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.iq-select:hover {
    border-color: rgba(15,23,42,0.16);
    background: #f5f8fc;
}

.iq-select:focus {
    border-color: #1E5EFF;
    background: #ffffff;
    box-shadow: 0 0 0 3.5px rgba(30,94,255,0.11);
}

.iq-select.iq-invalid {
    border-color: #ef4444;
    box-shadow: 0 0 0 3px rgba(239,68,68,0.10);
}

.iq-select option { color: #0f172a; }
.iq-select option[value=""] { color: #aab4c8; }

.iq-select-arrow {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    color: #9ca3af;
    pointer-events: none;
}

/* ── Stage pills ── */

.iq-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 2px;
}

.iq-pill {
    display: inline-flex;
    align-items: center;
    padding: 8px 18px;
    border: 1.5px solid rgba(15,23,42,0.11);
    border-radius: 999px;
    background: #f8fafc;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13px;
    font-weight: 500;
    color: #374151;
    cursor: pointer;
    transition: border-color 0.18s ease, background 0.18s ease, color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
    user-select: none;
}

.iq-pill:hover {
    border-color: #1E5EFF;
    background: rgba(30,94,255,0.05);
    color: #1E5EFF;
    transform: translateY(-1px);
}

.iq-pill.iq-pill--active {
    background: #1E5EFF;
    border-color: #1E5EFF;
    color: #ffffff;
    box-shadow: 0 4px 14px rgba(30,94,255,0.28);
    transform: translateY(-1px);
}

/* ── Service category grid (3 columns) ── */

.iq-cat-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.iq-cat {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.iq-cat-head {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #0f172a;
}

/* ── Multi-select dropdowns ── */

.iq-ms {
    position: relative;
}

.iq-ms-trigger {
    width: 100%;
    height: 48px;
    background: #f8fafc;
    border: 1.5px solid rgba(15,23,42,0.09);
    border-radius: 14px;
    padding: 0 14px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: #aab4c8;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    text-align: left;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.iq-ms-trigger:hover {
    border-color: rgba(15,23,42,0.16);
    background: #f5f8fc;
}

.iq-ms-trigger.is-open,
.iq-ms-trigger:focus-visible {
    border-color: #1E5EFF;
    background: #ffffff;
    box-shadow: 0 0 0 3.5px rgba(30,94,255,0.11);
    outline: none;
}

.iq-ms-trigger.has-value { color: #0f172a; }

.iq-ms-val {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.iq-ms-arrow {
    width: 15px;
    height: 15px;
    color: #9ca3af;
    flex-shrink: 0;
    transition: transform 0.22s ease;
}

.iq-ms-trigger.is-open .iq-ms-arrow { transform: rotate(180deg); }

.iq-ms-panel {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    background: #ffffff;
    border: 1.5px solid rgba(15,23,42,0.10);
    border-radius: 14px;
    box-shadow: 0 8px 32px rgba(15,23,42,0.13), 0 2px 8px rgba(15,23,42,0.06);
    z-index: 300;
    padding: 5px;
    display: none;
}

.iq-ms-panel.is-open { display: block; }

.iq-ms-opt {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 7px 10px;
    border-radius: 8px;
    cursor: pointer;
    font-family: 'Inter', sans-serif;
    font-size: 13.5px;
    color: #374151;
    user-select: none;
    line-height: 1.3;
    transition: background 0.13s ease;
}

.iq-ms-opt:hover { background: #f1f5f9; }

.iq-ms-opt input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    width: 0;
    height: 0;
}

.iq-ms-chk {
    width: 16px;
    height: 16px;
    border: 1.5px solid rgba(15,23,42,0.20);
    border-radius: 5px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background 0.15s ease, border-color 0.15s ease;
    color: transparent;
}

.iq-ms-chk svg {
    width: 9px;
    height: 8px;
}

.iq-ms-opt.is-checked .iq-ms-chk {
    background: #1E5EFF;
    border-color: #1E5EFF;
    color: #ffffff;
}

.iq-ms-opt.is-checked { color: #0f172a; font-weight: 500; }

/* ── Service cards (legacy, unused) ── */

.iq-service-cards {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 14px;
    margin-top: 2px;
}

.iq-sc {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    padding: 22px 20px;
    border: 1.5px solid rgba(15,23,42,0.08);
    border-radius: 20px;
    background: #fafbfd;
    cursor: pointer;
    transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
    text-align: left;
    user-select: none;
}

.iq-sc:hover {
    border-color: rgba(30,94,255,0.30);
    background: rgba(30,94,255,0.03);
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(30,94,255,0.08);
}

.iq-sc.iq-sc--active {
    border-color: #1E5EFF;
    background: rgba(30,94,255,0.05);
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(30,94,255,0.12);
}

.iq-sc-icon {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: rgba(30,94,255,0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background 0.2s ease;
}

.iq-sc-icon svg {
    width: 18px;
    height: 18px;
    color: #1E5EFF;
    transition: color 0.2s ease;
}

.iq-sc.iq-sc--active .iq-sc-icon {
    background: #1E5EFF;
}

.iq-sc.iq-sc--active .iq-sc-icon svg {
    color: #ffffff;
}

.iq-sc-label {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #374151;
    line-height: 1.35;
    transition: color 0.2s ease;
}

.iq-sc.iq-sc--active .iq-sc-label {
    color: #1E5EFF;
}

/* ── Textarea ── */

.iq-textarea {
    background: #f8fafc;
    border: 1.5px solid rgba(15,23,42,0.09);
    border-radius: 14px;
    padding: 16px 18px;
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    font-weight: 400;
    color: #0f172a;
    line-height: 1.65;
    resize: vertical;
    min-height: 140px;
    outline: none;
    width: 100%;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.iq-textarea::placeholder { color: #aab4c8; }

.iq-textarea:hover {
    border-color: rgba(15,23,42,0.16);
    background: #f5f8fc;
}

.iq-textarea:focus {
    border-color: #1E5EFF;
    background: #ffffff;
    box-shadow: 0 0 0 3.5px rgba(30,94,255,0.11);
}

/* ── Error message ── */

.iq-error {
    grid-column: 1 / -1;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13.5px;
    color: #ef4444;
    font-weight: 500;
    min-height: 0;
    transition: opacity 0.2s ease;
}

.iq-error:empty { display: none; }

/* ── Submit row ── */

.iq-submit-row {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding-top: 4px;
}

.iq-privacy-col {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.iq-privacy {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13px;
    font-weight: 400;
    color: #9ca3af;
    line-height: 1.6;
    max-width: 320px;
}

.iq-privacy--black {
    color: #0f172a;
    font-weight: 600;
    margin-top: 2px;
}

/* ── Textarea ── */

.iq-textarea {
    resize: vertical;
    min-height: 88px;
    height: auto;
    padding-top: 14px;
    padding-bottom: 14px;
    line-height: 1.6;
}

/* ── IMR waitlist modal overrides ── */

.imr-wl-modal {
    max-width: 620px;
}

.imr-wl-eyebrow {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #1E5EFF;
    margin-bottom: 10px;
}

.iq-req-optional {
    font-weight: 400;
    color: #9ca3af;
    font-size: 12px;
}

/* ── Submit button — liquid fill like the rest of the site ── */

.iq-submit-btn {
    position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 15px 36px;
    background: #1E5EFF;
    border: none;
    border-radius: 14px;
    color: #ffffff;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: -0.01em;
    white-space: nowrap;
    cursor: pointer;
    box-shadow: 0 4px 20px rgba(30,94,255,0.30);
    transition: transform 0.18s ease, box-shadow 0.18s ease;
    flex-shrink: 0;
}

.iq-submit-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 28px rgba(30,94,255,0.36);
}

.iq-submit-btn:active { transform: translateY(0); }

.iq-submit-label {
    position: relative;
    z-index: 1;
    transition: transform 0.65s var(--liq-ease);
}

.iq-submit-arrow {
    position: relative;
    z-index: 1;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    transition: transform 0.65s var(--liq-ease);
}

.iq-submit-fill {
    position: absolute;
    inset: 0;
    background: #0b1120;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 15px 36px;
    clip-path: circle(0% at 90% 50%);
    transition: clip-path 0.65s var(--liq-ease);
    z-index: 2;
    font-size: 15px;
    font-weight: 600;
    white-space: nowrap;
}

.iq-submit-fill svg {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

.iq-submit-btn:hover .iq-submit-fill { clip-path: circle(150% at 90% 50%); }
.iq-submit-btn:hover .iq-submit-label { transform: translateX(-4px); }
.iq-submit-btn:hover .iq-submit-arrow { transform: translateX(4px); }

.iq-submit-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
}

/* ── Success state ── */

.iq-success {
    display: none;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 80px 40px;
    gap: 20px;
}

.iq-success.iq-success--visible {
    display: flex;
}

.iq-success-ring {
    width: 80px;
    height: 80px;
    background: rgba(22,163,74,0.08);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px;
}

.iq-success-check {
    width: 52px;
    height: 52px;
}

.iq-check-circle {
    stroke-dasharray: 157;
    stroke-dashoffset: 157;
    animation: iq-draw-circle 0.6s cubic-bezier(0.16,1,0.3,1) 0.1s forwards;
}

.iq-check-mark {
    stroke-dasharray: 40;
    stroke-dashoffset: 40;
    animation: iq-draw-check 0.5s cubic-bezier(0.16,1,0.3,1) 0.55s forwards;
}

@keyframes iq-draw-circle {
    to { stroke-dashoffset: 0; }
}

@keyframes iq-draw-check {
    to { stroke-dashoffset: 0; }
}

.iq-success-title {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 28px;
    font-weight: 700;
    color: #0b132b;
    letter-spacing: -0.03em;
}

.iq-success-body {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    color: #64748b;
    line-height: 1.65;
    max-width: 380px;
}

.iq-back-btn {
    margin-top: 12px;
    display: inline-flex;
    align-items: center;
    padding: 12px 28px;
    border: 1.5px solid rgba(15,23,42,0.12);
    border-radius: 12px;
    background: transparent;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #374151;
    cursor: pointer;
    transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}

.iq-back-btn:hover {
    border-color: #1E5EFF;
    color: #1E5EFF;
    background: rgba(30,94,255,0.04);
    transform: translateY(-1px);
}

/* ── Responsive ── */

@media (max-width: 900px) {
    .iq-modal { padding: 40px 40px 44px; }
    .iq-cat-grid { grid-template-columns: 1fr 1fr; }
    .iq-cat-grid > .iq-cat:last-child { grid-column: 1 / -1; }
}

@media (max-width: 700px) {
    .iq-overlay { padding: 0; align-items: flex-end; }
    .iq-modal { padding: 36px 24px 40px; max-height: 94vh; overflow-y: auto; overflow-x: hidden; }
    .iq-subheading { white-space: normal; }
    .iq-form { grid-template-columns: 1fr; }
    .iq-row { grid-template-columns: 1fr; gap: 20px; }
    .iq-field--full { grid-column: 1; }
    .iq-cat-grid { grid-template-columns: 1fr; }
    .iq-cat-grid > .iq-cat:last-child { grid-column: 1; }
    .iq-submit-row { flex-direction: column; align-items: flex-start; gap: 16px; }
    .iq-privacy { max-width: 100%; }
    .iq-ms-panel { position: fixed; left: 16px; right: 16px; top: auto; }
}

@media (max-width: 440px) {
    .iq-submit-btn { width: 100%; justify-content: center; }
}

#ftWord.is-entering { animation: ft-word-enter 380ms cubic-bezier(0.22,1,0.36,1) both; }
#ftWord.is-exiting  { animation: ft-word-exit  320ms ease forwards; }

/* ==========================================
   ANIMATION SYSTEM
========================================== */

/* ── Hero glow — pure CSS, no JS movement ── */
.hero-glow {
    position: absolute;
    top: -15%;
    right: -10%;
    width: 65vw;
    height: 65vw;
    max-width: 720px;
    max-height: 720px;
    background: radial-gradient(ellipse at 60% 40%,
        rgba(0,0,0,0.04) 0%,
        rgba(0,0,0,0.015) 40%,
        transparent 70%);
    pointer-events: none;
}

/* ── Hero elements fade in on load ── */
.hero-fade {
    opacity: 0;
    transform: translateY(18px);
    transition:
        opacity 0.7s cubic-bezier(0.16,1,0.3,1),
        transform 0.7s cubic-bezier(0.16,1,0.3,1);
    transition-delay: var(--hd, 0ms);
}
.hero-fade.is-visible {
    opacity: 1;
    transform: translateY(0);
}


/* ── afs2 dot-grid overlay ── */
.afs2-section::after {
    content: '';
    position: absolute;
    inset: 0;
    background-image: radial-gradient(rgba(15,23,42,0.06) 1px, transparent 1px);
    background-size: 22px 22px;
    pointer-events: none;
}

/* ── Blog card reveal ── */
.wn-card {
    opacity: 0;
    transform: translateY(24px);
    transition:
        opacity 0.6s cubic-bezier(0.16,1,0.3,1),
        transform 0.6s cubic-bezier(0.16,1,0.3,1);
    transition-delay: var(--wd, 0ms);
}
.wn-card.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* freeze card transitions while any modal is open so hover-state drop doesn't flicker */
body.modal-open .wn-card,
body.modal-open .wn-scroll:has(.wn-card:hover) .wn-card:not(:hover) {
    transition: none !important;
}

/* ── prefers-reduced-motion ── */
@media (prefers-reduced-motion: reduce) {
    .hero-fade,
    .pfl-reveal,
    .cap-reveal,
    .afs2-reveal,
    .wn-card {
        transition: none !important;
        opacity: 1 !important;
        transform: none !important;
    }
}


/* ==========================================
   MOBILE RESPONSIVENESS — COMPREHENSIVE
   Breakpoints: 900px (existing) | 768px | 640px | 480px | 414px | 375px | 320px
========================================== */

/* ── HAMBURGER BUTTON ── */

.nav-hamburger {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5.5px;
    width: 44px;
    height: 44px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 10px;
    flex-shrink: 0;
    -webkit-tap-highlight-color: transparent;
}

.nav-hamburger-bar {
    display: block;
    width: 20px;
    height: 1.5px;
    background: #0f172a;
    border-radius: 2px;
    transition: transform 0.32s cubic-bezier(0.16,1,0.3,1),
                opacity 0.22s ease,
                width 0.22s ease;
    transform-origin: center;
    pointer-events: none;
}

.nav-hamburger.is-open .nav-hamburger-bar:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}
.nav-hamburger.is-open .nav-hamburger-bar:nth-child(2) {
    opacity: 0;
    width: 0;
}
.nav-hamburger.is-open .nav-hamburger-bar:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

/* ── MOBILE NAV DRAWER ── */

.mobile-nav-drawer {
    display: none;
    position: fixed;
    top: 86px;
    left: 0;
    right: 0;
    background: rgba(255,255,255,0.97);
    backdrop-filter: blur(20px) saturate(180%);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    border-bottom: 1px solid rgba(15,23,42,0.08);
    z-index: 998;
    padding: 8px 24px 28px;
    flex-direction: column;
    gap: 0;
    box-shadow: 0 16px 48px rgba(15,23,42,0.14);
    transform: translateY(-12px);
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    transition: opacity 0.28s cubic-bezier(0.16,1,0.3,1),
                transform 0.28s cubic-bezier(0.16,1,0.3,1),
                visibility 0s 0.28s;
}

.mobile-nav-drawer.is-open {
    transform: translateY(0);
    opacity: 1;
    pointer-events: all;
    visibility: visible;
    transition: opacity 0.28s cubic-bezier(0.16,1,0.3,1),
                transform 0.28s cubic-bezier(0.16,1,0.3,1),
                visibility 0s 0s;
}

.mobile-nav-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    text-decoration: none;
    color: #0f172a;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: -0.01em;
    padding: 15px 0;
    border-bottom: 1px solid rgba(15,23,42,0.065);
    transition: color 0.18s ease;
    min-height: 44px;
}

.mobile-nav-link:last-of-type {
    border-bottom: none;
}

.mobile-nav-link:active { color: #1E5EFF; }

.mobile-nav-link span {
    color: rgba(15,23,42,0.32);
    font-size: 14px;
    font-weight: 400;
    transition: transform 0.18s ease, color 0.18s ease;
}

.mobile-nav-link:active span {
    transform: translateX(4px);
    color: #1E5EFF;
}

.mobile-nav-cta {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 20px;
    width: 100%;
    background: #1E5EFF;
    color: #ffffff;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: -0.01em;
    padding: 15px 24px;
    border-radius: 8px;
    text-decoration: none;
    min-height: 48px;
    box-shadow: 0 4px 18px rgba(30,94,255,0.28);
    transition: background 0.18s ease;
}

.mobile-nav-cta:active { background: #1650e8; }


/* ── SHOW HAMBURGER AT ≤900px ── */

@media (max-width: 900px) {
    .nav-hamburger { display: flex; }
    .mobile-nav-drawer { display: flex; }
    .nav-cta-desktop { display: none; }
}


/* ── TABLET (768px) ── */

@media (max-width: 768px) {

    /* --- Section container padding resets --- */
    .pfl-container { padding: 0 24px 40px; }
    .cap-content   { padding: 48px 28px 48px; }
    .pa-container  { padding: 0 24px; }
    .afs2-container { padding: 0 24px; }

    /* --- Pre-Fundraising header --- */
    .pfl-eyebrow       { margin-top: 72px; font-size: 15px; }
    .pfl-sechdr-title  { font-size: 38px; }
    .pfl-sechdr-desc   { font-size: 16px; }

    /* --- PFL grid: 2-column bento --- */
    .pfl-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
    }
    .pfl-card--pitch { grid-column: 1 / -1; }

    /* --- Legal bar stacks --- */
    .pfl-legal {
        flex-direction: column;
        gap: 20px;
        padding: 24px 24px;
    }
    .pfl-legal-left { max-width: 100%; }
    .pfl-legal-items {
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 12px 8px;
    }

    /* --- Capital Network --- */
    .cap-title        { white-space: normal; font-size: 32px; }
    .cap-grid         { grid-template-columns: 1fr; gap: 14px; }
    .cap-header       { margin-bottom: 32px; }
    .cap-card         { height: auto; min-height: 210px; }

    /* --- AFS2 --- */
    .afs2-row          { padding: 18px 24px; gap: 16px; }
    .afs2-band         { padding: 18px 24px; }
    .afs2-band-items   { flex-wrap: wrap; gap: 10px 16px; }
    .afs2-band-div     { display: none; }
    .afs2-band-item    { flex: 0 0 auto; }

    /* --- Partnership & Advisory --- */
    .pa-hero                 { grid-template-columns: 1fr; gap: 28px; }
    .pa-signals              { grid-template-columns: repeat(2, 1fr); }
    .pa-service-list         { flex-direction: column; border-radius: 10px; }
    .pa-service              { border-right: none; border-bottom: 1.5px solid rgba(10,15,30,0.18); }
    .pa-service:last-child   { border-bottom: none; }
    .pa-headline             { font-size: 42px; }
    .pa-cta-bar              { flex-direction: column; align-items: flex-start; gap: 16px; padding: 20px 24px; }
    .pa-cta-copy             { padding-left: 0; font-size: 18px; }
    .pa-cta-deco             { display: none; }
    #partnership-advisory .pa-cta-bar { flex-direction: column; align-items: flex-start; gap: 16px; }
    #partnership-advisory .pa-cta-copy { padding-left: 0; }

    /* --- IMR dock wraps --- */
    .imr-dock     { flex-wrap: wrap; gap: 8px 12px; justify-content: center; }
    .imr-dock-div { display: none; }

    /* --- Footer --- */
    .ft-container { padding: 80px 32px 32px; }
    .ft-grid      { grid-template-columns: 1fr 1fr; gap: 40px; }
    .ft-cta       { grid-column: 1 / -1; }
}


/* ── MOBILE (640px) ── */

@media (max-width: 640px) {

    /* --- Hero --- */
    .hero h1          { font-size: 42px; letter-spacing: -2px; }
    .hero-description { font-size: 17px; margin-top: 22px; }
    .hero-buttons     { flex-direction: column; align-items: center; gap: 12px; margin-top: 32px; }
    .primary-btn,
    .secondary-btn    { width: 100%; max-width: 300px; justify-content: center; padding: 16px 28px; }

    /* --- What's New header --- */
    .wn-header h2 { font-size: 28px; }

    /* --- Pre-Fundraising --- */
    .pfl-grid           { grid-template-columns: 1fr; }
    .pfl-card--pitch    { grid-column: span 1; }
    .pfl-sechdr-title   { font-size: 30px; }
    .pfl-sechdr-desc    { font-size: 15px; }
    .pfl-eyebrow        { margin-top: 52px; font-size: 13px; }

    /* --- Capital --- */
    .cap-eyebrow  { font-size: 13px; letter-spacing: 0.12em; }
    .cap-title    { font-size: 26px; }

    /* --- AFS2 --- */
    .afs2-eyebrow  { font-size: 13px; letter-spacing: 0.12em; }
    .afs2-headline { font-size: 30px !important; }
    .afs2-lead     { font-size: 15px; }
    .afs2-row-title { font-size: 15px; }

    /* --- PA --- */
    .pa-eyebrow  { font-size: 13px; letter-spacing: 0.12em; }
    .pa-headline { font-size: 34px; }
    .pa-lead     { font-size: 14px; }

    /* --- Footer --- */
    .ft-container { padding: 64px 24px 28px; }
    .ft-grid      { grid-template-columns: 1fr; gap: 28px; }
    .ft-headline  { font-size: clamp(40px, 12vw, 56px); }
    .ft-bottom    { flex-direction: column; gap: 14px; align-items: flex-start; }
}


/* ── SMALL PHONES (480px) ── */

@media (max-width: 480px) {

    .hero h1          { font-size: 38px; letter-spacing: -1.5px; }
    .hero-description { font-size: 16px; }
    .eyebrow          { font-size: 12px; letter-spacing: 4px; margin-bottom: 18px; }

    /* Metrics strip */
    .crd-trust  { padding: 28px 0 24px; }
    .crd-metric-num { font-size: 34px; }

    /* Section headings */
    .pfl-sechdr-title  { font-size: 26px; }
    .cap-title         { font-size: 24px; }
    .afs2-headline     { font-size: 26px !important; }
    .pa-headline       { font-size: 30px; }

    /* IMR */
    .imr-topbar  { flex-direction: column; align-items: flex-start; gap: 14px; padding: 20px 20px 16px; }
    .imr-headline { font-size: 30px !important; }

    /* Modal */
    .iq-modal  { padding: 32px 20px 36px; }
    .iq-pills  { gap: 8px; }
    .iq-pill   { padding: 8px 14px; font-size: 12px; }

    /* Footer */
    .ft-headline  { font-size: 38px; }
    .ft-container { padding: 56px 20px 24px; }
}


/* ── PHONE (414px) ── */

@media (max-width: 414px) {

    .navbar { padding: 0 20px; }

    .hero h1          { font-size: 34px; letter-spacing: -1.5px; }
    .hero-description { font-size: 15.5px; }
    .primary-btn,
    .secondary-btn    { padding: 14px 24px; font-size: 14px; }

    .pfl-container    { padding: 0 20px 36px; }
    .pfl-sechdr-title { font-size: 24px; }
    .pfl-legal        { padding: 20px 20px; }

    .cap-content      { padding: 40px 20px 44px; }
    .cap-title        { font-size: 22px; }

    .afs2-container   { padding: 0 20px; }
    .afs2-headline    { font-size: 24px !important; }
    .afs2-row         { padding: 16px 20px; gap: 12px; }
    .afs2-band        { padding: 16px 20px; }

    .pa-container     { padding: 0 20px; }
    .pa-headline      { font-size: 28px; }

    .ft-container     { padding: 52px 20px 24px; }
    .ft-headline      { font-size: 36px; }
}


/* ── 375px ── */

@media (max-width: 375px) {

    .navbar { padding: 0 16px; }

    .hero h1          { font-size: 30px; letter-spacing: -1px; }
    .hero-description { font-size: 15px; }
    .eyebrow          { font-size: 11px; letter-spacing: 3.5px; }

    .pfl-container    { padding: 0 16px 32px; }
    .pfl-sechdr-title { font-size: 22px; }
    .pfl-sechdr-desc  { font-size: 14px; }
    .pfl-eyebrow      { margin-top: 44px; }

    .cap-content      { padding: 36px 16px 40px; }
    .cap-title        { font-size: 20px; }

    .afs2-container   { padding: 0 16px; }
    .afs2-headline    { font-size: 22px !important; }
    .afs2-lead        { font-size: 14px; }
    .afs2-row         { padding: 14px 16px; gap: 10px; }
    .afs2-band        { padding: 14px 16px; }
    .afs2-row-title   { font-size: 14px; }
    .afs2-row-desc    { font-size: 12.5px; }

    .pa-container  { padding: 0 16px; }
    .pa-headline   { font-size: 24px; }
    .pa-lead       { font-size: 13.5px; }
    .pa-signals    { gap: 6px; }

    .imr-section   { padding: 44px 16px; }
    .imr-headline  { font-size: 26px !important; }

    .ft-container  { padding: 48px 16px 20px; }
    .ft-headline   { font-size: 32px; }
    .ft-grid       { gap: 24px; }
}


/* ── 320px ── */

@media (max-width: 320px) {

    body      { padding-top: 72px; }
    .navbar   { height: 72px; padding: 0 14px; }
    .mobile-nav-drawer { top: 72px; }
    .blur-overlay { top: 72px; }
    .logo img { height: 38px; }

    .hero h1          { font-size: 26px; letter-spacing: -0.5px; }
    .hero-description { font-size: 14px; }
    .eyebrow          { font-size: 10px; letter-spacing: 3px; }

    .pfl-container    { padding: 0 14px 28px; }
    .pfl-sechdr-title { font-size: 20px; }
    .pfl-eyebrow      { margin-top: 36px; font-size: 11px; }
    .pfl-legal        { padding: 16px 14px; }

    .cap-content      { padding: 28px 14px 32px; }
    .cap-title        { font-size: 18px; }

    .afs2-container   { padding: 0 14px; }
    .afs2-headline    { font-size: 20px !important; }
    .afs2-row         { padding: 12px 14px; gap: 8px; }
    .afs2-band        { padding: 12px 14px; }
    .afs2-num         { font-size: 10px; }

    .pa-container  { padding: 0 14px; }
    .pa-headline   { font-size: 20px; }

    .imr-section   { padding: 36px 14px; }
    .imr-headline  { font-size: 22px !important; }

    .iq-modal  { padding: 24px 14px 28px; }

    .ft-container  { padding: 40px 14px 20px; }
    .ft-headline   { font-size: 28px; }
    .ft-copy       { font-size: 12px; }
    .ft-bottom     { flex-wrap: wrap; gap: 10px; }
    .ft-bottom-left { flex-wrap: wrap; gap: 8px; }
}


/* ── TOUCH DEVICES: disable heavy hover cascades ── */

@media (hover: none) {

    .pfl-grid:has(.pfl-card:hover) .pfl-card:not(:hover) {
        opacity: 1 !important;
        filter: none !important;
        transform: none !important;
    }

    .cap-grid:has(.cap-card:hover) .cap-card:not(:hover) {
        opacity: 1 !important;
        filter: none !important;
        transform: none !important;
    }

    .pfl-card:hover { transform: none; box-shadow: none; }
    .cap-card:hover { transform: none; }
    .afs2-row:hover { transform: none; }
}


/* ── REDUCE ANIMATION INTENSITY ON MOBILE ── */

@media (max-width: 768px) {

    /* Shorten/simplify entrance animations */
    .pfl-reveal,
    .cap-reveal {
        transition-duration: 0.45s;
        transform: translateY(16px);
    }

    /* Hero mesh animation less aggressive */
    .hero::before {
        animation-duration: 20s;
    }

    /* Prevent card scale/blur on touch — performance */
    .pfl-card {
        transition: box-shadow 0.3s ease;
    }
    .pfl-card:hover {
        transform: none;
        box-shadow: 0 4px 20px rgba(15,23,42,0.12);
    }
    .pfl-grid:has(.pfl-card:hover) .pfl-card:not(:hover) {
        opacity: 1;
        filter: none;
        transform: none;
    }
}


/* ── IMR DOCK — 320px SPECIFIC ── */

@media (max-width: 420px) {
    .imr-dock-item span { font-size: 10px; }
    .imr-dock-item { gap: 4px; }
    .imr-dock      { gap: 6px 8px; }
    .imr-copy      { font-size: 14px; }
}


/* ── PREVENT HORIZONTAL OVERFLOW ── */

/* wn-scroll uses JS-driven scrollLeft; hide the native bar but keep scroll */
.wn-scroll {
    max-width: 100vw;
    overflow-x: auto;
    scrollbar-width: none;       /* Firefox */
    -ms-overflow-style: none;    /* IE/Edge */
}
.wn-scroll::-webkit-scrollbar { display: none; } /* Chrome/Safari/Opera */

/* crd-rail-wrap already has overflow:hidden (CSS-animated track) — do not override */

@media (max-width: 768px) {
    .afs2-band-meta {
        flex-wrap: wrap;
        gap: 8px;
    }
    .afs2-band-label {
        border-right: none;
        padding-right: 0;
    }
    .pa-network-items {
        flex-wrap: wrap;
        gap: 10px 0;
    }
    .pa-network-div { display: none; }
    .pa-network-item { flex: 0 0 50%; }
    .pa-network-title { white-space: normal; font-size: 12.5px; }
    .imr-block { margin: 0 -4px; }
}


/* ── FORM: FULL-WIDTH INPUTS ON MOBILE ── */

@media (max-width: 700px) {
    .iq-input,
    .iq-textarea {
        font-size: 16px; /* prevents iOS zoom */
        width: 100%;
    }
    .iq-ms-panel {
        max-height: 55vh;
        overflow-y: auto;
    }
    .imr-wl-modal .iq-row { grid-template-columns: 1fr; gap: 20px; }
    .iq-pills { flex-wrap: wrap; }
}


/* ── WN CARD SECTION ── */

@media (max-width: 480px) {
    .wn-header { padding: 0 16px; gap: 10px; }
    .wn-scroll { padding: 0 16px 24px; }
    .wn-card   { width: 210px; height: 300px; }
    .wn-card--featured { width: 260px; }
    .wn-card--featured h3 { font-size: 17px; }
}


/* ── CREDIBILITY METRICS ── */

@media (max-width: 480px) {
    .crd-metrics { padding: 0 16px; gap: 16px 0; }
    .crd-metric  { flex: 0 0 50%; }
}


/* ── LOGO RAIL ── */

@media (max-width: 480px) {
    .crd-logo { width: 160px; height: 88px; margin: 0 12px; }
    .crd-logo img { max-height: 76px; max-width: 140px; height: auto; }
}


/* ==========================================
   TARGETED BUG FIXES — POST-AUDIT PASS 2
========================================== */

/* 1. Logo rail: remove the 140px dead-zone above logos on mobile */
@media (max-width: 900px) {
    .crd-rail-wrap { padding: 28px 0 16px; }
    .crd-trust     { padding: 40px 0 32px; }
}
@media (max-width: 480px) {
    .crd-rail-wrap { padding: 20px 0 12px; }
    .crd-trust     { padding: 32px 0 24px; }
}

/* 2. PFL pitch card: override inline grid-column:span 2 at single-column breakpoint */
@media (max-width: 640px) {
    .pfl-card--pitch { grid-column: 1 !important; }
    /* Financial model visual: clip the table to prevent card overflow */
    .pfl-card--finance .pfl-visual { overflow: hidden; max-height: 160px; }
    .pfin-wrap { padding: 10px 8px; }
    .pfin-table { font-size: 9.5px; }
}

/* 3. pa-headline: ensure long text wraps on all mobile sizes */
.pa-headline {
    overflow-wrap: break-word;
    word-break: break-word;
    hyphens: auto;
}

/* 4. Partnership signals: match #id specificity to enforce 2-col on mobile */
@media (max-width: 768px) {
    #partnership-advisory .pa-signals,
    .pa-signals {
        grid-template-columns: repeat(2, 1fr);
    }
    /* Ensure pa-hero-left doesn't overflow its column */
    .pa-hero-left {
        overflow: hidden;
        max-width: 100%;
    }
}
@media (max-width: 480px) {
    #partnership-advisory .pa-signals,
    .pa-signals {
        grid-template-columns: 1fr 1fr;
        gap: 6px;
    }
    #partnership-advisory .pa-signal {
        height: auto;
        min-height: 76px;
        padding: 10px 11px;
    }
}

/* 5. IMR visual: hide ghost depth layer; let imr-block clip overall overflow.
      Do NOT put overflow:hidden on imr-visual — it clips the floating notification. */
@media (max-width: 640px) {
    .imr-ghost    { display: none; }
    .imr-visual   { padding-left: 0; }
    .imr-block    { overflow: hidden; }
    .imr-win-body { padding: 18px 18px 20px; }
    .imr-notif    { right: 8px; max-width: calc(100% - 16px); }
}
@media (max-width: 480px) {
    .imr-inner  { padding: 24px 16px 36px; }
    .imr-window { border-radius: 16px; }
}

/* 6. General pa-container overflow guard */
@media (max-width: 768px) {
    .pa-container { overflow: hidden; }
    #partnership-advisory { overflow: hidden; }
}

/* ==========================================
   WN GRID — replaced scrolling marquee
========================================== */

.wn-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    padding: 0 80px 80px;
}

/* override old card styles for new grid layout */
.wn-grid .wn-card {
    width: auto;
    height: auto;
    flex-shrink: unset;
    background: #ffffff;
    border: 1px solid rgba(15,23,42,0.08);
    display: flex;
    flex-direction: column;
    cursor: pointer;
    transition: transform 0.28s cubic-bezier(0.16,1,0.3,1), box-shadow 0.28s cubic-bezier(0.16,1,0.3,1);
    opacity: 1;
    transform: none;
    filter: none;
}

.wn-grid .wn-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 40px rgba(15,23,42,0.12);
    opacity: 1;
    filter: none;
}

.wn-cover {
    width: 100%;
    aspect-ratio: 4 / 3;
    background: var(--cover-bg, #1E5EFF);
    overflow: hidden;
    flex-shrink: 0;
}

.wn-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.wn-body {
    padding: 16px 18px 18px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
}

.wn-cat-pill {
    display: inline-block;
    background: var(--pill-bg, #1E5EFF);
    color: #fff;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 3px 8px;
    border-radius: 4px;
    width: fit-content;
}

.wn-title {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: #0b132b;
    line-height: 1.4;
    flex: 1;
}

.wn-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 4px;
}

.wn-foot .wn-date {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    color: #6b7280;
}

.wn-arrow {
    font-size: 16px;
    color: #0b132b;
    transition: transform 0.2s ease;
}

.wn-grid .wn-card:hover .wn-arrow {
    transform: translateX(4px);
}

/* header button style */
.wn-header button.wn-view-all {
    background: none;
    border: none;
    cursor: pointer;
    font-family: 'Plus Jakarta Sans', sans-serif;
}

@media (max-width: 1100px) {
    .wn-grid { grid-template-columns: repeat(3, 1fr); padding: 0 40px 60px; }
}
@media (max-width: 760px) {
    .wn-grid { grid-template-columns: repeat(2, 1fr); padding: 0 24px 48px; gap: 14px; }
    .wn-header { padding: 0 24px; }
}
@media (max-width: 480px) {
    .wn-grid { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════════════════
   ZTH INSIDER — EDITORIAL MAGAZINE CARD LAYOUT
   Image strip top 63% / white content strip bottom 37%
   Replaces the old image-with-overlay approach entirely.
════════════════════════════════════════════════════════════ */

/* Card: flex column, white base, no background image */
.wn-card {
    display: flex;
    flex-direction: column;
    width: 280px;
    height: 390px;
    background: #ffffff;
    background-image: none;
    background-blend-mode: normal;
    border: 1.5px solid #0b132b;
    transition:
        transform 0.55s cubic-bezier(0.16,1,0.3,1),
        box-shadow 0.55s cubic-bezier(0.16,1,0.3,1),
        opacity 0.55s cubic-bezier(0.16,1,0.3,1),
        filter 0.55s cubic-bezier(0.16,1,0.3,1);
    transition-delay: var(--wd, 0ms);
}

.wn-card--featured {
    width: 340px;
    height: 390px;
}

/* Kill the old shine and dot-grid overlays */
.wn-card::before,
.wn-card::after {
    display: none;
}

/* Image strip: fills 63% of card height */
.wn-img {
    flex: 0 0 63%;
    background-color: var(--card-color, #1E5EFF);
    background-image: var(--card-img, none);
    background-size: cover;
    background-position: center;
    position: relative;
    overflow: hidden;
    transition: transform 0.65s cubic-bezier(0.16,1,0.3,1);
}

/* Image zooms in, card lifts — on hover of whole card */
.wn-card:hover .wn-img {
    transform: scale(1.05);
}

.wn-card:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 18px 52px rgba(15,23,42,0.13) !important;
    opacity: 1 !important;
    filter: none !important;
}

.wn-scroll:has(.wn-card:hover) .wn-card:not(:hover) {
    opacity: 0.5;
    filter: blur(0.5px);
    transform: scale(0.97) !important;
}

/* Content strip: static white panel below image */
.wn-info {
    position: static;
    flex: 1;
    background: #ffffff;
    background-image: none;
    padding: 16px 18px 18px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    border-top: 1.5px solid #0b132b;
}

.wn-cat {
    color: #71717a;
    font-size: 10px;
    letter-spacing: 0.4px;
}

.wn-dot {
    background: var(--card-color, #1E5EFF);
}

.wn-card h3 {
    color: #0b132b;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: -0.2px;
    margin: 0;
    flex: 1;
}

.wn-card--featured h3 {
    font-size: 16px;
    letter-spacing: -0.4px;
    margin-bottom: 0;
}

.wn-date {
    color: #6b7280;
    margin-top: 2px;
}

/* Badge anchors to top-left of image strip */
.wn-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    background: #ffffff;
    color: #0b132b;
    border-radius: 3px;
    z-index: 4;
}

/* Hide desc + CTA — not needed in magazine layout */
.wn-desc,
.wn-cta {
    display: none;
}

/* Responsive overrides */
@media (max-width: 900px) {
    .wn-card { width: 240px; height: 360px; }
    .wn-card--featured { width: 300px; height: 360px; }
    .wn-card--featured h3 { font-size: 15px; }
}

@media (max-width: 480px) {
    .wn-card { width: 210px; height: 320px; }
    .wn-card--featured { width: 260px; height: 320px; }
    .wn-card--featured h3 { font-size: 14px; }
}

/* ── Investor Mock Room teaser card ── */
.wn-badge--lime {
    background: #c8f135 !important;
    color: #0b132b !important;
}

.wn-card--imr .wn-dot {
    background: #1a1a1a;
}

.wn-card--imr .wn-date {
    font-weight: 600;
}


/* ==========================================
   ADAPTIVE FLUID PASS — v2
   Rules placed here supersede all earlier
   breakpoint declarations (same specificity,
   later source order wins in CSS cascade).
========================================== */

/* ── Safe overflow on all text content blocks ── */

.pfl-sechdr-title,
.pfl-sechdr-desc,
.afs2-headline,
.cap-title,
#partnership-advisory .pa-headline {
    word-break: break-word;
    overflow-wrap: break-word;
}

/* ── Fluid section headings ── */

/* Pre-Fundraising title: smooth scale from 22px (320px) to 50px (desktop) */
.pfl-sechdr-title {
    font-size: clamp(22px, 5.5vw, 50px);
}

/* Pre-Fundraising desc: single line, centred on desktop; wraps on mobile */
.pfl-sechdr-desc {
    max-width: none;
    white-space: nowrap;
    font-size: 12.5px;
    text-align: center;
}
@media (max-width: 1024px) {
    .pfl-sechdr-desc {
        white-space: normal;
        font-size: 14px;
        max-width: 90vw;
    }
}

/* ZTH Insider section heading */
.wn-header h2 {
    font-size: clamp(24px, 4.2vw, 52px);
}

/* Partnership headline: high-specificity rule, so clamp wins here too */
#partnership-advisory .pa-headline {
    font-size: clamp(22px, 6vw, 56px);
}

/* Partnership lead: single line, centred */
#partnership-advisory .pa-lead {
    max-width: none;
    white-space: nowrap;
}

/* Partnership eyebrow: #id .class specificity, fluid from 11→18px */
#partnership-advisory .pa-eyebrow {
    font-size: clamp(11px, 2.5vw, 18px);
}

/* Active Fundraising lead: single line on wide screens, wraps on mobile */
.afs2-lead {
    font-size: clamp(14px, 2.2vw, 17px);
    max-width: none;
    white-space: nowrap;
}
@media (max-width: 900px) {
    .afs2-lead {
        white-space: normal;
        max-width: 88vw;
        margin-left: auto;
        margin-right: auto;
    }
}

/* Footer headline */
.ft-headline {
    font-size: clamp(28px, 10vw, 80px);
}

/* ── Fluid section padding ── */

/* WN header left/right padding — fluid instead of stepped */
.wn-header {
    padding: 0 clamp(20px, 5.5vw, 80px);
}

/* WN scroll left/right padding */
.wn-scroll {
    padding-left: clamp(20px, 5.5vw, 80px);
    padding-right: clamp(20px, 5.5vw, 80px);
}

/* Pre-Fundraising eyebrow top margin — fluid */
.pfl-eyebrow {
    margin-top: clamp(52px, 10vw, 140px);
}

/* Trust logo rail top padding — fluid */
.crd-rail-wrap {
    padding-top: clamp(40px, 10vw, 140px);
}

/* ── 360px viewport — common Android / Samsung Galaxy ── */

@media (max-width: 360px) {
    .navbar           { padding: 0 15px; }
    .hero h1          { font-size: 27px; letter-spacing: -0.5px; }
    .hero-description { font-size: 14.5px; }
    .eyebrow          { font-size: 11px; letter-spacing: 3px; }

    .pfl-container    { padding: 0 14px 28px; }

    .cap-content      { padding: 30px 14px 34px; }

    .afs2-container   { padding: 0 14px; }
    .afs2-row         { padding: 13px 14px; gap: 10px; }
    .afs2-band        { padding: 13px 14px; }

    .pa-container     { padding: 0 14px; }
    #partnership-advisory .pa-signals { grid-template-columns: repeat(2, 1fr); gap: 6px; }

    .imr-section      { padding: 36px 14px; }

    .ft-container     { padding: 44px 14px 18px; }
    .ft-headline      { font-size: 28px; }
    .ft-bottom        { flex-direction: column; gap: 10px; align-items: flex-start; }
}

/* ── IMR visual alignment on narrow phones (≤414px) ── */

@media (max-width: 414px) {
    .imr-visual   { padding-left: 8px; }
    .imr-notif    { right: 4px; max-width: calc(100% - 8px); }
    .imr-readiness { right: -8px; }
}


/* ─────────────────────────────────────────────
   SECOND-ROUND MOBILE FIXES
   Targets every remaining issue visible on
   iPhone SE (375px) and all narrower/similar
   devices — no individual prompts needed.
───────────────────────────────────────────── */

/* 1. Company Setup card — checklist tick (✓) overflows the card boundary.
      Root cause: .pflc-ci-text has white-space:nowrap, making the row wider
      than the card column. Allowing wrapping keeps ✓ inside the card. */
.pflc-ci-text { white-space: normal; }

/* 2. Partnership Advisory CTA — "One Partner. Beyond The Rest." gets clipped.
      Root cause: #partnership-advisory .pa-cta-copy has white-space:nowrap
      (specificity 1,1,0) which the generic 768px rule cannot override.
      overflow:hidden on the bar then clips the overflow. */
@media (max-width: 768px) {
    #partnership-advisory .pa-cta-copy { white-space: normal; font-size: 20px; }
    #partnership-advisory .pa-cta-sub  { white-space: normal; }
    #partnership-advisory .pa-cta-bar  { overflow: visible; min-height: 0; padding: 20px 24px; }
    #partnership-advisory .pa-cta-text { text-align: left; }
}

/* 3. Legal & Compliance items — icon/text misaligned on narrow screens.
      Stack each item vertically (icon above label) so labels wrap cleanly. */
@media (max-width: 480px) {
    .pfl-legal-items     { justify-content: center; gap: 16px 10px; }
    .pfl-legal-item      { flex-direction: column; align-items: center; gap: 5px; padding: 0 6px; }
    .pfl-li-icon         { width: 32px; height: 32px; }
    .pfl-legal-item span { font-size: 11px; white-space: normal; text-align: center; }
}

/* 4. Investor Mock Room eyebrow — wraps to two lines at 375px due to
      18px font-size + 0.18em letter-spacing. Shrink at mobile. */
@media (max-width: 480px) {
    .imr-eyebrow { font-size: 12px; letter-spacing: 0.10em; }
}

/* 5. IMR topbar CTA buttons — allow wrapping and reduce padding so buttons
      never overflow the column layout at very narrow widths. */
@media (max-width: 480px) {
    .imr-ctas { flex-wrap: wrap; gap: 8px; flex-shrink: 1; }
    .imr-btn  { padding: 11px 20px; font-size: 13.5px; }
}


/* ─────────────────────────────────────────────
   IMR GRID FIX + FUNDRAISE TOOLKIT GRID FIX

   Root cause: the IMR base CSS block (~line 5922)
   is defined AFTER the IMR responsive breakpoints
   (~line 3770). Same-specificity rules later in
   source order always win, so every media query at
   lines 3770-3795 is silently overridden by the
   base. Re-declaring the critical overrides here
   (after the base) makes them take effect.
───────────────────────────────────────────── */

/* ── IMR: single-column layout on tablet/mobile ── */
@media (max-width: 1080px) {
    .imr-inner   { grid-template-columns: 1fr; padding: 40px 32px 52px; gap: 44px; }
    .imr-section { padding: 64px 28px; }
    .imr-topbar  { padding: 24px 32px 22px; }
}

@media (max-width: 640px) {
    .imr-inner   { padding: 32px 20px 44px; gap: 40px; }
    .imr-section { padding: 48px 16px; }
    .imr-topbar  { padding: 20px 20px 18px; flex-wrap: wrap; gap: 16px; }
}


/* ─────────────────────────────────────────────
   PREFERS-REDUCED-MOTION
   Kills all decorative CSS animations/transitions
   for users with OS-level "Reduce Motion" on.
   Modal open/close becomes instant but still works.
   Reveal animations apply immediately without fade.
───────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration:       0.01ms !important;
        animation-iteration-count: 1     !important;
        transition-duration:      0.01ms !important;
        scroll-behavior:          auto   !important;
    }
}

/* ── Fundraise Toolkit: enforce 2-column grid so items land evenly ── */
@media (max-width: 480px) {
    .afs2-band-items { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
    .afs2-band-item  { flex: none; }
}


/* ── Hero: tame dark overlays on mobile screens ──
   hero::before uses black radial gradients that animate between opacity 0.5→1.
   On narrow viewports the ellipses concentrate into a visible grey area.
   Freeze & fade the overlay so the hero stays clean white on phones. */
@media (max-width: 768px) {
    .hero::before {
        opacity: 0.2 !important;
        animation: none !important;
    }
    .hero-glow {
        display: none;
    }
}

/* ── Skip link (B-03) ── */
.skip-link {
    position:        absolute;
    top:             -100%;
    left:            16px;
    z-index:         9999;
    background:      #fff;
    color:           #0f1728;
    padding:         8px 16px;
    font-size:       14px;
    font-weight:     600;
    border-radius:   4px;
    text-decoration: none;
    transition:      top 0.1s;
}
.skip-link:focus { top: 16px; }
