/* =========================================================
   TAIRO AI — styles.css
   ========================================================= */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --bg:      #030305;
  --bg2:     #07070C;
  --card:    rgba(255,255,255,.04);
  --border:  rgba(255,255,255,.07);
  --border-h:rgba(255,255,255,.16);

  --purple:  #7C3AED;
  --purple-l:#9D5FFF;
  --blue:    #3B82F6;
  --blue-l:  #60A5FA;
  --cyan:    #06B6D4;
  --pink:    #EC4899;
  --green:   #22C55E;

  --grad:    linear-gradient(135deg,#7C3AED,#3B82F6,#06B6D4);
  --grad-t:  linear-gradient(135deg,#9D5FFF 0%,#60A5FA 55%,#22D3EE 100%);
  --glow:    0 0 80px rgba(124,58,237,.3),0 0 160px rgba(59,130,246,.15);
  --glow-sm: 0 0 40px rgba(124,58,237,.2);

  --white: #FFF;
  --text:  rgba(255,255,255,.85);
  --muted: rgba(255,255,255,.45);

  --font: 'Inter', system-ui, sans-serif;
  --mono: 'Space Mono', monospace;
  --r:    14px;
  --r-lg: 22px;
}

html { font-size:16px; scroll-behavior:smooth; }
body { font-family:var(--font); background:var(--bg); color:var(--text); overflow-x:hidden; -webkit-font-smoothing:antialiased; }
::-webkit-scrollbar { width:3px; }
::-webkit-scrollbar-track { background:var(--bg); }
::-webkit-scrollbar-thumb { background:var(--purple); border-radius:2px; }

/* ── NOISE ─────────────────────────────────────────────── */
.noise-overlay {
  position:fixed; inset:0; z-index:999; pointer-events:none; opacity:.03;
  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.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ── NAV ───────────────────────────────────────────────── */
.nav { position:fixed; top:0; left:0; right:0; z-index:200; padding:0 2rem; transition:background .3s,border-color .3s; }
.nav.scrolled { background:rgba(3,3,5,.85); backdrop-filter:blur(24px); border-bottom:1px solid var(--border); }
.nav-inner { max-width:1200px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; height:70px; }
.nav-logo { text-decoration:none; display:flex; align-items:center; }
.nav-logo-img { height:46px; width:auto; object-fit:contain; filter:brightness(1.1); }
.nav-links { display:flex; align-items:center; gap:2rem; }
.nav-links a { color:var(--muted); text-decoration:none; font-size:.88rem; font-weight:500; transition:color .2s; }
.nav-links a:hover { color:var(--white); }
.nav-cta {
  display:inline-flex; align-items:center; gap:.4rem;
  background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  font-weight:700 !important; border:1px solid rgba(124,58,237,.35);
  padding:.4rem 1rem; border-radius:50px;
  transition:border-color .2s,box-shadow .2s !important;
}
.nav-cta svg { stroke:var(--purple-l); flex-shrink:0; -webkit-text-fill-color:initial; }
.nav-cta:hover { border-color:var(--purple) !important; box-shadow:var(--glow-sm) !important; }
.nav-burger { display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:4px; }
.nav-burger span { display:block; width:24px; height:2px; background:var(--white); border-radius:2px; transition:.3s; }
.nav-mobile { display:none; flex-direction:column; background:rgba(3,3,5,.97); backdrop-filter:blur(20px); border-top:1px solid var(--border); }
.nav-mobile a { color:var(--text); text-decoration:none; padding:.8rem 2rem; font-size:1rem; border-bottom:1px solid var(--border); transition:color .2s; }
.nav-mobile a:hover { color:var(--white); }
.nav-mobile.open { display:flex; }
@media(max-width:768px){ .nav-links{display:none} .nav-burger{display:flex} }

/* ── HERO ──────────────────────────────────────────────── */
.hero {
  min-height:100vh; display:flex; align-items:center; justify-content:center;
  position:relative; overflow:hidden;
  background:radial-gradient(ellipse 90% 60% at 50% -10%,rgba(124,58,237,.16) 0%,transparent 65%),
             radial-gradient(ellipse 60% 50% at 85% 80%,rgba(59,130,246,.09) 0%,transparent 60%),
             var(--bg);
}
.hero-canvas { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; z-index:0; }
.hero-grid {
  position:absolute; inset:0; z-index:0;
  background-image:
    linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 20%,transparent 75%);
}
.orb { position:absolute; border-radius:50%; filter:blur(100px); pointer-events:none; animation:orbFloat 8s ease-in-out infinite; }
.orb-purple { width:600px; height:600px; background:rgba(124,58,237,.11); top:-200px; left:-150px; }
.orb-blue { width:400px; height:400px; background:rgba(59,130,246,.07); bottom:-100px; right:-100px; animation-delay:3s; }
@keyframes orbFloat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-40px)} }

