﻿:root {
  --ivory:       #F8F7F3;
  --white:       #FFFFFF;
  --pearl:       #F2F0EA;
  --smoke:       #E5E2D9;
  --silver:      #A8A49C;
  --ash:         #6E6A62;
  --slate:       #3C3A35;
  --charcoal:    #252320;
  --ink:         #0E0D0B;
  --gold:        #D4A853;
  --gold-lt:     #CFA968;
  --gold-pale:   #E8CC8E;
  --gold-thin:   rgba(212,168,83,0.15);
  --footer-bg:   #0E0D0B;
}

[data-theme="dark"] {
  --ivory:       #0B1120;
  --white:       #151E2E;
  --pearl:       #1E293B;
  --smoke:       #334155;
  --silver:      #94A3B8;
  --ash:         #CBD5E1;
  --slate:       #E2E8F0;
  --charcoal:    #F1F5F9;
  --ink:         #F8FAFC;
  --footer-bg:   #050812;
}

[data-theme="dark"] nav.scrolled {
  background: rgba(11,17,32,0.97);
}
[data-theme="dark"] .nav-logo img {
  filter: none !important;
  background: rgba(248,247,243,0.92) !important;
  padding: 5px 12px !important;
  border-radius: 4px !important;
}
[data-theme="dark"] .reg-modal {
  background: var(--ivory);
}
[data-theme="dark"] .reg-header {
  background: linear-gradient(155deg,#050A11 0%,#0A121F 52%,#0F1826 100%);
}
[data-theme="dark"] .testi-card {
  background: var(--white);
}
[data-theme="dark"] .testi-card:hover {
  background: var(--pearl);
}

/* ── Dark mode: Services section fix ── */
[data-theme="dark"] .services {
  background: #0B1120 !important;
}
[data-theme="dark"] .services-header {
  background: transparent !important;
}
[data-theme="dark"] .svc {
  background: #151E2E !important;
  border-color: rgba(212,168,83,0.2);
}
[data-theme="dark"] .svc.svc-featured {
  background: #1E293B !important;
}
[data-theme="dark"] .services-main-title {
  color: #F8FAFC !important;
}
[data-theme="dark"] .services-subtitle {
  color: #CBD5E1 !important;
}
[data-theme="dark"] .section-tag {
  color: var(--gold);
}
[data-theme="dark"] .svc-name {
  color: #F8FAFC !important;
}
[data-theme="dark"] .svc-desc {
  color: #CBD5E1 !important;
}


*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; overflow-x: hidden; }


body {
  font-family: 'Raleway', sans-serif;
  background: var(--ivory);
  color: var(--ink);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeSpeed;
}

/* ══ PERFORMANCE: GPU-promote animated layers ══ */
.banner-slide { will-change: transform; contain: layout style; }
.marquee-track { will-change: transform; }
.carousel-progress { will-change: width; }

/* ══ PERFORMANCE: content-visibility for off-screen sections ══ */
.philosophy, .register, .footer-v2 {
  content-visibility: auto;
  contain-intrinsic-size: auto 800px;
}

/* ══ REDUCED MOTION — performance boost on low-end devices ══ */
@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;
  }
  .marquee-track { animation: none !important; }
  .banner-slide { transition: none !important; }
}



/* ══ SCROLLBAR ══ */
::-webkit-scrollbar{ width:3px }
::-webkit-scrollbar-track{ background:var(--ivory) }
::-webkit-scrollbar-thumb{ background:var(--gold) }

/* ══════════════════════════════════════
   EID FONT STYLE SYSTEM
   Based on: wide-tracked elegant serif uppercase
   like the "EID-E-MILAD" / "CELEBRATING THE BIRTH OF THE"
   typography from the reference image
   → Cinzel for all-caps display
   → Cormorant Garamond for body serif
   → Generous letter-spacing, refined weight
══════════════════════════════════════ */

/* Display: like "EID-E-MILAD" — wide, elegant, serif caps */
.eid-display {
  font-family: 'Cinzel', serif;
  font-weight: 400;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  line-height: 1.05;
}

/* Subtitle style: like "CELEBRATING THE BIRTH OF THE MESSENGER" */
.eid-subtitle {
  font-family: 'Cinzel', serif;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  line-height: 1.5;
}

/* ══ INSTITUTIONAL DOCUMENT VAULT ══ */
.vault-verifying {
  position: relative;
  overflow: hidden;
}
.vault-verifying::after {
  content: "";
  position: absolute;
  top: 0; left: 0; width: 100%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(212,168,83,0.1), transparent);
  animation: vault-scan 1.5s infinite;
}
@keyframes vault-scan {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(100%); }
}
.vault-secure-tick {
  color: var(--gold);
  font-weight: 800;
  animation: vault-pop 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  display: inline-block;
  margin-right: 8px;
}
@keyframes vault-pop {
  0% { transform: scale(0); }
  100% { transform: scale(1.1); }
}
.vault-spinner {
  width: 14px; height: 14px;
  border: 2px solid rgba(212,168,83,0.2);
  border-top-color: var(--gold);
  border-radius: 50%;
  display: inline-block;
  animation: vault-spin 0.8s linear infinite;
  vertical-align: middle;
  margin-right: 8px;
}
@keyframes vault-spin {
  to { transform: rotate(360deg); }
}

/* Force Verified Status to Gold (Elite Overrides) */
.reg-upload-card.uploaded .reg-upload-status {
  color: var(--gold) !important;
  font-weight: 700;
  letter-spacing: 0.5px;
}
.vault-secure-tick {
  color: var(--gold) !important;
  filter: drop-shadow(0 0 5px rgba(212,168,83,0.4));
}

/* ══ MARKET TICKER — dark background ══ */
.market-ticker {
  position: fixed;
  top: 0; left: 0; right: 0;
  height: 48px;
  z-index: 600;
  background: #131722 !important;
  border-bottom: 1px solid var(--gold-thin);
  display: flex;
  align-items: center;
  overflow: hidden;
}
.market-ticker .tradingview-widget-container {
  width: 100%;
  height: 100%;
}
/* Stop tickers on hover */
.market-ticker:hover iframe { pointer-events: none; }
.stock-ticker-bar:hover .ticker-track { animation-play-state: paused !important; }
.marquee:hover .marquee-track { animation-play-state: paused !important; }

/* ══ NAV ══ */
nav {
  position:fixed; top:0; left:0; right:0; z-index:500;
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 40px;
  background:transparent;
  backdrop-filter:none;
  border-bottom:1px solid transparent;
  transition:all 0.4s ease;
}
nav::before {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom, rgba(8,12,18,0.74), rgba(8,12,18,0.32) 65%, transparent);
  pointer-events:none;
  opacity:1;
  transition:opacity 0.35s ease;
}
/* Once user scrolls — solid ivory nav returns */
nav.scrolled {
  padding:10px 40px;
  background:rgba(248,247,243,0.97);
  backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(212,168,83,0.12);
  box-shadow:0 2px 30px rgba(0,0,0,0.08);
}
nav.scrolled::before { opacity:0; }
.nav-logo,
.nav-links,
.nav-cta,
.theme-toggle,
.hamburger {
  position:relative;
  z-index:1;
}
.nav-logo img {
  height:47px; width:auto; display:block;
  /* Default state: transparent hero — white logo, no pill */
  background:transparent;
  padding:0;
  border-radius:3px;
  filter:brightness(0) invert(1);
  transition:background 0.4s, padding 0.4s, filter 0.4s;
}
/* On scroll: ivory nav — show logo in original colours, no white box */
nav.scrolled .nav-logo img {
  background:transparent;
  padding:0;
  filter:none;
}
.nav-links {
  display:flex; align-items:center; flex:1; justify-content:space-evenly;
  max-width: 1100px; margin: 0 40px;
}
.nav-links a {
  font-family:'Cinzel',serif;
  font-size:13px; font-weight:700;
  letter-spacing:0.18em; text-transform:uppercase;
  color:rgba(248,247,243,0.85); text-decoration:none;
  position:relative; padding-bottom:4px;
  transition:color 0.3s, text-shadow 0.3s;
  text-shadow:0 2px 18px rgba(0,0,0,0.32);
}
/* After scroll — links go back to ink */
nav.scrolled .nav-links a { color:var(--ink); }
.nav-links a::after {
  content:''; position:absolute; bottom:0; left:0;
  width:0; height:1px; background:var(--gold);
  transition:width 0.35s ease;
}
.nav-links a:hover { color:var(--ivory); text-shadow:0 2px 18px rgba(0,0,0,0.55); }
.nav-links a:hover::after { width:100%; }
.nav.scrolled .nav-links a:hover { color:var(--gold); text-shadow:none; }
.nav-cta {
  font-family:'Cinzel',serif;
  font-size:11px; font-weight:700;
  letter-spacing:0.18em; text-transform:uppercase;
  padding:11px 30px;
  border:1px solid rgba(212,168,83,0.7);
  color:var(--gold); text-decoration:none;
  transition:all 0.35s;
  margin-left: auto; /* Push CTA to the right */
}
.nav-cta:hover { background:var(--gold); color:var(--ink); }
nav.scrolled .nav-cta { border-color:var(--gold); }

/* ══ THEME TOGGLE ══ */
.theme-toggle {
  background: transparent;
  border: 1px solid rgba(212,168,83,0.4);
  color: var(--gold);
  border-radius: 50%;
  width: 36px; height: 36px;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  margin-left: 20px;
  transition: all 0.3s;
  z-index: 600;
}
.theme-toggle:hover {
  background: rgba(212,168,83,0.1);
  border-color: var(--gold);
}
.theme-toggle svg { width: 16px; height: 16px; }
[data-theme="dark"] .sun-icon { display: none; }
[data-theme="dark"] .moon-icon { display: block !important; }

/* ══ HERO ══ */
/* ══ BANNER CAROUSEL ══ */
.banner-carousel {
  position:relative;
  width:100%;
  height:100vh;
  overflow:hidden;
  isolation:isolate;
  background:var(--ivory);
}

