:root{
  --bg:#090b10;
  --bg-elevated:#0e1219;
  --gold:#c9a463;
  --gold-bright:#e8caa0;
  --gold-dim:rgba(201,164,99,0.35);
  --blue-deep:#131f36;
  --blue-accent:#2c4670;
  --text:#eceef2;
  --text-muted:#8f97a8;
  --border:rgba(255,255,255,0.07);
  --radius:14px;
  --display:'Fraunces', serif;
  --body:'Inter', sans-serif;
  --mono:'JetBrains Mono', monospace;
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--text);
  font-family:var(--body);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  position:relative;
}

/* subtle film-grain texture for depth */
body::before{
  content:"";
  position:fixed; inset:0; z-index:2; pointer-events:none;
  opacity:0.035; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.container{max-width:1160px; margin:0 auto; padding:0 24px; position:relative; z-index:1;}
.container.narrow{max-width:760px;}
.center{text-align:center;}

.eyebrow{
  font-family:var(--mono);
  font-size:12px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:18px;
  display:flex; align-items:center; gap:12px;
}
.eyebrow::before{
  content:"";
  display:inline-block;
  width:28px; height:1px;
  background:linear-gradient(90deg, transparent, var(--gold));
}
.center .eyebrow{justify-content:center;}

h1,h2,h3{font-family:var(--display); font-weight:500; letter-spacing:-0.015em;}
h1{font-size:clamp(2.3rem, 5vw, 4.2rem); line-height:1.1;}
h2{font-size:clamp(1.7rem, 3.2vw, 2.5rem); margin-bottom:22px; line-height:1.2;}
h3{font-size:1.25rem;}

.gold-text{color:var(--gold-bright);}
.gold-text em{font-style:italic; font-weight:500;}

.lead{font-size:1.08rem; color:var(--text-muted); margin-bottom:32px; max-width:60ch;}
.center .lead{margin-left:auto; margin-right:auto;}

/* NAV */
.nav{
  position:sticky; top:0; z-index:50;
  background:rgba(9,11,16,0.72);
  backdrop-filter:blur(16px) saturate(140%);
  border-bottom:1px solid var(--border);
}
.nav-inner{
  max-width:1160px; margin:0 auto; padding:18px 24px;
  display:flex; align-items:center; justify-content:space-between;
}
.nav-right{display:flex; align-items:center; gap:20px;}
.logo{font-family:var(--display); font-size:1.15rem; font-weight:600; display:inline-flex; align-items:center; gap:8px;}
.logo-dot{width:6px; height:6px; border-radius:50%; background:var(--gold); display:inline-block; box-shadow:0 0 8px var(--gold-dim);}
.logo-accent{color:var(--gold); font-style:italic;}

.lang-switch{
  display:flex; border:1px solid var(--border); border-radius:999px; padding:3px; gap:2px;
  background:rgba(255,255,255,0.02);
}
.lang-btn{
  font-family:var(--mono); font-size:11px; letter-spacing:0.04em;
  background:transparent; border:none; color:var(--text-muted);
  padding:6px 12px; border-radius:999px; cursor:pointer;
  transition:background .2s ease, color .2s ease;
}
.lang-btn:hover{color:var(--text);}
.lang-btn.is-active{background:var(--gold); color:#0a0d13; font-weight:600;}

.nav-cta{
  font-family:var(--mono); font-size:12px; letter-spacing:0.03em;
  color:var(--bg); background:linear-gradient(135deg, var(--gold-bright), var(--gold));
  padding:10px 20px; border-radius:999px; text-decoration:none;
  transition:transform .2s ease, box-shadow .2s ease;
  white-space:nowrap;
}
.nav-cta:hover{transform:translateY(-1px); box-shadow:0 6px 20px -4px var(--gold-dim);}

/* HERO */
.hero{
  position:relative;
  padding:150px 24px 120px;
  background:
    radial-gradient(ellipse 800px 400px at 50% -10%, rgba(44,70,112,0.4), transparent 65%),
    linear-gradient(180deg, var(--bg) 0%, var(--bg-elevated) 100%);
  overflow:hidden;
}
.hero-chart{
  position:absolute; inset:0; opacity:0.28; pointer-events:none;
}
.hero-chart svg{width:100%; height:100%;}
.chart-line{
  fill:none; stroke:var(--gold);
  stroke-width:1.5; stroke-dasharray:2000; stroke-dashoffset:2000;
  animation:drawLine 3.5s ease-out forwards;
}
.candles rect{
  fill:var(--blue-accent); opacity:0;
  animation:fadeCandle .6s ease forwards;
}
.candles rect:nth-child(1){animation-delay:.4s;}
.candles rect:nth-child(2){animation-delay:.8s;}
.candles rect:nth-child(3){animation-delay:1.3s;}
.candles rect:nth-child(4){animation-delay:1.9s;}
.candles rect:nth-child(5){animation-delay:2.5s;}
.candles rect:nth-child(6){animation-delay:3.1s;}
@keyframes drawLine{to{stroke-dashoffset:0;}}
@keyframes fadeCandle{to{opacity:0.55;}}

.hero-inner{position:relative; max-width:780px; margin:0 auto; text-align:center;}
.hero-sub{font-size:1.15rem; color:var(--text-muted); max-width:600px; margin:26px auto 42px;}
.hero-cta{display:flex; gap:16px; justify-content:center; flex-wrap:wrap; margin-bottom:52px;}

.btn{
  font-family:var(--mono); font-size:13px; letter-spacing:0.05em; text-transform:uppercase;
  padding:15px 30px; border-radius:8px; text-decoration:none;
  display:inline-block; border:1px solid transparent;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease, background .25s ease;
}
.btn-primary{
  background:linear-gradient(135deg, var(--gold-bright), var(--gold));
  color:#0a0d13; font-weight:600;
  box-shadow:0 8px 24px -8px rgba(201,164,99,0.35);
}
.btn-primary:hover{transform:translateY(-2px); box-shadow:0 12px 32px -8px rgba(201,164,99,0.5);}
.btn-ghost{background:transparent; color:var(--text); border-color:var(--border);}
.btn-ghost:hover{border-color:var(--gold); color:var(--gold-bright); transform:translateY(-2px);}
.btn-block{width:100%; text-align:center; margin-top:10px;}

.trust-badges{
  list-style:none; display:flex; flex-wrap:wrap; gap:12px; justify-content:center;
}
.trust-badges li{
  font-family:var(--mono); font-size:11px; letter-spacing:0.03em; color:var(--text-muted);
  border:1px solid var(--border); padding:9px 16px; border-radius:999px;
  background:rgba(255,255,255,0.02);
}

/* SECTIONS */
.section{padding:130px 0; position:relative;}
.section-alt{
  background:var(--bg-elevated);
  position:relative;
}
.section-alt::before, .section-alt::after{
  content:""; position:absolute; left:0; right:0; height:1px;
  background:linear-gradient(90deg, transparent, var(--gold-dim), transparent);
}
.section-alt::before{top:0;}
.section-alt::after{bottom:0;}

.grid-list{display:grid; gap:14px; margin-top:8px;}
.problem-grid, .solution-grid{grid-template-columns:repeat(auto-fit, minmax(220px,1fr));}
.pill, .card-mini{
  border:1px solid var(--border); border-radius:12px; padding:20px 22px;
  background:rgba(255,255,255,0.015); font-size:0.95rem;
  transition:border-color .25s ease, transform .25s ease;
}
.pill:hover, .card-mini:hover{border-color:var(--gold-dim); transform:translateY(-2px);}
.card-mini{
  background:linear-gradient(150deg, rgba(44,70,112,0.14), rgba(255,255,255,0.015));
  border-color:rgba(201,164,99,0.14);
}

/* FIRMS */
.firms-row{display:flex; gap:22px; justify-content:center; flex-wrap:wrap; margin:36px 0 26px;}
.firm-card{
  background:rgba(255,255,255,0.025);
  border:1px solid var(--border); border-radius:var(--radius);
  padding:36px 44px; min-width:220px; text-align:left;
  backdrop-filter:blur(14px);
  box-shadow:0 20px 50px -30px rgba(0,0,0,0.7);
  transition:border-color .25s ease, transform .25s ease;
}
.firm-card:hover{border-color:var(--gold-dim); transform:translateY(-3px);}
.firm-mark{font-family:var(--mono); color:var(--gold); font-size:12px; letter-spacing:0.05em;}
.note{font-size:0.9rem; color:var(--text-muted); font-style:italic;}

/* PROOF GALLERY */
.proof-grid{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(260px,1fr));
  gap:24px; margin:44px 0 24px; max-width:760px; margin-left:auto; margin-right:auto;
}
.proof-item{
  background:rgba(255,255,255,0.02); border:1px solid var(--border); border-radius:var(--radius);
  padding:14px 14px 16px; cursor:pointer; text-align:left;
  transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;
  box-shadow:0 20px 50px -30px rgba(0,0,0,0.7);
}
.proof-item:hover{transform:translateY(-5px); border-color:var(--gold-dim); box-shadow:0 24px 60px -24px rgba(201,164,99,0.2);}
.proof-item img{
  width:100%; height:auto; border-radius:8px; display:block;
  border:1px solid var(--border);
}
.proof-caption{
  display:block; margin-top:14px; font-family:var(--mono); font-size:11px;
  letter-spacing:0.04em; text-transform:uppercase; color:var(--gold);
}
.proof-disclaimer{
  text-align:center; font-size:0.8rem; color:var(--text-muted); font-style:italic;
  max-width:520px; margin:0 auto;
}

.lightbox{
  display:none; position:fixed; inset:0; z-index:100;
  background:rgba(5,6,9,0.92); backdrop-filter:blur(6px);
  align-items:center; justify-content:center; padding:40px;
}
.lightbox.is-open{display:flex;}
.lightbox img{max-width:min(92vw, 1000px); max-height:88vh; border-radius:10px; box-shadow:0 30px 80px rgba(0,0,0,0.6);}
.lightbox-close{
  position:absolute; top:24px; right:28px; background:none; border:none;
  color:var(--text); font-size:2rem; cursor:pointer; line-height:1;
}
.lightbox-close:hover{color:var(--gold);}

/* TESTIMONIALS */
.placeholder-flag{
  font-family:var(--mono); font-size:12px; color:var(--gold-bright);
  background:rgba(201,164,99,0.08); border:1px dashed var(--gold-dim);
  border-radius:8px; padding:10px 16px; display:inline-block; margin-bottom:36px;
}
.testi-grid{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(240px,1fr));
  gap:20px; text-align:left;
}
.testi-card{
  border:1px solid var(--border); border-radius:var(--radius);
  padding:26px 24px; background:rgba(255,255,255,0.02);
  box-shadow:0 20px 50px -30px rgba(0,0,0,0.7);
}
.testi-quote{
  font-family:var(--display); font-style:italic; font-size:1.02rem;
  color:var(--text); line-height:1.5; margin-bottom:16px;
}
.testi-author{
  font-family:var(--mono); font-size:12px; color:var(--gold);
  letter-spacing:0.02em;
}

