:root{
  --bg:#fff; --panel:#f8fafc; --panel-2:#fff;
  --text:#0b1220; --muted:#4a5568;
  --brand:#ff6a00; --brand-2:#ff8a00; --accent:#0fb9b1;
  --radius:16px; --shadow:0 10px 25px rgba(0,0,0,.12);
}

/* Base */
*{box-sizing:border-box}
html,body{height:100%; overflow-x:hidden; -webkit-text-size-adjust:100%}
body{
  margin:0; color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Inter,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";
  line-height:1.6; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  background:
    radial-gradient(1200px 600px at 50% -10%, rgba(255,106,0,.12), transparent 70%),
    radial-gradient(1200px 600px at 50% 110%, rgba(255,106,0,.08), transparent 70%),
    radial-gradient(900px 500px at 110% -20%, rgba(15,185,177,.05), transparent 70%),
    var(--bg);
}
a{color:inherit;text-decoration:none}
.container{max-width:1120px;margin:0 auto;padding:0 20px}

/* Nav */
.nav{
  position:sticky; top:0; z-index:10010;
  backdrop-filter:saturate(1.2) blur(10px);
  background:linear-gradient(180deg, rgba(255,106,0,.06), rgba(255,255,255,.85));
  border-bottom:1px solid rgba(0,0,0,.08);
}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:68px}
.logo{display:flex;align-items:center;gap:10px;font-weight:700}
.logo img{height:40px;width:auto;display:block}
.logo .word{font-size:18px;letter-spacing:.5px;font-weight:800;background:linear-gradient(135deg,var(--brand),var(--brand-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.nav .links{display:flex;gap:18px;align-items:center}
.nav a.link{opacity:.9;transition:.2s ease opacity}
.nav a.link:hover{opacity:1}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:10px;padding:12px 16px;border-radius:12px;font-weight:600;background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#0a0e15;box-shadow:var(--shadow);border:none;touch-action:manipulation}
.btn.secondary{background:#eef2f7;color:var(--text);border:1px solid rgba(0,0,0,.08)}

/* Hero */
.hero{padding:64px 0 24px}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:center}
h1{font-size:clamp(32px,4.4vw,56px);line-height:1.08;letter-spacing:-.02em;margin:0 0 14px}
.lead{font-size:clamp(16px,2.2vw,20px);color:var(--muted);margin:0 0 26px}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.trust{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:18px;font-size:14px}

/* Device panel */
.panel{background:linear-gradient(180deg, rgba(0,0,0,.03), rgba(0,0,0,.01));border:1px solid rgba(0,0,0,.08);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}
.device{aspect-ratio:16/10;background:linear-gradient(180deg,var(--panel),var(--panel-2));border-radius:18px;border:1px solid rgba(0,0,0,.08);position:relative;overflow:hidden}
.glow{position:absolute;inset:-40% -10% auto -30%;height:80%;filter:blur(40px);background:radial-gradient(300px 200px at 30% 40%, rgba(124,156,255,.35), transparent), radial-gradient(240px 160px at 60% 50%, rgba(16,213,194,.25), transparent)}
.fake-ui{position:absolute;inset:18px;border-radius:12px;border:1px solid rgba(0,0,0,.08);padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.card{background:#fff;border-radius:12px;border:1px solid rgba(0,0,0,.08);padding:14px}
.kpi{display:flex;align-items:center;gap:10px;font-weight:700}
.kpi small{display:block;font-weight:500;color:var(--muted)}

/* Sections */
.section{padding:48px 0}
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.feature{padding:20px}
.feature h3{margin:10px 0 6px}
.tag{display:inline-block;padding:6px 14px;border-radius:999px;font-size:13px;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--brand),var(--brand-2));box-shadow:0 2px 6px rgba(0,0,0,.15);transition:transform .1s ease, opacity .2s ease}
.tag:hover{transform:translateY(-2px);opacity:.9}

/* Photo strip */
.photo-strip{display:flex;gap:12px;margin-top:12px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x mandatory}
.photo-strip img{height:150px;width:auto;flex:0 0 auto;border-radius:12px;object-fit:cover;scroll-snap-align:start;box-shadow:0 4px 16px rgba(0,0,0,.15)}
@media (min-width:920px){ .photo-strip img{height:170px} }

/* FAQ + footer */
.faq{display:grid;grid-template-columns:1fr 1fr;gap:16px}
details{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:12px;padding:14px}
summary{cursor:pointer;font-weight:600}
footer{border-top:1px solid rgba(0,0,0,.08);padding:28px 0;color:var(--muted);font-size:14px}

/* Language switcher */
.nav .links .lang{position:relative}
#lang-btn{
  background:transparent;border:none;border-radius:8px;padding:8px 12px;cursor:pointer;
  line-height:1;font-size:16px;display:inline-flex;align-items:center;justify-content:center;height:44px;color:inherit;
  -webkit-tap-highlight-color:transparent;
}
#lang-btn:hover{background:rgba(0,0,0,.05)}
#lang-menu{
  position:absolute;top:100%;right:0;margin:8px 0 0 0;padding:6px;list-style:none;
  background:#fff;color:#111;border:1px solid rgba(0,0,0,.08);border-radius:10px;
  box-shadow:0 8px 24px rgba(0,0,0,.15);min-width:180px;max-height:50vh;overflow-y:auto;z-index:10020;max-width:94vw;
  display:none;
}
#lang-menu li{margin:0}
#lang-menu li a{display:block;padding:10px 12px;text-decoration:none;color:inherit;white-space:nowrap;border-radius:6px}
#lang-menu li a:hover{background:rgba(0,0,0,.06)}

/* CSS-only fallback for language menu visibility if JS fails */
.nav .links .lang:hover #lang-menu,
.nav .links .lang:focus-within #lang-menu{
  display:block !important;
}
/* Keep menu open via aria-expanded (JS or inline fallback) */
#lang-btn[aria-expanded="true"] + #lang-menu{
  display:block !important;
}

