/* ════════════════════════════════════════════════════════ 
 SIKORA CAPITAL — styles.css 
 "Forward With Purpose" 
 ════════════════════════════════════════════════════════ */ 
:root { 
 --primary: #00A19B; 
 --primary-light: #00C8C1; 
 --primary-dark: #007A75; 
 --dark: #0B1D26; 
 --dark-mid: #0F2630; 
 --dark-lighter: #132D3A; 
 --dark-card: #0E2733; 
 --gold: #D4AF37; 
 --gold-light: #E8C95A; 
 --frost: #F4F9F9; 
 --slate: #2C3E50; 
 --silver: #E8EDEE; 
 --silver-dim: rgba(232, 237, 238, 0.6); 
 --silver-faint: rgba(232, 237, 238, 0.4); 
 --white: #FFFFFF; 
 --font-primary: 'Inter', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; 
 --font-display: 'Playfair Display', Georgia, serif; 
 --max-width: 1200px; 
 --nav-height: 90px; 
} 
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; } 
html { scroll-behavior: smooth; font-size: 16px; } 
body { 
 font-family: var(--font-primary); 
 background: var(--dark); 
 color: var(--silver); 
 overflow-x: hidden; 
 line-height: 1.6; 
} 
a { color: inherit; text-decoration: none; } 
img { max-width: 100%; height: auto; } 
/* ═════════ NAVIGATION ═════════ */ 
.navbar { 
 position: fixed; top: 0; left: 0; width: 100%; 
 z-index: 1000; 
 padding: 0.8rem 4%; 
 padding-top: 1.375rem; 
 display: flex; align-items: center; justify-content: space-between; 
 transition: background 0.4s ease, box-shadow 0.4s ease; 
 background: transparent; 
 height: var(--nav-height); 
} 
.navbar.scrolled { 
 background: rgba(11, 29, 38, 0.97); 
 backdrop-filter: blur(16px); 
 box-shadow: 0 2px 30px rgba(0, 0, 0, 0.3); 
} 
.nav-logo img { height: 75px; transition: transform 0.3s ease; } 
.nav-logo img:hover { transform: scale(1.05); } 
.nav-links { display: flex; list-style: none; gap: 1.8rem; align-items: center; } 
.nav-links li a { 
 font-size: 0.72rem; letter-spacing: 0.16em; 
 text-transform: uppercase; color: var(--silver); 
 text-decoration: none; position: relative; 
 padding-bottom: 4px; transition: color 0.3s ease; font-weight: 500; 
} 
.nav-links li a::after { 
 content: ""; position: absolute; bottom: 0; left: 0; 
 width: 0; height: 1.5px; background: var(--gold); transition: width 0.3s ease; 
} 
.nav-links li a:hover { color: var(--primary-light); } 
.nav-links li a:hover::after { width: 100%; } 
.nav-links li a.active { color: var(--primary); } 
.nav-links li a.active::after { width: 100%; background: var(--primary); } 
.nav-btn { 
 background: linear-gradient(135deg, var(--gold), var(--gold-light)) !important; 
 color: var(--dark) !important; padding: 0.5rem 1.2rem !important; 
 font-weight: 600 !important; letter-spacing: 0.12em !important; 
 transition: all 0.3s ease !important; 
} 
.nav-btn:hover { box-shadow: 0 4px 20px rgba(212, 175, 55, 0.3) !important; transform: translateY(-1px) !important; } 
.nav-btn::after { display: none !important; }
/* ── Private Access Dropdown ── */
.nav-dropdown { position:relative; }
.nav-dropdown .nav-btn { cursor:pointer; user-select:none; }
.nav-dropdown-menu {
  position:absolute; top:calc(100% + 0.6rem); right:0;
  background:rgba(11,29,38,0.97); backdrop-filter:blur(16px);
  border:1px solid rgba(0,161,155,0.12);
  min-width:240px; padding:1.2rem 0;
  opacity:0; visibility:hidden; transform:translateY(6px);
  transition:opacity 0.25s ease, visibility 0.25s ease, transform 0.25s ease;
  z-index:1002;
}
.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown-menu:hover {
  opacity:1; visibility:visible; transform:translateY(0);
}
.nav-dropdown-heading {
  display:block; font-size:0.6rem; letter-spacing:0.25em;
  text-transform:uppercase; color:var(--gold); font-weight:600;
  padding:0 1.5rem 0.8rem; border-bottom:1px solid rgba(0,161,155,0.08);
  margin-bottom:0.5rem;
}
.nav-dropdown-menu a {
  display:block; padding:0.6rem 1.5rem;
  font-size:0.78rem; letter-spacing:0.03em;
  color:var(--silver); text-decoration:none;
  transition:background 0.2s ease, color 0.2s ease;
  text-transform:none;
}
.nav-dropdown-menu a:hover { background:rgba(0,161,155,0.08); color:var(--white); }
.nav-dropdown-sub {
  display:block; font-size:0.62rem; letter-spacing:0.08em;
  color:var(--silver-faint); margin-top:0.15rem;
} 
.hamburger { display: none; flex-direction: column; cursor: pointer; gap: 6px; z-index: 1001; background: none; border: none; padding: 0; -webkit-appearance: none; appearance: none; outline: none; } 
.hamburger span { width: 28px; height: 2px; background: var(--silver); transition: all 0.3s ease; } 
.hamburger.active span:nth-child(1) { transform: rotate(45deg) translate(5px, 6px); } 
.hamburger.active span:nth-child(2) { opacity: 0; } 
.hamburger.active span:nth-child(3) { transform: rotate(-45deg) translate(5px, -6px); } 
/* ═════════ HERO — HOME ═════════ */ 
.hero { 
 position: relative; min-height: 100vh; 
 display: flex; align-items: center; justify-content: center; 
 text-align: center; overflow: hidden; 
} 
.hero-bg { 
 position: absolute; top: 0; left: 0; width: 100%; height: 100%; 
 background: 
 radial-gradient(ellipse at 20% 50%, rgba(0,161,155,0.07) 0%, transparent 50%), 
 radial-gradient(ellipse at 80% 20%, rgba(212,175,55,0.03) 0%, transparent 50%), 
 radial-gradient(ellipse at 50% 80%, rgba(0,161,155,0.04) 0%, transparent 50%), 
 linear-gradient(180deg, #0B1D26 0%, #0E2733 30%, #0F2630 60%, #0B1D26 100%); 
 z-index: 0; 
} 
.hero-particles { position: absolute; top:0; left:0; width:100%; height:100%; z-index:1; opacity:0.12; } 
.hero-particles .particle { position: absolute; width:1px; height:100%; background: linear-gradient(to bottom, transparent, var(--primary), transparent); animation: linePulse 4s ease-in-out infinite; } 
.hero-particles .particle:nth-child(1){left:12%;animation-delay:0s} 
.hero-particles .particle:nth-child(2){left:30%;animation-delay:1s} 
.hero-particles .particle:nth-child(3){left:50%;animation-delay:2s} 
.hero-particles .particle:nth-child(4){left:70%;animation-delay:0.5s} 
.hero-particles .particle:nth-child(5){left:88%;animation-delay:1.5s} 
@keyframes linePulse { 0%,100%{opacity:0.1} 50%{opacity:0.5} } 
.hero-content { position:relative; z-index:2; max-width:900px; padding:0 2rem; display:flex; flex-direction:column; align-items:center; } 

/* Crossfade container — video and shield stacked (enhanced) */
.hero-media-container {
  position: relative;
  width: 720px;
  max-width: 90vw;
  margin-bottom: 2rem;
  opacity: 0;
  animation: fadeInUp 1s ease 0.3s forwards;
  will-change: transform, opacity;
}

/* Video starts fully visible on top */
.hero-video {
  display: block;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 0 40px rgba(0,161,155,0.25));
  background-color: var(--dark);
  object-fit: contain;
  border: none;
  outline: none;
  opacity: 1;
  transition: opacity 1.1s ease-in-out;
  position: relative;
  z-index: 2;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  will-change: opacity, transform;
}

