/* ================================================================
   VECTRAPY | SHARED DESIGN SYSTEM
   style.css
   ================================================================ */

:root {
  --bg:       #0A0A0A;
  --bg2:      #0D0D0D;
  --bg3:      #111115;
  --bg-glass: rgba(255,255,255,0.03);
  --accent:   #00E5FF;
  --a2:       rgba(0,229,255,0.15);
  --a3:       rgba(0,229,255,0.07);
  --glow:     rgba(0,229,255,0.4);
  --glow2:    rgba(0,229,255,0.12);
  --white:    #FFFFFF;
  --silver:   #B8C4D4;
  --dim:      #4A5568;
  --dim2:     #2D3748;
  --border:   rgba(255,255,255,0.06);
  --border2:  rgba(0,229,255,0.2);

  --f-brand:  'Orbitron', sans-serif;
  --f-body:   'Inter', sans-serif;
  --f-ui:     'Space Grotesk', sans-serif;

  --ease:     cubic-bezier(0.23,1,0.32,1);
  --nav-h:    72px;
}

/* ─── RESET ─── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; }
body {
  background:var(--bg);
  color:var(--silver);
  font-family:var(--f-body);
  line-height:1.65;
  overflow-x:hidden;
  cursor:none;
}
a { text-decoration:none; color:inherit; }
img,svg { display:block; max-width:100%; }
ul { list-style:none; }
button { border:none; background:none; cursor:none; }

/* ─── LOADER ─── */
#loader {
  position:fixed;
  inset:0;
  z-index:99999;
  background:var(--bg);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  transition:opacity .8s var(--ease), visibility .8s;
}
#loader.done { opacity:0; visibility:hidden; }
#loader-canvas { width:260px; height:180px; }
.loader-label {
  font-family:var(--f-brand);
  font-size:.65rem;
  letter-spacing:.5em;
  color:var(--accent);
  margin-top:1.5rem;
  animation:loaderPulse 1.2s infinite alternate;
}
@keyframes loaderPulse { from{opacity:.3} to{opacity:1} }

/* ─── CURSOR ─── */
#cur-dot, #cur-ring {
  position:fixed;
  border-radius:50%;
  pointer-events:none;
  z-index:9999;
  transform:translate(-50%,-50%);
  will-change:transform;
}
#cur-dot {
  width:5px; height:5px;
  background:var(--accent);
  box-shadow:0 0 10px var(--accent);
}
#cur-ring {
  width:32px; height:32px;
  border:1.5px solid rgba(0,229,255,.6);
  transition:width .25s var(--ease),height .25s var(--ease),border-color .3s,background .3s;
}
body.h #cur-ring {
  width:52px; height:52px;
  background:rgba(0,229,255,.06);
  border-color:var(--accent);
}

/* ─── WATERMARK ─── */
.watermark {
  position:fixed;
  right:-96px; top:50%;
  transform:translateY(-50%) rotate(90deg);
  font-family:var(--f-brand);
  font-size:.55rem;
  letter-spacing:.45em;
  color:rgba(0,229,255,.055);
  z-index:5;
  white-space:nowrap;
  pointer-events:none;
  user-select:none;
}

/* ─── NAVBAR ─── */
.nav {
  position:fixed;
  top:0; left:0; width:100%;
  height:var(--nav-h);
  z-index:1000;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 5%;
  background:rgba(10,10,10,.75);
  backdrop-filter:blur(20px) saturate(150%);
  border-bottom:1px solid var(--border);
  transition:background .4s, box-shadow .4s;
}
.nav.scrolled { background:rgba(8,8,8,.96); box-shadow:0 4px 40px rgba(0,0,0,.8); }
.nav-logo {
  display:flex; align-items:center; gap:10px;
  font-family:var(--f-brand);
  font-weight:700;
  font-size:1rem;
  letter-spacing:.12em;
  color:var(--white);
}
.logo-v {
  width:30px; height:30px;
  background:linear-gradient(135deg,#1a6fff,#00e5ff);
  clip-path:polygon(50% 100%,0 0,20% 0,50% 62%,80% 0,100% 0);
  filter:drop-shadow(0 0 8px rgba(0,229,255,.6));
  flex-shrink:0;
}
.nav-logo span { color:var(--accent); }

.nav-links {
  display:flex; align-items:center; gap:1.8rem;
}
.nav-links a {
  font-family:var(--f-ui);
  font-size:.78rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--dim);
  position:relative;
  transition:color .3s;
}
.nav-links a::after {
  content:'';
  position:absolute;
  bottom:-4px; left:0;
  width:0; height:1px;
  background:var(--accent);
  transition:width .3s var(--ease);
}
.nav-links a:hover,
.nav-links a.active { color:var(--white); }
.nav-links a:hover::after,
.nav-links a.active::after { width:100%; }

