/* --- CSS VARIABLES & RESET --- */
.bcs-capital-access {
  --ink: #08080A;
  --ink-2: #0E0E11;
  --raise: #131316;
  --gold: #C9A96E;
  --gold-l: #EAD9A8;
  --gold-d: #8A6830;
  --white: #F3EFE7;
  --dim: #9A9AA2;
  --muted: #6A6A70;
  --border: rgba(243,239,231,.1);
  --border-g: rgba(201,169,110,.25);
  --fs: 'Cormorant Garamond', Georgia, serif;
  --ff: 'Inter', Helvetica, sans-serif;
}

.bcs-capital-access .bcs-capital-form-notice {
  grid-column: 1 / -1;
  margin-top: 18px;
  color: var(--gold);
}

.bcs-capital-access .bcs-capital-form-notice.is-error {
  color: #ff8f8f;
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
.bcs-capital-access { background:var(--ink); color:var(--white); font-family:var(--ff); line-height:1.6; min-height:100vh; overflow-x:hidden; -webkit-font-smoothing:antialiased; }
img, svg { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
button { font-family:inherit; cursor:pointer; border:none; background:none; color:inherit; }

/* --- TYPOGRAPHY --- */
.serif { font-family:var(--fs); }
.sans { font-family:var(--ff); }
.mono { font-family:'DM Mono', monospace; letter-spacing:.08em; }

/* --- LAYOUT UTILS --- */
.wrap { max-width:1280px; margin:0 auto; padding:0 40px; }
.wrap-narrow { max-width:980px; margin:0 auto; padding:0 40px; }
section { position:relative; }

/* --- NAVIGATION --- */
.nav { position:fixed; top:0; left:0; right:0; z-index:100; padding:22px 40px; display:flex; align-items:center; justify-content:space-between; transition:all .35s ease; background:rgba(8,8,10,0); backdrop-filter:blur(0); }
.nav.scrolled { background:rgba(8,8,10,.92); backdrop-filter:blur(14px); padding:16px 40px; border-bottom:1px solid var(--border); }
.nav-logo { font-family:var(--fs); font-weight:600; font-size:24px; letter-spacing:.02em; }
.nav-logo b { color:var(--gold); }
.nav-logo-sub { font-size:9px; letter-spacing:.22em; text-transform:uppercase; color:var(--dim); margin-top:2px; font-family:var(--ff); }
.nav-links { display:flex; gap:36px; align-items:center; }
.nav-links a { font-size:12.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--dim); transition:color .25s; position:relative; }
.nav-links a:hover, .nav-links a.active { color:var(--white); }
.nav-links a.active::after { content:''; position:absolute; bottom:-6px; left:0; right:0; height:1px; background:var(--gold); }
.nav-cta { display:flex; gap:12px; align-items:center; }

/* --- BUTTONS --- */
.btn { display:inline-flex; align-items:center; gap:8px; padding:11px 22px; font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; font-weight:500; transition:all .3s ease; cursor:pointer; }
.btn-primary { background:var(--gold); color:var(--ink); }
.btn-primary:hover { background:var(--gold-l); }
.btn-ghost { border:1px solid var(--border-g); color:var(--gold-l); }
.btn-ghost:hover { border-color:var(--gold); color:var(--gold); }
.btn-dark { border:1px solid var(--border); color:var(--white); }
.btn-dark:hover { border-color:var(--gold); color:var(--gold); }

/* --- MOBILE MENU --- */
.menu-toggle { display:none; width:28px; height:20px; position:relative; cursor:pointer; }
.menu-toggle span { position:absolute; left:0; right:0; height:1px; background:var(--white); transition:all .3s; }
.menu-toggle span:nth-child(1){top:0;} .menu-toggle span:nth-child(2){top:9px;} .menu-toggle span:nth-child(3){top:18px;}
.menu-toggle.open span:nth-child(1){top:9px; transform:rotate(45deg);}
.menu-toggle.open span:nth-child(2){opacity:0;}
.menu-toggle.open span:nth-child(3){top:9px; transform:rotate(-45deg);}

.mobile-menu { position:fixed; inset:0; background:var(--ink); z-index:99; display:flex; flex-direction:column; justify-content:center; padding:40px; opacity:0; pointer-events:none; transition:opacity .4s; }
.mobile-menu.open { opacity:1; pointer-events:all; }
.mobile-menu a { font-family:var(--fs); font-size:36px; color:var(--white); padding:16px 0; border-bottom:1px solid var(--border); display:block; transition:color .25s; }
.mobile-menu a:hover { color:var(--gold); }

/* --- PAGE SYSTEM --- */
.bcs-capital-access .page { display:none; padding-top:80px; min-height:100vh; animation:fadeIn .6s ease; }
.bcs-capital-access .page.active { display:block; }
@keyframes fadeIn { from{opacity:0;transform:translateY(10px);} to{opacity:1;transform:none;} }

/* --- HERO SECTION --- */
.hero { position:relative; min-height:92vh; display:flex; align-items:center; overflow:hidden; padding:120px 0 80px; }
.hero-bg { position:absolute; inset:0; z-index:0; }
.hero-bg img { width:100%; height:100%; object-fit:cover; opacity:.35; filter:grayscale(.3); }
.hero-bg::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(8,8,10,.7) 0%,rgba(8,8,10,.5) 50%,rgba(8,8,10,.95) 100%); }
.hero-bg::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 30% 50%,rgba(201,169,110,.08) 0%,transparent 60%); z-index:1; }
.hero-content { position:relative; z-index:2; max-width:900px; }
.hero-eyebrow { font-size:11px; letter-spacing:.3em; text-transform:uppercase; color:var(--gold-l); margin-bottom:28px; display:flex; align-items:center; gap:14px; }
.hero-eyebrow::before { content:''; width:32px; height:1px; background:var(--gold); }
.hero h1 { font-family:var(--fs); font-weight:400; font-size:clamp(44px,6.5vw,84px); line-height:1.02; letter-spacing:-.01em; margin-bottom:28px; }
.hero h1 em { font-style:italic; color:var(--gold); }
.hero-sub { font-size:18px; color:var(--dim); max-width:640px; line-height:1.7; margin-bottom:44px; font-weight:300; }
.hero-ctas { display:flex; gap:14px; flex-wrap:wrap; }
.hero-scroll { position:absolute; bottom:40px; left:50%; transform:translateX(-50%); z-index:2; display:flex; flex-direction:column; align-items:center; gap:10px; color:var(--dim); font-size:10px; letter-spacing:.2em; text-transform:uppercase; }
.hero-scroll::after { content:''; width:1px; height:40px; background:linear-gradient(to bottom,var(--gold),transparent); animation:scrollLine 2s ease-in-out infinite; }
@keyframes scrollLine { 0%,100%{transform:scaleY(.4);transform-origin:top;} 50%{transform:scaleY(1);} }

