  :root{
    /* Tokens compartidos con el sistema visual de Collebus. */
    --cb-bg:#FAFAF8;
    --cb-text:#102a2b;
    --cb-muted:#665f55;
    --cb-border:#d8cdbd;
    --cb-accent:#137d61;
    --cb-radius-sm:8px;
    --cb-radius-md:12px;
    --cb-font-family:'Manrope', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

    /* Extensiones solo-landing, no forman parte del sistema de la app */
    --landing-bg-soft:#F2EFE6;
    --landing-accent-dark:#0b5744;
    --landing-accent-soft:#E4EEE9;
    --landing-coral:#dd673b;
    --landing-coral-soft:#FBEAE1;
    --landing-shadow:0 24px 48px -28px rgba(16,42,43,0.28);
    --landing-shadow-soft:0 12px 28px -18px rgba(16,42,43,0.18);
    --landing-radius-lg:26px;
    --landing-gutter:20px;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;overflow-x:hidden;}
  body{
    margin:0;
    overflow-x:hidden;
    background:var(--cb-bg);
    color:var(--cb-text);
    font-family:var(--cb-font-family);
    -webkit-font-smoothing:antialiased;
    font-size:17px;
    line-height:1.55;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;}
  h1,h2,h3{font-family:var(--cb-font-family);}
  .wrap{max-width:1160px;margin:0 auto;padding:0 var(--landing-gutter);}
  section{position:relative;}

  /* ---------- reveal on scroll ---------- */
  .reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease;}
  .reveal.in{opacity:1;transform:none;}
  @media (prefers-reduced-motion: reduce){
    .reveal{opacity:1;transform:none;transition:none;}
    html{scroll-behavior:auto;}
  }

  /* ---------- header ---------- */
  header.wrap{padding:16px var(--landing-gutter);}
  .header-inner{display:flex;align-items:center;}
  .brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:19px;letter-spacing:-0.01em;}
  .brand img{width:30px;height:30px;border-radius:8px;}

  /* ---------- buttons ---------- */
  .cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:26px;}
  .cta-note{font-size:14px;color:var(--cb-muted);font-weight:600;}
  .install-actions{display:flex;flex-wrap:wrap;gap:10px;}
  .install-action{
    display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:48px;
    padding:12px 16px;border:1px solid var(--cb-border);border-radius:100px;
    background:var(--cb-bg);color:var(--cb-muted);font:700 14px/1 var(--cb-font-family);text-decoration:none;
  }
  .install-action__icon{width:20px;height:20px;flex:none;}
  .install-action__copy{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15;}
  .install-action__status{font-size:11px;font-weight:600;}
  .install-action:disabled{cursor:not-allowed;opacity:.68;}
  .install-action--web{background:var(--cb-text);border-color:var(--cb-text);color:#fff;box-shadow:var(--landing-shadow-soft);}

  /* ---------- hero ---------- */
  .hero{padding:48px var(--landing-gutter) 56px;}
  .hero-grid{display:grid;grid-template-columns:1fr;gap:40px;align-items:center;}
  .eyebrow{
    display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;
    letter-spacing:.04em;text-transform:uppercase;color:var(--landing-accent-dark);
    background:var(--landing-accent-soft);padding:7px 14px 7px 10px;border-radius:100px;margin-bottom:22px;
  }
  .eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--cb-accent);flex:none;}
  h1{
    font-size:clamp(38px,7.4vw,58px);font-weight:800;line-height:1.05;
    letter-spacing:-0.02em;margin:0 0 18px;
  }
  h1 span{color:var(--cb-accent);}
  .hero-sub{font-size:19px;color:var(--cb-muted);font-weight:500;max-width:46ch;margin:0;}

  .stack{position:relative;height:420px;}
  .stack img{
    position:absolute;width:clamp(160px,46vw,250px);border-radius:22px;border:8px solid var(--cb-text);
    box-shadow:var(--landing-shadow);
  }
  .s-back{top:8px;left:6%;opacity:.9;transform:rotate(-6deg);}
  .s-front{top:56px;left:34%;transform:rotate(4deg);}

  /* ---------- section heads ---------- */
  .section-head{max-width:640px;margin:0 0 40px;}
  .section-head h2{font-size:clamp(26px,4vw,34px);font-weight:800;letter-spacing:-0.015em;margin:0 0 10px;}
  .section-head p{font-size:17px;color:var(--cb-muted);margin:0;}

  /* ---------- helps (sin cards, marcadores + separadores) ---------- */
  .helps{padding:64px var(--landing-gutter);border-top:1px solid var(--cb-border);}
  .help-list{display:flex;flex-direction:column;}
  .help-item{
    display:flex;gap:16px;align-items:flex-start;padding:22px 0;
    border-top:1px solid var(--cb-border);font-size:17px;
  }
  .help-item:last-child{border-bottom:1px solid var(--cb-border);}
  .help-marker{width:10px;height:10px;border-radius:50%;flex:none;margin-top:9px;}
  .help-marker--accent{background:var(--cb-accent);}
  .help-marker--coral{background:var(--landing-coral);}
  .help-marker--dark{background:var(--landing-accent-dark);}
  .help-item p{margin:0;}

  /* ---------- colaborativo ---------- */
  .collab{padding:64px var(--landing-gutter);border-top:1px solid var(--cb-border);}
  .collab-grid{display:grid;grid-template-columns:1fr;gap:36px;align-items:center;}
  .collab-copy h2{font-size:clamp(26px,4vw,34px);font-weight:800;letter-spacing:-0.015em;margin:0 0 14px;}
  .collab-copy p{font-size:17px;color:var(--cb-muted);margin:0 0 18px;}
  .pill-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px;}
  .pill{
    font-size:13.5px;font-weight:700;color:var(--landing-accent-dark);
    background:var(--landing-accent-soft);padding:8px 14px;border-radius:100px;
  }
  .collab-note{
    font-size:14.5px;color:var(--cb-muted);border-left:3px solid var(--landing-coral);
    padding:2px 0 2px 14px;margin:0;
  }
  .collab-visual{
    background:var(--landing-accent-soft);border-radius:var(--landing-radius-lg);
    padding:28px;display:flex;align-items:center;justify-content:center;
  }
  .collab-visual img{max-width:280px;}

  /* ---------- gallery ---------- */
  .gallery{padding:64px var(--landing-gutter);border-top:1px solid var(--cb-border);overflow:hidden;}
  .gallery-grid{
    display:flex;gap:20px;
    overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:24px;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;
    margin:0 -24px;padding:0 24px 8px;
  }
  .gallery-grid::-webkit-scrollbar{display:none;}
  .g-item{flex:0 0 auto;width:min(70vw,260px);scroll-snap-align:start;}
  .g-frame{
    position:relative;width:100%;aspect-ratio:9/19;overflow:hidden;
    border-radius:20px;border:6px solid var(--cb-text);
    box-shadow:var(--landing-shadow-soft);background:#fff;margin-bottom:14px;
  }
  .g-frame img{
    position:absolute;inset:0;width:100%;height:100%;
    object-fit:cover;object-position:top center;
    margin:0;border:0;border-radius:0;box-shadow:none;
  }
  .g-cap{font-size:14.5px;color:var(--cb-muted);line-height:1.4;}

  /* ---------- final cta ---------- */
  .final-cta{
    padding:72px 0;text-align:center;background:var(--landing-accent-dark);
    color:#fff;border-radius:var(--landing-radius-lg);margin:64px auto;max-width:1112px;
  }
  .final-cta h2{font-size:clamp(26px,4vw,36px);font-weight:800;margin:0 0 26px;letter-spacing:-0.015em;}
  .install-actions--final{justify-content:center;}
  .final-cta .install-action{background:transparent;border-color:rgba(255,255,255,.45);color:rgba(255,255,255,.74);}
  .final-cta .install-action--web{background:#fff;border-color:#fff;color:var(--landing-accent-dark);}
  .final-cta .cta-note{color:rgba(255,255,255,0.75);display:block;margin-top:16px;}

  /* ---------- footer ---------- */
  footer.wrap{padding:36px var(--landing-gutter) 48px;border-top:1px solid var(--cb-border);}
  .footer-row{display:flex;flex-direction:column;gap:16px;}
  .footer-brand{display:flex;align-items:center;gap:10px;font-weight:800;}
  .footer-brand img{width:26px;height:26px;border-radius:7px;}
  .footer-links{display:flex;flex-wrap:wrap;gap:18px;font-size:14px;color:var(--cb-muted);}
  .footer-links a{text-decoration:underline;}
  .footer-legal{font-size:13px;color:var(--cb-muted);line-height:1.6;max-width:70ch;margin:20px 0 10px;}
  .footer-loc{font-size:13px;color:var(--cb-muted);}

  /* ---------- política de privacidad ---------- */
  .privacy-header{border-bottom:1px solid var(--cb-border);}
  .privacy-header .header-inner{justify-content:space-between;gap:16px;}
  .privacy-back{font-size:14px;font-weight:700;color:var(--cb-muted);text-decoration:none;}
  .privacy-back:hover,.privacy-back:focus-visible{color:var(--cb-accent);text-decoration:underline;}
  .privacy-main{max-width:760px;padding-top:56px;padding-bottom:72px;}
  .privacy-kicker{margin:0 0 12px;color:var(--cb-accent);font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;}
  .privacy-main h1{font-size:clamp(34px,6vw,48px);margin-bottom:16px;}
  .privacy-lead{max-width:62ch;margin:0 0 40px;color:var(--cb-muted);font-size:18px;}
  .privacy-updated{margin:0 0 36px;color:var(--cb-muted);font-size:14px;font-weight:600;}
  .privacy-section{padding:28px 0;border-top:1px solid var(--cb-border);}
  .privacy-section h2{margin:0 0 14px;font-size:24px;line-height:1.2;letter-spacing:-.015em;}
  .privacy-section p{margin:0 0 14px;color:var(--cb-muted);}
  .privacy-section p:last-child{margin-bottom:0;}
  .privacy-section ul{margin:0;padding-left:22px;color:var(--cb-muted);}
  .privacy-section li+li{margin-top:9px;}
  .privacy-section a{color:var(--cb-accent);font-weight:700;}

  @media (max-width:859px){
    .hero{padding:26px var(--landing-gutter) 42px;}
    .hero-grid{gap:8px;}
    .eyebrow{font-size:11px;padding:6px 11px 6px 8px;margin-bottom:16px;letter-spacing:.025em;}
    .eyebrow .dot{width:6px;height:6px;}
    h1{font-size:clamp(40px,11vw,48px);margin-bottom:14px;}
    .hero-sub{font-size:16px;line-height:1.52;max-width:35ch;}
    .cta-row{gap:12px;margin-top:20px;}
    .install-actions{gap:8px;}
    .install-action{min-height:46px;padding:11px 13px;font-size:13px;}
    .install-action__icon{width:18px;height:18px;}
    .install-action__status{font-size:10px;}
    .cta-note{font-size:12px;}

    .stack{height:clamp(490px,137vw,552px);margin:0 -4px;}
    .stack img{width:clamp(205px,55vw,238px);border-width:7px;border-radius:19px;}
    .s-back{top:14px;left:3%;}
    .s-front{top:53px;left:35%;}

    .section-head{margin-bottom:26px;}
    .section-head h2,.collab-copy h2{font-size:27px;line-height:1.18;margin-bottom:10px;}
    .section-head p,.collab-copy p{font-size:16px;line-height:1.55;}
    .helps,.collab,.gallery{padding:46px var(--landing-gutter);}
    .help-list{gap:3px;padding:2px 6px;}
    .help-item{gap:13px;padding:17px 5px;border-top:0;font-size:15px;line-height:1.5;}
    .help-item + .help-item{border-top:1px solid var(--cb-border);}
    .help-item:last-child{border-bottom:0;}
    .help-marker{width:8px;height:8px;margin-top:7px;}

    .collab-grid{gap:28px;}
    .collab-copy p{margin-bottom:20px;}
    .pill-row{gap:8px;margin-bottom:20px;}
    .pill{font-size:12px;padding:8px 12px;}
    .collab-note{font-size:13.5px;line-height:1.5;padding-left:12px;}
    .collab-visual{padding:24px;border-radius:20px;}
    .collab-visual img{max-width:250px;}

    .gallery{overflow:hidden;}
    .gallery-grid{gap:16px;scroll-padding-left:var(--landing-gutter);margin:0 calc(var(--landing-gutter) * -1);padding:0 var(--landing-gutter) 10px;}
    .g-item{width:min(82vw,356px);display:flex;flex-direction:column;gap:13px;}
    .g-frame{margin-bottom:0;border-width:6px;border-radius:19px;}
    .g-cap{font-size:14px;line-height:1.48;padding:0 2px;}

    .final-cta{padding:42px 20px 38px;border-radius:20px;margin:42px 0;}
    .final-cta h2{font-size:29px;line-height:1.18;margin-bottom:22px;}
    .final-cta .cta-note{margin-top:13px;font-size:12px;}

    footer.wrap{padding:0 var(--landing-gutter) 38px;}
    footer .footer-row{padding-top:28px;}
    .footer-row{gap:18px;}
    .footer-brand{font-size:16px;}
    .footer-links{display:grid;gap:4px;font-size:14px;}
    .footer-links a{padding:7px 0;width:max-content;min-height:34px;}
    .footer-legal{font-size:13px;line-height:1.58;margin:22px 0 14px;}
    .footer-loc{font-size:13px;line-height:1.5;}
    .privacy-main{padding-top:38px;padding-bottom:48px;}
    .privacy-lead{font-size:16px;line-height:1.55;margin-bottom:30px;}
    .privacy-updated{margin-bottom:28px;}
    .privacy-section{padding:24px 0;}
    .privacy-section h2{font-size:22px;}
  }

  @media (min-width:860px){
    :root{--landing-gutter:24px;}
    header.wrap{padding:20px var(--landing-gutter);}
    .hero-grid{grid-template-columns:1.05fr 1fr;}
    .collab-grid{grid-template-columns:1fr 0.9fr;}
    .footer-row{flex-direction:row;align-items:center;justify-content:space-between;}

    .stack{height:520px;}
  }

  @media (min-width:1100px){
    .gallery-grid{
      display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px;
      overflow-x:visible;scroll-snap-type:none;margin:0;padding:0;
    }
    .g-item{width:auto;}
    .g-frame{aspect-ratio:402/875;height:auto;}
  }