.nav-cta {
  padding:.55rem 1.4rem;
  border:1px solid var(--accent);
  color:var(--accent) !important;
  font-family:var(--f-ui);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  transition:background .3s, box-shadow .3s, color .3s !important;
}
.nav-cta::after { display:none !important; }
.nav-cta:hover {
  background:var(--accent) !important;
  color:var(--bg) !important;
  box-shadow:0 0 24px var(--glow);
}
.nav-cta.active::after { display:none !important; }

.burger {
  display:none;
  flex-direction:column;
  gap:5px;
  background:none; border:none; padding:4px;
}
.burger span {
  width:24px; height:1.5px;
  background:var(--silver);
  transition:.3s;
}
.burger.open span:nth-child(1) { transform:translateY(6.5px) rotate(45deg); }
.burger.open span:nth-child(2) { opacity:0; }
.burger.open span:nth-child(3) { transform:translateY(-6.5px) rotate(-45deg); }

.mobile-nav {
  position:fixed;
  top:var(--nav-h); left:0; width:100%;
  background:rgba(8,8,8,.98);
  backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);
  z-index:999;
  padding:.5rem 5% 1.5rem;
  display:none;
  flex-direction:column;
  gap:.3rem;
}
.mobile-nav.open { display:flex; }
.mobile-nav a {
  font-family:var(--f-ui);
  font-size:1rem;
  color:var(--silver);
  padding:.75rem 0;
  border-bottom:1px solid var(--border);
  display:block;
  transition:color .3s;
}
.mobile-nav a:hover { color:var(--accent); }
.mobile-nav a:last-child { border-bottom:none; }

/* ─── PAGE HERO (inner pages) ─── */
.page-hero {
  padding-top:calc(var(--nav-h) + 80px);
  padding-bottom:80px;
  text-align:center;
  position:relative;
  overflow:hidden;
}
.page-hero::before {
  content:'';
  position:absolute;
  top:-200px; left:50%;
  transform:translateX(-50%);
  width:800px; height:500px;
  background:radial-gradient(ellipse,rgba(0,229,255,.06),transparent 65%);
  pointer-events:none;
}
.ph-label {
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--f-brand);
  font-size:.6rem;
  letter-spacing:.35em;
  color:var(--accent);
  text-transform:uppercase;
  margin-bottom:1rem;
}
.ph-label::before { content:''; width:28px; height:1px; background:var(--accent); }
.ph-title {
  font-family:var(--f-brand);
  font-size:clamp(2.2rem,5vw,4rem);
  font-weight:900;
  color:var(--white);
  line-height:1.05;
  margin-bottom:1rem;
}
.ph-title .c { color:var(--accent); text-shadow:0 0 30px var(--glow); }
.ph-sub {
  font-size:1.05rem;
  color:var(--dim);
  max-width:600px;
  margin:0 auto;
}

/* ─── LAYOUT CONTAINERS ─── */
.wrap { max-width:1200px; margin:0 auto; padding:0 5%; }
.pt { padding-top:100px; }
.pb { padding-bottom:100px; }
section { position:relative; }