.hero-inner { position:relative; z-index:2; text-align:center; padding:8rem 2rem 5rem; max-width:920px; }

.hero-badge {
  display:inline-flex; align-items:center; gap:.6rem;
  background:rgba(124,58,237,.1); border:1px solid rgba(124,58,237,.25);
  border-radius:50px; padding:.35rem 1rem;
  font-size:.75rem; font-weight:600; letter-spacing:.06em; color:var(--purple-l);
  margin-bottom:2.5rem;
  animation:fadeDown .8s ease both;
}
.badge-pulse { width:7px; height:7px; border-radius:50%; background:var(--green); box-shadow:0 0 8px var(--green); animation:blink 2s ease-in-out infinite; }
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:.3} }
@keyframes fadeDown { from{opacity:0;transform:translateY(-16px)} to{opacity:1;transform:translateY(0)} }
@keyframes fadeUp   { from{opacity:0;transform:translateY(16px)}  to{opacity:1;transform:translateY(0)} }

/* ── SPHERE — no rotation, just glow ──────────────────── */
.hero-logo-wrap { margin-bottom:2rem; animation:sphereEntrance 1.2s .1s cubic-bezier(.22,1,.36,1) both; }
@keyframes sphereEntrance { from{opacity:0;transform:scale(.7);filter:blur(20px)} to{opacity:1;transform:scale(1);filter:blur(0)} }
.hero-sphere-img {
  width:210px; height:210px; object-fit:contain;
  filter:drop-shadow(0 0 40px rgba(124,58,237,.7)) drop-shadow(0 0 80px rgba(59,130,246,.4)) brightness(1.1);
  animation:sphereGlow 4s ease-in-out infinite alternate;
}
@keyframes sphereGlow {
  from { filter:drop-shadow(0 0 30px rgba(124,58,237,.5)) drop-shadow(0 0 60px rgba(59,130,246,.3)) brightness(1.1); }
  to   { filter:drop-shadow(0 0 60px rgba(124,58,237,.9)) drop-shadow(0 0 120px rgba(59,130,246,.6)) brightness(1.3); }
}

/* ── HERO TITLE & FLIP ────────────────────────────────── */
.hero-title {
  font-size:clamp(2.6rem,7vw,5.2rem); font-weight:900; line-height:1.12;
  letter-spacing:-.03em; margin-bottom:1.5rem;
  animation:fadeUp .9s .3s ease both;
}
.hero-line { display:block; }
/* ensure flip line has enough vertical space for the box */
.hero-line--flip { line-height:1.3; padding-bottom:.08em; overflow:visible; margin-top:.18em; }

