/* =============================================================
   Bizzeer — global styles  (v2: Bricolage + electric lime)
   ============================================================= */

:root {
  --bg:        #0a0b0a;
  --bg-2:      #101310;
  --bg-3:      #171b16;
  --ink:       #f3f5ee;
  --ink-soft:  #b3b8ac;
  --mute:      #72786c;

  --lime:      #caff47;        /* signature accent */
  --lime-deep: #aee61f;
  --teal:      #3fe0ad;        /* aurora depth */
  --violet:    #8b7bff;        /* subtle 3rd aurora note */

  --line:      rgba(243,245,238,0.10);
  --line-2:    rgba(243,245,238,0.18);

  --display: "Bricolage Grotesque", "Inter", sans-serif;
  --sans:    "Inter", system-ui, -apple-system, sans-serif;
  --mono:    "JetBrains Mono", ui-monospace, monospace;

  --ease-out:  cubic-bezier(0.16, 1, 0.3, 1);
  --ease-soft: cubic-bezier(0.25, 0.46, 0.45, 0.94);

  --gut: clamp(1.25rem, 5vw, 6rem);
  --maxw: 1280px;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; overflow-x: clip; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body {
  font-family: var(--sans);
  font-size: 16px; line-height: 1.6; color: var(--ink);
  background:
    radial-gradient(ellipse 70% 50% at 82% 0%,  rgba(202,255,71,0.10), transparent 60%),
    radial-gradient(ellipse 65% 45% at 5% 38%,  rgba(63,224,173,0.08), transparent 62%),
    radial-gradient(ellipse 75% 45% at 92% 90%, rgba(139,123,255,0.08), transparent 65%),
    var(--bg);
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
  overflow-x: clip; overscroll-behavior-y: none;
}
img, svg { display: block; max-width: 100%; }
button { font: inherit; color: inherit; cursor: pointer; border: 0; background: none; }
a { color: inherit; text-decoration: none; }
p { text-wrap: pretty; }
h1,h2,h3,h4 { line-height: 1.02; letter-spacing: -0.025em; font-weight: 700; font-family: var(--display); }
::selection { background: var(--lime); color: #0a0b0a; }
:focus-visible { outline: 2px solid var(--lime); outline-offset: 3px; border-radius: 4px; }

.skip-link { position: fixed; top:-100px; left:1rem; padding:.6rem 1rem; background:var(--lime); color:#0a0b0a; z-index:9999; border-radius:8px; font-weight:600; }
.skip-link:focus { top:1rem; }
.wrap { max-width: var(--maxw); margin-inline: auto; padding-inline: var(--gut); }

.bg-grain {
  position: fixed; inset:0; z-index:-1; pointer-events:none; opacity:.045; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* aurora — signature animated backdrop */
.aurora { position:absolute; inset:0; z-index:-1; overflow:hidden; pointer-events:none; }
.aurora::before, .aurora::after {
  content:""; position:absolute; border-radius:50%; filter:blur(90px); opacity:.55;
  will-change: transform;
}
.aurora::before { width:60vw; height:60vw; left:-10vw; top:-20vw; background:radial-gradient(circle, rgba(202,255,71,.5), transparent 62%); animation:drift1 26s var(--ease-soft) infinite; }
.aurora::after  { width:55vw; height:55vw; right:-12vw; top:-6vw; background:radial-gradient(circle, rgba(63,224,173,.42), transparent 62%); animation:drift2 32s var(--ease-soft) infinite; }
@keyframes drift1 { 0%,100%{transform:translate(0,0) scale(1);} 50%{transform:translate(14vw,10vw) scale(1.18);} }
@keyframes drift2 { 0%,100%{transform:translate(0,0) scale(1.05);} 50%{transform:translate(-12vw,8vw) scale(.9);} }
@media (prefers-reduced-motion: reduce){ .aurora::before,.aurora::after{ animation:none; } }

/* Splash */
.splash { position:fixed; inset:0; z-index:1000; display:grid; place-items:center; background:var(--bg); animation:splashOut .7s var(--ease-out) 1.3s forwards; }
.splash img { width:clamp(120px,26vw,200px); height:auto; opacity:0; animation:splashMark 1.1s var(--ease-out) forwards; }
@keyframes splashMark { 0%{opacity:0;transform:translateY(8px);} 60%{opacity:1;} 100%{opacity:1;transform:translateY(0);} }
@keyframes splashOut { to{opacity:0;visibility:hidden;} }

/* Nav */
.nav { position:fixed; top:clamp(.5rem,1.4vw,1rem); left:clamp(.6rem,3vw,2.4rem); right:clamp(.6rem,3vw,2.4rem); z-index:100; display:flex; align-items:center; justify-content:space-between;
  padding:.72rem clamp(1rem,2.2vw,1.6rem); border-radius:20px;
  background:linear-gradient(180deg, rgba(255,255,255,.085), rgba(255,255,255,.025));
  -webkit-backdrop-filter:blur(18px) saturate(185%); backdrop-filter:blur(18px) saturate(185%);
  border:1px solid rgba(255,255,255,.13);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.32), inset 0 -1px 0 rgba(0,0,0,.22), 0 10px 30px -12px rgba(0,0,0,.55);
  transition:padding .4s var(--ease-out), background .4s, box-shadow .4s, top .4s, border-radius .4s; }
.nav.is-solid { top:clamp(.4rem,1vw,.7rem); padding:.6rem clamp(1rem,2.2vw,1.6rem); border-radius:16px;
  background:linear-gradient(180deg, rgba(28,32,26,.55), rgba(12,14,12,.42));
  -webkit-backdrop-filter:blur(24px) saturate(185%); backdrop-filter:blur(24px) saturate(185%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.24), inset 0 -1px 0 rgba(0,0,0,.3), 0 16px 44px -16px rgba(0,0,0,.62); }
.nav-logo { display:flex; align-items:center; }
.logo-lockup { height:22px; width:auto; }
.nav.is-solid .logo-lockup { height:20px; }
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  .nav { background:rgba(14,16,14,.92); }
  .nav.is-solid { background:rgba(14,16,14,.95); }
}
.nav-links { display:flex; align-items:center; gap:clamp(.9rem,2.4vw,2.1rem); }
.nav-links a { font-size:.84rem; letter-spacing:.01em; color:var(--ink-soft); transition:color .3s; }
.nav-links a:not(.nav-cta):hover { color:var(--ink); }
.nav-cta { padding:.55rem 1.05rem; border-radius:100px; color:#0a0b0a !important; background:var(--lime); font-weight:600;
  transition:transform .3s var(--ease-out), box-shadow .3s !important; }
.nav-cta:hover { box-shadow:0 8px 28px -8px rgba(202,255,71,.6); transform:translateY(-1px); }
@media (max-width:760px){ .nav-links a:not(.nav-cta){ display:none; } }

/* Buttons */
.btn { display:inline-flex; align-items:center; gap:.55rem; padding:.95rem 1.6rem; border-radius:100px; font-size:.92rem; font-weight:600; letter-spacing:.01em;
  transition:transform .4s var(--ease-out), background .35s, color .35s, box-shadow .4s, border-color .35s; will-change:transform; }
.btn-primary { background:var(--lime); color:#0a0b0a; }
.btn-primary:hover { box-shadow:0 18px 44px -12px rgba(202,255,71,.6); }
.btn-ghost { color:var(--ink); border:1px solid var(--line-2); }
.btn-ghost:hover { border-color:var(--lime); color:var(--lime); }
.btn .arrow { transition:transform .35s var(--ease-out); }
.btn:hover .arrow { transform:translateX(4px); }

/* Section atoms */
.eyebrow { font-family:var(--mono); font-size:.74rem; letter-spacing:.18em; text-transform:uppercase; color:var(--lime); margin-bottom:1rem; }
.section-title { font-family:var(--display); font-weight:700; letter-spacing:-0.03em; font-size:clamp(2rem,5vw,3.6rem); line-height:1.02; }
.lead { color:var(--ink-soft); font-size:clamp(1.05rem,1.6vw,1.25rem); line-height:1.6; }
section { position:relative; }

/* Hero */
.hero { min-height:94vh; min-height:94svh; display:flex; flex-direction:column; justify-content:center; padding:9rem 0 4rem; overflow:hidden; }
.hero .wrap { width:100%; }
.hero-kicker { font-family:var(--mono); font-size:.78rem; letter-spacing:.16em; text-transform:uppercase; color:var(--lime); margin-bottom:1.6rem; }
.hero-title { font-family:var(--display); font-weight:700; font-size:clamp(2.7rem,7.6vw,6.6rem); line-height:0.96; letter-spacing:-0.035em; max-width:17ch; }
.hero-title em { font-style:normal; color:var(--lime); }
.hero-sub { margin-top:1.9rem; max-width:50ch; }
.hero-actions { margin-top:2.5rem; display:flex; gap:1rem; flex-wrap:wrap; }
.hero-tag { display:inline-flex; align-items:center; gap:.5rem; margin-bottom:1.4rem; font-family:var(--mono); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-soft); padding:.4rem .85rem; border:1px solid var(--line-2); border-radius:100px; }
.hero-tag .dot { width:6px; height:6px; border-radius:50%; background:var(--lime); box-shadow:0 0 10px var(--lime); }

/* Marquee */
.marquee { border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:1.1rem 0; overflow:hidden; --gap:3rem;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); }
.marquee-track { display:flex; width:max-content; animation:scrollx 40s linear infinite; }
.marquee:hover .marquee-track { animation-play-state:paused; }
.marquee-item { display:inline-flex; align-items:center; gap:var(--gap); padding-right:var(--gap); font-family:var(--display); font-weight:600; font-size:clamp(1rem,1.7vw,1.35rem); color:var(--ink-soft); letter-spacing:-0.01em; white-space:nowrap; }
.marquee-item .sep { color:var(--lime); }
@keyframes scrollx { from { transform:translateX(0); } to { transform:translateX(-50%); } }
@media (prefers-reduced-motion: reduce){ .marquee-track{ animation:none; } }

/* Proof / credibility band */
.proofbar { padding:clamp(2.2rem,4vw,3.2rem) 0; border-bottom:1px solid var(--line); }
.proofbar-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:2rem 1.5rem; }
@media (min-width:780px){ .proofbar-grid{ grid-template-columns:repeat(4,1fr); gap:2.5rem; } }
.pb { position:relative; }
@media (min-width:780px){ .pb:not(:first-child){ padding-left:2.5rem; } .pb:not(:first-child)::before{ content:""; position:absolute; left:0; top:6px; bottom:6px; width:1px; background:var(--line); } }
.pb-num { font-family:var(--display); font-weight:700; font-size:clamp(2.1rem,4.4vw,3.1rem); line-height:1; letter-spacing:-0.04em; color:var(--lime); }
.pb-num span { color:var(--ink); }
.pb-label { margin-top:.6rem; color:var(--ink-soft); font-size:.92rem; line-height:1.4; max-width:22ch; }

