/* ── RESET & TOKENS ────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --accent:   #8FB7E8;
  --canvas:   #08080A;
  --text-1:   #F4F4F2;
  --text-2:   rgba(244,244,242,.6);
  --text-3:   rgba(244,244,242,.45);
  --glass-bg: rgba(255,255,255,.03);
  --glass-bd: rgba(255,255,255,.08);
  --r-card:   24px;
  --r-pill:   999px;
  --r-chip:   12px;
}

html { scroll-behavior: smooth; }

body {
  font-family: 'Geist', 'Helvetica Neue', Arial, sans-serif;
  background: var(--canvas);
  color: var(--text-1);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

::selection { background: rgba(143,183,232,.22); }
a { color: inherit; }

/* ── KEYFRAMES ─────────────────────────────────────────────── */
@keyframes marqueeScroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
@keyframes pulseDot {
  0%,100% { opacity:1; transform:scale(1); }
  50%      { opacity:.35; transform:scale(.65); }
}
@keyframes floatBlob {
  0%,100% { transform:translate(0,0) scale(1); }
  50%      { transform:translate(26px,-22px) scale(1.08); }
}

/* ── AOS (scroll-driven, IntersectionObserver fallback) ─────── */
.aos {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .6s ease, transform .6s ease;
}
.aos.visible { opacity:1; transform:translateY(0); }

/* ── NAV ────────────────────────────────────────────────────── */
nav {
  position: fixed; top:0; left:0; right:0; z-index:60;
  display: flex; align-items: center; justify-content: space-between;
  padding: 18px 34px;
  backdrop-filter: blur(14px);
  background: linear-gradient(180deg, rgba(8,8,10,.72), rgba(8,8,10,0));
}

.nav-logo {
  display: flex; align-items: center; gap: 11px;
  text-decoration: none;
}
.nav-logo svg { width:30px; height:30px; }
.nav-logo-text { font-weight:600; font-size:1.02rem; letter-spacing:-.01em; }
.nav-logo-text span { color:rgba(244,244,242,.5); font-weight:400; }

.nav-pill {
  display: flex; align-items: center; gap:6px;
  list-style: none;
  padding: 7px 9px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--r-pill);
  backdrop-filter: blur(16px);
}
.nav-pill a {
  display: block;
  padding: 8px 15px;
  border-radius: var(--r-pill);
  text-decoration: none;
  font-size: .9rem;
  color: rgba(244,244,242,.62);
  transition: color .2s;
}
.nav-pill a:hover { color: var(--text-1); }

.nav-actions { display:flex; align-items:center; gap:10px; }

.btn-ghost-nav {
  text-decoration: none;
  padding: 9px 18px;
  border-radius: var(--r-pill);
  font-size: .88rem;
  color: rgba(244,244,242,.8);
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.03);
  transition: border-color .2s;
}
.btn-ghost-nav:hover { border-color: rgba(255,255,255,.3); }

.btn-white {
  text-decoration: none;
  display: inline-flex; align-items:center; gap:6px;
  padding: 10px 19px;
  border-radius: var(--r-pill);
  font-size: .88rem; font-weight:600;
  color: var(--canvas);
  background: var(--text-1);
  transition: box-shadow .25s, transform .25s;
}
.btn-white:hover {
  box-shadow: 0 0 34px rgba(143,183,232,.4);
  transform: translateY(-1px);
}

.nav-hamburger {
  display: none;
  align-items: center; justify-content: center; flex-direction:column; gap:4px;
  width:44px; height:44px;
  border-radius: 12px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.1);
  color: var(--text-1);
  cursor: pointer;
}
.nav-hamburger span {
  display:block; width:18px; height:1.6px;
  background: var(--text-1);
}