/* When video ends, fade it out smoothly */
.hero-video.fade-out {
  opacity: 0;
}

/* Shield is centered & initially hidden, slightly scaled down */
.hero-shield {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.96);
  transform-origin: center center;
  width: 330px;
  height: auto;
  filter: drop-shadow(0 0 40px rgba(0,161,155,0.27));
  opacity: 0;
  transition:
    opacity 1.1s ease-in-out 0.15s,
    transform 1.1s ease-out 0.15s;
  z-index: 1;
}

/* On fade-in, shield becomes visible & scales up slightly */
.hero-shield.fade-in {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

/* Strong glow pulse after shield is fully visible */
@keyframes shieldGlowPulse {
  0% {
    /* baseline glow slightly stronger than idle */
    filter: drop-shadow(0 0 40px rgba(0,161,155,0.35));
    transform: translate(-50%, -50%) scale(1);
  }
  30% {
    /* peak glow: large, bright, noticeable */
    filter: drop-shadow(0 0 120px rgba(0,161,155,1));
    transform: translate(-50%, -50%) scale(1.07);
  }
  55% {
    /* easing back but still bright */
    filter: drop-shadow(0 0 90px rgba(0,161,155,0.8));
    transform: translate(-50%, -50%) scale(1.04);
  }
  100% {
    /* final idle state, still slightly richer than start */
    filter: drop-shadow(0 0 45px rgba(0,161,155,0.4));
    transform: translate(-50%, -50%) scale(1);
  }
}

/* Applied once after the fade-in finishes */
.hero-shield.glow-pulse {
  animation: shieldGlowPulse 1.6s ease-out 0.05s 1;
}

/* Hero slogan keeps original entrance animation */
.hero-slogan { 
  font-family:var(--font-display); 
  font-size:clamp(1.5rem,3vw,2.1rem); 
  letter-spacing:0.25em; 
  text-transform:uppercase; 
  color:var(--white); 
  line-height:1; 
  margin-bottom:1.5rem; 
  font-weight:400; 
  white-space:nowrap; 
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.8s ease, transform 0.8s ease;
} 

/* Shared reveal class for staggered hero elements */
.hero-reveal {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* Hero text under the slogan: initial (hidden) state */
.hero-divider {
  width:80px;
  height:1.5px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  margin:0 auto 1.5rem;
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.hero-subtitle {
  font-size:clamp(0.95rem,1.8vw,1.05rem);
  font-weight:300;
  color:var(--silver-dim);
  letter-spacing:0.04em;
  line-height:2;
  margin-bottom:1.5rem;
  max-width:600px;
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.hero-subtitle strong {
  color: var(--white);
}

.hero-cta {
  display:inline-block;
  font-family:var(--font-primary);
  font-size:0.72rem;
  letter-spacing:0.25em;
  text-transform:uppercase;
  text-decoration:none;
  color:var(--dark);
  background:linear-gradient(135deg,var(--gold),var(--gold-light));
  padding:1rem 3rem;
  border:none;
  position:relative;
  overflow:hidden;
  cursor:pointer;
  font-weight:600;
  opacity: 0;
  transform: translateY(24px);
  transition:
    opacity 0.6s ease,
    transform 0.6s ease,
    box-shadow 0.4s ease,
    background 0.4s ease;
}

.hero-cta::before {
  content:"";
  position:absolute;
  top:0;
  left:-100%;
  width:100%;
  height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,0.2),transparent);
  transition:left 0.5s ease;
}

.hero-cta:hover {
  transform:translateY(-2px);
  box-shadow:0 8px 30px rgba(212,175,55,0.3);
  color:var(--dark);
}

.hero-cta:hover::before { left:100%; }


.scroll-indicator { position:absolute; bottom:2.5rem; left:0; right:0; z-index:2; display:flex; flex-direction:column; align-items:center; gap:0.5rem; opacity:0; animation:fadeInUp 1s ease 2s forwards; } 
.scroll-indicator span { font-size:0.6rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--silver-faint); } 
.scroll-mouse { width:20px; height:34px; border:1.5px solid rgba(232,237,238,0.25); border-radius:12px; position:relative; } 
.scroll-mouse::after { content:""; position:absolute; top:6px; left:50%; transform:translateX(-50%); width:3px; height:8px; background:var(--primary); border-radius:2px; animation:scrollBounce 2s infinite; } 
@keyframes scrollBounce { 0%,100%{top:6px;opacity:1} 50%{top:18px;opacity:0.3} } 
/* ═════════ TRUST BAR ═════════ */ 
.trust-bar { background:var(--dark-mid); border-top:1px solid rgba(0,161,155,0.08); border-bottom:1px solid rgba(0,161,155,0.08); display:flex; justify-content:center; gap:4rem; padding:2rem 4%; flex-wrap:wrap; } 
.trust-item { display:flex; align-items:center; gap:0.8rem; opacity:0; transform:translateY(20px); transition:all 0.6s ease; } 
.trust-item.visible { opacity:1; transform:translateY(0); } 
.trust-icon { width:36px; height:36px; display:flex; align-items:center; justify-content:center; } 
.trust-icon svg { width:22px; height:22px; fill:none; stroke:var(--primary); stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; } 
.trust-text { font-size:0.78rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--silver-dim); font-weight:500; } 
/* ═════════ PHILOSOPHY TEASER (HOME) ═════════ */ 
.philosophy { max-width:800px; margin:0 auto; padding:7rem 2rem; text-align:center; opacity:0; transform:translateY(30px); transition:all 0.8s ease; } 
.philosophy.visible { opacity:1; transform:translateY(0); } 
.philosophy-label { font-size:0.7rem; letter-spacing:0.3em; text-transform:uppercase; color:var(--gold); margin-bottom:2rem; font-weight:600; } 
.philosophy-statement { font-family:var(--font-display); font-size:clamp(1.1rem,2.2vw,1.35rem); line-height:1.9; color:var(--silver); font-weight:400; margin-bottom:2rem; } 
.philosophy-statement:last-of-type { margin-bottom:2.5rem; } 
.philosophy-statement strong { color:var(--white); } 
.text-link { font-size:0.75rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--primary); text-decoration:none; transition:color 0.3s ease; font-weight:500; } 
.text-link:hover { color:var(--primary-light); } 
/* ═════════ SECTION HEADERS ═════════ */ 
.section-header { text-align:center; margin-bottom:4rem; } 
.section-label { font-size:0.7rem; letter-spacing:0.3em; text-transform:uppercase; color:var(--gold); margin-bottom:1rem; font-weight:600; } 
.section-title { font-family:var(--font-display); font-size:clamp(1.8rem,3.5vw,2.8rem); color:var(--white); font-weight:400; letter-spacing:0.04em; } 
/* ═════════ SIKORA VERTICAL FRAMEWORK (HOME) ═════════ */ 
.sikora-framework { padding:5rem 4% 7rem; max-width:var(--max-width); margin:0 auto; } 
.sikora-vertical { display:flex; flex-direction:column; gap:0; } 
.sikora-row { display:grid; grid-template-columns:80px 1fr 40px; align-items:center; padding:2rem 2.5rem; border-bottom:1px solid rgba(0,161,155,0.06); cursor:pointer; transition:all 0.4s ease; opacity:0; transform:translateY(20px); } 
.sikora-row.visible { opacity:1; transform:translateY(0); } 
.sikora-row:hover { background:var(--dark-card); } 
.sikora-row:first-child { border-top:1px solid rgba(0,161,155,0.06); } 
.sikora-letter-col { display:flex; align-items:center; justify-content:center; } 
.sikora-letter { font-family:var(--font-display); font-size:3rem; color:var(--primary); opacity:0.35; line-height:1; font-weight:400; transition:opacity 0.3s ease; } 
.sikora-row:hover .sikora-letter { opacity:0.7; } 
.sikora-detail-col { padding-left:1.5rem; } 
.sikora-name { font-family:var(--font-display); font-size:1.2rem; color:var(--white); margin-bottom:0.4rem; font-weight:400; letter-spacing:0.02em; } 
.sikora-desc { font-size:0.88rem; line-height:1.6; color:var(--silver-dim); } 
.sikora-row:hover /* ═════════ SIKORA FRAMEWORK — PHILOSOPHY PAGE ═════════ */ 
.philosophy-page-framework { max-width:100%; padding:0; } 
.philosophy-page-framework .sikora-vertical { gap:0; } 
.sikora-detail-row { display:grid; grid-template-columns:120px 1fr; gap:2.5rem; padding:5rem 4%; max-width:1000px; margin:0 auto; opacity:0; transform:translateY(30px); transition:all 0.8s ease; } 
.sikora-detail-row.visible { opacity:1; transform:translateY(0); } 
.sikora-detail-row.alt { background:var(--dark-mid); max-width:100%; padding-left:calc((100% - 1000px)/2 + 4%); padding-right:calc((100% - 1000px)/2 + 4%); } 
@media (min-width:1100px) { .sikora-detail-row.alt { padding-left:calc((100% - 880px)/2); padding-right:calc((100% - 880px)/2); } } 
.sikora-letter-large { font-family:var(--font-display); font-size:6rem; color:var(--primary); line-height:1; opacity:0.25; font-weight:400; text-align:center; } 
.sikora-detail-full { padding-top:0.5rem; } 
.sikora-detail-title { font-family:var(--font-display); font-size:clamp(1.6rem,2.5vw,2.2rem); color:var(--white); margin-bottom:0.5rem; font-weight:400; letter-spacing:0.04em; } 
.sikora-detail-maxim { font-size:1rem; color:var(--gold); margin-bottom:2rem; } 
.sikora-detail-full p { font-size:1rem; line-height:1.9; color:var(--silver-dim); margin-bottom:1.5rem; } 
.discipline-closing { color:var(--silver) !important; border-left:2px solid var(--primary); padding-left:1.5rem; margin-top:2rem !important; } 
/* ═════════ PAGE HERO (SUB-PAGES) ═════════ */ 
.page-hero { position:relative; min-height:60vh; display:flex; align-items:center; justify-content:center; text-align:center; overflow:hidden; padding-top:var(--nav-height); } 
.page-hero-short { min-height:45vh; } 
.page-hero-tight { min-height:50vh; } 
.page-hero-content { position:relative; z-index:2; max-width:800px; padding:4rem 2rem; } 
.page-hero-label { font-size:0.7rem; letter-spacing:0.3em; text-transform:uppercase; color:var(--gold); margin-bottom:1.5rem; font-weight:600; } 
.page-hero-title { font-family:var(--font-display); font-size:clamp(2.2rem,5vw,3.8rem); color:var(--white); letter-spacing:0.1em; text-transform:uppercase; margin-bottom:1.5rem; font-weight:400; animation:fadeInUp 0.8s ease forwards; } 
.page-hero-subtitle { font-size:clamp(0.95rem,1.6vw,1.1rem); color:var(--silver-dim); line-height:1.7; font-weight:300; max-width:650px; margin:0 auto; animation:fadeInUp 0.8s ease 0.2s both; } 
/* ═════════ PHILOSOPHY PAGE INTRO ═════════ */ 
.model-intro { max-width:800px; margin:0 auto; padding:5rem 2rem 3rem; } 
.model-intro-content { opacity:0; transform:translateY(30px); transition:all 0.8s ease; } 
.model-intro-content.visible { opacity:1; transform:translateY(0); } 
.model-intro-content p { font-family:var(--font-display); font-size:1.15rem; line-height:1.9; color:var(--silver); margin-bottom:1.5rem; } 
/* ═════════ WHO I WORK WITH — NARRATIVE ═════════ */ 
.client-narrative-section { padding:5rem 4% 7rem; } 
.client-narrative-tight { padding-top:2rem; } 
.client-narrative { max-width:750px; margin:0 auto; } 
.narrative-block { margin-bottom:2.5rem; opacity:0; transform:translateY(20px); transition:all 0.7s ease; } 
.narrative-block.visible { opacity:1; transform:translateY(0); } 
.narrative-block p { font-family:var(--font-display); font-size:clamp(1.05rem,1.8vw,1.25rem); line-height:1.9; color:var(--silver); } 
.narrative-block.closing p { color:var(--white); font-weight:600; } 
/* ═════════ ABOUT PAGE — HERO WITH PHOTO ═════════ */ 
.about-hero { position:relative; min-height:70vh; display:flex; align-items:center; overflow:hidden; padding-top:var(--nav-height); padding-bottom:3rem; } 
.about-hero-grid { position:relative; z-index:2; max-width:var(--max-width); margin:0 auto; padding:4rem 4%; display:grid; grid-template-columns:340px 1fr; gap:4rem; align-items:center; opacity:0; transform:translateY(30px); transition:all 0.8s ease; } 
.about-hero-grid.visible { opacity:1; transform:translateY(0); } 
.about-hero-photo { overflow:hidden; border:1px solid rgba(0,161,155,0.12); aspect-ratio:3/4; } 
.about-hero-photo img { width:100%; height:100%; object-fit:cover; filter:grayscale(15%); transition:filter 0.4s ease; } 
.about-hero-photo:hover img { filter:grayscale(0%); } 
.about-hero-text { text-align:left; } 
.about-hero-text .page-hero-title { text-align:left; } 
.about-hero-intro { font-size:1.05rem; line-height:1.9; color:var(--silver-dim); margin-bottom:1.5rem; } 
/* About page — Ross Sikora name title (no uppercase) */ 
.about-name-title { text-transform:none; letter-spacing:0.04em; font-size:clamp(2rem,4vw,3.2rem); } 
/* ABOUT SECTIONS */ 
.about-section { padding:5rem 4%; } 
.about-section.alt { background:var(--dark-mid); } 
.about-content { max-width:780px; margin:0 auto; } 
.about-block { opacity:0; transform:translateY(30px); transition:all 0.8s ease; } 
.about-block.visible { opacity:1; transform:translateY(0); } 
.about-heading { font-family:var(--font-display); font-size:clamp(1.5rem,2.5vw,2rem); color:var(--white); margin-bottom:2rem; font-weight:400; letter-spacing:0.03em; } 
.about-block p { font-size:1.05rem; line-height:1.9; color:var(--silver-dim); margin-bottom:1.5rem; } 
.about-block p strong { color:var(--white); } 
.about-signature { font-family:var(--font-display); font-size:1.3rem; color:var(--white) !important; font-style:italic; margin-top:2rem !important; padding-top:1.5rem; border-top:1px solid rgba(0,161,155,0.1); } 
/* ═════════ CONTACT PAGE ═════════ */ 
.contact-section { padding:5rem 4% 7rem; } 
.contact-grid { max-width:var(--max-width); margin:0 auto; display:grid; grid-template-columns:1fr 1.2fr; gap:5rem; align-items:start; } 
.contact-info { opacity:0; transform:translateY(30px); transition:all 0.8s ease; } 
.contact-info.visible { opacity:1; transform:translateY(0); } 
.contact-info h2 { font-family:var(--font-display); font-size:1.8rem; color:var(--white); font-weight:400; margin-bottom:0.5rem; } 
.contact-role { font-size:0.85rem; color:var(--primary); letter-spacing:0.1em; text-transform:uppercase; font-weight:500; margin-bottom:0.3rem; } 
.contact-firm { font-size:0.85rem; color:var(--silver-dim); margin-bottom:2.5rem; } 
.contact-details { display:flex; flex-direction:column; gap:1.5rem; margin-bottom:2.5rem; } 
.contact-item { display:flex; align-items:flex-start; gap:1rem; } 
.contact-item svg { width:20px; height:20px; fill:none; stroke:var(--primary); stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; margin-top:2px; } 
.contact-item p, .contact-item a { font-size:0.95rem; color:var(--silver); line-height:1.5; } 
.contact-item a { transition:color 0.3s ease; } 
.contact-item a:hover { color:var(--primary-light); } 
.contact-social { margin-bottom:2.5rem; } 
.social-link { display:inline-flex; align-items:center; gap:0.6rem; font-size:0.8rem; letter-spacing:0.15em; text-transform:uppercase; color:var(--silver-dim); transition:color 0.3s ease; font-weight:500; } 
.social-link:hover { color:var(--primary-light); } 
.social-link svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; } 
.contact-registrant { padding-top:2rem; border-top:1px solid rgba(0,161,155,0.08); } 
.contact-registrant p { font-size:0.75rem; color:var(--silver-faint); line-height:1.6; } 
.contact-form-wrapper { opacity:0; transform:translateY(30px); transition:all 0.8s ease 0.2s; } 
.contact-form-wrapper.visible { opacity:1; transform:translateY(0); } 
.contact-form { display:flex; flex-direction:column; gap:1.5rem; } 
.form-group { display:flex; flex-direction:column; gap:0.5rem; } 
.form-group label { font-size:0.72rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--silver-dim); font-weight:500; } 
.form-group .optional { text-transform:none; letter-spacing:normal; color:var(--silver-faint); font-weight:400; } 
.form-group input, .form-group textarea { background:var(--dark-card); border:1px solid rgba(0,161,155,0.12); color:var(--white); font-family:var(--font-primary); font-size:0.95rem; padding:1rem; transition:border-color 0.3s ease, box-shadow 0.3s ease; outline:none; width:100%; } 
.form-group input:focus, .form-group textarea:focus { border-color:var(--primary); box-shadow:0 0 0 3px rgba(0,161,155,0.1); } 
.form-group textarea { resize:vertical; min-height:120px; } 
.form-submit { align-self:flex-start; opacity:1; animation:none; transform:none; transition:box-shadow 0.4s ease, background 0.4s ease; }
.form-submit:hover { transform:none; box-shadow:0 8px 30px rgba(212,175,55,0.3); } 
/* ═════════ INSIGHTS PAGE ═════════ */
/* Shared section structure */
.insights-commentary-section { padding:5rem 4% 0; }
.insights-podcast-section { padding:5rem 4% 0; background:var(--dark-mid); }
.insights-archive-section { padding:5rem 4% 5rem; }
.insights-section-inner { max-width:var(--max-width); margin:0 auto; }
.insights-section-header { text-align:center; margin-bottom:3.5rem; opacity:0; transform:translateY(20px); transition:all 0.8s ease; }
.insights-section-header.visible { opacity:1; transform:translateY(0); }
.insights-section-label { font-size:0.7rem; letter-spacing:0.3em; text-transform:uppercase; color:var(--gold); margin-bottom:1rem; font-weight:600; display:block; }
.insights-section-title { font-family:var(--font-display); font-size:clamp(1.5rem,2.5vw,2rem); color:var(--white); font-weight:400; letter-spacing:0.03em; margin-bottom:1rem; }
.insights-section-desc { font-size:1rem; color:var(--silver-dim); line-height:1.8; max-width:600px; margin:0 auto; }

