
:root { color-scheme: dark; --bg: #101012; --text:#f7f7f7; --muted:#a2a1a6; --orange:#f36b34; --gold:#f5d66d; --border:rgba(255,255,255,.10); }
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:"DM Sans",sans-serif;-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none}
button,a{-webkit-tap-highlight-color:transparent}
a:focus-visible{outline:2px solid var(--gold);outline-offset:6px;border-radius:5px}
.page-shell{min-height:100svh;position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 80% 46%,rgba(76,38,25,.19),transparent 37%),radial-gradient(ellipse at 3% 0%,rgba(74,36,25,.10),transparent 34%),#101012;display:flex;flex-direction:column}
.page-shell:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.017) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.017) 1px,transparent 1px);background-size:84px 84px;mask-image:linear-gradient(to right,transparent,black 30%,black 84%,transparent)}
.shell{width:min(1320px,calc(100% - 104px));margin-inline:auto}
.site-header{height:120px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);position:relative;z-index:2;}
.brand{display:block;flex-shrink:0;line-height:0}.brand img{width:248px;height:auto;object-fit:contain}
.social-link{display:inline-flex;align-items:center;gap:11px;font-size:12px;font-weight:600;letter-spacing:.015em;color:#cdcbcb;transition:color .2s;}
.social-link:hover{color:var(--gold)}.social-link .arrow{margin-left:3px}
main{flex:1;display:flex;align-items:center}
.hero{min-height:660px;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:center;gap:30px;padding:46px 0 68px;position:relative}
.hero-content{position:relative;z-index:2;padding:12px 0}
.status{display:flex;align-items:center;gap:11px;color:#e7d6c3;font-family:"Space Grotesk",sans-serif;font-weight:600;font-size:11px;letter-spacing:2.1px;white-space:nowrap}
.status-light{width:8px;height:8px;background:#ef9b51;box-shadow:0 0 0 5px rgba(243,107,52,.1),0 0 19px rgba(243,107,52,.47);border-radius:50%;animation:blink 2.7s infinite ease-in-out}
.status-slash{color:#555354;font-weight:400;margin-inline:5px}
h1{font-family:"Space Grotesk",sans-serif;line-height:1.055;letter-spacing:-.067em;font-size:clamp(51px,5.55vw,86px);font-weight:700;margin:27px 0 23px;white-space:nowrap}
.type-gradient{background:linear-gradient(100deg,#f36a33 6%,#f6b24f 54%,#f5dd7c 100%);background-clip:text;-webkit-background-clip:text;color:transparent;white-space:nowrap}
.period{color:#f5dc75}
.intro{max-width:540px;color:#a9a6a6;font-size:16px;line-height:1.85;margin:0;letter-spacing:.003em}
.intro strong{color:#e9e7e2;font-weight:600}
.hero-separator{height:1px;max-width:492px;background:linear-gradient(90deg,rgba(255,255,255,.17),rgba(255,255,255,.06),transparent);margin:38px 0 32px;position:relative}.hero-separator span{position:absolute;top:-2px;width:5px;height:5px;background:#7c7773;border-radius:50%}.hero-separator span:nth-child(1){left:0}.hero-separator span:nth-child(2){left:20px;opacity:.5}.hero-separator span:nth-child(3){left:40px;opacity:.25}
.contact-heading{font-weight:700;font-size:16px;margin:0 0 6px;color:#f1efeb}
.contact-description{margin:0;color:#969399;font-size:13px;line-height:1.6}
.whatsapp-btn{display:inline-flex;align-items:center;gap:14px;margin-top:20px;min-width:310px;padding:11px 12px 11px 19px;border-radius:13px;background:linear-gradient(105deg,#f26734,#f69d49 74%,#f7bd5d);color:#1c130f;box-shadow:0 9px 30px rgba(239,104,47,.13);transition:transform .2s,box-shadow .2s,filter .2s;}
.whatsapp-btn:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(239,104,47,.22);filter:saturate(1.06)}
.wa-icon{line-height:0;color:#1b120d}
.btn-copy{display:flex;flex-direction:column;text-align:left;gap:2px;line-height:1.25}.btn-copy b{font-size:14px;font-weight:800}.btn-copy small{font-size:12px;font-weight:600;opacity:.76}
.btn-arrow{margin-left:auto;display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:rgba(22,17,15,.12)}
.hero-visual{min-height:580px;display:grid;place-items:center;position:relative;isolation:isolate;}
.visual-glow{position:absolute;inset:11% 7%;z-index:-2;border-radius:50%;background:radial-gradient(ellipse at center,rgba(239,116,52,.25),rgba(167,81,36,.10) 37%,transparent 67%);filter:blur(40px)}
.halo{position:absolute;border:1px solid rgba(229,167,102,.07);border-radius:50%;width:590px;height:590px;z-index:-1}.halo-inner{width:440px;height:440px;border-color:rgba(229,167,102,.09)}
.visual-frame{position:relative;width:min(100%,450px);height:498px;display:flex;flex-direction:column;justify-content:space-between;padding:27px 29px 31px;border:1px solid rgba(255,255,255,.11);border-radius:24px;background:linear-gradient(142deg,rgba(36,32,32,.90),rgba(22,21,23,.98) 45%,rgba(27,24,23,.98));box-shadow:0 50px 95px rgba(0,0,0,.37),inset 0 1px 0 rgba(255,255,255,.045);transform:rotate(3.5deg);}
.visual-frame:after{content:"";position:absolute;inset:8px;border:1px solid rgba(255,255,255,.028);border-radius:19px;pointer-events:none}
.frame-top,.frame-line{display:flex;align-items:center;justify-content:space-between;font-family:"Space Grotesk",sans-serif;font-size:10px;font-weight:600;letter-spacing:1.7px;color:#c2b9b1;}
.frame-top{justify-content:initial;gap:8px}.frame-top span:last-child{margin-left:auto;color:#797270;font-size:9px}.live-dot{width:5px;height:5px;background:#ed9d50;border-radius:50%;margin-left:10px}
.visual-logo-wrap{position:relative;display:grid;place-items:center;min-height:235px}.visual-logo-wrap:after{position:absolute;content:"";width:230px;height:3px;bottom:0;border-radius:80%;background:#f5944b;opacity:.12;filter:blur(8px)}
.symbol{display:block;width:min(83%,308px);height:auto;object-fit:contain;filter:drop-shadow(0 30px 30px rgba(222,107,53,.08))}
.frame-bottom{display:flex;flex-direction:column;gap:13px}
.frame-line span:last-child{color:#8e8783}
.line-anim{height:2px;background:#363033;border-radius:5px;overflow:hidden;position:relative}.line-anim:after{content:"";position:absolute;left:-45%;top:0;width:44%;height:100%;background:linear-gradient(90deg,transparent,#f36b34,#f6cd68);border-radius:5px;animation:scan 4.4s ease-in-out infinite}
.frame-caption{font-family:"Space Grotesk",sans-serif;font-size:9px;letter-spacing:2px;color:#8f8985}.frame-caption i{font-style:normal;color:#e58a49;padding:0 8px}
.small-orbit{position:absolute;color:#f4ab56;font-size:30px;opacity:.68}.orbit-left{top:80px;left:25px}.orbit-right{right:2px;bottom:81px;color:#b2a39a;font-family:"Space Grotesk",sans-serif;font-size:36px}
.site-footer{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--border);color:#777478;font-size:11px;letter-spacing:.02em}
.footer-mark{color:#ed9753;font-size:16px;padding-right:10px}.site-footer>span{font-weight:700;letter-spacing:1.5px;font-size:10px}
@keyframes blink{50%{opacity:.65;box-shadow:0 0 0 7px rgba(243,107,52,.07),0 0 24px rgba(243,107,52,.24)}}
@keyframes scan{0%{left:-45%}55%,100%{left:110%}}
@media (min-width:1441px){h1{font-size:85px}}
@media(max-width:1140px){.shell{width:min(100% - 72px,1320px)}.hero{grid-template-columns:1.04fr .96fr;gap:8px}h1{font-size:clamp(48px,5.55vw,70px)}.hero-visual{transform:scale(.89);transform-origin:center right}.visual-frame{width:440px}}
@media(max-width:870px){.shell{width:min(100% - 52px,720px)}.site-header{height:104px}.brand img{width:220px}.hero{grid-template-columns:1fr;padding-top:66px;gap:5px}.hero-content{padding:0}h1{font-size:clamp(47px,8vw,75px)}.intro{max-width:610px}.hero-visual{min-height:505px;transform:scale(.82);transform-origin:center center;margin:-5px 0 -25px}.site-footer{min-height:74px}}
@media(max-width:560px){.shell{width:calc(100% - 42px)}.site-header{height:88px}.brand img{width:172px}.social-link span{display:none}.social-link{border:1px solid var(--border);width:42px;height:42px;border-radius:12px;justify-content:center}.social-link .arrow{display:none}.hero{padding-top:45px;padding-bottom:10px;gap:0}.status{font-size:9px;letter-spacing:1.15px;gap:8px}.status-slash{margin-inline:2px}h1{font-size:clamp(42px,10.5vw,59px);letter-spacing:-.065em;margin-top:24px;line-height:1.09}.intro{font-size:14px;line-height:1.75}.hero-separator{margin:25px 0 24px}.contact-heading{font-size:15px}.contact-description{font-size:12px}.whatsapp-btn{min-width:0;width:100%;max-width:380px;margin-top:18px}.hero-visual{min-height:392px;width:100%;transform:none;margin:10px auto 7px}.visual-frame{width:min(82vw,330px);height:360px;padding:22px;transform:rotate(3deg);border-radius:19px}.frame-top,.frame-line{font-size:8px;letter-spacing:1.05px}.frame-top span:last-child{font-size:7px}.visual-logo-wrap{min-height:158px}.symbol{width:min(85%,226px)}.frame-caption{font-size:7px;letter-spacing:1.2px}.halo{width:400px;height:400px}.halo-inner{width:290px;height:290px}.small-orbit{font-size:22px}.orbit-left{top:28px;left:0}.orbit-right{right:0;bottom:25px}.site-footer{min-height:88px;flex-direction:column;align-items:flex-start;justify-content:center;gap:9px;font-size:10px}.site-footer>span{font-size:9px}}
@media(max-width:360px){.shell{width:calc(100% - 32px)}h1{font-size:39px}.brand img{width:155px}.status{font-size:8px}.visual-frame{width:82vw}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ==========================================================
   DOBLEV ESTUDIO · PRESENTACIÓN CENTRADA EN SMARTPHONES
   Afecta únicamente pantallas de 560 px o menos.
   Mantiene intactos la composición y el logo de escritorio.
   ========================================================== */
@media (max-width: 560px) {
  /* El logo queda centrado respecto a la pantalla completa,
     no respecto al espacio que deja el botón de Instagram. */
  .site-header {
    justify-content: center;
  }

  .brand {
    margin-inline: auto;
  }

  .social-link {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
  }

  /* Encabezados, párrafos y estado en el centro. */
  .hero-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    text-align: center;
  }

  .status {
    justify-content: center;
    flex-wrap: wrap;
    row-gap: 7px;
    max-width: 100%;
    text-align: center;
  }

  h1 {
    max-width: 100%;
    white-space: normal;
    text-align: center;
  }

  .type-gradient {
    white-space: normal;
  }

  .intro,
  .contact-description,
  .contact-heading {
    margin-inline: auto;
    text-align: center;
  }

  /* Separador equilibrado en el eje central. */
  .hero-separator {
    width: min(100%, 492px);
    margin-inline: auto;
    background: linear-gradient(
      90deg,
      transparent,
      rgba(255, 255, 255, .16) 50%,
      transparent
    );
  }

  .hero-separator span:nth-child(1) {
    left: calc(50% - 20px);
  }

  .hero-separator span:nth-child(2) {
    left: 50%;
  }

  .hero-separator span:nth-child(3) {
    left: calc(50% + 20px);
  }

  /* Botón alineado y con la etiqueta centrada de verdad. */
  .whatsapp-btn {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr) 36px;
    justify-items: center;
    width: min(100%, 380px);
    margin-inline: auto;
    gap: 8px;
    padding: 11px 12px;
  }

  .btn-copy {
    text-align: center;
    align-items: center;
  }

  .btn-arrow {
    width: 36px;
    height: 42px;
    margin-left: 0;
  }

  /* Firma y créditos centrados bajo la composición. */
  .site-footer {
    align-items: center;
    text-align: center;
  }
}
