/* === The Frequency Bridge — New Design System === */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&family=Instrument+Serif:ital@0;1&display=swap');

:root {
  --bg: hsl(240 20% 4%);
  --bg-card: hsl(240 18% 6%);
  --fg: hsl(180 20% 96%);
  --fg-muted: hsl(220 12% 62%);
  --fg-dim: hsl(215 14% 45%);
  --primary: hsl(172 90% 55%);
  --primary-soft: hsl(172 90% 55% / 0.35);
  --accent: hsl(270 80% 65%);
  --rose: hsl(350 80% 65%);
  --border: hsl(220 15% 16%);
  --glass: hsl(240 18% 8% / 0.6);
  --radius: 0.75rem;
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  font-family:'Space Grotesk',system-ui,sans-serif;
  background:var(--bg);
  color:var(--fg);
  line-height:1.6;
  font-size:16px;
  overflow-x:hidden;
}
::selection { background:hsl(172 90% 55% / 0.35); color:hsl(180 40% 97%); }
::-webkit-scrollbar { width:10px; }
::-webkit-scrollbar-track { background:var(--bg); }
::-webkit-scrollbar-thumb { background:hsl(220 15% 18%); border-radius:8px; }
::-webkit-scrollbar-thumb:hover { background:hsl(172 60% 30%); }

.grain { position:relative; }
.grain::after {
  content:''; position:fixed; inset:-50%; width:200%; height:200%;
  pointer-events:none; z-index:60; opacity:0.05;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain-shift 9s steps(10) infinite;
}
@keyframes grain-shift {
  0%,100%{transform:translate(0,0);}
  10%{transform:translate(-3%,-5%);}
  20%{transform:translate(-8%,3%);}
  30%{transform:translate(4%,-8%);}
  40%{transform:translate(-3%,10%);}
  50%{transform:translate(-8%,4%);}
  60%{transform:translate(9%,0%);}
  70%{transform:translate(0%,7%);}
  80%{transform:translate(3%,12%);}
  90%{transform:translate(-6%,6%);}
}

.bg-grid {
  background-image:linear-gradient(hsl(220 20% 60% / 0.05) 1px,transparent 1px),
                   linear-gradient(90deg,hsl(220 20% 60% / 0.05) 1px,transparent 1px);
  background-size:64px 64px;
}

.glass {
  background:var(--glass);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}

