/* ========== Variables & Theme ========== */
:root{
  /* Brand */
  --brand-1: #0E2A47;     /* Deep navy */
  --brand-2: #2E63D4;     /* Primary accent blue */

  /* Accents (from icon, used sparingly) */
  --accent-yellow: #FFD14D;
  --accent-orange: #F4A12C;
  --accent-coral:  #F2776B;
  --accent-green:  #2FAE78;

  /* Surfaces (minimal) */
  --bg: #0B0C10;          /* Dark mode base */
  --surface: #0F1115;     /* Panels */
  --surface-2: #131720;   /* Sub-panels */
  --border: rgba(255,255,255,.10);

  /* Typography */
  --text: #E9EDF1;
  --muted: #A5AFBA;

  /* Motion & shape */
  --shadow: 0 2px 10px rgba(0,0,0,.25);
  --radius: 12px;
  --radius-sm: 10px;
  --container: 1024px;
}

.note-yellow{ color: var(--accent-yellow); }
.note-orange{ color: var(--accent-orange); }
.note-coral{  color: var(--accent-coral); }
.note-green{  color: var(--accent-green); }

/* Light scheme */
@media (prefers-color-scheme: light){
  :root{
    --bg: #F7F8FA;        /* Canvas */
    --surface: #FFFFFF;    /* Cards */
    --surface-2: #F3F5F8;  /* Sub-cards */
    --border: rgba(0,0,0,.10);
    --text: #0C1116;
    --muted: #586471;
    --shadow: 0 2px 10px rgba(0,0,0,.06);
  }
}

/* ========== Reset mínimo ========== */
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text","Segoe UI", Roboto, Inter, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  color:var(--text);
  background: var(--bg);
  line-height:1.55;
}
img{max-width:100%;display:block}
a{color:var(--brand-2);text-decoration:none}
a:hover{opacity:.95}
:focus-visible{outline:2px solid var(--brand-2);outline-offset:2px}
@media (prefers-reduced-motion: reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* ========== Layout ========== */
.container{
  width:100%;
  max-width:var(--container);
  margin:0 auto;
  padding:20px;
}

/* Header */
header{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 0 24px;
}
.brand{display:flex;align-items:center;gap:10px;color:var(--text)}
.logo{
  width:34px;height:34px;border-radius:9px;
  background: var(--brand-2);
  border: 1px solid rgba(0,0,0,.06);
  color:#052238;display:grid;place-items:center;font-weight:800;
  box-shadow: var(--shadow);
}

/* Nav */
nav{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
nav a{color:var(--muted);padding:6px 8px;border-radius:8px}
nav a:hover{background:var(--surface-2);color:var(--text)}

/* ========== Hero ========== */
.hero{
  display:grid;gap:28px;
  grid-template-columns: 1.05fr .95fr;
  align-items:center;
  /*background:
    linear-gradient(0deg, rgba(14,42,71,.08), rgba(14,42,71,.08)) ,
    transparent;*/
  padding:18px 0 8px;
}
.eyebrow{
  display:inline-block;
  font-size:.85rem;
  letter-spacing:.2px;
  color:var(--muted);
  background: var(--surface-2);
  border: 1px solid var(--border);
  padding:6px 10px;border-radius:999px;
}
h1{
  font-size: clamp(28px, 4.8vw, 44px);
  line-height:1.12;
  margin:10px 0 12px;
  letter-spacing:-.3px;
}
.lead{font-size:1.05rem;color:var(--muted);max-width:60ch}

/* CTA buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:12px 16px;border-radius:12px;
  background: var(--brand-2);
  color:#fff;font-weight:700;border:1px solid rgba(0,0,0,.10);
  box-shadow: none;
  transition: transform .06s ease, box-shadow .2s ease;
}
.btn:hover{filter: brightness(1.05)}
.btn.secondary{
  background: var(--surface-2);
  color:var(--text);
  border:1px solid var(--border);
  box-shadow:none;
}
.cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}

/* ========== Cards, Grid, Kicker ========== */
.card{
  background: var(--surface);
  border:1px solid var(--border);
  border-radius: var(--radius);
  padding:16px;
  box-shadow: var(--shadow);
}
.grid{
  display:grid;gap:16px;
  grid-template-columns: repeat(2,1fr);
}
.kicker{
  color: var(--brand-2);
  opacity:.95;
  font-weight:700;
  letter-spacing:.3px;
  margin-bottom:6px;
  font-size:.9rem;
}

/* Features */
#features h2,
#how h2,
#pricing h2,
#faq h2{margin:6px 0 12px}
.feature{display:flex;gap:12px;align-items:flex-start}
.icon{
  width:36px;height:36px;border-radius:10px;
  display:grid;place-items:center;font-weight:800;
  background: var(--surface-2);
  color: var(--text);
  border: 1px solid var(--border);
}

/* Pricing */
#pricing .card strong{font-size:1.15rem}
#pricing .card .mini{color:var(--muted)}
/* ====== Pricing (minimal Apple-like) ====== */
.pricing-grid{grid-template-columns:repeat(3,1fr)}
@media (max-width:980px){.pricing-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:720px){.pricing-grid{grid-template-columns:1fr}}
#pricing .card{padding:18px}

/* Footer */
footer{
  margin:34px 0 10px;
  border-top:1px solid var(--border);
  padding-top:16px;
  color:var(--muted);
}
footer a{color:var(--muted)}
footer a:hover{color:var(--text)}

/* Small text */
.mini{font-size:.94rem;color:var(--muted)}

/* ========== FAQ (<details>) ========== */
details { padding: 10px 0; border-top: 1px solid var(--border); }
details:first-of-type { border-top: 0; }
summary { cursor: pointer; list-style: none; padding:6px 0 }
summary::-webkit-details-marker { display: none; }
details[open] summary { color: var(--brand-2); }

/* ========== Utilities ========== */
.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);color:var(--muted)}
.center{text-align:center}
.hide{display:none!important}