/* Each slide — ALL absolutely positioned, filling full viewport */
.banner-slide {
  position:absolute;
  inset:0 -3px;
  width:auto;
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:88px 40px 60px;
  /* Mobile handled in @media block */
  transform:translate3d(102%,0,0);
  transition:transform 0.65s cubic-bezier(0.77,0,0.175,1);
  pointer-events:none;
  will-change:transform;
  overflow:hidden;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
.banner-slide.active {
  transform:translate3d(0,0,0);
  pointer-events:auto;
  z-index:2;
}
.banner-slide.exit-left {
  transform:translate3d(-102%,0,0);
  z-index:1;
}

/* Watermark rings — each slide has its own */
.banner-watermark {
  position:absolute; top:50%; left:50%;
  transform:translate(-50%,-50%);
  width:700px; height:700px; border-radius:50%;
  border:1px solid rgba(212,168,83,0.12);
  pointer-events:none; z-index:0;
}
.banner-watermark::before {
  content:''; position:absolute; inset:60px; border-radius:50%;
  border:1px solid rgba(212,168,83,0.08);
}
.banner-watermark::after {
  content:''; position:absolute; inset:140px; border-radius:50%;
  border:1px solid rgba(212,168,83,0.06);
}

/* Slide content wrapper */
.banner-content {
  position:relative; z-index:2;
  max-width:860px; margin:0 auto;
  display:flex; flex-direction:column;
  align-items:center;
}
.banner-content::before {
  content:'';
  position:absolute;
  inset:-10px -12px -12px;
  z-index:0;
  border-radius:20px;
  background:radial-gradient(circle at center, rgba(7,11,18,0.28), rgba(7,11,18,0.12) 56%, rgba(7,11,18,0.02) 82%, transparent 100%);
  border:none;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  opacity:0;
  pointer-events:none;
}
.banner-content > * {
  position:relative;
  z-index:1;
}
.banner-slide.s1 .banner-content::before,
.banner-slide.s2 .banner-content::before,
.banner-slide.s3 .banner-content::before,
.banner-slide.s5 .banner-content::before,
.banner-slide.s6 .banner-content::before {
  opacity:1;
}
.banner-slide.s2 .banner-content::before {
  background:radial-gradient(circle at center, rgba(6,10,16,0.32), rgba(6,10,16,0.14) 58%, rgba(6,10,16,0.03) 84%, transparent 100%);
}
.banner-slide.s2 .banner-watermark {
  display:none;
}
.banner-slide.s3 .banner-content::before {
  opacity:0;
}
.banner-slide.s5 .banner-content::before {
  background:radial-gradient(circle at center, rgba(5,10,18,0.34), rgba(5,10,18,0.14) 56%, rgba(5,10,18,0.03) 82%, transparent 100%);
}

/* Slide-specific accent colours */

/* ══ SLIDE BACKGROUNDS — PHOTO BANNERS ══ */

/* ── Shared overlay technique ──
   background-image: overlay gradient ON TOP of photo
   This keeps text readable while showing the image                    */

/* Slide 1 — AI Generated: Dark trading floor + gold/green candlesticks */
.banner-slide.s1 {
  background: linear-gradient(rgba(0,0,0,0.55), rgba(0,0,0,0.55)), url('images/asset_5.webp') center/cover no-repeat !important;
}
.banner-slide.s1 .banner-headline   { color:var(--ivory); }
.banner-slide.s1 .banner-headline em {
  color:#A0D2E7;
  text-shadow:
    0 2px 8px rgba(0,0,0,0.9),
    0 4px 20px rgba(0,0,0,0.7),
    0 1px 3px rgba(0,0,0,1);
}
.banner-slide.s1 .banner-sub {
  color:#F0F0F0;
  text-shadow:0 2px 16px rgba(0,0,0,0.65), 0 1px 4px rgba(0,0,0,0.8);
}
.banner-slide.s1 .banner-tag        { color:#A0D2E7; }
.banner-slide.s1 .banner-stats      { border-color:rgba(160,210,231,0.25); }
.banner-slide.s1 .banner-stat       { border-color:rgba(160,210,231,0.25); }
.banner-slide.s1 .banner-stat-num   { color:var(--ivory); text-shadow:0 2px 8px rgba(0,0,0,0.6); }
.banner-slide.s1 .banner-stat-label { color:rgba(248,247,243,0.45); }
.banner-slide.s1 .stat-prefix       { color:var(--ivory); }
.banner-slide.s1 .banner-cta        { background:#A0D2E7; color:var(--ink); }
.banner-slide.s1 .banner-cta::before{ background:#fff; }
.banner-slide.s1 .banner-cta:hover  { color:var(--ink); }

/* Slide 2 — AI Generated: Premium boardroom + London skyline dusk */
.banner-slide.s2 {
  background:
    linear-gradient(rgba(0,0,0,0.45), rgba(0,0,0,0.45)),
    url('images/asset_6.webp')
    center/cover no-repeat;
}
.banner-slide.s2 .banner-headline   { color:var(--ivory); }
.banner-slide.s2 .banner-headline em {
  color:var(--gold);
  text-shadow:
    0 2px 8px rgba(0,0,0,0.9),
    0 4px 20px rgba(0,0,0,0.7),
    0 1px 3px rgba(0,0,0,1);
}
.banner-slide.s2 .banner-sub {
  color:rgba(248,247,243,0.88);
  text-shadow:0 2px 16px rgba(0,0,0,0.7), 0 1px 4px rgba(0,0,0,0.9);
}
.banner-slide.s2 .banner-tag        { color:var(--gold); }
.banner-slide.s2 .banner-chip {
  border-color:rgba(212,168,83,0.7);
  color:rgba(248,247,243,0.92);
  background:rgba(0,0,0,0.35);
  text-shadow:0 1px 4px rgba(0,0,0,0.6);
}
.banner-slide.s2 .banner-cta        { background:var(--gold); color:var(--ink); }
.banner-slide.s2 .banner-cta::before{ background:#fff; }

.banner-slide.s3 {
  background: linear-gradient(rgba(0,0,0,0.55), rgba(0,0,0,0.55)), url('images/asset_7.webp') center/cover no-repeat !important;
  padding-top: 140px;  /* Extra padding — content-heavy slide needs more clearance from ticker+nav */
  justify-content: flex-start;  /* Start from top instead of center to prevent overlap */
}
.banner-slide.s3 .banner-headline   { color:var(--ivory); }
.banner-slide.s3 .banner-headline em {
  color:var(--gold);
  text-shadow:
    0 2px 8px rgba(0,0,0,0.9),
    0 4px 20px rgba(0,0,0,0.7),
    0 1px 3px rgba(0,0,0,1);
}
.banner-slide.s3 .banner-sub        { color:rgba(248,247,243,0.88); }
.banner-slide.s3 .banner-tag        { color:var(--gold); }
/* Portfolio compare text colours on dark */
.banner-slide.s3 .pf-left-title,
.banner-slide.s3 .pf-right-title    { color:var(--gold); }
.banner-slide.s3 .pf-eyebrow        { color:rgba(0, 242, 255, 0.6); }
.banner-slide.s3 .pf-tag            { color:var(--gold); }
.banner-slide.s3 .pf-compare        { color:var(--ivory); }

/* Slide 4 — AI Generated: Low-angle skyscrapers + gold light rays */
.banner-slide.s6 {
  background: linear-gradient(rgba(0,0,0,0.45), rgba(0,0,0,0.45)), url('images/asset_8.webp') center/cover no-repeat !important;
}
.banner-slide.s6 .banner-headline    { color:var(--ivory); }
.banner-slide.s6 .banner-sub         { color:rgba(248,247,243,0.88); }
.banner-slide.s6 .banner-tag         { color:#A0D2E7; } /* Ice blue */
/* Portfolio compare text colours on dark */
.banner-slide.s6 .pf-left-title,
.banner-slide.s6 .pf-right-title     { color:var(--ivory); }
.banner-slide.s6 .pf-eyebrow         { color:rgba(160, 210, 231, 0.7); }
.banner-slide.s6 .pf-tag             { color:#A0D2E7; }
.banner-slide.s6 .pf-compare         { color:var(--ivory); }

/* Slide 5 — AI Generated: Bioluminescent ocean + crescent moon + milky way */
.banner-slide.s5 {
  background:
    linear-gradient(rgba(0,0,0,0.40), rgba(0,0,0,0.40)),
    url('images/asset_9.webp')
    center/cover no-repeat;
}
.banner-slide.s5 .banner-headline   { color:var(--ivory) !important; }
.banner-slide.s5 .banner-headline em { color:var(--gold) !important; }
.banner-slide.s5 .banner-tag        { color:var(--gold); }
.banner-slide.s5 .banner-sub        { color:rgba(248,247,243,0.84); }
.banner-slide.s5 .ocean-icon-label  { color:rgba(248,247,243,0.9); }
.banner-slide.s5 .ocean-icon-sub    { color:var(--gold); }
.banner-slide.s5 .banner-cta {
  background:var(--gold) !important;
  color:var(--ink) !important;
  border:none;
}
.banner-slide.s5 .banner-cta::before { background:rgba(248,247,243,0.9); }

/* WA button — lighter green on all dark photo slides */
.banner-slide.s1 .hero-wa-btn,
.banner-slide.s2 .hero-wa-btn,
.banner-slide.s6 .hero-wa-btn,
.banner-slide.s5 .hero-wa-btn {
  color:#4ade80;
  border-color:rgba(74,222,128,0.35);
}

/* Slide 5 Ocean — smaller headline + tighter spacing to fit all content */
.banner-slide.s5 .banner-headline {
  color:var(--ivory) !important;
  font-size:clamp(22px,3.8vw,52px);
  margin-bottom:14px;
  text-shadow:0 2px 16px rgba(0,0,0,0.7);
}
.banner-slide.s5 .banner-content {
  padding-top: 180px; /* Increased to clear logo/navbar */
  width: 100%;
  max-width: 1200px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.banner-slide.s5 .banner-cta     { margin-bottom:24px; }
/* REMOVED: .banner-slide.s6 { background:#ffffff; } */

/* Tag */
.banner-tag {
  font-family:'Cinzel',serif;
  font-size:10px; font-weight:600;
  letter-spacing:0.4em; text-transform:uppercase;
  color:var(--gold); margin-bottom:24px;
  display:flex; align-items:center; gap:14px;
  text-shadow:0 2px 6px rgba(0,0,0,0.8), 0 1px 3px rgba(0,0,0,1);
  padding:8px 18px;
  border-radius:999px;
  background:rgba(7,11,18,0.28);
  border:1px solid rgba(212,168,83,0.18);
}
.banner-tag::before,.banner-tag::after {
  content:''; display:block; width:40px; height:1px; background:var(--gold); opacity:0.5;
}

/* Main headline */
.banner-headline {
  font-family:'Cinzel',serif;
  font-size:clamp(28px,4.5vw,64px);
  font-weight:700;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--ink);
  line-height:1.15;
  margin-bottom:22px;
  text-shadow:0 3px 14px rgba(0,0,0,0.72), 0 12px 42px rgba(0,0,0,0.34);
}
.banner-slide.s4 .banner-headline { color:var(--ink); }
.banner-slide.s5 .banner-headline { color:var(--ivory); }

.banner-headline em {
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:1.12em;
  color:var(--gold);
  letter-spacing:0.06em;
  text-transform:none;
}

/* Sub copy */
.banner-sub {
  font-family:'Raleway',sans-serif;
  font-size:clamp(14px,1.4vw,18px);
  font-weight:500;
  letter-spacing:0.08em;
  color:var(--ash);
  line-height:1.75;
  margin-bottom:34px;
  max-width:760px;
  text-shadow:0 2px 10px rgba(0,0,0,0.72), 0 1px 3px rgba(0,0,0,0.85);
}
.banner-slide.s4 .banner-sub { color:var(--ash); }
.banner-slide.s5 .banner-sub { color:rgba(248,247,243,0.84); }

/* CTA button */
.banner-cta {
  display:inline-flex; align-items:center; gap:10px;
  padding:14px 42px;
  background:var(--gold); color:var(--ink);
  font-family:'Cinzel',serif;
  font-size:11px; font-weight:700;
  letter-spacing:0.2em; text-transform:uppercase;
  text-decoration:none;
  position:relative; overflow:hidden;
  transition:all 0.35s;
  margin-bottom:64px;
}
.banner-cta::before {
  content:''; position:absolute; inset:0;
  background:#fff; transform:translateX(-101%);
  transition:transform 0.4s ease;
}
.banner-cta span { position:relative; z-index:1; }
.banner-cta:hover::before { transform:translateX(0); }
.banner-cta:hover { color:var(--ink); }
.banner-slide.s4 .banner-cta { background:var(--gold); color:var(--ink); }
.banner-slide.s4 .banner-cta::before { background:#fff; }
.banner-slide.s5 .banner-cta { background:var(--gold); color:var(--ink); }
.banner-slide.s5 .banner-cta::before { background:#fff; }


/* ══ IMAGE SLIDES — full-viewport photo banners ══ */
.banner-slide.img-slide {
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  padding: 0;
}

/* Thin gradient scrim at very bottom — just enough for button readability */
.banner-slide.img-slide::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 90px;
  background: linear-gradient(to top, rgba(0,0,0,0.52) 0%, rgba(0,0,0,0.22) 60%, transparent 100%);
  pointer-events: none;
  z-index: 1;
}
/* Light slides — white/ivory scrim at very bottom */
.banner-slide.img-slide.light-slide::after {
  background: linear-gradient(to top, rgba(248,247,243,0.78) 0%, rgba(248,247,243,0.3) 60%, transparent 100%);
}

/* ══ SLIDE CTA BUTTONS — REDESIGNED ══ */
/* Wrap anchored bottom-center */
.banner-slide.img-slide .slide-cta-wrap {
  position: absolute;
  bottom: 44px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 30;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  pointer-events: auto !important;
}

/* Base shared style */
.banner-slide.img-slide .slide-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 13px 38px;
  font-family: 'Cinzel', serif;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  text-decoration: none;
  border: none;
  cursor: pointer !important;
  pointer-events: auto !important;
  position: relative;
  z-index: 30;
  overflow: hidden;
  transition: color 0.35s, box-shadow 0.35s, background 0.35s;
}
.banner-slide.img-slide .slide-cta span { position: relative; z-index: 1; }
.banner-slide.img-slide .slide-cta svg { position: relative; z-index: 1; flex-shrink: 0; }
.banner-slide.img-slide .slide-cta::before {
  content: '';
  position: absolute; inset: 0;
  transform: translateX(-101%);
  transition: transform 0.38s ease;
  z-index: 0;
}
.banner-slide.img-slide .slide-cta:hover::before { transform: translateX(0); }

/* ── Slide 1 — "Begin Your Journey"
   Style: Solid rich gold, pill-shaped, strong shadow — premium feel */
.banner-slide.s1 .slide-cta {
  background: var(--gold);
  color: var(--ink);
  border-radius: 2px;
  box-shadow:
    0 6px 28px rgba(212,168,83,0.55),
    0 2px 8px rgba(0,0,0,0.35);
}
.banner-slide.s1 .slide-cta::before { background: var(--ink); }
.banner-slide.s1 .slide-cta:hover { color: var(--ivory); box-shadow: 0 8px 32px rgba(0,0,0,0.45); }
.banner-slide.s1 .slide-cta svg { stroke: var(--ink); }
.banner-slide.s1 .slide-cta:hover svg { stroke: var(--ivory); }

/* ── Slide 2 — "Submit Your Proposal"
   Style: White/ivory fill with gold border — clean, corporate trust */
.banner-slide.s2 .slide-cta {
  background: rgba(255,255,255,0.95);
  color: var(--ink);
  border: 1.5px solid var(--gold);
  border-radius: 2px;
  box-shadow:
    0 6px 24px rgba(0,0,0,0.30),
    0 2px 8px rgba(212,168,83,0.20);
}
.banner-slide.s2 .slide-cta::before { background: var(--gold); }
.banner-slide.s2 .slide-cta:hover { color: var(--ink); box-shadow: 0 8px 30px rgba(212,168,83,0.45); }
.banner-slide.s2 .slide-cta svg { stroke: var(--ink); }

/* ── Slide 3 — "Explore Portfolios" (DARK slide)
   Style: Glassy transparent with gold shimmer border — luxe dark feel */
.banner-slide.s3 .slide-cta {
  background: rgba(212,168,83,0.12);
  color: var(--gold);
  border: 1.5px solid rgba(212,168,83,0.65);
  border-radius: 2px;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow:
    0 4px 24px rgba(0,0,0,0.50),
    inset 0 1px 0 rgba(212,168,83,0.18);
}
.banner-slide.s3 .slide-cta::before { background: var(--gold); }
.banner-slide.s3 .slide-cta:hover { color: var(--ink); border-color: var(--gold); box-shadow: 0 6px 28px rgba(212,168,83,0.40); }
.banner-slide.s3 .slide-cta svg { stroke: var(--gold); }
.banner-slide.s3 .slide-cta:hover svg { stroke: var(--ink); }

/* ── Slide 4 — "Apply for Funding"
   Style: Deep charcoal with gold text — serious, finance authority */
.banner-slide.s4 .slide-cta {
  background: rgba(14,13,11,0.88);
  color: var(--gold);
  border: 1.5px solid rgba(212,168,83,0.45);
  border-radius: 2px;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow:
    0 6px 28px rgba(0,0,0,0.50),
    0 1px 4px rgba(0,0,0,0.40);
}
.banner-slide.s4 .slide-cta::before { background: var(--gold); }
.banner-slide.s4 .slide-cta:hover { color: var(--ink); border-color: var(--gold); box-shadow: 0 8px 32px rgba(212,168,83,0.35); }
.banner-slide.s4 .slide-cta svg { stroke: var(--gold); }
.banner-slide.s4 .slide-cta:hover svg { stroke: var(--ink); }

@media(max-width: 640px) {
  .banner-slide.img-slide .slide-cta { padding: 11px 26px; font-size: 9.5px; }
  .banner-slide.img-slide .slide-cta-wrap { bottom: 18px; }
}

/* Nav light-slide state — dark ink links, transparent background */
nav.light-nav {
  background: transparent !important;
  border-bottom-color: transparent !important;
}
nav.light-nav .nav-links a { color: var(--ink) !important; text-shadow: none !important; }
nav.light-nav .nav-logo img { filter: none !important; }

/* Nav dark-slide state — white text, transparent background */
nav.dark-nav {
  background: transparent !important;
  border-bottom-color: transparent !important;
}
nav.dark-nav .nav-links a { color: rgba(248,247,243,0.9) !important; text-shadow: 0 1px 4px rgba(0,0,0,0.6) !important; }
nav.dark-nav .nav-logo img { filter: brightness(0) invert(1) !important; }

/* Stats bar — only slide 1 */
.banner-stats {
  display:flex; gap:0;
  border-top:1px solid rgba(212,168,83,0.2);
  border-bottom:1px solid rgba(212,168,83,0.2);
  width:100%; max-width:720px;
  padding:10px 14px;
  border-radius:20px;
  background:rgba(7,11,18,0.26);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  box-shadow:0 16px 48px rgba(0,0,0,0.18);
}
.banner-stat {
  flex:1; padding:24px 0; text-align:center;
  border-right:1px solid rgba(212,168,83,0.2);
}
.banner-stat:last-child { border-right:none; }
.banner-stat-num {
  font-family:'Cormorant Garamond',serif;
  font-size:38px; font-weight:800; color:var(--ink); line-height:1; margin-bottom:6px;
  text-shadow:0 1px 2px rgba(255,255,255,0.8);
}
.banner-stat-num sup { font-size:16px; color:var(--gold); }
.stat-prefix { color:var(--ink); }
.count-up { display:inline; }
.stat-suffix { font-size:20px; color:var(--gold); font-weight:700; }
.banner-stat-label {
  font-family:'Raleway',sans-serif;
  font-size:11px; font-weight:700;
  letter-spacing:0.18em; text-transform:uppercase; color:rgba(248,247,243,0.74);
  text-shadow:0 1px 4px rgba(0,0,0,0.55);
}

/* Badge chips on some slides */
.banner-chips {
  display:flex; gap:10px; flex-wrap:wrap; justify-content:center;
  margin-bottom:40px;
}
.banner-chip {
  font-family:'Raleway',sans-serif;
  font-size:10px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase;
  padding:7px 18px; border:1px solid rgba(212,168,83,0.35);
  color:var(--gold);
}

/* ══ OCEAN ECOSYSTEM LAYOUT — Slide 5 ══ */
.ocean-ecosystem {
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 0;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto 28px;
  position: relative;
}

/* Individual investor cards */
.ocean-investor-card {
  flex: 1;
  max-width: 340px;
  background: rgba(255, 255, 255, 0.85);
  border: 1px solid rgba(212, 168, 83, 0.4);
  border-radius: 18px;
  padding: 32px 28px 28px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 8px 40px rgba(0,0,0,0.45), inset 0 1px 0 rgba(212,168,83,0.1);
  position: relative;
  z-index: 2;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.ocean-investor-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 56px rgba(0,0,0,0.55), inset 0 1px 0 rgba(212,168,83,0.18);
}

/* Circular animal portrait */
.ocean-animal-circle {
  width: 160px;
  height: 160px;
  border-radius: 50%;
  border: 3px solid rgba(212, 168, 83, 0.55);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  box-shadow: 0 0 0 6px rgba(212,168,83,0.1), 0 4px 24px rgba(0,0,0,0.15);
  flex-shrink: 0;
}
.ocean-animal-circle svg {
  width: 100%;
  height: 100%;
}

/* Card eyebrow */
.ocean-card-eyebrow {
  font-family: 'Cinzel', serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--gold);
  margin-top: 4px;
}

/* Card main title */
.ocean-card-title {
  font-family: 'Cinzel', serif;
  font-size: clamp(22px, 2.4vw, 30px);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink);
  margin: 0;
  line-height: 1.1;
}

/* Card description */
.ocean-card-desc {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(13px, 1.25vw, 16px);
  color: var(--ash);
  text-align: center;
  line-height: 1.6;
  margin: 0;
}

/* Tags row */
.ocean-card-tags {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 4px;
}
.ocean-card-tag {
  font-family: 'Cinzel', serif;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink);
  border: 1px solid rgba(8, 20, 38, 0.2);
  border-radius: 50px;
  padding: 5px 13px;
}
.ocean-investor-card.whale-card .ocean-card-tag {
  color: var(--ink);
  border-color: rgba(0,0,0,0.2);
}
.ocean-investor-card.penguin-card .ocean-card-tag {
  color: #555;
  border-color: rgba(0,0,0,0.15);
}

/* Centre connector column */
.ocean-center-connector {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 160px;
  flex-shrink: 0;
  position: relative;
  z-index: 1;
  gap: 0;
}

.ocean-connector-line {
  flex: 1;
  width: 1px;
  background: linear-gradient(to bottom, transparent, rgba(212,168,83,0.5) 30%, rgba(212,168,83,0.5) 70%, transparent);
  position: relative;
}
.ocean-connector-line::after {
  content: '';
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 8px;
  height: 8px;
  background: var(--gold);
  border-radius: 50%;
}
.ocean-connector-line.top::after { top: 28%; }
.ocean-connector-line.bottom::after { bottom: 28%; }

.ocean-connector-badge {
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(212, 168, 83, 0.45);
  border-radius: 50px;
  padding: 10px 18px;
  text-align: center;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  margin: 4px 0;
}
.ocean-connector-label {
  font-family: 'Cinzel', serif;
  font-size: 8px;
  font-weight: 600;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--gold);
  display: block;
  margin-bottom: 4px;
  opacity: 0.75;
}
.ocean-connector-value {
  font-family: 'Cinzel', serif;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink);
  display: block;
  line-height: 1.3;
}

/* Old classes kept as stubs to avoid JS errors */
.ocean-icons { display:none; }
.ocean-icon-svg { display:flex; align-items:center; justify-content:center; }
.ocean-icon-svg svg { width:100%; height:100%; }
.ocean-svg-whale { width:140px; height:80px; }
.ocean-svg-penguin { width:62px; height:86px; }
.ocean-icon-divider { display:none; }
.ocean-icon-label { display:none; }
.ocean-icon-sub { display:none; }
.ocean-icon-emoji { display:none; }

/* Responsive: stack on mobile */
@media (max-width: 768px) {
  .ocean-ecosystem {
    flex-direction: column;
    align-items: center;
    gap: 16px;
    padding: 0 16px;
  }
  .ocean-investor-card {
    max-width: 100%;
    width: 100%;
    padding: 24px 20px 20px;
  }
  .ocean-animal-circle {
    width: 120px;
    height: 120px;
  }
  .ocean-center-connector {
    flex-direction: row;
    width: 100%;
    height: 48px;
  }
  .ocean-connector-line {
    flex: 1;
    height: 1px;
    width: auto;
    background: linear-gradient(to right, transparent, rgba(212,168,83,0.5) 30%, rgba(212,168,83,0.5) 70%, transparent);
  }
  .ocean-connector-line.top::after { top: 50%; transform: translate(-50%,-50%); left: 28%; }
  .ocean-connector-line.bottom::after { top: 50%; transform: translate(-50%,-50%); right: auto; left: auto; bottom: auto; right: 28%; }
}

/* ══ BUTTONS ══ */
.btn-primary {
  display:inline-flex; align-items:center; gap:10px;
  padding:15px 44px;
  background:var(--ink); color:var(--ivory);
  font-family:'Cinzel',serif;
  font-size:11px; font-weight:700;
  letter-spacing:0.2em; text-transform:uppercase;
  text-decoration:none; border:none; cursor:pointer;
  position:relative; overflow:hidden;
  transition:color 0.35s;
}
.btn-primary::before {
  content:''; position:absolute; inset:0;
  background:var(--gold); transform:translateX(-101%);
  transition:transform 0.4s ease;
}
.btn-primary span { position:relative; z-index:1; }
.btn-primary:hover::before { transform:translateX(0); }
.btn-primary:hover { color:var(--ink); }
.btn-outline {
  display:inline-flex; align-items:center; gap:10px;
  padding:15px 44px;
  background:transparent; color:var(--ink);
  font-family:'Cinzel',serif;
  font-size:11px; font-weight:600;
  letter-spacing:0.2em; text-transform:uppercase;
  text-decoration:none;
  border:1px solid var(--smoke);
  transition:all 0.35s;
}
.btn-outline:hover { border-color:var(--gold); color:var(--gold); }


/* ══ HERO DUAL CTA ══ */
.hero-cta-group {
  display:flex;
  align-items:stretch;
  gap:14px;
  margin-bottom:64px;
  flex-wrap:wrap;
  justify-content:center;
}
/* Remove margin-bottom from primary CTA when inside group */
.hero-cta-group .banner-cta {
  margin-bottom:0;
  padding:14px 36px;
}
/* Secondary "Our Methodology" button — exact same height as banner-cta */
.hero-secondary-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:14px 36px;
  background:transparent;
  border:1px solid rgba(212,168,83,0.3); /* Brand Gold border */
  color:rgba(248,247,243,0.9);
  font-family:'Cinzel',serif;
  font-size:11px; font-weight:700;
  letter-spacing:0.18em; text-transform:uppercase;
  text-decoration:none;
  transition:all 0.3s ease;
  position:relative; overflow:hidden;
  white-space:nowrap;
}
.hero-secondary-btn::before {
  content:'';
  position:absolute; inset:0;
  background:rgba(248,247,243,0.08);
  transform:translateX(-101%);
  transition:transform 0.35s ease;
}
.hero-secondary-btn:hover::before { transform:translateX(0); }
.hero-secondary-btn:hover {
  color:var(--gold);
  border-color:var(--gold);
}
@media(max-width:640px){
  .hero-cta-group { gap:12px; }
  .hero-secondary-btn { padding:12px 20px; font-size:10px; }
  .hero-cta-group .banner-cta { padding:12px 20px; }
}

/* ══ CAROUSEL CONTROLS ══ */
.carousel-controls {
  position:absolute; bottom:36px; left:50%;
  transform:translateX(-50%);
  display:none;
  align-items:center; gap:20px;
  z-index:20;
}
.carousel-dot {
  width:7px; height:7px; border-radius:50%;
  background:rgba(212,168,83,0.25);
  cursor:pointer;
  transition:all 0.3s;
  border:none; padding:0;
}
.carousel-dot.active {
  background:var(--gold);
  width:28px; border-radius:4px;
}
.carousel-dot:hover { background:rgba(212,168,83,0.6); }

.carousel-arrow {
  position:absolute; top:50%; transform:translateY(-50%);
  width:44px; height:44px;
  background:rgba(0,0,0,0.0);
  border:1.5px solid rgba(212,168,83,0.55);
  border-radius:50%;
  z-index:25;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; z-index:20;
  transition:all 0.35s; font-size:16px;
  color:rgba(212,168,83,0.85);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}
.carousel-arrow:hover {
  background:var(--gold);
  color:var(--ink);
  border-color:var(--gold);
  transform:translateY(-50%) scale(1.08);
}
.carousel-arrow.prev { left:16px; }
.carousel-arrow.next { right:16px; }
/* On dark slide 5, make arrows gold */
.banner-slide.s5 ~ .carousel-arrow,
.s5-active .carousel-arrow { background:rgba(212,168,83,0.2); color:var(--gold); border-color:rgba(212,168,83,0.3); }

/* Progress bar */
.carousel-progress {
  position:absolute; bottom:0; left:0;
  height:2px; background:var(--gold);
  transition:width 0.1s linear;
  z-index:20;
  pointer-events:none;
}

/* Slide number */
.carousel-counter {
  position:absolute; bottom:40px; right:40px;
  font-family:'Cinzel',serif; font-size:11px; font-weight:600;
  letter-spacing:0.2em; color:var(--ash);
  z-index:20;
}

/* ══ HERO STATS (kept for backward compat) ══ */
.hero-stats {
  display:flex; gap:0; border-top:1px solid var(--smoke);
  border-bottom:1px solid var(--smoke);
  width:100%; max-width:720px; margin:0 auto;
}
.stat { flex:1; padding:28px 0; text-align:center; border-right:1px solid var(--smoke); }
.stat:last-child { border-right:none; }
.stat-num { font-family:'Cormorant Garamond',serif; font-size:42px; font-weight:800; color:var(--ink); line-height:1; margin-bottom:6px; }
.stat-num sup { font-size:18px; color:var(--gold); }
.stat-label { font-family:'Raleway',sans-serif; font-size:12px; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:var(--ink); }

/* Responsive */
@media(max-width:768px){
  .banner-slide { padding:80px 24px 60px; }
  .banner-content::before { inset:-6px -8px -8px; border-radius:16px; }
  .banner-headline { font-size:clamp(22px,6vw,38px); letter-spacing:0.06em; }
  .banner-sub { font-size:13px; margin-bottom:28px; }
  .banner-cta { padding:12px 28px; margin-bottom:40px; }
  .banner-stats { max-width:100%; }
  .banner-stat-num { font-size:28px; }
  .carousel-arrow { display:none; }
  .ocean-icons { gap:20px; }
  .ocean-icon-emoji { font-size:52px; }
  .banner-chips { gap:8px; }
  .banner-chip { font-size:9px; padding:6px 12px; }
  .carousel-counter { bottom:24px; right:16px; font-size:9px; }
  .carousel-controls { bottom:20px; }
}
@media(max-width:480px){
  .banner-headline { font-size:clamp(20px,7vw,32px); }
  .banner-tag { font-size:8px; letter-spacing:0.25em; }
  .banner-stat-num { font-size:24px; }
  .banner-stat-label { font-size:9px; letter-spacing:0.1em; }
}

/* ══ MARQUEE ══ */
.marquee {
  background:var(--ink); padding:13px 0; overflow:hidden;
}
.marquee-track {
  display:flex; white-space:nowrap;
  animation:marquee 30s linear infinite;
}
.marquee-track span {
  font-family:'Cinzel',serif;
  font-size:11px; font-weight:600;
  letter-spacing:0.2em; text-transform:uppercase;
  color:rgba(248,247,243,0.6); padding:0 32px;
}
.marquee-track span.dot {
  color:var(--gold); padding:0 8px; letter-spacing:0;
}
@keyframes marquee { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ══ SECTION SHARED ══ */
.section-tag {
  font-family:'Raleway',sans-serif;
  font-size:11px; font-weight:800;
  letter-spacing:0.3em; text-transform:uppercase;
  color:var(--gold); margin-bottom:20px;
  display:flex; align-items:center; gap:14px;
}
.section-tag::before { content:''; width:28px; height:1px; background:var(--gold); display:block; }
.section-tag.center { justify-content:center; }
.section-tag.center::before { display:none; }
.section-tag.center::after { content:''; width:28px; height:1px; background:var(--gold); display:block; }

/* ══ PHILOSOPHY ══ */
.philosophy {
  padding:140px 80px;
  background:var(--white);
  display:grid; grid-template-columns:1fr 1fr; gap:110px;
  align-items:start;
}
.phil-title {
  font-family:'Cinzel',serif;
  font-size:clamp(28px,3.5vw,52px);
  font-weight:800;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--ink); line-height:1.15;
  margin-bottom:28px;
}
.phil-title em {
  font-family:'Cormorant Garamond',serif;
  font-style:italic; font-weight:300; font-size:1.2em;
  text-transform:none; letter-spacing:-0.01em;
  color:var(--gold);
}
.phil-body {
  font-size: 15px; font-weight: 500; line-height: 1.9;
  color: var(--ink); letter-spacing: 0.2px;
  margin-bottom: 36px;
}
.phil-signature {
  font-family:'Cormorant Garamond',serif;
  font-style:italic; font-size:24px; font-weight:700;
  color:var(--gold-lt); letter-spacing:0.02em;
}

.pillars { display:flex; flex-direction:column; gap:0; }
.pillar {
  padding:30px 0; border-bottom:1px solid var(--smoke);
  display:grid; grid-template-columns:56px 1fr; gap:24px;
  transition:padding-left 0.3s ease;
}
.pillar:first-child { border-top:1px solid var(--smoke); padding-top:30px; }
.pillar:hover { padding-left:10px; }
.pil-num {
  font-family:'Cinzel',serif;
  font-size:11px; font-weight:400; letter-spacing:0.1em;
  color:var(--smoke); padding-top:4px;
  transition:color 0.3s, text-shadow 0.3s;
  text-shadow:0 2px 18px rgba(0,0,0,0.32);
}
.pillar:hover .pil-num { color:var(--gold-pale); }
.pil-title {
  font-family:'Cinzel',serif;
  font-size:14px; font-weight:700;
  letter-spacing:0.1em; text-transform:uppercase;
  color:var(--ink); margin-bottom:10px;
}
.pil-desc {
  font-size:14px; font-weight:400; line-height:1.8; color:var(--ink);
}

/* ══ SERVICES ══ */
.services {
  padding:120px 80px;
  background:var(--ivory);
}
.services-header { text-align:center; margin-bottom:80px; }
.services-main-title {
  font-family:'Cinzel',serif;
  font-size:clamp(24px,3vw,44px);
  font-weight:800; letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--ink); margin-bottom:12px;
}
.services-subtitle {
  font-family:'Raleway',sans-serif;
  font-size:13px; font-weight:600;
  color:var(--ash); letter-spacing:0.25em; text-transform:uppercase;
}

