
/* ── HERO TEXT SIZE — nuclear override ── */
h1, .hero h1, h1.hero-hl, .hero-hl, .page-hero h1 {
  font-size: clamp(22px, 2.8vw, 42px) !important;
  line-height: 1.15 !important;
}

/* Fund4Founders UX Enhancements - Drop-in CSS */

/* ─── HOTFIX: btn-gold text visibility ──────────────────────────────────── */
.btn-gold, .btn.btn-gold, a.btn-gold, a.btn.btn-gold {
  color: var(--bg) !important; background-color: var(--gold) !important;
}
.btn-gold:hover, .btn.btn-gold:hover, a.btn-gold:hover, a.btn.btn-gold:hover {
  color: var(--bg) !important; background-color: var(--gold-hover) !important;
}

/* ─── FIX: Portal page-hero header alignment ─────────────────────────────
   Centers eyebrow, h1, subtext and access-gate pill across ALL portal heroes.
   Previously the investor hero was left-aligned due to max-width without
   auto margins. This one rule set fixes every current and future portal.    */
.page-hero .container {
  display: flex; flex-direction: column; align-items: center; text-align: center;
}
.page-hero .breadcrumb { justify-content: center; width: 100%; }
.page-hero h1, .page-hero p { text-align: center; margin-left: auto; margin-right: auto; }
.page-hero .eyebrow { text-align: center; }
.page-hero .access-gate { margin-left: auto; margin-right: auto; }

/* ─── 1. ROTATING HERO HEADLINE ─────────────────────────────────────────── */
.hero-rotating-headline { position:relative; display:block; min-height:1.3em; overflow:hidden; }
.hero-rotating-headline .rh-slide { position:absolute; top:0; left:0; right:0; opacity:0; transform:translateY(28px); transition:opacity 0.55s ease,transform 0.55s ease; pointer-events:none; }
.hero-rotating-headline .rh-slide.rh-active { opacity:1; transform:translateY(0); position:relative; pointer-events:auto; }
.hero-rotating-headline .rh-slide.rh-exit { opacity:0; transform:translateY(-28px); position:absolute; }

/* ─── 2. STEP ANIMATIONS ────────────────────────────────────────────────── */
.step-item { opacity:0; transform:translateY(32px); transition:opacity 0.6s ease,transform 0.6s ease; padding:0 24px 24px; animation:stepFallback 0s 1.2s forwards; }
@keyframes stepFallback { to { opacity:1; transform:translateY(0); } }
.step-item.step-animated { opacity:1; transform:translateY(0); }
.step-num { position:relative; z-index:1; }
.step-num::before { content:''; position:absolute; inset:-6px; border-radius:50%; background:var(--gold); opacity:0; transform:scale(0.6); transition:opacity 0.4s ease 0.3s,transform 0.4s ease 0.3s; z-index:-1; }
.step-item.step-animated .step-num::before { opacity:0.12; transform:scale(1); }
.step-progress-track { display:flex; align-items:center; justify-content:center; gap:12px; margin-top:40px; }
.step-pip { width:8px; height:8px; border-radius:50%; background:var(--gold-a20); border:1px solid var(--gold-a30); transition:background 0.4s,transform 0.3s; cursor:pointer; }
.step-pip.active { background:var(--gold); transform:scale(1.35); }
.step-pip-line { height:1px; width:40px; background:var(--gold-a20); position:relative; overflow:hidden; }
.step-pip-line::after { content:''; position:absolute; top:0; left:0; height:100%; width:0%; background:var(--gold); transition:width 0.8s ease; }
.step-pip-line.filled::after { width:100%; }