/* Mobile overlay */
.nav-overlay {
  position: fixed; inset:0; z-index:90;
  background: rgba(8,8,10,.94);
  backdrop-filter: blur(20px);
  display: flex; flex-direction:column; align-items:center; justify-content:center; gap:14px;
  transform: translateX(100%);
  transition: transform .4s cubic-bezier(.22,1,.36,1);
}
.nav-overlay.open { transform: translateX(0); }
.nav-overlay-close {
  position:absolute; top:24px; right:28px;
  width:44px; height:44px; border-radius:12px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.1);
  color: var(--text-1); font-size:1.1rem; cursor:pointer;
}
.nav-overlay a {
  text-decoration:none; color:var(--text-1);
  font-size:1.5rem; font-weight:500;
  transition: color .2s;
}
.nav-overlay a:hover { color:var(--accent); }
.nav-overlay .btn-white { margin-top:14px; padding:14px 28px; font-size:1rem; }

/* ── HERO ────────────────────────────────────────────────────── */
#home {
  position:relative; overflow:hidden;
  padding: 160px 0 80px;
}

.hero-blooms {
  position:absolute; inset:0; pointer-events:none;
}
.hero-blooms div:nth-child(1) {
  position:absolute; top:-14%; right:-6%; width:62vw; height:62vw;
  background:radial-gradient(circle at 50% 50%, rgba(168,198,240,.20), rgba(96,140,210,.06) 42%, transparent 68%);
  filter:blur(46px);
  animation:floatBlob 20s ease-in-out infinite;
}
.hero-blooms div:nth-child(2) {
  position:absolute; top:6%; left:50%; width:46vw; height:46vw;
  transform:translateX(-50%);
  background:radial-gradient(circle at 50% 40%, rgba(244,244,242,.12), transparent 64%);
  filter:blur(44px);
}
.hero-blooms div:nth-child(3) {
  position:absolute; bottom:-22%; left:-12%; width:52vw; height:52vw;
  background:radial-gradient(circle at 50% 50%, rgba(150,182,232,.10), transparent 66%);
  filter:blur(50px);
  animation:floatBlob 26s ease-in-out infinite reverse;
}

.hero-inner {
  position:relative; max-width:1060px;
  margin:0 auto; padding:0 32px; text-align:center;
}

.hero-badge {
  display:inline-flex; align-items:center; gap:9px;
  padding:8px 16px; border-radius:var(--r-pill);
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.09);
  font-size:.82rem; color:rgba(244,244,242,.72);
  font-family:'Geist Mono',monospace;
  margin-bottom:30px;
}
.pulse-dot {
  display:inline-block; width:7px; height:7px; border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 10px var(--accent);
  animation:pulseDot 2.4s ease-in-out infinite;
}

.hero-h1 {
  font-size:clamp(2.6rem, 6.4vw, 5.2rem);
  font-weight:600; letter-spacing:-.035em; line-height:1.0;
  margin:0 0 26px;
}
.grad-text {
  background:linear-gradient(110deg, var(--text-1) 30%, var(--accent));
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
}

.hero-sub {
  max-width:640px; margin:0 auto 38px;
  font-size:1.16rem; line-height:1.6;
  color:rgba(244,244,242,.58);
}

.hero-btns {
  display:flex; gap:14px; justify-content:center; flex-wrap:wrap;
  margin-bottom:64px;
}

.btn-cta {
  text-decoration:none;
  display:inline-flex; align-items:center; gap:8px;
  background:var(--text-1); color:var(--canvas);
  border-radius:var(--r-pill);
  padding:16px 30px; font-size:1.02rem; font-weight:600;
  transition:box-shadow .25s, transform .25s;
}
.btn-cta:hover { box-shadow:0 0 44px rgba(143,183,232,.4); transform:translateY(-2px); }

.btn-ghost-hero {
  text-decoration:none;
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(255,255,255,.04); color:var(--text-1);
  border:1px solid rgba(255,255,255,.14);
  border-radius:var(--r-pill); backdrop-filter:blur(12px);
  padding:16px 30px; font-size:1.02rem; font-weight:500;
  transition:border-color .25s;
}
.btn-ghost-hero:hover { border-color:rgba(255,255,255,.32); }