/* ─── SECTION HEADERS ─── */
.s-label {
  display:flex; align-items:center; gap:12px;
  font-family:var(--f-brand);
  font-size:.62rem;
  letter-spacing:.3em;
  color:var(--accent);
  text-transform:uppercase;
  margin-bottom:1rem;
}
.s-label::before { content:''; width:28px; height:1px; background:var(--accent); flex-shrink:0; }
.s-title {
  font-family:var(--f-brand);
  font-size:clamp(1.8rem,3.5vw,3rem);
  font-weight:700;
  color:var(--white);
  line-height:1.1;
  margin-bottom:.5rem;
}
.s-title .c { color:var(--accent); }
.s-sub { font-size:1rem; color:var(--dim); max-width:520px; margin-top:.6rem; }
.s-line { width:50px; height:2px; background:linear-gradient(90deg,var(--accent),transparent); margin-top:1rem; }

/* ─── REVEAL ANIMATIONS ─── */
.rv, .rv-l, .rv-r {
  opacity:0;
  transition:opacity .9s var(--ease), transform .9s var(--ease);
}
.rv  { transform:translateY(35px); }
.rv-l{ transform:translateX(-35px); }
.rv-r{ transform:translateX(35px); }
.rv.on, .rv-l.on, .rv-r.on { opacity:1; transform:none; }
.d1{transition-delay:.1s} .d2{transition-delay:.2s} .d3{transition-delay:.3s}
.d4{transition-delay:.4s} .d5{transition-delay:.5s} .d6{transition-delay:.6s}

/* ─── BUTTONS ─── */
.btn {
  display:inline-flex; align-items:center; gap:8px;
  padding:.8rem 2rem;
  font-family:var(--f-ui);
  font-weight:700;
  font-size:.84rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  transition:.3s var(--ease);
  white-space:nowrap;
}
.btn-p {
  background:var(--accent);
  color:var(--bg);
  box-shadow:0 0 28px var(--glow);
}
.btn-p:hover { background:#00f4ff; box-shadow:0 0 45px rgba(0,229,255,.55); transform:translateY(-2px); }
.btn-g {
  border:1px solid rgba(255,255,255,.18);
  color:var(--silver);
}
.btn-g:hover { border-color:var(--accent); color:var(--accent); box-shadow:0 0 18px rgba(0,229,255,.15); }
.btn-sm { padding:.55rem 1.4rem; font-size:.78rem; }

/* ─── CARDS — GLASS ─── */
.glass-card {
  background:var(--bg-glass);
  border:1px solid var(--border);
  backdrop-filter:blur(10px);
  transition:border-color .4s, box-shadow .4s;
}
.glass-card:hover {
  border-color:var(--border2);
  box-shadow:0 0 40px rgba(0,229,255,.07), inset 0 0 30px rgba(0,229,255,.02);
}

/* ─── METHODOLOGY FLOW ─── */
.meth-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:var(--border);
  border:1px solid var(--border);
  margin-top:3rem;
}
.meth-card {
  background:var(--bg);
  padding:2.5rem 1.8rem;
  position:relative;
  overflow:hidden;
  transition:background .35s, transform .3s;
}
.meth-card::before {
  content:'';
  position:absolute;
  top:0; left:0; width:100%; height:2px;
  background:transparent;
  transition:background .4s;
}
.meth-card:hover { background:var(--a3); transform:translateY(-4px); }
.meth-card:hover::before { background:linear-gradient(90deg,var(--accent),transparent); }
.m-num {
  font-family:var(--f-brand);
  font-size:3rem; font-weight:900;
  color:rgba(255,255,255,.04);
  line-height:1; margin-bottom:.8rem;
  transition:color .4s;
}
.meth-card:hover .m-num { color:rgba(0,229,255,.14); }
.m-icon { font-size:1.4rem; margin-bottom:.8rem; display:block; }
.m-title {
  font-family:var(--f-ui);
  font-size:.98rem; font-weight:700;
  color:var(--white); margin-bottom:.6rem;
}
.m-desc { font-size:.875rem; color:var(--dim); line-height:1.75; }