/* Statement */
.statement { padding:clamp(4rem,9vw,7rem) 0; }
.statement-text { font-family:var(--display); font-weight:600; font-size:clamp(1.5rem,3.5vw,2.8rem); line-height:1.22; letter-spacing:-0.025em; color:var(--ink-soft); max-width:24ch + 40ch; }
.statement-text em { font-style:normal; color:var(--ink); }
.statement-text .hl { color:var(--lime); }

/* Stats */
.stats { padding:clamp(2.5rem,5vw,4rem) 0; }
.stats-grid { display:grid; grid-template-columns:1fr; gap:2.4rem; border-top:1px solid var(--line); padding-top:clamp(2.8rem,5vw,4rem); }
.stat-num { font-family:var(--display); font-weight:700; font-size:clamp(2.8rem,7vw,5rem); line-height:1; letter-spacing:-0.04em; color:var(--lime); }
.stat-num .suffix { color:var(--ink); }
.stat-label { margin-top:.9rem; max-width:30ch; color:var(--ink-soft); font-size:1rem; line-height:1.5; }
@media (min-width:880px){ .stats-grid{ grid-template-columns:repeat(3,1fr); gap:3rem; } }

/* Stack */
.stack { padding:clamp(4rem,9vw,8rem) 0; }
.stack-head { margin-bottom:clamp(2.4rem,5vw,3.6rem); }
.stack-list { display:grid; gap:0; }
.stack-row { display:grid; grid-template-columns:3.2rem 1fr auto; align-items:center; gap:1.2rem 2rem; padding:clamp(1.8rem,3.4vw,2.8rem) 0; border-top:1px solid var(--line); position:relative; transition:padding-left .5s var(--ease-out); }
.stack-row:last-child { border-bottom:1px solid var(--line); }
.stack-row::before { content:""; position:absolute; left:0; top:0; bottom:0; width:2px; background:var(--lime); transform:scaleY(0); transform-origin:top; transition:transform .5s var(--ease-out); }
.stack-layer { font-family:var(--mono); font-size:.8rem; color:var(--mute); letter-spacing:.1em; }
.stack-main { min-width:0; }
.stack-name { font-family:var(--display); font-weight:700; font-size:clamp(1.7rem,3.8vw,2.9rem); letter-spacing:-0.03em; transition:color .4s; }
.stack-tag { font-family:var(--mono); font-size:.74rem; letter-spacing:.08em; text-transform:uppercase; color:var(--lime); margin-top:.5rem; }
.stack-desc { margin-top:.9rem; max-width:60ch; color:var(--ink-soft); font-size:1.02rem; line-height:1.55; }
.stack-go { display:inline-flex; align-items:center; gap:.5rem; white-space:nowrap; font-size:.86rem; font-weight:600; color:var(--ink-soft); transition:color .35s; }
.stack-go .arrow { transition:transform .35s var(--ease-out); }
@media (hover:hover) and (pointer:fine){
  .stack-row:hover { padding-left:1.8rem; }
  .stack-row:hover::before { transform:scaleY(1); }
  .stack-row:hover .stack-name { color:var(--lime); }
  .stack-row:hover .stack-go { color:var(--lime); }
  .stack-row:hover .stack-go .arrow { transform:translateX(4px); }
}
@media (max-width:760px){ .stack-row{ grid-template-columns:1fr; gap:.4rem; } .stack-go{ margin-top:1rem; } }