/* Stats row */
.hero-stats {
  display:flex; align-items:center; justify-content:center;
  gap:48px; flex-wrap:wrap; margin-bottom:70px;
}
.stat-val {
  font-size:3rem; font-weight:600; letter-spacing:-.03em; line-height:1;
}
.stat-label {
  margin-top:10px; font-size:.84rem;
  color:rgba(244,244,242,.5); line-height:1.5;
}
.stat-div { width:1px; height:54px; background:rgba(255,255,255,.1); }

/* Marquee */
.marquee-label {
  font-family:'Geist Mono',monospace;
  font-size:.74rem; letter-spacing:.14em; text-transform:uppercase;
  color:rgba(244,244,242,.4); margin:0 0 22px;
}
.marquee-wrap {
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
}
.marquee-track {
  display:flex; gap:14px; width:max-content;
  animation:marqueeScroll 34s linear infinite;
}
.marquee-chip {
  white-space:nowrap; padding:11px 20px; border-radius:var(--r-pill);
  background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.07);
  font-family:'Geist Mono',monospace; font-size:.85rem;
  color:rgba(244,244,242,.66);
}

/* ── SECTION SHARED ────────────────────────────────────────── */
.section-wrap {
  max-width:1180px; margin:0 auto; padding:110px 32px;
}
.section-wrap-narrow {
  max-width:980px; margin:0 auto; padding:110px 32px;
}

.section-header {
  max-width:720px; margin:0 auto 56px; text-align:center;
}
.mono-label {
  display:inline-block;
  font-family:'Geist Mono',monospace;
  font-size:.72rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--accent); margin-bottom:18px;
}
.section-h2 {
  font-size:clamp(1.9rem, 4.2vw, 3.1rem);
  font-weight:600; letter-spacing:-.028em; line-height:1.08;
  margin:0 0 18px;
}
.section-sub {
  font-size:1.08rem; line-height:1.6;
  color:rgba(244,244,242,.55); margin:0;
}

/* ── GLASS CARD ────────────────────────────────────────────── */
.glass-card {
  background:var(--glass-bg);
  border:1px solid var(--glass-bd);
  border-radius:var(--r-card);
  backdrop-filter:blur(16px);
}

/* ── PAIN POINTS ────────────────────────────────────────────── */
.pain-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:18px;
}
.pain-card {
  position:relative; padding:32px; border-radius:22px;
  background:var(--glass-bg); border:1px solid var(--glass-bd);
  backdrop-filter:blur(16px);
  transition:border-color .3s, transform .3s;
}
.pain-card:hover { border-color:rgba(255,255,255,.18); transform:translateY(-4px); }
.pain-num { font-family:'Geist Mono',monospace; font-size:.8rem; color:var(--accent); }
.pain-card h3 {
  font-size:1.18rem; font-weight:600; letter-spacing:-.01em;
  margin:14px 0 12px;
}
.pain-card p { font-size:.96rem; line-height:1.62; color:rgba(244,244,242,.55); margin:0; }

/* ── ABOUT ──────────────────────────────────────────────────── */
#about {
  position:relative; overflow:hidden;
}
#about .bloom-side {
  position:absolute; top:0; left:-10%; width:48vw; height:48vw;
  pointer-events:none;
  background:radial-gradient(circle at 50% 50%, rgba(150,182,232,.12), transparent 66%);
  filter:blur(50px); opacity:.42;
}
.about-inner {
  position:relative; max-width:1180px; margin:0 auto; padding:110px 32px;
  display:grid; grid-template-columns:.85fr 1.15fr;
  gap:48px; align-items:center;
}
.about-card {
  padding:40px 34px; border-radius:var(--r-card); text-align:center;
}
.avatar {
  width:84px; height:84px; border-radius:50%;
  margin:0 auto 18px;
  display:flex; align-items:center; justify-content:center;
  font-size:1.7rem; font-weight:600; color:var(--canvas);
  background:linear-gradient(135deg, var(--text-1), var(--accent));
}
.about-name { font-size:1.35rem; font-weight:600; letter-spacing:-.01em; }
.about-role { font-size:.92rem; color:rgba(244,244,242,.5); margin-top:4px; }
.skill-chips {
  display:flex; flex-wrap:wrap; gap:8px; justify-content:center;
  margin-top:22px;
}
.skill-chip {
  padding:7px 13px; border-radius:var(--r-pill);
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.09);
  font-family:'Geist Mono',monospace; font-size:.76rem;
  color:rgba(244,244,242,.7);
}