/* ─── FLIP CARDS (Partners) ─── */
.flip-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
  margin-top:3rem;
}
.flip-wrap { height:380px; perspective:1200px; }
.flip-inner {
  position:relative; width:100%; height:100%;
  transform-style:preserve-3d;
  transition:transform .8s cubic-bezier(.4,0,.2,1);
}
.flip-wrap:hover .flip-inner { transform:rotateY(180deg); }
.flip-front, .flip-back {
  position:absolute; inset:0;
  backface-visibility:hidden;
  display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  padding:2rem; text-align:center;
}
.flip-front {
  background:var(--bg3);
  border:1px solid var(--border);
}
.flip-back {
  background:linear-gradient(145deg,rgba(0,30,40,.95),rgba(0,10,15,.98));
  border:1px solid var(--border2);
  transform:rotateY(180deg);
  box-shadow:inset 0 0 40px rgba(0,229,255,.04);
}
.f-avatar {
  width:90px; height:90px;
  border-radius:8px;
  border:1px solid var(--border);
  margin-bottom:1.2rem;
  background:linear-gradient(135deg,#12121f,#161625);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--f-brand);
  font-size:1.2rem; font-weight:900;
  color:rgba(0,229,255,.35);
  overflow:hidden;
  position:relative;
}
/* To replace avatar: put <img src="..." style="width:100%;height:100%;object-fit:cover"> inside .f-avatar */
.f-avatar img { width:100%; height:100%; object-fit:cover; border-radius:7px; }
.f-role-en {
  font-family:var(--f-brand);
  font-size:.6rem; font-weight:700;
  letter-spacing:.2em; color:var(--accent);
  text-transform:uppercase; margin-bottom:.4rem;
}
.f-name {
  font-family:var(--f-ui);
  font-size:1rem; font-weight:700;
  color:var(--white); margin-bottom:.3rem;
}
.f-hint { font-size:.7rem; color:var(--dim); margin-top:.8rem; }
.b-name { font-family:var(--f-brand); font-size:.9rem; color:var(--accent); margin-bottom:.25rem; }
.b-role { font-size:.72rem; color:var(--dim); text-transform:uppercase; letter-spacing:.15em; margin-bottom:1rem; }
.b-desc { font-size:.875rem; color:var(--silver); line-height:1.75; }

/* ─── LABS CARDS ─── */
.labs-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1.5rem;
  margin-top:3rem;
}
.labs-grid.featured { grid-template-columns:1.2fr 1fr 1fr; }
.lab-card {
  position:relative;
  border:1px solid var(--border);
  background:var(--bg3);
  overflow:hidden;
  transition:transform .4s var(--ease), border-color .3s, box-shadow .4s;
}
.lab-card:hover {
  transform:translateY(-6px);
  border-color:var(--accent);
  box-shadow:0 20px 60px rgba(0,0,0,.5), 0 0 0 1px rgba(0,229,255,.2), 0 0 30px rgba(0,229,255,.08);
}
.lab-preview {
  height:200px;
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#0a0a14,#121230);
}
.lab-preview-iframe {
  position:absolute;
  top:0; left:0;
  width:250%; height:250%;
  border:none;
  transform:scale(.4);
  transform-origin:top left;
  pointer-events:none;
  opacity:.85;
  transition:opacity .4s;
}
.lab-card:hover .lab-preview-iframe { opacity:1; }
.lab-preview-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top,var(--bg3) 5%, transparent 60%);
  z-index:1;
}
.lab-preview-badge {
  position:absolute;
  top:12px; left:12px; z-index:2;
  background:rgba(0,229,255,.12);
  border:1px solid rgba(0,229,255,.25);
  border-radius:4px;
  padding:.25rem .65rem;
  font-family:var(--f-brand);
  font-size:.55rem; letter-spacing:.18em;
  color:var(--accent); text-transform:uppercase;
}
.lab-body { padding:1.5rem; position:relative; z-index:2; }
.lab-name {
  font-family:var(--f-brand);
  font-size:1.1rem; font-weight:700;
  color:var(--white); margin-bottom:.4rem;
}
.lab-desc { font-size:.85rem; color:var(--dim); margin-bottom:1.2rem; line-height:1.7; }
.lab-coming {
  display:flex; align-items:center; gap:8px;
  font-family:var(--f-ui); font-size:.8rem;
  color:var(--dim); text-transform:uppercase; letter-spacing:.1em;
}
.lab-coming::before {
  content:''; width:6px; height:6px; border-radius:50%;
  background:var(--dim); flex-shrink:0;
}
/* Featured lab (Santa Monica) */
.lab-card.featured { grid-row:span 1; }
.lab-card.featured .lab-preview { height:240px; }