/* Approach cards */
.approach { padding:clamp(4rem,9vw,8rem) 0; }
.approach-grid { display:grid; grid-template-columns:1fr; gap:1.4rem; margin-top:clamp(2.2rem,4vw,3.4rem); }
.card { padding:clamp(1.7rem,3vw,2.4rem); border:1px solid var(--line); border-radius:18px; background:color-mix(in srgb, var(--bg-3) 55%, transparent); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); transition:transform .5s var(--ease-out), border-color .4s; }
.card:hover { transform:translateY(-6px); border-color:color-mix(in srgb, var(--lime) 45%, transparent); }
.card-num { font-family:var(--display); font-weight:700; font-size:2.1rem; color:var(--lime); line-height:1; margin-bottom:1.1rem; letter-spacing:-0.04em; }
.card h3 { font-family:var(--display); font-weight:700; font-size:1.4rem; letter-spacing:-0.02em; margin-bottom:.7rem; }
.card p { color:var(--ink-soft); font-size:.98rem; line-height:1.6; }
@media (min-width:880px){ .approach-grid.cols-3{ grid-template-columns:repeat(3,1fr); } .approach-grid.cols-4{ grid-template-columns:repeat(4,1fr); } }

/* Split */
.split { padding:clamp(3.5rem,8vw,7rem) 0; }
.split-grid { display:grid; grid-template-columns:1fr; gap:clamp(2rem,4vw,4rem); align-items:start; }
@media (min-width:920px){ .split-grid{ grid-template-columns:1fr 1fr; align-items:center; } .split-grid.narrow-left{ grid-template-columns:.85fr 1fr; } }
.split h2 { font-family:var(--display); font-weight:700; font-size:clamp(1.8rem,4vw,3rem); letter-spacing:-0.03em; line-height:1.06; }
.split p { color:var(--ink-soft); font-size:1.05rem; line-height:1.62; margin-top:1.2rem; }
.split p + p { margin-top:1rem; }
.checklist { list-style:none; display:grid; gap:1rem; }
.checklist li { display:grid; grid-template-columns:22px 1fr; gap:.9rem; align-items:start; color:var(--ink-soft); font-size:1.02rem; line-height:1.5; }
.checklist .ico { width:22px; height:22px; border-radius:50%; background:color-mix(in srgb, var(--lime) 22%, transparent); display:grid; place-items:center; margin-top:2px; }
.checklist .ico svg { width:12px; height:12px; }
.checklist strong { color:var(--ink); font-weight:600; }
.metrics { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:1.8rem; }
.metric-chip { font-family:var(--mono); font-size:.78rem; letter-spacing:.04em; color:var(--ink-soft); border:1px solid var(--line-2); border-radius:100px; padding:.5rem .95rem; }
.metric-chip b { color:var(--lime); font-weight:600; }