/* ========== Toggle (Mensual/Anual) ========== */
.toggle{display:inline-flex;gap:6px;padding:6px;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;margin:8px 0 14px}
.toggle button{appearance:none;border:0;border-radius:999px;padding:8px 14px;cursor:pointer;color:var(--muted);background:transparent;font-weight:700}
.toggle button[aria-selected="true"]{background:var(--surface);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow)}

/* Pricing active/muted states */
.plan-card{transition:box-shadow .2s ease, transform .06s ease, opacity .2s ease, border-color .2s ease}
.plan-card.active{border-color: color-mix(in oklab, var(--brand-2) 35%, transparent); box-shadow:none}
.plan-card.muted{opacity:.85}

.plan-card.promo{background:color-mix(in oklab, var(--brand-2) 4%, transparent)}
.plan-card .badge.limited{background:color-mix(in oklab, var(--accent-yellow) 25%, transparent);border:1px solid color-mix(in oklab, var(--accent-yellow) 40%, transparent);}

/* ========== Responsive ========== */
@media (max-width: 980px){
  .hero{grid-template-columns:1fr}
}
@media (max-width: 720px){
  .grid{grid-template-columns:1fr}
  nav{gap:10px}
  .btn{width:100%;max-width:420px}
  .logo{width:30px;height:30px}
}

.app-logo {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0,0,0,.1);
  background: var(--surface-2);
}
.brand span {
  font-weight: 600;
  font-size: 1.1rem;
  letter-spacing: -.2px;
}

/* ====== Hero phone gallery (cross-browser) ====== */
.hero-gallery{
  display:flex;            /* centra el carril */
  justify-content:center;
  background:none;border:none;box-shadow:none;
  padding-bottom:4px;
}

/* El carril ahora mide como un iPhone, así siempre habrá overflow horizontal */
.iphone-scroll{
  display:flex;
  gap:16px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  padding:4px 4px 10px 4px;

  width:260px;             /* <-- clave: fuerza el scroll en Chrome/desktop */
  max-width:100%;
  -webkit-overflow-scrolling: touch;   /* inercia en iOS */
  overscroll-behavior-x: contain;      /* evita rebotes del body */
}