/* FLIP BOX — like container-text-flip from 21st.dev */
.flip-container {
  display:inline-block; position:relative;
  background:linear-gradient(to bottom,rgba(55,65,81,.85),rgba(20,27,45,.9));
  box-shadow:inset 0 -2px rgba(124,58,237,.5), inset 0 0 0 1px rgba(124,58,237,.25), 0 6px 24px rgba(0,0,0,.6);
  border-radius:10px; padding:.04em .28em .06em;
  vertical-align:baseline;
}
.flip-words { display:inline; }
.flip-word {
  display:none;
  background:var(--grad-t);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.flip-word.active { display:inline; animation:flipIn .5s cubic-bezier(.22,1,.36,1) both; }
.flip-word.out    { display:inline; animation:flipOut .28s ease both; }
@keyframes flipIn  { from{opacity:0;transform:translateY(-30%) scale(.85);filter:blur(8px)} to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)} }
@keyframes flipOut { from{opacity:1;transform:translateY(0)} to{opacity:0;transform:translateY(25%)} }

.hero-sub {
  font-size:clamp(1rem,2.5vw,1.2rem); color:var(--muted); line-height:1.65;
  margin-bottom:2.5rem; animation:fadeUp .9s .45s ease both;
}
.hero-actions {
  display:flex; gap:1rem; justify-content:center; flex-wrap:wrap;
  margin-bottom:4rem; animation:fadeUp .9s .55s ease both;
}
.hero-proof {
  display:flex; align-items:center; gap:3rem; justify-content:center; flex-wrap:wrap;
  animation:fadeUp .9s .65s ease both;
}
.proof-item { text-align:center; }
.proof-num {
  display:block; font-family:var(--mono); font-size:2rem; font-weight:700; line-height:1;
  background:var(--grad-t); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  margin-bottom:.3rem;
}
.proof-label { font-size:.72rem; color:var(--muted); letter-spacing:.06em; text-transform:uppercase; line-height:1.4; }
.proof-sep { width:1px; height:44px; background:var(--border); }
.hero-scroll-hint { position:absolute; bottom:2rem; left:50%; transform:translateX(-50%); }
.scroll-bar { width:1px; height:48px; background:linear-gradient(to bottom,transparent,var(--purple)); animation:scrollPulse 2s ease-in-out infinite; }
@keyframes scrollPulse { 0%,100%{transform:scaleY(1);opacity:.5} 50%{transform:scaleY(.4);opacity:1} }

/* ── MARQUEE ────────────────────────────────────────────── */
.marquee-wrap { overflow:hidden; background:linear-gradient(135deg,rgba(124,58,237,.09),rgba(59,130,246,.09)); border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:.9rem 0; }
.marquee-inner { white-space:nowrap; }
.marquee-track {
  display:inline-flex; gap:2.5rem; align-items:center;
  font-family:var(--mono); font-size:.75rem; font-weight:700; letter-spacing:.14em; color:var(--muted);
  animation:marquee 24s linear infinite;
}
.marquee-track .sep { color:var(--purple); }
@keyframes marquee { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ── SHARED ──────────────────────────────────────────────── */
.section { padding:7rem 0; }
.section--dark { background:var(--bg2); }
.container { max-width:1200px; margin:0 auto; padding:0 2rem; }
.section-eyebrow { font-family:var(--mono); font-size:.72rem; font-weight:700; letter-spacing:.18em; color:var(--purple-l); text-transform:uppercase; margin-bottom:1.2rem; }
.section-heading { font-size:clamp(2rem,4.5vw,3.2rem); font-weight:900; line-height:1.15; letter-spacing:-.025em; margin-bottom:1rem; }
.section-sub { font-size:1rem; color:var(--muted); line-height:1.6; margin-bottom:3.5rem; max-width:600px; }
.grad-text { background:var(--grad-t); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }

/* REVEAL */
.reveal { opacity:0; transform:translateY(28px); transition:opacity .7s ease,transform .7s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }

/* ── BUTTONS ─────────────────────────────────────────────── */
.btn-primary {
  position:relative; overflow:hidden;
  display:inline-flex; align-items:center; gap:.6rem;
  background:var(--grad); color:var(--white);
  text-decoration:none; font-weight:700; font-size:.95rem;
  padding:.85rem 2rem; border-radius:50px;
  box-shadow:0 0 30px rgba(124,58,237,.35);
  transition:transform .2s,box-shadow .2s;
}
.btn-primary:hover { transform:translateY(-2px); box-shadow:var(--glow); }
.btn-shimmer {
  position:absolute; inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);
  transform:translateX(-100%); transition:transform .6s;
}
.btn-primary:hover .btn-shimmer { transform:translateX(100%); }
.btn-ghost {
  display:inline-flex; align-items:center; gap:.5rem;
  background:transparent; color:var(--text);
  text-decoration:none; font-weight:600; font-size:.95rem;
  padding:.85rem 2rem; border-radius:50px;
  border:1px solid var(--border);
  transition:border-color .2s,color .2s;
}
.btn-ghost:hover { border-color:var(--border-h); color:var(--white); }
.btn-sm { padding:.6rem 1.4rem; font-size:.88rem; }
.btn-xl { padding:1.1rem 2.5rem; font-size:1.05rem; }
.btn-full { width:100%; justify-content:center; }

