/* Tappify · estilos */

  

  :root{
    --bg:#FFFFFF; --surface:#FFFFFF; --surface-2:#FBFAF9;
    --ink:#1F1D1A; --ink-soft:#6B655C; --line:#F1EEE9;
    --accent:#2A2723; --accent-ink:#FFFFFF;
    --accent-2:#4A453E; --accent-2-bg:#F8F7F5;
    --accent-3:#1F1D1A; --accent-3-bg:#F6F4F1;
    --radius:20px;
    --shadow: 0 1px 2px rgba(31,29,26,0.08), 0 8px 24px -12px rgba(31,29,26,0.25);
    --shadow-lift: 0 4px 10px rgba(31,29,26,0.1), 0 20px 40px -16px rgba(31,29,26,0.35);
    padding-top:env(safe-area-inset-top,0px);
    padding-bottom:env(safe-area-inset-bottom,0px);
  }
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --bg:#FFFFFF; --surface:#FFFFFF; --surface-2:#FBFAF9;
      --ink:#1F1D1A; --ink-soft:#6B655C; --line:#F1EEE9;
      --accent:#2A2723; --accent-ink:#FFFFFF;
      --accent-2:#4A453E; --accent-2-bg:#F8F7F5;
      --accent-3:#1F1D1A; --accent-3-bg:#F6F4F1;
      --shadow: 0 1px 2px rgba(31,29,26,0.08), 0 8px 24px -12px rgba(31,29,26,0.25);
      --shadow-lift: 0 4px 10px rgba(31,29,26,0.1), 0 20px 40px -16px rgba(31,29,26,0.35);
    }
  }
  :root[data-theme="dark"]{
    --bg:#FFFFFF; --surface:#FFFFFF; --surface-2:#FBFAF9;
    --ink:#1F1D1A; --ink-soft:#6B655C; --line:#F1EEE9;
    --accent:#2A2723; --accent-ink:#FFFFFF;
    --accent-2:#4A453E; --accent-2-bg:#F8F7F5;
    --accent-3:#1F1D1A; --accent-3-bg:#F6F4F1;
    --shadow: 0 1px 2px rgba(31,29,26,0.08), 0 8px 24px -12px rgba(31,29,26,0.25);
    --shadow-lift: 0 4px 10px rgba(31,29,26,0.1), 0 20px 40px -16px rgba(31,29,26,0.35);
  }

  *{box-sizing:border-box;}
  @media (prefers-reduced-motion: no-preference){ html{scroll-behavior:smooth;} }
  .reveal{opacity:0; transform:translateY(18px); transition:opacity .65s cubic-bezier(.2,.7,.2,1), transform .65s cubic-bezier(.2,.7,.2,1);}
  .reveal.is-visible{opacity:1; transform:translateY(0);}
  @media (prefers-reduced-motion: reduce){ .reveal{opacity:1; transform:none; transition:none;} }
  body{
    margin:0; background:var(--bg); color:var(--ink);
    font-family:'Inter', system-ui, -apple-system, sans-serif;
    -webkit-font-smoothing:antialiased; padding-inline:0;
  }
  img,svg{max-width:100%;display:block;}
  h1,h2,h3{font-family:'Inter', system-ui, sans-serif; text-wrap:balance; margin:0; font-weight:800; letter-spacing:-0.01em;}
  a{color:inherit;}
  .mono{font-family:'IBM Plex Mono', ui-monospace, monospace;}
  .wrap{max-width:1080px; margin-inline:auto; padding-inline:20px;}
  button{font-family:inherit;}

  .promo-bar{
    background:linear-gradient(90deg, var(--accent-2), var(--accent-3));
    color:#241019; text-align:center; font-size:13px; font-weight:700;
    padding:8px 12px; letter-spacing:.02em;
  }

  header.site{
    position:sticky; top:0; z-index:20;
    background:color-mix(in srgb, var(--bg) 88%, transparent);
    backdrop-filter:blur(8px);
    border-bottom:1px solid var(--line);
  }
  .nav{display:flex; align-items:center; justify-content:space-between; padding-block:14px; gap:16px;}
  .logo{display:flex; align-items:center; gap:8px; font-family:'Inter', sans-serif; font-weight:800; font-size:21px;}
  .logo-mark{width:26px;height:26px;flex:none; color:var(--accent);}
  .nav-links{display:flex; gap:26px; font-size:14px; font-weight:600; color:var(--ink-soft);}
  .nav-links a{text-decoration:none;}
  .nav-links a:hover{color:var(--ink);}
  .nav-right{display:flex; align-items:center; gap:12px;}
  .icon-btn{
    position:relative; width:38px; height:38px; border-radius:999px;
    display:flex; align-items:center; justify-content:center;
    background:var(--surface); border:1px solid var(--line); cursor:pointer;
    transition:border-color .15s ease, transform .15s ease;
  }
  .icon-btn:hover{border-color:var(--ink-soft);}
  .icon-btn:active{transform:scale(0.94);}
  .cart-count{
    position:absolute; top:-6px; right:-6px; background:var(--accent-2); color:#fff;
    font-size:11px; font-weight:700; width:18px; height:18px; border-radius:999px;
    display:flex; align-items:center; justify-content:center;
  }
  .btn{
    font-weight:700; font-size:14.5px; border:none; cursor:pointer;
    border-radius:999px; padding:13px 24px; display:inline-flex; align-items:center; justify-content:center; gap:8px;
    transition:transform .15s ease, box-shadow .15s ease, opacity .15s ease;
  }
  .btn:active{transform:scale(0.97);}
  .btn-primary{background:linear-gradient(135deg, var(--accent), var(--accent-2)); color:var(--accent-ink);}
  .btn-primary:hover{box-shadow:0 6px 18px -6px color-mix(in srgb, var(--accent) 60%, transparent);}
  .btn-ghost{background:transparent; color:var(--ink); border:1.5px solid var(--line);}
  .btn-ghost:hover{border-color:var(--ink-soft);}
  .btn-sm{padding:9px 16px; font-size:13.5px;}
  .btn-block{width:100%;}
  .btn-paypal{background:#FFC43A; color:#292722; font-weight:800;}
  .btn-paypal:hover{box-shadow:0 6px 18px -6px rgba(255,196,58,0.7);}
  .btn-paypal .pp-word{font-style:italic; font-weight:800; letter-spacing:-0.02em;}
  .btn-paypal .pp-word span{color:#5D584E;}
  .btn-dark{background:var(--ink); color:var(--bg);}
  .btn-dark:hover{opacity:.92;}
  @media (max-width:760px){ .nav-links{display:none;} }

  .hero{
    padding-block:44px 40px; position:relative; overflow:hidden;
  }
  .hero::before{
    content:''; position:absolute; top:-140px; left:50%; width:900px; height:500px;
    transform:translateX(-50%); pointer-events:none; z-index:0;
    background:radial-gradient(closest-side, color-mix(in srgb, var(--accent) 20%, transparent), transparent 72%);
  }
  .hero .wrap{position:relative; z-index:1;}
  .hero-grid{display:grid; grid-template-columns:0.95fr 1.05fr; gap:44px; align-items:start;}
  @media (max-width:860px){ .hero-grid{grid-template-columns:1fr;} }
  .eyebrow{
    display:inline-flex; align-items:center; gap:8px;
    font-size:12.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
    color:var(--accent-2); background:var(--accent-2-bg);
    padding:6px 12px; border-radius:999px; margin-bottom:14px;
  }

  .gallery-main{
    background:var(--surface); border:1px solid var(--line); border-radius:26px;
    padding:26px; box-shadow:var(--shadow-lift); position:relative; overflow:hidden;
  }
  .gallery-main .badge{
    position:absolute; top:16px; left:16px; background:var(--accent-2); color:#fff;
    font-size:12px; font-weight:700; padding:6px 12px; border-radius:999px; z-index:2;
  }
  .gallery-chip{
    position:absolute; z-index:3; background:var(--surface); border:1px solid var(--line); box-shadow:var(--shadow-lift);
    border-radius:14px; padding:8px 13px; font-size:12px; font-weight:700; display:flex; align-items:center; gap:6px;
    white-space:nowrap; color:var(--ink);
  }
  .gallery-chip svg{width:14px;height:14px;color:var(--accent-3);flex:none;}
  .gallery-chip.gc-top{top:16px; right:16px;}
  .gallery-chip.gc-bottom{bottom:16px; left:16px;}
  @media (max-width:480px){ .gallery-chip{font-size:10.5px; padding:6px 10px;} }
  .gallery-img{aspect-ratio:1/1; border-radius:16px; background:var(--surface-2); overflow:hidden; display:flex; align-items:center; justify-content:center;}
  .gallery-img img{width:100%;height:100%;object-fit:cover; transition:transform .3s ease;}
  .color-row{display:flex; gap:10px; margin-top:16px; flex-wrap:wrap;}
  .color-swatch{
    width:56px; height:56px; border-radius:12px; border:2px solid transparent; cursor:pointer;
    padding:2px; background:var(--surface); box-shadow:0 0 0 1px var(--line);
    transition:box-shadow .15s ease, transform .15s ease;
  }
  .color-swatch img{width:100%;height:100%;object-fit:cover; border-radius:8px;}
  .color-swatch:hover{transform:translateY(-2px);}
  .color-swatch.active{box-shadow:0 0 0 2px var(--accent);}

  .gift-dots{display:flex; align-items:center; gap:8px; margin-top:14px; font-size:12.5px; color:var(--ink-soft);}
  .gift-dot{width:16px;height:16px;border-radius:999px; border:1px solid var(--line); flex:none;}

  .hero-info h1{font-size:clamp(24px,3.2vw,36px); line-height:1.14; margin-bottom:10px;}
  .hero-info .subtitle{font-size:15.5px; color:var(--ink-soft); line-height:1.55; max-width:52ch; margin-bottom:16px;}
  .rating-row{display:flex; align-items:center; gap:8px; font-size:13.5px; color:var(--ink-soft); margin-bottom:18px;}
  .stars{color:var(--accent-3); font-size:14px; letter-spacing:1px;}

  .pack-grid{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:18px;}
  @media (max-width:480px){ .pack-grid{grid-template-columns:1fr;} }
  .pack-card{
    position:relative; text-align:left; cursor:pointer; background:var(--surface);
    border:2px solid var(--line); border-radius:16px; padding:16px; transition:border-color .15s ease, transform .15s ease;
  }
  .pack-card:hover{transform:translateY(-2px);}
  .pack-card.active{border-color:var(--accent); box-shadow:0 0 0 1px var(--accent), 0 8px 20px -10px color-mix(in srgb, var(--accent) 55%, transparent);}
  .pack-tag{
    display:inline-block; font-size:10.5px; font-weight:800; text-transform:uppercase; letter-spacing:.04em;
    background:var(--accent-2); color:#fff; padding:3px 9px; border-radius:999px; margin-bottom:10px;
  }
  .pack-tag.gold{background:var(--accent-3); color:#3A2C0C;}
  .pack-price{font-family:'Inter',sans-serif; font-size:24px; font-weight:800; margin-bottom:2px;}
  .pack-price .was{font-family:'IBM Plex Mono',monospace; font-size:13px; font-weight:500; color:var(--ink-soft); text-decoration:line-through; margin-left:6px;}
  .pack-desc{font-size:12.5px; color:var(--ink-soft); line-height:1.45;}
  .pack-radio{
    position:absolute; top:14px; right:14px; width:18px; height:18px; border-radius:999px;
    border:2px solid var(--line); background:var(--surface);
  }
  .pack-card.active .pack-radio{border-color:var(--accent); background:var(--accent);
    box-shadow:inset 0 0 0 3px var(--surface);
  }

  .qty-row{display:flex; align-items:center; gap:14px; margin:6px 0 18px;}
  .qty-stepper{display:flex; align-items:center; border:1.5px solid var(--line); border-radius:999px; overflow:hidden;}
  .qty-stepper button{width:38px; height:38px; background:none; border:none; font-size:17px; cursor:pointer;}
  .qty-stepper button:hover{background:var(--surface-2);}
  .qty-stepper span{width:32px; text-align:center; font-weight:700;}

  .cta-col{display:flex; flex-direction:column; gap:10px; margin-bottom:22px;}
  .trust-mini{display:flex; gap:18px; flex-wrap:wrap; font-size:12.5px; color:var(--ink-soft);}
  .trust-mini span{display:flex; align-items:center; gap:6px;}
  .trust-mini svg{width:15px;height:15px; color:var(--accent); flex:none;}

  .stat-strip{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:34px 0 6px;}
  @media (max-width:700px){ .stat-strip{grid-template-columns:1fr; } }
  .stat-card{
    background:var(--surface); border:1px solid var(--line); border-radius:var(--radius);
    padding:18px 20px; box-shadow:var(--shadow); display:flex; align-items:center; gap:12px;
  }
  .stat-card .sicon{
    width:42px; height:42px; border-radius:12px; background:var(--accent-3-bg); color:var(--accent-3);
    display:flex; align-items:center; justify-content:center; flex:none;
  }
  .stat-card .sicon svg{width:22px;height:22px;}
  .stat-card .snum{font-family:'Inter',sans-serif; font-size:19px; font-weight:800; line-height:1.15;}
  .stat-card .slabel{font-size:12px; color:var(--ink-soft);}

  .before-after{
    background:var(--surface); border:1px solid var(--line); border-radius:28px;
    padding:32px 28px; box-shadow:var(--shadow-lift); position:relative; overflow:hidden;
  }
  .ba-tag{
    display:inline-block; font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase;
    padding:5px 14px; border-radius:999px; margin-bottom:14px; z-index:2;
  }
  .ba-tag.before{background:var(--surface-2); color:var(--ink-soft);}
  .ba-tag.after{background:var(--accent-3-bg); color:var(--accent-3);}
  .ba-disclaimer{font-size:11.5px; color:var(--ink-soft); text-align:center; margin-top:22px; line-height:1.5;}

  .feature-bar{border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--surface);}
  .feature-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; padding-block:22px;}
  @media (max-width:780px){ .feature-grid{grid-template-columns:repeat(2,1fr);} }
  .feature-item{display:flex; align-items:center; gap:10px; font-size:13.5px; font-weight:600;}
  .feature-item svg{width:22px;height:22px; color:var(--accent); flex:none;}

  .section{padding-block:52px;}
  .section-head{max-width:600px; margin-bottom:28px;}
  .section-head .eyebrow{margin-bottom:12px;}
  .section-head h2{font-size:clamp(22px,2.8vw,30px); margin-bottom:8px;}
  .section-head p{color:var(--ink-soft); font-size:14.5px; line-height:1.55;}

  .desc-text{font-size:15px; line-height:1.7; color:var(--ink); max-width:70ch;}
  .desc-text.literal{
    background:var(--surface-2); border:1px solid var(--line); border-radius:14px;
    padding:16px 18px; font-size:13.5px; color:var(--ink-soft); font-style:italic; margin-top:16px;
  }

  .bullets{display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-top:24px;}
  @media (max-width:600px){ .bullets{grid-template-columns:1fr;} }
  .bullet{display:flex; gap:12px; align-items:flex-start; background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:14px 16px;}
  .bullet svg{width:20px;height:20px; color:var(--accent); flex:none; margin-top:1px;}
  .bullet h4{font-size:14px; font-weight:700; margin:0 0 3px;}
  .bullet p{font-size:12.5px; color:var(--ink-soft); margin:0; line-height:1.45;}

  .specs-table{width:100%; border-collapse:collapse; background:var(--surface); border:1px solid var(--line); border-radius:14px; overflow:hidden; font-size:14px;}
  .specs-table tr{border-bottom:1px solid var(--line);}
  .specs-table tr:last-child{border-bottom:none;}
  .specs-table td{padding:13px 16px;}
  .specs-table td:first-child{color:var(--ink-soft); font-weight:600; width:42%;}
  .specs-table td:last-child{font-family:'IBM Plex Mono', monospace; font-size:13px;}

  .testi{
    background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:20px;
    display:flex; flex-direction:column; gap:10px; width:300px; flex:none;
  }
  .testi p.quote{font-size:14px; line-height:1.55; margin:0; color:var(--ink);}
  .testi-who{display:flex; align-items:center; gap:10px; font-size:12.5px; color:var(--ink-soft);}
  .avatar{width:28px;height:28px;border-radius:999px; background:var(--surface-2); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:11px; color:var(--ink-soft);}

  .star-rating{position:relative; display:inline-block; font-size:14px; letter-spacing:1px; line-height:1;}
  .star-rating .sr-bg{color:var(--line);}
  .star-rating .sr-fg{position:absolute; top:0; left:0; overflow:hidden; white-space:nowrap; color:var(--accent-2);}

  .testi-marquee{
    overflow:hidden; position:relative; margin-top:6px;
    -webkit-mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
    mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  }
  .testi-track{display:flex; gap:18px; width:max-content; will-change:transform;}

  .rating-summary{display:flex; align-items:center; gap:20px; background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:20px; margin-bottom:22px; flex-wrap:wrap;}
  .rating-big{font-family:'Inter',sans-serif; font-size:40px; font-weight:800;}
  .rating-bars{flex:1; min-width:180px; display:flex; flex-direction:column; gap:5px;}
  .rating-bar-row{display:flex; align-items:center; gap:8px; font-size:11.5px; color:var(--ink-soft);}
  .rating-bar-track{flex:1; height:6px; border-radius:999px; background:var(--surface-2); overflow:hidden;}
  .rating-bar-fill{height:100%; background:var(--accent-2); border-radius:999px;}

  .faq{display:flex; flex-direction:column; gap:10px;}
  .faq-item{background:var(--surface); border:1px solid var(--line); border-radius:14px; overflow:hidden;}
  .faq-q{
    width:100%; text-align:left; padding:16px 18px; background:none; border:none; cursor:pointer;
    display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:14.5px; font-weight:600;
  }
  .faq-q svg{width:16px;height:16px; flex:none; transition:transform .2s ease; color:var(--ink-soft);}
  .faq-item.open .faq-q svg{transform:rotate(180deg);}
  .faq-a{max-height:0; overflow:hidden; transition:max-height .25s ease;}
  .faq-a p{padding:0 18px 16px; margin:0; font-size:13.5px; color:var(--ink-soft); line-height:1.55;}

  footer{border-top:1px solid var(--line); padding-block:32px 24px; margin-top:16px;}
  .foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:26px; margin-bottom:22px;}
  @media (max-width:700px){ .foot-grid{grid-template-columns:1fr;} }
  .foot-grid h4{font-size:12.5px; text-transform:uppercase; letter-spacing:.05em; color:var(--ink-soft); margin-bottom:10px; font-weight:700;}
  .foot-links{display:flex; flex-direction:column; gap:7px; font-size:13.5px;}
  .foot-links a{text-decoration:none;}
  .foot-bottom{display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:12px; color:var(--ink-soft); border-top:1px solid var(--line); padding-top:16px;}
  .pay-icons{display:flex; gap:8px; align-items:center;}
  .pay-chip{font-size:11px; font-weight:700; padding:4px 8px; border-radius:6px; background:var(--surface-2); border:1px solid var(--line);}
  .pay-chip.pp{background:#FFC43A; color:#292722; border-color:transparent;}

  #toast{
    position:fixed; bottom:90px; left:50%; transform:translateX(-50%) translateY(20px);
    background:var(--ink); color:var(--bg); padding:12px 20px; border-radius:999px;
    font-size:13.5px; font-weight:500; opacity:0; pointer-events:none; transition:opacity .25s, transform .25s;
    z-index:80; box-shadow:var(--shadow); max-width:calc(100vw - 32px); text-align:center;
  }
  #toast.show{opacity:1; transform:translateX(-50%) translateY(0);}

  .overlay{position:fixed; inset:0; background:color-mix(in srgb, var(--ink) 55%, transparent); z-index:60; opacity:0; pointer-events:none; transition:opacity .2s ease;}
  .overlay.open{opacity:1; pointer-events:auto;}

  .cart-drawer{
    position:fixed; z-index:70; top:0; right:0; height:100%; width:min(400px, 100vw);
    background:var(--surface); box-shadow:-8px 0 30px rgba(0,0,0,0.15);
    transform:translateX(100%); transition:transform .25s ease;
    display:flex; flex-direction:column;
    padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
  }
  .cart-drawer.open{transform:translateX(0);}
  .cart-head{display:flex; align-items:center; justify-content:space-between; padding:18px 20px; border-bottom:1px solid var(--line);}
  .cart-head h3{font-size:17px;}
  .cart-items{flex:1; overflow-y:auto; padding:14px 20px; display:flex; flex-direction:column; gap:14px;}
  .cart-row{display:flex; gap:12px; align-items:center;}
  .cart-row img{width:56px;height:56px;border-radius:10px; object-fit:cover; background:var(--surface-2); flex:none;}
  .cart-row .info{flex:1; min-width:0;}
  .cart-row .info h4{font-size:13px; font-weight:700; margin:0 0 2px;}
  .cart-row .info .mono{font-size:12px; color:var(--ink-soft);}
  .cart-row .qty-stepper{transform:scale(0.85); transform-origin:left center;}
  .cart-remove{background:none; border:none; color:var(--ink-soft); cursor:pointer; font-size:12px; text-decoration:underline; padding:0;}
  .cart-empty{padding:40px 10px; text-align:center; color:var(--ink-soft); font-size:14px;}
  .cart-foot{border-top:1px solid var(--line); padding:18px 20px; display:flex; flex-direction:column; gap:12px;}
  .cart-subtotal{display:flex; justify-content:space-between; font-size:15px; font-weight:700;}
  .cart-note{font-size:11.5px; color:var(--ink-soft); text-align:center;}
  .confirm-panel{padding:36px 26px; text-align:center; display:flex; flex-direction:column; align-items:center; gap:10px;}
  .confirm-check{width:56px; height:56px; border-radius:999px; background:var(--accent-3-bg); color:var(--accent-3); display:flex; align-items:center; justify-content:center; margin-bottom:6px;}

  .btn-xl{padding:16px 30px; font-size:15.5px; border-radius:999px;}

  /* ===== Feature gallery (zig-zag) inside product page ===== */
  .feature-gallery{display:flex; flex-direction:column; gap:64px;}
  .fg-row{display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:center;}
  @media (max-width:820px){ .fg-row{grid-template-columns:1fr;} }
  .fg-row.reverse .fg-media{order:2;}
  @media (max-width:820px){ .fg-row.reverse .fg-media{order:0;} }
  .fg-media{
    border-radius:var(--radius); overflow:hidden; border:1px solid var(--line);
    box-shadow:var(--shadow-lift); background:var(--surface-2); perspective:900px;
  }
  .fg-media img{width:100%; display:block; transition:transform .5s cubic-bezier(.2,.8,.2,1), filter .3s ease;}
  .fg-media:hover img{transform:scale(1.05) rotateX(1.5deg) rotateY(-1.5deg); filter:saturate(1.08);}
  .fg-text .eyebrow{margin-bottom:14px;}
  .fg-text h3{font-size:clamp(19px,2.2vw,25px); margin-bottom:10px;}
  .fg-text p{font-size:14.5px; color:var(--ink-soft); line-height:1.6; max-width:44ch;}

  .photo-gallery{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
  @media (max-width:900px){ .photo-gallery{grid-template-columns:repeat(2,1fr);} }
  .photo-card{
    position:relative; border-radius:var(--radius); overflow:hidden; border:1px solid var(--line);
    box-shadow:var(--shadow); background:var(--surface-2); perspective:900px;
  }
  .photo-card img{
    width:100%; aspect-ratio:1/1; object-fit:cover; display:block;
    transition:transform .5s cubic-bezier(.2,.8,.2,1), filter .3s ease;
  }
  .photo-card:hover img{transform:scale(1.08) rotateX(2deg) rotateY(-2deg); filter:saturate(1.1);}
  .photo-card-cap{
    position:absolute; left:0; right:0; bottom:0; padding:10px 12px 12px;
    font-size:12.5px; font-weight:600; color:#fff;
    background:linear-gradient(0deg, rgba(0,0,0,.55), transparent);
  }

  .lifestyle-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
  @media (max-width:680px){ .lifestyle-grid{grid-template-columns:1fr;} }
  .lifestyle-card{
    border-radius:var(--radius); overflow:hidden; border:1px solid var(--line);
    box-shadow:var(--shadow-lift); perspective:900px;
  }
  .lifestyle-card img{
    width:100%; aspect-ratio:2/3; object-fit:cover; display:block;
    transition:transform .6s cubic-bezier(.2,.8,.2,1);
  }
  .lifestyle-card:hover img{transform:scale(1.04);}

  .video-showcase{display:flex; justify-content:center;}
  .video-frame{
    width:min(320px, 78vw); aspect-ratio:9/16; border-radius:32px; overflow:hidden;
    border:6px solid var(--surface); outline:1px solid var(--line); box-shadow:var(--shadow-lift);
    background:#000; position:relative;
  }
  .product-video{width:100%; height:100%; object-fit:cover; display:block;}

  /* ===== v20: más llamativa e interactiva ===== */
  .scroll-progress{position:fixed; top:0; left:0; height:3px; width:0; z-index:100;
    background:linear-gradient(90deg, var(--accent-2), var(--accent)); box-shadow:0 0 10px rgba(42,39,35,.6);}

  .hero-info h1 .grad{
    background:linear-gradient(100deg, var(--accent) 10%, var(--accent-2) 60%, var(--accent-3));
    -webkit-background-clip:text; background-clip:text; color:transparent;
  }
  .gallery-main{transition:transform .25s ease-out, box-shadow .25s ease; transform-style:preserve-3d; will-change:transform;}
  .gallery-main:hover{box-shadow:0 10px 24px rgba(31,29,26,.14), 0 40px 70px -30px rgba(31,29,26,.45);}
  .gallery-img img{transition:transform .5s cubic-bezier(.2,.8,.2,1), opacity .25s ease;}
  .gallery-main:hover .gallery-img img{transform:scale(1.04);}
  .gallery-chip{animation:chipFloat 4s ease-in-out infinite;}
  .gallery-chip.gc-bottom{animation-delay:-2s;}
  @keyframes chipFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-6px);}}

  /* Packs */
  .pack-grid{margin-top:14px;}
  .pack-card{transition:border-color .2s ease, transform .2s ease, box-shadow .2s ease;}
  .pack-card:hover{box-shadow:var(--shadow-lift);}
  .pack-ribbon{
    position:absolute; top:-11px; left:50%; transform:translateX(-50%); white-space:nowrap;
    background:linear-gradient(135deg, var(--accent), var(--accent-3)); color:#fff;
    font-size:10.5px; font-weight:800; letter-spacing:.03em; text-transform:uppercase;
    padding:4px 11px; border-radius:999px; box-shadow:0 6px 14px -6px rgba(31,29,26,.7);
  }
  .pack-units{font-size:12px; font-weight:700; color:var(--ink-soft); margin-bottom:2px;}
  .pack-unit{display:inline-block; font-size:11.5px; font-weight:700; color:var(--accent-3);
    background:var(--accent-3-bg); padding:3px 8px; border-radius:6px; margin:4px 0 8px;}

  /* Brillo en los botones principales */
  .btn-primary{position:relative; overflow:hidden; isolation:isolate;}
  .btn-primary::after{
    content:''; position:absolute; top:0; left:-60%; width:40%; height:100%; z-index:-1;
    background:linear-gradient(100deg, transparent, rgba(255,255,255,.45), transparent);
    transform:skewX(-20deg); animation:shine 3.4s ease-in-out infinite;
  }
  @keyframes shine{0%,60%{left:-60%;}100%{left:130%;}}
  #addBtn{padding-block:16px; font-size:15.5px; box-shadow:0 12px 26px -12px rgba(42,39,35,.8);}
  .btn-light{background:#fff; color:var(--accent); font-weight:800;}
  .btn-light:hover{box-shadow:0 10px 24px -8px rgba(0,0,0,.25); transform:translateY(-1px);}

  .icon-btn.bump{animation:bump .5s cubic-bezier(.3,1.6,.5,1);}
  @keyframes bump{0%{transform:scale(1);}35%{transform:scale(1.28);}100%{transform:scale(1);}}
  .fly-dot{position:fixed; z-index:120; width:14px; height:14px; border-radius:50%; pointer-events:none;
    background:var(--accent); box-shadow:0 0 12px rgba(42,39,35,.8);
    transition:transform .7s cubic-bezier(.5,-0.3,.7,1), opacity .7s ease;}

  /* Cinta de confianza en movimiento */
  .trust-marquee{background:linear-gradient(90deg, var(--accent), var(--accent-2)); color:#fff; overflow:hidden; padding-block:13px;}
  .tm-track{display:flex; width:max-content; animation:tm 38s linear infinite;}
  .tm-group{display:flex; gap:40px; padding-right:40px;}
  .tm-item{display:flex; align-items:center; gap:8px; font-weight:800; font-size:13.5px; white-space:nowrap; letter-spacing:.01em;}
  .tm-item svg{width:15px; height:15px; flex:none;}
  @keyframes tm{from{transform:translateX(0);}to{transform:translateX(-50%);}}

  .stat-card{transition:transform .2s ease, box-shadow .2s ease;}
  .stat-card:hover{transform:translateY(-4px); box-shadow:var(--shadow-lift);}
  .feature-item svg{transition:transform .3s ease;}
  .feature-item:hover svg{transform:scale(1.2) rotate(-8deg);}

  /* Antes / después deslizable */
  .ba-slider{position:relative; max-width:760px; margin-inline:auto; aspect-ratio:16/9; border-radius:22px; overflow:hidden;
    border:1px solid var(--line); user-select:none; touch-action:pan-y;}
  .ba-layer{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; padding:8% 10%;}
  .ba-layer svg{width:100%; max-width:none; height:auto;}
  .ba-before{background:linear-gradient(135deg,#F8F7F4,#F2F0EB);}
  .ba-after{background:linear-gradient(135deg,#FFFFFF,#F9F8F6); clip-path:inset(0 0 0 var(--pos));}
  .ba-layer .ba-tag{position:absolute; top:14px; margin:0;}
  .ba-before .ba-tag{left:14px;}
  .ba-after .ba-tag{right:14px;}
  .ba-line{position:absolute; top:0; bottom:0; left:var(--pos); width:3px; margin-left:-1.5px; background:var(--accent); pointer-events:none;
    box-shadow:0 0 12px rgba(42,39,35,.5);}
  .ba-knob{position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:46px; height:46px; border-radius:50%;
    background:linear-gradient(135deg, var(--accent), var(--accent-2)); color:#fff; display:flex; align-items:center; justify-content:center;
    box-shadow:0 8px 20px -6px rgba(31,29,26,.7), 0 0 0 5px rgba(255,255,255,.85);}
  .ba-knob svg{width:22px; height:22px;}
  .ba-range{position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:ew-resize; margin:0;}
  .ba-hint{text-align:center; font-size:12.5px; font-weight:700; color:var(--accent); margin:14px 0 0;}

  /* Modos interactivos */
  .modes-wrap{display:grid; grid-template-columns:1fr 1.1fr; gap:30px; align-items:center;
    background:linear-gradient(135deg,#FCFBFA,#F7F5F2); border:1px solid var(--line); border-radius:28px; padding:30px; box-shadow:var(--shadow-lift);}
  @media (max-width:820px){ .modes-wrap{grid-template-columns:1fr; padding:20px;} }
  .mode-tabs{display:inline-flex; gap:4px; background:#fff; border:1px solid var(--line); border-radius:999px; padding:5px; margin-bottom:20px;}
  .mode-tab{border:none; background:none; padding:10px 20px; border-radius:999px; font-weight:800; font-size:14px; color:var(--ink-soft); cursor:pointer; transition:all .25s ease;}
  .mode-tab:hover{color:var(--accent);}
  .mode-tab.active{background:linear-gradient(135deg, var(--accent), var(--accent-2)); color:#fff; box-shadow:0 8px 16px -8px rgba(42,39,35,.9);}
  .mode-title{font-size:clamp(20px,2.4vw,26px); margin-bottom:8px;}
  .mode-desc{font-size:14.5px; color:var(--ink-soft); line-height:1.6; margin:0 0 18px; min-height:3.2em;}
  .meter-label{display:flex; justify-content:space-between; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; margin-bottom:6px;}
  .meter{height:12px; border-radius:999px; background:#fff; border:1px solid var(--line); overflow:hidden;}
  .meter-fill{height:100%; width:30%; border-radius:999px; background:linear-gradient(90deg, var(--accent-2), var(--accent)); transition:width .7s cubic-bezier(.2,.8,.2,1);}
  .mode-for{margin-top:16px; font-size:13px; font-weight:700; color:var(--accent-3); background:#fff; border:1px dashed var(--line); border-radius:12px; padding:10px 14px;}
  .jet-stage{position:relative; height:240px; border-radius:22px; overflow:hidden; border:1px solid var(--line);
    background:radial-gradient(120% 90% at 20% 50%, #FFFFFF, #F7F5F2 70%, #F0EEE9);}
  .jet-device{position:absolute; left:14px; top:50%; transform:translateY(-50%); width:120px; z-index:2; filter:drop-shadow(0 6px 10px rgba(0,0,0,.15));}
  .drops{position:absolute; inset:0; --spd:1.6s; --sz:7px;}
  .drop{position:absolute; left:130px; top:50%; width:var(--sz); height:var(--sz); margin-top:calc(var(--dy) - var(--sz) / 2); border-radius:50%; opacity:0;
    background:radial-gradient(circle at 30% 30%, #fff, #CCC9C2 55%, #8F887A); animation:jet var(--spd) linear infinite;}
  @keyframes jet{0%{left:130px; opacity:0; transform:scale(.5);}8%{opacity:1;}88%{opacity:1;}100%{left:calc(100% - 44px); opacity:0; transform:scale(1.15);}}
  .jet-stage.mode-suave .drops{--spd:1.9s; --sz:6px;}
  .jet-stage.mode-normal .drops{--spd:1s; --sz:8px;}
  .jet-stage.mode-pulso .drops{--spd:1.1s; --sz:9px; animation:pulseJet .55s steps(2, jump-none) infinite;}
  @keyframes pulseJet{0%{opacity:1;}100%{opacity:.15;}}
  .jet-teeth{position:absolute; right:-6px; top:50%; transform:translateY(-50%); display:flex; flex-direction:column; gap:4px;}
  .jet-teeth span{display:block; width:38px; height:44px; background:#fff; border:2px solid #E4EFEF; border-radius:12px 4px 4px 12px; box-shadow:inset -6px 0 0 #F2B9C2;}

  /* CTA final */
  .final-cta{position:relative; overflow:hidden; display:grid; grid-template-columns:1.3fr 0.7fr; gap:24px; align-items:center;
    background:linear-gradient(120deg, var(--accent) 0%, var(--accent-2) 60%, #3A3631 100%); border-radius:32px; padding:44px 40px; color:#fff;
    box-shadow:0 30px 60px -30px rgba(31,29,26,.7);}
  @media (max-width:760px){ .final-cta{grid-template-columns:1fr; padding:32px 24px; text-align:center;} .fc-img{max-width:220px; margin-inline:auto;} .fc-actions{justify-content:center;} }
  .fc-glow{position:absolute; width:420px; height:420px; right:-120px; top:-160px; border-radius:50%; background:radial-gradient(closest-side, rgba(255,255,255,.45), transparent); pointer-events:none;}
  .fc-text{position:relative;}
  .fc-eyebrow{display:inline-block; background:rgba(255,255,255,.22); border:1px solid rgba(255,255,255,.4); padding:6px 12px; border-radius:999px; font-size:12.5px; font-weight:800; margin-bottom:14px;}
  .final-cta h2{color:#fff; font-size:clamp(26px,3.6vw,40px); line-height:1.08; margin-bottom:10px;}
  .final-cta p{color:rgba(255,255,255,.95); font-size:15px; line-height:1.6; margin:0 0 22px; max-width:46ch;}
  @media (max-width:760px){ .final-cta p{margin-inline:auto;} }
  .fc-actions{display:flex; align-items:center; gap:18px; flex-wrap:wrap;}
  .fc-price{font-size:14px; color:#fff;}
  .fc-price strong{font-size:20px;}
  .fc-img{position:relative; width:100%; border-radius:24px; transform:rotate(4deg); box-shadow:0 24px 40px -16px rgba(0,0,0,.35); border:5px solid rgba(255,255,255,.9); animation:chipFloat 5s ease-in-out infinite;}

  #opiniones{background:linear-gradient(180deg, transparent, #FBFAF9 30%, #FBFAF9 70%, transparent); padding-top:52px !important;}
  .testi{transition:transform .25s ease, box-shadow .25s ease;}
  .testi:hover{transform:translateY(-4px); box-shadow:var(--shadow-lift);}
  .faq-item{transition:border-color .2s ease, box-shadow .2s ease;}
  .faq-item:hover, .faq-item.open{border-color:var(--accent-2); box-shadow:var(--shadow);}


  /* ===== v21: rediseño de conversión ===== */
  body{color:var(--ink); font-size:15.5px;}
  h1,h2,h3{color:var(--ink); letter-spacing:-0.02em;}
  .section{padding-block:80px;}
  @media (max-width:700px){ .section{padding-block:56px;} }
  .section-head{max-width:680px; margin:0 auto 40px; text-align:center;}
  .section-head h2{font-size:clamp(26px,3.6vw,42px); line-height:1.1; margin-bottom:12px;}
  .section-head p{font-size:16px; max-width:58ch; margin-inline:auto;}
  .eyebrow{color:var(--accent-3); background:var(--accent-3-bg);}
  .stars{color:#FFB400;}
  .star-rating .sr-fg{color:#FFB400;}
  .nav-links a{color:var(--ink-soft);} .nav-links a:hover{color:var(--accent);}
  .logo{color:var(--ink);} .logo-mark{color:var(--accent);}
  .promo-bar{background:var(--ink); color:#fff; font-weight:600;}

  /* Hero */
  .hero{padding-block:36px 56px; background:radial-gradient(90% 70% at 85% 0%, #F8F7F5 0%, transparent 60%), radial-gradient(60% 50% at 0% 20%, #FBFAF9, transparent 70%);}
  .hero::before{display:none;}
  .hero-info h1{font-size:clamp(28px,3.6vw,44px); line-height:1.08; margin-bottom:12px;}
  .hero-info .subtitle{font-size:16px; color:var(--ink-soft); margin-bottom:16px;}
  .rating-row{text-decoration:none; color:var(--ink); margin-bottom:12px; display:inline-flex; gap:8px; padding:6px 12px 6px 10px; background:#fff; border:1px solid var(--line); border-radius:999px;}
  .rating-row:hover{border-color:var(--accent-2);}
  .hero-eyebrow{margin-bottom:12px;}
  .hero-benefits{list-style:none; padding:0; margin:0 0 22px; display:flex; flex-direction:column; gap:9px;}
  .hero-benefits li{display:flex; align-items:center; gap:10px; font-size:14.5px; font-weight:600;}
  .hb-ic{width:22px; height:22px; border-radius:50%; background:linear-gradient(135deg,var(--accent),var(--accent-2)); color:#fff; display:flex; align-items:center; justify-content:center; flex:none;}
  .hb-ic svg{width:12px; height:12px;}
  .gallery-main{border-radius:30px; padding:18px;}
  .gallery-img{border-radius:20px;}
  .color-label{font-size:13.5px; font-weight:700; margin-top:16px;} .color-name{color:var(--accent-3);}

  .buy-box{background:#fff; border:1.5px solid var(--line); border-radius:24px; padding:20px; box-shadow:0 20px 50px -30px rgba(31,29,26,.45); margin-bottom:18px;}
  .buy-box-head{display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; font-weight:800; font-size:15px; margin-bottom:6px;}
  .bb-gift{font-size:12px; font-weight:700; color:var(--accent-3); background:var(--accent-3-bg); padding:4px 10px; border-radius:999px;}
  .pack-grid{margin-top:18px;}
  .pack-card{border-width:2px; background:#fff;}
  .pack-card.active{background:linear-gradient(180deg,#FCFBFA,#fff);}
  .pack-price{font-size:28px; color:var(--ink);}
  .pack-tag{background:var(--ink); color:#fff;}
  .pack-tag.gold{background:linear-gradient(135deg,var(--accent),var(--accent-3)); color:#fff;}
  .qty-row{margin:4px 0 16px;}
  .cta-col{margin-bottom:12px;}
  #addBtn{font-size:16.5px; padding-block:18px;}
  .pay-row{display:flex; align-items:center; justify-content:center; gap:8px; flex-wrap:wrap;}
  .pay-lock{display:flex; align-items:center; gap:5px; font-size:12px; font-weight:700; color:var(--ink-soft); margin-left:4px;}
  .pay-lock svg{width:14px; height:14px; color:#1E9E5A;}
  .trust-mini{justify-content:center;}
  .stat-strip{margin-top:48px;}
  .stat-card .snum{color:var(--ink);}

  /* Problema */
  #problema{background:var(--surface-2);}
  .prob-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
  @media (max-width:820px){ .prob-grid{grid-template-columns:1fr;} }
  .prob-card{background:#fff; border:1px solid var(--line); border-radius:24px; padding:28px 24px; text-align:center; transition:transform .25s ease, box-shadow .25s ease;}
  .prob-card:hover{transform:translateY(-6px); box-shadow:var(--shadow-lift);}
  .prob-card h3{font-size:19px; margin:14px 0 8px;}
  .prob-card p{font-size:14.5px; color:var(--ink-soft); line-height:1.6; margin:0;}
  .prob-ic{width:56px; height:56px; margin:0 auto; border-radius:18px; display:flex; align-items:center; justify-content:center;}
  .prob-ic svg{width:28px; height:28px;}
  .prob-card.bad .prob-ic{background:#F4EEEA; color:#9B8B82;}
  .prob-card.good{background:linear-gradient(160deg, var(--accent), var(--accent-2)); border:none; color:#fff; transform:scale(1.03); box-shadow:0 30px 60px -30px rgba(42,39,35,.8);}
  .prob-card.good:hover{transform:scale(1.03) translateY(-6px);}
  .prob-card.good h3{color:#fff;} .prob-card.good p{color:rgba(255,255,255,.95);}
  .prob-card.good .prob-ic{background:rgba(255,255,255,.22); color:#fff;}

  /* Antes/después */
  .before-after{border-radius:32px; padding:28px;}

  /* Funciones */
  .fg-text h3{font-size:clamp(22px,2.6vw,30px);}
  .fg-text p{font-size:15.5px;}
  .fg-media{border-radius:28px;}

  /* Vídeo en banda oscura */
  .dark-band{background:radial-gradient(80% 70% at 50% 0%, #2E2A25 0%, #171513 70%); color:#fff; position:relative; overflow:hidden;}
  .dark-band .section-head h2{color:#fff;}
  .dark-band .section-head p{color:rgba(255,255,255,.75);}
  .dark-band .eyebrow{background:rgba(42,39,35,.18); color:#F2C230;}
  .dark-band .video-frame{border-color:#26231F; outline:none; box-shadow:0 40px 80px -30px rgba(42,39,35,.55), 0 0 0 1px rgba(255,255,255,.08);}
  .dark-band::before{content:''; position:absolute; width:520px; height:520px; left:50%; top:55%; transform:translate(-50%,-50%); border-radius:50%; background:radial-gradient(closest-side, rgba(42,39,35,.35), transparent); pointer-events:none;}
  .dark-band .wrap{position:relative;}

  #lifestyle{padding-top:0;}
  .photo-card, .lifestyle-card{border-radius:24px;}

  /* Pasos */
  #pasos{background:var(--surface-2);}
  .steps{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; counter-reset:s; position:relative;}
  @media (max-width:820px){ .steps{grid-template-columns:1fr;} }
  .step{position:relative; background:#fff; border:1px solid var(--line); border-radius:24px; padding:34px 24px 26px; text-align:center;}
  .step-n{position:absolute; top:-16px; left:50%; transform:translateX(-50%); width:34px; height:34px; border-radius:50%; background:var(--ink); color:#fff; font-weight:800; display:flex; align-items:center; justify-content:center; font-family:'Inter',sans-serif;}
  .step-ic{width:60px; height:60px; margin:0 auto 14px; border-radius:50%; background:var(--accent-3-bg); color:var(--accent); display:flex; align-items:center; justify-content:center;}
  .step-ic svg{width:28px; height:28px;}
  .step h3{font-size:18px; margin-bottom:6px;}
  .step p{font-size:14.5px; color:var(--ink-soft); margin:0; line-height:1.55;}

  /* Comparativa */
  .cmp-wrap{max-width:820px; margin:0 auto; overflow-x:auto; border-radius:24px; border:1px solid var(--line); box-shadow:var(--shadow-lift); background:#fff;}
  .cmp{width:100%; border-collapse:collapse; font-size:14.5px; min-width:520px;}
  .cmp th, .cmp td{padding:16px 14px; text-align:center; border-bottom:1px solid var(--line);}
  .cmp tr:last-child td{border-bottom:none;}
  .cmp td:first-child{text-align:left; font-weight:700;}
  .cmp th{font-size:13.5px; color:var(--ink-soft); font-weight:700;}
  .cmp .hl{background:#F9F8F6;}
  .cmp th.hl{background:linear-gradient(135deg,var(--accent),var(--accent-2));}
  .cmp-brand{color:#fff; font-family:'Inter',sans-serif; font-weight:800; font-size:15px;}
  .cmp-yes, .cmp-no{display:inline-flex; width:28px; height:28px; border-radius:50%; align-items:center; justify-content:center;}
  .cmp-yes{background:#1E9E5A; color:#fff;} .cmp-no{background:#F1E9E4; color:#A8968C;}
  .cmp-yes svg, .cmp-no svg{width:15px; height:15px;}
  .cmp-mid{font-size:12px; font-weight:700; color:var(--ink-soft);}

  /* Qué incluye */
  .incluye-grid{display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center;}
  @media (max-width:820px){ .incluye-grid{grid-template-columns:1fr; gap:28px;} }
  .incluye-img{border-radius:30px; overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow-lift); background:var(--surface-2);}
  .incluye-img img{width:100%;}
  .incluye-title{font-size:clamp(24px,3vw,34px); line-height:1.12; margin:6px 0 20px;}
  .incluye-list{list-style:none; padding:0; margin:0 0 18px; display:flex; flex-direction:column; gap:12px;}
  .incluye-list li{display:flex; gap:14px; align-items:center; background:#fff; border:1px solid var(--line); border-radius:16px; padding:12px 14px;}
  .il-ic{width:42px; height:42px; border-radius:12px; background:var(--accent-3-bg); color:var(--accent); display:flex; align-items:center; justify-content:center; flex:none;}
  .il-ic svg{width:22px; height:22px;}
  .incluye-list strong{display:block; font-size:14.5px;} .incluye-list small{color:var(--ink-soft); font-size:12.5px;}
  .specs-details{margin-bottom:14px;}
  .specs-details summary{cursor:pointer; font-weight:800; color:var(--accent-3); font-size:14px; padding:6px 0; list-style:none;}
  .specs-details summary::after{content:' +';}
  .specs-details[open] summary::after{content:' –';}
  .specs-details .specs-table{margin-top:10px;}
  .specs-table td:first-child{color:var(--ink-soft);}
  .incluye-note{font-size:13.5px; font-weight:700; color:var(--accent-3); margin:0;}

  /* Garantía */
  #garantia{padding-block:24px 56px;}
  .guarantee{display:grid; grid-template-columns:auto 1fr auto; gap:28px; align-items:center; background:#fff; border:2px dashed #E6E1D8; border-radius:28px; padding:30px 34px;}
  @media (max-width:860px){ .guarantee{grid-template-columns:1fr; text-align:center; justify-items:center;} }
  .g-badge{position:relative; width:104px; height:104px; color:var(--accent);}
  .g-badge svg{width:104px; height:104px; stroke-width:1.2;}
  .g-badge span{position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; font-family:'Inter',sans-serif; font-weight:800; font-size:26px; line-height:.9; color:var(--ink); padding-bottom:6px;}
  .g-badge small{font-size:11px; text-transform:uppercase; letter-spacing:.06em;}
  .g-text h2{font-size:clamp(20px,2.4vw,26px); margin-bottom:6px;}
  .g-text p{margin:0; color:var(--ink-soft); line-height:1.6; font-size:14.5px;}
  .g-points{display:flex; flex-direction:column; gap:10px;}
  @media (max-width:860px){ .g-points{flex-direction:row; flex-wrap:wrap; justify-content:center;} }
  .g-points span{display:flex; align-items:center; gap:8px; font-size:13.5px; font-weight:700; white-space:nowrap;}
  .g-points svg{width:18px; height:18px; color:var(--accent);}

  /* Opiniones / FAQ / CTA */
  .rating-summary{max-width:760px; margin:0 auto 26px; border-radius:24px; box-shadow:var(--shadow);}
  .rating-big{color:var(--ink);}
  .testi{border-radius:20px;}
  .faq{max-width:780px; margin:0 auto;}
  .faq-q{font-size:15.5px; padding:18px 20px;}
  .final-cta{border-radius:36px; padding:56px 48px;}
  footer{background:var(--surface-2);}
  @media (max-width:560px){
    .cmp{min-width:0; font-size:12.5px;} .cmp th, .cmp td{padding:12px 5px;} .cmp td:first-child{padding-left:12px; width:38%;}
    .cmp th{font-size:11.5px;} .cmp-brand{font-size:12px;} .cmp-mid{font-size:10.5px;}
    .cmp-yes, .cmp-no{width:24px; height:24px;}
  }
  /* recorta la franja inferior de las fotos lifestyle (llevan impreso el nombre antiguo) */
  .lifestyle-card img{aspect-ratio:2/2.76; object-position:top;}

  /* ===== v22: vídeo nuevo + lightbox ===== */
  .video-layout{display:grid; grid-template-columns:auto 1fr; gap:64px; align-items:center; max-width:980px; margin:0 auto;}
  @media (max-width:860px){ .video-layout{grid-template-columns:1fr; gap:36px; justify-items:center;} .video-copy{text-align:center;} }
  .video-frame{width:min(360px, 84vw); aspect-ratio:714/1136; border-radius:34px; border:7px solid #26231F;}
  .video-copy h2{color:#fff; font-size:clamp(30px,4vw,46px); line-height:1.05; margin:4px 0 12px;}
  .video-lead{color:rgba(255,255,255,.75); font-size:16px; line-height:1.6; margin:0 0 24px; max-width:46ch;}
  @media (max-width:860px){ .video-lead{margin-inline:auto;} }
  .vchaps{display:flex; flex-direction:column; gap:8px; margin-bottom:26px; text-align:left;}
  .vchap{position:relative; overflow:hidden; display:flex; align-items:center; gap:14px; width:100%; padding:12px 16px; border-radius:16px; cursor:pointer;
    background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); color:#fff; font-family:inherit; text-align:left; transition:background .2s ease, border-color .2s ease, transform .2s ease;}
  .vchap:hover{background:rgba(255,255,255,.08); transform:translateX(4px);}
  .vchap.active{background:rgba(42,39,35,.14); border-color:rgba(242,194,48,.55);}
  .vchap-n{font-family:'IBM Plex Mono',monospace; font-size:12px; font-weight:600; color:#F2C230; flex:none;}
  .vchap-txt{display:flex; flex-direction:column; gap:2px;}
  .vchap-txt strong{font-size:14.5px;} .vchap-txt small{font-size:12.5px; color:rgba(255,255,255,.6);}
  .vchap-bar{position:absolute; left:0; bottom:0; height:2px; width:100%;}
  .vchap-bar i{display:block; height:100%; width:0; background:linear-gradient(90deg,var(--accent),var(--accent-2));}
  .video-cta{box-shadow:0 18px 40px -16px rgba(42,39,35,.9);}
  .v-sound{position:absolute; left:12px; bottom:22px; z-index:3; display:flex; align-items:center; gap:7px; padding:8px 13px 8px 10px; border-radius:999px; border:1px solid rgba(255,255,255,.3);
    background:rgba(20,14,11,.55); backdrop-filter:blur(8px); color:#fff; font-size:12.5px; font-weight:700; cursor:pointer; font-family:inherit;}
  .v-sound svg{width:17px; height:17px;} .v-sound .v-on{display:none;} .v-sound.on .v-on{display:inline;} .v-sound.on .v-off{display:none;}
  .v-sound:not(.on){animation:soundPulse 2.2s ease-in-out infinite;}
  @keyframes soundPulse{0%,100%{box-shadow:0 0 0 0 rgba(42,39,35,.55);}50%{box-shadow:0 0 0 8px rgba(42,39,35,0);}}
  .v-play{position:absolute; right:12px; bottom:22px; z-index:3; width:38px; height:38px; border-radius:50%; border:1px solid rgba(255,255,255,.3); background:rgba(20,14,11,.55); backdrop-filter:blur(8px); color:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center;}
  .v-play svg{width:15px; height:15px;} .v-play .v-resume{display:none;} .v-play.paused .v-resume{display:inline;} .v-play.paused .v-pause{display:none;}
  .v-progress{position:absolute; left:0; right:0; bottom:0; height:4px; background:rgba(255,255,255,.2); z-index:3;}
  .v-progress i{display:block; height:100%; width:0; background:linear-gradient(90deg,var(--accent),var(--accent-2));}
  .v-ai{position:absolute; top:12px; right:12px; z-index:3; font-size:10.5px; font-weight:700; color:rgba(255,255,255,.85); background:rgba(20,14,11,.45); backdrop-filter:blur(6px); padding:4px 9px; border-radius:999px;}

  .gc-video{animation:none !important; cursor:pointer; font-family:inherit; border:none; background:var(--ink); color:#fff; padding:7px 14px 7px 7px;}
  .gc-video:hover{background:var(--accent);}
  .gcv-play{width:24px; height:24px; border-radius:50%; background:linear-gradient(135deg,var(--accent),var(--accent-2)); display:flex; align-items:center; justify-content:center;}
  .gc-video .gcv-play svg{width:12px; height:12px; color:#fff; margin-left:1px;}
  .photo-card{cursor:zoom-in;}

  .lightbox{position:fixed; inset:0; z-index:200; background:rgba(14,10,8,.88); backdrop-filter:blur(10px); display:flex; align-items:center; justify-content:center; padding:24px;
    opacity:0; pointer-events:none; transition:opacity .25s ease;}
  .lightbox.open{opacity:1; pointer-events:auto;}
  .lb-body{max-width:min(92vw, 900px); max-height:86vh; transform:scale(.94); transition:transform .3s cubic-bezier(.2,.8,.2,1);}
  .lightbox.open .lb-body{transform:scale(1);}
  .lb-body img{max-width:100%; max-height:86vh; border-radius:20px; box-shadow:0 30px 80px rgba(0,0,0,.5);}
  .lb-body video{display:block; width:min(92vw, calc(min(82vh, 720px) * 714 / 1136)); height:auto; aspect-ratio:714/1136; border-radius:24px; background:#000; box-shadow:0 30px 80px rgba(0,0,0,.5);}
  .lb-close{position:absolute; top:18px; right:18px; width:44px; height:44px; border-radius:50%; border:none; background:#fff; color:var(--ink); cursor:pointer; display:flex; align-items:center; justify-content:center;}
  .lb-close svg{width:18px; height:18px;}

  /* ===== v23: legal y cookies ===== */
  .iva{font-family:'Inter',sans-serif; font-size:11px; font-weight:600; color:var(--ink-soft); letter-spacing:0;}
  @media (max-width:860px){ .foot-grid{grid-template-columns:1fr 1fr !important;} .foot-grid > div:first-child{grid-column:1 / -1;} }
  .terms-check{display:flex; gap:9px; align-items:flex-start; font-size:12.5px; color:var(--ink-soft); line-height:1.45; cursor:pointer;}
  .terms-check input{margin-top:2px; accent-color:var(--accent); width:16px; height:16px; flex:none;}
  .terms-check a{color:var(--accent-3); font-weight:700;}
  .terms-check.shake{animation:shake .45s ease;}
  @keyframes shake{0%,100%{transform:translateX(0);}25%{transform:translateX(-6px);}75%{transform:translateX(6px);}}

  .cookie-banner{position:fixed; left:16px; right:16px; bottom:16px; z-index:150; max-width:980px; margin:0 auto;
    background:#fff; border:1px solid var(--line); border-radius:22px; box-shadow:0 24px 60px -20px rgba(30,22,18,.35); padding:20px 22px;
    transform:translateY(140%); transition:transform .45s cubic-bezier(.2,.8,.2,1);}
  .cookie-banner.show{transform:translateY(0);}
  .cb-main{display:flex; gap:22px; align-items:center;}
  @media (max-width:760px){ .cb-main{flex-direction:column; align-items:stretch; gap:14px;} }
  .cb-text strong{font-size:15px; display:block; margin-bottom:4px;}
  .cb-text p{margin:0; font-size:13px; line-height:1.55; color:var(--ink-soft);}
  .cb-text a{color:var(--accent-3); font-weight:700;}
  .cb-actions{display:flex; gap:8px; flex-wrap:wrap; flex:none;}
  @media (max-width:760px){ .cb-actions .btn{flex:1;} }
  .cb-actions .btn-ghost{border-color:var(--ink); color:var(--ink);}
  .cb-config{display:flex; flex-direction:column; gap:10px;}
  .cb-config[hidden]{display:none;}
  .cb-main[hidden]{display:none;}
  .cookie-banner{max-height:calc(100vh - 32px); overflow-y:auto;}
  .cb-opt{display:flex; justify-content:space-between; gap:16px; align-items:center; padding:12px 14px; border:1px solid var(--line); border-radius:14px; cursor:pointer;}
  .cb-opt b{display:block; font-size:14px;} .cb-opt small{font-size:12.5px; color:var(--ink-soft); line-height:1.45;}
  .cb-opt input{width:20px; height:20px; accent-color:var(--accent); flex:none;}

  .legal-modal{position:fixed; inset:0; z-index:210; background:rgba(14,10,8,.6); backdrop-filter:blur(6px); display:flex; align-items:center; justify-content:center; padding:16px;
    opacity:0; pointer-events:none; transition:opacity .2s ease;}
  .legal-modal.open{opacity:1; pointer-events:auto;}
  .lm-panel{background:#fff; border-radius:24px; width:min(760px, 100%); max-height:88vh; display:flex; flex-direction:column; box-shadow:0 30px 80px rgba(0,0,0,.35);}
  .lm-head{display:flex; justify-content:space-between; align-items:center; gap:12px; padding:18px 22px; border-bottom:1px solid var(--line);}
  .lm-head h3{font-size:19px;}
  .lm-body{overflow-y:auto; padding:6px 24px 26px; font-size:14px; line-height:1.65; color:var(--ink);}
  .lm-body h4{font-size:15px; margin:20px 0 6px;}
  .lm-body p, .lm-body li{color:#3E332D;}
  .lm-body ul{padding-left:20px;}
  .lm-body table{width:100%; border-collapse:collapse; font-size:13px; margin:8px 0;}
  .lm-body th, .lm-body td{border:1px solid var(--line); padding:8px; text-align:left; vertical-align:top;}
  .lm-body th{background:var(--surface-2);}
  .lm-body .ph{background:#FFF1C2; color:#7A4B00; padding:0 4px; border-radius:4px; font-weight:600;}
  .lm-body .lm-updated{font-size:12px; color:var(--ink-soft);}
  .lm-body .form-box{border:1px dashed var(--line); border-radius:12px; padding:12px 16px; background:var(--surface-2);}
  .logo{white-space:nowrap;}
  @media (max-width:480px){
    .nav{gap:10px;} .logo{font-size:18px;} .nav-right{gap:8px;}
    .nav-right .btn-sm{padding:9px 13px; font-size:12.5px; white-space:nowrap;}
    .mode-tab{padding:9px 14px;} .jet-stage{height:200px;} .jet-device{width:96px;}
    .drop{left:104px;}
  }
  @media (prefers-reduced-motion: reduce){ *{transition:none !important; animation:none !important;} }

  /* ===== Tappify ===== */
  .logo-accent{color:var(--accent); margin-left:1px;}
  .logo-mark{color:#FFB400 !important;}
  .illus-note{font-weight:500; color:var(--ink-soft); font-size:12px;}
  .tm-note{font-size:11px; color:var(--ink-soft); line-height:1.5; margin-top:10px; max-width:40ch;}

  /* Tarjeta 3D en el hero */
  .card-stage-wrap{padding:0; overflow:hidden;}
  .card-stage{position:relative; aspect-ratio:1/1; border-radius:24px; overflow:hidden; display:flex; align-items:center; justify-content:center;
    background:radial-gradient(70% 60% at 50% 45%, #FFFFFF 0%, #F8F7F5 55%, #F1EFEA 100%); perspective:1200px;}
  .card-float{position:relative; width:78%; animation:cardFloat 6s ease-in-out infinite; transform-style:preserve-3d;}
  .card-3d{transform:rotateX(18deg) rotateY(-16deg) rotateZ(3deg); border-radius:5%; overflow:hidden;
    box-shadow:0 40px 60px -24px rgba(31,29,26,.45), 0 0 0 1px rgba(0,0,0,.04);}
  .card-3d svg, .demo-card svg, .fc-card svg, .stack-card svg, .cart-thumb svg{display:block; width:100%; height:auto;}
  .card-shadow{position:absolute; left:10%; right:10%; bottom:-18%; height:14%; border-radius:50%; background:radial-gradient(closest-side, rgba(31,29,26,.28), transparent); filter:blur(6px); animation:shadowPulse 6s ease-in-out infinite;}
  @keyframes cardFloat{0%,100%{transform:translateY(0) rotate(0deg);}50%{transform:translateY(-16px) rotate(-1.5deg);}}
  @keyframes shadowPulse{0%,100%{transform:scale(1); opacity:1;}50%{transform:scale(.85); opacity:.6;}}
  .sheen{animation:sheen 5s ease-in-out infinite;}
  @keyframes sheen{0%,55%{transform:rotate(18deg) translateX(0);}100%{transform:rotate(18deg) translateX(1500px);}}
  .tap-ring{position:absolute; left:67%; top:50%; width:90px; height:90px; margin:-45px 0 0 -45px; border-radius:50%; border:3px solid var(--accent); opacity:0; animation:tapRing 3s ease-out infinite; pointer-events:none;}
  .tap-ring.r2{animation-delay:1.5s;}
  @keyframes tapRing{0%{transform:scale(.4); opacity:.7;}100%{transform:scale(2.4); opacity:0;}}
  .card-swatch{width:64px; height:44px; padding:3px;}
  .card-swatch span{display:block; width:100%; height:100%; border-radius:7px; box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);}
  .pack-grid-3{grid-template-columns:repeat(3,1fr);}
  @media (max-width:560px){ .pack-grid-3{grid-template-columns:1fr;} }
  .pack-grid-3 .pack-price{font-size:24px;}
  .pack-grid-3 .pack-ribbon{font-size:9.5px;}

  .biz-field{display:flex; flex-direction:column; gap:6px; margin:4px 0 14px;}
  .biz-field label{font-size:13.5px; font-weight:700;}
  .biz-field label small{font-weight:500; color:var(--ink-soft);}
  .biz-field input{font:inherit; font-size:15px; padding:12px 14px; border-radius:12px; border:1.5px solid var(--line); background:#fff; color:var(--ink); outline:none; transition:border-color .2s ease, box-shadow .2s ease;}
  .biz-field input:focus{border-color:var(--accent); box-shadow:0 0 0 4px var(--accent-2-bg);}
  .biz-help{font-size:11.5px; color:var(--ink-soft); line-height:1.45;}

  /* Demo del toque */
  .demo-wrap{display:grid; grid-template-columns:1.1fr 0.9fr; gap:48px; align-items:center;}
  @media (max-width:860px){ .demo-wrap{grid-template-columns:1fr; gap:28px;} }
  .demo-stage{position:relative; height:460px; border-radius:30px; overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow-lift);
    background:radial-gradient(80% 70% at 30% 60%, #FFFFFF, #F8F7F5 60%, #F2EFEA);}
  @media (max-width:560px){ .demo-stage{height:400px;} }
  .demo-card{position:absolute; left:6%; bottom:14%; width:52%; transform:rotateX(55deg) rotateZ(-18deg); transform-origin:center; border-radius:5%; overflow:hidden;
    box-shadow:0 30px 40px -18px rgba(31,29,26,.5);}
  .phone{position:absolute; right:10%; top:8%; width:168px; height:340px; border-radius:30px; background:#111; padding:8px; box-shadow:0 30px 60px -20px rgba(31,29,26,.55);
    transition:transform .9s cubic-bezier(.3,.8,.25,1); z-index:2;}
  @media (max-width:560px){ .phone{width:150px; height:304px; right:6%;} .demo-card{width:58%;} }
  .demo-stage.s-tap .phone{transform:translate(-78%, 34%) rotate(-10deg);}
  .demo-stage.s-review .phone{transform:translate(-30%, 0) rotate(0);}
  .phone-notch{position:absolute; top:12px; left:50%; width:54px; height:14px; margin-left:-27px; border-radius:10px; background:#000; z-index:3;}
  .phone-screen{position:relative; width:100%; height:100%; border-radius:23px; overflow:hidden; background:linear-gradient(160deg,#3F3B34,#22201C); color:#fff;}
  .ps-idle{position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; padding-top:52px; gap:8px; transition:opacity .3s ease;}
  .ps-time{font-family:'Inter',sans-serif; font-size:40px; font-weight:800;}
  .ps-hint{font-size:11px; opacity:.7; text-align:center; padding:0 14px;}
  .ps-notif{position:absolute; left:8px; right:8px; top:30px; padding:9px 10px; border-radius:14px; background:rgba(255,255,255,.95); color:#111; font-size:10.5px;
    transform:translateY(-120%); opacity:0; transition:transform .45s cubic-bezier(.3,1.3,.5,1), opacity .3s ease; z-index:2;}
  .ps-notif b{color:var(--accent);}
  .demo-stage.s-notif .ps-notif{transform:translateY(0); opacity:1;}
  .ps-review{position:absolute; inset:0; background:#fff; color:#1b1b1b; padding:40px 12px 12px; display:flex; flex-direction:column; gap:10px; transform:translateY(100%); transition:transform .5s cubic-bezier(.2,.8,.2,1);}
  .demo-stage.s-review .ps-review{transform:translateY(0);}
  .demo-stage.s-review .ps-notif{opacity:0;}
  .psr-head{display:flex; gap:8px; align-items:center;}
  .psr-avatar{width:28px; height:28px; border-radius:50%; background:var(--accent); color:#fff; font-weight:800; font-size:13px; display:flex; align-items:center; justify-content:center; flex:none;}
  .psr-head b{display:block; font-size:11.5px; max-width:110px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .psr-head small{font-size:9.5px; color:#666;}
  .psr-stars{display:flex; gap:4px; justify-content:center; font-size:24px; color:#E5E2DC;}
  .psr-stars span{transition:color .2s ease, transform .25s cubic-bezier(.3,1.8,.5,1);}
  .psr-stars span.on{color:#FFB400; transform:scale(1.18);}
  .psr-text{flex:1; border:1px solid #ECEAE5; border-radius:10px; padding:8px; font-size:10.5px; line-height:1.4; min-height:70px;}
  .psr-btn{align-self:flex-end; background:var(--accent); color:#fff; font-size:10.5px; font-weight:700; padding:6px 12px; border-radius:999px;}
  .ps-done{position:absolute; inset:0; background:#fff; color:#1b1b1b; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; opacity:0; pointer-events:none; transition:opacity .35s ease;}
  .demo-stage.s-done .ps-done{opacity:1;}
  .psd-check{width:52px; height:52px; border-radius:50%; background:#1E9E5A; color:#fff; display:flex; align-items:center; justify-content:center; transform:scale(.4); transition:transform .45s cubic-bezier(.3,1.8,.5,1);}
  .demo-stage.s-done .psd-check{transform:scale(1);}
  .psd-check svg{width:26px; height:26px;}
  .ps-done b{font-size:13px;} .ps-done small{font-size:10.5px; color:#666;}
  .demo-steps{display:flex; flex-direction:column; gap:10px; margin-bottom:22px;}
  .dstep{display:flex; gap:14px; align-items:center; padding:14px 16px; border-radius:16px; border:1px solid var(--line); background:#fff; transition:all .3s ease; opacity:.6;}
  .dstep.active{opacity:1; border-color:var(--accent); box-shadow:0 12px 30px -16px rgba(42,39,35,.6); transform:translateX(6px);}
  .dstep.done{opacity:1;}
  .dstep.done .dstep-n{background:#1E9E5A; color:#fff;}
  .dstep-n{width:32px; height:32px; border-radius:50%; background:var(--accent-3-bg); color:var(--accent); font-weight:800; display:flex; align-items:center; justify-content:center; flex:none; transition:all .3s ease;}
  .dstep.active .dstep-n{background:var(--accent); color:#fff;}
  .dstep b{display:block; font-size:15px;} .dstep small{font-size:13px; color:var(--ink-soft);}
  #demoBtn[disabled]{opacity:.7; cursor:default;}
  .demo-note{font-size:12px; color:var(--ink-soft); margin:12px 0 0;}

  /* Compatibilidad (banda oscura) */
  .compat-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; max-width:980px; margin:0 auto;}
  @media (max-width:820px){ .compat-grid{grid-template-columns:1fr;} }
  .compat-card{background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); border-radius:24px; padding:28px 24px; text-align:center; transition:transform .25s ease, background .25s ease;}
  .compat-card:hover{transform:translateY(-6px); background:rgba(255,255,255,.08);}
  .compat-ic{width:60px; height:60px; margin:0 auto 14px; border-radius:18px; background:linear-gradient(135deg,var(--accent),var(--accent-2)); color:#fff; display:flex; align-items:center; justify-content:center;}
  .compat-ic svg{width:30px; height:30px;}
  .compat-card h3{color:#fff; font-size:19px; margin-bottom:8px;}
  .compat-card p{color:rgba(255,255,255,.72); font-size:14.5px; line-height:1.6; margin:0;}

  /* Sectores */
  .sector-tabs{display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-bottom:24px;}
  .sector-tab{display:flex; align-items:center; gap:8px; padding:11px 16px; border-radius:999px; border:1.5px solid var(--line); background:#fff; color:var(--ink); font-family:inherit; font-size:14px; font-weight:700; cursor:pointer; transition:all .2s ease;}
  .sector-tab svg{width:18px; height:18px; color:var(--accent);}
  .sector-tab:hover{border-color:var(--accent-2); transform:translateY(-2px);}
  .sector-tab.active{background:var(--ink); color:#fff; border-color:var(--ink);}
  .sector-tab.active svg{color:#FFB400;}
  .sector-panel{max-width:820px; margin:0 auto; display:flex; gap:24px; align-items:center; background:linear-gradient(135deg,#FCFBFA,#F7F5F2); border:1px solid var(--line); border-radius:28px; padding:30px 32px; box-shadow:var(--shadow);}
  @media (max-width:640px){ .sector-panel{flex-direction:column; text-align:center; padding:24px 20px;} }
  .sector-panel.swap{animation:swapIn .45s cubic-bezier(.2,.8,.2,1);}
  @keyframes swapIn{from{opacity:0; transform:translateY(10px);}to{opacity:1; transform:none;}}
  .sp-ic{width:84px; height:84px; border-radius:24px; background:linear-gradient(135deg,var(--accent),var(--accent-2)); color:#fff; display:flex; align-items:center; justify-content:center; flex:none; box-shadow:0 16px 30px -14px rgba(42,39,35,.8);}
  .sp-ic svg{width:40px; height:40px;}
  .sector-panel h3{font-size:22px; margin-bottom:6px;}
  .sector-panel p{margin:0 0 12px; color:var(--ink-soft); font-size:15px; line-height:1.6;}
  .sp-tip{background:#fff; border:1px dashed var(--accent-2); border-radius:14px; padding:10px 14px; font-size:14px; line-height:1.55;}
  .sp-tip b{color:var(--accent);}

  /* Calculadora */
  #calculadora{background:var(--surface-2);}
  .calc{max-width:900px; margin:0 auto; display:grid; grid-template-columns:1.2fr .8fr; border-radius:30px; overflow:hidden; box-shadow:var(--shadow-lift); border:1px solid var(--line);}
  @media (max-width:760px){ .calc{grid-template-columns:1fr;} }
  .calc-inputs{background:#fff; padding:32px; display:flex; flex-direction:column; gap:26px;}
  .calc-lbl{display:flex; justify-content:space-between; font-size:14.5px; font-weight:700; margin-bottom:10px;}
  .calc-lbl b{color:var(--accent); font-family:'IBM Plex Mono',monospace;}
  .calc-row input[type=range]{-webkit-appearance:none; appearance:none; width:100%; height:8px; border-radius:999px; outline:none; cursor:pointer;
    background:linear-gradient(90deg, var(--accent) 0 var(--fill,50%), #F1EFEA var(--fill,50%) 100%);}
  .calc-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none; width:24px; height:24px; border-radius:50%; background:#fff; border:3px solid var(--accent); box-shadow:0 4px 10px rgba(42,39,35,.4);}
  .calc-row input[type=range]::-moz-range-thumb{width:20px; height:20px; border-radius:50%; background:#fff; border:3px solid var(--accent);}
  .calc-out{background:linear-gradient(150deg, var(--accent) 0%, #1F1D1A 100%); color:#fff; padding:32px; display:flex; flex-direction:column; justify-content:center; gap:6px; text-align:center;}
  .calc-out small{font-size:13px; opacity:.85; font-weight:600;}
  .calc-big{font-family:'Inter',sans-serif; font-size:64px; font-weight:800; line-height:1;}
  .calc-big em{display:block; font-style:normal; font-size:15px; font-weight:700; opacity:.85; margin-top:4px;}
  .calc-year{font-size:15px; opacity:.9; margin-bottom:4px;}
  .calc-stars{color:#FFB400; font-size:22px; letter-spacing:3px; margin-bottom:14px;}

  /* Buenas prácticas */
  #buenas-practicas{padding-block:20px 60px;}
  .bp-box{max-width:900px; margin:0 auto; display:flex; gap:24px; align-items:flex-start; background:#fff; border:2px dashed #E6E1D8; border-radius:28px; padding:30px 34px;}
  @media (max-width:640px){ .bp-box{flex-direction:column; padding:24px 20px;} }
  .bp-ic{width:64px; height:64px; border-radius:20px; background:#E7F6EE; color:#1E9E5A; display:flex; align-items:center; justify-content:center; flex:none;}
  .bp-ic svg{width:32px; height:32px;}
  .bp-box h2{font-size:clamp(20px,2.4vw,26px); margin-bottom:8px;}
  .bp-box p{color:var(--ink-soft); margin:0 0 10px; line-height:1.6;}
  .bp-list{margin:0; padding-left:20px; display:flex; flex-direction:column; gap:6px; line-height:1.55;}

  /* Qué incluye: pila de tarjetas */
  .incluye-visual{position:relative; aspect-ratio:1/1; background:radial-gradient(70% 60% at 50% 50%, #fff, #F8F7F5 70%, #F2EFEA) !important; display:block;}
  .stack-card{position:absolute; width:66%; left:17%; border-radius:5%; overflow:hidden; box-shadow:0 26px 40px -18px rgba(31,29,26,.5); transition:transform .5s cubic-bezier(.2,.8,.2,1);}
  .stack-card.s3{top:18%; transform:rotate(-14deg) translate(-8%, 0);}
  .stack-card.s2{top:30%; transform:rotate(-4deg) translate(4%, 0);}
  .stack-card.s1{top:44%; transform:rotate(6deg) translate(10%, 0);}
  .incluye-visual:hover .s3{transform:rotate(-20deg) translate(-16%, -8%);}
  .incluye-visual:hover .s1{transform:rotate(10deg) translate(16%, 6%);}

  .fc-card{position:relative; transform:rotate(-8deg); border-radius:5%; overflow:hidden; box-shadow:0 30px 50px -20px rgba(0,0,0,.45); animation:chipFloat 5s ease-in-out infinite;}
  @media (max-width:760px){ .fc-card{max-width:280px; margin-inline:auto;} }
  .cart-thumb{width:64px; flex:none; border-radius:6px; overflow:hidden;}
  .cart-biz{font-size:11.5px; color:var(--accent); font-weight:600; margin:2px 0 4px;}
  .hero-info h1{font-size:clamp(30px,3.8vw,48px);}

  .nav-links a{white-space:nowrap;}
  .nav-right .btn-sm{white-space:nowrap;}
  @media (max-width:980px){ .nav-links{gap:18px;} }
  @media (max-width:860px){ .nav-links{display:none;} }

  /* v2: fotos reales */
  .hero-view{width:100%; height:100%;}
  .card-float{width:86%; height:86%; display:flex; align-items:center; justify-content:center;}
  .card-stage[data-view="stack"] .card-float, .card-stage[data-view="counter"] .card-float{width:100%; height:100%; animation:none;}
  .card-stage[data-view="stack"] .card-shadow, .card-stage[data-view="counter"] .card-shadow{display:none;}
  .card-stage[data-view="stack"] .tap-ring, .card-stage[data-view="counter"] .tap-ring{display:none;}
  .duo{position:relative; width:100%; height:100%;}
  .duo img{position:absolute; top:50%; height:78%; width:auto; border-radius:0; filter:drop-shadow(0 30px 30px rgba(31,29,26,.35));}
  .duo-back{left:47%; transform:translateY(-52%) rotate(9deg);}
  .duo-front{left:12%; transform:translateY(-48%) rotate(-7deg);}
  .single-card{height:82%; width:auto; margin:auto; display:block; filter:drop-shadow(0 30px 30px rgba(31,29,26,.35)); transform:rotate(-4deg);}
  .hero-view:has(.single-card){display:flex; align-items:center; justify-content:center;}
  .photo-cover{width:100%; height:100%; object-fit:cover; display:block;}
  .photo-cover.contain{object-fit:contain; background:#fff;}
  .card-stage[data-view="stack"]{background:#fff;}
  .tap-ring{left:36%; top:56%;}
  .view-row{gap:8px;}
  .view-thumb{width:62px; height:62px; border-radius:12px; border:2px solid transparent; padding:3px; background:#fff; box-shadow:0 0 0 1px var(--line); cursor:pointer; overflow:hidden; transition:box-shadow .15s ease, transform .15s ease;}
  .view-thumb:hover{transform:translateY(-2px);}
  .view-thumb.active{box-shadow:0 0 0 2px var(--accent);}
  .view-thumb > img{width:100%; height:100%; object-fit:contain; border-radius:8px;}
  .th-duo{position:relative; display:block; width:100%; height:100%;}
  .th-duo img{position:absolute; top:4px; height:46px; width:auto;}
  .th-duo img:first-child{left:22px; transform:rotate(8deg);} .th-duo img:last-child{left:6px; transform:rotate(-6deg);}

  .bill-toggle{display:inline-flex; gap:4px; background:var(--surface-2); border:1px solid var(--line); border-radius:999px; padding:4px; margin-top:10px;}
  .bill-opt{border:none; background:none; padding:8px 18px; border-radius:999px; font-family:inherit; font-weight:800; font-size:13.5px; color:var(--ink-soft); cursor:pointer; transition:all .2s ease;}
  .bill-opt.active{background:#fff; color:var(--accent); box-shadow:0 4px 12px -6px rgba(31,29,26,.5);}
  .pack-price .per{font-size:14px; font-weight:700; color:var(--ink-soft); margin-left:2px;}
  .bill-note{font-size:12px; color:var(--ink-soft); margin:-8px 0 14px; line-height:1.45;}

  .demo-card{width:26%; left:14%; bottom:10%; transform:rotateX(52deg) rotateZ(-24deg); box-shadow:none; overflow:visible; border-radius:0;}
  .demo-card img{width:100%; display:block; filter:drop-shadow(0 26px 22px rgba(31,29,26,.4));}
  @media (max-width:560px){ .demo-card{width:32%; left:8%;} }

  .fc-card{transform:none; box-shadow:none; overflow:visible; border-radius:0; position:relative; height:320px;}
  .fc-card img{position:absolute; top:50%; height:280px; width:auto; filter:drop-shadow(0 26px 30px rgba(0,0,0,.4));}
  .fc-back{left:44%; transform:translateY(-52%) rotate(10deg);}
  .fc-front{left:6%; transform:translateY(-48%) rotate(-8deg);}
  @media (max-width:760px){ .fc-card{height:260px;} .fc-card img{height:220px;} .fc-front{left:18%;} .fc-back{left:46%;} }

  .incluye-photo{background:#fff !important;}
  .incluye-photo img{width:100%; display:block;}
  .cart-thumb{width:40px;} .cart-thumb img{width:100%; display:block;}

  /* ===== Multipágina: estructura y transiciones ===== */
  .page{display:none;}
  .page.active{display:block;}
  .page.entering > *{animation:pageIn .7s cubic-bezier(.2,.8,.2,1) both;}
  .page.entering > *:nth-child(2){animation-delay:.08s;}
  .page.entering > *:nth-child(3){animation-delay:.16s;}
  @keyframes pageIn{from{opacity:0; transform:translateY(26px);}to{opacity:1; transform:none;}}

  .curtain{position:fixed; inset:0; z-index:500; pointer-events:none; display:flex; align-items:center; justify-content:center;
    background:linear-gradient(135deg, #1F1D1A 0%, #2A2723 55%, #4A453E 100%); transform:translateY(100%);}
  .curtain-logo{display:flex; align-items:center; gap:10px; color:#fff; font-family:'Inter',sans-serif; font-weight:800; font-size:30px; opacity:0; transform:scale(.9); transition:opacity .25s ease .15s, transform .35s ease .15s;}
  .curtain-logo .logo-mark{width:38px; height:38px; color:#FFB400 !important;}
  .curtain-logo b{color:#FFD56B;}
  .curtain.in{transform:translateY(0); transition:transform .42s cubic-bezier(.7,0,.3,1);}
  .curtain.in .curtain-logo{opacity:1; transform:none;}
  .curtain.out{transform:translateY(-100%); transition:transform .55s cubic-bezier(.7,0,.3,1);}
  html:not(.spa) body .curtain{animation:curtainLoad .75s cubic-bezier(.7,0,.3,1) .05s both;}
  html:not(.spa) body .curtain.in{animation:none;}
  html:not(.spa) body .curtain.out{animation:none;}
  @keyframes curtainLoad{from{transform:translateY(0);}to{transform:translateY(-100%);}}
  @media (prefers-reduced-motion: reduce){ .curtain{display:none;} .page.entering > *{animation:none;} }

  /* Navegación */
  a.logo{text-decoration:none; color:var(--ink);}
  .nav-links{gap:6px;}
  .nav-links a{position:relative; padding:8px 12px; border-radius:999px; transition:color .2s ease, background .2s ease;}
  .nav-links a::after{content:''; position:absolute; left:14px; right:14px; bottom:3px; height:2px; border-radius:2px; background:var(--accent); transform:scaleX(0); transform-origin:left; transition:transform .3s cubic-bezier(.2,.8,.2,1);}
  .nav-links a:hover::after{transform:scaleX(1);}
  .nav-links a.active{color:var(--accent); background:var(--accent-2-bg);}
  .nav-links a.active::after{transform:scaleX(0);}
  .nav-cta{text-decoration:none;}
  .menu-btn{display:none; width:40px; height:40px; border-radius:12px; border:1px solid var(--line); background:#fff; cursor:pointer; flex-direction:column; align-items:center; justify-content:center; gap:4px;}
  .menu-btn span{display:block; width:18px; height:2px; border-radius:2px; background:var(--ink); transition:transform .3s ease, opacity .2s ease;}
  body.mnav-open .menu-btn span:nth-child(1){transform:translateY(6px) rotate(45deg);}
  body.mnav-open .menu-btn span:nth-child(2){opacity:0;}
  body.mnav-open .menu-btn span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
  .mnav{display:none;}
  @media (max-width:980px){
    .nav-links{display:none;}
    .menu-btn{display:flex;}
    .nav-cta{display:none;}
    .mnav{display:flex; flex-direction:column; position:absolute; left:0; right:0; top:100%; background:#fff; border-bottom:1px solid var(--line); box-shadow:0 20px 40px -20px rgba(31,29,26,.3);
      padding:8px 16px 16px; max-height:0; overflow:hidden; opacity:0; transition:max-height .45s cubic-bezier(.2,.8,.2,1), opacity .3s ease;}
    body.mnav-open .mnav{max-height:420px; opacity:1;}
    .mnav a{display:flex; justify-content:space-between; align-items:center; padding:15px 6px; border-bottom:1px solid var(--line); font-weight:800; font-size:17px; color:var(--ink); text-decoration:none;
      opacity:0; transform:translateX(-14px); transition:opacity .3s ease, transform .35s ease; transition-delay:calc(var(--i) * 45ms);}
    body.mnav-open .mnav a{opacity:1; transform:none;}
    .mnav a.active{color:var(--accent);}
    .mnav a .arr{width:18px; height:18px; color:var(--accent);}
  }
  .arr{width:17px; height:17px; flex:none; transition:transform .25s ease;}
  a:hover > .arr, button:hover > .arr{transform:translateX(4px);}
  .btn{text-decoration:none;}
  .link-arrow{display:inline-flex; align-items:center; gap:8px; font-weight:800; color:var(--accent); text-decoration:none;}
  .center-link{text-align:center; margin-top:28px;}

  /* Hero de inicio */
  .home-hero{position:relative; overflow:hidden; padding-block:56px 72px;}
  .hh-bg span{position:absolute; border-radius:50%; filter:blur(60px); opacity:.55; animation:blob 14s ease-in-out infinite;}
  .hh-bg .b1{width:520px; height:520px; background:#EAE6DE; top:-160px; right:-120px;}
  .hh-bg .b2{width:420px; height:420px; background:#F4F2EF; bottom:-180px; left:-120px; animation-delay:-5s;}
  .hh-bg .b3{width:260px; height:260px; background:#FFE7A8; top:40%; left:46%; opacity:.35; animation-delay:-9s;}
  @keyframes blob{0%,100%{transform:translate(0,0) scale(1);}33%{transform:translate(30px,-20px) scale(1.06);}66%{transform:translate(-20px,24px) scale(.95);}}
  .hh-grid{position:relative; display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center;}
  @media (max-width:900px){ .hh-grid{grid-template-columns:1fr; gap:36px;} }
  .hh-title{font-size:clamp(34px,4.3vw,54px); line-height:1.02; letter-spacing:-0.03em; margin:6px 0 18px;}
  .hh-title .ln{display:inline-block; animation:lineUp .8s cubic-bezier(.2,.8,.2,1) both;}
  .hh-title .ln:nth-child(2){animation-delay:.1s;} .hh-title .ln:nth-child(3){animation-delay:.2s;}
  @keyframes lineUp{from{opacity:0; transform:translateY(40px) rotate(2deg);}to{opacity:1; transform:none;}}
  .hh-title .grad, .page-hero .grad{background:linear-gradient(100deg, #2A2723 10%, #4A453E 60%, #1F1D1A); -webkit-background-clip:text; background-clip:text; color:transparent;}
  .hh-sub{font-size:17.5px; color:var(--ink-soft); line-height:1.6; max-width:48ch; margin:0 0 26px;}
  .hh-ctas{display:flex; gap:12px; flex-wrap:wrap; margin-bottom:24px;}
  .hh-ctas .btn-ghost{background:#fff; border-color:var(--line);}
  .play-dot{width:24px; height:24px; border-radius:50%; background:var(--accent); color:#fff; display:flex; align-items:center; justify-content:center;}
  .play-dot svg{width:11px; height:11px; margin-left:1px;}
  .hh-trust{list-style:none; padding:0; margin:0; display:flex; gap:18px; flex-wrap:wrap;}
  .hh-trust li{display:flex; align-items:center; gap:7px; font-size:14px; font-weight:700;}
  .hh-trust svg{width:16px; height:16px; color:#fff; background:#1E9E5A; border-radius:50%; padding:3px;}
  .hh-visual{position:relative;}
  .hh-frame{border-radius:32px; overflow:hidden; box-shadow:0 40px 80px -30px rgba(31,29,26,.45); border:6px solid #fff; animation:frameIn 1s cubic-bezier(.2,.8,.2,1) .15s both;}
  .hh-frame img{width:100%; display:block; aspect-ratio:3/2; object-fit:cover; transition:transform .8s cubic-bezier(.2,.8,.2,1);}
  .hh-frame:hover img{transform:scale(1.05);}
  @keyframes frameIn{from{opacity:0; transform:translateY(30px) scale(.96) rotate(-2deg);}to{opacity:1; transform:none;}}
  .hh-chip{position:absolute; display:flex; align-items:center; gap:10px; background:#fff; border:1px solid var(--line); border-radius:16px; padding:10px 14px; box-shadow:0 18px 40px -18px rgba(31,29,26,.4); animation:chipFloat 5s ease-in-out infinite, fadeIn .6s ease .6s both;}
  .hh-chip b{display:block; font-size:13.5px;} .hh-chip small{font-size:11.5px; color:var(--ink-soft);}
  .hh-chip.c1{left:-18px; bottom:28px;} .hh-chip.c2{right:-14px; top:26px; animation-delay:-2.5s, .8s;}
  @media (max-width:560px){ .hh-chip.c1{left:8px; bottom:-18px;} .hh-chip.c2{right:8px; top:-16px;} }
  .hc-ic{width:34px; height:34px; border-radius:10px; background:#FFF4D1; color:#E0A000; display:flex; align-items:center; justify-content:center; font-size:18px;}
  .hc-ic.nfc{background:var(--accent-2-bg); color:var(--accent);} .hc-ic svg{width:18px; height:18px;}
  @keyframes fadeIn{from{opacity:0;}to{opacity:1;}}

  /* Encabezado de páginas interiores */
  .page-hero{position:relative; overflow:hidden; padding-block:72px 56px; text-align:center; background:linear-gradient(180deg, #FAF9F7, #fff);}
  .page-hero .wrap{position:relative;}
  .page-hero h1{font-size:clamp(32px,4.6vw,54px); line-height:1.05; letter-spacing:-0.03em; margin:8px auto 14px; max-width:20ch;}
  .page-hero p{font-size:17px; color:var(--ink-soft); max-width:56ch; margin:0 auto; line-height:1.6;}
  .ph-bg span{position:absolute; border-radius:50%; border:2px solid rgba(42,39,35,.14); left:50%; top:60%; transform:translate(-50%,-50%); animation:ring 6s ease-out infinite;}
  .ph-bg span{width:200px; height:200px;}
  .ph-bg span:nth-child(2){animation-delay:2s;} .ph-bg span:nth-child(3){animation-delay:4s;}
  @keyframes ring{from{width:120px; height:120px; opacity:1;}to{width:1100px; height:1100px; opacity:0;}}
  .ph-links{display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin-top:22px;}
  .chip-link{padding:9px 16px; border-radius:999px; background:#fff; border:1px solid var(--line); font-weight:700; font-size:14px; text-decoration:none; color:var(--ink); transition:all .2s ease;}
  .chip-link:hover{border-color:var(--accent); color:var(--accent); transform:translateY(-2px);}

  /* Pasos de inicio + teaser de vídeo */
  .home-steps{display:grid; grid-template-columns:.9fr 1.1fr; gap:40px; align-items:center;}
  @media (max-width:860px){ .home-steps{grid-template-columns:1fr;} }
  .hs-list{display:flex; flex-direction:column; gap:12px;}
  .hs-item{display:flex; gap:14px; align-items:center; padding:16px 18px; border-radius:18px; background:#fff; border:1px solid var(--line); transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;}
  .hs-item:hover{transform:translateX(6px); border-color:var(--accent-2); box-shadow:var(--shadow);}
  .hs-n{width:36px; height:36px; border-radius:50%; background:linear-gradient(135deg,var(--accent),var(--accent-2)); color:#fff; font-weight:800; display:flex; align-items:center; justify-content:center; flex:none;}
  .hs-item b{display:block; font-size:15.5px;} .hs-item small{font-size:13.5px; color:var(--ink-soft);}
  .hs-list .link-arrow{margin-top:8px;}
  .video-teaser{position:relative; display:block; border-radius:28px; overflow:hidden; box-shadow:0 30px 60px -28px rgba(31,29,26,.5);}
  .video-teaser img{width:100%; display:block; aspect-ratio:16/9; object-fit:cover; transition:transform .7s cubic-bezier(.2,.8,.2,1);}
  .video-teaser:hover img{transform:scale(1.06);}
  .video-teaser::after{content:''; position:absolute; inset:0; background:linear-gradient(180deg, transparent 40%, rgba(23,21,19,.6));}
  .vt-play{position:absolute; left:50%; top:50%; width:78px; height:78px; margin:-39px 0 0 -39px; border-radius:50%; background:#fff; color:var(--accent); display:flex; align-items:center; justify-content:center; z-index:2; box-shadow:0 0 0 0 rgba(255,255,255,.6); animation:pulseRing 2s ease-out infinite; transition:transform .25s ease;}
  .video-teaser:hover .vt-play{transform:scale(1.1);}
  .vt-play svg{width:30px; height:30px; margin-left:4px;}
  @keyframes pulseRing{0%{box-shadow:0 0 0 0 rgba(255,255,255,.6);}100%{box-shadow:0 0 0 26px rgba(255,255,255,0);}}
  .vt-label{position:absolute; left:20px; bottom:16px; z-index:2; color:#fff; font-weight:800; font-size:15px;}

  /* Escaparate de fotos */
  .showcase{display:grid; grid-template-columns:1.2fr 1fr; grid-template-rows:1fr 1fr; gap:18px;}
  .sc-card{position:relative; margin:0; border-radius:26px; overflow:hidden; box-shadow:var(--shadow-lift); background:#F6F4F0;}
  .sc-card img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .8s cubic-bezier(.2,.8,.2,1);}
  .sc-card:hover img{transform:scale(1.06);}
  .sc-big{grid-row:span 2;}
  .sc-card figcaption{position:absolute; left:14px; bottom:14px; right:14px; background:rgba(255,255,255,.92); backdrop-filter:blur(8px); border-radius:12px; padding:9px 12px; font-size:13px; font-weight:700;
    transform:translateY(8px); opacity:.92; transition:transform .3s ease, opacity .3s ease;}
  .sc-card:hover figcaption{transform:none; opacity:1;}
  @media (max-width:760px){ .showcase{grid-template-columns:1fr; grid-template-rows:auto;} .sc-big{grid-row:auto;} .sc-card img{aspect-ratio:4/3; height:auto;} .sc-big img{aspect-ratio:4/5;} }

  .sector-cards{display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
  @media (max-width:860px){ .sector-cards{grid-template-columns:repeat(2,1fr);} }
  .sc-tile{display:flex; flex-direction:column; gap:6px; padding:22px 20px; border-radius:22px; background:#fff; border:1px solid var(--line); text-decoration:none; color:var(--ink); transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease, border-color .3s ease;}
  .sc-tile:hover{transform:translateY(-8px) rotate(-1deg); box-shadow:var(--shadow-lift); border-color:var(--accent-2);}
  .st-ic{font-size:30px; margin-bottom:6px; transition:transform .35s cubic-bezier(.3,1.6,.5,1);}
  .sc-tile:hover .st-ic{transform:scale(1.25) rotate(-8deg);}
  .sc-tile b{font-size:16px;} .sc-tile small{color:var(--ink-soft); font-size:13.5px;}

  /* Galería del producto */
  .gallery-view{position:relative; aspect-ratio:1/1; border-radius:20px; overflow:hidden; background:#F6F4F0;}
  .gv-img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transform:scale(1.06); transition:opacity .6s ease, transform 1.2s cubic-bezier(.2,.8,.2,1);}
  .gv-img.on{opacity:1; transform:scale(1);}
  .gallery-main:hover .gv-img.on{transform:scale(1.04);}
  .card-stage-wrap{padding:14px !important;}
  .view-thumb{width:84px; height:62px; padding:2px;}
  .view-thumb > img{object-fit:cover;}
  .pp-num.flip{display:inline-block; animation:flipIn .45s cubic-bezier(.2,.8,.2,1);}
  @keyframes flipIn{from{opacity:0; transform:translateY(-12px) rotateX(70deg);}to{opacity:1; transform:none;}}
  .bill-toggle{position:relative;}
  .bill-toggle::before{content:''; position:absolute; top:4px; bottom:4px; left:4px; width:calc(50% - 4px); border-radius:999px; background:#fff; box-shadow:0 4px 12px -6px rgba(31,29,26,.5); transition:transform .35s cubic-bezier(.3,1.3,.5,1);}
  .bill-toggle[data-b="year"]::before{transform:translateX(100%);}
  .bill-opt{position:relative; z-index:1; min-width:96px;}
  .bill-opt.active{background:transparent !important; box-shadow:none !important;}
  .incluye-photo img{aspect-ratio:3/2; object-fit:cover; transition:transform .8s cubic-bezier(.2,.8,.2,1);}
  .incluye-photo:hover img{transform:scale(1.05);}
  .help-band-wrap{padding-top:0;}
  .help-band{display:flex; justify-content:space-between; align-items:center; gap:18px; flex-wrap:wrap; background:linear-gradient(120deg, var(--accent), #1F1D1A); color:#fff; border-radius:24px; padding:26px 30px;}
  .help-band b{display:block; font-size:19px; margin-bottom:4px;} .help-band span{opacity:.85;}

  /* Vídeo horizontal */
  .video-band{padding-block:72px;}
  .vb-grid{display:grid; grid-template-columns:1.35fr .9fr; gap:44px; align-items:center;}
  @media (max-width:900px){ .vb-grid{grid-template-columns:1fr;} }
  .video-frame.wide{width:100%; aspect-ratio:16/9; border-radius:26px; border:6px solid #26231F;}
  .video-copy h2{color:#fff; font-size:clamp(28px,3.4vw,40px); margin-bottom:8px;}

  /* Compatibilidad en claro */
  .compat-light .compat-card{background:#fff; border:1px solid var(--line); box-shadow:var(--shadow);}
  .compat-light .compat-card:hover{background:#fff; box-shadow:var(--shadow-lift);}
  .compat-light .compat-card h3{color:var(--ink);} .compat-light .compat-card p{color:var(--ink-soft);}
  .compat-light .section-head h2{color:var(--ink);} .compat-light .section-head p{color:var(--ink-soft);}
  .compat-light .eyebrow{color:var(--accent-3); background:var(--accent-3-bg);}

  /* Contacto */
  .contact-grid{display:grid; grid-template-columns:.9fr 1.1fr; gap:44px; align-items:start;}
  @media (max-width:860px){ .contact-grid{grid-template-columns:1fr;} }
  .contact-info h2{font-size:clamp(26px,3vw,36px); margin:8px 0 10px;}
  .contact-info p{color:var(--ink-soft); line-height:1.6;}
  .ci-list{list-style:none; padding:0; margin:18px 0 0; display:flex; flex-direction:column; gap:10px;}
  .ci-list li{display:flex; gap:10px; align-items:center; font-weight:700;}
  .ci-list svg{width:20px; height:20px; padding:4px; border-radius:50%; background:#1E9E5A; color:#fff; flex:none;}
  .contact-form{background:#fff; border:1px solid var(--line); border-radius:26px; padding:26px; box-shadow:var(--shadow-lift); display:flex; flex-direction:column; gap:14px;}
  .contact-form label{display:flex; flex-direction:column; gap:6px; font-size:13.5px; font-weight:700;}
  .contact-form input, .contact-form textarea{font:inherit; font-size:15px; font-weight:400; padding:12px 14px; border-radius:12px; border:1.5px solid var(--line); outline:none; resize:vertical; transition:border-color .2s ease, box-shadow .2s ease;}
  .contact-form input:focus, .contact-form textarea:focus{border-color:var(--accent); box-shadow:0 0 0 4px var(--accent-2-bg);}
  .cf-row{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
  @media (max-width:560px){ .cf-row{grid-template-columns:1fr;} }
  .cf-note{color:var(--ink-soft); font-size:12px; line-height:1.5;} .cf-note a{color:var(--accent);}

  .fc-photo{position:relative; border-radius:24px; overflow:hidden; border:5px solid rgba(255,255,255,.9); box-shadow:0 30px 50px -20px rgba(0,0,0,.45); transform:rotate(3deg); animation:chipFloat 6s ease-in-out infinite;}
  .fc-photo img{width:100%; display:block; aspect-ratio:3/2; object-fit:cover;}
  @media (max-width:760px){ .fc-photo{max-width:360px; margin-inline:auto;} }

  /* Inclinación 3D sutil con el ratón */
  .tilt{transition:transform .35s cubic-bezier(.2,.8,.2,1); transform-style:preserve-3d; will-change:transform;}
  .cart-empty .btn{display:inline-flex;}

  /* ===== v3: pago único, legal, herramienta, sectores ===== */
  .link-btn{background:none; border:none; padding:0; font:inherit; color:inherit; cursor:pointer; text-align:left; text-decoration:underline; text-underline-offset:2px;}
  .foot-links .link-btn{text-decoration:none; font-size:13.5px;}
  .foot-links .link-btn:hover{color:var(--accent);}
  .foot-grid{grid-template-columns:1.4fr 1fr 1fr 1fr;}
  .nav-links a{padding:8px 10px; font-size:13.5px;}
  @media (max-width:1100px){ .nav-links a{padding:8px 8px; font-size:13px;} }

  /* Compra */
  .format-row{display:flex; gap:6px; flex-wrap:wrap; margin:12px 0 0;}
  .fmt-opt{border:1.5px solid var(--line); background:#fff; border-radius:999px; padding:8px 14px; font:inherit; font-weight:700; font-size:13px; cursor:pointer;}
  .fmt-opt.active{border-color:var(--accent); color:var(--accent); background:var(--accent-2-bg);}
  .pack-card .pack-tag{font-size:10px;}
  .pack-card:focus-visible{outline:3px solid var(--accent-2); outline-offset:2px;}
  .addon-box{margin:-4px 0 16px;}
  .addon{position:relative; display:grid; grid-template-columns:auto 1fr auto; gap:12px; align-items:center; padding:13px 14px; border-radius:16px; border:2px dashed #E6E1D8; background:#FCFCFB; cursor:pointer; transition:border-color .2s ease, background .2s ease, transform .2s ease;}
  .addon:hover{transform:translateY(-1px); border-color:var(--accent-2);}
  .addon.on{border-style:solid; border-color:var(--accent); background:#F8F7F5;}
  .addon input{position:absolute; opacity:0; pointer-events:none;}
  .addon-check{width:22px; height:22px; border-radius:7px; border:2px solid #CDCAC4; background:#fff; display:flex; align-items:center; justify-content:center; transition:all .2s ease;}
  .addon.on .addon-check{background:var(--accent); border-color:var(--accent);}
  .addon.on .addon-check::after{content:''; width:10px; height:6px; border-left:2.5px solid #fff; border-bottom:2.5px solid #fff; transform:rotate(-45deg) translate(1px,-1px);}
  .addon input:focus-visible + .addon-check{outline:3px solid var(--accent-2); outline-offset:2px;}
  .addon-txt b{display:block; font-size:14px;}
  .addon-txt small{display:block; font-size:11.5px; color:var(--ink-soft); line-height:1.4; margin-top:2px;}
  .addon-price{font-family:'Inter',sans-serif; font-weight:800; color:var(--accent); white-space:nowrap; text-align:right;}
  .addon-price small{display:block; font-size:10.5px; color:var(--ink-soft); font-weight:600;}
  .biz-field label.mt{margin-top:8px;}
  .biz-help a{color:var(--accent); font-weight:700;}
  .buy-note{font-size:12px; color:var(--ink-soft); text-align:center; margin:2px 0 0;}
  .btn-pay svg{width:17px; height:17px;}
  .btn.loading{opacity:.7; pointer-events:none;}
  .btn.loading::before{content:''; width:14px; height:14px; border-radius:50%; border:2px solid currentColor; border-right-color:transparent; animation:spin .7s linear infinite;}
  @keyframes spin{to{transform:rotate(360deg);}}
  .cart-lines{display:flex; flex-direction:column; gap:6px; font-size:14px;}
  .cart-lines > div{display:flex; justify-content:space-between;}
  .cart-total{font-weight:800; font-size:16px; padding-top:8px; border-top:1px solid var(--line);}
  .cart-extra{font-size:12px; color:var(--accent); font-weight:700;}
  .cart-row .info h4 small{font-weight:500; color:var(--ink-soft);}
  .cart-warn{font-size:12px; background:#FFF6DD; color:#7A5400; border-radius:10px; padding:8px 10px;}

  /* Precios (inicio y sectores) */
  .price-cards{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; max-width:960px; margin:0 auto;}
  @media (max-width:820px){ .price-cards{grid-template-columns:1fr; max-width:420px;} }
  .price-card{position:relative; display:flex; flex-direction:column; gap:4px; padding:28px 24px 22px; border-radius:24px; background:#fff; border:1.5px solid var(--line); text-decoration:none; color:var(--ink);
    transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease, border-color .3s ease;}
  .price-card:hover{transform:translateY(-8px); box-shadow:var(--shadow-lift); border-color:var(--accent-2);}
  .price-card.featured{border-color:var(--accent); box-shadow:0 24px 50px -28px rgba(42,39,35,.7);}
  @media (min-width:821px){ .price-card.featured{transform:scale(1.04);} .price-card.featured:hover{transform:scale(1.04) translateY(-8px);} }
  .pc-ribbon{position:absolute; top:-12px; left:50%; transform:translateX(-50%); white-space:nowrap; background:linear-gradient(135deg,var(--accent),#1F1D1A); color:#fff; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; padding:5px 12px; border-radius:999px;}
  .pc-name{font-family:'Inter',sans-serif; font-weight:800; font-size:18px;}
  .pc-units{font-size:13px; color:var(--ink-soft); font-weight:700;}
  .pc-price{font-family:'Inter',sans-serif; font-weight:800; font-size:38px; letter-spacing:-.02em; margin-top:10px;}
  .pc-per{font-size:12.5px; font-weight:700; color:var(--accent);}
  .pc-desc{font-size:14px; color:var(--ink-soft); margin:10px 0 14px; line-height:1.5;}
  .pc-cta{margin-top:auto; display:inline-flex; align-items:center; gap:6px; font-weight:800; color:var(--accent);}
  .price-foot{text-align:center; font-size:13px; color:var(--ink-soft); margin-top:22px;}

  /* Promoción de la herramienta */
  .tool-promo-wrap{padding-top:0;}
  .tool-promo{display:grid; grid-template-columns:auto 1fr auto; gap:24px; align-items:center; padding:30px 32px; border-radius:28px; background:linear-gradient(120deg,#171513,#2E2A25); color:#fff; overflow:hidden; position:relative;}
  .tool-promo::after{content:''; position:absolute; width:340px; height:340px; right:-80px; top:-140px; border-radius:50%; background:radial-gradient(closest-side, rgba(242,194,48,.45), transparent);}
  @media (max-width:820px){ .tool-promo{grid-template-columns:1fr; text-align:left;} }
  .tp-ic{width:64px; height:64px; border-radius:20px; background:rgba(255,255,255,.1); display:flex; align-items:center; justify-content:center; color:#F2C230;}
  .tp-ic svg{width:32px; height:32px;}
  .tp-txt h2{color:#fff; font-size:clamp(20px,2.4vw,26px); margin:6px 0 6px;}
  .tp-txt p{color:rgba(255,255,255,.75); margin:0;}
  .tool-promo .eyebrow{background:rgba(242,194,48,.2); color:#EAE6DE;}
  .tool-promo .btn{position:relative; z-index:1;}

  /* Prueba social */
  .social-proof.is-example{outline:3px dashed #F0B400; outline-offset:-12px; border-radius:28px;}
  .example-flag{max-width:720px; margin:0 auto 18px; text-align:center; background:#FFF6DD; color:#7A5400; font-weight:700; font-size:13px; padding:10px 14px; border-radius:12px;}
  .logo-row{display:flex; flex-wrap:wrap; justify-content:center; gap:14px 34px; margin:0 0 30px; opacity:.85;}
  .logo-row img{height:34px; width:auto; filter:grayscale(1); transition:filter .2s ease;}
  .logo-row img:hover{filter:none;}
  .logo-ph{padding:10px 18px; border-radius:12px; border:1.5px dashed var(--line); color:var(--ink-soft); font-weight:800; font-size:14px;}
  .testi-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
  @media (max-width:860px){ .testi-grid{grid-template-columns:1fr;} }
  .testi-card{margin:0; background:#fff; border:1px solid var(--line); border-radius:22px; padding:22px; display:flex; flex-direction:column; gap:12px; box-shadow:var(--shadow);}
  .tc-stars{color:#FFB400; letter-spacing:2px;} .tc-stars .off{color:#EAE7E0;}
  .testi-card blockquote{margin:0; font-size:15px; line-height:1.6;}
  .testi-card figcaption{display:flex; gap:10px; align-items:center; margin-top:auto;}
  .testi-card figcaption b{display:block; font-size:14px;} .testi-card figcaption small{color:var(--ink-soft); font-size:12.5px;}

  /* Sectores */
  .st-more{margin-top:8px; display:inline-flex; align-items:center; gap:6px; font-weight:800; font-size:13px; color:var(--accent);}
  .sector-cards{grid-template-columns:repeat(auto-fill, minmax(210px,1fr));}
  .sp-link{margin-top:14px;}
  .crumbs{font-size:13px; color:var(--ink-soft); margin-bottom:14px;}
  .crumbs a{color:var(--ink-soft); text-decoration:none;} .crumbs a:hover{color:var(--accent);}
  .sector-hero h1{max-width:22ch;}
  .sector-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
  @media (max-width:820px){ .sector-grid{grid-template-columns:1fr;} }
  .sector-card{background:#fff; border:1px solid var(--line); border-radius:24px; padding:28px; box-shadow:var(--shadow);}
  .sector-card.alt{background:linear-gradient(160deg,#FAF9F7,#fff);}
  .sector-card h2{font-size:clamp(20px,2.2vw,24px); margin:8px 0 16px;}
  .check-list{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:12px;}
  .check-list li{display:flex; gap:10px; align-items:flex-start; line-height:1.5;}
  .check-list svg{width:20px; height:20px; flex:none; padding:4px; border-radius:50%; background:#1E9E5A; color:#fff; margin-top:1px;}
  .sector-photo{border-radius:28px; overflow:hidden; box-shadow:var(--shadow-lift);}
  .sector-photo img{width:100%; display:block; aspect-ratio:21/9; object-fit:cover;}
  @media (max-width:600px){ .sector-photo img{aspect-ratio:4/3;} }

  /* Páginas legales */
  .page-hero.slim{padding-block:56px 36px;}
  .page-hero.slim h1{font-size:clamp(28px,4vw,44px);}
  .page-hero.slim p{font-size:14px;}
  .legal-page{padding-top:24px;}
  .prose{max-width:780px; font-size:15.5px; line-height:1.7; color:#423F38;}
  .prose h2{font-size:21px; margin:34px 0 10px; color:var(--ink);}
  .prose h2:first-child{margin-top:0;}
  .prose a{color:var(--accent); font-weight:600;}
  .prose ul, .prose ol{padding-left:22px; display:flex; flex-direction:column; gap:6px;}
  .prose table{width:100%; border-collapse:collapse; font-size:14px; margin:12px 0; display:block; overflow-x:auto;}
  .prose th, .prose td{border:1px solid var(--line); padding:9px 10px; text-align:left; vertical-align:top;}
  .prose th{background:var(--surface-2);}
  .prose .form-box{border:1.5px dashed var(--line); border-radius:16px; padding:16px 20px; background:var(--surface-2);}
  .ph{background:#FFF1C2; color:#7A4B00; padding:0 5px; border-radius:5px; font-weight:700;}

  /* Herramienta de enlace de reseñas */
  .review-tool{max-width:760px; margin:0 auto; background:#fff; border:1px solid var(--line); border-radius:28px; padding:28px; box-shadow:var(--shadow-lift);}
  .rt-label{display:block; font-weight:800; font-size:14px; margin-bottom:8px;}
  .rt-row{display:flex; gap:10px;}
  .rt-row input{flex:1; min-width:0; font:inherit; font-size:15.5px; padding:14px 16px; border-radius:14px; border:1.5px solid var(--line); outline:none; transition:border-color .2s ease, box-shadow .2s ease;}
  .rt-row input:focus{border-color:var(--accent); box-shadow:0 0 0 4px var(--accent-2-bg);}
  @media (max-width:560px){ .rt-row{flex-direction:column;} }
  .rt-results{display:flex; flex-direction:column; gap:8px; margin-top:14px;}
  .rt-result{text-align:left; background:var(--surface-2); border:1.5px solid transparent; border-radius:14px; padding:12px 14px; font:inherit; cursor:pointer; transition:all .2s ease;}
  .rt-result:hover{border-color:var(--accent); background:#fff; transform:translateX(4px);}
  .rt-result b{display:block;} .rt-result small{color:var(--ink-soft);}
  .rt-empty{color:var(--ink-soft); font-size:14px;}
  .rt-switch{display:inline-block; margin-top:14px; font-size:13.5px; font-weight:700; color:var(--accent);}
  .rt-note{background:var(--accent-2-bg); border-radius:12px; padding:10px 14px; font-size:14px; margin:0 0 16px;}
  .rt-help{font-size:13.5px; color:var(--ink-soft); line-height:1.55; margin:14px 0 0; padding-left:20px; display:flex; flex-direction:column; gap:6px;}
  .rt-help a{color:var(--accent); font-weight:700;}
  .rt-out{margin-top:26px; padding-top:24px; border-top:1px solid var(--line); animation:pageIn .6s cubic-bezier(.2,.8,.2,1) both;}
  .rt-out-grid{display:grid; grid-template-columns:1fr auto; gap:24px; align-items:center;}
  @media (max-width:640px){ .rt-out-grid{grid-template-columns:1fr;} }
  .rt-out h2{font-size:22px; margin:6px 0 12px;}
  .rt-out .link-arrow{margin-top:12px;}
  .rt-qr-wrap{text-align:center;} .rt-qr-wrap small{color:var(--ink-soft); font-size:12px;}
  .rt-qr{width:184px; height:184px; padding:8px; border-radius:16px; border:1px solid var(--line); background:#fff; display:flex; align-items:center; justify-content:center; margin:0 auto 6px;}
  .rt-qr img, .rt-qr canvas{display:block;}
  .rt-upsell{display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; margin-top:24px; padding:20px 22px; border-radius:20px; background:linear-gradient(120deg, var(--accent), #1F1D1A); color:#fff;}
  .rt-upsell b{display:block; font-size:17px;} .rt-upsell span{opacity:.88; font-size:14px;}
  .rt-legal{text-align:center; font-size:12px; color:var(--ink-soft); margin-top:16px;}
  .rt-legal a{color:var(--accent);}

  /* Gracias */
  .thanks{text-align:center;}
  .thanks-check{width:76px; height:76px; margin:0 auto 18px; border-radius:50%; background:#1E9E5A; color:#fff; display:flex; align-items:center; justify-content:center; animation:pop .6s cubic-bezier(.3,1.6,.5,1) both;}
  .thanks-check svg{width:36px; height:36px;}
  @keyframes pop{from{transform:scale(.3); opacity:0;}to{transform:none; opacity:1;}}
  .thanks-steps{max-width:720px; margin:0 auto; display:flex; flex-direction:column; gap:12px;}
  .ts-item{display:flex; gap:14px; align-items:flex-start; padding:16px 18px; border-radius:18px; background:#fff; border:1px solid var(--line);}
  .ts-item b{display:block;} .ts-item small{color:var(--ink-soft); font-size:14px; line-height:1.5;}

  .contact-direct{margin-top:16px; font-weight:700;} .contact-direct a{color:var(--accent);}
  .pack-grid-3 .pack-card{padding-top:18px;}
  .pack-grid-3 .pack-tag{display:inline-block; max-width:calc(100% - 24px); white-space:normal; line-height:1.25; font-size:9.5px;}
  .pack-grid-3 .pack-unit{font-size:11px;}

  /* =====================================================================
     TAPPIFY · tema: grafito, beige y amarillo
     ===================================================================== */
  :root, :root:not([data-theme="light"]), :root[data-theme="dark"]{
    --bg:#FAF7F2; --surface:#FFFFFF; --surface-2:#F3EDE3;
    --ink:#1F1D1A; --ink-soft:#6B655C; --line:#E7DFD2;
    --accent:#2A2723; --accent-ink:#FFFFFF;
    --accent-2:#4A453E; --accent-2-bg:#F3EBDB;
    --accent-3:#8C6A00; --accent-3-bg:#F7EBC6;
    --gold:#F2C230; --gold-deep:#E0A800; --gold-soft:#FBEBB5;
    --beige:#EFE6D6; --graphite:#1F1D1A;
    --radius:20px;
    --shadow: 0 1px 2px rgba(31,29,26,.05), 0 10px 30px -16px rgba(31,29,26,.22);
    --shadow-lift: 0 2px 6px rgba(31,29,26,.06), 0 28px 60px -28px rgba(31,29,26,.38);
    --ease: cubic-bezier(.2,.8,.2,1);
  }
  @media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){ color-scheme: light; } }

  html{background:var(--bg);}
  body{background:var(--bg); color:var(--ink); font-family:'Inter', system-ui, -apple-system, sans-serif; letter-spacing:-0.005em;}
  h1, h2, h3, .hh-title, .page-hero h1{font-family:'Fraunces', Georgia, serif; font-weight:600; letter-spacing:-0.02em; font-optical-sizing:auto;}
  h4, .logo, .pc-name, .pack-price, .pc-price, .curtain-logo, .rating-big, .calc-big, .addon-price, .step-n, .hs-n{font-family:'Inter', system-ui, sans-serif;}
  .pc-price, .calc-big, .pack-price{letter-spacing:-0.03em;}
  ::selection{background:var(--gold); color:var(--ink);}

  /* Accesibilidad */
  .skip-link{position:absolute; left:12px; top:-60px; z-index:600; background:var(--ink); color:#fff; padding:10px 16px; border-radius:10px; font-weight:700; text-decoration:none; transition:top .2s ease;}
  .skip-link:focus{top:12px;}
  :focus-visible{outline:3px solid var(--gold); outline-offset:3px; border-radius:6px;}

  /* Texto destacado: subrayado tipo rotulador amarillo */
  .grad, .hh-title .grad, .page-hero .grad, .hero-info h1 .grad{
    background-image:linear-gradient(transparent 60%, var(--gold) 60%, var(--gold) 92%, transparent 92%) !important;
    -webkit-background-clip:border-box !important; background-clip:border-box !important; color:inherit !important; -webkit-text-fill-color:currentColor;
    font-style:italic; padding:0 .08em; box-decoration-break:clone; -webkit-box-decoration-break:clone;
    background-size:0% 100%; background-repeat:no-repeat; background-position:0 0; animation:marker 1.1s var(--ease) .5s forwards;
  }
  @keyframes marker{to{background-size:100% 100%;}}
  @media (prefers-reduced-motion: reduce){ .grad{animation:none; background-size:100% 100%;} }

  /* Barra superior, cabecera y logo */
  .promo-bar{background:var(--graphite); color:#F3EDE3; font-weight:500; letter-spacing:.01em;}
  .promo-bar b, .promo-bar strong{color:var(--gold);}
  header.site{background:color-mix(in srgb, var(--bg) 82%, transparent); border-bottom-color:var(--line);}
  .logo{font-weight:800; letter-spacing:-.03em; font-size:22px;}
  .logo .logo-mark{color:var(--gold) !important; width:30px; height:30px; filter:drop-shadow(0 2px 4px rgba(224,168,0,.35)); transition:transform .5s var(--ease);}
  .logo:hover .logo-mark{transform:rotate(-8deg) scale(1.06);}
  .logo-accent{color:var(--accent-3) !important; font-family:'Fraunces', serif; font-style:italic; font-weight:600; margin-left:1px;}
  .nav-links a{color:var(--ink-soft); font-weight:600;}
  .nav-links a:hover{color:var(--ink);}
  .nav-links a::after{background:var(--gold); height:3px;}
  .nav-links a.active{color:var(--ink); background:var(--beige);}
  .mnav a .arr{color:var(--accent-3);}
  .mnav a.active{color:var(--accent-3);}
  .scroll-progress{background:linear-gradient(90deg, var(--gold), var(--gold-deep)); box-shadow:0 0 10px rgba(242,194,48,.6);}
  .cart-count{background:var(--gold) !important; color:var(--ink) !important; font-weight:800;}
  .icon-btn{background:var(--surface); border-color:var(--line);}

  /* Botones */
  .btn{border-radius:999px; font-weight:700; letter-spacing:-.005em;}
  .btn-primary{background:var(--gold) !important; color:var(--ink) !important; box-shadow:0 1px 0 rgba(255,255,255,.6) inset, 0 10px 24px -12px rgba(224,168,0,.75);}
  .btn-primary:hover{background:#F5CB45 !important; transform:translateY(-1px); box-shadow:0 1px 0 rgba(255,255,255,.6) inset, 0 16px 30px -14px rgba(224,168,0,.85);}
  .btn-primary::after{background:linear-gradient(100deg, transparent, rgba(255,255,255,.55), transparent) !important;}
  #addBtn{box-shadow:0 1px 0 rgba(255,255,255,.6) inset, 0 16px 32px -16px rgba(224,168,0,.9) !important;}
  .btn-ghost{background:transparent; color:var(--ink); border:1.5px solid #D8CDBB;}
  .btn-ghost:hover{border-color:var(--ink); background:rgba(255,255,255,.6);}
  .btn-dark{background:var(--ink); color:#fff;}
  .btn-light{background:#fff !important; color:var(--ink) !important;}
  .btn-light:hover{background:var(--gold) !important;}
  .play-dot{background:var(--ink) !important; color:var(--gold) !important;}
  .link-arrow, .rt-switch, .biz-help a, .prose a, .cf-note a, .rt-help a, .terms-check a, .cb-text a, .rt-legal a, .contact-direct a{color:var(--accent-3) !important;}

  /* Etiquetas y chips */
  .eyebrow{color:var(--accent-3) !important; background:var(--gold-soft) !important; letter-spacing:.08em;}
  .dark-band .eyebrow, .tool-promo .eyebrow{background:rgba(242,194,48,.16) !important; color:var(--gold) !important;}
  .gallery-main .badge{background:var(--ink) !important; color:var(--gold) !important;}
  .gallery-chip svg, .hc-ic.nfc{color:var(--accent-3) !important;}
  .hc-ic{background:var(--gold-soft) !important; color:var(--accent-3) !important;}
  .hc-ic.nfc{background:var(--beige) !important;}
  .hb-ic, .hs-n, .step-n, .dstep-n{background:var(--gold) !important; color:var(--ink) !important;}
  .hh-trust svg, .ci-list svg, .check-list svg{background:var(--ink) !important; color:var(--gold) !important;}
  .stars, .star-rating .sr-fg, .tc-stars, .psr-stars span.on{color:var(--gold-deep) !important;}
  .tm-item svg{color:var(--gold);}

  /* Fondos de sección */
  .home-hero{background:radial-gradient(70% 60% at 85% 10%, #F6E7BE 0%, transparent 60%), radial-gradient(60% 50% at 0% 90%, #EFE6D6, transparent 70%);}
  .hh-bg .b1{background:#F7E3A6 !important; opacity:.5;}
  .hh-bg .b2{background:#E9DECB !important;}
  .hh-bg .b3{background:#FFE58A !important; opacity:.3;}
  .page-hero{background:linear-gradient(180deg, #F3EDE3, var(--bg)) !important;}
  .ph-bg span{border-color:rgba(140,106,0,.14) !important;}
  .hero{background:radial-gradient(80% 60% at 90% 0%, #F6E7BE 0%, transparent 55%), radial-gradient(60% 50% at 0% 30%, #F3EDE3, transparent 70%) !important;}
  #problema, #pasos, #calculadora, #precios-home{background:var(--surface-2);}
  .trust-marquee{background:var(--graphite) !important; color:#F3EDE3 !important;}
  footer{background:#F1EADF !important; border-top:1px solid var(--line);}
  .foot-grid h4{color:var(--ink);}
  .foot-links a{color:var(--ink-soft);} .foot-links a:hover{color:var(--ink);}

  /* Bandas oscuras: grafito con brillo dorado */
  .dark-band{background:radial-gradient(80% 70% at 50% 0%, #3A352E 0%, #1A1816 72%) !important;}
  .dark-band::before{background:radial-gradient(closest-side, rgba(242,194,48,.22), transparent) !important;}
  .video-frame.wide{border-color:#2E2A25 !important; box-shadow:0 40px 80px -30px rgba(242,194,48,.35), 0 0 0 1px rgba(255,255,255,.06) !important;}
  .vchap.active{background:rgba(242,194,48,.12) !important; border-color:rgba(242,194,48,.55) !important;}
  .vchap-n{color:var(--gold) !important;}
  .vchap-bar i, .v-progress i{background:linear-gradient(90deg, var(--gold), var(--gold-deep)) !important;}
  .v-sound:not(.on){animation:soundPulseG 2.2s ease-in-out infinite !important;}
  @keyframes soundPulseG{0%,100%{box-shadow:0 0 0 0 rgba(242,194,48,.55);}50%{box-shadow:0 0 0 8px rgba(242,194,48,0);}}
  .video-cta{box-shadow:0 18px 40px -16px rgba(242,194,48,.6) !important;}

  /* Tarjetas de problema / comparativa */
  .prob-card.good{background:linear-gradient(160deg, #2A2723, #3A352E) !important; box-shadow:0 30px 60px -30px rgba(31,29,26,.7) !important;}
  .prob-card.good .prob-ic{background:var(--gold) !important; color:var(--ink) !important;}
  .prob-card.bad .prob-ic{background:#EFE8DC !important; color:#9C9385 !important;}
  .cmp th.hl{background:var(--ink) !important;}
  .cmp-brand{color:var(--gold) !important;}
  .cmp .hl{background:#FBF4E2 !important;}
  .cmp-yes{background:var(--ink) !important; color:var(--gold) !important;}
  .cmp-no{background:#EFE8DC !important; color:#A39A8C !important;}
  .compat-ic, .sp-ic{background:var(--ink) !important; color:var(--gold) !important; box-shadow:0 16px 30px -14px rgba(31,29,26,.6) !important;}
  .compat-light .compat-card{background:#fff;}
  .sector-tab.active{background:var(--ink) !important; color:#fff !important; border-color:var(--ink) !important;}
  .sector-tab.active svg{color:var(--gold) !important;}
  .sector-tab svg{color:var(--accent-3) !important;}
  .sector-panel{background:linear-gradient(135deg, #FBF7EF, #F3EBDB) !important;}
  .sp-tip{border-color:#E3CF9C !important;} .sp-tip b{color:var(--accent-3) !important;}

  /* Calculadora */
  .calc-row input[type=range]{background:linear-gradient(90deg, var(--gold) 0 var(--fill,50%), #EAE2D4 var(--fill,50%) 100%) !important;}
  .calc-row input[type=range]::-webkit-slider-thumb{border-color:var(--ink) !important; box-shadow:0 4px 10px rgba(31,29,26,.3) !important;}
  .calc-lbl b{color:var(--accent-3) !important;}
  .calc-out{background:linear-gradient(150deg, #2A2723 0%, #1A1816 100%) !important;}
  .calc-stars{color:var(--gold) !important;}

  /* Compra */
  .buy-box{border-color:var(--line); box-shadow:0 30px 60px -36px rgba(31,29,26,.35) !important;}
  .bb-gift{background:var(--gold-soft) !important; color:var(--accent-3) !important;}
  .pack-card{border-color:var(--line);}
  .pack-card:hover{border-color:#D8CDBB;}
  .pack-card.active{border-color:var(--ink) !important; background:linear-gradient(180deg, #FFFBF0, #fff) !important; box-shadow:0 0 0 1px var(--ink), 0 14px 30px -16px rgba(31,29,26,.45) !important;}
  .pack-card.active .pack-radio{border-color:var(--ink) !important; background:var(--gold) !important; box-shadow:inset 0 0 0 3px #fff, 0 0 0 1px var(--ink) !important;}
  .pack-tag{background:var(--beige) !important; color:var(--ink) !important;}
  .pack-tag.gold{background:var(--ink) !important; color:var(--gold) !important;}
  .pack-ribbon, .pc-ribbon{background:var(--gold) !important; color:var(--ink) !important; box-shadow:0 6px 14px -6px rgba(224,168,0,.7) !important;}
  .pack-unit, .pc-per{color:var(--accent-3) !important;}
  .pack-unit{background:var(--gold-soft) !important;}
  .addon{border-color:#DCCDB0 !important; background:#FBF7EF !important;}
  .addon:hover{border-color:var(--gold-deep) !important;}
  .addon.on{border-color:var(--ink) !important; background:#FFF8E3 !important;}
  .addon-check{border-color:#BDB09A !important;}
  .addon.on .addon-check{background:var(--ink) !important; border-color:var(--ink) !important;}
  .addon.on .addon-check::after{border-color:var(--gold) !important;}
  .addon-price{color:var(--ink) !important;}
  .biz-field input:focus, .rt-row input:focus, .contact-form input:focus, .contact-form textarea:focus{border-color:var(--ink) !important; box-shadow:0 0 0 4px rgba(242,194,48,.35) !important;}
  .view-thumb.active{box-shadow:0 0 0 2px var(--ink) !important;}
  .pay-lock svg{color:#2E8B57;}
  .price-card.featured{border-color:var(--ink) !important; box-shadow:0 30px 60px -30px rgba(31,29,26,.5) !important;}
  .price-card:hover{border-color:var(--gold-deep) !important;}
  .pc-cta{color:var(--ink) !important;}
  .price-card.featured .pc-cta{background:var(--gold); padding:8px 14px; border-radius:999px; align-self:flex-start;}
  .help-band{background:linear-gradient(120deg, #2A2723, #1A1816) !important;}
  .help-band .btn-light:hover{background:var(--gold) !important;}

  /* Carrito y aviso de cookies */
  .cart-drawer{background:var(--bg);}
  .cart-total{border-top-color:var(--line);}
  .cart-extra, .cart-biz{color:var(--accent-3) !important;}
  .terms-check input, .cb-opt input{accent-color:var(--ink) !important;}
  .cookie-banner{background:#fff; border-color:var(--line);}
  .cb-actions .btn-ghost{border-color:var(--ink) !important;}

  /* Banner final y promociones */
  .final-cta{background:radial-gradient(90% 120% at 100% 0%, #3A352E 0%, #1A1816 70%) !important; box-shadow:0 40px 70px -40px rgba(31,29,26,.8) !important;}
  .fc-glow{background:radial-gradient(closest-side, rgba(242,194,48,.35), transparent) !important;}
  .fc-eyebrow{background:rgba(242,194,48,.15) !important; border-color:rgba(242,194,48,.4) !important; color:var(--gold) !important;}
  .fc-price strong{color:var(--gold);}
  .final-cta .btn-light{background:var(--gold) !important;}
  .final-cta .btn-light:hover{background:#fff !important;}
  .tool-promo{background:linear-gradient(120deg, #2A2723, #1A1816) !important;}
  .tool-promo::after{background:radial-gradient(closest-side, rgba(242,194,48,.3), transparent) !important;}
  .tp-ic{color:var(--gold) !important; background:rgba(242,194,48,.12) !important;}
  .rt-upsell{background:linear-gradient(120deg, #2A2723, #1A1816) !important;}
  .rt-note{background:var(--gold-soft) !important;}
  .rt-result:hover{border-color:var(--ink) !important;}
  .curtain{background:radial-gradient(80% 80% at 50% 50%, #2E2A25 0%, #161412 100%) !important;}
  .curtain-logo{font-family:'Inter', sans-serif; letter-spacing:-.03em;}
  .curtain-logo .logo-mark{color:var(--gold) !important; width:44px !important; height:44px !important;}
  .curtain-logo b{color:var(--gold) !important; font-family:'Fraunces', serif; font-style:italic; font-weight:600;}
  .thanks-check{background:var(--ink) !important; color:var(--gold) !important;}
  .social-proof .avatar{background:var(--gold-soft); color:var(--accent-3);}
  .sector-card.alt{background:linear-gradient(160deg, #FBF7EF, #fff) !important;}
  .ph{background:#FFF1C2;}

  /* Nuevos bloques */
  .trust-row{display:flex; flex-wrap:wrap; gap:10px 22px; margin-top:22px; font-size:13.5px; color:var(--ink-soft); font-weight:600;}
  .trust-row span{display:inline-flex; align-items:center; gap:7px;}
  .trust-row svg{width:16px; height:16px; color:var(--accent-3);}
  .after-buy{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; position:relative;}
  @media (max-width:860px){ .after-buy{grid-template-columns:1fr 1fr;} }
  @media (max-width:520px){ .after-buy{grid-template-columns:1fr;} }
  .ab-step{position:relative; background:#fff; border:1px solid var(--line); border-radius:22px; padding:22px 20px; transition:transform .35s var(--ease), box-shadow .35s ease;}
  .ab-step:hover{transform:translateY(-6px); box-shadow:var(--shadow-lift);}
  .ab-n{font-family:'Fraunces', serif; font-style:italic; font-size:40px; line-height:1; color:var(--gold-deep); display:block; margin-bottom:10px;}
  .ab-step b{display:block; font-size:16px; margin-bottom:4px;}
  .ab-step small{color:var(--ink-soft); font-size:14px; line-height:1.5;}
  .numbers-band{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:24px; overflow:hidden;}
  @media (max-width:760px){ .numbers-band{grid-template-columns:1fr 1fr;} }
  .nb-item{background:#fff; padding:26px 20px; text-align:center;}
  .nb-item b{display:block; font-family:'Fraunces', serif; font-weight:600; font-size:clamp(28px,3.4vw,40px); letter-spacing:-.02em;}
  .nb-item small{color:var(--ink-soft); font-size:13.5px;}

  /* Transiciones: entrada de páginas más suave y escalonada */
  .page.entering > *{animation:pageInSoft .8s var(--ease) both;}
  @keyframes pageInSoft{from{opacity:0; transform:translateY(22px); filter:blur(4px);}to{opacity:1; transform:none; filter:none;}}
  .reveal{transform:translateY(24px) scale(.985); filter:blur(3px); transition:opacity .8s var(--ease), transform .8s var(--ease), filter .8s var(--ease);}
  .reveal.is-visible{filter:none; transform:none;}
  .price-card, .sc-tile, .ab-step, .hs-item, .prob-card{will-change:transform;}
  img{transition:opacity .5s ease;}
  @media (prefers-reduced-motion: reduce){ .reveal{filter:none;} .page.entering > *{animation:none;} }

  .hh-frame img{height:auto !important;}
  .foot-links .link-btn{color:var(--ink-soft);} .foot-links .link-btn:hover{color:var(--ink);}