/* ── Grid layout ── */
.services-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  grid-template-rows:auto auto;
  gap:24px;
  max-width:1280px; margin:0 auto;
}

/* ── Base card ── */
.svc {
  position:relative;
  padding:40px 36px 36px;
  background:var(--white);
  border:1px solid rgba(212,168,83,0.15);
  border-top:3px solid rgba(212,168,83,0.2);
  overflow:hidden;
  transition:border-color 0.35s, box-shadow 0.35s, transform 0.35s;
  cursor:pointer;
}
/* Gold sweep on hover */
.svc::before {
  content:'';
  position:absolute; top:0; left:-100%; right:100%; bottom:0;
  background:linear-gradient(135deg,
    rgba(212,168,83,0.04) 0%,
    rgba(212,168,83,0.0) 100%);
  transition:left 0.5s ease, right 0.5s ease;
}
.svc:hover::before { left:0; right:0; }
.svc:hover {
  border-color:rgba(212,168,83,0.5);
  border-top-color:var(--gold);
  box-shadow:0 12px 40px rgba(212,168,83,0.10);
  transform:translateY(-3px);
}

/* ── Large "feature" card — spans 2 cols ── */
.svc.svc-featured {
  grid-column:span 2;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 40px;
  align-items:start;
  border-top-color:var(--gold);
  background:var(--ivory);
}
.svc.svc-featured .svc-featured-left  { padding-right:10px; }
.svc.svc-featured .svc-featured-right { padding-top:4px; }

/* ── Roman numeral ── */
.svc-roman {
  font-family:'Cormorant Garamond',serif;
  font-size:11px; font-weight:600;
  letter-spacing:0.3em; text-transform:uppercase;
  color:rgba(212,168,83,0.4);
  margin-bottom:16px; display:block;
  transition:color 0.3s, text-shadow 0.3s;
  text-shadow:0 2px 18px rgba(0,0,0,0.32);
}
.svc:hover .svc-roman { color:var(--gold); }

/* ── Service name ── */
.svc-name {
  font-family:'Cinzel',serif;
  font-size:14px; font-weight:700;
  letter-spacing:0.08em; text-transform:uppercase;
  color:var(--ink);
  margin-bottom:14px;
  line-height:1.4;
}

/* ── Gold rule under name ── */
.svc-rule {
  width:32px; height:1px;
  background:rgba(212,168,83,0.3);
  margin-bottom:16px;
  transition:width 0.35s, background 0.35s;
}
.svc:hover .svc-rule { width:56px; background:var(--gold); }

/* ── Description ── */
.svc-desc {
  font-family:'Raleway',sans-serif;
  font-size:13px; font-weight:400;
  line-height:1.85; color:var(--ash);
  margin-bottom:24px;
}

/* ── Link ── */
.svc-link {
  font-family:'Cinzel',serif;
  font-size:9px; font-weight:700;
  letter-spacing:0.25em; text-transform:uppercase;
  color:var(--gold); text-decoration:none;
  display:inline-flex; align-items:center; gap:6px;
  transition:gap 0.3s;
}
.svc:hover .svc-link { gap:12px; }

/* ── Responsive ── */
@media(max-width:1100px){
  .services-grid { grid-template-columns:repeat(2,1fr); }
  .svc.svc-featured { grid-column:span 2; }
}
@media(max-width:640px){
  .services { padding:80px 24px; }
  .services-grid { grid-template-columns:1fr; gap:16px; }
  .svc.svc-featured {
    grid-column:span 1;
    grid-template-columns:1fr;
  }
  .svc.svc-featured .svc-featured-right { padding-top:0; }
}

/* ══ REGISTRATION & CONSULTATION ══ */
.register {
  padding: 140px 80px;
  background: var(--ivory);
  position: relative;
  overflow: hidden;
  border-top: 1px solid rgba(212,168,83,0.1);
}
/* Faint circle ornaments - updated for light bg */
.register::before {
  content: ''; position: absolute; right: -80px; top: -80px;
  width: 480px; height: 480px; border-radius: 50%;
  border: 1px solid rgba(212,168,83,0.05); pointer-events: none;
}
.register::after {
  content: ''; position: absolute; left: -120px; bottom: -120px;
  width: 560px; height: 560px; border-radius: 50%;
  border: 1px solid rgba(212,168,83,0.03); pointer-events: none;
}
.reg-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 90px;
  max-width: 1180px; margin: 0 auto; position: relative; z-index: 2;
}
.reg-intro .section-tag { color: var(--gold); }
.reg-intro .section-tag::before { background: var(--gold); }
.reg-title {
  font-family: 'Cinzel', serif;
  font-size: clamp(28px, 3vw, 46px);
  font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--ink); line-height: 1.15; margin-bottom: 24px;
}
.reg-body {
  font-size: 15px; font-weight: 500; line-height: 1.9;
  color: var(--charcoal); letter-spacing: 0.2px; margin-bottom: 40px;
}
.trust-list { display: flex; flex-direction: column; gap: 14px; }
.trust-item {
  display: flex; align-items: center; gap: 14px;
  font-family: 'Raleway', sans-serif;
  font-size: 11px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--charcoal);
}
.trust-tick {
  width:22px; height:22px; border:1px solid rgba(212,168,83,0.25);
  border-radius:50%; display:grid; place-items:center;
  color:var(--gold); font-size:9px; flex-shrink:0;
}

