:root{
  --bg:#05060b;
  --paper:#ffffff;
  --red:#ef0000;
  --text:#111111;
  --muted:#333333;
  --shadow:0 18px 45px rgba(0,0,0,.35);
  --gold:#b8944b;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);font-family:Arial,Helvetica,sans-serif;color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.deck{width:100%;padding:24px 12px 42px}
.slide{width:100%;margin:0 auto 34px;display:flex;justify-content:center}
.slide-frame{position:relative;width:min(100%,1180px);margin:0;background:white;box-shadow:var(--shadow)}
.slide-frame img,.slide-frame picture{display:block;width:100%;height:auto}
.mobile-slide{display:none}
.mail-hotspot{position:absolute;left:31%;top:39%;width:38%;height:13%;border-radius:16px}
.mail-hotspot:focus-visible{outline:4px solid #00a4ff;outline-offset:3px;background:rgba(0,164,255,.12)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (max-width: 780px){
  body{background:#f3f3f3}
  .deck{padding:0 0 18px;background:#f3f3f3}
  .slide{display:block;margin:0 auto 18px;padding:0 10px}
  .desktop-exact{display:none}
  .mobile-slide{display:block;background:#fff;margin:0 auto;border-radius:0 0 18px 18px;padding:24px 16px 28px;box-shadow:0 6px 22px rgba(0,0,0,.12);max-width:540px;overflow:hidden;text-align:center}
  .mobile-slide h1,.mobile-slide h2{margin:8px auto 22px;color:var(--red);font-family:"Trebuchet MS",Arial,sans-serif;font-weight:800;font-style:italic;line-height:1.08;letter-spacing:-.02em;text-align:center}
  .mobile-slide h1{font-size:clamp(34px,9.2vw,48px);margin-top:16px}
  .mobile-slide h2{font-size:clamp(34px,9.4vw,50px)}
  .mobile-slide h3{margin:24px auto 14px;color:var(--red);font-family:"Trebuchet MS",Arial,sans-serif;font-weight:800;font-style:italic;font-size:clamp(24px,6.6vw,34px);line-height:1.16;text-align:center}
  .mobile-slide p{margin:14px auto 20px;max-width:490px;font-size:20px;line-height:1.48;font-weight:400;color:#111;text-align:center}
  .mobile-slide p strong{font-weight:600}
  .mobile-visual,.mobile-portrait,.mobile-product,.mobile-logo-main,.mobile-logo-final{display:block;margin:16px auto;max-width:100%;height:auto;object-fit:contain}
  .mobile-visual{width:100%;border-radius:18px;box-shadow:0 8px 22px rgba(0,0,0,.16)}
  .image-stack{display:grid;gap:16px;margin:8px auto 20px}
  .image-stack img{margin:0 auto;width:100%}
  .two-photos{grid-template-columns:1fr}
  .product-stack img{max-height:none}
  .product-center{background:#f8f8f8;padding:12px;border-radius:18px}
  .mobile-logo-main{width:88%;max-width:420px;box-shadow:none;border-radius:0}
  .mobile-product{width:94%;max-width:430px;background:#f7f7f7;border-radius:28px;box-shadow:0 8px 22px rgba(0,0,0,.13)}
  .mobile-portrait{width:74%;max-width:280px;border-radius:20px;box-shadow:0 8px 22px rgba(0,0,0,.16)}
  .tall-photo{max-height:620px;width:auto;max-width:100%}
  .profile-mobile p{font-size:18px;line-height:1.42;margin-bottom:18px}
  .profile-flow{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;margin:0 auto}
  .profile-flow img{display:block;width:min(96%,390px);height:auto;border-radius:12px;box-shadow:0 10px 24px rgba(0,0,0,.23);background:#000}
  .profile-flow img:nth-of-type(4){width:min(96%,405px)}
  .down-arrow{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:999px;background:var(--red);color:#fff;font-size:42px;line-height:1;font-weight:900;margin:8px auto;box-shadow:0 8px 22px rgba(239,0,0,.26)}
  .mobile-centered{text-align:center;min-height:auto}
  .mobile-centered h2{font-size:clamp(32px,9vw,48px);margin-top:12px}
  .mobile-centered h3{color:#111;font-size:clamp(24px,6.8vw,36px);max-width:460px}
  .mobile-centered .mobile-visual{width:100%;max-width:460px}
  .mobile-final{padding-top:40px;padding-bottom:44px}
  .mobile-final h2{font-size:clamp(42px,11vw,60px)}
  .mobile-final h3{color:var(--red);font-size:clamp(30px,8.8vw,44px)}
  .mobile-mail{display:inline-block;margin:12px auto 26px;color:#111;text-decoration:none;font-size:clamp(25px,7vw,38px);font-weight:900;line-height:1.12;word-break:break-word}
  .mobile-mail:focus-visible,.mobile-mail:hover{text-decoration:underline;text-decoration-thickness:3px}
  .mobile-logo-final{width:54%;max-width:220px;margin-top:10px;box-shadow:none}
}
@media (min-width: 781px){
  .slide:first-child{margin-top:0}
}

.back-to-top{position:fixed;right:18px;bottom:18px;z-index:999;width:58px;height:58px;min-width:58px;max-width:58px;min-height:58px;max-height:58px;aspect-ratio:1/1;border-radius:999px;text-decoration:none;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 28px rgba(0,0,0,.25);opacity:.92;transition:transform .18s ease,opacity .18s ease;overflow:hidden;line-height:0}
.back-to-top img,.back-to-top__icon{display:block;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain}
.back-to-top:hover,.back-to-top:focus-visible{opacity:1;transform:translateY(-2px) scale(1.04);outline:3px solid rgba(0,0,0,.18);outline-offset:4px}
@media (max-width:780px){
  .mobile-hero h1{display:block;width:100%;max-width:480px;margin-left:auto;margin-right:auto;text-align:center;color:var(--red)}
  .mobile-slide{padding-left:18px;padding-right:18px}
  .mobile-slide p{font-size:19px;line-height:1.5;font-weight:400}
  .mobile-slide h3{font-weight:800}
  .profile-mobile p{font-size:17px;font-weight:400;color:#333}
  .profile-flow{gap:10px}
  .down-arrow{width:58px;height:58px;font-size:44px;margin:10px auto}
  .back-to-top{right:14px;bottom:14px;width:54px;height:54px;min-width:54px;max-width:54px;min-height:54px;max-height:54px}
  .compact-question{padding-top:34px}
  .compact-question h3{margin-top:6px;color:#111;font-size:clamp(28px,7.4vw,38px)}
}
@media (min-width:781px){
  .back-to-top{right:24px;bottom:24px;width:60px;height:60px;min-width:60px;max-width:60px;min-height:60px;max-height:60px}
}


/* Ajuste final: páginas sin título principal centradas y más equilibradas */
@media (max-width:780px){
  .compact-question{
    min-height:92vh;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    padding-top:28px;
    padding-bottom:40px;
  }
  .compact-question h3{
    margin:0 auto 24px;
    color:#111;
    font-size:clamp(32px,8.4vw,44px);
    line-height:1.12;
    max-width:500px;
  }
  .compact-question .mobile-visual{
    width:100%;
    max-width:500px;
    max-height:62vh;
    object-fit:contain;
    margin:0 auto;
  }
}