/* ─── 3. SAFETY LAYER VISUALIZER ────────────────────────────────────────── */
.safety-visualizer { margin:48px auto; max-width:680px; }
.safety-visualizer-title { text-align:center; font-family:Arial, sans-serif; font-size:22px; font-weight:700; color:var(--white); margin-bottom:6px; }
.safety-visualizer-sub { text-align:center; font-size:14px; color:rgba(255,255,255,0.5); margin-bottom:28px; }
.sv-stack { display:flex; flex-direction:column; border-radius:14px; overflow:hidden; border:1px solid var(--gold-a18); box-shadow:0 8px 48px rgba(0,0,0,0.35); }
.sv-layer { display:flex; align-items:center; gap:16px; padding:18px 24px; background:rgba(10,20,40,0.85); border-bottom:1px solid var(--gold-a08); cursor:pointer; transition:background 0.25s,padding-left 0.25s; position:relative; }
.sv-layer:last-child { border-bottom:none; }
.sv-layer::before { content:''; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--gold); transform:scaleY(0); transform-origin:bottom; transition:transform 0.3s; }
.sv-layer:hover,.sv-layer.sv-active { background:rgba(201,168,76,0.06); padding-left:28px; }
.sv-layer:hover::before,.sv-layer.sv-active::before { transform:scaleY(1); }
.sv-layer-icon { font-size:22px; flex-shrink:0; width:40px; height:40px; display:flex; align-items:center; justify-content:center; background:var(--gold-a08); border-radius:8px; border:1px solid var(--gold-a15); transition:background 0.25s; }
.sv-layer:hover .sv-layer-icon,.sv-layer.sv-active .sv-layer-icon { background:rgba(201,168,76,0.16); }
.sv-layer-body { flex:1; }
.sv-layer-name { font-size:14px; font-weight:600; color:var(--white); margin-bottom:2px; }
.sv-layer-tag { font-size:14px; color:var(--gold); text-transform:uppercase; letter-spacing:0.08em; font-weight:600; }
.sv-layer-chevron { margin-left:auto; flex-shrink:0; opacity:0.4; transition:transform 0.3s,opacity 0.2s; font-size:14px; }
.sv-layer.sv-active .sv-layer-chevron { transform:rotate(180deg); opacity:0.8; }
.sv-layer-detail { max-height:0; overflow:hidden; font-size:14px; color:rgba(255,255,255,0.6); line-height:1.6; transition:max-height 0.4s,padding 0.3s,opacity 0.3s; opacity:0; padding:0 24px 0 80px; background:rgba(201,168,76,0.03); border-bottom:1px solid rgba(201,168,76,0.06); }
.sv-layer-detail.sv-open { max-height:120px; opacity:1; padding:10px 24px 14px 80px; }
.sv-stack.sv-has-active { box-shadow:0 8px 48px rgba(0,0,0,0.35),0 0 0 1px var(--gold-a25),0 0 32px rgba(201,168,76,0.06); }

/* ─── 4. READINESS SCORE WIDGET ─────────────────────────────────────────── */
.readiness-widget { background:linear-gradient(135deg,rgba(10,20,40,0.95),rgba(15,28,56,0.95)); border:1px solid var(--gold-a20); border-radius:16px; padding:32px; max-width:540px; margin:0 auto; box-shadow:0 12px 48px rgba(0,0,0,0.4); }
.readiness-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:24px; }
.readiness-title { font-family:Arial, sans-serif; font-size:20px; font-weight:700; color:var(--white); }
.readiness-score-badge { display:flex; align-items:center; gap:6px; background:var(--gold-a10); border:1px solid var(--gold-a25); border-radius:20px; padding:6px 14px; font-size:14px; font-weight:700; color:var(--gold); }
.readiness-score-badge .rs-num { font-size:18px; line-height:1; }
.readiness-ring-wrap { display:flex; align-items:center; gap:24px; margin-bottom:28px; }
.readiness-ring { flex-shrink:0; position:relative; width:80px; height:80px; }
.readiness-ring svg { transform:rotate(-90deg); }
.rs-track { fill:none; stroke:var(--gold-a12); stroke-width:6; }
.rs-fill { fill:none; stroke:var(--gold); stroke-width:6; stroke-linecap:round; stroke-dasharray:220; stroke-dashoffset:220; transition:stroke-dashoffset 1.2s cubic-bezier(0.22,1,0.36,1); filter:drop-shadow(0 0 4px rgba(201,168,76,0.5)); }
.readiness-ring-pct { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:16px; font-weight:700; color:var(--gold); font-family:Arial, sans-serif; }
.readiness-ring-label strong { display:block; font-size:15px; color:var(--white); margin-bottom:4px; }
.readiness-ring-label span { font-size:14px; color:rgba(255,255,255,0.5); }
.readiness-milestones { display:flex; flex-direction:column; gap:12px; }
.rs-milestone { display:flex; align-items:center; gap:14px; padding:12px 16px; border-radius:10px; background:var(--white-a02); border:1px solid var(--white-a06); transition:background 0.25s,border-color 0.25s; }
.rs-milestone.rs-done { background:rgba(201,168,76,0.05); border-color:var(--gold-a18); }
.rs-milestone.rs-current { background:rgba(74,158,240,0.06); border-color:var(--blue-a20); }
.rs-check { width:28px; height:28px; border-radius:50%; border:2px solid var(--white-a12); display:flex; align-items:center; justify-content:center; font-size:14px; flex-shrink:0; transition:background 0.3s,border-color 0.3s; }
.rs-milestone.rs-done .rs-check { background:var(--gold-a15); border-color:var(--gold); color:var(--gold); }
.rs-milestone.rs-current .rs-check { background:var(--blue-a15); border-color:rgba(74,158,240,0.6); color:var(--blue-bright); animation:rs-pulse 2s ease infinite; }
@keyframes rs-pulse { 0%,100%{box-shadow:0 0 0 0 var(--blue-a30)} 50%{box-shadow:0 0 0 6px rgba(74,158,240,0)} }
.rs-milestone-text strong { display:block; font-size:14px; color:var(--white); font-weight:600; }
.rs-milestone-text span { font-size:14px; color:rgba(255,255,255,0.4); }
.rs-badge { font-size:14px; font-weight:700; text-transform:uppercase; letter-spacing:0.08em; padding:3px 8px; border-radius:10px; flex-shrink:0; }
.rs-badge.done { background:var(--gold-a15); color:var(--gold); }
.rs-badge.next { background:var(--blue-a15); color:var(--blue-bright); }
.rs-badge.locked { background:var(--white-a06); color:var(--white-a25); }
.readiness-cta { margin-top:24px; text-align:center; }
.readiness-cta a { display:inline-block; padding:12px 28px; background:var(--gold); color:var(--bg); border-radius:8px; font-size:14px; font-weight:700; text-decoration:none; transition:opacity 0.2s,transform 0.2s; }
.readiness-cta a:hover { opacity:0.9; transform:translateY(-1px); }

