@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,200;12..96,400;12..96,700;12..96,800;12..96,900&family=JetBrains+Mono:wght@300;400;700&display=swap');

:root {
  --bg:      #08090C;
  --bg-2:    #0C0D11;
  --bg-3:    #0F1015;
  --card:    #0E0F14;
  --card-h:  #12131A;
  --border:  rgba(242,238,230,.07);
  --border-h:rgba(242,238,230,.14);
  --text:    #F2EEE6;
  --muted:   rgba(242,238,230,.48);
  --dim:     rgba(242,238,230,.22);
  --blue:    #2B6AFD;
  --blue-b:  #5B8EFF;
  --green:   #22c55e;
  --amber:   #2B6AFD;
  --amber-b: #5B8EFF;
  --mono:    'JetBrains Mono', monospace;
  --font:    'Bricolage Grotesque', sans-serif;
  --radius:  4px;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  font-family:var(--font); color:var(--text); background:var(--bg);
  font-size:17px; line-height:1.65;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
a { color:inherit; text-decoration:none; }
ul { list-style:none; }

/* ── KEYFRAMES ── */
@keyframes pulse-dot { 0%,100%{opacity:1} 50%{opacity:.3} }
@keyframes marquee-s { from{transform:translateX(0)} to{transform:translateX(-50%)} }
@keyframes fadeUp { from{opacity:0;transform:translateY(28px)} to{opacity:1;transform:translateY(0)} }
@keyframes glow { 0%,100%{opacity:.35} 50%{opacity:.55} }

/* ── REVEAL ── */
.reveal { opacity:0; transform:translateY(24px); transition:opacity .75s cubic-bezier(.22,1,.36,1),transform .75s cubic-bezier(.22,1,.36,1); }
.reveal.visible { opacity:1; transform:translateY(0); }
.reveal-left { opacity:0; transform:translateX(-28px); transition:opacity .75s cubic-bezier(.22,1,.36,1),transform .75s cubic-bezier(.22,1,.36,1); }
.reveal-left.visible { opacity:1; transform:translateX(0); }
.reveal-right { opacity:0; transform:translateX(28px); transition:opacity .75s cubic-bezier(.22,1,.36,1),transform .75s cubic-bezier(.22,1,.36,1); }
.reveal-right.visible { opacity:1; transform:translateX(0); }
.reveal-delay-1 { transition-delay:.1s; }
.reveal-delay-2 { transition-delay:.2s; }
.reveal-delay-3 { transition-delay:.3s; }
.reveal-delay-4 { transition-delay:.4s; }

/* ── SCARCITY BAR ── */
.top-bar {
  background:var(--blue); padding:9px 24px; text-align:center;
}
.top-bar a {
  font-family:var(--mono); font-size:.6rem; font-weight:700;
  color:#fff; letter-spacing:.1em; text-transform:uppercase;
  display:inline-flex; align-items:center; gap:10px;
}
.top-bar-dot {
  width:6px; height:6px; border-radius:50%; background:#fff;
  animation:pulse-dot 2s infinite; flex-shrink:0;
}

/* ── NAV ── */
.nav {
  position:sticky; top:0; z-index:200;
  background:rgba(8,9,12,.88); backdrop-filter:blur(24px);
  -webkit-backdrop-filter:blur(24px);
  border-bottom:1px solid var(--border);
}
.nav-inner {
  max-width:1280px; margin:0 auto; padding:0 48px;
  height:60px; display:flex; align-items:center; justify-content:space-between;
  position:relative;
}
.nav-left { display:flex; align-items:center; gap:14px; }
.nav-logo {
  font-family:var(--mono); font-weight:700; font-size:.75rem;
  letter-spacing:.3em; color:var(--text); text-transform:uppercase;
}
.nav-logo span { color:var(--blue); }
.nav-switcher {
  position:absolute; left:50%; transform:translateX(-50%);
  display:flex; align-items:center; gap:1.8rem;
}
.nav-switcher a {
  padding:.3rem 0; font-family:var(--mono); font-size:.72rem; font-weight:700;
  color:var(--muted); white-space:nowrap; border-bottom:1.5px solid transparent;
  transition:color .2s;
}
.nav-switcher a.active { color:var(--text); border-bottom-color:var(--blue); }
.nav-switcher a:hover { color:var(--text); }
.nav-links { display:flex; gap:28px; align-items:center; }
.nav-lang-pills {
  display:flex; gap:.35rem; align-items:center;
}
.nav-links a { font-size:.82rem; color:var(--muted); font-weight:500; transition:color .2s; }
.nav-links a:hover { color:var(--text); }
.nav-cta {
  background:var(--blue) !important; color:#fff !important;
  padding:.42rem 1.1rem; border-radius:var(--radius);
  font-size:.74rem; font-weight:800 !important; letter-spacing:.02em;
  transition:background .2s;
}
.nav-cta:hover { background:var(--blue-b) !important; }
.nav-burger { display:none; flex-direction:column; gap:5px; background:none; border:none; padding:4px; cursor:pointer; }
.nav-burger span { display:block; width:22px; height:1.5px; background:var(--text); transition:all .3s; }

@media(max-width:1080px) {
  .nav-burger { display:flex; }
  .nav-inner { padding:0 20px; }
  .nav-links {
    display:none; position:absolute; top:60px; left:0; right:0;
    background:rgba(8,9,12,.98); backdrop-filter:blur(24px);
    flex-direction:column; padding:24px 20px 28px; gap:20px; align-items:flex-start;
    border-bottom:1px solid var(--border);
  }
  .nav-links.open { display:flex; }
  .nav-links a { font-size:.95rem; color:var(--text); }
  .nav-switcher { display:none; }
}

/* ── HERO ── */
.hero {
  min-height:100vh; display:flex; flex-direction:column; justify-content:center;
  padding:120px 48px 80px; position:relative; overflow:hidden;
  background:var(--bg);
}
.hero::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background-image:radial-gradient(circle, rgba(43,106,253,.18) 0%, transparent 60%);
  background-position:70% 40%; background-size:900px 700px;
  background-repeat:no-repeat;
  animation:glow 6s ease-in-out infinite;
}
.hero::after {
  content:''; position:absolute; inset:0; pointer-events:none;
  background-image:radial-gradient(circle, rgba(242,238,230,.06) 1px, transparent 1px);
  background-size:36px 36px;
  mask-image:radial-gradient(ellipse 80% 80% at 60% 40%, black 20%, transparent 70%);
  -webkit-mask-image:radial-gradient(ellipse 80% 80% at 60% 40%, black 20%, transparent 70%);
}
.hero-inner {
  max-width:1280px; margin:0 auto; width:100%;
  display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center;
  position:relative; z-index:1;
}
.hero-kicker {
  font-family:var(--mono); font-size:.58rem; font-weight:700; letter-spacing:.25em;
  text-transform:uppercase; color:var(--blue); display:flex; align-items:center;
  gap:14px; margin-bottom:28px;
}
.hero-kicker::before { content:''; width:32px; height:1px; background:var(--blue); }
.hero-title {
  font-size:clamp(3.2rem,5.5vw,5.6rem); font-weight:900;
  line-height:.92; letter-spacing:-.04em; margin-bottom:28px;
}
.hero-title em { font-style:italic; font-weight:200; color:var(--blue); }
.hero-sub { font-size:.95rem; color:var(--muted); line-height:1.8; max-width:440px; margin-bottom:36px; }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:40px; }
.hero-metrics {
  display:flex; gap:0; border-top:1px solid var(--border); padding-top:28px;
  flex-wrap:wrap;
}
.h-metric {
  padding-right:28px; margin-right:28px; border-right:1px solid var(--border);
}
.h-metric:last-child { border-right:none; margin-right:0; }
.h-metric-num {
  font-family:var(--mono); font-size:1.8rem; font-weight:700; color:var(--text);
  line-height:1; letter-spacing:-.03em;
}
.h-metric-lbl { font-family:var(--mono); font-size:.55rem; color:var(--dim); letter-spacing:.08em; text-transform:uppercase; margin-top:4px; }