.font-serif-accent { font-family:'Instrument Serif',Georgia,serif; }
.font-mono-tech { font-family:'JetBrains Mono',ui-monospace,monospace; }
.text-glow { text-shadow:0 0 24px hsl(172 90% 55% / 0.45),0 0 80px hsl(172 90% 55% / 0.2); }
.gradient-text {
  background:linear-gradient(100deg,hsl(172 90% 62%),hsl(200 90% 65%) 45%,hsl(270 85% 70%));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

.card-glow-border { position:relative; }
.card-glow-border::before {
  content:''; position:absolute; inset:0; border-radius:inherit; padding:1px;
  background:linear-gradient(140deg,hsl(172 90% 55% / 0.5),hsl(220 15% 16% / 0.4) 35%,hsl(270 85% 65% / 0.45));
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
  pointer-events:none;
}

@keyframes pulse-dot {
  0%,100%{opacity:1;box-shadow:0 0 0 0 hsl(172 90% 55% / 0.6);}
  50%{opacity:0.7;box-shadow:0 0 0 6px hsl(172 90% 55% / 0);}
}
.animate-pulse-dot { animation:pulse-dot 2.4s ease-in-out infinite; }

@keyframes marquee { from{transform:translateX(0);} to{transform:translateX(-50%);} }
.animate-marquee { animation:marquee 36s linear infinite; }

.reveal {
  opacity:0; transform:translateY(32px);
  transition:opacity 0.7s cubic-bezier(0.21,0.65,0.32,0.9), transform 0.7s cubic-bezier(0.21,0.65,0.32,0.9);
}
.reveal.visible { opacity:1; transform:translateY(0); }

.container { max-width:1280px; margin:0 auto; padding:0 24px; }
@media(min-width:1024px){ .container{ padding:0 40px; } }

.site-header {
  position:fixed; left:0; right:0; top:0; z-index:50;
  transition:all 0.5s ease;
}
.site-header.scrolled { border-bottom:1px solid rgba(255,255,255,0.05); }
.site-header .container { display:flex; align-items:center; justify-content:space-between; height:64px; }
.brand { display:flex; align-items:center; gap:12px; text-decoration:none; }
.brand-icon {
  display:flex; align-items:center; justify-content:center; width:36px; height:36px;
  border-radius:8px;
  background:linear-gradient(135deg,hsl(172 90% 55% / 0.2),hsl(270 80% 65% / 0.2));
  border:1px solid hsl(172 90% 55% / 0.4);
}
.brand-text { font-size:14px; font-weight:600; letter-spacing:0.18em; text-transform:uppercase; color:var(--fg); }
.brand-text span { color:var(--primary); }
.nav-links { display:flex; align-items:center; gap:32px; }
.nav-links a {
  font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:0.22em;
  text-transform:uppercase; color:var(--fg-muted); text-decoration:none; transition:color 0.3s;
}
.nav-links a:hover { color:var(--primary); }
.nav-cta {
  display:inline-flex; align-items:center; gap:8px; position:relative; overflow:hidden;
  background:var(--primary); color:hsl(240 30% 5%) !important;
  padding:10px 20px; border-radius:9999px; font-size:11px; font-weight:700;
  letter-spacing:0.14em; text-transform:uppercase; text-decoration:none;
  transition:transform 0.3s;
}
.nav-cta:hover { transform:scale(1.03); }
.nav-cta::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,0.4),transparent);
  transform:translateX(-100%); transition:transform 0.7s;
}
.nav-cta:hover::after { transform:translateX(100%); }
.mobile-menu-btn { display:none; background:none; border:none; color:var(--fg); font-size:24px; cursor:pointer; }
.mobile-nav { display:none; margin-top:12px; border-top:1px solid rgba(255,255,255,0.05); padding:20px 24px; }
.mobile-nav a { display:block; font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:0.22em; text-transform:uppercase; color:var(--fg-muted); text-decoration:none; padding:8px 0; }
.mobile-nav .nav-cta { margin-top:12px; width:fit-content; }

.hero { position:relative; display:flex; flex-direction:column; overflow:hidden; min-height:100vh; }
.hero .bg-grid { position:absolute; inset:0; }
.hero-glow-top { position:absolute; left:0; right:0; top:0; height:420px; background:radial-gradient(ellipse 60% 50% at 50% -10%,hsl(172 90% 55% / 0.14),transparent); }
.hero-vignette { pointer-events:none; position:absolute; inset:0; background:radial-gradient(ellipse 75% 65% at 50% 45%,transparent 30%,hsl(240 20% 4%) 92%); }
.hero-wave { position:absolute; inset:0; display:flex; align-items:center; }
.hero-wave canvas { width:100%; height:100%; opacity:0.7; }
.hero-content { position:relative; z-index:10; flex:1; display:flex; flex-direction:column; justify-content:center; padding:144px 24px 80px; }
@media(min-width:1024px){ .hero-content{ padding:144px 40px 80px; } }

.hero-badge-wrap { display:inline-flex; align-items:center; gap:10px; border:1px solid hsl(172 90% 55% / 0.25); background:hsl(172 90% 55% / 0.05); padding:6px 16px; border-radius:9999px; }
.hero-badge-dot { width:6px; height:6px; border-radius:50%; background:hsl(172 90% 55%); animation:pulse-dot 2.4s ease-in-out infinite; }
.hero-badge-text { font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:0.28em; text-transform:uppercase; color:hsl(172 90% 55% / 0.8); }