/* ── Podcast Coming Soon ── */
.podcast-coming-soon { text-align:center; max-width:550px; margin:0 auto; padding-bottom:5rem; opacity:0; transform:translateY(20px); transition:all 0.8s ease; }
.podcast-coming-soon.visible { opacity:1; transform:translateY(0); }
.podcast-coming-soon-icon { color:var(--silver-faint); opacity:0.3; margin-bottom:1.5rem; }
.podcast-coming-soon-label { font-size:0.7rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--gold); font-weight:600; margin-bottom:1.2rem; }
.podcast-coming-soon-desc { font-size:1rem; line-height:1.9; color:var(--silver-dim); }

/* ── Commentary Cards ── */
.commentary-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; padding-bottom:5rem; }
.commentary-card { background:var(--dark-card); border:1px solid rgba(0,161,155,0.08); transition:all 0.4s ease; cursor:pointer; position:relative; overflow:hidden; opacity:0; transform:translateY(30px); }
.commentary-card.visible { opacity:1; transform:translateY(0); }
.commentary-card::before { content:""; position:absolute; top:0; left:0; width:100%; height:2px; background:linear-gradient(90deg,var(--primary),var(--gold)); transform:scaleX(0); transform-origin:left; transition:transform 0.4s ease; }
.commentary-card:hover { border-color:rgba(0,161,155,0.2); transform:translateY(-3px); box-shadow:0 8px 30px rgba(0,0,0,0.25); }
.commentary-card:hover::before { transform:scaleX(1); }
.commentary-card-inner { padding:2.5rem 2rem; }
.commentary-date { font-size:0.7rem; letter-spacing:0.15em; text-transform:uppercase; color:var(--gold); margin-bottom:1.2rem; font-weight:600; display:block; }
.commentary-title { font-family:var(--font-display); font-size:1.2rem; color:var(--white); margin-bottom:1rem; font-weight:400; }
.commentary-excerpt { font-size:0.88rem; line-height:1.7; color:var(--silver-dim); margin-bottom:1.5rem; }
.commentary-read-more { font-size:0.72rem; letter-spacing:0.15em; text-transform:uppercase; color:var(--primary); font-weight:500; display:inline-flex; align-items:center; gap:0.5rem; }
.commentary-arrow { transition:transform 0.3s ease; display:inline-block; }
.commentary-card:hover .commentary-arrow { transform:translateX(5px); }