/* ─── LAYOUT HELPERS ────────────────────────────────────────────────────── */
.enhancements-preview-section { padding:80px 0; }
.enhancements-grid { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start; }
@media(max-width:900px){ .enhancements-grid{grid-template-columns:1fr;} }
.enhancements-col-label { font-size:14px; font-weight:600; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold); margin-bottom:16px; }


/* ── Notification dropdown — shared across all portals ────────────────────── */


  /* ── Notification Bell ─────────────────────────────── */
  .notif-bell{position:relative;display:inline-flex;align-items:center;cursor:pointer;
    background:none;border:none;color:var(--gold,#C9A84C);font-size:1.3rem;padding:6px 10px;
    border-radius:8px;transition:background 0.2s;}

  .notif-bell:hover{background:rgba(201,168,76,0.1);}

  .notif-badge{position:absolute;top:2px;right:2px;background:#E74C3C;color:#fff;
    border-radius:50%;width:17px;height:17px;font-size:14px;font-weight:700;
    display:flex;align-items:center;justify-content:center;display:none;}

  #notif-dropdown,.notif-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:340px;
    background:#0E1419;border:1px solid rgba(201,168,76,0.2);border-radius:12px;
    box-shadow:0 8px 32px rgba(0,0,0,0.5);z-index:999;display:none;overflow:hidden;}

  #notif-dropdown.open,.notif-dropdown.open{display:block;}

  .notif-header{padding:12px 16px;font-size:14px; font-weight: 600;letter-spacing:2px;text-transform:uppercase;
    color:var(--gold,#C9A84C);border-bottom:1px solid rgba(201,168,76,0.1);
    display:flex;justify-content:space-between;align-items:center;}

  .notif-mark-all{font-size:14px; font-weight: 600;cursor:pointer;color:rgba(201,168,76,0.6);background:none;
    border:none;padding:0;}

  .notif-mark-all:hover{color:var(--gold,#C9A84C);}

  .notif-list{max-height:320px;overflow-y:auto;}

  .notif-item{padding:12px 16px;border-bottom:1px solid rgba(255,255,255,0.04);
    cursor:pointer;transition:background 0.15s;}

  .notif-item:hover{background:rgba(201,168,76,0.05);}

  .notif-item.unread{border-left:3px solid var(--gold,#C9A84C);}

  .notif-item-title{font-size:14px;font-weight:600;color:#E2EAF0;margin-bottom:3px;}

  .notif-item-sub{font-size:14px; font-weight: 600;color:#5A7080;font-family:Arial, sans-serif;}

  .notif-item-score{display:inline-block;padding:1px 7px;border-radius:99px;font-size:14px;
    font-weight:700;margin-left:6px;}

  .notif-empty{padding:24px 16px;text-align:center;color:#5A7080;font-size:14px;}


/* ── Shared UI patterns extracted from page <style> blocks ────────────────── */
/* 7x */ .section-title::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,var(--border),transparent)}
/* 7x */ .toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
/* 7x */ .field label .req{color:var(--gold);margin-left:4px}
/* 7x */ .field input::placeholder,.field textarea::placeholder{color:var(--muted)}
/* 7x */ @keyframes spin{to{transform:rotate(360deg)}
/* 6x */ @keyframes pulse-dot { 0%, 100% { opacity: 1; transform: scale(1); }
/* 6x */ 50% { opacity: 0.4; transform: scale(0.7); }
/* 6x */ * { box-sizing: border-box; margin: 0; padding: 0; }
/* 6x */ header { text-align: center; margin-bottom: 10px; }
/* 6x */ svg.wheel { width: 100%; height: 100%; overflow: visible; }
/* 6x */ .dim-label { font-family: Arial, sans-serif; font-weight: 700; text-anchor: middle; dominant-baseline: middle; pointer-events: none; fill: #fff; font-size: 14px; }
/* 6x */ .center-default-total { font-family: Arial, sans-serif; font-weight: 700; text-anchor: middle; dominant-baseline: middle; fill: #8B5E1A; font-size: 62px; }
/* 6x */ .spoke.active-spoke { opacity: 1; stroke-width: 3; }
/* 6x */ .btn-save { background: rgba(201,168,76,0.12); border: 1px solid rgba(201,168,76,0.35); color: var(--gold); font-family: Arial, sans-serif; font-size: 14px; font-weight: 600; letter-spacing: 0.5px; padding: 9px 22px; border-radius: 8px; cursor: pointer; transition: all 0.15s; }
/* 6x */ .btn-save:hover { background: rgba(201,168,76,0.22); border-color: var(--gold); }
/* 6x */ .caption { font-size:14px; font-weight: 600; color: var(--muted); text-align: center; margin-top: 10px; }
/* 6x */  :root { --bg:#080C10;--surface:#0E1419;--border:#1C2630; --gold:#C9A84C;--gold-dim:rgba(201,168,76,0.12); --green:#2ECC71;--red:#E74C3C;--blue:#4A9EF0; --text:#E2EAF0;--muted:#5A7080; --mono: Arial, sans-serif;--sans: Arial, sans-serif; }
/* 6x */ body::before{content:'';position:fixed;inset:0; background-image:linear-gradient(rgba(201,168,76,0.025) 1px,transparent 1px),linear-gradient(90deg,rgba(201,168,76,0.025) 1px,transparent 1px); background-size:48px 48px;pointer-events:none;z-index:0}
/* 6x */ .wrap{position:relative;z-index:1;max-width:700px;margin:0 auto;padding:40px 20px 80px}
/* 6x */ .portal-head{margin-bottom:40px;padding-bottom:24px;border-bottom:1px solid var(--border)}
/* 6x */ .portal-head .role-badge{ display:inline-flex;align-items:center;gap:8px; background:var(--gold-dim);border:1px solid rgba(201,168,76,0.25); border-radius:99px;padding:5px 14px;margin-bottom:16px; font-family:Arial,sans-serif;font-size:14px; font-weight: 600;letter-spacing:1px;color:var(--gold)}
/* 6x */ .portal-head h1{font-size:clamp(24px,4vw,36px);font-weight:800;letter-spacing:-0.5px;line-height:1.1}
/* 6x */ .portal-head h1 span{color:var(--gold)}
/* 6x */ .portal-head p{margin-top:8px;font-family:Arial,sans-serif;font-size:14px;color:var(--muted);line-height:1.6}
/* 6x */ .section{margin-bottom:32px}
/* 6x */ .section-title{font-family:Arial,sans-serif;font-size:14px; font-weight: 600;letter-spacing:3px;text-transform:uppercase; color:var(--gold);margin-bottom:16px;display:flex;align-items:center;gap:8px}
/* 6x */ .field{margin-bottom:18px}
/* 6x */ .field label{display:flex;justify-content:space-between;align-items:center; font-family:Arial,sans-serif;font-size:14px; font-weight: 700;color:var(--question);margin-bottom:6px}
/* 6x */ .field label .opt{color:var(--question-sec);font-size:14px; font-weight: 600}
/* 6x */ .field input,.field select,.field textarea{ width:100%;background:var(--bg);border:1px solid var(--border);border-radius:8px; padding:10px 14px;color:var(--text);font-family:Arial,sans-serif;font-size:14px; outline:none;transition:border-color 0.15s;resize:vertical}
/* 6x */ .field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold)}
/* 6x */ .field select{appearance:none;cursor:pointer}
/* 6x */ .field select option{background:var(--surface)}
/* 6x */ .multi-wrap{display:flex;flex-wrap:wrap;gap:7px;margin-top:4px}
/* 6x */ .multi-item{ padding:6px 12px;border-radius:6px;border:1px solid var(--border); font-family:Arial,sans-serif;font-size:14px; font-weight: 600;color:var(--muted);cursor:pointer; transition:all 0.12s;user-select:none;background:var(--bg)}
/* 6x */ .multi-item.sel{background:var(--gold-dim);border-color:rgba(201,168,76,0.4);color:var(--gold)}
/* 6x */ .multi-item:hover{border-color:var(--gold);color:var(--text)}
/* 6x */ .checkbox-row{display:flex;align-items:center;gap:10px;padding:10px 14px; background:var(--bg);border:1px solid var(--border);border-radius:8px;cursor:pointer}
/* 6x */ .checkbox-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--gold);cursor:pointer}
/* 6x */ .checkbox-row span{font-family:Arial,sans-serif;font-size:14px;color:var(--muted)}
/* 6x */ .field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
/* 6x */ .btn-save:hover:not(:disabled){background:#E8C56A;transform:translateY(-1px)}
/* 6x */ .btn-save:disabled{opacity:0.5;cursor:not-allowed;transform:none}
/* 6x */ .btn-save .spin{width:15px;height:15px;border:2px solid rgba(8,12,16,0.3); border-top-color:#080C10;border-radius:50%;animation:spin 0.7s linear infinite}
/* 6x */ .toast{ position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px); background:var(--surface);border:1px solid var(--border);border-radius:10px; padding:12px 20px;font-family:Arial,sans-serif;font-size:14px; opacity:0;transition:all 0.3s;z-index:999;pointer-events:none;white-space:nowrap}
/* 6x */ .toast.ok{border-color:rgba(46,204,113,0.3);color:var(--green)}
/* 6x */ .toast.err{border-color:rgba(231,76,60,0.3);color:var(--red)}
/* 6x */ .profile-status{ background:var(--surface);border:1px solid var(--border);border-radius:10px; padding:16px 20px;margin-bottom:24px;display:flex;align-items:center; justify-content:space-between;font-family:Arial,sans-serif;font-size:14px}
/* 6x */ .status-dot{width:8px;height:8px;border-radius:50%;background:var(--muted); display:inline-block;margin-right:8px}
/* 6x */ .status-dot.filled{background:var(--green);box-shadow:0 0 8px rgba(46,204,113,0.4)}
/* 6x */ @media(max-width:480px){.field-grid{grid-template-columns:1fr}
/* 6x */ .pf-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
/* 6x */ .pf-field{margin-bottom:20px;}
/* 6x */ .pf-field:last-child{margin-bottom:0;}
/* 6x */ .pf-label{display:block;font-size:14px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--text-secondary);margin-bottom:8px;}
/* 6x */ .pf-input{width:100%;background:rgba(255,255,255,0.04);border:1px solid var(--border-soft);border-radius:10px;padding:12px 16px;color:var(--text-primary);font-size:15px;outline:none;transition:border-color 0.15s;font-family:inherit;box-sizing:border-box;}
/* 6x */ .pf-input:focus{border-color:var(--gold);}
/* 6x */ .pf-input::placeholder{color:var(--text-dim);}
/* 6x */ .pf-input[readonly]{opacity:0.5;cursor:not-allowed;}