/* ── SPOTLIGHT CARD (adapted from 21st.dev) ──────────────── */
.spotlight-card {
  --mx: 50%;
  --my: 50%;
  position:relative;
  overflow:hidden;
}
/* moving border glow */
.spotlight-card::before {
  content:''; position:absolute; inset:0; border-radius:inherit; z-index:1;
  background:radial-gradient(180px circle at var(--mx) var(--my), rgba(124,58,237,.5), transparent 70%);
  opacity:0; transition:opacity .35s; pointer-events:none;
  mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  mask-composite:exclude; -webkit-mask-composite:xor;
  padding:1px;
}
/* internal light cone */
.spotlight-glow {
  position:absolute; inset:0; border-radius:inherit; z-index:0; pointer-events:none;
  background:radial-gradient(220px circle at var(--mx) var(--my), rgba(124,58,237,.08), transparent 70%);
  opacity:0; transition:opacity .35s;
}
.spotlight-card:hover::before { opacity:1; }
.spotlight-card:hover .spotlight-glow { opacity:1; }
.spotlight-card > * { position:relative; z-index:2; }
.spotlight-card > .spotlight-glow { z-index:0; }

/* ── SERVICES ────────────────────────────────────────────── */
.services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.svc-card {
  background:var(--card); border:1px solid var(--border);
  border-radius:var(--r-lg); padding:2rem;
  transition:border-color .3s,box-shadow .3s,transform .3s;
}
.svc-card:hover { border-color:var(--border-h); box-shadow:var(--glow-sm); transform:translateY(-4px); }
.svc-num { font-family:var(--mono); font-size:.72rem; font-weight:700; color:var(--purple-l); letter-spacing:.1em; margin-bottom:1.2rem; }
.svc-icon { width:44px; height:44px; margin-bottom:1.2rem; }
.svc-card h3 { font-size:1.1rem; font-weight:700; margin-bottom:.6rem; }
.svc-card p { font-size:.86rem; color:var(--muted); line-height:1.65; margin-bottom:.9rem; }
.svc-benefits { list-style:none; margin-bottom:1.3rem; }
.svc-benefits li { font-size:.8rem; color:rgba(255,255,255,.6); padding:.2rem 0; }
.svc-price { font-family:var(--mono); font-size:.73rem; font-weight:700; color:var(--cyan); }
.svc-price--soon { color:var(--muted); }

.svc-card--cta {
  background:linear-gradient(135deg,rgba(124,58,237,.12),rgba(59,130,246,.08));
  border-color:rgba(124,58,237,.3); text-align:center;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
}
.svc-cta-sphere { width:70px; height:70px; object-fit:contain; margin-bottom:1.2rem; filter:brightness(1.1) drop-shadow(0 0 20px rgba(124,58,237,.6)); animation:sphereGlow 3s ease-in-out infinite alternate; }
.svc-card--cta h3 { font-size:1.15rem; font-weight:700; margin-bottom:.6rem; }
.svc-card--cta p { font-size:.86rem; color:var(--muted); line-height:1.6; margin-bottom:1.5rem; }