.hero h1 { margin-top:32px; max-width:900px; font-size:clamp(2.6rem,7.5vw,5.5rem); line-height:0.98; font-weight:700; letter-spacing:-0.02em; }
.hero h1 .font-serif-accent { font-weight:400; font-style:italic; }
.hero-subtitle { margin-top:28px; max-width:600px; font-size:18px; line-height:1.7; color:var(--fg-muted); }
.hero-subtitle em { font-family:'Instrument Serif',Georgia,serif; color:hsl(180 20% 90%); }
.hero-subtitle .highlight { color:var(--fg); }

.hero-cta-wrap { margin-top:40px; display:flex; flex-wrap:wrap; align-items:center; gap:16px; }
.btn-primary {
  display:inline-flex; align-items:center; gap:10px; position:relative; overflow:hidden;
  background:var(--primary); color:hsl(240 30% 5%);
  padding:14px 28px; border-radius:9999px; font-size:14px; font-weight:700; letter-spacing:0.04em;
  text-decoration:none; transition:transform 0.3s;
}
.btn-primary:hover { transform:scale(1.03); }
.btn-primary::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,0.4),transparent);
  transform:translateX(-100%); transition:transform 0.7s;
}
.btn-primary:hover::after { transform:translateX(100%); }
.btn-secondary {
  display:inline-flex; align-items:center; gap:10px;
  border:1px solid rgba(255,255,255,0.15); color:hsl(180 20% 90%);
  padding:14px 28px; border-radius:9999px; font-size:14px; font-weight:600;
  text-decoration:none; transition:all 0.3s;
}
.btn-secondary:hover { border-color:hsl(172 90% 55% / 0.5); color:hsl(172 90% 55%); }
.btn-secondary svg { transition:transform 0.3s; }
.btn-secondary:hover svg { transform:translateX(4px); }

.hero-stats { margin-top:64px; display:grid; grid-template-columns:repeat(2,1fr); gap:32px 32px; border-top:1px solid rgba(255,255,255,0.1); padding-top:32px; }
@media(min-width:640px){ .hero-stats{ grid-template-columns:repeat(4,1fr); } }
.stat-number { font-family:'JetBrains Mono',monospace; font-size:28px; font-weight:500; color:var(--primary); }
.stat-label { margin-top:4px; font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:0.18em; text-transform:uppercase; color:var(--fg-dim); }

.hero-scroll { position:absolute; bottom:32px; left:50%; transform:translateX(-50%); z-index:10; color:var(--fg-dim); transition:color 0.3s; }
.hero-scroll:hover { color:var(--primary); }
@keyframes bounce-arrow { 0%,100%{transform:translateY(0);} 50%{transform:translateY(8px);} }
.bounce-arrow { animation:bounce-arrow 2.2s ease-in-out infinite; }

.section { position:relative; padding:112px 0; }
@media(min-width:1024px){ .section{ padding:144px 0; } }
.section-divider { position:absolute; left:0; right:0; top:0; height:1px; background:linear-gradient(90deg,transparent,rgba(255,255,255,0.1),transparent); }

.section-tag { font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:0.3em; text-transform:uppercase; color:var(--primary); }
.section-title { margin-top:16px; font-size:clamp(2rem,5vw,3.5rem); font-weight:700; letter-spacing:-0.02em; line-height:1.05; }
.section-title .font-serif-accent { font-weight:400; font-style:italic; }
.section-subtitle { margin-top:24px; max-width:600px; font-size:18px; line-height:1.7; color:var(--fg-muted); }