.about-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.about-stat-val { font-size:1.7rem; font-weight:600; letter-spacing:-.02em; }
.about-stat-label { font-size:.8rem; color:rgba(244,244,242,.5); margin-top:5px; line-height:1.4; }

/* ── SERVICES ────────────────────────────────────────────────── */
.services-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:18px;
}
.svc-card {
  position:relative; overflow:hidden; padding:34px; border-radius:var(--r-card);
  background:var(--glass-bg); border:1px solid var(--glass-bd);
  backdrop-filter:blur(16px);
  transition:border-color .3s, transform .3s;
}
.svc-card:hover { border-color:rgba(255,255,255,.18); transform:translateY(-5px); }
.svc-card-glow {
  position:absolute; top:-40%; right:-30%; width:70%; height:80%;
  background:radial-gradient(circle, rgba(150,182,232,.16), transparent 70%);
  filter:blur(30px); pointer-events:none;
}
.svc-num {
  position:relative;
  font-family:'Geist Mono',monospace; font-size:.76rem;
  color:rgba(244,244,242,.45);
}
.svc-icon {
  position:relative; width:48px; height:48px; border-radius:14px;
  display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1);
  margin:18px 0;
}
.svc-title {
  position:relative; font-size:1.32rem; font-weight:600;
  letter-spacing:-.015em; margin-bottom:12px;
}
.svc-desc {
  position:relative; font-size:.96rem; line-height:1.62;
  color:rgba(244,244,242,.55); margin:0 0 20px;
}
.svc-list {
  position:relative; list-style:none; padding:0; margin:0;
  display:flex; flex-direction:column; gap:10px;
}
.svc-list li {
  display:flex; gap:10px; font-size:.92rem; color:rgba(244,244,242,.66);
}
.svc-list li span { color:var(--accent); }

/* ── PROCESS TIMELINE ────────────────────────────────────────── */
.timeline {
  position:relative; padding-left:34px;
  border-left:1px solid rgba(255,255,255,.1);
  display:flex; flex-direction:column; gap:42px;
}
.tl-item { position:relative; }
.tl-dot {
  position:absolute; left:-42px; top:3px;
  width:15px; height:15px; border-radius:50%;
  background:var(--canvas);
  border:2px solid var(--accent);
  box-shadow:0 0 14px rgba(143,183,232,.5);
}
.tl-phase {
  font-family:'Geist Mono',monospace; font-size:.76rem;
  letter-spacing:.05em; color:var(--accent); margin-bottom:8px;
}
.tl-title { font-size:1.3rem; font-weight:600; letter-spacing:-.015em; margin-bottom:10px; }
.tl-desc {
  font-size:.98rem; line-height:1.62; color:rgba(244,244,242,.58);
  margin:0 0 18px; max-width:620px;
}
.tl-chips { display:flex; flex-wrap:wrap; gap:10px; }
.tl-chip {
  padding:11px 16px; border-radius:var(--r-chip);
  background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.08);
  font-size:.88rem; color:rgba(244,244,242,.7);
}

