@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400&family=DM+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&family=Outfit:wght@100;200;300;400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,700;1,400&family=Space+Mono:wght@400;700&family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&display=swap');

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

html { scroll-behavior: smooth; }
body {
  min-height: 100vh;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

/* ===== SHARED STRUCTURAL ELEMENTS ===== */
.page { min-height: 100vh; position: relative; overflow: hidden; }

.hero-section {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: 3rem 2rem;
  text-align: center;
}

.content-section {
  padding: 6rem 2rem;
  max-width: 1100px;
  margin: 0 auto;
}

.features-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 2rem;
  margin-top: 3rem;
}

.cta-section {
  text-align: center;
  padding: 6rem 2rem;
  position: relative;
}

.cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 1rem 2.4rem;
  border-radius: 100px;
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-decoration: none;
  transition: all 0.35s ease;
  cursor: pointer;
  border: none;
}

.min-investment {
  margin-bottom: 2.5rem;
  animation: fadeUp 1s ease-out 0.2s both;
}
.min-investment-label {
  font-size: 0.68rem; letter-spacing: 0.18em; text-transform: uppercase;
  opacity: 0.45; margin-bottom: 0.4rem;
}
.min-investment-amount {
  font-size: clamp(2.2rem, 5vw, 3.2rem); font-weight: 700;
  letter-spacing: 0.02em; line-height: 1.2;
}
.min-investment-amount .currency {
  font-weight: 400; opacity: 0.5; font-size: 0.6em; vertical-align: 0.15em;
  margin-right: 0.05em;
}
.min-investment-note {
  font-size: 0.78rem; opacity: 0.35; margin-top: 0.3rem;
}