.gap-grid { margin-top:64px; display:grid; gap:24px; }
@media(min-width:1024px){ .gap-grid{ grid-template-columns:1fr auto 1fr; align-items:stretch; } }
.gap-card { position:relative; overflow:hidden; border-radius:1rem; padding:32px; transition:border-color 0.5s; }
@media(min-width:1024px){ .gap-card{ padding:40px; } }
.gap-card-suppressed { border:1px solid rgba(255,255,255,0.08); background:linear-gradient(180deg,rgba(255,255,255,0.03),transparent); }
.gap-card-suppressed:hover { border-color:hsl(350 80% 65% / 0.25); }
.gap-card-approved { border:1px solid rgba(255,255,255,0.08); background:linear-gradient(180deg,hsl(172 90% 55% / 0.06),transparent); }
.gap-card-approved::before {
  content:''; position:absolute; inset:0; border-radius:inherit; padding:1px;
  background:linear-gradient(140deg,hsl(172 90% 55% / 0.5),hsl(220 15% 16% / 0.4) 35%,hsl(270 85% 65% / 0.45));
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude; pointer-events:none;
}
.gap-card .glow { position:absolute; top:-80px; right:-80px; width:224px; height:224px; border-radius:50%; filter:blur(48px); opacity:0.6; }
.gap-card-suppressed .glow { background:hsl(350 80% 65% / 0.1); }
.gap-card-approved .glow { background:hsl(172 90% 55% / 0.15); }

.gap-connector { display:none; }
@media(min-width:1024px){ 
  .gap-connector { display:flex; flex-direction:column; align-items:center; justify-content:center; width:96px; position:relative; }
  .gap-connector-line { position:absolute; width:100%; height:1px; background:linear-gradient(90deg,hsl(350 80% 65% / 0.4),var(--primary),hsl(172 90% 55% / 0.6)); }
  .gap-connector-icon { position:relative; z-index:10; display:flex; align-items:center; justify-content:center; width:56px; height:56px; border-radius:50%; border:1px solid hsl(172 90% 55% / 0.4); background:var(--bg); box-shadow:0 0 40px hsl(172 90% 55% / 0.35); }
}

.gap-icon-wrap { display:flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:12px; }
.gap-icon-wrap.suppressed { background:hsl(350 80% 65% / 0.1); border:1px solid hsl(350 80% 65% / 0.3); }
.gap-icon-wrap.approved { background:hsl(172 90% 55% / 0.1); border:1px solid hsl(172 90% 55% / 0.3); }
.gap-icon-wrap svg { width:20px; height:20px; }

.gap-card h3 { margin-top:24px; font-size:24px; font-weight:700; letter-spacing:-0.01em; }
.gap-card ul { margin-top:24px; display:flex; flex-direction:column; gap:16px; }
.gap-card li { display:flex; gap:12px; font-size:15px; line-height:1.7; }
.gap-card li .num { font-family:'JetBrains Mono',monospace; font-size:12px; margin-top:2px; flex-shrink:0; }
.gap-card-suppressed li { color:var(--fg-muted); }
.gap-card-suppressed li .num { color:hsl(350 80% 65% / 0.7); }
.gap-card-approved li { color:hsl(180 20% 90%); }
.gap-card-approved li .num { color:hsl(172 90% 55% / 0.8); }

.timeline-spine {
  position:absolute; top:0; bottom:0; left:16px; width:1px;
  background:linear-gradient(180deg,hsl(350 80% 65% / 0.5),var(--primary),hsl(270 80% 65% / 0.5));
}
@media(min-width:768px){ .timeline-spine{ left:50%; transform:translateX(-50%); } }
.timeline-item { position:relative; display:flex; flex-direction:column; gap:12px; padding-left:48px; }
@media(min-width:768px){ 
  .timeline-item{ width:calc(50% - 2.5rem); padding-left:0; }
  .timeline-item:nth-child(odd){ margin-right:auto; padding-right:16px; text-align:right; }
  .timeline-item:nth-child(even){ margin-left:auto; padding-left:16px; text-align:left; }
}
.timeline-dot { position:absolute; top:6px; left:11px; width:12px; height:12px; border-radius:50%; }
@media(min-width:768px){ 
  .timeline-dot{ left:auto; }
  .timeline-item:nth-child(odd) .timeline-dot{ right:-34px; transform:translateX(50%); }
  .timeline-item:nth-child(even) .timeline-dot{ left:-34px; transform:translateX(-50%); }
}
.timeline-dot.suppressed { background:hsl(350 80% 65%); box-shadow:0 0 16px hsl(350 80% 65% / 0.6); }
.timeline-dot.approved { background:var(--primary); box-shadow:0 0 16px hsl(172 90% 55% / 0.6); }
.timeline-dot.bridge { background:var(--accent); box-shadow:0 0 16px hsl(270 80% 65% / 0.6); }