.pricing-scope-note{
  max-width:640px; margin:0 auto 20px; font-size:0.88rem; color:var(--text-muted);
  background:rgba(201,164,99,0.06); border:1px solid var(--gold-dim);
  border-radius:10px; padding:14px 20px; line-height:1.55;
}

/* PROMO BAR */
.promo-bar{
  background:linear-gradient(90deg, var(--blue-deep), var(--blue-accent));
  border-bottom:1px solid var(--gold-dim);
  padding:11px 20px; display:flex; align-items:center; justify-content:center;
  gap:16px; position:relative; flex-wrap:wrap; text-align:center;
}
.promo-text{
  font-size:0.85rem; color:var(--text); display:flex; align-items:center;
  gap:8px; flex-wrap:wrap; justify-content:center;
}
.promo-code{
  font-family:var(--mono); font-size:0.8rem; font-weight:600; letter-spacing:0.04em;
  background:var(--gold); color:#0a0d13; border:none; border-radius:6px;
  padding:4px 10px; cursor:pointer; transition:background .2s ease;
}
.promo-code:hover{background:var(--gold-bright);}
.promo-code::after{content:" ⧉";}
.promo-close{
  position:absolute; right:16px; top:50%; transform:translateY(-50%);
  background:none; border:none; color:var(--text-muted); font-size:1.3rem;
  cursor:pointer; line-height:1; padding:0 4px;
}
.promo-close:hover{color:var(--text);}
.promo-bar.is-hidden{display:none;}