/* Theme-specific investment styling */
.theme-helix .min-investment-amount { color: var(--accent); font-family: 'Outfit', sans-serif; }
.theme-orbital .min-investment-amount { color: var(--accent); font-family: 'Outfit', sans-serif; }
.theme-cell .min-investment-amount { color: var(--accent); font-family: 'Cormorant Garamond', serif; font-weight: 600; }
.theme-lattice .min-investment-amount { color: var(--accent); font-family: 'Outfit', sans-serif; }
.theme-protein .min-investment-amount {
  font-family: 'Outfit', sans-serif;
  background: linear-gradient(135deg, var(--accent2), var(--accent), var(--accent3));
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
.theme-crest .min-investment-amount { color: var(--accent); font-family: 'Playfair Display', serif; }

.footer-bar {
  text-align: center;
  padding: 2.5rem 2rem;
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  opacity: 0.4;
}

.logo-mark { transition: transform 0.5s ease; }
.logo-mark:hover { transform: scale(1.03); }

.concept-badge {
  position: fixed;
  bottom: 1.5rem;
  right: 1.5rem;
  padding: 0.5rem 1rem;
  border-radius: 8px;
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  z-index: 100;
  cursor: pointer;
  transition: all 0.3s ease;
  font-family: 'DM Sans', sans-serif;
}
.concept-badge:hover { transform: translateY(-2px); }

/* ===== MODAL OVERLAY ===== */
.modal-overlay {
  position: fixed; inset: 0; z-index: 1000;
  background: rgba(0,0,0,0.65); backdrop-filter: blur(8px);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; visibility: hidden; transition: all 0.35s ease;
  padding: 1.5rem;
}
.modal-overlay.open { opacity: 1; visibility: visible; }
.modal-overlay.open .modal-card { transform: translateY(0) scale(1); opacity: 1; }

.modal-card {
  width: 100%; max-width: 520px; max-height: 90vh; overflow-y: auto;
  border-radius: 16px; padding: 2.5rem 2.5rem 2rem;
  position: relative;
  transform: translateY(20px) scale(0.97); opacity: 0;
  transition: all 0.4s cubic-bezier(0.16,1,0.3,1);
}

.modal-close {
  position: absolute; top: 1.2rem; right: 1.2rem;
  width: 32px; height: 32px; border-radius: 50%; border: none;
  cursor: pointer; display: flex; align-items: center; justify-content: center;
  font-size: 1.1rem; line-height: 1; transition: all 0.2s ease;
  background: transparent; padding: 0;
}

.modal-header { margin-bottom: 1.8rem; }
.modal-title { font-size: 1.4rem; font-weight: 600; margin-bottom: 0.3rem; }
.modal-sub { font-size: 0.82rem; opacity: 0.6; }

.form-group { margin-bottom: 1.3rem; position: relative; }
.form-label {
  display: block; font-size: 0.72rem; font-weight: 600;
  letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 0.45rem;
}
.form-label .required { color: #ef4444; margin-left: 2px; }

.form-input, .form-textarea {
  width: 100%; padding: 0.75rem 1rem; border-radius: 8px;
  font-size: 0.9rem; font-family: inherit;
  transition: all 0.25s ease; outline: none;
}
.form-input:focus, .form-textarea:focus { box-shadow: 0 0 0 2px var(--accent, #2dd4bf); }

.form-textarea { resize: vertical; min-height: 90px; }

.form-input.invalid { box-shadow: 0 0 0 2px #ef4444 !important; }
.form-error {
  font-size: 0.7rem; color: #ef4444; margin-top: 0.3rem;
  display: none; font-weight: 500;
}
.form-input.invalid + .form-error,
.form-input.invalid ~ .form-error { display: block; }

.offer-prefix {
  position: absolute; left: 1rem; top: 50%; transform: translateY(-50%);
  font-size: 0.9rem; font-weight: 600; pointer-events: none; opacity: 0.5;
  margin-top: 11px;
}
.form-input.offer-input { padding-left: 1.8rem; }

.turnstile-wrap { margin: 1.3rem 0; display: flex; justify-content: center; }

.submit-btn {
  width: 100%; padding: 0.9rem 1.5rem; border-radius: 10px;
  font-size: 0.9rem; font-weight: 700; letter-spacing: 0.04em;
  border: none; cursor: pointer; transition: all 0.3s ease;
  font-family: inherit; position: relative; overflow: hidden;
}
.submit-btn:hover { transform: translateY(-1px); }
.submit-btn:active { transform: translateY(0); }
.submit-btn:disabled { opacity: 0.6; cursor: not-allowed; transform: none; }

.submit-btn .spinner {
  display: none; width: 18px; height: 18px; border: 2px solid transparent;
  border-top-color: currentColor; border-radius: 50%;
  animation: rotate 0.6s linear infinite;
  position: absolute; right: 1.2rem; top: 50%; margin-top: -9px;
}
.submit-btn.loading .spinner { display: block; }
.submit-btn.loading .btn-text { opacity: 0.7; }

.form-status {
  text-align: center; padding: 1.5rem; border-radius: 10px;
  margin-top: 1rem; font-size: 0.85rem; font-weight: 500;
  display: none; line-height: 1.5;
}
.form-status.success { display: block; background: rgba(45,212,191,0.1); color: #2dd4bf; }
.form-status.error { display: block; background: rgba(239,68,68,0.1); color: #ef4444; }

/* ── Prominent success state ── */
.success-state {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center; padding: 2.5rem 1.5rem; min-height: 280px;
  animation: fadeUp 0.5s ease-out both;
}
.success-icon {
  width: 64px; height: 64px; border-radius: 50%; display: flex;
  align-items: center; justify-content: center; font-size: 1.8rem;
  margin-bottom: 1.5rem; animation: scaleIn 0.4s ease-out 0.15s both;
}
.success-heading {
  font-size: 1.3rem; font-weight: 700; margin-bottom: 0.5rem;
  animation: fadeUp 0.5s ease-out 0.2s both;
}
.success-message {
  font-size: 0.9rem; opacity: 0.65; max-width: 340px; line-height: 1.6;
  animation: fadeUp 0.5s ease-out 0.3s both;
}
.success-divider {
  width: 40px; height: 2px; margin: 1.5rem auto; opacity: 0.3;
  animation: fadeIn 0.6s ease-out 0.4s both;
}
.success-email {
  font-size: 0.75rem; opacity: 0.4; letter-spacing: 0.04em;
  animation: fadeUp 0.5s ease-out 0.45s both;
}

/* Theme-specific success colors */
.theme-helix .success-icon { background: rgba(45,212,191,0.1); color: #2dd4bf; }
.theme-helix .success-divider { background: #2dd4bf; }
.theme-orbital .success-icon { background: rgba(167,139,250,0.1); color: #a78bfa; }
.theme-orbital .success-divider { background: #a78bfa; }
.theme-cell .success-icon { background: rgba(5,150,105,0.08); color: #059669; }
.theme-cell .success-divider { background: #059669; }
.theme-lattice .success-icon { background: rgba(30,64,175,0.08); color: #1e40af; }
.theme-lattice .success-divider { background: #1e40af; }
.theme-protein .success-icon { background: rgba(56,189,248,0.1); color: #38bdf8; }
.theme-protein .success-divider { background: #38bdf8; }
.theme-crest .success-icon { background: rgba(245,158,11,0.1); color: #f59e0b; }
.theme-crest .success-divider { background: #f59e0b; }

/* ── Modal dark themes ── */
.theme-helix .modal-card,
.theme-orbital .modal-card,
.theme-protein .modal-card,
.theme-crest .modal-card {
  background: #12151e; border: 1px solid rgba(255,255,255,0.08);
  color: #e2e8f0;
}
.theme-helix .modal-close,
.theme-orbital .modal-close,
.theme-protein .modal-close,
.theme-crest .modal-close { color: #8891a4; }
.theme-helix .modal-close:hover,
.theme-orbital .modal-close:hover,
.theme-protein .modal-close:hover,
.theme-crest .modal-close:hover { background: rgba(255,255,255,0.06); color: #e2e8f0; }
.theme-helix .form-label,
.theme-orbital .form-label,
.theme-protein .form-label,
.theme-crest .form-label { color: #8891a4; }
.theme-helix .form-input,
.theme-helix .form-textarea,
.theme-orbital .form-input,
.theme-orbital .form-textarea,
.theme-protein .form-input,
.theme-protein .form-textarea,
.theme-crest .form-input,
.theme-crest .form-textarea {
  background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.1);
  color: #e2e8f0;
}
.theme-helix .form-input::placeholder,
.theme-orbital .form-input::placeholder,
.theme-protein .form-input::placeholder,
.theme-crest .form-input::placeholder,
.theme-helix .form-textarea::placeholder,
.theme-orbital .form-textarea::placeholder,
.theme-protein .form-textarea::placeholder,
.theme-crest .form-textarea::placeholder { color: rgba(255,255,255,0.2); }

.theme-helix .submit-btn { background: #2dd4bf; color: #060910; }
.theme-helix .submit-btn:hover { background: #38bdf8; }
.theme-orbital .submit-btn { background: linear-gradient(135deg, #a78bfa, #38bdf8); color: #08070f; }
.theme-protein .submit-btn { background: linear-gradient(135deg, #2dd4bf, #38bdf8); color: #060d14; }
.theme-crest .submit-btn { background: #f59e0b; color: #0f0b0a; }
.theme-crest .submit-btn:hover { background: #d97706; }
.theme-crest .modal-card { background: #1a1410; border-color: rgba(245,158,11,0.12); }
.theme-crest .form-label { color: #a89080; }
.theme-orbital .modal-card { background: #100e1e; border-color: rgba(167,139,250,0.12); }
.theme-orbital .form-label { color: #8b86aa; }
.theme-protein .modal-card { background: #0c1420; border-color: rgba(56,189,248,0.1); }
.theme-protein .form-label { color: #6e8aa8; }

/* ── Modal light themes ── */
.theme-cell .modal-card,
.theme-lattice .modal-card {
  background: #ffffff; border: 1px solid rgba(0,0,0,0.08);
  color: #1a2e1a; box-shadow: 0 20px 60px rgba(0,0,0,0.12);
}
.theme-cell .modal-close { color: #4d6a4d; }
.theme-cell .modal-close:hover { background: rgba(0,0,0,0.04); color: #1a2e1a; }
.theme-lattice .modal-close { color: #475569; }
.theme-lattice .modal-close:hover { background: rgba(0,0,0,0.04); color: #0f172a; }
.theme-cell .form-label { color: #4d6a4d; }
.theme-lattice .form-label { color: #475569; }
.theme-cell .form-input,
.theme-cell .form-textarea { background: #f7f9f5; border: 1px solid rgba(5,150,105,0.15); color: #1a2e1a; }
.theme-lattice .form-input,
.theme-lattice .form-textarea { background: #f8fafc; border: 1px solid rgba(30,64,175,0.12); color: #0f172a; }
.theme-cell .form-input::placeholder,
.theme-cell .form-textarea::placeholder { color: rgba(0,0,0,0.25); }
.theme-lattice .form-input::placeholder,
.theme-lattice .form-textarea::placeholder { color: rgba(0,0,0,0.25); }
.theme-cell .submit-btn { background: #059669; color: #fff; }
.theme-cell .submit-btn:hover { background: #047857; }
.theme-lattice .submit-btn { background: #1e40af; color: #fff; }
.theme-lattice .submit-btn:hover { background: #3b82f6; }
.theme-lattice .modal-card { color: #0f172a; }

/* ===== ANIMATIONS ===== */
@keyframes fadeUp { from { opacity:0; transform:translateY(30px); } to { opacity:1; transform:translateY(0); } }
@keyframes fadeDown { from { opacity:0; transform:translateY(-20px); } to { opacity:1; transform:translateY(0); } }
@keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
@keyframes scaleIn { from { opacity:0; transform:scale(0.9); } to { opacity:1; transform:scale(1); } }
@keyframes slideLeft { from { opacity:0; transform:translateX(40px); } to { opacity:1; transform:translateX(0); } }
@keyframes pulse { 0%,100% { opacity:1; } 50% { opacity:0.4; } }
@keyframes float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-12px); } }
@keyframes drift { 0%,100% { transform:translate(0,0); } 25% { transform:translate(6px,-8px); } 50% { transform:translate(-4px,-14px); } 75% { transform:translate(-8px,-4px); } }
@keyframes rotate { from { transform:rotate(0deg); } to { transform:rotate(360deg); } }
@keyframes shimmer { 0% { background-position:-200% center; } 100% { background-position:200% center; } }
@keyframes drawLine { from { stroke-dashoffset:400; } to { stroke-dashoffset:0; } }

.stagger-1 { animation-delay: 0.1s; }
.stagger-2 { animation-delay: 0.25s; }
.stagger-3 { animation-delay: 0.4s; }
.stagger-4 { animation-delay: 0.55s; }
.stagger-5 { animation-delay: 0.7s; }
.stagger-6 { animation-delay: 0.85s; }

/* ===================================================================
   THEME 1 — HELIX MONOGRAM (Dark genomics)
   =================================================================== */
.theme-helix {
  --bg: #060910;
  --bg2: #0a0f18;
  --card-bg: rgba(15,20,30,0.7);
  --card-border: rgba(45,212,191,0.1);
  --text: #e2e8f0;
  --text2: #7a8ba8;
  --text3: #3e4d66;
  --accent: #2dd4bf;
  --accent2: #38bdf8;
  --glow: rgba(45,212,191,0.06);
}
.theme-helix body, .theme-helix .page { background: var(--bg); color: var(--text); font-family: 'DM Sans', sans-serif; }
.theme-helix .hero-section::before {
  content:''; position:absolute; top:-40%; left:50%; transform:translateX(-50%);
  width:1000px; height:1000px;
  background: radial-gradient(ellipse, rgba(45,212,191,0.05) 0%, rgba(56,189,248,0.02) 40%, transparent 65%);
  pointer-events:none;
}
.theme-helix .hero-section::after {
  content:''; position:absolute; bottom:0; left:0; right:0; height:1px;
  background: linear-gradient(90deg, transparent, var(--card-border), transparent);
}
.theme-helix .hero-badge {
  display:inline-flex; align-items:center; gap:0.5rem;
  padding:0.4rem 1.2rem; border-radius:100px; font-size:0.7rem;
  letter-spacing:0.18em; text-transform:uppercase; color:var(--accent);
  background: rgba(45,212,191,0.08); border:1px solid rgba(45,212,191,0.15);
  animation: fadeDown 0.8s ease-out both;
}
.theme-helix .hero-badge::before {
  content:''; width:6px; height:6px; border-radius:50%;
  background:var(--accent); animation: pulse 2s infinite;
}
.theme-helix .hero-title {
  font-family:'Cormorant Garamond',serif; font-size:clamp(3.5rem,9vw,8rem);
  font-weight:300; letter-spacing:0.06em; line-height:1;
  margin: 2rem 0 1.5rem;
  animation: fadeUp 1s ease-out 0.15s both;
}
.theme-helix .hero-title em { font-style:italic; color:var(--accent); }
.theme-helix .hero-sub {
  font-size:1.1rem; color:var(--text2); font-weight:300; max-width:520px;
  animation: fadeUp 1s ease-out 0.3s both;
}
.theme-helix .hero-tags {
  display:flex; gap:0.8rem; flex-wrap:wrap; justify-content:center; margin-top:2.5rem;
  animation: fadeUp 1s ease-out 0.45s both;
}
.theme-helix .hero-tag {
  padding:0.3rem 0.9rem; border-radius:6px; font-size:0.72rem; font-weight:500;
  letter-spacing:0.05em; border:1px solid var(--card-border); color:var(--text2);
  background:rgba(255,255,255,0.015);
}
.theme-helix .section-label {
  font-size:0.68rem; letter-spacing:0.2em; text-transform:uppercase;
  color:var(--accent); margin-bottom:0.8rem;
}
.theme-helix .section-title {
  font-family:'Cormorant Garamond',serif; font-size:clamp(1.8rem,3.5vw,2.8rem);
  font-weight:400; margin-bottom:0.8rem;
}
.theme-helix .section-desc { color:var(--text2); font-weight:300; max-width:560px; margin-bottom:2rem; }
.theme-helix .feature-card {
  padding:2rem; border:1px solid var(--card-border); border-radius:14px;
  background:var(--card-bg); backdrop-filter:blur(8px);
  transition:all 0.35s ease;
}
.theme-helix .feature-card:hover { border-color:rgba(45,212,191,0.25); transform:translateY(-4px); box-shadow:0 0 60px var(--glow); }
.theme-helix .feature-icon { font-size:1.5rem; margin-bottom:1rem; }
.theme-helix .feature-title { font-family:'Outfit',sans-serif; font-weight:600; font-size:0.95rem; margin-bottom:0.4rem; }
.theme-helix .feature-text { font-size:0.8rem; color:var(--text2); font-weight:300; line-height:1.65; }
.theme-helix .cta-section::before {
  content:''; position:absolute; top:0; left:0; right:0; height:1px;
  background: linear-gradient(90deg, transparent, var(--card-border), transparent);
}
.theme-helix .cta-title {
  font-family:'Cormorant Garamond',serif; font-size:clamp(2rem,4vw,3.2rem);
  font-weight:300; margin-bottom:0.6rem;
}
.theme-helix .cta-sub { color:var(--text2); font-weight:300; margin-bottom:2rem; }
.theme-helix .cta-btn {
  background:var(--accent); color:#060910; font-family:'DM Sans',sans-serif;
}
.theme-helix .cta-btn:hover { background:var(--accent2); box-shadow:0 0 40px rgba(56,189,248,0.2); transform:translateY(-2px); }
.theme-helix .footer-bar { color:var(--text3); }
.theme-helix .concept-badge { background:rgba(45,212,191,0.1); color:var(--accent); border:1px solid rgba(45,212,191,0.2); }

/* ===================================================================
   THEME 2 — ORBITAL SYSTEM (Violet-blue deep space)
   =================================================================== */
.theme-orbital {
  --bg: #08070f;
  --bg2: #0e0d18;
  --card-bg: rgba(18,16,32,0.7);
  --card-border: rgba(167,139,250,0.12);
  --text: #e4e2f0;
  --text2: #8b86aa;
  --text3: #4a4566;
  --accent: #a78bfa;
  --accent2: #38bdf8;
  --glow: rgba(167,139,250,0.06);
}
.theme-orbital body, .theme-orbital .page { background:var(--bg); color:var(--text); font-family:'Outfit',sans-serif; }
.theme-orbital .hero-section::before {
  content:''; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:700px; height:700px; border-radius:50%;
  background: radial-gradient(circle, rgba(167,139,250,0.06) 0%, rgba(56,189,248,0.03) 40%, transparent 65%);
  pointer-events:none; animation: rotate 120s linear infinite;
}
.theme-orbital .hero-badge {
  display:inline-flex; align-items:center; gap:0.5rem;
  padding:0.35rem 1.1rem; border-radius:6px; font-size:0.68rem;
  letter-spacing:0.2em; text-transform:uppercase; color:var(--accent);
  background:rgba(167,139,250,0.08); border:1px solid rgba(167,139,250,0.15);
  animation: fadeDown 0.8s ease-out both;
}
.theme-orbital .hero-title {
  font-family:'Outfit',sans-serif; font-size:clamp(3rem,8vw,6.5rem);
  font-weight:100; letter-spacing:0.12em; line-height:1.05;
  margin:2.5rem 0 1.5rem;
  animation: fadeUp 1.1s ease-out 0.15s both;
}
.theme-orbital .hero-title span { font-weight:400; color:var(--accent); }
.theme-orbital .hero-sub {
  font-size:1rem; color:var(--text2); font-weight:300; max-width:480px; letter-spacing:0.02em;
  animation: fadeUp 1s ease-out 0.3s both;
}
.theme-orbital .hero-divider {
  width:60px; height:1px; background:linear-gradient(90deg, var(--accent), var(--accent2));
  margin:2.5rem auto; animation: fadeIn 1s ease-out 0.45s both;
}
.theme-orbital .hero-tags {
  display:flex; gap:1.5rem; flex-wrap:wrap; justify-content:center;
  animation: fadeUp 1s ease-out 0.6s both;
}
.theme-orbital .hero-tag {
  font-size:0.72rem; letter-spacing:0.12em; text-transform:uppercase;
  color:var(--text3); font-weight:400;
}
.theme-orbital .section-label {
  font-size:0.65rem; letter-spacing:0.22em; text-transform:uppercase;
  color:var(--accent2); margin-bottom:0.8rem; font-weight:400;
}
.theme-orbital .section-title {
  font-family:'Outfit',sans-serif; font-size:clamp(1.6rem,3vw,2.4rem);
  font-weight:200; letter-spacing:0.04em; margin-bottom:0.8rem;
}
.theme-orbital .section-desc { color:var(--text2); font-weight:300; max-width:520px; font-size:0.92rem; margin-bottom:2rem; }
.theme-orbital .feature-card {
  padding:2rem; border:1px solid var(--card-border); border-radius:12px;
  background:var(--card-bg); transition:all 0.35s ease;
}
.theme-orbital .feature-card:hover { border-color:rgba(167,139,250,0.3); transform:translateY(-4px); box-shadow:0 0 50px var(--glow); }
.theme-orbital .feature-icon { font-size:1.4rem; margin-bottom:1rem; }
.theme-orbital .feature-title { font-weight:600; font-size:0.9rem; margin-bottom:0.4rem; letter-spacing:0.02em; }
.theme-orbital .feature-text { font-size:0.78rem; color:var(--text2); font-weight:300; line-height:1.65; }
.theme-orbital .cta-title {
  font-family:'Outfit',sans-serif; font-size:clamp(1.8rem,3.5vw,2.8rem);
  font-weight:200; letter-spacing:0.05em; margin-bottom:0.6rem;
}
.theme-orbital .cta-sub { color:var(--text2); font-weight:300; margin-bottom:2rem; }
.theme-orbital .cta-btn {
  background:linear-gradient(135deg, var(--accent), var(--accent2));
  color:#08070f; font-family:'Outfit',sans-serif;
}
.theme-orbital .cta-btn:hover { box-shadow:0 0 50px rgba(167,139,250,0.25); transform:translateY(-2px); }
.theme-orbital .footer-bar { color:var(--text3); }
.theme-orbital .concept-badge { background:rgba(167,139,250,0.1); color:var(--accent); border:1px solid rgba(167,139,250,0.2); }

/* ===================================================================
   THEME 3 — CELL & LEAF (Light, organic)
   =================================================================== */
.theme-cell {
  --bg: #f7f9f5;
  --bg2: #eef2ea;
  --card-bg: #ffffff;
  --card-border: rgba(5,150,105,0.12);
  --text: #1a2e1a;
  --text2: #4d6a4d;
  --text3: #8aaa8a;
  --accent: #059669;
  --accent2: #2dd4bf;
  --glow: rgba(5,150,105,0.06);
}
.theme-cell body, .theme-cell .page { background:var(--bg); color:var(--text); font-family:'Libre Baskerville',serif; }
.theme-cell .hero-section { background:linear-gradient(180deg, #f0f4eb 0%, var(--bg) 100%); }
.theme-cell .hero-section::before {
  content:''; position:absolute; top:10%; right:-10%; width:500px; height:500px;
  border-radius:60% 40% 50% 50%/50% 60% 40% 50%;
  background:rgba(5,150,105,0.04); pointer-events:none;
  animation: drift 20s ease-in-out infinite;
}
.theme-cell .hero-section::after {
  content:''; position:absolute; bottom:15%; left:-5%; width:350px; height:350px;
  border-radius:40% 60% 55% 45%/55% 40% 60% 45%;
  background:rgba(45,212,191,0.03); pointer-events:none;
  animation: drift 25s ease-in-out infinite reverse;
}
.theme-cell .hero-badge {
  display:inline-flex; align-items:center; gap:0.4rem;
  padding:0.35rem 1rem; border-radius:100px; font-size:0.7rem;
  letter-spacing:0.12em; text-transform:uppercase; color:var(--accent);
  background:rgba(5,150,105,0.06); border:1px solid rgba(5,150,105,0.12);
  font-family:'DM Sans',sans-serif; font-weight:500;
  animation: fadeDown 0.8s ease-out both;
}
.theme-cell .hero-title {
  font-family:'Cormorant Garamond',serif; font-size:clamp(3.2rem,8vw,7.5rem);
  font-weight:600; letter-spacing:0.03em; line-height:1.05;
  margin:2rem 0 1.5rem; color:var(--text);
  animation: fadeUp 1s ease-out 0.15s both;
}
.theme-cell .hero-title em { font-style:italic; color:var(--accent); font-weight:400; }
.theme-cell .hero-sub {
  font-size:1rem; color:var(--text2); font-weight:400; max-width:500px;
  line-height:1.8; font-style:italic;
  animation: fadeUp 1s ease-out 0.3s both;
}
.theme-cell .hero-divider {
  width:40px; height:2px; background:var(--accent); opacity:0.4;
  margin:2.5rem auto; animation: fadeIn 1s ease-out 0.45s both;
}
.theme-cell .hero-tags {
  display:flex; gap:1rem; flex-wrap:wrap; justify-content:center;
  animation: fadeUp 1s ease-out 0.55s both;
}
.theme-cell .hero-tag {
  padding:0.3rem 0.9rem; border-radius:100px; font-size:0.7rem;
  font-family:'DM Sans',sans-serif; font-weight:500; letter-spacing:0.05em;
  border:1px solid var(--card-border); color:var(--text2); background:var(--card-bg);
}
.theme-cell .section-label {
  font-size:0.68rem; letter-spacing:0.18em; text-transform:uppercase;
  color:var(--accent); margin-bottom:0.8rem; font-family:'DM Sans',sans-serif; font-weight:600;
}
.theme-cell .section-title {
  font-family:'Cormorant Garamond',serif; font-size:clamp(1.8rem,3.5vw,2.8rem);
  font-weight:600; margin-bottom:0.8rem;
}
.theme-cell .section-desc { color:var(--text2); max-width:540px; margin-bottom:2rem; line-height:1.8; font-size:0.92rem; }
.theme-cell .feature-card {
  padding:2rem; border:1px solid var(--card-border); border-radius:14px;
  background:var(--card-bg); transition:all 0.35s ease;
  box-shadow:0 2px 20px rgba(0,0,0,0.03);
}
.theme-cell .feature-card:hover { border-color:rgba(5,150,105,0.3); transform:translateY(-4px); box-shadow:0 8px 40px rgba(5,150,105,0.08); }
.theme-cell .feature-icon { font-size:1.4rem; margin-bottom:1rem; }
.theme-cell .feature-title { font-family:'DM Sans',sans-serif; font-weight:700; font-size:0.92rem; margin-bottom:0.4rem; }
.theme-cell .feature-text { font-size:0.8rem; color:var(--text2); line-height:1.7; font-family:'DM Sans',sans-serif; font-weight:400; }
.theme-cell .cta-section { background:linear-gradient(180deg, var(--bg), #eef2ea); }
.theme-cell .cta-title {
  font-family:'Cormorant Garamond',serif; font-size:clamp(2rem,4vw,3.2rem);
  font-weight:600; margin-bottom:0.6rem;
}
.theme-cell .cta-sub { color:var(--text2); margin-bottom:2rem; font-style:italic; }
.theme-cell .cta-btn {
  background:var(--accent); color:#fff; font-family:'DM Sans',sans-serif;
}
.theme-cell .cta-btn:hover { background:#047857; box-shadow:0 8px 30px rgba(5,150,105,0.2); }
.theme-cell .footer-bar { color:var(--text3); font-family:'DM Sans',sans-serif; }
.theme-cell .concept-badge { background:#fff; color:var(--accent); border:1px solid var(--card-border); }

/* ===================================================================
   THEME 4 — MOLECULAR LATTICE (Clean pharma corporate)
   =================================================================== */
.theme-lattice {
  --bg: #ffffff;
  --bg2: #f1f5f9;
  --card-bg: #ffffff;
  --card-border: rgba(30,64,175,0.1);
  --text: #0f172a;
  --text2: #475569;
  --text3: #94a3b8;
  --accent: #1e40af;
  --accent2: #3b82f6;
  --glow: rgba(30,64,175,0.04);
}
.theme-lattice body, .theme-lattice .page { background:var(--bg); color:var(--text); font-family:'Outfit',sans-serif; }
.theme-lattice .hero-section { background:var(--bg2); }
.theme-lattice .hero-section::before {
  content:''; position:absolute; inset:0;
  background: repeating-linear-gradient(90deg, transparent, transparent 79px, rgba(30,64,175,0.03) 79px, rgba(30,64,175,0.03) 80px),
              repeating-linear-gradient(0deg, transparent, transparent 79px, rgba(30,64,175,0.03) 79px, rgba(30,64,175,0.03) 80px);
  pointer-events:none;
}
.theme-lattice .hero-badge {
  display:inline-flex; align-items:center; gap:0.4rem;
  padding:0.35rem 1rem; border-radius:4px; font-size:0.7rem;
  letter-spacing:0.2em; text-transform:uppercase; color:var(--accent);
  background:rgba(30,64,175,0.06); border:1px solid rgba(30,64,175,0.12);
  font-weight:600; animation: fadeDown 0.7s ease-out both;
}
.theme-lattice .hero-title {
  font-family:'Outfit',sans-serif; font-size:clamp(3rem,8vw,6.5rem);
  font-weight:700; letter-spacing:0.06em; line-height:1;
  margin:2rem 0 1.5rem; color:var(--text);
  animation: fadeUp 0.9s ease-out 0.1s both;
}
.theme-lattice .hero-title span { color:var(--accent2); }
.theme-lattice .hero-sub {
  font-size:1.05rem; color:var(--text2); font-weight:300; max-width:520px; letter-spacing:0.01em;
  animation: fadeUp 0.9s ease-out 0.25s both;
}
.theme-lattice .hero-divider {
  width:50px; height:3px; background:var(--accent); margin:2.5rem auto;
  animation: fadeIn 0.8s ease-out 0.4s both;
}
.theme-lattice .hero-tags {
  display:flex; gap:0.8rem; flex-wrap:wrap; justify-content:center;
  animation: fadeUp 0.9s ease-out 0.5s both;
}
.theme-lattice .hero-tag {
  padding:0.35rem 1rem; border-radius:4px; font-size:0.72rem; font-weight:600;
  letter-spacing:0.06em; color:var(--accent); background:rgba(30,64,175,0.06);
  border:1px solid rgba(30,64,175,0.1);
}
.theme-lattice .content-section { background:var(--bg); }
.theme-lattice .section-label {
  font-size:0.68rem; letter-spacing:0.22em; text-transform:uppercase;
  color:var(--accent2); margin-bottom:0.8rem; font-weight:600;
}
.theme-lattice .section-title {
  font-size:clamp(1.6rem,3vw,2.4rem); font-weight:700;
  letter-spacing:0.02em; margin-bottom:0.8rem;
}
.theme-lattice .section-desc { color:var(--text2); font-weight:300; max-width:540px; margin-bottom:2rem; }
.theme-lattice .feature-card {
  padding:2rem; border:1px solid var(--card-border); border-radius:10px;
  background:var(--card-bg); transition:all 0.3s ease;
  box-shadow:0 1px 3px rgba(0,0,0,0.04);
}
.theme-lattice .feature-card:hover { border-color:rgba(59,130,246,0.3); transform:translateY(-3px); box-shadow:0 8px 30px rgba(30,64,175,0.08); }
.theme-lattice .feature-icon { font-size:1.4rem; margin-bottom:1rem; }
.theme-lattice .feature-title { font-weight:700; font-size:0.92rem; margin-bottom:0.4rem; }
.theme-lattice .feature-text { font-size:0.8rem; color:var(--text2); font-weight:300; line-height:1.65; }
.theme-lattice .cta-section { background:var(--bg2); }
.theme-lattice .cta-title { font-size:clamp(1.8rem,3.5vw,2.8rem); font-weight:700; margin-bottom:0.6rem; }
.theme-lattice .cta-sub { color:var(--text2); font-weight:300; margin-bottom:2rem; }
.theme-lattice .cta-btn { background:var(--accent); color:#fff; }
.theme-lattice .cta-btn:hover { background:var(--accent2); box-shadow:0 8px 30px rgba(59,130,246,0.2); }
.theme-lattice .footer-bar { color:var(--text3); }
.theme-lattice .concept-badge { background:rgba(30,64,175,0.06); color:var(--accent); border:1px solid rgba(30,64,175,0.15); }

/* ===================================================================
   THEME 5 — PROTEIN FOLD (Iridescent ocean)
   =================================================================== */
.theme-protein {
  --bg: #060d14;
  --bg2: #0a131e;
  --card-bg: rgba(12,20,32,0.7);
  --card-border: rgba(56,189,248,0.1);
  --text: #dde8f0;
  --text2: #6e8aa8;
  --text3: #3a5068;
  --accent: #38bdf8;
  --accent2: #2dd4bf;
  --accent3: #a78bfa;
  --glow: rgba(56,189,248,0.05);
}
.theme-protein body, .theme-protein .page { background:var(--bg); color:var(--text); font-family:'DM Sans',sans-serif; }
.theme-protein .hero-section::before {
  content:''; position:absolute; top:0; left:0; right:0; bottom:0;
  background: linear-gradient(160deg, rgba(45,212,191,0.03) 0%, transparent 40%, rgba(167,139,250,0.03) 100%);
  pointer-events:none;
}
.theme-protein .hero-badge {
  display:inline-flex; align-items:center; gap:0.5rem;
  padding:0.35rem 1.1rem; border-radius:100px; font-size:0.68rem;
  letter-spacing:0.15em; text-transform:uppercase;
  color:var(--accent2);
  background: linear-gradient(135deg, rgba(45,212,191,0.08), rgba(56,189,248,0.08));
  border:1px solid rgba(45,212,191,0.12);
  animation: fadeDown 0.8s ease-out both;
}
.theme-protein .hero-title {
  font-family:'Cormorant Garamond',serif; font-size:clamp(3.5rem,9vw,8rem);
  font-weight:300; font-style:italic; letter-spacing:0.05em; line-height:1;
  margin:2rem 0 1.5rem;
  background: linear-gradient(135deg, var(--accent2), var(--accent), var(--accent3));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  animation: fadeUp 1.1s ease-out 0.15s both;
}
.theme-protein .hero-sub {
  font-size:1.05rem; color:var(--text2); font-weight:300; max-width:500px;
  animation: fadeUp 1s ease-out 0.3s both;
}
.theme-protein .hero-divider {
  width:80px; height:1px; margin:2.5rem auto;
  background: linear-gradient(90deg, var(--accent2), var(--accent), var(--accent3));
  animation: fadeIn 1s ease-out 0.45s both;
}
.theme-protein .hero-tags {
  display:flex; gap:1.2rem; flex-wrap:wrap; justify-content:center;
  animation: fadeUp 1s ease-out 0.55s both;
}
.theme-protein .hero-tag {
  font-size:0.7rem; letter-spacing:0.1em; text-transform:uppercase;
  color:var(--text3); font-weight:500;
}
.theme-protein .section-label {
  font-size:0.65rem; letter-spacing:0.2em; text-transform:uppercase;
  color:var(--accent); margin-bottom:0.8rem;
}
.theme-protein .section-title {
  font-family:'Cormorant Garamond',serif; font-size:clamp(1.8rem,3.5vw,2.6rem);
  font-weight:300; font-style:italic; margin-bottom:0.8rem;
}
.theme-protein .section-desc { color:var(--text2); font-weight:300; max-width:540px; margin-bottom:2rem; }
.theme-protein .feature-card {
  padding:2rem; border:1px solid var(--card-border); border-radius:14px;
  background:var(--card-bg); backdrop-filter:blur(8px); transition:all 0.35s ease;
}
.theme-protein .feature-card:hover { border-color:rgba(56,189,248,0.25); transform:translateY(-4px); box-shadow:0 0 50px var(--glow); }
.theme-protein .feature-icon { font-size:1.4rem; margin-bottom:1rem; }
.theme-protein .feature-title { font-family:'Outfit',sans-serif; font-weight:600; font-size:0.9rem; margin-bottom:0.4rem; }
.theme-protein .feature-text { font-size:0.78rem; color:var(--text2); font-weight:300; line-height:1.65; }
.theme-protein .cta-title {
  font-family:'Cormorant Garamond',serif; font-size:clamp(2rem,4vw,3rem);
  font-weight:300; font-style:italic; margin-bottom:0.6rem;
}
.theme-protein .cta-sub { color:var(--text2); font-weight:300; margin-bottom:2rem; }
.theme-protein .cta-btn {
  background:linear-gradient(135deg, var(--accent2), var(--accent));
  color:#060d14; font-family:'DM Sans',sans-serif; font-weight:700;
}
.theme-protein .cta-btn:hover { box-shadow:0 0 50px rgba(56,189,248,0.2); transform:translateY(-2px); }
.theme-protein .footer-bar { color:var(--text3); }
.theme-protein .concept-badge { background:rgba(56,189,248,0.1); color:var(--accent); border:1px solid rgba(56,189,248,0.2); }

/* ===================================================================
   THEME 6 — HERITAGE CREST (Warm luxury)
   =================================================================== */
.theme-crest {
  --bg: #0f0b0a;
  --bg2: #16110f;
  --card-bg: rgba(24,18,16,0.8);
  --card-border: rgba(245,158,11,0.12);
  --text: #f0e8e0;
  --text2: #a89080;
  --text3: #5e4f44;
  --accent: #f59e0b;
  --accent2: #d97706;
  --glow: rgba(245,158,11,0.05);
}
.theme-crest body, .theme-crest .page { background:var(--bg); color:var(--text); font-family:'Libre Baskerville',serif; }
.theme-crest .hero-section::before {
  content:''; position:absolute; top:0; left:0; right:0; bottom:0;
  background: radial-gradient(ellipse at 50% 30%, rgba(245,158,11,0.04) 0%, transparent 60%);
  pointer-events:none;
}
.theme-crest .hero-badge {
  display:inline-flex; align-items:center; gap:0.5rem;
  padding:0.35rem 1.2rem; border-radius:2px; font-size:0.68rem;
  letter-spacing:0.22em; text-transform:uppercase; color:var(--accent);
  border:1px solid rgba(245,158,11,0.2); background:rgba(245,158,11,0.05);
  font-family:'DM Sans',sans-serif; font-weight:600;
  animation: fadeDown 0.8s ease-out both;
}
.theme-crest .hero-title {
  font-family:'Playfair Display',serif; font-size:clamp(3rem,8vw,7rem);
  font-weight:400; letter-spacing:0.04em; line-height:1.05;
  margin:2rem 0 1.5rem;
  animation: fadeUp 1s ease-out 0.15s both;
}
.theme-crest .hero-title em { font-style:italic; color:var(--accent); }
.theme-crest .hero-ornament {
  display:flex; align-items:center; gap:1rem; justify-content:center;
  margin:1.5rem 0; animation: fadeIn 1s ease-out 0.3s both;
}
.theme-crest .hero-ornament::before, .theme-crest .hero-ornament::after {
  content:''; width:60px; height:1px; background:var(--accent); opacity:0.3;
}
.theme-crest .hero-ornament span { color:var(--accent); font-size:1.2rem; }
.theme-crest .hero-sub {
  font-size:0.95rem; color:var(--text2); font-weight:400; max-width:480px;
  line-height:1.8; font-style:italic;
  animation: fadeUp 1s ease-out 0.4s both;
}
.theme-crest .hero-tags {
  display:flex; gap:1.5rem; flex-wrap:wrap; justify-content:center; margin-top:2.5rem;
  animation: fadeUp 1s ease-out 0.55s both;
}
.theme-crest .hero-tag {
  font-size:0.68rem; letter-spacing:0.15em; text-transform:uppercase;
  color:var(--text3); font-family:'DM Sans',sans-serif; font-weight:500;
}
.theme-crest .section-label {
  font-size:0.65rem; letter-spacing:0.22em; text-transform:uppercase;
  color:var(--accent); margin-bottom:0.8rem; font-family:'DM Sans',sans-serif; font-weight:600;
}
.theme-crest .section-title {
  font-family:'Playfair Display',serif; font-size:clamp(1.8rem,3.5vw,2.6rem);
  font-weight:400; margin-bottom:0.8rem;
}
.theme-crest .section-desc { color:var(--text2); max-width:520px; margin-bottom:2rem; line-height:1.8; font-size:0.9rem; }
.theme-crest .feature-card {
  padding:2rem; border:1px solid var(--card-border); border-radius:3px;
  background:var(--card-bg); transition:all 0.35s ease;
}
.theme-crest .feature-card:hover { border-color:rgba(245,158,11,0.3); transform:translateY(-4px); box-shadow:0 0 50px var(--glow); }
.theme-crest .feature-icon { font-size:1.4rem; margin-bottom:1rem; }
.theme-crest .feature-title { font-family:'DM Sans',sans-serif; font-weight:700; font-size:0.9rem; margin-bottom:0.4rem; }
.theme-crest .feature-text { font-size:0.78rem; color:var(--text2); font-weight:400; line-height:1.7; font-family:'DM Sans',sans-serif; }
.theme-crest .cta-section::before {
  content:''; position:absolute; top:0; left:50%; transform:translateX(-50%);
  width:200px; height:1px; background:linear-gradient(90deg, transparent, var(--accent), transparent);
}
.theme-crest .cta-title {
  font-family:'Playfair Display',serif; font-size:clamp(2rem,4vw,3rem);
  font-weight:400; margin-bottom:0.6rem;
}
.theme-crest .cta-sub { color:var(--text2); font-style:italic; margin-bottom:2rem; }
.theme-crest .cta-btn {
  background:var(--accent); color:#0f0b0a; font-family:'DM Sans',sans-serif; font-weight:700;
  border-radius:3px;
}
.theme-crest .cta-btn:hover { background:var(--accent2); box-shadow:0 0 40px rgba(245,158,11,0.2); }
.theme-crest .footer-bar { color:var(--text3); font-family:'DM Sans',sans-serif; }
.theme-crest .concept-badge { background:rgba(245,158,11,0.08); color:var(--accent); border:1px solid rgba(245,158,11,0.2); }

/* Responsive */
@media (max-width: 700px) {
  .features-grid { grid-template-columns: 1fr; }
  .hero-section { padding: 2rem 1.5rem; }
  .content-section { padding: 4rem 1.5rem; }
}