.timeline-year { font-family:'JetBrains Mono',monospace; font-size:14px; font-weight:500; letter-spacing:0.2em; }
.timeline-year.suppressed { color:hsl(350 80% 65%); }
.timeline-year.approved { color:var(--primary); }
.timeline-year.bridge { color:var(--accent); }
.timeline-title { font-size:20px; font-weight:700; letter-spacing:-0.01em; }
@media(min-width:640px){ .timeline-title{ font-size:24px; } }
.timeline-body { font-size:15px; line-height:1.7; color:var(--fg-muted); }

.products-grid { margin-top:64px; display:grid; gap:24px; }
@media(min-width:768px){ .products-grid{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:1024px){ .products-grid{ grid-template-columns:repeat(3,1fr); } }

.product-card {
  position:relative; display:flex; flex-direction:column; overflow:hidden;
  border-radius:1rem; padding:32px; transition:transform 0.5s;
}
.product-card:hover { transform:translateY(-6px); }
.product-card-default { border:1px solid rgba(255,255,255,0.08); background:rgba(255,255,255,0.02); }
.product-card-default:hover { border-color:rgba(255,255,255,0.15); }
.product-card-highlight {
  background:linear-gradient(180deg,hsl(172 90% 55% / 0.09),transparent,hsl(270 80% 65% / 0.06));
}
.product-card-highlight::before {
  content:''; position:absolute; inset:0; border-radius:inherit; padding:1px;
  background:linear-gradient(140deg,hsl(172 90% 55% / 0.5),hsl(220 15% 16% / 0.4) 35%,hsl(270 85% 65% / 0.45));
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude; pointer-events:none;
}
.product-card .glow { position:absolute; top:-96px; right:-96px; width:224px; height:224px; border-radius:50%; background:hsl(172 90% 55% / 0.15); filter:blur(48px); }

.product-icon-wrap {
  display:flex; align-items:center; justify-content:center; width:48px; height:48px;
  border-radius:12px; transition:transform 0.5s;
}
.product-card:hover .product-icon-wrap { transform:scale(1.1); }
.product-icon-wrap.default { background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.1); color:var(--fg-muted); }
.product-card:hover .product-icon-wrap.default { color:var(--primary); border-color:hsl(172 90% 55% / 0.3); }
.product-icon-wrap.highlight { background:hsl(172 90% 55% / 0.15); border:1px solid hsl(172 90% 55% / 0.4); color:hsl(172 90% 55% / 0.9); }

.product-tag {
  display:inline-flex; padding:4px 12px; border-radius:9999px;
  font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:0.22em; text-transform:uppercase;
}
.product-tag.default { border:1px solid rgba(255,255,255,0.1); color:var(--fg-muted); }
.product-tag.highlight { background:var(--primary); color:hsl(240 30% 5%); }

.product-card h3 { margin-top:24px; font-size:20px; font-weight:700; letter-spacing:-0.01em; }
.product-price { margin-top:12px; display:flex; align-items:baseline; gap:12px; }
.product-price .price { font-family:'JetBrains Mono',monospace; font-size:28px; font-weight:500; }
.product-price .price.default { color:var(--fg); }
.product-price .price.highlight { color:var(--primary); }
.product-price .old { font-family:'JetBrains Mono',monospace; font-size:18px; color:var(--fg-dim); text-decoration:line-through; }
.product-card p { margin-top:16px; flex:1; font-size:15px; line-height:1.7; color:var(--fg-muted); }

