:root{
  --bg:#070B16;
  --bg-elevated:#0B1023;
  --card:rgba(17,26,51,0.72);
  --card-soft:rgba(16,24,48,0.72);
  --text:#F1F6FF;
  --text-secondary:#C9D7F2;
  --muted:#8A9AB8;
  --brand:#6EE7FF;
  --blue:#2563FF;
  --teal:#14B8A6;
  --violet:#8B5CF6;
  --warm:#C084FC;
  --border:rgba(110,231,255,0.14);
  --radius-lg:20px;
  --radius-md:14px;
  --radius-sm:10px;
  --maxw:1200px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4{
  font-family:'Syne',system-ui,sans-serif;
  font-weight:700;
  line-height:1.15;
  margin:0 0 16px 0;
  letter-spacing:-0.01em;
}
p{margin:0 0 16px 0;color:var(--text-secondary);}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
ul{margin:0;padding:0;list-style:none;}
section{position:relative;padding:120px 24px;scroll-margin-top:84px;}
.wrap{max-width:var(--maxw);margin:0 auto;}

/* Background ambience */
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  background:
    radial-gradient(60% 45% at 82% 8%, rgba(139,92,246,0.18), transparent 60%),
    radial-gradient(50% 40% at 12% 15%, rgba(110,231,255,0.13), transparent 60%),
    radial-gradient(60% 45% at 90% 70%, rgba(20,184,166,0.10), transparent 60%),
    radial-gradient(70% 50% at 50% 100%, rgba(37,99,255,0.15), transparent 60%),
    var(--bg);
}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:12.5px;
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--brand);
  margin-bottom:18px;
}
.eyebrow::before{
  content:"";
  width:6px;height:6px;border-radius:50%;
  background:var(--brand);
  box-shadow:0 0 10px 2px rgba(110,231,255,0.6);
}

.section-head{max-width:760px;margin:0 0 56px 0;}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.section-head h2{font-size:clamp(28px,3.6vw,42px);}
.section-head p{font-size:17px;max-width:640px;}
.section-head.center p{margin-left:auto;margin-right:auto;}