/* ── Archive ── */
.archive-filters { display:flex; gap:0.5rem; justify-content:center; margin-bottom:2.5rem; }
.archive-filter { background:transparent; border:1px solid rgba(0,161,155,0.15); color:var(--silver-dim); font-family:var(--font-primary); font-size:0.72rem; letter-spacing:0.15em; text-transform:uppercase; padding:0.6rem 1.5rem; cursor:pointer; transition:all 0.3s ease; font-weight:500; }
.archive-filter:hover { border-color:rgba(0,161,155,0.4); color:var(--silver); }
.archive-filter.active { background:rgba(0,161,155,0.1); border-color:var(--primary); color:var(--primary); }
.archive-list { max-width:800px; margin:0 auto; opacity:0; transform:translateY(20px); transition:all 0.8s ease; }
.archive-list.visible { opacity:1; transform:translateY(0); }
.archive-item { display:grid; grid-template-columns:100px 1fr auto; align-items:center; padding:1.2rem 1.5rem; border-bottom:1px solid rgba(0,161,155,0.06); transition:all 0.3s ease; text-decoration:none; }
.archive-item:first-child { border-top:1px solid rgba(0,161,155,0.06); }
.archive-item:hover { background:var(--dark-card); }
.archive-type { font-size:0.65rem; letter-spacing:0.15em; text-transform:uppercase; color:var(--primary); font-weight:600; }
.archive-title { font-family:var(--font-display); font-size:1rem; color:var(--white); font-weight:400; }
.archive-date { font-size:0.75rem; color:var(--silver-faint); text-align:right; }