/* ─── COMPARISON TABLE ─── */
.comp-wrapper {
  border:1px solid var(--border);
  overflow:hidden;
  margin-top:3rem;
}
.comp-row {
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  border-bottom:1px solid var(--border);
}
.comp-row:last-child { border-bottom:none; }
.comp-cell {
  padding:1.3rem 2rem;
  font-size:.9rem;
}
.comp-row.head .comp-cell {
  font-family:var(--f-brand);
  font-size:.62rem; letter-spacing:.2em;
  text-transform:uppercase;
  background:var(--bg2);
  padding:1rem 2rem;
}
.comp-row.head .comp-cell:last-child {
  color:var(--accent);
  background:var(--a3);
  border-left:1px solid rgba(0,229,255,.15);
}
.comp-cell:not(.head *) strong {
  display:block; color:var(--white);
  font-family:var(--f-ui); font-size:.8rem;
  margin-bottom:.2rem;
}
.comp-cell.bad { color:var(--dim); }
.comp-cell.good {
  color:var(--silver);
  background:var(--a3);
  border-left:1px solid rgba(0,229,255,.1);
}
.comp-cell.good .ci { color:var(--accent); margin-right:6px; }

/* ─── WHY CARDS ─── */
.why-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
  margin-top:3rem;
}
.why-card {
  padding:2rem;
  border:1px solid var(--border);
  background:var(--bg-glass);
  transition:border-color .4s, box-shadow .4s, background .4s;
}
.why-card:hover {
  border-color:rgba(0,229,255,.3);
  background:var(--a3);
  box-shadow:0 0 30px rgba(0,229,255,.06);
}
.w-icon { font-size:1.8rem; margin-bottom:1rem; display:block; }
.w-title {
  font-family:var(--f-ui);
  font-size:.98rem; font-weight:700;
  color:var(--white); margin-bottom:.6rem;
}
.w-desc { font-size:.875rem; color:var(--dim); line-height:1.75; }

/* ─── CONTACT ─── */
.contact-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4rem;
  align-items:start;
}
.contact-form {
  display:flex; flex-direction:column; gap:1rem;
}
.form-group { display:flex; flex-direction:column; gap:.4rem; }
.form-group label {
  font-family:var(--f-ui);
  font-size:.75rem; letter-spacing:.1em;
  text-transform:uppercase; color:var(--dim);
}
.form-group input,
.form-group textarea,
.form-group select {
  background:var(--bg3);
  border:1px solid var(--border);
  color:var(--white);
  padding:.85rem 1rem;
  font-family:var(--f-body);
  font-size:.9rem;
  outline:none;
  transition:border-color .3s;
  appearance:none;
}
.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus { border-color:var(--accent); box-shadow:0 0 0 3px var(--glow2); }
.form-group textarea { resize:vertical; min-height:140px; }
.contact-info { }
.ci-block {
  display:flex; flex-direction:column; gap:1.5rem;
  margin-bottom:2.5rem;
}
.ci-item { }
.ci-lbl { font-size:.7rem; text-transform:uppercase; letter-spacing:.15em; color:var(--dim); margin-bottom:.3rem; }
.ci-val { font-family:var(--f-ui); font-size:1rem; color:var(--white); }
.ci-val a { color:var(--white); transition:color .3s; }
.ci-val a:hover { color:var(--accent); }
.social-links { display:flex; gap:1rem; margin-top:2rem; }
.social-link {
  display:flex; align-items:center; gap:8px;
  padding:.65rem 1.2rem;
  border:1px solid var(--border);
  font-family:var(--f-ui);
  font-size:.8rem;
  color:var(--silver);
  transition:.3s;
}
.social-link:hover { border-color:var(--accent); color:var(--accent); }