/* Form */
.form-tabs {
  display: flex; border-bottom: 1px solid rgba(212,168,83,0.15);
}
.ftab {
  flex: 1; padding: 15px; text-align: center; border: none;
  background: transparent; cursor: pointer;
  font-family: 'Raleway', sans-serif;
  font-size: 11px; font-weight: 700;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: #A0978A;
  border-bottom: 2px solid transparent; margin-bottom: -1px;
  transition: all 0.3s;
}
.ftab.active { color: var(--gold); border-bottom-color: var(--gold); }
.fpanel {
  background: var(--white);
  border: 1px solid var(--smoke);
  border-top: none; padding: 40px;
  display: none;
  box-shadow: 0 10px 30px rgba(0,0,0,0.02);
}
.fpanel.active { display: block; }
.fgroup { margin-bottom: 18px; }
.flabel {
  display: block; font-family: 'Raleway', sans-serif;
  font-size: 9px; font-weight: 700;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--ash); margin-bottom: 8px;
}
.finput, .fsel {
  width: 100%; padding: 13px 15px;
  background: var(--pearl);
  border: 1px solid var(--smoke);
  color: var(--charcoal);
  font-family: 'Raleway', sans-serif; font-size: 14px; font-weight: 500;
  outline: none; transition: all 0.3s ease;
}
.finput::placeholder { color: var(--silver); }
.finput:focus, .fsel:focus { border-color: var(--gold); box-shadow: 0 0 10px rgba(212,168,83,0.4); }
.fsel { color: var(--charcoal); }
.fsel option { background: var(--pearl); color: var(--charcoal); }
.fphone-container { display: flex; gap: 0; width: 100%; border: 1px solid var(--smoke); transition: all 0.3s ease; }
.fphone-container:focus-within { border-color: var(--gold); box-shadow: 0 0 10px rgba(212,168,83,0.4); }
.fphone-container .fsel, .fphone-container .finput { border: none !important; width: auto; }
.fphone-container .fsel { width: 90px !important; border-right: 1px solid var(--smoke) !important; padding-right: 5px; }
.fphone-container .finput { flex: 1; }
.frow { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.fsubmit {
  width: 100%; padding: 15px; border: none; cursor: pointer;
  background: var(--gold); color: var(--ink);
  font-family: 'Cinzel', serif;
  font-size: 11px; font-weight: 700;
  letter-spacing: 0.22em; text-transform: uppercase;
  margin-top: 6px; transition: background 0.3s;
  position: relative; overflow: hidden;
}
.fsubmit:hover { background:var(--gold-lt); }

/* Premium Loading States */
.loading { pointer-events: none !important; position: relative !important; }
.loading > * { opacity: 0 !important; filter: blur(2px); transition: opacity 0.2s; }
.loading::after {
  content: "";
  position: absolute; 
  width: 24px; height: 24px;
  top: 50%; left: 50%;
  margin-top: -12px; margin-left: -12px;
  border: 3px solid rgba(255, 255, 255, 0.3);
  border-top-color: #ffffff;
  border-radius: 50%;
  animation: wfSpin 0.7s linear infinite;
  z-index: 1000;
}
@keyframes wfSpin { to { transform: rotate(360deg); } }
.fnote {
  font-family:'Cinzel',serif;
  font-size:8px; letter-spacing:0.15em; text-transform:uppercase;
  text-align:center; color:rgba(248,247,243,0.2);
  margin-top:14px; line-height:1.8;
}

/* ══ Ticker track animation ══ */
@keyframes tickerScroll {
  0%   { transform:translateX(0); }
  100% { transform:translateX(-50%); }
}
.ticker-item {
  display:inline-flex; align-items:center; gap:8px;
  padding:0 22px;
  border-right:1px solid rgba(5,10,18,0.72);
  height:46px;
  transition:background 0.2s;
}
.ticker-item:hover { background:rgba(212,168,83,0.08); }
.ticker-symbol {
  font-family:'Cinzel',serif;
  font-size:10px; font-weight:700;
  letter-spacing:0.1em; color:rgba(248,247,243,0.9);
}
.ticker-price {
  font-family:'Raleway',sans-serif;
  font-size:11px; font-weight:700; color:var(--white);
}
.ticker-change {
  font-family:'Raleway',sans-serif;
  font-size:10px; font-weight:600;
  padding:2px 7px; border-radius:2px;
}
.ticker-change.up   { color:#22c55e; background:rgba(34,197,94,0.12); }
.ticker-change.down { color:#ef4444; background:rgba(239,68,68,0.12); }
.ticker-change.flat { color:var(--ash); }
.ticker-loading {
  font-family:'Raleway',sans-serif;
  font-size:10px; color:rgba(255,255,255,0.3);
  padding:0 24px; letter-spacing:0.1em;
}
.ticker-time {
  flex-shrink:0; padding:0 14px;
  font-family:'Raleway',sans-serif;
  font-size:9px; font-weight:600;
  letter-spacing:0.1em; color:rgba(248,247,243,0.2);
  border-left:1px solid rgba(5,10,18,0.72); white-space:nowrap;
  height:100%;
  display:flex;
  align-items:center;
}

/* ══ PORTFOLIO COMPARE (Slide 3) ══ */
.pf-compare {
  display:grid;
  grid-template-columns:1fr 48px 1fr;
  gap:0;
  width:100%;
  max-width:920px;
  margin-bottom:36px;
  align-items:start;
}

/* Each column */
.pf-col {
  text-align:left;
  padding:0 32px;
}
.pf-col-right {
  text-align:left;
}

/* Label above title */
.pf-col-label {
  font-family:'Cinzel',serif;
  font-size:22px; font-weight:800;
  letter-spacing:0.25em; text-transform:uppercase;
  color:var(--gold);
  margin-bottom:8px;
}
.pf-label-gold { color:var(--gold); font-size:16px; }

/* Big serif title */
.pf-col-title {
  font-family:'Raleway',sans-serif;
  font-size:14px;
  font-weight:600; letter-spacing:0.3em;
  text-transform:uppercase; color:var(--ash);
  line-height:1;
  margin-bottom:16px;
}

/* Gold rule */
.pf-col-line {
  width:48px; height:2px;
  background:rgba(212,168,83,0.3);
  margin-bottom:18px;
}
.pf-line-gold {
  background:var(--gold);
  width:64px;
}

/* Description */
.pf-col-desc {
  font-family:'Raleway',sans-serif;
  font-size:13px; font-weight:500;
  color:var(--ash); line-height:1.8;
  margin-bottom:20px;
  max-width:340px;
}

/* Tags — no borders, just spaced text */
.pf-col-tags {
  display:flex; flex-direction:column;
  gap:8px;
}
.pf-tag {
  font-family:'Raleway',sans-serif;
  font-size:10px; font-weight:700;
  letter-spacing:0.2em; text-transform:uppercase;
  color:var(--gold);
  display:flex; align-items:center; gap:8px;
}
.pf-tag::before {
  content:'';
  display:inline-block;
  width:16px; height:1px;
  background:var(--gold);
  opacity:0.5;
  flex-shrink:0;
}

/* Centre divider */
.pf-centre-divider {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding-top:12px;
  height:100%;
  min-height:240px;
}
.pf-divider-line {
  flex:1;
  width:1px;
  background:linear-gradient(to bottom,
    transparent,
    rgba(212,168,83,0.4) 30%,
    rgba(212,168,83,0.4) 70%,
    transparent);
  min-height:60px;
}
.pf-divider-diamond {
  font-size:8px;
  color:var(--gold);
  margin:8px 0;
  opacity:0.7;
}

/* Mobile */
@media(max-width:768px){
  .pf-compare {
    grid-template-columns:1fr;
    gap:0;
  }
  .pf-col { padding:0 0 28px; }
  .pf-centre-divider {
    flex-direction:row;
    min-height:auto;
    padding:0 0 28px;
    gap:0;
  }
  .pf-divider-line {
    flex:1; width:100%; height:1px; min-height:auto;
    background:linear-gradient(to right,
      transparent, rgba(212,168,83,0.4), transparent);
  }
  .pf-divider-diamond { margin:0 12px; }
}

/* ══ TESTIMONIALS ══ */
.testimonials {
  padding:120px 80px;
  background:var(--ivory);
  border-top:1px solid var(--smoke);
  overflow:hidden;
}
.testimonials-header {
  text-align:center;
  margin-bottom:72px;
}
.testimonials-title {
  font-family:'Cinzel',serif;
  font-size:clamp(22px,2.8vw,40px);
  font-weight:800; letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--ink); margin-bottom:12px;
}
.testimonials-sub {
  font-family:'Raleway',sans-serif;
  font-size:11px; font-weight:700;
  letter-spacing:0.3em; text-transform:uppercase;
  color:var(--silver);
}

/* ── Carousel track ── */
.testi-track-wrap {
  position:relative;
  max-width:1280px;
  margin:0 auto;
  overflow:hidden;
}
.testi-track {
  display:flex;
  gap:28px;
  transition:transform 0.55s cubic-bezier(0.77,0,0.175,1);
  will-change:transform;
}

/* ── Individual card ── */
.testi-card {
  flex:0 0 calc(33.333% - 19px);
  background:var(--white);
  border:1px solid rgba(212,168,83,0.15);
  border-top:3px solid rgba(212,168,83,0.25);
  padding:40px 36px;
  display:flex;
  flex-direction:column;
  gap:20px;
  transition:border-color 0.3s, box-shadow 0.3s;
  position:relative;
}
.testi-card:hover {
  border-color:rgba(212,168,83,0.45);
  border-top-color:var(--gold);
  box-shadow:0 12px 40px rgba(212,168,83,0.08);
}

/* Opening quote mark */
.testi-quote-mark {
  font-family:'Cormorant Garamond',serif;
  font-size:72px; line-height:0.6;
  color:rgba(212,168,83,0.15);
  font-weight:700;
  position:absolute;
  top:28px; left:30px;
  pointer-events:none;
  user-select:none;
}

/* Stars */
.testi-stars {
  display:flex; gap:3px;
  margin-bottom:4px;
}
.testi-star {
  color:var(--gold);
  font-size:13px;
}

/* Quote text */
.testi-text {
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:17px; font-weight:500;
  color:var(--ink);
  line-height:1.75;
  flex:1;
  padding-top:8px;
}

/* Divider */
.testi-rule {
  width:36px; height:1px;
  background:rgba(212,168,83,0.3);
}

/* Attribution */
.testi-author {
  font-family:'Cinzel',serif;
  font-size:11px; font-weight:700;
  letter-spacing:0.15em; text-transform:uppercase;
  color:var(--ink);
  margin-bottom:4px;
}
.testi-meta {
  font-family:'Raleway',sans-serif;
  font-size:10px; font-weight:600;
  letter-spacing:0.2em; text-transform:uppercase;
  color:var(--gold);
}

/* ── Navigation dots ── */
.testi-nav {
  display:flex; align-items:center;
  justify-content:center;
  gap:10px;
  margin-top:48px;
}
.testi-dot {
  width:7px; height:7px;
  border-radius:50%;
  background:rgba(212,168,83,0.2);
  border:none; padding:0; cursor:pointer;
  transition:all 0.3s;
}
.testi-dot.active {
  background:var(--gold);
  width:24px; border-radius:4px;
}

/* ── Responsive ── */
@media(max-width:1024px){
  .testimonials { padding:80px 32px; }
  .testi-card { flex:0 0 calc(50% - 14px); }
}
@media(max-width:640px){
  .testimonials { padding:72px 20px; }
  .testi-card { flex:0 0 100%; }
}

/* ══ PORTFOLIO SECTION ══ */
.portfolio-section {
  padding:110px 80px;
  background:var(--pearl);
  border-top:1px solid var(--smoke);
  border-bottom:1px solid var(--smoke);
}
.portfolio-inner { max-width:1280px; margin:0 auto; }
.portfolio-header { text-align:center; margin-bottom:60px; }
.portfolio-title {
  font-family:'Cinzel',serif; font-size:clamp(22px,2.8vw,40px);
  font-weight:800; letter-spacing:0.1em; text-transform:uppercase;
  color:var(--ink); margin-bottom:10px;
}
.portfolio-subtitle {
  font-family:'Raleway',sans-serif; font-size:14px; font-weight:500;
  letter-spacing:0.2em; text-transform:uppercase;
  color:var(--ash);
}

.portfolio-grid {
  display:grid;
  grid-template-columns:1fr;
  gap:24px;
}
@media(min-width:900px) {
  .portfolio-grid { grid-template-columns:repeat(2, 1fr); gap:28px; }
}
@media(min-width:1200px) {
  .portfolio-grid { grid-template-columns:repeat(3, 1fr); gap:32px; }
}

/* Portfolio Card */
.pf-card {
  background:var(--white);
  border:1px solid var(--smoke);
  padding:40px;
  display:flex;
  flex-direction:column;
  transition:all 0.3s ease;
  position:relative;
  min-height:480px;
}
.pf-card:hover {
  transform:translateY(-10px);
  box-shadow:0 20px 40px rgba(212,168,83,0.1);
  border-color:var(--gold-pale);
}
.pf-card-head { margin-bottom:32px; }
.pf-card-badge {
  font-family:'Raleway',sans-serif;
  font-size:9px; font-weight:800;
  letter-spacing:0.2em; text-transform:uppercase;
  color:var(--gold);
  background:rgba(212,168,83,0.08);
  padding:4px 12px;
  border-radius:100px;
  display:inline-block;
  margin-bottom:16px;
}
.pf-card-title {
  font-family:'Cinzel',serif;
  font-size:24px; font-weight:700;
  letter-spacing:0.05em;
  color:var(--ink);
  margin-bottom:8px;
}
.pf-card-tagline {
  font-family:'Raleway',sans-serif;
  font-size:12px; font-weight:600;
  color:var(--ash);
  letter-spacing:0.1em;
  text-transform:uppercase;
}

.pf-card-body { flex:1; }
.pf-stat {
  margin-bottom:32px;
  padding:20px;
  background:var(--pearl);
  border-radius:4px;
  text-align:center;
}
.pf-stat-val {
  display:block;
  font-family:'Cinzel',serif;
  font-size:28px; font-weight:800;
  color:var(--gold);
}
.pf-stat-lbl {
  font-family:'Raleway',sans-serif;
  font-size:10px; font-weight:700;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:var(--ash);
}

.pf-features {
  list-style:none; padding:0; margin:0 0 32px;
}
.pf-features li {
  font-family:'Raleway',sans-serif;
  font-size:13px; font-weight:500;
  color:var(--ash);
  margin-bottom:12px;
  display:flex;
  align-items:center;
  gap:10px;
}
.pf-features li::before {
  content:'✓';
  color:var(--gold);
  font-weight:800;
}

.pf-card-btn {
  display:block;
  text-align:center;
  padding:16px;
  background:var(--ink);
  color:var(--white);
  text-decoration:none;
  font-family:'Cinzel',serif;
  font-size:11px; font-weight:700;
  letter-spacing:0.2em;
  text-transform:uppercase;
  transition:all 0.3s;
}
.pf-card-btn:hover {
  background:var(--gold);
  color:var(--ink);
}

@media(max-width:768px) {
  .portfolio-section { padding:60px 20px; }
  .pf-card { padding:24px; }
  .pf-card-title { font-size:20px; }
  .pf-stat-val { font-size:22px; }
}

/* ══ INVESTOR SECTION ══ */
.investor-section {
  padding:120px 80px;
  background:var(--white);
  text-align:center;
  position:relative;
  border-top:1px solid var(--smoke);
  border-bottom:1px solid var(--smoke);
}
.investor-inner {
  max-width:860px; margin:0 auto;
}
.investor-title {
  font-family:'Cinzel',serif;
  font-size:clamp(26px,3.5vw,50px);
  font-weight:800;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--ink);
  line-height:1.15;
  margin-bottom:12px;
}
.investor-sub {
  font-family:'Raleway',sans-serif;
  font-size:14px; font-weight:700;
  letter-spacing:0.3em; text-transform:uppercase;
  color:var(--gold); margin-bottom:32px;
}
.investor-divider {
  display:flex; align-items:center; justify-content:center; gap:20px;
  margin-bottom:36px;
}
.investor-line { width:80px; height:1px; background:var(--smoke); }
.investor-diamond { width:7px; height:7px; background:var(--gold); transform:rotate(45deg); }
.investor-body {
  font-size:16px; font-weight:400; line-height:1.9;
  color:var(--ink); max-width:720px; margin:0 auto 48px;
}
.investor-tiers {
  display:flex; align-items:center; gap:40px;
  padding:40px; background:var(--pearl);
  border:1px solid var(--smoke); margin-bottom:48px;
}
.investor-tier { flex:1; text-align:left; }
.tier-label {
  font-family:'Cinzel',serif;
  font-size:14px; font-weight:700;
  letter-spacing:0.12em; text-transform:uppercase;
  color:var(--ink); margin-bottom:12px;
}
.tier-desc {
  font-size:14px; font-weight:400; line-height:1.8; color:var(--ink);
}
.investor-divider-v {
  width:1px; height:80px; background:var(--smoke); flex-shrink:0;
}


/* ══ OCEAN ECOSYSTEM SECTION ══ */
.ocean-section {
  padding: 120px 80px;
  background: linear-gradient(135deg, #0a0a0a 0%, #0d1b2a 100%);
  color: var(--white);
  position: relative;
  overflow: hidden;
}
.ocean-section::before {
  content: '';
  position: absolute; inset: 0;
  background: url('https://www.transparenttextures.com/patterns/carbon-fibre.png');
  opacity: 0.1;
}
.ocean-header {
  text-align: center;
  max-width: 800px;
  margin: 0 auto 64px;
}
.ocean-header h2 {
  font-family: 'Cinzel', serif;
  font-size: clamp(32px, 4vw, 56px);
  color: var(--gold);
  margin-bottom: 20px;
  letter-spacing: 0.05em;
}
.ocean-header p {
  font-size: 18px;
  color: rgba(248, 247, 243, 0.7);
  line-height: 1.8;
}

/* ══ OCEAN FORM ══ */
.ocean-form-card {
  max-width: 1000px;
  margin: 0 auto;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(212, 168, 83, 0.15);
  backdrop-filter: blur(20px);
  padding: 64px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  position: relative;
  box-shadow: 0 40px 100px rgba(0,0,0,0.5);
}
.ocean-form-card::after {
  content: 'Whale • Penguin';
  position: absolute;
  top: 20px; right: 30px;
  font-family: 'Cinzel', serif;
  font-size: 10px;
  letter-spacing: 0.4em;
  color: rgba(212, 168, 83, 0.2);
  text-transform: uppercase;
}

.ocean-form-left h3 {
  font-family: 'Cinzel', serif;
  font-size: 24px;
  color: var(--white);
  margin-bottom: 32px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.ocean-form-left h3::after {
  content: ''; flex: 1; height: 1px; background: rgba(212, 168, 83, 0.2);
}

.ocean-input-group { margin-bottom: 24px; }
.ocean-label {
  display: block;
  font-family: 'Raleway', sans-serif;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--gold);
  margin-bottom: 10px;
}
.ocean-input {
  width: 100%;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  padding: 16px 20px;
  color: var(--white);
  font-family: 'Raleway', sans-serif;
  font-size: 14px;
  transition: all 0.3s;
}
.ocean-input:focus {
  outline: none;
  border-color: var(--gold);
  background: rgba(255, 255, 255, 0.08);
}

/* ══ INVESTMENT SELECTION ══ */
.ocean-select-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 32px;
}
.ocean-select-btn {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  padding: 14px;
  color: rgba(255, 255, 255, 0.5);
  font-family: 'Cinzel', serif;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  cursor: pointer;
  transition: all 0.3s;
  text-align: center;
}
.ocean-select-btn:hover {
  border-color: rgba(212, 168, 83, 0.4);
  color: var(--white);
}
.ocean-select-btn.active {
  background: var(--gold);
  color: var(--ink);
  border-color: var(--gold);
}

/* ══ RANGE SLIDER ══ */
.ocean-range-wrap { margin-top: 16px; }
.ocean-range-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}
.ocean-range-val {
  font-family: 'Cinzel', serif;
  font-size: 18px;
  font-weight: 700;
  color: var(--gold);
}
.ocean-range {
  width: 100%;
  -webkit-appearance: none;
  height: 4px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 2px;
  outline: none;
}
.ocean-range::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 20px; height: 20px;
  background: var(--gold);
  border-radius: 50%;
  cursor: pointer;
  box-shadow: 0 0 15px rgba(212, 168, 83, 0.5);
}

.ocean-submit-btn {
  width: 100%;
  background: var(--gold);
  color: var(--ink);
  padding: 20px;
  font-family: 'Cinzel', serif;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.3em;
  border: none;
  cursor: pointer;
  transition: all 0.3s;
  margin-top: 32px;
  position: relative;
  overflow: hidden;
}
.ocean-submit-btn:hover {
  background: #fff;
  transform: translateY(-2px);
  box-shadow: 0 10px 30px rgba(0,0,0,0.3);
}
.ocean-submit-btn:active { transform: translateY(0); }

.ocean-submit-btn.loading {
  color: transparent;
  pointer-events: none;
}
.ocean-submit-btn.loading::after {
  content: '';
  position: absolute;
  width: 24px; height: 24px;
  top: 50%; left: 50%;
  margin: -12px 0 0 -12px;
  border: 3px solid rgba(0,0,0,0.1);
  border-top-color: var(--ink);
  border-radius: 50%;
  animation: ocean-spin 0.8s linear infinite;
}
@keyframes ocean-spin { to { transform: rotate(360deg); } }

@media(max-width:900px) {
  .ocean-form-card { grid-template-columns: 1fr; padding: 40px; }
  .ocean-section { padding: 80px 20px; }
}

/* ══ FOOTER ══ */

footer {
  background:var(--footer-bg);
  border-top:1px solid rgba(255,255,255,0.04);
  padding:80px 80px 36px;
}
.footer-grid {
  display:grid; grid-template-columns:2.2fr 1fr 1fr 1fr;
  gap:56px; padding-bottom:56px;
  border-bottom:1px solid rgba(255,255,255,0.05);
  margin-bottom:32px;
}
.footer-brand img {
  height:44px; width:auto; display:block; margin-bottom:18px;
  background:rgba(248,247,243,0.92);
  padding:8px 18px;
  border-radius:6px;
  box-shadow:0 2px 16px rgba(0,0,0,0.3);
  filter:none;
  opacity:1;
}
.footer-brand p {
  font-size:12px; font-weight:300; line-height:1.85;
  color:rgba(248,247,243,0.3); max-width:270px;
}
.fcol h4 {
  font-family:'Cinzel',serif;
  font-size:10px; font-weight:700;
  letter-spacing:0.24em; text-transform:uppercase;
  color:var(--gold); margin-bottom:22px;
}
.fcol a {
  display:block; font-size:13px; font-weight:500;
  color:rgba(248,247,243,0.4); text-decoration:none;
  margin-bottom:10px; letter-spacing:0.2px;
  transition:color 0.2s;
}
.fcol a:hover { color:var(--gold-lt); }
.footer-bottom {
  display:flex; justify-content:space-between; align-items:center;
}
.footer-copy {
  font-family:'Cinzel',serif;
  font-size:9px; font-weight:400;
  letter-spacing:0.15em; text-transform:uppercase;
  color:rgba(248,247,243,0.15);
}
.reg-tag {
  padding:5px 14px;
  border:1px solid rgba(212,168,83,0.2);
  font-family:'Cinzel',serif;
  font-size:9px; letter-spacing:0.2em;
  text-transform:uppercase; color:var(--gold);
}