/* --- SIGNAL BAR --- */
.signal-bar { border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:40px 0; background:var(--ink-2); }
.signal-items { display:flex; justify-content:space-around; align-items:center; flex-wrap:wrap; gap:24px; }
.signal-item { font-family:var(--fs); font-size:20px; color:var(--white); letter-spacing:.04em; position:relative; }
.signal-item:not(:last-child)::after { content:''; position:absolute; right:-20px; top:50%; transform:translateY(-50%); width:1px; height:24px; background:var(--border-g); }

/* --- SECTIONS & TYPOGRAPHY --- */
.section { padding:120px 0; border-bottom:1px solid var(--border); }
.section-sm { padding:80px 0; }
.section-dark { background:var(--ink); }
.section-raise { background:var(--raise); }
.section-ink { background:var(--ink-2); }
.tag { font-size:10.5px; letter-spacing:.24em; text-transform:uppercase; color:var(--gold); margin-bottom:20px; display:flex; align-items:center; gap:14px; }
.tag::before { content:''; width:24px; height:1px; background:var(--gold); }
h2 { font-family:var(--fs); font-weight:400; font-size:clamp(32px,4.5vw,56px); line-height:1.08; letter-spacing:-.01em; margin-bottom:24px; }
h2 em { font-style:italic; color:var(--gold); }
h3 { font-family:var(--fs); font-weight:500; font-size:clamp(22px,2.4vw,30px); line-height:1.2; margin-bottom:16px; }
.lede { font-size:17px; color:var(--dim); max-width:680px; line-height:1.7; font-weight:300; }
.lede-lg { font-size:20px; }