/* Pills / tags */
.pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 14px;
  border-radius:999px;
  font-size:12.5px;
  font-weight:600;
  letter-spacing:0.02em;
  border:1px solid var(--border);
  background:rgba(110,231,255,0.06);
  color:var(--text-secondary);
  white-space:nowrap;
}
.pill.brand{color:var(--brand);border-color:rgba(110,231,255,0.35);background:rgba(110,231,255,0.08);}
.pill.teal{color:var(--teal);border-color:rgba(20,184,166,0.35);background:rgba(20,184,166,0.08);}
.pill.violet{color:var(--violet);border-color:rgba(139,92,246,0.35);background:rgba(139,92,246,0.08);}
.pill.blue{color:#8FB4FF;border-color:rgba(37,99,255,0.4);background:rgba(37,99,255,0.1);}
.pill.warm{color:#E7B8FF;border-color:rgba(192,132,252,0.4);background:rgba(192,132,252,0.1);}
.pill.muted{color:var(--muted);}

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:14px 26px;
  border-radius:12px;
  font-weight:600;
  font-size:15px;
  border:1px solid transparent;
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}
.btn-primary{
  background:linear-gradient(135deg,var(--blue),var(--violet));
  color:#fff;
  box-shadow:0 8px 30px -8px rgba(37,99,255,0.55);
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 34px -6px rgba(37,99,255,0.65);}
.btn-secondary{
  background:rgba(241,246,255,0.03);
  color:var(--text);
  border-color:var(--border);
}
.btn-secondary:hover{border-color:rgba(110,231,255,0.4);background:rgba(110,231,255,0.06);transform:translateY(-2px);}
.btn-row{display:flex;gap:14px;flex-wrap:wrap;}

/* Header */
header{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(7,11,22,0.72);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--border);
}
.nav-wrap{
  max-width:var(--maxw);
  margin:0 auto;
  padding:14px 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.brand-lockup{display:flex;align-items:center;gap:10px;}
.brand-lockup img{width:30px;height:30px;}
.brand-lockup .wordmark{
  font-family:'Syne',sans-serif;
  font-weight:700;
  font-size:19px;
  color:var(--text);
}
.brand-lockup .wordmark span{color:var(--brand);}
nav.primary-nav{display:flex;align-items:center;gap:28px;}
nav.primary-nav a{
  font-size:14.5px;
  font-weight:500;
  color:var(--text-secondary);
  transition:color .15s ease;
}
nav.primary-nav a:hover{color:var(--text);}
.nav-actions{display:flex;align-items:center;gap:14px;}
.nav-cta{padding:10px 20px;font-size:14px;}
.menu-toggle{
  display:none;
  background:none;border:1px solid var(--border);border-radius:8px;
  width:40px;height:40px;color:var(--text);cursor:pointer;
  align-items:center;justify-content:center;
}
.mobile-nav{
  display:none;
  flex-direction:column;
  gap:2px;
  padding:8px 24px 20px 24px;
  border-top:1px solid var(--border);
}
.mobile-nav a{
  padding:12px 4px;
  font-size:15px;
  color:var(--text-secondary);
  border-bottom:1px solid rgba(255,255,255,0.04);
}
.mobile-nav.open{display:flex;}

/* Language selector */
.lang-switch{
  display:flex;
  align-items:center;
  gap:2px;
  border:1px solid var(--border);
  border-radius:999px;
  padding:3px;
  background:rgba(255,255,255,0.02);
}
.lang-switch a{
  font-size:12.5px;
  font-weight:700;
  letter-spacing:0.03em;
  color:var(--muted);
  padding:6px 11px;
  border-radius:999px;
  transition:color .15s ease, background .15s ease;
}
.lang-switch a:hover{color:var(--text);}
.lang-switch a.active{
  color:#04121A;
  background:var(--brand);
  box-shadow:0 0 12px 1px rgba(110,231,255,0.45);
}
.lang-switch-mobile{
  display:flex;
  gap:8px;
  padding:16px 4px 4px 4px;
  margin-top:6px;
  border-top:1px solid var(--border);
}
.lang-switch-mobile a{
  font-size:13px;
  font-weight:700;
  color:var(--muted);
  padding:6px 14px;
  border-radius:999px;
  border:1px solid var(--border);
}
.lang-switch-mobile a.active{color:#04121A;background:var(--brand);border-color:var(--brand);}

/* Glass cards */
.card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  padding:30px;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  position:relative;
  transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.card:hover{transform:translateY(-4px);border-color:rgba(110,231,255,0.3);box-shadow:0 20px 50px -20px rgba(37,99,255,0.35);}
.card .icon-chip{
  width:44px;height:44px;
  border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:18px;
  font-size:20px;
  background:linear-gradient(135deg, rgba(37,99,255,0.18), rgba(139,92,246,0.18));
  border:1px solid var(--border);
}
.card h3{font-size:18px;margin-bottom:10px;}
.card p{font-size:14.5px;margin-bottom:0;}

/* Reveal on scroll */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease, transform .7s ease;}
.reveal.is-visible{opacity:1;transform:translateY(0);}

/* ===== HERO ===== */
.hero{padding-top:96px;padding-bottom:80px;}
.hero-grid{
  display:grid;
  grid-template-columns:1.05fr 0.95fr;
  gap:60px;
  align-items:center;
}
.hero h1{font-size:clamp(38px,5.4vw,64px);}
.hero h1 .sub-line{
  display:block;
  font-size:0.52em;
  color:var(--text-secondary);
  font-weight:600;
  margin-top:10px;
}
.hero-sub{font-size:18px;max-width:540px;color:var(--text-secondary);}
.hero-concrete{
  font-size:16.5px;
  color:var(--text-secondary);
  max-width:520px;
}
.hero-badges{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:28px;
}
.hero-badges .pill{font-size:11.5px;padding:5px 12px;}

.hero-visual{position:relative;}
.dashboard-mock{
  background:linear-gradient(180deg, rgba(17,26,51,0.9), rgba(11,16,35,0.9));
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  padding:26px;
  box-shadow:0 40px 90px -30px rgba(0,0,0,0.65), 0 0 0 1px rgba(110,231,255,0.05);
  position:relative;
  overflow:hidden;
}
.dashboard-mock::before{
  content:"";
  position:absolute;
  top:-40%;right:-30%;
  width:70%;height:70%;
  background:radial-gradient(circle, rgba(110,231,255,0.18), transparent 70%);
  pointer-events:none;
}
.dashboard-mock::after{
  content:"";
  position:absolute;
  top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg, var(--brand), var(--teal), var(--violet));
}
.mock-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;}
.mock-dots{display:flex;gap:6px;}
.mock-dots span{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,0.16);}
.mock-title{font-size:12.5px;color:var(--muted);font-weight:600;letter-spacing:0.03em;}