.hero-preview { position:relative; }
.hero-preview .browser {
  background:var(--card); overflow:hidden; border:1px solid var(--border-h);
  border-radius:8px; box-shadow:0 60px 120px rgba(0,0,0,.7), 0 0 80px rgba(43,106,253,.08);
}

@media(max-width:960px) {
  .hero { padding:100px 20px 60px; min-height:auto; }
  .hero-inner { grid-template-columns:1fr; gap:48px; }
  .hero-preview { order:-1; }
}
@media(max-width:500px) { .hero-title { font-size:clamp(2.8rem,12vw,3.6rem); } }

/* ── BROWSER ── */
.browser-bar {
  background:var(--bg-3); padding:10px 20px;
  display:flex; align-items:center; gap:10px; border-bottom:1px solid var(--border);
}
.browser-dots { display:flex; gap:6px; }
.dot { width:10px; height:10px; border-radius:50%; }
.dot-red { background:#ff5f57; } .dot-yellow { background:#febc2e; } .dot-green { background:#28c840; }
.browser-url {
  flex:1; background:rgba(242,238,230,.05); border-radius:3px;
  padding:4px 12px; font-family:var(--mono); font-size:.56rem; color:var(--dim);
}
.browser-open {
  font-family:var(--mono); font-size:.55rem; font-weight:700; color:var(--blue);
  white-space:nowrap; letter-spacing:.06em; text-transform:uppercase; transition:opacity .2s;
}
.browser-open:hover { opacity:.7; }
.browser-body { height:420px; overflow:hidden; background:#fff; }
.browser-body iframe { width:100%; height:640px; border:none; pointer-events:none; }
@media(max-width:960px) { .browser-body { height:280px; } }

/* ── MARQUEE ── */
.marquee-wrap {
  background:var(--bg-2); border-top:1px solid var(--border); border-bottom:1px solid var(--border);
  overflow:hidden; padding:16px 0;
}
.marquee-track {
  display:flex; gap:36px; white-space:nowrap;
  animation:marquee-s 32s linear infinite; width:max-content;
}
.marquee-track span {
  font-family:var(--mono); font-size:.56rem; font-weight:700;
  color:var(--dim); text-transform:uppercase; letter-spacing:.18em;
}
.marquee-sep { color:var(--blue) !important; opacity:.6 !important; }

/* ── BTNS ── */
.btn-primary {
  display:inline-block; background:var(--blue); color:#fff;
  padding:.9rem 2rem; border-radius:var(--radius); font-size:.9rem; font-weight:800;
  border:none; letter-spacing:.02em; transition:all .2s; cursor:pointer;
}
.btn-primary:hover { background:var(--blue-b); transform:translateY(-2px); }
.btn-large { padding:1rem 2.4rem; font-size:.95rem; }
.btn-ghost {
  display:inline-block; background:transparent; color:var(--text);
  padding:.9rem 1.8rem; border-radius:var(--radius); font-size:.9rem; font-weight:600;
  border:1px solid var(--border-h); transition:all .2s; cursor:pointer;
}
.btn-ghost:hover { border-color:var(--muted); background:rgba(242,238,230,.04); }

/* ── SECTIONS ── */
.section { padding:100px 48px; }
.section-dark { background:var(--bg-2); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.container { max-width:1280px; margin:0 auto; }
.section-label {
  font-family:var(--mono); font-size:.58rem; font-weight:700; color:var(--blue);
  letter-spacing:.28em; text-transform:uppercase; display:block; margin-bottom:16px;
}
.section-title {
  font-size:clamp(2rem,3.8vw,3.2rem); font-weight:900;
  letter-spacing:-.04em; line-height:.96; color:var(--text);
}
.section-title em { font-style:italic; font-weight:200; color:var(--blue); }
.section-sub { font-size:.9rem; color:var(--muted); line-height:1.8; max-width:400px; }

@media(max-width:768px) { .section { padding:64px 20px; } }

/* ── SECTION HEADER (generic) ── */
.section-header {
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:32px; margin-bottom:56px; padding-bottom:32px; border-bottom:1px solid var(--border);
  flex-wrap:wrap;
}

/* ── WORK SECTION ── */
.work-header {
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:32px; margin-bottom:56px; padding-bottom:32px; border-bottom:1px solid var(--border);
  flex-wrap:wrap;
}
.work-header-right { font-size:.85rem; color:var(--muted); max-width:340px; line-height:1.75; }

/* Featured card — full width */
.wcard-featured {
  background:var(--card); border:1px solid var(--border); border-radius:6px;
  overflow:hidden; margin-bottom:16px;
  display:grid; grid-template-columns:1fr 1fr; min-height:440px;
  transition:border-color .3s;
}
.wcard-featured:hover { border-color:var(--border-h); }
.wcard-featured-meta {
  padding:48px; display:flex; flex-direction:column; justify-content:space-between;
  border-right:1px solid var(--border);
}
.wcard-featured-tag {
  font-family:var(--mono); font-size:.56rem; font-weight:700; color:var(--blue);
  letter-spacing:.18em; text-transform:uppercase; margin-bottom:16px;
}
.wcard-featured-title {
  font-size:2.4rem; font-weight:900; letter-spacing:-.04em; line-height:.94;
  color:var(--text); margin-bottom:16px;
}
.wcard-featured-desc { font-size:.88rem; color:var(--muted); line-height:1.75; flex:1; }
.wcard-featured-footer {
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  margin-top:32px; padding-top:24px; border-top:1px solid var(--border);
}
.wcard-featured-price {
  font-family:var(--mono); font-size:.88rem; font-weight:700; color:var(--text);
}
.wcard-featured-cta {
  font-family:var(--mono); font-size:.6rem; font-weight:700; color:var(--blue);
  letter-spacing:.1em; text-transform:uppercase; padding:.35rem .9rem;
  border:1px solid rgba(43,106,253,.35); border-radius:3px; transition:all .2s;
}
.wcard-featured-cta:hover { background:rgba(43,106,253,.1); }
.wcard-featured-frame {
  overflow:hidden; background:var(--bg-3); position:relative;
}
.wcard-featured-frame::after {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(to right, rgba(8,9,12,.12) 0%, transparent 20%);
}
.wcard-featured-frame iframe { width:200%; height:200%; transform:scale(.5); transform-origin:top left; border:none; pointer-events:none; }

/* Work grid — smaller cards */
.work-grid {
  display:grid; grid-template-columns:repeat(3, 1fr); gap:16px;
}
.wcard {
  background:var(--card); border:1px solid var(--border); border-radius:6px;
  overflow:hidden; transition:all .3s;
}
.wcard:hover { border-color:var(--border-h); transform:translateY(-3px); box-shadow:0 20px 60px rgba(0,0,0,.5); }
.wcard-bar {
  background:var(--bg-3); padding:8px 16px;
  display:flex; align-items:center; gap:8px; border-bottom:1px solid var(--border);
}
.wcard-dots { display:flex; gap:5px; }
.wcard-dots span { width:8px; height:8px; border-radius:50%; }
.wcard-dots span:nth-child(1) { background:#ff5f57; }
.wcard-dots span:nth-child(2) { background:#febc2e; }
.wcard-dots span:nth-child(3) { background:#28c840; }
.wcard-url { font-family:var(--mono); font-size:.52rem; color:var(--dim); flex:1; background:rgba(242,238,230,.04); padding:3px 10px; border-radius:2px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.wcard-open {
  font-family:var(--mono); font-size:.52rem; font-weight:700; color:var(--blue);
  white-space:nowrap; letter-spacing:.06em; text-transform:uppercase; transition:opacity .2s;
}
.wcard-open:hover { opacity:.7; }
.wcard-frame { height:220px; overflow:hidden; background:var(--bg-3); }
.wcard-frame iframe { width:200%; height:200%; transform:scale(.5); transform-origin:top left; border:none; pointer-events:none; }
.wcard-meta {
  padding:18px 20px; display:flex; align-items:center; justify-content:space-between;
  border-top:1px solid var(--border);
}
.wcard-info { display:flex; flex-direction:column; gap:2px; }
.wcard-tag { font-family:var(--mono); font-size:.52rem; font-weight:700; color:var(--blue); text-transform:uppercase; letter-spacing:.1em; }
.wcard-name { font-size:.88rem; font-weight:700; letter-spacing:-.02em; color:var(--text); }
.wcard-price { font-family:var(--mono); font-size:.64rem; font-weight:700; color:var(--muted); white-space:nowrap; }

@media(max-width:900px) { .work-grid { grid-template-columns:1fr 1fr; } }
@media(max-width:600px) {
  .work-grid { grid-template-columns:1fr; }
  .wcard-featured { grid-template-columns:1fr; }
  .wcard-featured-meta { border-right:none; border-bottom:1px solid var(--border); padding:32px 24px; }
  .wcard-featured-frame { min-height:260px; }
}

/* ── STATS BAND ── */
.stats-band {
  background:var(--bg); border-top:1px solid var(--border); border-bottom:1px solid var(--border);
  padding:48px;
}
.stats-row {
  max-width:1280px; margin:0 auto;
  display:grid; grid-template-columns:repeat(4, 1fr); gap:0;
}
.stat-item {
  padding:28px 32px; border-right:1px solid var(--border); text-align:center;
}
.stat-item:last-child { border-right:none; }
.stat-num {
  font-family:var(--mono); font-size:2.8rem; font-weight:700; letter-spacing:-.04em;
  color:var(--blue); line-height:1;
}
.stat-label { font-size:.78rem; color:var(--muted); margin-top:6px; line-height:1.4; }

@media(max-width:640px) {
  .stats-row { grid-template-columns:repeat(2, 1fr); }
  .stat-item:nth-child(2) { border-right:none; }
  .stat-item:nth-child(1), .stat-item:nth-child(2) { border-bottom:1px solid var(--border); }
  .stats-band { padding:32px 20px; }
}

/* ── SERVICES ── */
.offer-grid {
  display:grid; grid-template-columns:repeat(3, 1fr); gap:0;
  border:1px solid var(--border); border-radius:6px; overflow:hidden; margin-top:56px;
}
.offer-card {
  background:var(--card); padding:44px 36px;
  border-right:1px solid var(--border); display:flex; flex-direction:column;
  gap:24px; position:relative; transition:background .25s;
}
.offer-card:last-child { border-right:none; }
.offer-card:hover { background:var(--card-h); }
.offer-card-featured {
  background:rgba(43,106,253,.05); border-top:2px solid var(--blue);
}
.offer-badge {
  position:absolute; top:-1px; right:24px;
  background:var(--blue); color:#fff;
  font-family:var(--mono); font-size:.52rem; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase; padding:4px 12px;
}
.offer-name { font-size:1.2rem; font-weight:800; letter-spacing:-.03em; color:var(--text); }
.offer-price {
  font-family:var(--mono); font-size:2rem; font-weight:700; color:var(--text);
  letter-spacing:-.04em; line-height:1;
}
.offer-price-sub { font-size:.75rem; font-weight:400; color:var(--muted); letter-spacing:0; }
.offer-card-featured .offer-price { color:var(--blue); }
.offer-divider { height:1px; background:var(--border); }
.offer-desc { font-size:.88rem; color:var(--muted); line-height:1.8; flex:1; }
.offer-cta {
  display:inline-block; font-size:.78rem; font-weight:700; color:var(--muted);
  letter-spacing:.02em; transition:color .2s; align-self:flex-start;
  border-bottom:1px solid transparent; padding-bottom:2px; transition:all .2s;
}
.offer-cta:hover { color:var(--text); border-bottom-color:var(--muted); }
.offer-card-featured .offer-cta { color:var(--blue); }
.offer-card-featured .offer-cta:hover { border-bottom-color:var(--blue); }

@media(max-width:768px) {
  .offer-grid { grid-template-columns:1fr; border-radius:6px; }
  .offer-card { border-right:none; border-bottom:1px solid var(--border); padding:32px 24px; }
  .offer-card:last-child { border-bottom:none; }
}

/* ── PROCESS ── */
.process-header { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; margin-bottom:56px; padding-bottom:32px; border-bottom:1px solid var(--border); flex-wrap:wrap; }
.steps-grid {
  display:grid; grid-template-columns:repeat(4, 1fr);
  border:1px solid var(--border); border-radius:6px; overflow:hidden;
}
.step {
  padding:44px 32px; border-right:1px solid var(--border);
  background:var(--card); transition:background .25s;
}
.step:last-child { border-right:none; }
.step:hover { background:var(--card-h); }
.step-num {
  font-family:var(--mono); font-size:3rem; font-weight:700; color:var(--blue);
  opacity:.18; line-height:1; display:block; margin-bottom:24px; letter-spacing:-.04em;
  transition:opacity .3s;
}
.step:hover .step-num { opacity:.5; }
.step h4 { font-size:.98rem; font-weight:800; margin-bottom:10px; letter-spacing:-.02em; color:var(--text); }
.step p { font-size:.84rem; color:var(--muted); line-height:1.75; }

@media(max-width:900px) {
  .steps-grid { grid-template-columns:1fr 1fr; }
  .step:nth-child(2) { border-right:none; }
  .step:nth-child(1), .step:nth-child(2) { border-bottom:1px solid var(--border); }
}
@media(max-width:480px) {
  .steps-grid { grid-template-columns:1fr; }
  .step { border-right:none !important; border-bottom:1px solid var(--border) !important; }
  .step:last-child { border-bottom:none !important; }
}

/* ── TESTIMONIALS ── */
.testi-grid {
  display:grid; grid-template-columns:repeat(3, 1fr);
  border:1px solid var(--border); border-radius:6px; overflow:hidden; margin-top:56px;
}
.testi-card {
  background:var(--card); padding:44px 36px;
  border-right:1px solid var(--border); display:flex; flex-direction:column;
  gap:0; transition:background .25s;
}
.testi-card:last-child { border-right:none; }
.testi-card:hover { background:var(--card-h); }
.testi-quote { font-size:3.2rem; font-weight:900; color:var(--blue); opacity:.18; line-height:.7; margin-bottom:20px; }
.testi-text {
  font-size:.9rem; color:var(--text); line-height:1.85; font-style:italic;
  font-weight:300; flex:1; margin-bottom:32px;
}
.testi-sep { width:28px; height:2px; background:var(--blue); opacity:.4; margin-bottom:20px; }
.testi-name { font-size:.88rem; font-weight:700; color:var(--text); display:block; margin-bottom:4px; }
.testi-role { font-family:var(--mono); font-size:.56rem; color:var(--dim); display:block; margin-bottom:14px; }
.testi-result { font-family:var(--mono); font-size:.6rem; color:var(--blue); font-weight:700; }

@media(max-width:900px) {
  .testi-grid { grid-template-columns:1fr; }
  .testi-card { border-right:none; border-bottom:1px solid var(--border); padding:32px 24px; }
  .testi-card:last-child { border-bottom:none; }
}

/* ── FAQ ── */
.faq-wrap { max-width:800px; }
.faq-header { margin-bottom:48px; padding-bottom:32px; border-bottom:1px solid var(--border); }
.faq-list { display:flex; flex-direction:column; border:1px solid var(--border); border-radius:6px; overflow:hidden; }
.faq-item { border-bottom:1px solid var(--border); background:var(--card); }
.faq-item:last-child { border-bottom:none; }
.faq-item.open { border-left:2px solid var(--blue); }
.faq-q {
  width:100%; background:none; border:none; text-align:left;
  padding:20px 28px; font-size:.92rem; font-weight:600; color:var(--text);
  display:flex; justify-content:space-between; align-items:center;
  gap:16px; transition:color .2s; letter-spacing:-.01em; cursor:pointer; font-family:var(--font);
}
.faq-q:hover { color:var(--blue); }
.faq-icon { font-family:var(--mono); font-size:1.1rem; font-weight:300; flex-shrink:0; color:var(--muted); transition:transform .3s,color .2s; }
.faq-item.open .faq-icon { transform:rotate(45deg); color:var(--blue); }
.faq-a { max-height:0; overflow:hidden; transition:max-height .4s cubic-bezier(.22,1,.36,1); }
.faq-item.open .faq-a { max-height:220px; }
.faq-a p { padding:0 28px 20px; font-size:.88rem; color:var(--muted); line-height:1.8; }

/* ── CTA / CONTACT ── */
.cta-section {
  background:var(--bg); padding:120px 48px; position:relative; overflow:hidden;
  border-top:1px solid var(--border);
}
.cta-section::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(ellipse 70% 60% at 20% 50%, rgba(43,106,253,.07) 0%, transparent 65%);
}
.cta-inner {
  max-width:1280px; margin:0 auto;
  display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:start;
  position:relative; z-index:1;
}
.cta-kicker {
  font-family:var(--mono); font-size:.58rem; font-weight:700; color:var(--blue);
  letter-spacing:.25em; text-transform:uppercase; display:flex; align-items:center;
  gap:14px; margin-bottom:24px;
}
.cta-kicker::before { content:''; width:32px; height:1px; background:var(--blue); }
.cta-title {
  font-size:clamp(2.2rem,4.5vw,3.6rem); font-weight:900; letter-spacing:-.04em;
  line-height:.92; margin-bottom:24px; color:var(--text);
}
.cta-title em { font-style:italic; font-weight:200; color:var(--blue); }
.cta-sub { font-size:.92rem; color:var(--muted); line-height:1.8; max-width:420px; margin-bottom:28px; }
.cta-urgency {
  display:inline-flex; gap:8px; align-items:center;
  border:1px solid rgba(34,197,94,.25); padding:8px 16px;
  font-family:var(--mono); font-size:.58rem; color:var(--green); font-weight:700;
  letter-spacing:.04em; text-transform:uppercase; border-radius:var(--radius);
}
.cta-urgency-dot { width:6px; height:6px; border-radius:50%; background:var(--green); animation:pulse-dot 2s infinite; flex-shrink:0; }

/* Form */
.contact-form { display:flex; flex-direction:column; gap:10px; }
.cf-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.cf-input {
  background:rgba(242,238,230,.04); border:1px solid var(--border-h); border-radius:var(--radius);
  padding:14px 18px; font-size:.88rem; font-family:var(--font);
  color:var(--text); width:100%; outline:none; transition:border-color .2s;
}
.cf-input::placeholder { color:var(--dim); }
.cf-input:focus { border-color:var(--blue); background:rgba(43,106,253,.04); }
.cf-textarea { resize:none; min-height:88px; }
.cf-submit {
  background:var(--blue); color:#fff;
  padding:15px 32px; border-radius:var(--radius); font-size:.95rem; font-weight:800;
  border:none; cursor:pointer; font-family:var(--font);
  transition:all .2s; letter-spacing:.02em;
}
.cf-submit:hover { background:var(--blue-b); transform:translateY(-2px); }
.cf-reassurance { font-family:var(--mono); font-size:.56rem; color:var(--dim); letter-spacing:.06em; }
.cf-success {
  display:none; padding:18px 22px; border:1px solid rgba(34,197,94,.2);
  border-radius:var(--radius); font-size:.88rem; color:var(--green); line-height:1.6;
}

@media(max-width:900px) { .cta-inner { grid-template-columns:1fr; gap:56px; } .cta-section { padding:80px 20px; } }
@media(max-width:500px) { .cf-row { grid-template-columns:1fr; } }

/* ── FOOTER ── */
.footer {
  background:var(--bg); padding:48px; border-top:1px solid var(--border);
}
.footer-inner {
  max-width:1280px; margin:0 auto;
  display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
}
.footer-logo { font-family:var(--mono); font-size:.72rem; font-weight:700; color:var(--text); letter-spacing:.25em; text-transform:uppercase; display:block; margin-bottom:4px; }
.footer-logo span { color:var(--blue); }
.footer-left p { font-size:.74rem; color:var(--dim); }
.footer-links { display:flex; gap:24px; flex-wrap:wrap; }
.footer-links a { font-size:.78rem; color:var(--dim); transition:color .2s; }
.footer-links a:hover { color:var(--text); }
.footer-right a { font-size:.74rem; color:var(--dim); transition:color .2s; }
.footer-right a:hover { color:var(--text); }

@media(max-width:640px) { .footer { padding:32px 20px; } .footer-links { gap:16px; } }