/* ══ REVEAL ANIMATION ══ */
.reveal {
  opacity:0; transform:translateY(28px);
  transition:opacity 0.85s ease, transform 0.85s ease;
}
.reveal.up { opacity:1; transform:translateY(0); }
.d1{transition-delay:0.1s} .d2{transition-delay:0.2s} .d3{transition-delay:0.3s} .d4{transition-delay:0.4s}

/* ══ RESPONSIVE ══ */
@media(max-width:1024px){
  nav { padding:16px 28px; }
  .nav-links { display:none; }
  .philosophy,.services { padding:80px 32px; }
  .philosophy { grid-template-columns:1fr; gap:56px; }
  .services-grid { grid-template-columns:repeat(2,1fr); }
  .register { padding:80px 32px; }
  .reg-grid { grid-template-columns:1fr; gap:56px; }
  .investor-section { padding:80px 32px; }
  .investor-tiers { flex-direction:column; gap:24px; }
  .investor-divider-v { width:80px; height:1px; }
  .news-section { padding:80px 32px; }
  .news-grid { grid-template-columns:1fr; }
  footer { padding:56px 24px 28px; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:32px; }
  .hero { padding:0 24px; min-height:100svh; }
}
@media(max-width:640px){
  .services-grid { grid-template-columns:1fr; }
  /* News — snapshot FIRST on mobile, news feed second */
  .news-grid { grid-template-columns:1fr; }
  .news-right-col  { order:-1; }
  .news-feed-panel { order:1; }
  /* Footer — single column on mobile */
  footer { padding:48px 20px 24px; }
  .footer-grid {
    grid-template-columns:1fr;
    gap:36px;
    padding-bottom:36px;
  }
  .footer-brand { text-align:center; }
  .footer-brand img {
    margin:0 auto 16px;
    height:40px;
  }
  .footer-brand p { max-width:100%; text-align:center; }
  .fcol { text-align:left; }
  .fcol a { font-size:14px; margin-bottom:12px; }
  .footer-bottom {
    flex-direction:column;
    gap:16px;
    text-align:center;
  }
  .footer-copy { font-size:9px; }
  /* News section mobile */
  .news-feed-panel, .news-right-col { padding:16px; }
  /* Registration mobile */
  .reg-title { font-size:clamp(36px,10vw,72px); }
  /* Investor mobile */
  .investor-inner { padding:60px 20px; }
}

/* ══ HAMBURGER MENU ══ */
.hamburger {
  display:none;
  flex-direction:column;
  gap:5px;
  cursor:auto;
  padding:8px;
  z-index:600;
  background:transparent;
  border:none;
  outline:none;
}
.hamburger span {
  display:block;
  width:24px; height:2px;
  background:var(--ink);
  transition:all 0.3s ease, background 0.4s;
}
nav:not(.scrolled) .hamburger span {
  background:rgba(248,247,243,0.85);
}
.hamburger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity:0; }
.hamburger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
/* When open: gold circle + white X */
.hamburger.open {
  background:var(--gold);
  border-radius:50%;
  width:40px; height:40px;
  padding:8px;
  display:flex; align-items:center; justify-content:center;
  flex-direction:column;
  gap:5px;
  box-shadow:0 0 16px rgba(212,168,83,0.5);
}
.hamburger.open span {
  background:#0a0a0a;
  width:20px;
  height:2px;
}

/* Mobile nav overlay */
.nav-mobile-overlay {
  display:none;
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.85);
  z-index:9998;
}
.nav-mobile-overlay.open { display:block; }

/* ══ MOBILE NAV DRAWER — DEFINITIVE DARK THEME ══ */

/* === KEYFRAME === */
@keyframes slideInRight {
  from { transform:translateX(100%); opacity:0; }
  to   { transform:translateX(0);    opacity:1; }
}

/* === DRAWER CONTAINER === */
.nav-links.mobile-open {
  display:flex !important;
  flex-direction:column !important;
  position:fixed !important;
  top:48px !important;
  right:0 !important;
  width:100vw !important;
  max-width:320px !important;
  height:calc(100vh - 48px) !important;
  height:calc(100dvh - 48px) !important;
  background:#0d0d0d !important;
  border-left:1px solid rgba(212,168,83,0.3) !important;
  z-index:99999 !important;
  padding:0 !important;
  gap:0 !important;
  box-shadow:-8px 0 48px rgba(0,0,0,0.95) !important;
  animation:slideInRight 0.35s cubic-bezier(0.77,0,0.175,1) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
}

/* === DRAWER HEADER LINE === */
.nav-links.mobile-open::before {
  content:'WHITEFLOWS';
  display:flex !important;
  align-items:center !important;
  height:72px !important;
  padding:0 36px !important;
  border-bottom:1px solid rgba(212,168,83,0.2) !important;
  flex-shrink:0 !important;
  font-family:'Cinzel',serif !important;
  font-size:11px !important;
  font-weight:700 !important;
  letter-spacing:0.35em !important;
  color:#D4A853 !important;
  background:#0d0d0d !important;
}

/* === DRAWER LINKS === */
.nav-links.mobile-open a {
  color:#ffffff !important;
  font-size:13px !important;
  font-family:'Cinzel',serif !important;
  font-weight:700 !important;
  letter-spacing:0.22em !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  padding:20px 36px !important;
  border-bottom:1px solid rgba(212,168,83,0.12) !important;
  display:block !important;
  transition:color 0.2s, background 0.2s, padding-left 0.25s !important;
  background:transparent !important;
}
.nav-links.mobile-open a:last-child {
  border-bottom:none !important;
}
.nav-links.mobile-open a:hover,
.nav-links.mobile-open a:active {
  color:#D4A853 !important;
  background:rgba(212,168,83,0.08) !important;
  padding-left:48px !important;
}



/* =============================================
   MOBILE FINAL FIX — Based on live screenshots
   ============================================= */

/* Hide BEGIN button on all mobile/tablet */
@media(max-width:1024px){
  .nav-cta { display:none !important; }
}

/* Phone-specific fixes (≤768px) */
@media(max-width:768px){

  /* Nav — transparent on hero, ivory on scroll (matches desktop) */
  nav {
    background:transparent !important;
    border-bottom:1px solid transparent !important;
    backdrop-filter:none !important;
  }
  nav.scrolled {
    background:rgba(248,247,243,0.97) !important;
    border-bottom:1px solid rgba(212,168,83,0.12) !important;
    backdrop-filter:blur(20px) !important;
  }

  /* Logo — white on hero (transparent nav), original on scrolled (ivory nav) */
  nav:not(.scrolled) .nav-logo img {
    filter:brightness(0) invert(1) !important;
    background:transparent !important;
    padding:0 !important;
  }
  nav.scrolled .nav-logo img {
    filter:none !important;
    background:transparent !important;
    padding:0 !important;
  }

  /* Slides — enough top padding to clear nav */
  .banner-slide {
    padding-top:110px !important;
    padding-left:18px !important;
    padding-right:18px !important;
    justify-content:center !important;
  }

  /* Headline — readable size on phone */
  .banner-headline {
    font-size:clamp(24px,7.5vw,40px) !important;
    margin-bottom:14px !important;
  }

  /* Sub text — tighter */
  .banner-sub {
    font-size:14px !important;
    line-height:1.65 !important;
    margin-bottom:24px !important;
  }

  /* Chips — wrap nicely */
  .banner-chips {
    gap:8px !important;
    margin-bottom:24px !important;
  }
  .banner-chip {
    font-size:9px !important;
    padding:6px 12px !important;
  }

  /* CTA button — full width on phone */
  .hero-cta-group {
    flex-direction:column !important;
    width:100% !important;
    gap:10px !important;
    margin-bottom:32px !important;
  }
  .hero-cta-group .banner-cta,
  .hero-secondary-btn {
    width:100% !important;
    max-width:320px !important;
    justify-content:center !important;
    padding:14px 20px !important;
    font-size:10px !important;
  }

  /* Stats bar — compressed for phone */
  .banner-stats {
    max-width:100% !important;
  }
  .banner-stat {
    padding:12px 4px !important;
  }
  .banner-stat-num {
    font-size:26px !important;
  }
  .banner-stat-label {
    font-size:8px !important;
    letter-spacing:0.08em !important;
  }
}