/* ── PROCESS ─────────────────────────────────────────────── */
.process-list { display:flex; flex-direction:column; }
.process-item { display:flex; align-items:flex-start; gap:2rem; position:relative; padding-bottom:3rem; }
.process-item:last-child { padding-bottom:0; }
.process-line { position:absolute; left:24px; top:52px; bottom:0; width:2px; background:linear-gradient(to bottom,rgba(124,58,237,.4),transparent); }
.process-step {
  width:50px; height:50px; border-radius:50%; flex-shrink:0;
  background:var(--grad); display:flex; align-items:center; justify-content:center;
  font-family:var(--mono); font-size:.78rem; font-weight:700; color:var(--white);
  box-shadow:0 0 20px rgba(124,58,237,.35);
}
.process-step--gold { background:linear-gradient(135deg,#92400E,#F59E0B); box-shadow:0 0 20px rgba(245,158,11,.35); }
.process-content h3 { font-size:1.15rem; font-weight:700; margin-bottom:.4rem; }
.process-content p { color:var(--muted); line-height:1.65; max-width:500px; font-size:.9rem; }

/* ── PORTFOLIO — FLIP CARDS ──────────────────────────────── */
.portfolio-hint { font-size:.8rem; color:var(--muted); margin-top:-.5rem; margin-bottom:2.5rem; font-family:var(--mono); letter-spacing:.05em; }
.flip-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.flip-grid > .flip-card:last-child:nth-child(3n+1) { grid-column:2; }
.flip-card { perspective:1200px; height:380px; cursor:pointer; }
.flip-card-inner { position:relative; width:100%; height:100%; transform-style:preserve-3d; transition:transform .7s cubic-bezier(0.23,1,0.32,1); }
.flip-card:hover .flip-card-inner,
.flip-card.flipped .flip-card-inner { transform:rotateY(180deg); }
.flip-front,
.flip-back { position:absolute; inset:0; border-radius:var(--r-lg); backface-visibility:hidden; overflow:hidden; }
/* Front — screenshot preview */
.flip-front {
  background:#0d0d18 center top / cover no-repeat;
  display:flex; flex-direction:column; justify-content:flex-end;
  padding:1.5rem; position:relative; overflow:hidden;
}
.flip-front::before {
  content:''; position:absolute; inset:0; pointer-events:none; z-index:1;
  background:linear-gradient(to bottom,
    rgba(0,0,0,0) 0%,
    rgba(0,0,0,0) 45%,
    rgba(0,0,0,.65) 70%,
    rgba(0,0,0,.95) 100%);
}
.flip-front-badge { position:absolute; top:1rem; right:1rem; z-index:2; }
.flip-front-icon { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; z-index:1; pointer-events:none; }
.flip-front--gradient::before { background:linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,.2) 60%, rgba(0,0,0,.85) 100%); }
.flip-badge--soon { background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.25); color:var(--white); }
.flip-front-bottom { position:relative; z-index:2; }
.flip-industry { font-family:var(--mono); font-size:.6rem; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.5); display:block; margin-bottom:.35rem; }
.flip-front-bottom h3 { font-size:1.25rem; font-weight:800; letter-spacing:-.02em; color:var(--white); }
.flip-hint { font-family:var(--mono); font-size:.55rem; color:rgba(255,255,255,.28); letter-spacing:.08em; text-transform:uppercase; margin-top:.35rem; }
/* Back */
.flip-back {
  transform:rotateY(180deg);
  background:rgba(7,7,12,.94);
  backdrop-filter:blur(28px) saturate(1.5);
  -webkit-backdrop-filter:blur(28px) saturate(1.5);
  border:1px solid rgba(124,58,237,.28);
  display:flex; flex-direction:column; align-items:flex-start; justify-content:center;
  padding:2rem; gap:.7rem;
}
.flip-badge { font-family:var(--mono); font-size:.62rem; font-weight:700; letter-spacing:.08em; padding:.28rem .7rem; border-radius:50px; flex-shrink:0; }
.flip-badge--live { background:#22C55E; color:var(--white); }
.flip-badge--demo { background:var(--purple); color:var(--white); }
.flip-back h3 { font-size:1.25rem; font-weight:800; letter-spacing:-.025em; color:var(--white); }
.flip-sub { font-family:var(--mono); font-size:.68rem; color:var(--muted); }
.flip-back p { font-size:.82rem; color:rgba(255,255,255,.62); line-height:1.65; flex:1; }
.flip-cta {
  display:inline-flex; align-items:center; gap:.45rem;
  background:var(--grad); border-radius:8px; padding:.6rem 1.25rem;
  font-weight:700; font-size:.84rem; color:var(--white); text-decoration:none;
  -webkit-background-clip:unset; -webkit-text-fill-color:var(--white); background-clip:unset;
  transition:opacity .2s, transform .2s; box-shadow:0 0 20px rgba(124,58,237,.35);
}
.flip-cta:hover { opacity:.85; transform:translateX(3px); }
.flip-cta svg { -webkit-text-fill-color:initial; }

/* ── PRICING ─────────────────────────────────────────────── */
.pricing-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem; align-items:start; max-width:780px; margin:0 auto; }
.price-card { background:var(--card); border:1px solid var(--border); border-radius:var(--r-lg); padding:2rem; position:relative; transition:border-color .3s; }
.price-card:hover { border-color:var(--border-h); }
.price-card--featured {
  border-color:rgba(124,58,237,.45);
  background:linear-gradient(145deg,rgba(124,58,237,.1),rgba(59,130,246,.05));
  box-shadow:0 0 0 1px rgba(124,58,237,.15),var(--glow-sm);
  transform:scale(1.02);
}
.price-popular {
  position:absolute; top:-13px; left:50%; transform:translateX(-50%);
  background:var(--grad); color:var(--white);
  font-family:var(--mono); font-size:.68rem; font-weight:700; letter-spacing:.06em;
  padding:.3rem 1rem; border-radius:50px; white-space:nowrap;
}
.price-plan { font-family:var(--mono); font-size:.72rem; font-weight:700; color:var(--muted); letter-spacing:.1em; margin-bottom:1rem; }
.price-amount-wrap { margin-bottom:.5rem; }
.price-currency { font-family:var(--mono); font-size:1.1rem; color:var(--muted); }
.price-num {
  font-family:var(--mono); font-size:2rem; font-weight:700;
  background:var(--grad-t); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.price-period { font-size:.88rem; color:var(--muted); }
.price-custom { font-family:var(--mono); font-size:1.7rem; font-weight:700; background:var(--grad-t); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.price-monthly-eq { font-size:.82rem; font-weight:700; color:var(--green); margin-bottom:.3rem; }
.price-billed { font-size:.78rem; color:var(--cyan); margin-bottom:.5rem; }
.price-billed strong { color:var(--white); }
.price-desc { font-size:.83rem; color:var(--muted); line-height:1.5; margin-bottom:1.5rem; }
.price-features { list-style:none; margin-bottom:2rem; display:flex; flex-direction:column; gap:.65rem; }
.price-features li { font-size:.87rem; display:flex; align-items:center; gap:.6rem; }
.check { color:var(--green); font-size:.85rem; flex-shrink:0; }
.check--gold { color:#F59E0B !important; }

/* ── CTA ──────────────────────────────────────────────────── */
.cta-section { position:relative; overflow:hidden; text-align:center; padding:8rem 0; }
.cta-orbs { position:absolute; inset:0; pointer-events:none; }
.cta-orb { position:absolute; border-radius:50%; filter:blur(100px); animation:orbFloat 7s ease-in-out infinite; }
.cta-orb-1 { width:500px; height:500px; background:rgba(124,58,237,.14); top:-150px; left:-100px; }
.cta-orb-2 { width:350px; height:350px; background:rgba(59,130,246,.09); bottom:-100px; right:-80px; animation-delay:3s; }
.cta-inner { position:relative; z-index:1; }
.cta-sphere {
  width:110px; height:110px; object-fit:contain; margin:0 auto 2rem; display:block;
  filter:drop-shadow(0 0 50px rgba(124,58,237,.8)) drop-shadow(0 0 100px rgba(59,130,246,.5)) brightness(1.1);
  animation:sphereGlow 3s ease-in-out infinite alternate;
}
.cta-title { font-size:clamp(2.2rem,5.5vw,4rem); font-weight:900; line-height:1.1; letter-spacing:-.025em; margin-bottom:1.5rem; }
.cta-sub { font-size:1.05rem; color:var(--muted); line-height:1.6; margin-bottom:2.5rem; }
.cta-note { font-size:.8rem; color:var(--muted); margin-top:1.2rem; }

/* ── FOOTER ───────────────────────────────────────────────── */
.footer { background:#000; border-top:1px solid var(--border); padding:3rem 0 2rem; }
.footer-top { display:flex; justify-content:space-between; align-items:flex-start; gap:2rem; flex-wrap:wrap; margin-bottom:2rem; }
.footer-brand { max-width:320px; }
.footer-logo { height:36px; width:auto; object-fit:contain; margin-bottom:.8rem; display:block; filter:brightness(1.1); }
.footer-brand p { font-size:.84rem; color:var(--muted); line-height:1.6; }
.footer-nav { display:flex; flex-wrap:wrap; gap:1rem 2rem; align-items:center; }
.footer-nav a { color:var(--muted); text-decoration:none; font-size:.86rem; transition:color .2s; }
.footer-nav a:hover { color:var(--white); }
.footer-bottom { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem; font-size:.76rem; color:var(--muted); border-top:1px solid var(--border); padding-top:1.5rem; }

/* ── WA BUTTON ────────────────────────────────────────────── */
.wa-fab {
  position:fixed; bottom:2rem; right:2rem; z-index:300;
  display:flex; align-items:center; gap:.6rem;
  background:#25D366; color:var(--white);
  text-decoration:none; font-weight:700; font-size:.88rem;
  padding:.75rem 1.4rem; border-radius:50px;
  box-shadow:0 4px 30px rgba(37,211,102,.35);
  transition:transform .2s,box-shadow .2s,opacity .4s;
  animation:fadeUp 1s .8s ease both;
}
.wa-fab svg { width:20px; height:20px; flex-shrink:0; }
.wa-fab:hover { transform:translateY(-3px); box-shadow:0 8px 40px rgba(37,211,102,.55); }

/* ── RESPONSIVE ──────────────────────────────────────────── */
@media(max-width:1024px){
  .services-grid { grid-template-columns:repeat(2,1fr); }
  .flip-grid { grid-template-columns:repeat(2,1fr); }
  .pricing-grid { grid-template-columns:1fr; max-width:480px; margin:0 auto; }
  .price-card--featured { transform:none; }
}
@media(max-width:768px){
  .services-grid { grid-template-columns:1fr; }
  .flip-grid { grid-template-columns:1fr; }
  .flip-card { height:320px; }
  .process-line { display:none; }
  .hero-proof { gap:1.5rem; }
  .proof-sep { display:none; }
  .footer-top { flex-direction:column; }
  .footer-bottom { flex-direction:column; text-align:center; }
  .wa-fab span { display:none; }
  .wa-fab { padding:.85rem; border-radius:50%; }
}
@media(max-width:480px){
  .section { padding:5rem 0; }
  .hero-actions { flex-direction:column; align-items:center; }
  .btn-primary,.btn-ghost { width:100%; justify-content:center; max-width:320px; }
  .hero-sphere-img { width:120px; height:120px; }
  .hero-title { font-size:clamp(2.2rem,9vw,3rem); }
}