/* --- CARDS & GRIDS --- */
.problem-grid, .eco-grid, .card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:var(--border); border:1px solid var(--border); margin-top:60px; }
.card-grid { gap:24px; background:transparent; border:none; }
.problem-card, .eco-node, .card { background:var(--ink); padding:48px 40px; transition:all .35s; position:relative; }
.eco-node { padding:44px 36px; }
.card { border:1px solid var(--border); padding:40px 32px; }
.problem-card:hover, .eco-node:hover { background:var(--raise); }
.card:hover { border-color:var(--border-g); transform:translateY(-4px); }
.eco-node.center { background:linear-gradient(135deg,var(--raise) 0%,var(--ink) 100%); border:1px solid var(--border-g); }
.eco-node.center::before { content:''; position:absolute; inset:0; background:radial-gradient(circle at center,rgba(201,169,110,.08) 0%,transparent 70%); }
.eco-label, .problem-num { font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin-bottom:14px; }
.eco-node h4, .card h4, .problem-card h3 { font-family:var(--fs); font-size:24px; margin-bottom:10px; color:var(--white); }
.eco-node p, .card p, .problem-card p { font-size:13.5px; color:var(--dim); line-height:1.6; }
.card-icon { width:44px; height:44px; border-radius:8px; background:rgba(201,169,110,.08); border:1px solid var(--border-g); display:flex; align-items:center; justify-content:center; margin-bottom:24px; color:var(--gold); }

/* --- PROCESS --- */
.process { display:grid; grid-template-columns:repeat(5,1fr); gap:24px; margin-top:60px; position:relative; }
.process::before { content:''; position:absolute; top:28px; left:8%; right:8%; height:1px; background:linear-gradient(90deg,transparent,var(--border-g),transparent); }
.process-step { text-align:center; position:relative; }
.process-num { width:56px; height:56px; border-radius:50%; background:var(--ink); border:1.5px solid var(--border-g); display:flex; align-items:center; justify-content:center; margin:0 auto 20px; font-family:var(--fs); font-size:20px; color:var(--gold); position:relative; z-index:1; transition:all .3s; }
.process-step:hover .process-num { background:var(--gold); color:var(--ink); border-color:var(--gold); }
.process-step h4 { font-family:var(--fs); font-size:20px; margin-bottom:10px; color:var(--white); }
.process-step p { font-size:12.5px; color:var(--dim); line-height:1.6; max-width:200px; margin:0 auto; }

/* --- SPLIT SECTION --- */
.split { display:grid; grid-template-columns:1fr 1fr; min-height:700px; }
.split-side { position:relative; padding:80px 60px; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; }
.split-side:first-child { border-right:1px solid var(--border); }
.split-bg { position:absolute; inset:0; z-index:0; }
.split-bg img { width:100%; height:100%; object-fit:cover; opacity:.25; filter:grayscale(.4); transition:opacity .5s; }
.split-side:hover .split-bg img { opacity:.35; }
.split-bg::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(8,8,10,.4) 0%,rgba(8,8,10,.95) 100%); }
.split-content { position:relative; z-index:1; }
.split-label { font-size:10px; letter-spacing:.24em; text-transform:uppercase; color:var(--gold-l); margin-bottom:18px; }
.split-side h3 { font-size:clamp(28px,3.2vw,40px); margin-bottom:18px; line-height:1.15; }
.split-side p { color:var(--dim); margin-bottom:28px; max-width:440px; line-height:1.7; }
.split-list { list-style:none; margin-bottom:32px; }
.split-list li { font-size:13px; color:var(--dim); padding:8px 0; border-bottom:1px solid var(--border); display:flex; align-items:center; gap:12px; }
.split-list li::before { content:''; width:6px; height:1px; background:var(--gold); }

/* --- IMAGE SECTION --- */
.image-section { position:relative; height:600px; overflow:hidden; }
.image-section img { width:100%; height:100%; object-fit:cover; filter:grayscale(.3); }
.image-section::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(8,8,10,.3) 0%,rgba(8,8,10,.7) 100%); }
.image-overlay { position:absolute; inset:0; z-index:1; display:flex; align-items:flex-end; padding:80px; }