/* ══ SEND CHOICE MODAL — DARK PREMIUM ══ */
.send-modal-overlay {
  display:none;
  position:fixed; inset:0;
  background:rgba(5,5,5,0.88);
  z-index:9000;
  align-items:center; justify-content:center;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.send-modal-overlay.open { display:flex; }

.send-modal {
  background:#111110;
  border:1px solid rgba(212,168,83,0.2);
  padding:48px 40px 36px;
  max-width:480px; width:92%;
  text-align:center;
  position:relative;
  animation:modalIn 0.35s cubic-bezier(0.34,1.56,0.64,1);
  box-shadow:0 32px 80px rgba(0,0,0,0.7);
}
@keyframes modalIn {
  from { opacity:0; transform:translateY(28px) scale(0.95); }
  to   { opacity:1; transform:translateY(0) scale(1); }
}

/* Close button */
.send-modal-close {
  position:absolute; top:16px; right:18px;
  width:32px; height:32px;
  display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:50%;
  color:rgba(248,247,243,0.4);
  cursor:pointer;
  transition:all 0.2s;
}
.send-modal-close svg { width:14px; height:14px; }
.send-modal-close:hover {
  background:rgba(255,255,255,0.1);
  color:rgba(248,247,243,0.9);
  border-color:rgba(255,255,255,0.15);
}

/* Header text */
.send-modal-tag {
  font-family:'Raleway',sans-serif;
  font-size:9px; font-weight:800;
  letter-spacing:0.4em; text-transform:uppercase;
  color:var(--gold); margin-bottom:16px;
}
.send-modal-title {
  font-family:'Cinzel',serif;
  font-size:20px; font-weight:700;
  letter-spacing:0.1em; text-transform:uppercase;
  color:#ffffff; margin-bottom:10px;
}
.send-modal-sub {
  font-family:'Raleway',sans-serif;
  font-size:13px; font-weight:400;
  color:rgba(248,247,243,0.45);
  margin-bottom:36px;
  line-height:1.65;
  max-width:340px; margin-left:auto; margin-right:auto;
}

/* Choice buttons grid */
.send-modal-btns {
  display:grid; grid-template-columns:1fr 1fr; gap:14px;
  margin-bottom:28px;
}
.send-btn {
  display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  gap:12px; padding:28px 20px;
  border:1px solid rgba(248,247,243,0.08);
  background:rgba(255,255,255,0.03);
  border-radius:2px;
  cursor:pointer;
  transition:all 0.3s ease;
  position:relative; overflow:hidden;
}
.send-btn::before {
  content:'';
  position:absolute; inset:0;
  opacity:0;
  transition:opacity 0.3s;
}
.send-btn:hover {
  transform:translateY(-3px);
  box-shadow:0 12px 40px rgba(0,0,0,0.4);
}

.send-btn.loading {
  opacity: 0.6;
  cursor: not-allowed;
  pointer-events: none;
  transform: scale(0.98);
}
.send-btn.loading .send-btn-icon-wrap {
  animation: send-pulse 1.5s infinite ease-in-out;
}
@keyframes send-pulse {
  0% { transform: scale(1); opacity: 0.8; }
  50% { transform: scale(1.1); opacity: 1; }
  100% { transform: scale(1); opacity: 0.8; }
}

/* WhatsApp button */
.send-btn-wa::before       { background:rgba(37,211,102,0.06); }
.send-btn-wa:hover         { border-color:rgba(37,211,102,0.4); }
.send-btn-wa:hover::before { opacity:1; }

/* Email button */
.send-btn-email::before       { background:rgba(212,168,83,0.06); }
.send-btn-email:hover         { border-color:rgba(212,168,83,0.4); }
.send-btn-email:hover::before { opacity:1; }

/* Icon circle */
.send-btn-icon-wrap {
  width:52px; height:52px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.send-btn-icon-wrap svg { width:26px; height:26px; }

.send-btn-icon-wa {
  background:rgba(37,211,102,0.12);
  color:#25D366;
  border:1px solid rgba(37,211,102,0.25);
}
.send-btn-icon-email {
  background:rgba(212,168,83,0.12);
  color:var(--gold);
  border:1px solid rgba(212,168,83,0.25);
}

/* Label + desc */
.send-btn-label {
  font-family:'Cinzel',serif;
  font-size:11px; font-weight:700;
  letter-spacing:0.22em; text-transform:uppercase;
  color:#ffffff;
}
.send-btn-desc {
  font-family:'Raleway',sans-serif;
  font-size:10px; font-weight:500;
  color:rgba(248,247,243,0.35);
  letter-spacing:0.05em;
}

/* "Fastest" badge on WA button */
.send-btn-badge {
  font-family:'Raleway',sans-serif;
  font-size:8px; font-weight:800;
  letter-spacing:0.2em; text-transform:uppercase;
  color:#25D366;
  border:1px solid rgba(37,211,102,0.3);
  padding:3px 10px;
  margin-top:-4px;
}

/* Footer note */
.send-modal-note {
  font-family:'Raleway',sans-serif;
  font-size:10px;
  color:rgba(248,247,243,0.2);
  letter-spacing:0.08em;
}

@media(max-width:480px){
  .send-modal { padding:40px 20px 28px; }
  .send-modal-btns { grid-template-columns:1fr; gap:10px; }
  .send-modal-title { font-size:16px; }
}


/* ══ COOKIE CONSENT BANNER ══ */
.cookie-bar {
  position:fixed;
  bottom:0; left:0; right:0;
  z-index:9999;
  background:#090A0D;
  border-top:1px solid rgba(212,168,83,0.32);
  box-shadow:0 -18px 48px rgba(0,0,0,0.36);
  padding:16px 40px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  transform:translateY(100%);
  transition:transform 0.4s cubic-bezier(0.34,1.56,0.64,1);
  flex-wrap:wrap;
}
.cookie-bar.visible { transform:translateY(0); }
.cookie-text {
  font-family:'Raleway',sans-serif;
  font-size:12px; font-weight:500;
  color:rgba(248,247,243,0.78);
  line-height:1.6;
  flex:1; min-width:240px;
}
.cookie-text a {
  color:#D4A853;
  text-decoration:none;
  border-bottom:1px solid rgba(212,168,83,0.45);
}
.cookie-text a:hover { border-color:#D4A853; color:#E5BE6C; }
.cookie-btns { display:flex; gap:10px; flex-shrink:0; }
.cookie-accept {
  padding:9px 24px;
  background:#D4A853; color:#101014;
  font-family:'Cinzel',serif;
  font-size:10px; font-weight:700;
  letter-spacing:0.18em; text-transform:uppercase;
  border:none; cursor:pointer;
  transition:background 0.2s;
}
.cookie-accept:hover { background:#d4a855; }
.cookie-decline {
  padding:9px 20px;
  background:transparent;
  color:rgba(248,247,243,0.58);
  font-family:'Cinzel',serif;
  font-size:10px; font-weight:600;
  letter-spacing:0.15em; text-transform:uppercase;
  border:1px solid rgba(248,247,243,0.18);
  cursor:pointer;
  transition:color 0.2s, border-color 0.2s;
}
.cookie-decline:hover {
  color:rgba(248,247,243,0.86);
  border-color:rgba(248,247,243,0.34);
}
[data-theme="dark"] .cookie-bar {
  background:#050812;
  border-top-color:rgba(212,168,83,0.36);
}
[data-theme="dark"] .cookie-text {
  color:rgba(248,250,252,0.78);
}
[data-theme="dark"] .cookie-decline {
  color:rgba(248,250,252,0.58);
  border-color:rgba(248,250,252,0.18);
}
[data-theme="dark"] .cookie-decline:hover {
  color:rgba(248,250,252,0.88);
  border-color:rgba(248,250,252,0.34);
}
@media(max-width:640px){
  .cookie-bar { padding:16px 20px; }
  .cookie-text { font-size:11px; }
  .cookie-btns { width:100%; justify-content:flex-end; }
}

/* ══ SCROLL TO TOP ══ */
.scroll-top {
  position:fixed;
  bottom:96px; right:28px;
  z-index:7999;
  width:40px; height:40px;
  background:var(--ink);
  border:1px solid rgba(212,168,83,0.2);
  display:flex; align-items:center; justify-content:center;
  cursor:pointer;
  opacity:0; transform:translateY(12px);
  transition:opacity 0.3s, transform 0.3s, background 0.25s;
  pointer-events:none;
}
.scroll-top.visible {
  opacity:1; transform:translateY(0);
  pointer-events:auto;
}
.scroll-top:hover { background:var(--gold); border-color:var(--gold); }
.scroll-top svg { width:16px; height:16px; fill:var(--ivory); }
@media(max-width:640px){
  .scroll-top { bottom:82px; right:16px; width:36px; height:36px; }
}


/* ══ THANK YOU SCREEN ══ */
.form-success {
  display:none;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:48px 32px;
  min-height:420px;
  animation:fadeInUp 0.5s ease;
}
.form-success.visible { display:flex; }
@keyframes fadeInUp {
  from { opacity:0; transform:translateY(16px); }
  to   { opacity:1; transform:translateY(0); }
}
.success-tick {
  width:64px; height:64px; border-radius:50%;
  background:rgba(34,197,94,0.1);
  border:2px solid rgba(34,197,94,0.3);
  display:flex; align-items:center; justify-content:center;
  font-size:28px; margin-bottom:24px;
  animation:tickPop 0.4s cubic-bezier(0.34,1.56,0.64,1) 0.1s both;
}
@keyframes tickPop {
  from { transform:scale(0); opacity:0; }
  to   { transform:scale(1); opacity:1; }
}
.success-title {
  font-family:'Cinzel',serif;
  font-size:20px; font-weight:700;
  letter-spacing:0.1em; text-transform:uppercase;
  color:var(--ivory); margin-bottom:10px;
}
.success-sub {
  font-family:'Raleway',sans-serif;
  font-size:13px; font-weight:500;
  color:rgba(248,247,243,0.5);
  line-height:1.7; margin-bottom:32px;
  max-width:320px;
}
.success-rule {
  width:48px; height:1px;
  background:rgba(212,168,83,0.3);
  margin-bottom:24px;
}
.success-badge {
  font-family:'Raleway',sans-serif;
  font-size:9px; font-weight:700;
  letter-spacing:0.25em; text-transform:uppercase;
  color:var(--gold);
  padding:8px 20px;
  border:1px solid rgba(212,168,83,0.25);
}
.success-back {
  margin-top:20px;
  font-family:'Cinzel',serif;
  font-size:9px; font-weight:600;
  letter-spacing:0.2em; text-transform:uppercase;
  color:rgba(248,247,243,0.25);
  background:none; border:none; cursor:pointer;
  transition:color 0.2s;
}
.success-back:hover { color:rgba(248,247,243,0.5); }


/* ══ SLIDE 3 — PORTFOLIO COMPARE OVERRIDES ══ */

/* Push content down to clear ticker + navbar */
.banner-slide.s3 .banner-content {
  margin-top: 40px;
}

/* Watermark hidden on busy chart background */
.banner-slide.s3 .banner-watermark { display:none; }

/* Glassmorphism scrim behind each portfolio column */
.banner-slide.s3 .pf-col {
  background:rgba(0, 15, 30, 0.5) !important;
  backdrop-filter:blur(14px) !important;
  -webkit-backdrop-filter:blur(14px) !important;
  border:1px solid rgba(0, 210, 255, 0.2) !important;
  border-radius:3px !important;
  padding:32px 44px 28px !important;
}

/* Text colours on dark */
.banner-slide.s3 .pf-col-label      { color:#00D2FF !important; font-size:22px !important; }
.banner-slide.s3 .pf-label-gold     { color:#00D2FF !important; }
.banner-slide.s3 .pf-col-title      { color:rgba(248,247,243,0.5) !important; letter-spacing:0.3em; }
.banner-slide.s3 .pf-col-desc       { color:#E0E0E0 !important; }
.banner-slide.s3 .pf-tag            { color:rgba(248,247,243,0.75) !important; }
.banner-slide.s3 .pf-col-line       { background:rgba(248,247,243,0.2) !important; }
.banner-slide.s3 .pf-line-gold      { background:#F8B500 !important; }

/* Gold CTA button */
.banner-slide.s3 .banner-cta {
  background:var(--gold) !important;
  color:var(--ink) !important;
}
.banner-slide.s3 .banner-cta::before { background:#fff !important; }

/* Divider */
.banner-slide.s3 .pf-divider-line {
  background:linear-gradient(to bottom,
    transparent,
    rgba(212,168,83,0.5) 30%,
    rgba(212,168,83,0.5) 70%,
    transparent) !important;
}

/* Subtitle */
.banner-slide.s3 .banner-sub-small {
  color:rgba(248,247,243,0.55) !important;
}

/* Mobile — smaller title, tighter padding */
@media(max-width:768px){
  .banner-slide.s3 .pf-col-label {
    font-size:22px !important;
  }
  .banner-slide.s3 {
    padding-top:156px;
  }
  .banner-slide.s3 .banner-content {
    margin-top:26px;
  }
  .banner-slide.s3 .banner-headline {
    font-size:clamp(18px,5.8vw,30px) !important;
    margin-bottom:8px !important;
  }
  .banner-slide.s3 .banner-sub-small {
    font-size:10px !important;
    letter-spacing:0.18em !important;
    margin-bottom:18px !important;
  }
  .banner-slide.s3 .pf-col {
    padding:20px 22px 18px !important;
  }
  .pf-compare {
    gap:0 !important;
  }
}

/* --- Slide 6 (Slide 4 visually) Overrides --- */
.banner-slide.s6 .banner-watermark { display:none; }

/* Glassmorphism scrim behind each portfolio column */
.banner-slide.s6 .pf-col {
  background:rgba(5, 15, 30, 0.4) !important;
  backdrop-filter:blur(14px) !important;
  -webkit-backdrop-filter:blur(14px) !important;
  border:1px solid rgba(160, 210, 231, 0.2) !important;
  border-radius:3px !important;
  padding:32px 44px 28px !important;
}

/* Text colours on dark */
.banner-slide.s6 .pf-col-label      { color:#A0D2E7 !important; font-size:22px !important; }
.banner-slide.s6 .pf-label-gold     { color:#A0D2E7 !important; }
.banner-slide.s6 .pf-col-title      { color:rgba(248,247,243,0.6) !important; letter-spacing:0.3em; }
.banner-slide.s6 .pf-col-desc       { color:#F0F0F0 !important; }
.banner-slide.s6 .pf-tag            { color:rgba(248,247,243,0.7) !important; }
.banner-slide.s6 .pf-col-line       { background:rgba(248,247,243,0.15) !important; }
.banner-slide.s6 .pf-line-gold      { background:#A0D2E7 !important; }

/* Ice Blue CTA button */
.banner-slide.s6 .banner-cta {
  background:#A0D2E7 !important;
  color:var(--ink) !important;
}
.banner-slide.s6 .banner-cta::before { background:#fff !important; }

/* Divider */
.banner-slide.s6 .pf-divider-line {
  background:linear-gradient(to bottom,
    transparent,
    rgba(160,210,231,0.5) 30%,
    rgba(160,210,231,0.5) 70%,
    transparent) !important;
}

/* Subtitle */
.banner-slide.s6 .banner-sub-small {
  color:rgba(248,247,243,0.6) !important;
}

/* Mobile — smaller title, tighter padding */
@media(max-width:768px){
  .banner-slide.s6 .pf-col-label {
    font-size:22px !important;
  }
  .banner-slide.s6 .pf-col {
    padding:20px 22px 18px !important;
  }
  .banner-slide.s6 .pf-compare {
    gap:0 !important;
  }
}

/* ══ ACTIVE NAV LINK ON SCROLL ══ */

/* Base active state — works on scrolled (ivory) nav */
.nav-links a.nav-active,
nav.scrolled .nav-links a.nav-active {
  color:var(--gold) !important;
  opacity:1 !important;
}
/* Underline always full width when active */
.nav-links a.nav-active::after,
nav.scrolled .nav-links a.nav-active::after {
  width:100% !important;
  background:var(--gold) !important;
}

/* On hero (transparent dark nav) — bright white + gold underline
   Gold on dark is invisible, use bright white text + gold underline */
nav:not(.scrolled) .nav-links a.nav-active {
  color:#ffffff !important;
  opacity:1 !important;
  text-shadow:0 0 20px rgba(212,168,83,0.8) !important;
}
nav:not(.scrolled) .nav-links a.nav-active::after {
  width:100% !important;
  background:var(--gold) !important;
}

/* Hover — non-active links slightly brighter on hover */
nav:not(.scrolled) .nav-links a:hover {
  color:#ffffff !important;
  opacity:1 !important;
}
nav.scrolled .nav-links a:hover {
  color:var(--gold) !important;
}


/* ══ LIVE STOCK TICKER BAR ══ */
.stock-ticker-bar {
  width:100%; height:46px;
  background:var(--ink);
  display:flex; align-items:center;
  overflow:hidden;
  border-bottom:1px solid rgba(212,168,83,0.25);
  position:relative;
}
.ticker-label {
  flex-shrink:0;
  display:flex; align-items:center; gap:6px;
  padding:0 16px;
  font-family:'Cinzel',serif;
  font-size:9px; font-weight:800;
  letter-spacing:0.28em; text-transform:uppercase;
  color:var(--gold);
  border-right:1px solid rgba(5,10,18,0.72);
  height:100%;
}
.live-dot-ticker {
  width:6px; height:6px; border-radius:50%;
  background:#22c55e;
  animation:pulse-dot 1.5s ease-in-out infinite;
  flex-shrink:0;
}
.ticker-scroll-wrapper {
  flex:1; overflow:hidden; height:100%;
  display:flex; align-items:center;
  border-right:1px solid rgba(5,10,18,0.72);
}
.ticker-track {
  display:flex; align-items:center;
  white-space:nowrap;
  animation:tickerScroll 60s linear infinite;
}
.ticker-track:hover { animation-play-state:paused; }
@keyframes tickerScroll {
  0%   { transform:translateX(0); }
  100% { transform:translateX(-50%); }
}
.ticker-item {
  display:inline-flex; align-items:center; gap:8px;
  padding:0 22px;
  border-right:1px solid rgba(5,10,18,0.72);
  height:46px;
  transition:background 0.2s;
}
.ticker-item:last-child { border-right:none; }
.ticker-item:hover { background:rgba(212,168,83,0.08); }
.ticker-symbol {
  font-family:'Cinzel',serif;
  font-size:10px; font-weight:700;
  letter-spacing:0.1em; color:rgba(248,247,243,0.9);
}
.ticker-price {
  font-family:'Raleway',sans-serif;
  font-size:11px; font-weight:700; color:var(--white);
}
.ticker-change {
  font-family:'Raleway',sans-serif;
  font-size:10px; font-weight:600;
  padding:2px 7px; border-radius:2px;
}
.ticker-change.up   { color:#22c55e; background:rgba(34,197,94,0.12); }
.ticker-change.down { color:#ef4444; background:rgba(239,68,68,0.12); }
.ticker-change.flat { color:var(--ash); }
.ticker-time {
  flex-shrink:0; padding:0 14px;
  font-family:'Raleway',sans-serif;
  font-size:9px; font-weight:600;
  letter-spacing:0.1em; color:rgba(248,247,243,0.2);
  border-left:1px solid rgba(5,10,18,0.72); white-space:nowrap;
  height:100%;
  display:flex;
  align-items:center;
}

/* Force crisp dark ticker separators in both light and dark modes */
.stock-ticker-bar .ticker-label,
.stock-ticker-bar .ticker-scroll-wrapper,
.stock-ticker-bar .ticker-item,
.stock-ticker-bar .ticker-time {
  border-color:#141b26 !important;
}
.stock-ticker-bar .ticker-label { border-right:1.5px solid #141b26 !important; }
.stock-ticker-bar .ticker-scroll-wrapper { border-right:1.5px solid #141b26 !important; }
.stock-ticker-bar .ticker-item { border-right:1.5px solid #141b26 !important; }
.stock-ticker-bar .ticker-item:last-child { border-right:none !important; }
.stock-ticker-bar .ticker-time { border-left:1.5px solid #141b26 !important; }

/* ══ NEWS SECTION ══ */
.news-section {
  padding:110px 80px;
  background:var(--pearl);
  border-top:1px solid var(--smoke);
  border-bottom:1px solid var(--smoke);
}
.news-inner { max-width:1280px; margin:0 auto; }
.news-title {
  font-family:'Cinzel',serif; font-size:clamp(22px,2.8vw,40px);
  font-weight:700; letter-spacing:0.1em; text-transform:uppercase;
  color:var(--ink); margin-bottom:10px;
}
.news-subtitle {
  font-family:'Raleway',sans-serif; font-size:14px; font-weight:500;
  letter-spacing:0.2em; text-transform:uppercase;
  color:var(--ash); margin-bottom:52px;
}
.news-note {
  max-width:900px; margin:0 auto 26px;
  font-family:'Raleway',sans-serif; font-size:12px; line-height:1.8;
  color:var(--ash); text-align:center;
}
.news-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:28px; align-items:start; }
.news-feed-panel, .news-right-col {
  background:var(--white); border:1px solid var(--smoke); padding:24px;
}
.news-panel-label {
  font-family:'Raleway',sans-serif; font-size:10px; font-weight:700;
  letter-spacing:0.25em; text-transform:uppercase; color:var(--ink);
  display:flex; align-items:center; gap:8px;
  margin-bottom:16px; padding-bottom:14px; border-bottom:1px solid var(--smoke);
}
.news-powered { margin-left:auto; color:var(--gold); font-size:9px; letter-spacing:0.15em; }
.snap-updated  { margin-left:auto; color:var(--ash); font-size:9px; letter-spacing:0.1em; font-weight:500; }
.live-dot {
  width:7px; height:7px; border-radius:50%; background:#22c55e;
  display:inline-block; box-shadow:0 0 0 3px rgba(34,197,94,0.2);
  animation:pulse-dot 2s ease-in-out infinite; flex-shrink:0;
}
@keyframes pulse-dot {
  0%,100%{ box-shadow:0 0 0 3px rgba(34,197,94,0.2); }
  50%    { box-shadow:0 0 0 7px rgba(34,197,94,0.07); }
}
.news-list { display:flex; flex-direction:column; gap:0; max-height:500px; overflow-y:auto; }
.news-list::-webkit-scrollbar { width:3px; }
.news-list::-webkit-scrollbar-thumb { background:var(--gold); }
.news-card {
  padding:16px 0; border-bottom:1px solid var(--smoke);
  cursor:pointer; transition:all 0.2s; text-decoration:none; display:block;
}
.news-card:hover { background:var(--pearl); padding-left:8px; }
.news-card:last-child { border-bottom:none; }
.news-card-source {
  font-family:'Raleway',sans-serif; font-size:9px; font-weight:700;
  letter-spacing:0.2em; text-transform:uppercase; color:var(--gold); margin-bottom:5px;
}
.news-card-headline {
  font-family:'Cinzel',serif; font-size:13px; font-weight:700;
  color:var(--ink); line-height:1.5; margin-bottom:5px; letter-spacing:0.03em;
}
.news-card-meta { font-family:'Raleway',sans-serif; font-size:10px; font-weight:500; color:var(--ash); }
.news-card-sentiment {
  display:inline-block; padding:2px 8px; border-radius:2px;
  font-size:9px; font-weight:700; letter-spacing:0.1em;
  text-transform:uppercase; margin-left:8px;
}
.sent-positive { background:rgba(34,197,94,0.1); color:#16a34a; }
.sent-negative { background:rgba(239,68,68,0.1);  color:#dc2626; }
.sent-neutral  { background:rgba(100,100,100,0.08); color:var(--ash); }
.news-skeleton {
  height:72px; background:linear-gradient(90deg,var(--smoke) 25%,var(--pearl) 50%,var(--smoke) 75%);
  background-size:200% 100%; animation:shimmer 1.5s infinite; margin-bottom:8px; border-radius:2px;
}
@keyframes shimmer { 0%{background-position:200% 0} 100%{background-position:-200% 0} }
.sk { display:block; height:12px; border-radius:2px; width:80%;
  background:linear-gradient(90deg,var(--smoke) 25%,var(--pearl) 50%,var(--smoke) 75%);
  background-size:200% 100%; animation:shimmer 1.5s infinite; }
.sk-block { height:52px; border-radius:2px;
  background:linear-gradient(90deg,var(--smoke) 25%,var(--pearl) 50%,var(--smoke) 75%);
  background-size:200% 100%; animation:shimmer 1.5s infinite; }
.market-snapshot { width:100%; }
.snap-row {
  display:grid; grid-template-columns:2fr 1.5fr 1.2fr 1fr;
  padding:9px 0; border-bottom:1px solid var(--smoke); align-items:center; gap:8px;
}
.snap-row:last-child { border-bottom:none; }
.snap-header span {
  font-family:'Raleway',sans-serif; font-size:9px; font-weight:700;
  letter-spacing:0.2em; text-transform:uppercase; color:var(--ash);
}
.snap-symbol { font-family:'Cinzel',serif; font-size:11px; font-weight:700; color:var(--ink); }
.snap-name   { font-size:9px; color:var(--ash); font-family:'Raleway',sans-serif; font-weight:500; }
.snap-price  { font-family:'Raleway',sans-serif; font-size:13px; font-weight:800; color:var(--ink); }
.snap-ch     { font-family:'Raleway',sans-serif; font-size:11px; font-weight:600; }
.snap-ch.up  { color:#16a34a; } .snap-ch.down { color:#dc2626; } .snap-ch.flat { color:var(--ash); }
.snap-pct    { font-family:'Raleway',sans-serif; font-size:10px; font-weight:700; padding:2px 6px; border-radius:2px; text-align:center; }
.snap-pct.up   { background:rgba(34,197,94,0.1);  color:#16a34a; }
.snap-pct.down { background:rgba(239,68,68,0.1);   color:#dc2626; }
.snap-pct.flat { background:rgba(100,100,100,0.08); color:var(--ash); }
.commodity-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:4px; }
.comm-card { background:var(--pearl); border:1px solid var(--smoke); padding:14px 16px; }
.comm-name  { font-family:'Raleway',sans-serif; font-size:9px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; color:var(--ash); margin-bottom:6px; }
.comm-price { font-family:'Cinzel',serif; font-size:18px; font-weight:800; color:var(--ink); margin-bottom:4px; }
.comm-change{ font-family:'Raleway',sans-serif; font-size:11px; font-weight:600; }
@media(max-width:1024px){ .news-section { padding:80px 32px; } }
@media(max-width:640px){
  .news-section { padding:72px 20px; }
  .news-grid { grid-template-columns:1fr; }
  .news-right-col  { order:-1; }
  .news-feed-panel { order:1; }
  .news-feed-panel, .news-right-col { padding:16px; }
}


/* ══ PORTFOLIO SECTION ══ */
.portfolio-section {
  padding:120px 80px;
  background:var(--white);
  border-top:1px solid var(--smoke);
}
.portfolio-inner { max-width:1280px; margin:0 auto; }
.portfolio-header { text-align:center; margin-bottom:72px; }
.portfolio-title {
  font-family:'Cinzel',serif;
  font-size:clamp(24px,3vw,44px);
  font-weight:700; letter-spacing:0.1em; text-transform:uppercase;
  color:var(--ink); margin-bottom:10px;
}
.portfolio-subtitle {
  font-family:'Raleway',sans-serif;
  font-size:13px; font-weight:600;
  color:var(--ash); letter-spacing:0.2em; text-transform:uppercase;
}
.portfolio-grid {
  display:grid;
  grid-template-columns:1fr;
  gap:24px;
}
.pf-card {
  background:var(--white);
  border:1px solid rgba(212,168,83,0.15);
  border-top:3px solid rgba(212,168,83,0.3);
  display:flex; flex-direction:column;
  transition:border-color 0.3s, box-shadow 0.3s, transform 0.3s;
}
.pf-card:hover {
  border-color:rgba(212,168,83,0.5);
  border-top-color:var(--gold);
  box-shadow:0 12px 40px rgba(212,168,83,0.10);
  transform:translateY(-3px);
}
.pf-card-head {
  padding:28px 28px 20px;
  border-bottom:1px solid var(--smoke);
  position:relative;
}
.pf-card-badge {
  font-family:'Raleway',sans-serif;
  font-size:8px; font-weight:800;
  letter-spacing:0.25em; text-transform:uppercase;
  color:var(--gold);
  border:1px solid rgba(212,168,83,0.3);
  padding:3px 10px;
  display:inline-block; margin-bottom:12px;
}
.pf-card-title {
  font-family:'Cinzel',serif;
  font-size:20px; font-weight:700;
  letter-spacing:0.08em; text-transform:uppercase;
  color:var(--ink); margin-bottom:6px;
}
.pf-card-tagline {
  font-family:'Raleway',sans-serif;
  font-size:12px; font-weight:500;
  color:var(--ash); letter-spacing:0.1em;
}
.pf-card-body { padding:24px 28px; flex:1; }
.pf-stat { margin-bottom:20px; }
.pf-stat-val {
  font-family:'Cormorant Garamond',serif;
  font-size:32px; font-weight:800;
  color:var(--gold); display:block; line-height:1;
}
.pf-stat-lbl {
  font-family:'Raleway',sans-serif;
  font-size:9px; font-weight:700;
  letter-spacing:0.2em; text-transform:uppercase;
  color:var(--ash);
}
.pf-features {
  list-style:none; padding:0; margin:0;
  display:flex; flex-direction:column; gap:8px;
}
.pf-features li {
  font-family:'Raleway',sans-serif;
  font-size:13px; font-weight:500;
  color:var(--ink);
  display:flex; align-items:center; gap:8px;
}
.pf-features li::before {
  content:''; display:inline-block;
  width:14px; height:1px;
  background:var(--gold); flex-shrink:0;
}
.pf-card-btn {
  display:block; text-align:center;
  padding:14px;
  background:var(--ink); color:var(--ivory);
  font-family:'Cinzel',serif;
  font-size:10px; font-weight:700;
  letter-spacing:0.2em; text-transform:uppercase;
  text-decoration:none;
  transition:background 0.3s, color 0.3s;
  margin-top:auto;
}
.pf-card-btn:hover { background:var(--gold); color:var(--ink); }
@media(max-width:1024px){ .portfolio-section { padding:80px 32px; } }
@media(min-width:900px) { .portfolio-grid { grid-template-columns:repeat(2,1fr); } }
@media(min-width:1200px) { .portfolio-grid { grid-template-columns:repeat(3,1fr); } }
@media(max-width:768px){
  .portfolio-section { padding:72px 20px; }
}


/* ══ SLIDE 5 — DUAL CTA (Whale + Penguin) ══ */
.s5-dual-cta {
  display: flex !important;
  flex-direction: row;
  gap: 16px;
  align-items: center;
  justify-content: center;
}
/* S5 btn row — centered, just above bottom image labels */
.s5-btn-row {
  position: absolute;
  bottom: 80px;
  left: 0;
  right: 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 24px;
  padding: 0 15%;
  z-index: 30;
  pointer-events: auto !important;
  white-space: nowrap;
}
@media(max-width:768px){
  .s5-btn-row { padding: 0 8%; gap:16px; bottom:70px; }
}
@media(max-width:640px){
  .s5-btn-row { flex-direction:column; align-items:center; gap:10px; bottom:60px; padding:0 20px; }
}
/* ── Slide 5 Whale btn — deep navy, ultra-premium feel */
.slide-cta-whale {
  background: rgba(10,24,55,0.90) !important;
  border: 1.5px solid rgba(100,160,255,0.50) !important;
  color: #C8DEFF !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  border-radius: 2px !important;
  box-shadow: 0 6px 28px rgba(0,0,0,0.55), inset 0 1px 0 rgba(100,160,255,0.15) !important;
}
.slide-cta-whale::before { background: rgba(30,80,200,0.85) !important; }
.slide-cta-whale svg { stroke: #88B4FF !important; }
.slide-cta-whale:hover {
  color: #fff !important;
  border-color: rgba(100,160,255,0.80) !important;
  box-shadow: 0 8px 32px rgba(30,80,200,0.45) !important;
}
.slide-cta-whale:hover svg { stroke: #fff !important; }

/* ── Slide 5 Penguin btn — teal-ocean, energetic contrast */
.slide-cta-penguin {
  background: rgba(255,255,255,0.92) !important;
  border: 1.5px solid rgba(0,160,140,0.55) !important;
  color: #00665A !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  border-radius: 2px !important;
  box-shadow: 0 6px 24px rgba(0,0,0,0.30), 0 2px 8px rgba(0,160,140,0.20) !important;
}
.slide-cta-penguin::before { background: rgba(0,140,120,0.90) !important; }
.slide-cta-penguin svg { stroke: #00887A !important; }
.slide-cta-penguin:hover {
  color: #fff !important;
  border-color: rgba(0,160,140,0.80) !important;
  box-shadow: 0 8px 28px rgba(0,140,120,0.40) !important;
}
.slide-cta-penguin:hover svg { stroke: #fff !important; }
@media(max-width:640px){
  .s5-dual-cta { flex-direction:column; gap:10px; }
}
/* Slide 5 Overrides (Orca Image + Opacity Rule) */
.banner-slide.s5 {
  /* slide 5 specific layout overrides */
  border: none;
}
.banner-slide.s5 .banner-content {
  transform: translateY(-120px) !important;
}

/* ===== REGISTRATION MODAL — WhiteFlows Premium =====*/

  .reg-overlay {
    position:fixed;inset:0;background:rgba(4,8,14,0.82);
    backdrop-filter:blur(14px);z-index:9100;
    display:flex;align-items:center;justify-content:center;
    padding:16px;opacity:0;pointer-events:none;
    transition:opacity 0.4s ease;
  }
  .reg-overlay.reg-open{opacity:1;pointer-events:auto;}
  .reg-modal {
    background:#F8F5EF;border:1px solid rgba(212,168,83,0.22);
    border-radius:20px;width:100%;max-width:680px;max-height:94vh;
    overflow-y:auto;padding:0;position:relative;
    transform:translateY(40px) scale(0.96);
    transition:transform 0.42s cubic-bezier(.22,.68,0,1.2);
    scrollbar-width:thin;scrollbar-color:rgba(212,168,83,0.3) transparent;
    box-shadow:0 40px 120px rgba(0,0,0,0.45),0 0 0 1px rgba(212,168,83,0.12);
  }
  .reg-overlay.reg-open .reg-modal{transform:translateY(0) scale(1);}
  .reg-modal::-webkit-scrollbar{width:3px;}
  .reg-modal::-webkit-scrollbar-thumb{background:rgba(212,168,83,0.35);}

  /* Dark Header */
  .reg-header {
    background:linear-gradient(155deg,#08101A 0%,#0E1828 52%,#152030 100%);
    padding:34px 44px 30px;position:relative;overflow:hidden;
    border-radius:19px 19px 0 0;
  }
  .reg-header::before {
    content:'';position:absolute;inset:0;pointer-events:none;
    background:radial-gradient(ellipse at 18% 0%,rgba(212,168,83,0.08) 0%,transparent 55%),
               radial-gradient(ellipse at 82% 100%,rgba(100,150,200,0.05) 0%,transparent 55%);
  }
  .reg-header::after {
    content:'';position:absolute;bottom:0;left:0;right:0;height:1px;
    background:linear-gradient(90deg,transparent 0%,rgba(212,168,83,0.5) 25%,rgba(212,168,83,0.9) 50%,rgba(212,168,83,0.5) 75%,transparent 100%);
  }
  .reg-close {
    position:absolute;top:16px;right:18px;
    background:rgba(255,255,255,0.05);border:1px solid rgba(212,168,83,0.2);
    color:rgba(212,168,83,0.6);font-size:18px;
    width:32px;height:32px;border-radius:50%;cursor:pointer;
    display:flex;align-items:center;justify-content:center;
    transition:all 0.22s;z-index:10;
  }
  .reg-close:hover{background:rgba(212,168,83,0.18);color:var(--gold);border-color:var(--gold);}
  .reg-portfolio-tag {
    display:inline-block;font-size:9px;font-weight:700;
    letter-spacing:0.22em;text-transform:uppercase;color:var(--gold);
    background:rgba(212,168,83,0.1);border:1px solid rgba(212,168,83,0.28);
    padding:4px 14px;border-radius:20px;margin-bottom:14px;position:relative;z-index:1;
  }
  .reg-modal .reg-title {
    font-family:'Cinzel',serif;
    font-size:clamp(1.35rem,2.8vw,1.85rem);
    color:#F4EDD8;font-weight:600;margin:0 0 8px;
    letter-spacing:0.04em;line-height:1.28;position:relative;z-index:1;
  }
  .reg-subtitle {
    color:rgba(244,237,216,0.45);font-size:0.82rem;
    margin:0 0 20px;line-height:1.65;
    font-family:'Raleway',sans-serif;position:relative;z-index:1;
  }
  .reg-progress-container {
    height:2px;background:rgba(212,168,83,0.12);border-radius:2px;
    overflow:hidden;margin-bottom:22px;width:100%;position:relative;z-index:1;
  }
  .reg-progress-bar {
    height:100%;
    background:linear-gradient(90deg,#C89030,#F2D060,#C89030);
    background-size:200% 100%;width:0%;
    transition:width 0.45s cubic-bezier(.4,0,.2,1);
    box-shadow:0 0 8px rgba(212,168,83,0.5);
    animation:regBarShimmer 2.5s ease infinite;
  }
  @keyframes regBarShimmer{0%{background-position:100% 0}100%{background-position:-100% 0}}

  /* Step Navigator */
  .reg-step-nav{display:flex;align-items:center;margin-bottom:8px;position:relative;z-index:1;}
  .reg-step-dot {
    width:32px;height:32px;border-radius:50%;
    background:rgba(255,255,255,0.05);border:1.5px solid rgba(212,168,83,0.25);
    display:flex;align-items:center;justify-content:center;
    font-family:'Cinzel',serif;font-size:11px;font-weight:700;
    color:rgba(212,168,83,0.35);flex-shrink:0;
    transition:all 0.35s cubic-bezier(.4,0,.2,1);position:relative;
  }
  .reg-step-dot.active {
    background:var(--gold);border-color:var(--gold);color:#16100A;
    box-shadow:0 0 18px rgba(212,168,83,0.55);transform:scale(1.08);
  }
  .reg-step-dot.done{background:rgba(212,168,83,0.18);border-color:rgba(212,168,83,0.6);color:transparent;}
  .reg-step-dot.done::after{
    content:'✓';position:absolute;inset:0;
    display:flex;align-items:center;justify-content:center;
    color:var(--gold);font-family:sans-serif;font-size:14px;font-weight:700;
  }
  .reg-step-connector{flex:1;height:1px;margin:0 4px;background:rgba(212,168,83,0.15);transition:background 0.4s;}
  .reg-step-connector.active{background:linear-gradient(90deg,var(--gold),rgba(212,168,83,0.5));}
  .reg-step-labels{display:flex;align-items:flex-start;margin-bottom:0;position:relative;z-index:1;}
  .reg-step-label-item{
    width:32px;text-align:center;font-size:8px;font-weight:700;
    letter-spacing:0.08em;text-transform:uppercase;
    color:rgba(212,168,83,0.3);line-height:1.4;transition:color 0.3s, text-shadow 0.3s;
  text-shadow:0 2px 18px rgba(0,0,0,0.32);flex-shrink:0;
  }
  .reg-step-label-item.active{color:rgba(212,168,83,0.8);}
  .reg-step-label-spacer{flex:1;}

  /* Form Body */
  .reg-form{padding:30px 44px 34px;}
  .reg-sending{display:none;text-align:center;padding:40px 44px;}
  .reg-success{display:none;text-align:center;padding:40px 44px;flex-direction:column;align-items:center;}
  .reg-upper{text-transform:uppercase;}
  .reg-hide{display:none !important;}
  .reg-done-btn{margin-top:20px;max-width:220px;}
  .reg-steps-outer{overflow:hidden;width:100%;}
  .reg-steps-inner{display:flex;width:300%;transition:transform 0.6s cubic-bezier(0.65,0,0.35,1);}
  .reg-step{flex:0 0 33.333%;width:33.333%;padding:0 2px;box-sizing:border-box;}

  /* Section Labels */
  .reg-section-label{
    font-size:9px;font-weight:800;letter-spacing:0.2em;text-transform:uppercase;
    color:var(--gold);border-bottom:1px solid rgba(212,168,83,0.15);
    padding-bottom:8px;margin-bottom:20px;display:flex;align-items:center;gap:10px;
  }
  .reg-section-label:not(:first-of-type){margin-top:24px;}
  .reg-section-label::after{content:'';flex:1;height:1px;background:rgba(212,168,83,0.1);}

  /* Fields */
  .reg-row{display:flex;flex-direction:column;gap:16px;margin-bottom:16px;}
  .reg-row-2{flex-direction:row;gap:18px;}
  .reg-row-2 .reg-field{flex:1;}
  .reg-field{display:flex;flex-direction:column;gap:6px;}
  .reg-field label{
    font-size:0.71rem;font-weight:700;letter-spacing:0.07em;
    text-transform:uppercase;color:#5A4A34;
  }
  .reg-req{color:var(--gold);}
  .reg-field input[type="text"],.reg-field input[type="email"],
  .reg-field input[type="tel"],.reg-field input[type="date"]{
    background:#FFFFFF;border:1.5px solid #DDD0B4;border-radius:9px;
    padding:13px 16px;color:#1A1714;font-size:0.9rem;
    font-family:inherit;outline:none;transition:border-color 0.25s,box-shadow 0.25s;
  }
  .reg-field input[type="text"]:focus,.reg-field input[type="email"]:focus,
  .reg-field input[type="tel"]:focus,.reg-field input[type="date"]:focus{
    border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,168,83,0.14);
  }
  .reg-field input::placeholder{color:#C0B49A;}
  .reg-phone-container{
    display:flex;width:100%;background:#fff;border:1.5px solid #DDD0B4;
    border-radius:9px;overflow:hidden;transition:border-color 0.25s,box-shadow 0.25s;
  }
  .reg-phone-container:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,168,83,0.14);}
  .reg-phone-container .reg-fsel,.reg-phone-container input{border:none!important;border-radius:0!important;box-shadow:none!important;}
  .reg-phone-container .reg-fsel{
    width:95px!important;border-right:1.5px solid #DDD0B4!important;
    padding:13px 10px;font-size:0.9rem;color:#1A1714;outline:none;background:transparent;
  }
  .reg-phone-container input{flex:1;}

  /* Upload Cards — Vault Style */
  .reg-upload-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:4px 0 6px;}
  @media(max-width:600px){.reg-upload-grid{grid-template-columns:repeat(2,1fr);}}
  .reg-upload-card{
    position:relative;border:1.5px dashed rgba(212,168,83,0.28);border-radius:14px;
    background:linear-gradient(150deg,#FDFAF4 0%,#F9F4EA 100%);
    padding:18px 10px 14px;display:flex;flex-direction:column;
    align-items:center;gap:7px;cursor:pointer;
    transition:all 0.3s cubic-bezier(0.4,0,0.2,1);min-height:122px;overflow:hidden;
  }
  .reg-upload-card::after{
    content:'';position:absolute;inset:0;border-radius:14px;
    background:radial-gradient(circle at 50% -10%,rgba(212,168,83,0.1) 0%,transparent 65%);
    opacity:0;transition:opacity 0.3s;pointer-events:none;
  }
  .reg-upload-card:hover::after,.reg-upload-card:focus-within::after{opacity:1;}
  .reg-upload-card:hover,.reg-upload-card:focus-within{
    border-color:var(--gold);border-style:solid;
    background:linear-gradient(150deg,#FFFCF4 0%,#FFF7E4 100%);
    transform:translateY(-3px);
    box-shadow:0 10px 28px rgba(212,168,83,0.2),0 2px 8px rgba(0,0,0,0.06);
  }
  .reg-upload-card.uploaded{
    border-style:solid;border-color:var(--gold);
    background:linear-gradient(150deg,#FFFDF5 0%,#FFF9E8 100%);
    box-shadow:0 4px 16px rgba(212,168,83,0.18);
  }
  .reg-upload-card.uploaded .reg-upload-icon{display:none;}
  .reg-upload-icon{font-size:1.9rem;line-height:1;filter:grayscale(0.6) opacity(0.7);transition:filter 0.3s,transform 0.3s;}
  .reg-upload-card:hover .reg-upload-icon{filter:none;transform:scale(1.1);}
  .reg-upload-label{
    font-size:0.69rem;font-weight:700;letter-spacing:0.06em;
    text-transform:uppercase;color:#4A3520;text-align:center;line-height:1.35;
  }
  .reg-upload-status{font-size:0.65rem;color:#A89880;text-align:center;line-height:1.3;}
  .reg-upload-card.uploaded .reg-upload-status{color:#3a9e52;font-weight:600;}
  .reg-upload-input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;z-index:10;}
  .reg-upload-card>*:not(.reg-upload-input):not(.reg-upload-remove){pointer-events:none;}
  .reg-upload-preview{display:none;width:100%;max-height:60px;object-fit:cover;border-radius:6px;margin-top:4px;}
  .reg-upload-card.uploaded .reg-upload-preview{display:block;}
  .reg-upload-remove{
    position:absolute;top:6px;right:7px;background:rgba(210,50,40,0.88);color:#fff;
    border:none;border-radius:50%;width:20px;height:20px;
    display:none;align-items:center;justify-content:center;
    font-size:13px;cursor:pointer;z-index:15;transition:all 0.2s;
  }
  .reg-upload-card.uploaded .reg-upload-remove{display:flex;}
  .reg-upload-remove:hover{background:#d42020;transform:scale(1.12);}

  /* Tooltip */
  .reg-tooltip-icon{
    display:inline-flex;align-items:center;justify-content:center;
    width:13px;height:13px;background:rgba(212,168,83,0.1);color:#8A6E2F;
    border:1px solid rgba(212,168,83,0.3);border-radius:50%;
    font-size:9px;font-weight:700;margin-left:4px;
    cursor:help;pointer-events:auto!important;position:relative;z-index:20;vertical-align:middle;
  }
  .reg-tooltip-content{
    position:absolute;bottom:150%;left:50%;
    transform:translateX(-50%) translateY(10px);
    background:#101820;color:rgba(244,237,216,0.9);
    padding:10px 14px;border-radius:8px;font-size:11px;font-weight:500;
    width:180px;text-align:center;opacity:0;pointer-events:none;
    transition:all 0.25s cubic-bezier(0.4,0,0.2,1);
    box-shadow:0 8px 24px rgba(0,0,0,0.35);text-transform:none;letter-spacing:0;
    line-height:1.5;z-index:100;border:1px solid rgba(212,168,83,0.2);
  }
  .reg-tooltip-content::after{
    content:'';position:absolute;top:100%;left:50%;margin-left:-5px;
    border-width:5px;border-style:solid;border-color:#101820 transparent transparent transparent;
  }
  .reg-tooltip-icon:hover .reg-tooltip-content{opacity:1;transform:translateX(-50%) translateY(0);}
  @media(max-width:600px){
    .reg-tooltip-content{width:140px;left:auto;right:-20px;transform:translateY(10px);}
    .reg-tooltip-content::after{left:auto;right:22px;}
    .reg-tooltip-icon:hover .reg-tooltip-content{transform:translateY(0);}
  }

  /* Nav Footer */
  .reg-footer{
    display:flex;justify-content:space-between;align-items:center;
    margin-top:32px;padding-top:22px;border-top:1px solid rgba(212,168,83,0.12);
  }
  .reg-nav-btn{
    padding:12px 26px;border-radius:8px;cursor:pointer;
    font-family:'Cinzel',serif;font-size:10px;font-weight:700;
    letter-spacing:0.15em;text-transform:uppercase;
    transition:all 0.3s ease;display:flex;align-items:center;gap:8px;outline:none;
  }
  .reg-btn-back{background:transparent;border:1.5px solid rgba(212,168,83,0.3);color:#8A6E2F;}
  .reg-btn-back:hover{background:rgba(212,168,83,0.08);border-color:var(--gold);}
  .reg-btn-next{
    background:linear-gradient(135deg,#D4A853 0%,#BE8E2A 100%);border:none;
    color:#16100A;margin-left:auto;box-shadow:0 4px 18px rgba(212,168,83,0.35);
  }
  .reg-btn-next:hover{background:linear-gradient(135deg,#E2B860 0%,#D4A030 100%);transform:translateY(-2px);box-shadow:0 7px 22px rgba(212,168,83,0.45);}
  .reg-btn-submit{
    background:linear-gradient(135deg,#D4A853 0%,#BE8E2A 100%);border:none;
    color:#16100A;margin-left:auto;box-shadow:0 4px 18px rgba(212,168,83,0.35);
  }
  .reg-btn-submit:hover{background:linear-gradient(135deg,#E2B860 0%,#D4A030 100%);transform:translateY(-2px);box-shadow:0 7px 22px rgba(212,168,83,0.45);}

  /* Spinner */
  .reg-spinner{
    width:48px;height:48px;border:3px solid rgba(212,168,83,0.15);
    border-top-color:var(--gold);border-radius:50%;
    animation:regSpin 0.8s linear infinite;margin:0 auto 16px;
  }
  @keyframes regSpin{to{transform:rotate(360deg);}}
  .reg-sending p{color:#6B5E4A;font-size:0.9rem;}

  /* Setup notice */
  .reg-setup-notice{
    background:rgba(212,168,83,0.06);border:1px solid rgba(212,168,83,0.22);
    border-radius:8px;padding:12px 16px;margin-bottom:20px;
    font-size:0.8rem;color:#7A5E20;line-height:1.6;
  }
  .reg-setup-notice strong{color:#5A4010;}

  /* Doc note */
  .reg-doc-note{
    font-size:0.8rem;color:#6B5E4A;line-height:1.6;margin:8px 0 14px;
    padding:10px 14px;background:rgba(212,168,83,0.06);border-radius:8px;
    border-left:3px solid rgba(212,168,83,0.45);
  }

  /* Checklist */
  .reg-checklist{display:flex;flex-direction:column;gap:10px;margin-bottom:6px;}
  .reg-check-item{
    display:flex;align-items:center;gap:12px;
    background:#FDFBF6;border:1px solid rgba(212,168,83,0.18);
    border-radius:10px;padding:11px 14px;cursor:pointer;
    transition:background 0.2s,border-color 0.2s;
    font-size:0.88rem;color:#3A2E22;line-height:1.4;
  }
  .reg-check-item:hover{background:rgba(212,168,83,0.06);border-color:rgba(212,168,83,0.4);}
  .reg-check-item input[type="checkbox"]{
    appearance:none;-webkit-appearance:none;
    width:20px;height:20px;min-width:20px;
    border:2px solid rgba(212,168,83,0.4);border-radius:5px;
    background:#fff;cursor:pointer;position:relative;transition:all 0.2s;
  }
  .reg-check-item input[type="checkbox"]:checked{background:var(--gold);border-color:var(--gold);}
  .reg-check-item input[type="checkbox"]:checked::after{
    content:'';position:absolute;left:5px;top:2px;
    width:6px;height:10px;border:2px solid #fff;border-top:none;border-left:none;transform:rotate(45deg);
  }
  .reg-check-item span{flex:1;}

  /* File zones legacy */
  .reg-file-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:4px;}
  .reg-file-zone{
    border:1.5px dashed rgba(212,168,83,0.4);border-radius:10px;padding:16px 14px;
    text-align:center;cursor:pointer;transition:border-color 0.2s,background 0.2s;
    background:rgba(212,168,83,0.03);position:relative;
  }
  .reg-file-zone:hover{border-color:var(--gold);background:rgba(212,168,83,0.07);}
  .reg-file-zone.has-file{border-color:#4CAF50;border-style:solid;background:rgba(76,175,80,0.05);}
  .reg-file-zone input[type="file"]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;}
  .reg-file-icon{font-size:22px;margin-bottom:6px;display:block;}
  .reg-file-label{font-size:0.75rem;font-weight:600;color:#6B5E4A;line-height:1.4;display:block;pointer-events:none;}
  .reg-file-name{font-size:0.7rem;color:#4CAF50;margin-top:4px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;}
  .reg-file-req{font-size:0.65rem;color:#C0A070;margin-top:2px;display:block;pointer-events:none;}

  /* Submit btn */
  .reg-submit-btn{
    display:flex;align-items:center;justify-content:center;gap:10px;
    width:100%;margin-top:28px;padding:16px 24px;
    background:linear-gradient(135deg,#D4A853,#BE8E2A);color:#16100A;
    border:none;border-radius:9px;
    font-size:0.9rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;
    cursor:pointer;transition:all 0.2s;font-family:inherit;
    box-shadow:0 4px 18px rgba(212,168,83,0.35);
  }
  .reg-submit-btn:hover{background:linear-gradient(135deg,#E2B860,#D4A030);transform:translateY(-2px);box-shadow:0 7px 22px rgba(212,168,83,0.45);}
  .reg-submit-btn:disabled{background:#C0B49A;cursor:not-allowed;transform:none;box-shadow:none;}
  .reg-submit-btn.loading{ cursor:not-allowed; }
  .reg-disclaimer{font-size:0.7rem;color:#B0A090;text-align:center;margin-top:14px;line-height:1.55;}

  /* Success */
  .reg-success-icon svg{width:64px;height:64px;margin-bottom:20px;}
  .reg-success-title{font-family:'Cormorant Garamond',serif;font-size:1.8rem;color:#1A1714;margin:0 0 10px;}
  .reg-success-msg{color:#6B5E4A;font-size:0.92rem;line-height:1.7;max-width:380px;}

  /* Ready panel */
  .reg-ready-panel{padding:10px 0 20px;flex-direction:column;align-items:center;text-align:center;}
  .reg-ready-icon{font-size:52px;margin-bottom:16px;}
  .reg-ready-title{font-family:'Cormorant Garamond',serif;font-size:1.8rem;color:#1A1714;margin:0 0 10px;font-weight:600;}
  .reg-ready-desc{color:#6B5E4A;font-size:0.9rem;line-height:1.7;margin:0 0 24px;max-width:440px;}
  .reg-ready-steps{display:flex;flex-direction:column;gap:10px;margin-bottom:24px;width:100%;max-width:420px;}
  .reg-ready-step{display:flex;align-items:center;gap:12px;background:#F9F6EE;border:1px solid rgba(212,168,83,0.2);border-radius:8px;padding:10px 14px;font-size:0.85rem;color:#3D3228;}

  @media(max-width:600px){
    .reg-header{padding:28px 22px 24px;}
    .reg-form,.reg-sending,.reg-success{padding:24px 22px 28px;}
    .reg-row-2{flex-direction:column;}
    .reg-file-grid{grid-template-columns:1fr;}
    .reg-modal{border-radius:16px;}
    .reg-step-label-item{font-size:7px;}
  }

/* ── Overlay ── */
.pf-modal-overlay {
    position: fixed; inset: 0; z-index: 9000;
    background: rgba(20,18,16,0.6);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    display: flex; align-items: center; justify-content: center;
    padding: 20px;
    opacity: 0; pointer-events: none;
    transition: opacity 0.35s ease;
  }
  .pf-modal-overlay.open { opacity: 1; pointer-events: auto; }

  .pf-modal {
    position: relative;
    background: var(--ivory);
    border: 1px solid rgba(212,168,83,0.25);
    border-radius: 16px;
    max-width: 740px; width: 100%;
    max-height: 90vh;
    overflow-y: auto;
    transform: translateY(28px) scale(0.97);
    transition: transform 0.38s cubic-bezier(0.22,1,0.36,1);
    scrollbar-width: thin;
    scrollbar-color: rgba(212,168,83,0.3) transparent;
    box-shadow: 0 24px 80px rgba(0,0,0,0.18);
  }
  .pf-modal-overlay.open .pf-modal { transform: translateY(0) scale(1); }
  .pf-modal::-webkit-scrollbar { width: 3px; }
  .pf-modal::-webkit-scrollbar-thumb { background: rgba(212,168,83,0.3); }

  .pf-modal-close {
    position: absolute; top: 18px; right: 20px;
    width: 34px; height: 34px;
    background: rgba(212,168,83,0.08);
    border: 1px solid rgba(212,168,83,0.25);
    color: #8A6E2F;
    font-size: 18px; line-height: 1;
    cursor: pointer; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    transition: all 0.25s;
    z-index: 2;
  }
  .pf-modal-close:hover { background: var(--gold); color: #fff; border-color: var(--gold); }

  .pf-modal-header {
    padding: 44px 44px 28px;
    border-bottom: 1px solid rgba(212,168,83,0.15);
    position: relative;
    background: linear-gradient(135deg, var(--ivory) 0%, var(--pearl) 100%);
    border-radius: 16px 16px 0 0;
  }
  .pf-modal-badge {
    display: inline-block;
    font-family: 'Cinzel', serif;
    font-size: 9px; font-weight: 700;
    letter-spacing: 0.22em; text-transform: uppercase;
    color: var(--gold);
    border: 1px solid rgba(212,168,83,0.4);
    padding: 4px 14px;
    margin-bottom: 14px;
    background: rgba(212,168,83,0.08);
    border-radius: 20px;
  }
  .pf-modal-title {
    font-family: 'Cinzel', serif;
    font-size: clamp(26px, 5vw, 38px);
    font-weight: 700;
    letter-spacing: 0.06em;
    color: var(--ink);
    margin-bottom: 8px;
    line-height: 1.1;
  }
  .pf-modal-tagline {
    font-family: 'Cormorant Garamond', serif;
    font-size: 17px; font-style: italic;
    color: var(--ash);
    letter-spacing: 0.02em;
  }
  .pf-modal-accent-line {
    position: absolute; bottom: 0; left: 44px;
    width: 52px; height: 2px;
    background: var(--gold);
  }

  .pf-modal-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-bottom: 1px solid rgba(212,168,83,0.12);
    background: var(--pearl);
  }
  .pf-modal-stat {
    padding: 22px 16px;
    text-align: center;
    border-right: 1px solid rgba(212,168,83,0.1);
  }
  .pf-modal-stat:last-child { border-right: none; }
  .pf-modal-stat-val {
    display: block;
    font-family: 'Cinzel', serif;
    font-size: 18px; font-weight: 700;
    color: var(--gold);
    margin-bottom: 5px;
    letter-spacing: 0.04em;
  }
  .pf-modal-stat-lbl {
    font-family: 'Raleway', sans-serif;
    font-size: 9.5px; font-weight: 600;
    letter-spacing: 0.14em; text-transform: uppercase;
    color: var(--ash);
  }

  .pf-modal-body {
    padding: 32px 44px 44px;
    display: flex; flex-direction: column; gap: 28px;
    background: var(--ivory);
    border-radius: 0 0 16px 16px;
  }

  .pf-modal-section-lbl {
    font-family: 'Cinzel', serif;
    font-size: 9px; font-weight: 700;
    letter-spacing: 0.22em; text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 10px;
    display: flex; align-items: center; gap: 10px;
  }
  .pf-modal-section-lbl::after {
    content: ''; flex: 1; height: 1px;
    background: rgba(212,168,83,0.2);
  }
  .pf-modal-strategy {
    font-family: 'Raleway', sans-serif;
    font-size: 14.5px; line-height: 1.85;
    color: var(--charcoal);
    white-space: pre-wrap;
  }

  .pf-modal-holdings { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
  .pf-modal-holding-tag {
    font-family: 'Cinzel', serif;
    font-size: 9px; font-weight: 700;
    letter-spacing: 0.14em; text-transform: uppercase;
    color: var(--ash);
    border: 1px solid rgba(212,168,83,0.3);
    padding: 6px 14px;
    border-radius: 20px;
    background: rgba(212,168,83,0.06);
    transition: all 0.2s;
  }
  .pf-modal-holding-tag:hover {
    border-color: var(--gold);
    color: var(--gold);
    background: rgba(212,168,83,0.12);
  }

  .pf-modal-risk-wrap { margin-top: 4px; }
  .pf-modal-risk-bar {
    height: 6px; background: var(--smoke);
    border-radius: 3px; overflow: hidden;
    margin-top: 10px; margin-bottom: 8px;
  }
  .pf-modal-risk-fill { height: 100%; width: 50%; border-radius: 3px; transition: width 0.6s ease; }
  .pf-modal-risk-labels {
    display: flex; justify-content: space-between;
    font-family: 'Raleway', sans-serif;
    font-size: 9px; font-weight: 600;
    letter-spacing: 0.1em; text-transform: uppercase;
    color: var(--ash);
  }

  .pf-modal-bestfor {
    background: rgba(212,168,83,0.06);
    border-left: 3px solid var(--gold);
    padding: 14px 18px;
    border-radius: 0 8px 8px 0;
  }
  .pf-modal-bestfor p { font-family: 'Raleway', sans-serif; font-size: 13.5px; line-height: 1.7; color: var(--charcoal); }
  .pf-modal-bestfor strong { color: var(--gold); font-weight: 700; }

  .pf-modal-cta {
    display: inline-flex; align-items: center; gap: 12px;
    padding: 16px 48px;
    background: var(--gold);
    color: #fff;
    font-family: 'Cinzel', serif;
    font-size: 11px; font-weight: 700;
    letter-spacing: 0.22em; text-transform: uppercase;
    border: none; cursor: pointer;
    border-radius: 6px;
    position: relative; overflow: hidden;
    transition: background 0.3s, box-shadow 0.3s, transform 0.2s;
    box-shadow: 0 4px 20px rgba(212,168,83,0.35);
    align-self: flex-start;
  }
  .pf-modal-cta:hover { background: #B8862A; box-shadow: 0 6px 28px rgba(212,168,83,0.5); transform: translateY(-2px); color: #fff; }
  .pf-modal-cta span, .pf-modal-cta svg { position: relative; z-index: 10; }

#float-wa {
  position: fixed; bottom: 30px; right: 30px;
  background: var(--ink);
  color: var(--gold);
  text-decoration: none;
  display: flex; align-items: center;
  padding: 10px 18px;
  border-radius: 50px;
  border: 1px solid var(--gold-thin);
  box-shadow: 0 10px 30px rgba(0,0,0,0.25);
  backdrop-filter: blur(10px);
  z-index: 1000;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  overflow: hidden;
}
#float-wa:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 40px rgba(212,168,83,0.3);
  border-color: var(--gold);
}
.wa-icon {
  width: 20px; height: 20px;
  display: flex; align-items: center; justify-content: center;
  margin-right: 12px;
}
.wa-icon svg { width: 100%; height: 100%; }
.wa-text {
  font-family: 'Cinzel', serif;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  white-space: nowrap;
  display: flex; align-items: center; gap: 8px;
}
#wa-status-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  margin-left: 10px;
  display: inline-block;
  box-shadow: 0 0 10px rgba(0,0,0,0.2);
}
.status-online { background: #25D366; box-shadow: 0 0 10px #25D366 !important; }
.status-offline { background: #888; }

#wa-status-text {
  font-size: 8px;
  opacity: 0.7;
  font-family: 'Raleway', sans-serif;
  letter-spacing: 1px;
}

/* Pulse animation for the border */
#float-wa::after {
  content: '';
  position: absolute; inset: -2px;
  border-radius: 50px;
  border: 2px solid var(--gold);
  opacity: 0;
  animation: wa-pulse 2s infinite;
}
@keyframes wa-pulse {
  0% { transform: scale(1); opacity: 0.5; }
  100% { transform: scale(1.2); opacity: 0; }
}
/* Hide text on very small phones but keep icon */
@media (max-width: 480px) {
  #float-wa { bottom: 20px; right: 20px; padding: 12px; }
  .wa-text { display: none; }
  .wa-icon { margin-right: 0; }
}

/* ══ SECURITY WARNING MODAL ══ */
.sec-modal-overlay {
  position: fixed; inset: 0; background: rgba(14,13,11,0.85);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  z-index: 2000; display: flex; align-items: center; justify-content: center;
  opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 0.4s ease, visibility 0.4s ease;
}
.sec-modal-overlay.active { opacity: 1; visibility: visible; pointer-events: auto; }
.sec-modal {
  background: var(--ink); border: 1px solid var(--gold);
  width: 90%; max-width: 440px; padding: 48px 40px; text-align: center;
  box-shadow: 0 20px 60px rgba(0,0,0,0.5), 0 0 20px rgba(212,168,83,0.15);
  transform: translateY(20px); transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.sec-modal-overlay.active .sec-modal { transform: translateY(0); }
.sec-icon {
  width: 64px; height: 64px; margin: 0 auto 28px;
  border: 1px solid var(--gold-thin); border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: var(--gold); background: rgba(212,168,83,0.05);
}
.sec-title {
  font-family: 'Cinzel', serif; font-size: 18px; font-weight: 700;
  letter-spacing: 0.15em; text-transform: uppercase; color: var(--gold);
  margin-bottom: 16px;
}
.sec-message {
  font-family: 'Raleway', sans-serif; font-size: 14px; font-weight: 500;
  line-height: 1.8; color: rgba(248,247,243,0.7); margin-bottom: 32px;
}
.sec-btn {
  display: inline-block; padding: 12px 32px;
  background: var(--gold); color: var(--ink);
  font-family: 'Cinzel', serif; font-size: 11px; font-weight: 700;
  letter-spacing: 0.2em; text-transform: uppercase;
  text-decoration: none; cursor: pointer; border: none;
  transition: all 0.3s;
}
.sec-btn:hover { background: #fff; transform: translateY(-2px); }