/* Real product screenshot frames (Lumidy One demo workspace) */
.product-shot-frame{padding:18px 18px 16px 18px;}
.product-shot-img{
  width:100%;
  display:block;
  border-radius:10px;
  border:1px solid var(--border);
  box-shadow:0 20px 50px -20px rgba(0,0,0,0.6);
}
.product-shot-caption{
  font-size:11.5px;
  color:var(--muted);
  margin:12px 2px 0 2px;
  text-align:right;
}
.product-shot-frame.large{padding:22px;}
.product-shot-frame.large .product-shot-caption{text-align:center;margin-top:14px;}

.signal-card{
  display:flex;
  align-items:center;
  gap:12px;
  background:var(--card-soft);
  border:1px solid var(--border);
  border-left:2px solid rgba(110,231,255,0.35);
  border-radius:12px;
  padding:14px 16px;
  margin-bottom:12px;
  font-size:14px;
  font-weight:500;
  color:var(--text);
}
.signal-card:last-child{margin-bottom:0;}
.signal-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;}
.signal-dot.opportunity{background:var(--teal);box-shadow:0 0 12px 2px rgba(20,184,166,0.75);}
.signal-dot.referral{background:var(--brand);box-shadow:0 0 12px 2px rgba(110,231,255,0.75);}
.signal-dot.task{background:var(--violet);box-shadow:0 0 12px 2px rgba(139,92,246,0.75);}
.signal-dot.reply{background:var(--blue);box-shadow:0 0 12px 2px rgba(37,99,255,0.75);}
.signal-card .tag{margin-left:auto;font-size:11px;color:var(--muted);font-weight:600;}
.signal-card.sc-opportunity{border-left-color:rgba(20,184,166,0.55);}
.signal-card.sc-referral{border-left-color:rgba(110,231,255,0.55);}
.signal-card.sc-task{border-left-color:rgba(139,92,246,0.55);}
.signal-card.sc-reply{border-left-color:rgba(37,99,255,0.55);}

/* Signal cards floating on desktop */
@media(min-width:900px){
  .hero-visual{padding:20px 0 20px 20px;}
  .floating-card{
    position:absolute;
    width:230px;
    z-index:3;
  }
  .floating-card.fc-1{top:-24px;left:-36px;}
  .floating-card.fc-2{bottom:-18px;right:-30px;}
}

/* ===== PROBLEM ===== */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}