/* --- FORMS --- */
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:40px; }
.form-full { grid-column:1/-1; }
.form-group { display:flex; flex-direction:column; gap:8px; }
.form-group label { font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--dim); }
.form-group input, .form-group select, .form-group textarea { background:var(--raise); border:1px solid var(--border); color:var(--white); padding:14px 16px; font-family:var(--ff); font-size:14px; transition:border-color .25s; }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { outline:none; border-color:var(--gold); }
.form-group textarea { resize:vertical; min-height:120px; }
.onboarding-shell { max-width:980px; margin:0 auto; padding:80px 0 120px; }
.onboarding-shell .panel { background:rgba(19,19,22,.8); border:1px solid var(--border); padding:48px 40px; }
.onboarding-shell h1 { font-family:var(--fs); font-size:clamp(36px,5vw,62px); line-height:1.04; font-weight:400; letter-spacing:-.02em; margin-bottom:18px; }
.onboarding-shell .intro { color:var(--dim); font-size:18px; max-width:760px; margin-bottom:36px; line-height:1.7; }
.check-grid { display:grid; grid-template-columns:repeat(2, minmax(220px, 1fr)); gap:12px 16px; margin-top:12px; }
.check-option { display:flex; align-items:center; gap:10px; padding:12px 14px; background:var(--raise); border:1px solid var(--border); color:var(--white); font-size:13px; }
.check-option input { accent-color:var(--gold); width:16px; height:16px; }
.form-note { font-size:12px; color:var(--muted); letter-spacing:.12em; text-transform:uppercase; margin-top:18px; }
.confirmation-shell { max-width:760px; margin:0 auto; padding:120px 0; text-align:center; }
.confirmation-shell .panel { background:rgba(19,19,22,.8); border:1px solid var(--border-g); padding:56px 40px; }
.confirmation-shell h2 { font-family:var(--fs); font-size:clamp(34px,4vw,52px); margin-bottom:18px; }
.confirmation-shell p { color:var(--dim); max-width:620px; margin:0 auto; line-height:1.8; }
@media(max-width:600px) {
  .check-grid { grid-template-columns:1fr; }
  .onboarding-shell .panel, .confirmation-shell .panel { padding:32px 20px; }
}

/* --- QUOTE --- */
.quote-section { padding:140px 0; text-align:center; position:relative; overflow:hidden; }
.quote-section::before { content:''; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:600px; height:600px; background:radial-gradient(circle,rgba(201,169,110,.06) 0%,transparent 70%); }
.quote-mark { font-family:var(--fs); font-size:80px; color:var(--gold); line-height:1; margin-bottom:20px; }
.quote-text { font-family:var(--fs); font-style:italic; font-size:clamp(26px,3.5vw,42px); line-height:1.3; max-width:820px; margin:0 auto; color:var(--white); font-weight:400; }
.quote-attr { margin-top:32px; font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--dim); }

/* --- FOOTER --- */
footer { background:var(--ink); border-top:1px solid var(--border); padding:80px 0 40px; }
.foot-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:60px; margin-bottom:60px; }
.foot-logo { font-family:var(--fs); font-size:32px; font-weight:600; margin-bottom:16px; }
.foot-logo b { color:var(--gold); }
.foot-tag { font-size:13px; color:var(--dim); line-height:1.7; max-width:320px; }
.foot-col h5 { font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin-bottom:20px; }
.foot-col a { display:block; font-size:13px; color:var(--dim); padding:6px 0; transition:color .25s; }
.foot-col a:hover { color:var(--white); }
.foot-bottom { border-top:1px solid var(--border); padding-top:30px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:20px; font-size:12px; color:var(--muted); }

/* --- ANIMATIONS --- */
.reveal { opacity:0; transform:translateY(30px); transition:all .9s cubic-bezier(.16,1,.3,1); }
.reveal.visible { opacity:1; transform:none; }
.reveal-delay-1 { transition-delay:.1s; }
.reveal-delay-2 { transition-delay:.2s; }
.reveal-delay-3 { transition-delay:.3s; }

/* --- RESPONSIVE --- */
@media(max-width:980px) {
  .wrap, .wrap-narrow { padding:0 24px; }
  .nav { padding:18px 24px; }
  .nav.scrolled { padding:14px 24px; }
  .nav-links { display:none; }
  .nav-cta .btn { display:none; }
  .menu-toggle { display:block; }
  .problem-grid, .eco-grid, .card-grid { grid-template-columns:1fr; }
  .process { grid-template-columns:1fr; gap:32px; }
  .process::before { display:none; }
  .split { grid-template-columns:1fr; }
  .split-side:first-child { border-right:none; border-bottom:1px solid var(--border); }
  .split-side { padding:60px 30px; min-height:500px; }
  .form-grid { grid-template-columns:1fr; }
  .foot-grid { grid-template-columns:1fr 1fr; gap:40px; }
  .section { padding:80px 0; }
  .hero { min-height:80vh; padding:100px 0 60px; }
  .image-section { height:400px; }
  .image-overlay { padding:40px; }
}
@media(max-width:600px) {
  .foot-grid { grid-template-columns:1fr; }
  .signal-items { flex-direction:column; gap:16px; }
  .signal-item:not(:last-child)::after { right:50%; top:auto; bottom:-12px; transform:translateX(50%); width:24px; height:1px; }
}