/* FAQ */
.faq { padding:clamp(4rem,8vw,7rem) 0; }
.faq-list { margin-top:clamp(2rem,4vw,3rem); border-top:1px solid var(--line); }
.faq-item { border-bottom:1px solid var(--line); }
.faq-q { width:100%; text-align:left; display:flex; justify-content:space-between; align-items:center; gap:1.5rem; padding:1.5rem 0; font-size:1.12rem; font-weight:600; color:var(--ink); font-family:var(--display); letter-spacing:-0.02em; }
.faq-q .pm { position:relative; width:18px; height:18px; flex:none; }
.faq-q .pm::before,.faq-q .pm::after { content:""; position:absolute; background:var(--lime); transition:transform .35s var(--ease-out); }
.faq-q .pm::before { top:8px; left:0; width:18px; height:2px; }
.faq-q .pm::after { left:8px; top:0; width:2px; height:18px; }
.faq-item.open .pm::after { transform:scaleY(0); }
.faq-a { max-height:0; overflow:hidden; transition:max-height .45s var(--ease-out); }
.faq-a-inner { padding:0 0 1.5rem; color:var(--ink-soft); font-size:1.02rem; line-height:1.65; max-width:70ch; }

/* CTA / Contact + form */
.contact { padding:clamp(5rem,11vw,9rem) 0; overflow:hidden; }
.contact-grid { display:grid; grid-template-columns:1fr; gap:clamp(2.5rem,5vw,4.5rem); align-items:start; }
@media (min-width:960px){ .contact-grid{ grid-template-columns:1fr 1fr; align-items:center; } }
.contact-copy .cta-title { font-family:var(--display); font-weight:700; font-size:clamp(2.1rem,5.2vw,4rem); line-height:1.0; letter-spacing:-0.035em; margin-bottom:1.4rem; }
.contact-copy .cta-title em { font-style:normal; color:var(--lime); }
.contact-copy .lead { max-width:42ch; }
.contact-trust { margin-top:2rem; display:grid; gap:.8rem; }
.contact-trust div { display:grid; grid-template-columns:20px 1fr; gap:.7rem; align-items:start; color:var(--ink-soft); font-size:.98rem; }
.contact-trust .ico { width:20px; height:20px; border-radius:50%; background:color-mix(in srgb,var(--lime) 22%,transparent); display:grid; place-items:center; margin-top:2px; }
.contact-trust .ico svg { width:11px; height:11px; }