/* ── TESTIMONIALS ────────────────────────────────────────────── */
.testimonials-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:18px;
}
.tcard {
  display:flex; flex-direction:column; padding:32px;
  border-radius:var(--r-card);
  background:var(--glass-bg); border:1px solid var(--glass-bd);
  backdrop-filter:blur(16px);
}
.tcard-stars { letter-spacing:3px; color:var(--accent); font-size:.92rem; margin-bottom:16px; }
.tcard-quote { font-size:.98rem; line-height:1.66; color:rgba(244,244,242,.78); margin:0 0 24px; flex:1; }
.tcard-author { display:flex; align-items:center; gap:12px; }
.tcard-av {
  width:42px; height:42px; border-radius:50%; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  font-size:.85rem; font-weight:600; color:var(--canvas);
}
.tcard-name { font-weight:600; font-size:.95rem; }
.tcard-role { font-size:.82rem; color:rgba(244,244,242,.5); }

/* ── ROI ─────────────────────────────────────────────────────── */
#roi { position:relative; overflow:hidden; }
#roi .bloom-bottom {
  position:absolute; bottom:-20%; right:-8%; width:50vw; height:50vw;
  pointer-events:none;
  background:radial-gradient(circle at 50% 50%, rgba(150,182,232,.12), transparent 66%);
  filter:blur(50px); opacity:.42;
}
.roi-layout {
  display:grid; grid-template-columns:1fr 1fr; gap:20px; align-items:stretch;
}
.roi-sliders {
  padding:36px; border-radius:var(--r-card);
  background:var(--glass-bg); border:1px solid var(--glass-bd);
  backdrop-filter:blur(16px);
  display:flex; flex-direction:column; gap:28px; justify-content:center;
}
.roi-field label {
  display:flex; justify-content:space-between; align-items:baseline;
  font-size:.92rem; color:rgba(244,244,242,.7); margin-bottom:12px;
}
.roi-field label span {
  font-family:'Geist Mono',monospace; color:var(--accent); font-size:.92rem;
}
input[type="range"] {
  width:100%; height:5px; border-radius:var(--r-pill);
  cursor:pointer; accent-color:var(--accent);
}
.roi-results { display:flex; flex-direction:column; gap:14px; }
.roi-cards-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.roi-card {
  padding:26px; border-radius:20px;
  background:var(--glass-bg); border:1px solid var(--glass-bd);
  backdrop-filter:blur(16px);
}
.roi-card-label {
  font-family:'Geist Mono',monospace; font-size:.74rem;
  letter-spacing:.04em; text-transform:uppercase;
  color:rgba(244,244,242,.45); margin-bottom:12px;
}
.roi-card-val { font-size:2rem; font-weight:600; letter-spacing:-.02em; }
.roi-card-val.grad { }

/* ── CONTACT ─────────────────────────────────────────────────── */
#contact { position:relative; overflow:hidden; }
#contact .bloom-top {
  position:absolute; top:-10%; left:50%; transform:translateX(-50%);
  width:60vw; height:40vw; pointer-events:none;
  background:radial-gradient(circle at 50% 0%, rgba(168,198,240,.14), transparent 62%);
  filter:blur(46px); opacity:.6;
}
.contact-inner {
  position:relative; max-width:1100px; margin:0 auto; padding:110px 32px;
  display:grid; grid-template-columns:1fr 1.1fr;
  gap:48px; align-items:start;
}
.contact-h2 {
  font-size:clamp(1.9rem, 3.8vw, 2.8rem);
  font-weight:600; letter-spacing:-.028em; line-height:1.1; margin:0 0 20px;
}
.contact-sub { font-size:1rem; line-height:1.64; color:rgba(244,244,242,.6); margin:0 0 30px; }
.promise-list { display:flex; flex-direction:column; gap:14px; }
.promise-item { display:flex; align-items:center; gap:12px; font-size:.96rem; color:rgba(244,244,242,.75); }
.promise-check {
  flex-shrink:0; width:24px; height:24px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:rgba(143,183,232,.14); color:var(--accent); font-size:.8rem;
}