.pricing-promo-note{
  max-width:640px; margin:-6px auto 20px; font-size:0.85rem;
  color:var(--gold-bright); font-style:italic;
}

.pricing-intro{
  font-family:var(--display); font-style:italic; font-size:1.1rem;
  color:var(--gold-bright); margin-bottom:8px;
}

/* PRICING */
.pricing-grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:22px; margin:44px 0 36px;
}
.price-card{
  position:relative;
  background:rgba(255,255,255,0.025);
  border:1px solid var(--border); border-radius:var(--radius);
  padding:36px 28px; text-align:left;
  backdrop-filter:blur(14px);
  box-shadow:0 20px 50px -30px rgba(0,0,0,0.7);
  transition:transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.price-card:hover{transform:translateY(-6px); border-color:var(--gold-dim); box-shadow:0 24px 60px -24px rgba(201,164,99,0.25);}
.price-card.featured{
  border-color:var(--gold);
  background:linear-gradient(165deg, rgba(201,164,99,0.09), rgba(255,255,255,0.025));
}
.badge-popular{
  position:absolute; top:-13px; right:22px;
  background:linear-gradient(135deg, var(--gold-bright), var(--gold));
  color:#0a0d13; font-family:var(--mono);
  font-size:10px; letter-spacing:0.04em; text-transform:uppercase;
  padding:5px 12px; border-radius:999px; font-weight:600;
}
.price-label{font-family:var(--mono); font-size:12px; letter-spacing:0.04em; text-transform:uppercase; color:var(--text-muted); margin-bottom:10px;}
.price-amount{font-family:var(--display); font-size:2.5rem; color:var(--gold-bright); margin-bottom:24px; font-style:italic;}
.price-features{list-style:none; margin-bottom:26px;}
.price-features li{
  font-size:0.9rem; color:var(--text-muted); padding:7px 0 7px 20px; position:relative;
}
.price-features li::before{
  content:"—"; position:absolute; left:0; color:var(--gold);
}
.addon-card{
  border:1px solid rgba(201,164,99,0.3); border-radius:var(--radius);
  padding:28px 30px; background:rgba(201,164,99,0.035); text-align:left;
  display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
}
.addon-text{flex:1; min-width:220px;}
.addon-btn{white-space:nowrap;}
.addon-title{font-family:var(--display); font-size:1.15rem; margin-bottom:10px;}
.addon-sub{font-size:0.9rem; color:var(--text-muted);}

/* SETUP GUIDE */
.setup-guide{
  margin-top:36px; padding:26px 28px; border:1px solid var(--gold-dim);
  border-radius:var(--radius); background:rgba(201,164,99,0.04);
}
.setup-guide-label{
  font-family:var(--display); font-style:italic; font-size:1.05rem;
  color:var(--gold-bright); margin-bottom:16px;
}
.setup-guide-checklist{list-style:none; margin-bottom:20px;}
.setup-guide-checklist li{
  font-size:0.92rem; color:var(--text-muted); padding:6px 0 6px 22px; position:relative;
}
.setup-guide-checklist li::before{content:"✓"; position:absolute; left:0; color:var(--gold);}
.setup-guide-checklist strong{color:var(--text); font-weight:600;}
.setup-guide-toggle{
  font-family:var(--mono); font-size:12px; letter-spacing:0.03em; text-transform:uppercase;
  background:transparent; border:1px solid var(--border); color:var(--text);
  padding:10px 18px; border-radius:8px; cursor:pointer; transition:border-color .2s ease, color .2s ease;
}
.setup-guide-toggle:hover{border-color:var(--gold); color:var(--gold-bright);}
.setup-guide-img{margin-top:20px;}
.setup-guide-img img{
  width:100%; height:auto; border-radius:10px; border:1px solid var(--border);
  box-shadow:0 20px 50px -30px rgba(0,0,0,0.7);
}
.setup-guide-caption{
  font-size:0.82rem; color:var(--text-muted); font-style:italic; margin-top:10px; text-align:center;
}
.setup-guide-note{
  font-size:0.85rem; color:var(--text-muted); margin-top:18px; padding-top:16px;
  border-top:1px solid var(--border);
}

/* STEPS */
.steps{list-style:none;}
.steps li{
  display:flex; align-items:center; gap:22px;
  padding:20px 0; border-bottom:1px solid var(--border);
}
.steps li:last-child{border-bottom:none;}
.step-num{font-family:var(--display); font-style:italic; color:var(--gold); font-size:1.1rem; min-width:36px;}

/* FORM */
.order-form{
  background:rgba(255,255,255,0.02);
  border:1px solid var(--border); border-radius:var(--radius);
  padding:40px; backdrop-filter:blur(14px);
  box-shadow:0 20px 50px -30px rgba(0,0,0,0.7);
}
.form-row{margin-bottom:22px; display:flex; flex-direction:column; gap:9px;}
.form-row label{font-size:0.8rem; color:var(--text-muted); font-family:var(--mono); letter-spacing:0.02em;}
.form-row input, .form-row select, .form-row textarea{
  background:transparent; border:none; border-bottom:1px solid var(--border); border-radius:0;
  padding:10px 2px; color:var(--text); font-family:var(--body); font-size:0.98rem;
  transition:border-color .2s ease;
}
.form-row select{
  background:var(--bg); border:1px solid var(--border); border-radius:8px; padding:12px 14px;
}
.form-row input:focus, .form-row select:focus, .form-row textarea:focus{
  outline:none; border-color:var(--gold);
}
.checkbox-row{flex-direction:row; align-items:flex-start; gap:10px;}
.checkbox-row input{width:auto; margin-top:4px; border:1px solid var(--border);}
.checkbox-row label{font-family:var(--body); font-size:0.85rem; color:var(--text);}
.form-note{margin-top:16px; font-size:0.9rem; color:var(--gold-bright); text-align:center;}

/* FAQ */
.faq-list{display:flex; flex-direction:column; gap:12px;}
.faq-item{
  border:1px solid var(--border); border-radius:12px; padding:20px 22px;
  background:rgba(255,255,255,0.015);
  transition:border-color .2s ease;
}
.faq-item:hover{border-color:var(--gold-dim);}
.faq-item summary{cursor:pointer; font-weight:600; list-style:none;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::before{content:"＋ "; color:var(--gold);}
.faq-item[open] summary::before{content:"－ ";}
.faq-item p{margin-top:14px; color:var(--text-muted); font-size:0.95rem;}

/* FOOTER */
.footer{padding:70px 0 28px; text-align:center;}
.footer-inner{
  display:flex; justify-content:space-between; align-items:flex-start;
  flex-wrap:wrap; gap:24px; text-align:left; margin-bottom:36px;
}
.footer-contact{color:var(--text-muted); font-size:0.9rem; margin-top:10px;}
.footer-links{list-style:none; display:flex; gap:22px; flex-wrap:wrap;}
.footer-links a{color:var(--text-muted); text-decoration:none; font-size:0.9rem; transition:color .2s ease;}
.footer-links a:hover{color:var(--gold);}
.copyright{color:var(--text-muted); font-size:0.8rem; text-align:center;}

@media (prefers-reduced-motion: reduce){
  .chart-line, .candles rect{animation:none; stroke-dashoffset:0; opacity:0.4;}
}

@media (max-width:640px){
  .section{padding:80px 0;}
  .hero{padding:120px 20px 80px;}
  .footer-inner{flex-direction:column; text-align:center;}
  .nav-right{gap:12px;}
  .nav-cta{padding:9px 14px; font-size:11px;}
}

@media (max-width:420px){
  .nav-cta{display:none;}
}