.iphone-scroll img{
  width:260px;
  height:530px;
  border-radius:40px;
  flex-shrink:0;
  object-fit:cover;
  scroll-snap-align:center;
  border:1px solid var(--border);
  box-shadow:0 10px 30px rgba(0,0,0,.20);
}

/* Solo mostrar el set que corresponde al tema */
.screens.dark{display:none}
@media (prefers-color-scheme: dark){
  .screens.light{display:none}
  .screens.dark{display:flex}
}

/* Breakpoints: usa teléfonos un poco más pequeños en pantallas chicas */
@media (max-width:520px){
  .iphone-scroll{width:220px}
  .iphone-scroll img{width:220px;height:450px;border-radius:36px}
}

/* ====== Responsive navbar (no framework) ====== */
.nav-toggle{display:none;align-items:center;justify-content:center;padding:10px 12px;border-radius:10px;background:var(--surface-2);border:1px solid var(--border);cursor:pointer}
.nav-toggle i{font-size:18px;line-height:1;color:var(--text)}

/* Ensure header can anchor the dropdown */
header{position:relative}

@media (max-width:820px){
  .nav-toggle{display:inline-flex}
  header nav{position:absolute;top:56px;right:16px;left:16px;display:none;flex-direction:column;gap:6px;padding:12px;border-radius:12px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);z-index:1000}
  header nav.open{display:flex}
  header nav a{padding:10px 12px;border-radius:8px}
  header nav a:hover{background:var(--surface-2)}
}

@media (min-width:821px){
  .nav-toggle{display:none}
  header nav{display:flex;position:static;padding:0;border:none;box-shadow:none;background:transparent}
}

/* ====== Pricing (minimal Apple-like) ====== */
.pricing-grid{grid-template-columns:repeat(3,1fr)}
@media (max-width:980px){.pricing-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:720px){.pricing-grid{grid-template-columns:1fr}}

.plan-card{padding:20px;transition:transform .06s ease,border-color .2s ease,background-color .2s ease}
.plan-card:hover{transform:translateY(-1px)}
.plan-card .plan-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.plan-card .badge.popular{background:color-mix(in oklab, var(--brand-2) 14%, transparent);border:1px solid color-mix(in oklab, var(--brand-2) 32%, transparent);color:var(--text);padding:4px 8px;border-radius:999px;font-size:.8rem}

.price{display:flex;align-items:flex-end;gap:6px;margin:6px 0 12px}
.price .currency{opacity:.9}
.price .price-amount{font-size:2rem;font-weight:800;letter-spacing:-.3px}
.price .per{color:var(--muted)}

.feature-list{list-style:none;padding-left:0;margin:10px 0 16px;display:grid;gap:8px}
.feature-list li{display:flex;gap:8px;align-items:flex-start}
.feature-list li::before{content:"\2713"; /* check */ display:inline-block; width:1em; color:var(--brand-2)}

.plan-card.recommended{border-color:color-mix(in oklab, var(--brand-2) 35%, transparent);background:color-mix(in oklab, var(--brand-2) 6%, transparent)}
.plan-card.active{border-color:color-mix(in oklab, var(--brand-2) 45%, transparent)}

html {
  scroll-behavior: smooth;
}

/* ===== Back to top button ===== */
#backToTop {
  position: fixed;
  right: 20px;
  bottom: 25px;
  width: 46px;
  height: 46px;
  border: none;
  border-radius: 50%;
  background: var(--brand-2, #0E2A47);
  color: #fff;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease, transform 0.3s ease, background 0.3s ease;
  box-shadow: 0 3px 10px rgba(0,0,0,0.25);
  z-index: 1000;
  font-size: 18px;
  line-height: 0;
}

#backToTop:hover {
  background: var(--brand-1, #4BA3F2);
  transform: translateY(-3px);
}

#backToTop.show {
  opacity: 1;
  pointer-events: auto;
}

/* Ajustes para móviles */
@media (max-width: 768px) {
  #backToTop {
    right: 16px;
    bottom: 20px;
    width: 54px;
    height: 54px;
    font-size: 20px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.25);
  }
}