/* ===== PRODUCT / FEATURES ===== */
.loop-row{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  margin:8px 0 48px 0;
}
.loop-step{
  display:flex;align-items:center;gap:10px;
  background:var(--card-soft);
  border:1px solid var(--border);
  border-radius:999px;
  padding:10px 20px;
  font-size:14px;
  font-weight:600;
}
.loop-step .n{
  width:22px;height:22px;border-radius:50%;
  background:linear-gradient(135deg,var(--blue),var(--violet));
  color:#fff;font-size:11px;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.loop-arrow{color:var(--muted);font-size:16px;}

.grid-features{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}

/* dashboard feature mockups */
.mock-gallery{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  margin-top:48px;
}
.mock-panel{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  padding:22px;
}
.mock-panel h4{font-size:14px;color:var(--text);margin-bottom:4px;font-family:'Inter',sans-serif;font-weight:700;}
.mock-panel .mock-caption{font-size:12.5px;color:var(--muted);margin-bottom:18px;}

.brief-row{
  display:flex;align-items:center;gap:10px;
  padding:9px 0;
  border-bottom:1px solid rgba(255,255,255,0.05);
  font-size:12.5px;
}
.brief-row:last-child{border-bottom:none;}
.brief-priority{
  font-size:10px;font-weight:700;padding:3px 8px;border-radius:6px;flex-shrink:0;
}
.brief-priority.high{background:rgba(20,184,166,0.15);color:var(--teal);}
.brief-priority.med{background:rgba(139,92,246,0.15);color:var(--violet);}
.brief-priority.low{background:rgba(138,154,184,0.15);color:var(--muted);}
.brief-row span.label{color:var(--text-secondary);}

.bar-row{margin-bottom:14px;}
.bar-row:last-child{margin-bottom:0;}
.bar-label{display:flex;justify-content:space-between;font-size:12px;color:var(--text-secondary);margin-bottom:6px;}
.bar-track{height:7px;border-radius:6px;background:rgba(255,255,255,0.06);overflow:hidden;}
.bar-fill{height:100%;border-radius:6px;}

.feed-item{
  display:flex;flex-direction:column;gap:4px;
  padding:10px 12px;
  background:rgba(255,255,255,0.03);
  border-radius:10px;
  margin-bottom:10px;
  font-size:12.5px;
}
.feed-item:last-child{margin-bottom:0;}
.feed-top{display:flex;justify-content:space-between;align-items:center;}
.feed-conf{font-size:10.5px;font-weight:700;color:var(--teal);}

/* ===== WHY IT MATTERS / compare ===== */
.compare-card{padding:28px;}
.compare-card h3{font-size:16px;margin-bottom:18px;display:flex;align-items:center;gap:10px;}
.compare-card ul li{
  display:flex;align-items:flex-start;gap:10px;
  font-size:14.5px;color:var(--text-secondary);
  padding:8px 0;
  border-bottom:1px solid rgba(255,255,255,0.05);
}
.compare-card ul li:last-child{border-bottom:none;}
.compare-card.before .mark{color:#8A6A6A;}
.compare-card.after .mark{color:var(--teal);}
.compare-card.before{border-color:rgba(255,255,255,0.08);}
.compare-card.after{border-color:rgba(20,184,166,0.28);}

/* ===== PRODUCT FAMILY ===== */
.family-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.family-card{position:relative;overflow:hidden;}
.family-card .pill{position:absolute;top:24px;right:24px;}
.family-card::before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;height:3px;
  background:var(--accent-color, var(--brand));
  opacity:0.85;
}
.family-card.accent-brand{--accent-color:linear-gradient(90deg,var(--brand),var(--blue));}
.family-card.accent-teal{--accent-color:linear-gradient(90deg,var(--teal),var(--brand));}
.family-card.accent-blue{--accent-color:linear-gradient(90deg,var(--blue),#8FB4FF);}
.family-card.accent-violet{--accent-color:linear-gradient(90deg,var(--violet),var(--blue));}
.family-card.accent-warm{--accent-color:linear-gradient(90deg,var(--brand),var(--warm),var(--violet));}
.family-card::before{background:var(--accent-color);}
.family-card.accent-warm{box-shadow:0 0 40px -22px rgba(192,132,252,0.55);}

.family-card.advisor-card{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:18px 22px;
  align-items:start;
  border-color:rgba(110,231,255,0.30);
  background:
    radial-gradient(420px 180px at 12% 0%, rgba(110,231,255,0.13), transparent 70%),
    radial-gradient(360px 160px at 100% 100%, rgba(139,92,246,0.12), transparent 68%),
    var(--card);
}
.family-card.advisor-card .pill{position:static;grid-column:1 / -1;justify-self:start;}
.family-card.advisor-card .icon-chip{grid-row:2 / span 2;}
.family-card.advisor-card h3{margin-bottom:8px;}
.family-card.advisor-card p{max-width:820px;}

/* ===== FIRST WEDGE -> PLATFORM ===== */
.glow-divider{
  width:220px;height:1px;margin:0 auto 60px auto;
  background:linear-gradient(90deg, transparent, rgba(110,231,255,0.5), transparent);
}
.wedge-flow{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
  margin-top:28px;
}
.wedge-step{
  background:var(--card-soft);
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  padding:20px 28px;
  text-align:center;
  min-width:230px;
}
.wedge-step h4{font-size:15px;margin:0;}
.wedge-step .pill{margin-bottom:10px;}
.wedge-sub{font-size:12.5px;color:var(--muted);margin:6px 0 0 0;}
.wedge-step.main{
  border-color:rgba(110,231,255,0.45);
  box-shadow:0 0 34px -12px rgba(110,231,255,0.5);
}
.wedge-step.advisor{
  border-color:rgba(192,132,252,0.4);
  box-shadow:0 0 30px -14px rgba(192,132,252,0.45);
}
.wedge-arrow{color:var(--muted);font-size:20px;line-height:1;}
@media(min-width:900px){
  .wedge-flow{flex-direction:row;justify-content:center;align-items:stretch;}
  .wedge-step{display:flex;flex-direction:column;justify-content:center;}
  .wedge-arrow{display:flex;align-items:center;transform:rotate(-90deg);}
}

/* ===== INVESTOR MODEL ===== */
.model-steps{display:flex;flex-direction:column;gap:0;margin-top:20px;}
.model-step{
  display:flex;gap:22px;
  padding:22px 0;
  border-bottom:1px solid var(--border);
}
.model-step:last-child{border-bottom:none;}
.model-step .num{
  font-family:'Syne',sans-serif;
  font-size:26px;font-weight:700;
  color:transparent;
  -webkit-text-stroke:1.4px var(--brand);
  width:52px;flex-shrink:0;
}
.model-step h4{font-size:16.5px;margin-bottom:6px;}
.model-step p{margin:0;font-size:14.5px;}

.why-now-block{
  border-left:2px solid rgba(110,231,255,0.4);
  padding:4px 0 4px 24px;
  margin:0 0 44px 0;
  max-width:760px;
}
.why-now-block h3{font-size:16.5px;color:var(--brand);margin-bottom:14px;text-transform:uppercase;letter-spacing:0.06em;font-family:'Inter',sans-serif;font-weight:700;}
.why-now-block p{font-size:15px;}
.why-now-block p:last-child{margin-bottom:0;}

.investor-callout{
  margin-top:36px;
  padding:26px 28px;
  border-radius:var(--radius-md);
  border:1px solid rgba(139,92,246,0.3);
  background:rgba(139,92,246,0.06);
  font-size:15.5px;
  color:var(--text);
  font-weight:500;
}

/* ===== STAGE ===== */
.stage-badges{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:36px;}
.stage-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.check-list li{
  display:flex;align-items:flex-start;gap:10px;
  padding:9px 0;
  font-size:14.5px;
  color:var(--text-secondary);
  border-bottom:1px solid rgba(255,255,255,0.05);
}
.check-list li:last-child{border-bottom:none;}
.check-list .mark{color:var(--teal);font-weight:700;flex-shrink:0;}
.next-list .mark{color:var(--brand);font-weight:700;flex-shrink:0;}

/* ===== IDEOLOGY BLOCK ===== */
.ideology{
  text-align:center;
  padding:44px 24px;
  border-radius:var(--radius-lg);
  border:1px solid var(--border);
  background:linear-gradient(180deg, rgba(37,99,255,0.06), rgba(139,92,246,0.05));
  margin-top:40px;
}
.ideology p{
  font-family:'Syne',sans-serif;
  font-size:clamp(19px,2.4vw,26px);
  font-weight:700;
  color:var(--text);
  margin:0;
  line-height:1.6;
}

/* ===== CONTACT / CTA ===== */
#contact .wrap.contact-grid{
  position:relative;
  padding:48px;
  border-radius:28px;
  border:1px solid rgba(110,231,255,0.18);
  background:
    linear-gradient(var(--bg), var(--bg)) padding-box,
    linear-gradient(120deg, rgba(110,231,255,0.55), rgba(37,99,255,0.4), rgba(139,92,246,0.5)) border-box;
  border-width:1px;
  box-shadow:0 30px 90px -40px rgba(37,99,255,0.4);
}
.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:start;}
.contact-card{padding:32px;}
.contact-card .name{font-size:18px;font-weight:700;color:var(--text);margin-bottom:2px;font-family:'Syne',sans-serif;}
.contact-card .role{font-size:14px;color:var(--muted);margin-bottom:18px;}
.contact-card .email{font-size:15px;color:var(--brand);font-weight:600;}
.contact-card .divider{height:1px;background:var(--border);margin:18px 0;}

/* ===== FOOTER ===== */
footer{
  border-top:1px solid var(--border);
  padding:50px 24px 34px 24px;
}
.footer-grid{
  max-width:var(--maxw);margin:0 auto;
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;
}
.footer-links{display:flex;gap:26px;flex-wrap:wrap;}
.footer-links a{font-size:14px;color:var(--text-secondary);}
.footer-links a:hover{color:var(--text);}
.footer-tag{font-size:13.5px;color:var(--muted);}

/* ===== COOKIE CONSENT ===== */
.cookie-banner{
  position:fixed;
  z-index:1000;
  left:50%;
  bottom:22px;
  width:min(900px,calc(100% - 32px));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  padding:22px 24px;
  border:1px solid rgba(110,231,255,0.25);
  border-radius:12px;
  background:rgba(7,11,22,0.97);
  box-shadow:0 24px 80px rgba(0,0,0,0.55),0 0 36px rgba(37,99,255,0.08);
  backdrop-filter:blur(18px);
  opacity:0;
  visibility:hidden;
  transform:translate(-50%,18px);
  transition:opacity .2s ease,transform .2s ease,visibility .2s ease;
}
.cookie-banner.is-visible{opacity:1;visibility:visible;transform:translate(-50%,0);}
.cookie-copy{max-width:590px;}
.cookie-copy strong{display:block;margin-bottom:7px;color:var(--text);font-family:'Syne',sans-serif;font-size:15px;}
.cookie-copy p{margin:0 0 8px;font-size:13.5px;line-height:1.55;color:var(--text-secondary);}
.cookie-copy a{font-size:13px;color:var(--brand);text-decoration:underline;text-underline-offset:3px;}
.cookie-actions{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.cookie-actions .btn{min-height:42px;white-space:nowrap;}
.cookie-actions .cookie-decline{color:var(--text-secondary);}

/* ===== PRIVACY PAGE ===== */
.legal-page{padding-top:110px;}
.legal-content{max-width:820px;}
.legal-content h1{font-size:clamp(38px,6vw,64px);margin-bottom:18px;}
.legal-content h2{font-size:24px;margin:42px 0 14px;}
.legal-content p,.legal-content li{color:var(--text-secondary);font-size:15.5px;line-height:1.75;}
.legal-content ul{padding-left:22px;}
.legal-content a{color:var(--brand);}
.legal-meta{color:var(--muted);font-size:13px;margin-bottom:42px;}

/* ===== RESPONSIVE ===== */
@media(max-width:980px){
  .hero-grid{grid-template-columns:1fr;}
  .grid-3, .grid-2, .grid-features, .mock-gallery, .family-grid, .stage-columns, .contact-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:760px){
  nav.primary-nav{display:none;}
  .nav-actions .nav-cta{display:none;}
  .nav-actions .lang-switch{display:none;}
  .menu-toggle{display:flex;}
  section{padding:80px 20px;}
  .grid-3, .grid-2, .grid-features, .mock-gallery, .family-grid, .stage-columns, .contact-grid{grid-template-columns:1fr;}
  .hero{padding-top:40px;}
  .floating-card{position:static !important;width:100%;margin-bottom:14px;}
  .wedge-step{width:100%;min-width:0;}
  .why-now-block{padding-left:16px;}
  #contact .wrap.contact-grid{padding:28px;border-radius:20px;}
  .family-card.advisor-card{grid-column:auto;display:block;}
  .family-card.advisor-card .pill{margin-bottom:16px;}
  .cookie-banner{bottom:12px;width:calc(100% - 24px);display:block;padding:20px;}
  .cookie-actions{margin-top:18px;display:grid;grid-template-columns:1fr 1.35fr;}
  .cookie-actions .btn{width:100%;padding-left:14px;padding-right:14px;}
}

@media(max-width:460px){
  .cookie-actions{grid-template-columns:1fr;}
}