.contact-form-card { padding:34px; border-radius:var(--r-card); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-group { display:flex; flex-direction:column; gap:7px; }
.form-group.full { grid-column:1 / -1; }
.form-group label {
  font-family:'Geist Mono',monospace; font-size:.74rem;
  letter-spacing:.04em; text-transform:uppercase;
  color:rgba(244,244,242,.55);
}
.form-input {
  padding:12px 14px; border-radius:var(--r-chip);
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1);
  color:var(--text-1); font-family:inherit; font-size:.95rem;
  outline:none; width:100%;
  transition:border-color .2s;
}
.form-input:focus { border-color:var(--accent); }
.form-input::placeholder { color:rgba(244,244,242,.35); }
select.form-input option { background:#15151a; }
textarea.form-input { resize:vertical; }

.btn-submit {
  width:100%; margin-top:20px;
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  background:var(--text-1); color:var(--canvas);
  border:none; border-radius:var(--r-pill);
  padding:15px; font-family:inherit; font-size:1rem; font-weight:600;
  cursor:pointer; transition:box-shadow .25s, transform .25s;
}
.btn-submit:hover { box-shadow:0 0 40px rgba(143,183,232,.4); transform:translateY(-2px); }

.form-status { margin-top:16px; text-align:center; font-size:.92rem; min-height:20px; }

/* ── FOOTER ──────────────────────────────────────────────────── */
footer {
  border-top:1px solid rgba(255,255,255,.08);
  padding:64px 0 30px;
}
.footer-grid {
  max-width:1180px; margin:0 auto; padding:0 32px;
  display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:40px;
}
.footer-brand p { font-size:.92rem; line-height:1.6; color:rgba(244,244,242,.5); margin:0; max-width:300px; }
.footer-logo { display:flex; align-items:center; gap:11px; text-decoration:none; margin-bottom:16px; }
.footer-logo-text { font-weight:600; font-size:1rem; }
.footer-col h4 {
  font-family:'Geist Mono',monospace; font-size:.74rem;
  letter-spacing:.1em; text-transform:uppercase;
  color:rgba(244,244,242,.5); margin:0 0 16px;
}
.footer-col ul { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:11px; }
.footer-col a { text-decoration:none; font-size:.92rem; color:rgba(244,244,242,.6); transition:color .2s; }
.footer-col a:hover { color:var(--text-1); }

.footer-bottom {
  max-width:1180px; margin:48px auto 0; padding:24px 32px 0;
  border-top:1px solid rgba(255,255,255,.07);
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:16px;
}
.footer-bottom span { font-size:.85rem; color:rgba(244,244,242,.4); }
.footer-socials { display:flex; gap:10px; }
.footer-socials a {
  width:36px; height:36px; border-radius:10px;
  display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1);
  color:rgba(244,244,242,.7); text-decoration:none; font-size:.85rem;
  transition:border-color .2s, color .2s;
}
.footer-socials a:hover { border-color:var(--accent); color:var(--accent); }