.product-features { margin-top:20px; padding-top:20px; border-top:1px solid rgba(255,255,255,0.1); display:flex; flex-direction:column; gap:10px; }
.product-features li { display:flex; align-items:flex-start; gap:10px; font-size:14px; color:hsl(180 20% 90%); }
.product-features li svg { width:16px; height:16px; margin-top:2px; flex-shrink:0; color:var(--primary); }

.product-cta {
  margin-top:28px; display:inline-flex; align-items:center; justify-content:center; gap:8px;
  width:100%; padding:12px 0; border-radius:9999px; font-size:14px; font-weight:700; letter-spacing:0.02em;
  text-decoration:none; transition:all 0.3s;
}
.product-cta.highlight { background:var(--primary); color:hsl(240 30% 5%); }
.product-cta.highlight:hover { transform:scale(1.02); }
.product-cta.default { border:1px solid rgba(255,255,255,0.12); color:hsl(180 20% 90%); }
.product-cta.default:hover { border-color:hsl(172 90% 55% / 0.4); color:hsl(172 90% 55%); }

.product-guarantee { margin-top:40px; display:flex; align-items:center; justify-content:center; gap:12px; text-align:center; }
.product-guarantee svg { width:16px; height:16px; color:hsl(172 90% 55% / 0.6); }
.product-guarantee p { font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:0.22em; text-transform:uppercase; color:var(--fg-dim); }

.why-grid { margin-top:56px; display:flex; flex-direction:column; gap:20px; }
.why-item {
  display:flex; gap:24px; border-radius:1rem; border:1px solid rgba(255,255,255,0.08);
  background:rgba(255,255,255,0.02); padding:28px; transition:all 0.5s;
}
.why-item:hover { border-color:hsl(172 90% 55% / 0.25); background:rgba(255,255,255,0.035); }
.why-num { font-family:'JetBrains Mono',monospace; font-size:14px; color:hsl(172 90% 55% / 0.7); margin-top:2px; }
.why-item h3 { font-size:18px; font-weight:700; letter-spacing:-0.01em; display:flex; align-items:center; gap:12px; }
.why-item h3 svg { width:20px; height:20px; color:var(--primary); }
.why-item p { margin-top:10px; font-size:15px; line-height:1.7; color:var(--fg-muted); }

.email-section { position:relative; overflow:hidden; border-radius:1.5rem; background:linear-gradient(135deg,hsl(172 90% 55% / 0.08),var(--bg),hsl(270 80% 65% / 0.08)); padding:64px 32px; text-align:center; }
@media(min-width:640px){ .email-section{ padding:80px 56px; } }
.email-section::before {
  content:''; position:absolute; inset:0; border-radius:inherit; padding:1px;
  background:linear-gradient(140deg,hsl(172 90% 55% / 0.5),hsl(220 15% 16% / 0.4) 35%,hsl(270 85% 65% / 0.45));
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude; pointer-events:none;
}
.email-section .bg-grid { position:absolute; inset:0; opacity:0.6; }
.email-glow { position:absolute; top:-128px; left:50%; transform:translateX(-50%); width:36rem; height:16rem; border-radius:50%; background:hsl(172 90% 55% / 0.1); filter:blur(48px); }
.email-icon { position:relative; display:inline-flex; align-items:center; justify-content:center; width:56px; height:56px; border-radius:1rem; background:hsl(172 90% 55% / 0.15); border:1px solid hsl(172 90% 55% / 0.4); }
.email-icon svg { width:24px; height:24px; color:var(--primary); }
.email-form { position:relative; margin:40px auto 0; max-width:500px; display:flex; flex-direction:column; gap:12px; }
@media(min-width:640px){ .email-form{ flex-direction:row; } }
.email-form label { position:relative; flex:1; }
.email-form label svg { position:absolute; top:50%; left:16px; transform:translateY(-50%); width:16px; height:16px; color:var(--fg-dim); pointer-events:none; }
.email-form input {
  width:100%; border-radius:9999px; border:1px solid rgba(255,255,255,0.15);
  background:rgba(0,0,0,0.4); padding:14px 16px 14px 44px; font-size:14px; color:var(--fg);
}
.email-form input::placeholder { color:var(--fg-dim); }
.email-form input:focus { outline:none; border-color:hsl(172 90% 55% / 0.6); box-shadow:0 0 0 2px hsl(172 90% 55% / 0.2); }
.email-success {
  display:inline-flex; align-items:center; justify-content:center; gap:12px;
  margin:40px auto 0; max-width:500px; border-radius:9999px;
  border:1px solid hsl(172 90% 55% / 0.4); background:hsl(172 90% 55% / 0.1); padding:16px 24px;
}
.email-success svg { width:20px; height:20px; color:var(--primary); }
.email-success span { font-size:14px; font-weight:600; color:hsl(172 90% 55% / 0.9); }