/* ─── FOOTER ─── */
footer {
  background: var(--bg2);
  border-top:1px solid var(--border);
  padding:3.5rem 0 2rem;
}
.footer-top {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  flex-wrap:wrap;
  gap:2rem;
  margin-bottom:3rem;
  padding-bottom:3rem;
  border-bottom:1px solid var(--border);
}
.footer-brand { max-width:280px; }
.footer-logo {
  display:flex; align-items:center; gap:8px;
  font-family:var(--f-brand);
  font-size:.95rem; font-weight:700;
  color:var(--white); margin-bottom:.8rem;
}
.footer-logo span { color:var(--accent); }
.footer-tagline { font-size:.85rem; color:var(--dim); }
.footer-nav-col h5 {
  font-family:var(--f-brand);
  font-size:.62rem; letter-spacing:.2em;
  text-transform:uppercase; color:var(--accent);
  margin-bottom:1rem;
}
.footer-nav-col a {
  display:block; font-size:.85rem;
  color:var(--dim); margin-bottom:.6rem;
  transition:color .3s;
}
.footer-nav-col a:hover { color:var(--white); }
.footer-bottom {
  display:flex; justify-content:space-between;
  align-items:center; flex-wrap:wrap; gap:1rem;
}
.footer-copy { font-size:.78rem; color:var(--dim); }
.footer-phones {
  display:flex; flex-direction:column; gap:.3rem;
}
.footer-phones a { font-size:.82rem; color:var(--dim); transition:color .3s; }
.footer-phones a:hover { color:var(--accent); }

/* ─── MODAL ─── */
.modal-overlay {
  position:fixed; inset:0;
  background:rgba(0,0,0,.92);
  z-index:8000;
  display:flex; align-items:center; justify-content:center;
  opacity:0; visibility:hidden;
  transition:.4s;
  padding:5%;
}
.modal-overlay.open { opacity:1; visibility:visible; }
.modal-box {
  position:relative; width:100%; max-width:1000px;
  background:var(--bg3);
  border:1px solid var(--border2);
  transform:scale(.95);
  transition:.4s var(--ease);
}
.modal-overlay.open .modal-box { transform:scale(1); }
.modal-close {
  position:absolute; top:1rem; right:1rem;
  font-size:1.4rem; color:var(--dim);
  transition:color .3s; z-index:2;
}
.modal-close:hover { color:var(--accent); }
.modal-iframe-wrap {
  position:relative; padding-bottom:62%;
  background:var(--bg);
}
.modal-iframe-wrap iframe {
  position:absolute; inset:0;
  width:100%; height:100%; border:none;
}
.modal-footer {
  display:flex; align-items:center;
  justify-content:space-between;
  padding:1.2rem 1.5rem;
  border-top:1px solid var(--border);
  flex-wrap:wrap; gap:1rem;
}
.modal-title-text { font-family:var(--f-brand); font-size:.9rem; color:var(--white); }

/* ─── RESPONSIVE ─── */
@media(max-width:1024px){
  .meth-grid { grid-template-columns:repeat(2,1fr); }
  .labs-grid.featured { grid-template-columns:1fr 1fr; }
  .contact-grid { grid-template-columns:1fr; }
}
@media(max-width:768px){
  .nav-links { display:none; }
  .burger { display:flex; }
  .flip-grid { grid-template-columns:1fr 1fr; }
  .labs-grid, .labs-grid.featured { grid-template-columns:1fr; }
  .why-grid { grid-template-columns:1fr; }
  .comp-row { grid-template-columns:1fr; }
  .comp-cell { border-bottom:1px solid var(--border); }
  .comp-row.head { display:none; }
  .comp-cell.good::before { content:'✓ VectraPy: '; color:var(--accent); }
  .comp-cell.bad::before { content:'Convencional: '; color:var(--dim); }
  .footer-top { flex-direction:column; }
}
@media(max-width:480px){
  .flip-grid { grid-template-columns:1fr; }
}