/* ── Article Page ── */
.article-meta { font-size:0.8rem; color:var(--silver-faint); letter-spacing:0.05em; margin-top:0.5rem; }
.article-section { padding:4rem 4% 3rem; }
.article-content { max-width:720px; margin:0 auto; opacity:0; transform:translateY(20px); transition:all 0.8s ease; }
.article-content.visible { opacity:1; transform:translateY(0); }
.article-content p { font-size:1.05rem; line-height:2; color:var(--silver-dim); margin-bottom:1.8rem; }
.article-content h2 { font-family:var(--font-display); font-size:clamp(1.3rem,2vw,1.6rem); color:var(--white); font-weight:400; letter-spacing:0.03em; margin-top:3rem; margin-bottom:1.5rem; }
.article-content h2:first-of-type { margin-top:2rem; }
.article-signature { font-family:var(--font-display); font-size:1.3rem; color:var(--white) !important; font-style:italic; margin-top:3rem !important; padding-top:2rem; border-top:1px solid rgba(0,161,155,0.1); }
.article-cta-section { padding:3rem 4% 6rem; background:var(--dark-mid); text-align:center; }
.article-cta-inner { max-width:600px; margin:0 auto; opacity:0; transform:translateY(20px); transition:all 0.8s ease; }
.article-cta-inner.visible { opacity:1; transform:translateY(0); }
.article-back-link { font-size:0.75rem; letter-spacing:0.15em; text-transform:uppercase; color:var(--primary); font-weight:500; transition:color 0.3s ease; display:inline-block; }
.article-back-link:hover { color:var(--primary-light); }
.article-cta-divider { width:60px; height:1.5px; background:linear-gradient(90deg,transparent,var(--gold),transparent); margin:2.5rem auto; }
.article-cta-text { font-size:1.05rem; color:var(--silver-dim); line-height:1.8; margin-bottom:2rem; }