.form-card { border:1px solid var(--line-2); border-radius:22px; padding:clamp(1.6rem,3vw,2.4rem); background:color-mix(in srgb, var(--bg-2) 70%, transparent); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); position:relative; }
.field { margin-bottom:1.1rem; }
.field label { display:block; font-family:var(--mono); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--mute); margin-bottom:.5rem; }
.field input, .field select, .field textarea {
  width:100%; padding:.85rem 1rem; border-radius:12px; border:1px solid var(--line-2); background:rgba(0,0,0,.25); color:var(--ink); font:inherit; font-size:.98rem;
  transition:border-color .3s, box-shadow .3s, background .3s;
}
.field textarea { resize:vertical; min-height:96px; }
.field input::placeholder, .field textarea::placeholder { color:var(--mute); }
.field input:focus, .field select:focus, .field textarea:focus { outline:none; border-color:var(--lime); box-shadow:0 0 0 3px rgba(202,255,71,.16); background:rgba(0,0,0,.35); }
.field select { appearance:none; -webkit-appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23caff47' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 1rem center; padding-right:2.4rem; }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
@media (max-width:520px){ .field-row{ grid-template-columns:1fr; } }
.form-card .btn-primary { width:100%; justify-content:center; margin-top:.4rem; }
.form-note { margin-top:1rem; font-size:.82rem; color:var(--mute); text-align:center; }
.hp { position:absolute; left:-9999px; opacity:0; height:0; width:0; overflow:hidden; }
.form-success { display:none; text-align:center; padding:2rem 1rem; }
.form-card.sent .form-body { display:none; }
.form-card.sent .form-success { display:block; }
.form-success .badge { width:56px; height:56px; border-radius:50%; background:var(--lime); display:grid; place-items:center; margin:0 auto 1.2rem; }
.form-success .badge svg { width:26px; height:26px; }
.form-success h3 { font-family:var(--display); font-weight:700; font-size:1.5rem; margin-bottom:.5rem; letter-spacing:-0.02em; }
.form-success p { color:var(--ink-soft); }

/* Footer */
.footer { border-top:1px solid var(--line); padding:clamp(3rem,6vw,4.5rem) 0 2.5rem; }
.footer-top { display:grid; grid-template-columns:1fr; gap:2.4rem; padding-bottom:2.5rem; border-bottom:1px solid var(--line); }
.footer-brand .logo-lockup { height:22px; margin-bottom:1rem; }
.footer-brand p { color:var(--ink-soft); font-size:.96rem; max-width:34ch; line-height:1.55; }
.footer-cols { display:grid; grid-template-columns:1fr 1fr; gap:2rem; }
.footer-col h4 { font-family:var(--mono); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--mute); margin-bottom:1rem; font-weight:400; }
.footer-col a { display:block; color:var(--ink-soft); font-size:.95rem; padding:.3rem 0; transition:color .3s; }
.footer-col a:hover { color:var(--lime); }
.footer-bottom { display:flex; justify-content:space-between; flex-wrap:wrap; gap:1rem; padding-top:1.8rem; }
.footer-bottom span { font-family:var(--mono); font-size:.74rem; letter-spacing:.05em; color:var(--mute); text-transform:uppercase; }
@media (min-width:880px){ .footer-top{ grid-template-columns:1.4fr 1fr; } .footer-cols{ grid-template-columns:repeat(3,1fr); } }