.faq-item { border-radius:1rem; border:1px solid rgba(255,255,255,0.08); background:rgba(255,255,255,0.02); overflow:hidden; transition:border-color 0.3s,background 0.3s; }
.faq-item.active { border-color:hsl(172 90% 55% / 0.25); background:rgba(255,255,255,0.035); }
.faq-trigger { display:flex; align-items:center; justify-content:space-between; width:100%; padding:24px 28px; background:none; border:none; color:var(--fg); font-size:16px; font-weight:600; letter-spacing:-0.01em; text-align:left; cursor:pointer; }
@media(min-width:640px){ .faq-trigger{ font-size:18px; } }
.faq-trigger:hover { color:hsl(172 90% 55% / 0.9); }
.faq-trigger svg { width:20px; height:20px; transition:transform 0.3s; flex-shrink:0; }
.faq-item.active .faq-trigger svg { transform:rotate(180deg); }
.faq-content { max-height:0; overflow:hidden; transition:max-height 0.4s ease; }
.faq-item.active .faq-content { max-height:500px; }
.faq-content p { padding:0 28px 24px; font-size:15px; line-height:1.7; color:var(--fg-muted); }

.site-footer { position:relative; border-top:1px solid rgba(255,255,255,0.05); padding:64px 0; }
.footer-grid { display:grid; gap:40px; }
@media(min-width:640px){ .footer-grid{ grid-template-columns:1fr 1fr; } }
@media(min-width:1024px){ .footer-grid{ grid-template-columns:2fr 1fr 1fr 1fr; } }
.footer-brand { display:flex; align-items:center; gap:12px; text-decoration:none; }
.footer-brand-text { font-size:14px; font-weight:600; letter-spacing:0.18em; text-transform:uppercase; color:var(--fg); }
.footer-brand-text span { color:var(--primary); }
.footer-desc { margin-top:20px; font-size:14px; line-height:1.7; color:var(--fg-dim); max-width:320px; }
.footer-col h5 { font-size:14px; font-weight:600; color:var(--fg); text-transform:uppercase; letter-spacing:0.08em; margin-bottom:16px; }
.footer-col a { display:block; font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:0.12em; text-transform:uppercase; color:var(--fg-dim); text-decoration:none; padding:6px 0; transition:color 0.3s; }
.footer-col a:hover { color:var(--primary); }

.footer-disclaimer-box { margin-top:56px; border-radius:1rem; border:1px solid rgba(255,255,255,0.08); background:rgba(255,255,255,0.02); padding:24px; }
.footer-disclaimer-box p { font-size:12px; line-height:1.7; color:var(--fg-dim); }
.footer-disclaimer-box strong { color:var(--fg-muted); }

.footer-bottom { margin-top:40px; display:flex; flex-direction:column; align-items:center; gap:16px; border-top:1px solid rgba(255,255,255,0.05); padding-top:32px; }
@media(min-width:640px){ .footer-bottom{ flex-direction:row; justify-content:space-between; } }
.footer-bottom p { font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:0.2em; text-transform:uppercase; color:hsl(220 12% 35%); }