/* ═════════ CTA SECTION ═════════ */ 
.cta-section { padding:7rem 4%; text-align:center; background:radial-gradient(ellipse at center, rgba(0,161,155,0.06) 0%, transparent 60%), var(--dark); } 
.cta-content { max-width:600px; margin:0 auto; opacity:0; transform:translateY(30px); transition:all 0.8s ease; } 
.cta-content.visible { opacity:1; transform:translateY(0); } 
.cta-subtitle { font-size:1rem; color:var(--silver-dim); line-height:1.7; margin-bottom:2.5rem; } 
.cta-section .hero-cta { opacity:1; animation:none; } 
.cta-slogan { font-family:var(--font-display); font-size:clamp(1.4rem,3vw,2.2rem); color:var(--gold); letter-spacing:0.15em; text-transform:uppercase; font-weight:400; } 
/* ═════════ FOOTER ═════════ */ 
.footer { background:var(--dark); border-top:1px solid rgba(0,161,155,0.06); padding:3rem 4% 2rem; } 
.footer-logos { display:flex; justify-content:center; align-items:center; gap:3rem; margin-bottom:2rem; flex-wrap:wrap; opacity:0.75; } 
.footer-logos .logo-designed img { height:102px; width:auto; object-fit:contain; }
.footer-logos .logo-advisor img { height:50px; max-width:180px; width:auto; object-fit:contain; } 
.footer-logos .logo-ciro img, .footer-logos .logo-cipf img { height:50px; width:auto; object-fit:contain; } 
.footer-text { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem; } 
.footer-left { font-size:0.72rem; color:var(--silver-faint); } 
.footer-right { display:flex; gap:2rem; } 
.footer-right a { font-size:0.72rem; color:var(--silver-faint); text-decoration:none; transition:color 0.3s ease; } 
.footer-right a:hover { color:var(--primary); } 
/* ═════════ MODALS (Privacy Policy / Disclaimer) ═════════ */
.sc-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, 0);
  backdrop-filter: blur(0px);
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  transition: background 0.4s ease, backdrop-filter 0.4s ease;
}
.sc-modal-overlay.active {
  background: rgba(0, 0, 0, 0.75);
  backdrop-filter: blur(8px);
  pointer-events: auto;
}
.sc-modal {
  position: relative;
  width: 90%;
  max-width: 680px;
  max-height: 82vh;
  background: var(--dark-mid);
  border: 1px solid rgba(0, 161, 155, 0.15);
  padding: 3rem 3rem 2.5rem;
  overflow-y: auto;
  opacity: 0;
  transform: translateY(24px) scale(0.97);
  transition: opacity 0.4s ease 0.05s, transform 0.4s ease 0.05s;
}
.sc-modal-overlay.active .sc-modal {
  opacity: 1;
  transform: translateY(0) scale(1);
}
.sc-modal-close {
  position: absolute;
  top: 1.2rem;
  right: 1.4rem;
  background: none;
  border: none;
  color: var(--silver-faint);
  font-size: 1.6rem;
  line-height: 1;
  cursor: pointer;
  transition: color 0.3s ease;
  padding: 0.25rem;
}
.sc-modal-close:hover {
  color: var(--primary-light);
}
.sc-modal-title {
  font-family: var(--font-display);
  font-size: clamp(1.4rem, 2.5vw, 1.8rem);
  color: var(--white);
  font-weight: 400;
  letter-spacing: 0.06em;
  margin-bottom: 0.8rem;
}
.sc-modal-divider {
  width: 60px;
  height: 1.5px;
  background: linear-gradient(90deg, var(--gold), transparent);
  margin-bottom: 2rem;
}
.sc-modal-body h3 {
  font-family: var(--font-display);
  font-size: 1.05rem;
  color: var(--primary);
  font-weight: 400;
  letter-spacing: 0.04em;
  margin-top: 2rem;
  margin-bottom: 0.6rem;
}
.sc-modal-body p {
  font-size: 0.88rem;
  line-height: 1.8;
  color: var(--silver-dim);
  margin-bottom: 0.8rem;
}
.sc-modal-body ul {
  list-style: none;
  padding-left: 1rem;
  margin-bottom: 1rem;
}
.sc-modal-body ul li {
  font-size: 0.88rem;
  line-height: 1.8;
  color: var(--silver-dim);
  position: relative;
  padding-left: 1rem;
}
.sc-modal-body ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.75em;
  width: 4px;
  height: 4px;
  background: var(--primary);
  border-radius: 50%;
}
.sc-modal-body a {
  color: var(--primary);
  text-decoration: none;
  transition: color 0.3s ease;
}
.sc-modal-body a:hover {
  color: var(--primary-light);
}
.sc-modal-body strong {
  color: var(--white);
}
.sc-modal-closing {
  margin-top: 2rem !important;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(0, 161, 155, 0.1);
  font-style: italic;
  color: var(--silver-faint) !important;
  font-size: 0.82rem !important;
}
/* Custom scrollbar for modal */
.sc-modal::-webkit-scrollbar {
  width: 5px;
}
.sc-modal::-webkit-scrollbar-track {
  background: transparent;
}
.sc-modal::-webkit-scrollbar-thumb {
  background: rgba(0, 161, 155, 0.2);
  border-radius: 3px;
}
.sc-modal::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 161, 155, 0.4);
}
@media (max-width: 600px) {
  .sc-modal {
    width: 95%;
    padding: 2rem 1.5rem;
    max-height: 88vh;
  }
}
/* ═════════ ANIMATIONS ═════════ */ 
@keyframes fadeInUp { from{opacity:0;transform:translateY(30px)} to{opacity:1;transform:translateY(0)} } 
/* ═════════ RESPONSIVE ═════════ */ 
@media (max-width:1024px) { 
 .commentary-grid { grid-template-columns:1fr; }
 .sikora-detail-row { grid-template-columns:80px 1fr; gap:1.5rem; } 
 .sikora-letter-large { font-size:4.5rem; } 
 .sikora-detail-row.alt { padding-left:4%; padding-right:4%; } 
 .about-hero-grid { grid-template-columns:280px 1fr; gap:3rem; } 
} 
@media (max-width:968px) { 
 .nav-links { display:none; position:fixed; top:0; right:0; width:300px; height:100vh; background:var(--dark); flex-direction:column; padding:6rem 2rem 2rem; gap:1.5rem; border-left:1px solid rgba(0,161,155,0.1); z-index:999; } 
 .nav-links.open { display:flex; } 
 .hamburger { display:flex; } 
 .contact-grid { grid-template-columns:1fr; gap:3rem; } 
 .sikora-row { grid-template-columns:60px 1fr 30px; padding:1.5rem 1.5rem; } 
 .sikora-letter { font-size:2.2rem; } 
 .sikora-detail-row { grid-template-columns:1fr; gap:1rem; } 
 .sikora-letter-large { font-size:3.5rem; text-align:left; } 
 .about-hero-grid { grid-template-columns:1fr; gap:2rem; text-align:center; } 
 .about-hero-photo { max-width:300px; margin:0 auto; } 
 .about-hero-text { text-align:center; }
 .archive-item { grid-template-columns:80px 1fr auto; padding:1rem; }
 .archive-filters { flex-wrap:wrap; } 
 .about-hero-text .page-hero-title { text-align:center; } 
 .about-hero-text .hero-divider { margin-left:auto; }
 /* ── Private Access dropdown: inline in mobile menu ── */
 .nav-dropdown-menu {
   position:static; opacity:1; visibility:visible; transform:none;
   background:transparent; backdrop-filter:none; border:none;
   min-width:0; padding:0.3rem 0 0 1rem;
 }
 .nav-dropdown-heading { padding:0 0 0.5rem; font-size:0.58rem; border-bottom:none; margin-bottom:0.2rem; }
 .nav-dropdown-menu a { padding:0.4rem 0; font-size:0.72rem; letter-spacing:0.08em; }
 .nav-dropdown-menu a:hover { background:transparent; }
} 
@media (max-width:600px) {
 :root { --nav-height: 60px; }
 /* ── Global / Nav ── */
 .nav-logo img { height: 45px; }
 .navbar { padding: 0.6rem 4%; padding-top: 0.8rem; height: var(--nav-height); }
 .hero-slogan { letter-spacing:0.15em; font-size:1.3rem; }
 .hero-shield { width:240px; }
 .trust-bar { flex-direction:column; align-items:center; gap:1.5rem; }
 .footer-logos { flex-direction:column; gap:1.5rem; align-items:center; }
 .footer-text { flex-direction:column; text-align:center; }
 .footer-right { justify-content:center; }
 .page-hero { min-height:45vh; }
 .page-hero-short { min-height:38vh; }
 .page-hero-title { font-size:clamp(1.6rem,6vw,2.4rem); }
 .page-hero-subtitle { font-size:0.9rem; line-height:1.6; padding:0 0.5rem; }
 .sikora-row { grid-template-columns:50px 1fr 24px; padding:1.2rem 1rem; }
 .about-hero-photo { max-width:250px; }

 /* ── Insights: Commentary Cards ── */
 .commentary-card-inner { padding:1.8rem 1.2rem; }
 .commentary-title { font-size:1.05rem; }
 .commentary-excerpt { font-size:0.82rem; line-height:1.65; }
 .commentary-date { font-size:0.65rem; margin-bottom:0.8rem; }
 .insights-commentary-section { padding:3rem 4% 0; }
 .insights-section-title { font-size:clamp(1.3rem,4vw,1.6rem); }
 .insights-section-desc { font-size:0.88rem; line-height:1.7; }

 /* ── Insights: Podcast ── */
 .insights-podcast-section { padding:3rem 4% 0; }
 .podcast-coming-soon { padding-bottom:3rem; }
 .podcast-coming-soon-desc { font-size:0.88rem; }

 /* ── Insights: Archive ── */
 .insights-archive-section { padding:3rem 4% 3rem; }
 .archive-item {
   grid-template-columns:1fr;
   gap:0.25rem;
   padding:0.9rem 1rem;
 }
 .archive-type { font-size:0.6rem; }
 .archive-title { font-size:0.9rem; }
 .archive-date { text-align:left; font-size:0.7rem; }
 .archive-filters { gap:0.4rem; }
 .archive-filter { padding:0.5rem 1rem; font-size:0.65rem; }

 /* ── Article page ── */
 .article-section { padding:3rem 4% 2rem; }
 .article-content { padding:0; }
 .article-content p { font-size:0.95rem; line-height:1.9; margin-bottom:1.5rem; }
 .article-content h2 { font-size:1.15rem; margin-top:2.5rem; margin-bottom:1.2rem; }
 .article-meta { font-size:0.72rem; }
 .article-cta-section { padding:2rem 4% 4rem; }

 /* ── CTA ── */
 .cta-section { padding:4rem 4%; }
 .cta-subtitle { font-size:0.9rem; }
 .hero-cta { padding:0.8rem 2rem; font-size:0.68rem; }
}
/* ── Framework CTA Button (Home) ── */
.framework-row-btn-wrap {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-top: 7.5rem;
}
.framework-row-btn {
  display: inline-block;
  padding: 0.75rem 2.2rem;
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #0a0a0a;
  background: linear-gradient(135deg, #c9a84c, #e2c36b);
  border: none;
  border-radius: 4px;
  text-decoration: none;
  transition: background 0.3s ease, transform 0.2s ease, box-shadow 0.3s ease;
  cursor: pointer;
}
.framework-row-btn:hover {
  background: linear-gradient(135deg, #d4b65c, #f0d47a);
  transform: translateY(-2px);
  box-shadow: 0 4px 20px rgba(201, 168, 76, 0.4);
}
/* ── Screen reader only ── */
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
/* ═════════ CONVERSION ELEMENTS ═════════ */

/* ── Newsletter Signup ── */
.newsletter-section {
  padding:4rem 4%;
  background:var(--dark-mid);
  border-top:1px solid rgba(0,161,155,0.06);
}
.newsletter-inner {
  max-width:560px;
  margin:0 auto;
  text-align:center;
}
.newsletter-label {
  font-size:0.7rem;
  letter-spacing:0.3em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:1rem;
  font-weight:600;
  display:block;
}
.newsletter-title {
  font-family:var(--font-display);
  font-size:clamp(1.3rem,2.5vw,1.7rem);
  color:var(--white);
  font-weight:400;
  letter-spacing:0.03em;
  margin-bottom:0.8rem;
}
.newsletter-desc {
  font-size:0.95rem;
  color:var(--silver-dim);
  line-height:1.7;
  margin-bottom:2rem;
}
.newsletter-form {
  display:flex;
  gap:0.75rem;
  max-width:460px;
  margin:0 auto;
}
.newsletter-form input[type="email"] {
  flex:1;
  background:var(--dark-card);
  border:1px solid rgba(0,161,155,0.12);
  color:var(--white);
  font-family:var(--font-primary);
  font-size:0.9rem;
  padding:0.85rem 1.2rem;
  outline:none;
  transition:border-color 0.3s ease, box-shadow 0.3s ease;
}
.newsletter-form input[type="email"]:focus {
  border-color:var(--primary);
  box-shadow:0 0 0 3px rgba(0,161,155,0.1);
}
.newsletter-form input[type="email"]::placeholder {
  color:var(--silver-faint);
}
.newsletter-submit {
  display:inline-block;
  padding:0.85rem 1.8rem;
  font-size:0.72rem;
  font-weight:600;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:#0a0a0a;
  background:linear-gradient(135deg, #c9a84c, #e2c36b);
  border:none;
  cursor:pointer;
  font-family:var(--font-primary);
  transition:background 0.3s ease, box-shadow 0.3s ease;
  white-space:nowrap;
}
.newsletter-submit:hover {
  background:linear-gradient(135deg, #d4b65c, #f0d47a);
  box-shadow:0 4px 20px rgba(201, 168, 76, 0.4);
}
.newsletter-privacy {
  font-size:0.72rem;
  color:var(--silver-faint);
  margin-top:1rem;
}

/* ── Lead Magnet ── */
.leadmagnet-section {
  padding:4rem 4%;
  background:var(--dark);
}
.leadmagnet-inner {
  max-width:680px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:3rem;
  align-items:center;
}
.leadmagnet-content {}
.leadmagnet-label {
  font-size:0.7rem;
  letter-spacing:0.3em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:1rem;
  font-weight:600;
  display:block;
}
.leadmagnet-title {
  font-family:var(--font-display);
  font-size:clamp(1.1rem,2vw,1.4rem);
  color:var(--white);
  font-weight:400;
  letter-spacing:0.03em;
  margin-bottom:0.8rem;
  line-height:1.4;
}
.leadmagnet-desc {
  font-size:0.9rem;
  color:var(--silver-dim);
  line-height:1.7;
  margin-bottom:1.5rem;
}
.leadmagnet-form {
  display:flex;
  flex-direction:column;
  gap:0.75rem;
}
.leadmagnet-form input[type="email"] {
  background:var(--dark-card);
  border:1px solid rgba(0,161,155,0.12);
  color:var(--white);
  font-family:var(--font-primary);
  font-size:0.9rem;
  padding:0.85rem 1.2rem;
  outline:none;
  transition:border-color 0.3s ease, box-shadow 0.3s ease;
  width:100%;
}
.leadmagnet-form input[type="email"]:focus {
  border-color:var(--primary);
  box-shadow:0 0 0 3px rgba(0,161,155,0.1);
}
.leadmagnet-form input[type="email"]::placeholder {
  color:var(--silver-faint);
}
.leadmagnet-form button {
  display:inline-block;
  padding:0.85rem 1.8rem;
  font-size:0.72rem;
  font-weight:600;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:#0a0a0a;
  background:linear-gradient(135deg, #c9a84c, #e2c36b);
  border:none;
  cursor:pointer;
  font-family:var(--font-primary);
  transition:background 0.3s ease, box-shadow 0.3s ease;
  align-self:flex-start;
}
.leadmagnet-form button:hover {
  background:linear-gradient(135deg, #d4b65c, #f0d47a);
  box-shadow:0 4px 20px rgba(201, 168, 76, 0.4);
}
.leadmagnet-preview {
  background:var(--dark-card);
  border:1px solid rgba(0,161,155,0.08);
  padding:2rem;
  text-align:center;
}
/* ── What to Expect (Contact Page) ── */
.expect-section {
  padding:4rem 4% 0;
  max-width:var(--max-width);
  margin:0 auto;
}
.expect-inner {
  max-width:680px;
  margin:0 auto;
  text-align:center;
}
.expect-label {
  font-size:0.7rem;
  letter-spacing:0.3em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:1rem;
  font-weight:600;
  display:block;
}
.expect-title {
  font-family:var(--font-display);
  font-size:clamp(1.3rem,2.5vw,1.7rem);
  color:var(--white);
  font-weight:400;
  letter-spacing:0.03em;
  margin-bottom:1.5rem;
}
.expect-text {
  font-size:1rem;
  color:var(--silver-dim);
  line-height:1.9;
  margin-bottom:1rem;
}
.expect-steps {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:2rem;
  margin-top:2.5rem;
  padding-top:2.5rem;
  border-top:1px solid rgba(0,161,155,0.08);
}
.expect-step {
  text-align:center;
}
.expect-step-number {
  font-size:0.65rem;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:var(--primary);
  font-weight:600;
  display:block;
  margin-bottom:0.6rem;
}
.expect-step-label {
  font-family:var(--font-display);
  font-size:1rem;
  color:var(--white);
  font-weight:400;
  margin-bottom:0.4rem;
}
.expect-step-desc {
  font-size:0.82rem;
  color:var(--silver-faint);
  line-height:1.6;
}

/* ── Booking Primary CTA (Contact Page) ── */
.booking-primary {
  padding:3.5rem 4%;
  text-align:center;
  max-width:var(--max-width);
  margin:0 auto;
}
.booking-primary-inner {
  max-width:580px;
  margin:0 auto;
}
.booking-primary-text {
  font-size:1.05rem;
  color:var(--silver-dim);
  line-height:1.8;
  margin-bottom:2rem;
}
.booking-btn {
  display:inline-block;
  padding:1rem 3rem;
  font-size:0.78rem;
  font-weight:600;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:#0a0a0a;
  background:linear-gradient(135deg, #c9a84c, #e2c36b);
  border:none;
  text-decoration:none;
  cursor:pointer;
  font-family:var(--font-primary);
  transition:background 0.3s ease, box-shadow 0.3s ease, transform 0.2s ease;
}
.booking-btn:hover {
  background:linear-gradient(135deg, #d4b65c, #f0d47a);
  box-shadow:0 4px 20px rgba(201, 168, 76, 0.4);
  transform:translateY(-2px);
  color:#0a0a0a;
}

/* ── Booking Embed (Contact Page) ── */
/* ── Form Divider (Contact Page) ── */
.form-divider {
  text-align:center;
  padding:2rem 4%;
  max-width:var(--max-width);
  margin:0 auto;
}
.form-divider-line {
  display:flex;
  align-items:center;
  gap:1.5rem;
  max-width:400px;
  margin:0 auto;
}
.form-divider-line::before,
.form-divider-line::after {
  content:"";
  flex:1;
  height:1px;
  background:rgba(0,161,155,0.1);
}
.form-divider-text {
  font-size:0.75rem;
  letter-spacing:0.15em;
  text-transform:uppercase;
  color:var(--silver-faint);
  white-space:nowrap;
}

/* ── Responsive: Conversion Elements ── */
@media (max-width:600px) {
  .newsletter-form {
    flex-direction:column;
  }
  .newsletter-submit {
    width:100%;
    text-align:center;
  }
  .leadmagnet-inner {
    grid-template-columns:1fr;
    gap:2rem;
  }
  .expect-steps {
    grid-template-columns:1fr;
    gap:1.5rem;
  }
  .booking-btn {
    padding:0.9rem 2rem;
    font-size:0.7rem;
  }
}