/* Reveal */
.reveal { opacity:0; transform:translateY(24px); transition:opacity .9s var(--ease-out), transform .9s var(--ease-out); }
.reveal.is-in { opacity:1; transform:translateY(0); }
.reveal[data-split], .reveal[data-split].is-in { opacity:1; }
.word { display:inline-block; overflow:hidden; vertical-align:top; }
.word > span { display:inline-block; transform:translateY(108%); transition:transform .85s var(--ease-out); }
.is-in .word > span { transform:translateY(0); }
@media (prefers-reduced-motion: reduce){ .splash{ animation-delay:0s; } }

/* =============================================================
   WOW LAYER (light touch) — cursor light, tilt, checker, transitions
   ============================================================= */

/* Custom cursor light (desktop, fine pointer only) */
.cursor-glow { position:fixed; top:0; left:0; width:380px; height:380px; border-radius:50%; pointer-events:none; z-index:60; transform:translate(-50%,-50%); opacity:0;
  background:radial-gradient(circle, rgba(202,255,71,.10), transparent 62%); transition:opacity .4s var(--ease-out); mix-blend-mode:screen; }
.cursor-glow.on { opacity:1; }
@media (hover:none),(pointer:coarse){ .cursor-glow{ display:none; } }
@media (prefers-reduced-motion: reduce){ .cursor-glow{ display:none; } }

/* Tilt + cursor sheen on approach cards */
.card { transform-style:preserve-3d; }
.card .sheen { position:absolute; inset:0; border-radius:inherit; pointer-events:none; opacity:0; transition:opacity .4s var(--ease-out);
  background:radial-gradient(420px circle at var(--sx,50%) var(--sy,50%), rgba(202,255,71,.10), transparent 60%); }
@media (hover:hover) and (pointer:fine){ .card:hover .sheen{ opacity:1; } }