/* ── RESPONSIVE ──────────────────────────────────────────────── */
@media (max-width: 880px) {
  .nav-pill, .nav-actions { display:none; }
  .nav-hamburger { display:inline-flex; }
  .hero-stats { flex-direction:column; gap:28px; }
  .stat-div { display:none; }
  .hero-h1 { font-size:11vw; }
  .about-inner { grid-template-columns:1fr; }
  .about-stats { grid-template-columns:1fr 1fr; }
  .pain-grid, .services-grid, .testimonials-grid { grid-template-columns:1fr; }
  .roi-layout { grid-template-columns:1fr; }
  .form-grid { grid-template-columns:1fr; }
  .form-group.full { grid-column:1; }
  .contact-inner { grid-template-columns:1fr; padding:80px 24px; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .footer-bottom { flex-direction:column; text-align:center; }
  .section-wrap, .section-wrap-narrow { padding:80px 24px; }
  nav { padding:16px 20px; }
}

@media (max-width: 520px) {
  .footer-grid { grid-template-columns:1fr; }
  .hero-btns { flex-direction:column; align-items:center; }
  .about-stats { grid-template-columns:1fr; }
  .roi-cards-grid { grid-template-columns:1fr; }
}

/* ── INTERACTIVE BACKGROUND (canvas particle field) ──────────── */
#bg-fx {
  position: fixed; inset: 0; z-index: -2;
  width: 100%; height: 100%;
  pointer-events: none;
  opacity: .55;
}
#bg-fx-grid {
  position: fixed; inset: 0; z-index: -3;
  background-image:
    linear-gradient(rgba(143,183,232,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(143,183,232,.05) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: radial-gradient(ellipse 80% 60% at 50% 0%, #000 0%, transparent 75%);
  -webkit-mask-image: radial-gradient(ellipse 80% 60% at 50% 0%, #000 0%, transparent 75%);
}

/* ── PAGE HERO (shared header for sub-pages, reuses hero blooms) ─ */
.page-hero {
  position: relative; overflow: hidden;
  padding: 150px 0 60px;
  text-align: center;
}
.page-hero .mono-label { display:inline-block; }
.page-hero h1 {
  font-size: clamp(2.2rem, 5vw, 3.4rem);
  font-weight: 600; letter-spacing: -.02em;
  margin: 18px 0 14px;
}
.page-hero p {
  max-width: 620px; margin: 0 auto;
  color: var(--text-2); font-size: 1.02rem; line-height: 1.6;
}
.page-hero .back-link {
  display: inline-flex; align-items:center; gap:6px;
  margin-top: 28px; text-decoration:none;
  font-size: .88rem; color: var(--text-2);
  border:1px solid rgba(255,255,255,.12); border-radius:var(--r-pill);
  padding: 8px 16px; transition: border-color .2s, color .2s;
}
.page-hero .back-link:hover { color:var(--text-1); border-color:rgba(255,255,255,.3); }

/* ── PAGE TRANSITION (gradient reveal on navigation) ─────────── */
#page-transition {
  position: fixed; inset: 0; z-index: 9999;
  pointer-events: none;
  background: radial-gradient(circle at 50% 50%, rgba(143,183,232,.55), rgba(8,8,10,1) 70%);
  opacity: 0;
  transform: scale(1.15);
  transition: opacity .45s ease, transform .55s ease;
}
#page-transition.active {
  opacity: 1; transform: scale(1);
  pointer-events: all;
}
body.page-enter #page-transition {
  opacity: 1; transform: scale(1);
  animation: pageEnterFade .6s ease forwards;
}
@keyframes pageEnterFade {
  from { opacity: 1; transform: scale(1); }
  to   { opacity: 0; transform: scale(1.1); }
}

/* ── LANGUAGE SWITCHER ────────────────────────────────────────── */
.lang-switch { position: relative; }
.lang-btn {
  display:flex; align-items:center; gap:5px;
  padding: 9px 14px;
  border-radius: var(--r-pill);
  font-size: .85rem; font-weight:500;
  color: rgba(244,244,242,.8);
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.03);
  cursor: pointer;
  transition: border-color .2s;
}
.lang-btn:hover { border-color: rgba(255,255,255,.3); }
.lang-menu {
  position: absolute; top: calc(100% + 8px); right: 0;
  min-width: 140px;
  background: rgba(14,14,16,.92);
  border: 1px solid var(--glass-bd);
  border-radius: 14px;
  backdrop-filter: blur(18px);
  padding: 6px;
  display: none;
  flex-direction: column;
  gap: 2px;
}
.lang-menu.open { display: flex; }
.lang-menu button {
  all: unset;
  cursor: pointer;
  padding: 8px 12px;
  border-radius: 10px;
  font-size: .85rem;
  color: rgba(244,244,242,.75);
}
.lang-menu button:hover { background: rgba(255,255,255,.06); color: var(--text-1); }
.lang-menu button.active { color: var(--accent); }