/* KPI text wrapping/sizing */
.device .fake-ui .kpi > div{overflow-wrap:anywhere;word-break:normal;hyphens:none;line-height:1.28}
html[lang="es"] .device .fake-ui .kpi > div,
html[lang="pt"] .device .fake-ui .kpi > div{font-size:15px}

/* Ensure [hidden] truly hides even if components set display */
[hidden]{display:none !important}

/* Desktop tweaks */
@media (min-width:980px){
  .hero-grid{grid-template-columns:.95fr 1.05fr}
  .device{aspect-ratio:16/11}
  .fake-ui{inset:16px;padding:18px;gap:16px}
  .device .fake-ui .card{min-height:120px;padding:16px 18px}
}

/* Tablet/phone layout */
@media (max-width:920px){
  .hero-grid{grid-template-columns:1fr}
  .features,.faq{grid-template-columns:1fr}
}

/* Phone hardening (iPhone included) */
@media (max-width:640px){
  .hero{padding:36px 0 18px}
  .hero-grid{gap:20px}
  .panel{padding:12px}
  .device{aspect-ratio:16/12;border-radius:16px}
  .fake-ui{inset:12px;padding:10px;border-radius:12px;gap:10px}
  .device .fake-ui .card{min-height:96px;padding:12px}
  .device .fake-ui .kpi > div{font-size:clamp(15px,4.2vw,17px)}

  .nav-inner{height:auto;padding:8px 0}
  .nav .links{flex-wrap:wrap;gap:10px 12px;align-items:center;justify-content:flex-end}
  .lang{order:99}
  #lang-btn{font-size:18px;height:40px;width:40px;min-width:40px;padding:0}
  /* Dropdown as fixed sheet so it never clips */
  #lang-menu{position:fixed;top:64px;right:12px;max-height:70vh}
}

/* Cookie banner */
.cookie-bar{
  position:fixed;left:16px;right:16px;bottom:16px;z-index:10000;
  background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:12px;box-shadow:var(--shadow);
  padding:12px 12px;display:flex;gap:12px;align-items:center;flex-wrap:wrap
}
.cookie-bar p{margin:0;flex:1;opacity:.9}
.cookie-bar .btn{padding:10px 14px;border-radius:10px;border:none;font-weight:600;cursor:pointer}
.cookie-accept{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#0a0e15}
.cookie-reject{background:#eef2f7;color:#111;border:1px solid rgba(0,0,0,.08)}
@media (max-width:600px){
  .cookie-bar{left:12px;right:12px;bottom:12px;padding:10px;flex-direction:column;align-items:stretch;gap:8px}
  .cookie-bar p{font-size:14px}
  .cookie-bar .btn{width:100%;padding:12px 14px}
}

/* Accessibility: visible keyboard focus */
.btn:focus-visible,
a:focus-visible,
#lang-btn:focus-visible,
#lang-menu a:focus-visible{
  outline:2px solid var(--brand);
  outline-offset:2px;
  border-radius:12px;
}

/* Optional language suggestion banner */
.lang-suggest{
  position:fixed;left:16px;right:16px;bottom:82px;z-index:9998;
  display:none;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 12px;
  background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:12px;
  box-shadow:0 10px 25px rgba(0,0,0,.15)
}
.lang-suggest p{margin:0;flex:1;opacity:.95}
.lang-suggest .btn{padding:10px 14px;border-radius:10px;border:none;font-weight:600;cursor:pointer}
.lang-suggest .primary{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#0a0e15}
.lang-suggest .secondary{background:#eef2f7;color:#111;border:1px solid rgba(0,0,0,.08)}