/* ===== AI visibility checker (signature interactive) ===== */
.checker { padding:clamp(4rem,9vw,7.5rem) 0; }
.checker-head { max-width:60ch; margin-bottom:clamp(2rem,4vw,3rem); }
.checker-stage { border:1px solid var(--line-2); border-radius:24px; overflow:hidden; background:color-mix(in srgb,var(--bg-2) 72%,transparent); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); }
.checker-bar { display:flex; align-items:center; gap:.6rem; padding:.85rem 1.1rem; border-bottom:1px solid var(--line); }
.checker-dots { display:flex; gap:.4rem; }
.checker-dots i { width:10px; height:10px; border-radius:50%; background:var(--line-2); }
.checker-bar .lbl { font-family:var(--mono); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--mute); margin-left:.4rem; }
.checker-body { display:grid; grid-template-columns:1fr; }
@media (min-width:860px){ .checker-body{ grid-template-columns:1fr 1fr; } }
.checker-input-side { padding:clamp(1.6rem,3vw,2.6rem); border-bottom:1px solid var(--line); }
@media (min-width:860px){ .checker-input-side{ border-bottom:none; border-right:1px solid var(--line); } }
.checker-input-side label { display:block; font-family:var(--mono); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--mute); margin-bottom:.7rem; }
.checker-row { display:flex; gap:.6rem; }
.checker-row input { flex:1; min-width:0; padding:.9rem 1rem; border-radius:12px; border:1px solid var(--line-2); background:rgba(0,0,0,.28); color:var(--ink); font:inherit; transition:border-color .3s, box-shadow .3s; }
.checker-row input:focus { outline:none; border-color:var(--lime); box-shadow:0 0 0 3px rgba(202,255,71,.16); }
.checker-row input::placeholder { color:var(--mute); }
.checker-btn { flex:none; padding:.9rem 1.2rem; border-radius:12px; background:var(--lime); color:#0a0b0a; font-weight:600; transition:box-shadow .3s, transform .3s; }
.checker-btn:hover { box-shadow:0 10px 28px -10px rgba(202,255,71,.6); }
.checker-btn:disabled { opacity:.55; cursor:default; }
.checker-hint { margin-top:1.1rem; font-size:.86rem; color:var(--mute); }
.checker-prompt { margin-top:1.4rem; padding:.9rem 1rem; border:1px dashed var(--line-2); border-radius:12px; font-size:.92rem; color:var(--ink-soft); }
.checker-prompt b { color:var(--ink); font-weight:600; }

.checker-output { padding:clamp(1.6rem,3vw,2.6rem); min-height:300px; position:relative; }
.answer-head { display:flex; align-items:center; gap:.6rem; font-family:var(--mono); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--mute); margin-bottom:1.2rem; }
.answer-head .spark { width:16px; height:16px; }
.answer-line { height:12px; border-radius:6px; background:linear-gradient(90deg, rgba(243,245,238,.14), rgba(243,245,238,.05)); margin-bottom:.8rem; opacity:0; transform:translateY(6px); }
.answer-line.w1{width:96%;} .answer-line.w2{width:88%;} .answer-line.w3{width:70%;}
.checker-output.thinking .answer-line { animation:lineIn .5s var(--ease-out) forwards, pulse 1.3s ease-in-out infinite; }
.checker-output.thinking .answer-line:nth-child(2){animation-delay:.0s,.0s;}
.checker-output.thinking .answer-line:nth-child(3){animation-delay:.12s,.1s;}
.checker-output.thinking .answer-line:nth-child(4){animation-delay:.24s,.2s;}
@keyframes lineIn { to{opacity:1; transform:translateY(0);} }
@keyframes pulse { 0%,100%{opacity:.5;} 50%{opacity:1;} }