.page-hero { position:relative; padding:128px 0 64px; text-align:center; }
.page-hero h1 { font-size:clamp(2rem,5vw,3rem); font-weight:700; letter-spacing:-0.02em; }
.page-hero h1 .highlight { color:var(--primary); }
.page-hero p { margin-top:16px; max-width:600px; margin-left:auto; margin-right:auto; font-size:18px; color:var(--fg-muted); }

.product-page { display:grid; gap:40px; }
@media(min-width:1024px){ .product-page{ grid-template-columns:1fr 1fr; gap:64px; align-items:start; } }
.product-visual {
  position:relative; overflow:hidden; border-radius:1rem; border:1px solid var(--border);
  background:var(--bg-card); min-height:400px; display:flex; align-items:center; justify-content:center;
}
.product-visual::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse at 50% 50%,hsl(172 90% 55% / 0.06),transparent 70%);
}
.product-visual-inner { position:relative; z-index:1; text-align:center; }
.product-visual-icon { font-size:80px; margin-bottom:16px; }
.product-visual-title { font-size:18px; font-weight:700; }
.product-visual-meta { margin-top:8px; font-size:14px; color:var(--fg-muted); }

.product-details .price-row { display:flex; align-items:baseline; gap:12px; margin-bottom:20px; }
.product-details .price-row .price { font-family:'JetBrains Mono',monospace; font-size:36px; font-weight:500; color:var(--primary); }
.product-details .price-row .original { font-family:'JetBrains Mono',monospace; font-size:20px; color:var(--fg-dim); text-decoration:line-through; }
.product-details .description { color:var(--fg-muted); margin-bottom:24px; font-size:16px; line-height:1.7; }
.product-details .features { list-style:none; margin-bottom:28px; }
.product-details .features li { padding:8px 0; display:flex; align-items:flex-start; gap:10px; color:var(--fg-muted); font-size:15px; line-height:1.6; }
.product-details .features li::before { content:'✓'; color:var(--primary); font-weight:700; flex-shrink:0; }
.product-details .guarantee { background:var(--bg-card); border:1px solid var(--border); border-radius:8px; padding:16px; margin-bottom:24px; font-size:14px; color:var(--fg-muted); line-height:1.6; }
.product-details .guarantee strong { color:var(--fg); }

.chapter-list { margin:40px 0; }
.chapter-item { display:flex; align-items:flex-start; gap:16px; padding:20px 0; border-bottom:1px solid var(--border); }
.chapter-item:last-child { border-bottom:none; }
.chapter-num { min-width:40px; height:40px; background:var(--primary); color:hsl(240 30% 5%); border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:14px; flex-shrink:0; }
.chapter-item h4 { font-size:16px; font-weight:600; margin-bottom:4px; }
.chapter-item p { font-size:14px; color:var(--fg-muted); line-height:1.6; }

.trust-grid { display:grid; gap:32px; }
@media(min-width:768px){ .trust-grid{ grid-template-columns:repeat(3,1fr); } }
.trust-item { text-align:center; padding:24px; }
.trust-icon { font-size:36px; margin-bottom:12px; }
.trust-item h4 { font-size:18px; font-weight:600; margin-bottom:8px; }
.trust-item p { color:var(--fg-muted); font-size:14px; line-height:1.6; }

.inner-card { border-radius:1rem; border:1px solid var(--border); background:var(--bg-card); padding:24px; }
.inner-card h4 { font-size:16px; font-weight:700; margin-bottom:8px; }
.inner-card p { font-size:14px; color:var(--fg-muted); line-height:1.6; }
.inner-card a { font-size:13px; color:var(--primary); text-decoration:none; }

@media(max-width:1023px){
  .nav-links { display:none; }
  .mobile-menu-btn { display:block; }
  .mobile-nav.open { display:block; }
}
@media(max-width:767px){
  .hero h1 { font-size:2.2rem; }
  .section { padding:80px 0; }
  .product-page { grid-template-columns:1fr; }
}