.answer-card { opacity:0; transform:translateY(10px); transition:opacity .6s var(--ease-out), transform .6s var(--ease-out); }
.checker-output.result .answer-card { opacity:1; transform:translateY(0); }
.vendor { display:flex; align-items:center; gap:.8rem; padding:.85rem 0; border-bottom:1px solid var(--line); }
.vendor:last-child { border-bottom:none; }
.vendor .rank { font-family:var(--mono); font-size:.8rem; color:var(--mute); width:1.6rem; }
.vendor .nm { font-weight:600; color:var(--ink); }
.vendor .pill { margin-left:auto; font-family:var(--mono); font-size:.66rem; letter-spacing:.08em; text-transform:uppercase; padding:.25rem .6rem; border-radius:100px; border:1px solid var(--line-2); color:var(--mute); }
.vendor.cited .pill { color:var(--lime); border-color:color-mix(in srgb,var(--lime) 45%,transparent); }
.vendor.you { background:linear-gradient(90deg, rgba(255,90,90,.08), transparent); border-radius:10px; padding-inline:.7rem; }
.vendor.you .nm { color:#ff8a8a; }
.vendor.you .pill { color:#ff8a8a; border-color:rgba(255,138,138,.5); }
.answer-verdict { margin-top:1.4rem; padding-top:1.2rem; border-top:1px solid var(--line); }
.answer-verdict p { color:var(--ink-soft); font-size:.98rem; line-height:1.55; }
.answer-verdict p b { color:var(--ink); }
.answer-verdict .vlime { color:var(--lime); }
.answer-cta { display:inline-flex; align-items:center; gap:.5rem; margin-top:1.2rem; font-weight:600; color:var(--lime); }
.answer-cta .arrow { transition:transform .35s var(--ease-out); }
.answer-cta:hover .arrow { transform:translateX(4px); }
.checker-empty { color:var(--mute); font-size:.95rem; line-height:1.6; max-width:32ch; }
.checker-output .state-thinking, .checker-output .state-result { display:none; }
.checker-output.thinking .state-thinking { display:block; }
.checker-output.result .state-result { display:block; }
.checker-output.thinking .state-empty, .checker-output.result .state-empty { display:none; }

/* ===== Mobile menu (liquid glass panel) ===== */
.nav-burger { display:none; flex-direction:column; justify-content:center; gap:5px; padding:.55rem .35rem; margin-left:.2rem; }
.nav-burger span { display:block; width:20px; height:2px; border-radius:2px; background:var(--ink); transition:transform .35s var(--ease-out), opacity .3s; }
.nav-menu { display:none; }
@media (max-width:760px) {
  .nav-burger { display:flex; }
  .nav.menu-open .nav-burger span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
  .nav.menu-open .nav-burger span:nth-child(2) { opacity:0; }
  .nav.menu-open .nav-burger span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
  .nav-menu { display:block; position:absolute; top:calc(100% + .55rem); left:0; right:0; padding:.55rem; border-radius:18px;
    background:linear-gradient(180deg, rgba(24,28,22,.92), rgba(10,12,10,.88));
    -webkit-backdrop-filter:blur(28px) saturate(170%); backdrop-filter:blur(28px) saturate(170%);
    border:1px solid rgba(255,255,255,.13);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 18px 50px -18px rgba(0,0,0,.7);
    opacity:0; transform:translateY(-8px); pointer-events:none; transition:opacity .35s var(--ease-out), transform .35s var(--ease-out); }
  .nav.menu-open .nav-menu { opacity:1; transform:translateY(0); pointer-events:auto; }
  .nav-menu a { display:block; padding:.95rem 1.05rem; border-radius:12px; font-size:1rem; font-weight:600; color:var(--ink); font-family:var(--display); letter-spacing:-0.01em; }
  .nav-menu a:active, .nav-menu a:hover { background:rgba(255,255,255,.07); color:var(--lime); }
  @supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
    .nav-menu { background:rgba(14,16,14,.97); }
  }
}

/* checker live: error state + positive outcome */
.checker-output .state-error { display:none; }
.checker-output.error .state-error { display:block; }
.checker-output.error .state-empty, .checker-output.error .state-thinking, .checker-output.error .state-result { display:none; }
.vendor.you-found { background:linear-gradient(90deg, rgba(202,255,71,.10), transparent); border-radius:10px; padding-inline:.7rem; }
.vendor.you-found .nm { color:var(--lime); }
.vendor.you-found .pill { color:var(--lime); border-color:color-mix(in srgb,var(--lime) 50%,transparent); }
.vendor .why { font-size:.78rem; color:var(--mute); margin-left:.6rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:34%; }
@media (max-width:560px){ .vendor .why{ display:none; } }
