/* ============================================================
   CLEO by Blondas — Stylesheet unificado
   Extraído del prototipo CLEO Ingreso v2.html + adiciones para
   verify-email, reset-password y dashboard bloqueado.
   ============================================================ */

/* ============ FUENTE DARRELL (solo títulos) ============ */
@font-face{
  font-family:"Darrell Rolando";
  src:url("https://cdn.shopify.com/s/files/1/0980/5807/6454/files/Darrell_Rolando_Bold.woff2?v=1769994637") format("woff2");
  font-weight:700; font-style:normal; font-display:swap;
  font-feature-settings: "liga" 0, "clig" 0, "dlig" 0, "hlig" 0, "calt" 0, "salt" 0, "ss01" 0, "ss02" 0, "ss03" 0, "ss04" 0, "ss05" 0, "ss06" 0, "ss07" 0, "ss08" 0, "swsh" 0, "hist" 0;
}
.h-display, h1, h2, h3, h4,
.editorial h1, .auth-head h3, .pillar h3, .banner-copy h2,
.closing h2, .investors h2, .founder .copy .quote,
.press .medio, .pillar .glyph, .triple .plus,
.btn-quiero, .btn-deck, .btn-ghost,
.inv-card .t, .founder .credits .c .src,
.foot-tag, .foot-honesty, .press-rail-head .lbl,
.banner-copy .stats .s .n, .big-stat .num{
  font-feature-settings: "liga" 0, "clig" 0, "dlig" 0, "hlig" 0, "calt" 0, "salt" 0, "ss01" 0, "ss02" 0, "ss03" 0, "ss04" 0, "ss05" 0, "ss06" 0, "ss07" 0, "ss08" 0, "swsh" 0, "hist" 0;
  font-variant-ligatures: none;
  font-variant-alternates: normal;
}

:root{
  --rose-50:  #faeaf0;
  --rose-100: #f1dde9;
  --rose-200: #e8c9da;
  --rose-300: #d9adc4;
  --magenta:  #9f2671;
  --magenta-2:#7a1a55;
  --magenta-3:#ad258c;
  --champagne:#e9c8aa;
  --champagne-2:#c9a070;
  --gold:    #b8915c;
  --ink:     #2b2429;
  --ink-2:   #4a3d44;
  --line:    rgba(138,37,69,.18);
  --shadow-rose: 0 30px 60px -25px rgba(138,37,69,.35);
  --whatsapp: #25D366;
  --whatsapp-dark: #128C7E;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:"Montserrat",system-ui,sans-serif;
  color:var(--ink);
  background:
    radial-gradient(1200px 800px at 85% -10%, #f7e3ed 0%, transparent 60%),
    radial-gradient(900px 700px at -10% 110%, #f8d8e6 0%, transparent 55%),
    linear-gradient(180deg,#faeaf0 0%, #f1dde9 100%);
  background-attachment: fixed;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  font-weight:400;
  line-height:1.55;
}
body::before{
  content:"";
  position:fixed; inset:0; pointer-events:none; z-index:1;
  background-image:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.62  0 0 0 0 0.15  0 0 0 0 0.45  0 0 0 0.035 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  opacity:.55; mix-blend-mode:multiply;
}

/* ============ TYPE SYSTEM ============ */
.h-display{
  font-family:"Darrell Rolando","Montserrat",serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.005em;
  color:var(--magenta);
  line-height:.95;
}
.smcaps{
  font-family:"Montserrat",sans-serif;
  font-weight:700;
  letter-spacing:.28em;
  text-transform:uppercase;
  font-size:11px;
}
.mono{
  font-family:"Montserrat",sans-serif; font-weight:500;
  letter-spacing:.16em; font-size:11px; text-transform:uppercase;
}

/* ============ TOP BAR ============ */
.frame{
  position:relative; z-index:2;
  max-width:1380px; margin:0 auto; padding:24px 40px 0;
}
.topbar{
  display:flex; align-items:center; justify-content:space-between;
  padding-bottom:18px;
  border-bottom:1px solid var(--line);
}
.topbar .left{display:flex; gap:18px; align-items:center}
.topbar .right{display:flex; gap:24px; align-items:center}
.crest-logo{ height:62px; width:auto; display:block; }
.topbar .meta{font-size:11px; color:var(--magenta-2); font-weight:600; letter-spacing:.18em; text-transform:uppercase}
.topbar a.link{
  font-size:11px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--magenta); text-decoration:none; font-weight:600;
  border-bottom:1px solid var(--line); padding-bottom:3px;
  transition:all .25s ease;
  background:transparent; cursor:pointer;
}
.topbar a.link:hover{border-color:var(--magenta); color:var(--magenta-2)}
.topbar .investors{
  background:var(--magenta); color:#fff !important;
  padding:8px 14px; border:none !important;
  border-radius:999px;
}

/* ============ HERO / LOGIN ============ */
.hero{
  position:relative; z-index:2;
  max-width:1380px; margin:0 auto; padding:36px 40px 60px;
  display:grid; grid-template-columns: 1.05fr 1fr; gap:56px; align-items:start;
}
.editorial{position:relative}
.editorial .edition{
  display:flex; justify-content:space-between; align-items:center;
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  padding:9px 0; margin-bottom:30px;
  color:var(--magenta-2);
}
.triple{
  display:flex; gap:10px; align-items:center; margin-bottom:22px;
  color:var(--magenta); flex-wrap:wrap;
}
.triple .pill{
  font-family:"Montserrat",sans-serif; font-weight:700;
  font-size:10.5px; letter-spacing:.18em; text-transform:uppercase;
  padding:8px 14px;
  background:rgba(255,255,255,.6);
  border:1px solid var(--line);
  border-radius:999px;
  backdrop-filter: blur(4px);
}
.triple .plus{font-family:"Montserrat",sans-serif; font-size:18px; color:var(--magenta-3); font-weight:800}

.horus-wrap{
  display:flex; gap:24px; align-items:center; margin-bottom:22px;
}
.horus{
  width:140px; height:140px; flex:0 0 auto; position:relative;
  display:grid; place-items:center;
}
.horus img{width:100%; height:100%; object-fit:contain}
.horus-wrap .pre{flex:1; padding-top:6px;}
.horus-wrap .pre .l1{color:var(--magenta); margin-bottom:5px}
.horus-wrap .pre .l2{color:var(--ink-2); font-style:italic; font-weight:400; letter-spacing:.04em; text-transform:none; font-size:13px}

.editorial h1{
  font-family:"Darrell Rolando",serif; font-weight:700;
  font-size: clamp(54px, 7.2vw, 110px);
  line-height:.92;
  margin:0 0 14px;
  color:var(--magenta);
  text-transform:uppercase;
  letter-spacing:-.005em;
}
.editorial h1 .accent{color:var(--magenta-3)}
.editorial .kicker{
  font-family:"Montserrat",sans-serif; font-weight:600;
  font-size:18px; line-height:1.45;
  color:var(--ink); max-width:560px;
  margin:18px 0 22px;
}
.editorial .lede{
  font-size:14.5px; line-height:1.7; color:var(--ink-2);
  max-width:540px;
}
.editorial .lede strong{color:var(--magenta); font-weight:700}
.ornament{
  display:flex; align-items:center; gap:14px; margin:28px 0 20px;
  color:var(--champagne-2);
}
.ornament .rule{flex:1; height:1px; background:linear-gradient(90deg,var(--champagne-2) 0%, transparent 100%)}

/* ============ AUTH CARD ============ */
.auth{
  position:relative;
  background:linear-gradient(180deg, #ffffff 0%, #fdf4f8 100%);
  border:1px solid rgba(138,37,69,.18);
  box-shadow: var(--shadow-rose);
  padding:36px 38px 32px;
  border-radius:20px;
  display:flex; flex-direction:column; gap:20px;
}
.auth::before, .auth::after{
  content:""; position:absolute; width:22px; height:22px;
  border:1.5px solid var(--champagne-2);
  border-radius:3px;
}
.auth::before{top:10px; left:10px; border-right:none; border-bottom:none}
.auth::after{bottom:10px; right:10px; border-left:none; border-top:none}

.auth-head{display:flex; justify-content:space-between; align-items:flex-end; gap:16px}
.auth-head .pre{font-size:10px; letter-spacing:.28em; text-transform:uppercase; color:var(--champagne-2); font-weight:700; margin-bottom:8px}
.auth-head h3{
  font-family:"Montserrat",sans-serif; font-weight:800;
  text-transform:uppercase;
  font-size:22px; line-height:1; margin:0; color:var(--magenta);
  letter-spacing:.06em; white-space:nowrap;
}
.auth-head .sub{font-size:10px; color:var(--ink-2); opacity:.7; letter-spacing:.06em; text-transform:none; font-weight:400; max-width:160px; text-align:right}

.tabs{
  display:grid; grid-template-columns:1fr 1fr; gap:0;
  border:1px solid var(--line); padding:4px;
  background:rgba(243,221,231,.4);
  border-radius:999px;
}
.tabs button{
  border:0; background:transparent; padding:11px 12px;
  font-family:"Montserrat",sans-serif; font-size:11px; letter-spacing:.18em;
  text-transform:uppercase; font-weight:700;
  color:var(--magenta-2); cursor:pointer; transition:all .25s ease;
  border-radius:999px;
}
.tabs button.on{
  background:var(--magenta); color:#fff;
  box-shadow: 0 6px 18px -8px rgba(138,37,69,.6);
}

.blurb{margin:0; font-size:13px; color:var(--ink-2); line-height:1.55}

.field{display:flex; flex-direction:column; gap:6px}
.field label{
  font-size:10px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--magenta); font-weight:700;
}
.field .ipt{
  display:flex; align-items:center; gap:8px;
  border:0; border-bottom:1.5px solid rgba(138,37,69,.25);
  padding:9px 2px; background:transparent;
  transition:border-color .25s ease;
}
.field .ipt:focus-within{border-color:var(--magenta)}
.field input{
  border:0; outline:0; background:transparent; flex:1;
  font-family:"Montserrat",sans-serif; font-size:14.5px; color:var(--ink);
  font-weight:500;
}
.field input::placeholder{color:rgba(74,61,68,.5); font-weight:400}
.field .hint{font-size:11px; color:var(--ink-2); opacity:.75; margin-top:4px}
.field .eye{cursor:pointer; opacity:.55; transition:opacity .2s; user-select:none}
.field .eye:hover{opacity:1}

.row{display:flex; justify-content:space-between; align-items:center; font-size:12px; color:var(--ink-2); flex-wrap:wrap; gap:10px}
.row a{color:var(--magenta); text-decoration:none; border-bottom:1px solid var(--line); font-weight:600; cursor:pointer}
.row a:hover{border-color:var(--magenta)}
.check{display:flex; gap:8px; align-items:center; cursor:pointer}
.check input{accent-color:var(--magenta)}

/* ============ BOTONES — SÓLIDO MAGENTA (todos iguales) ============ */
.btn-quiero{
  border:0; cursor:pointer;
  background: #9F2671;
  color:#fff;
  padding:18px 28px;
  font-family:"Montserrat",sans-serif; font-size:14px;
  text-transform:uppercase; letter-spacing:.12em; font-weight:800;
  border-radius:999px;
  box-shadow: 0 4px 18px -4px rgba(159,38,113,.45);
  transition: background .2s ease, transform .18s ease, box-shadow .2s ease;
  user-select:none;
  position:relative; overflow:hidden;
}
.btn-quiero:hover{
  background: #7d1e59;
  transform: translateY(-2px);
  box-shadow: 0 10px 28px -6px rgba(159,38,113,.55);
}
.btn-quiero:active{
  background: #6a1a4a;
  transform: translateY(1px) scale(.98);
  box-shadow: 0 2px 8px -2px rgba(159,38,113,.35);
}
.btn-quiero[disabled],
.btn-quiero:disabled{opacity:.5; cursor:not-allowed; transform:none; box-shadow:none}
.btn-quiero[disabled]:hover,
.btn-quiero:disabled:hover{transform:none; background:#9F2671}
.btn-quiero .arrow{margin-left:10px; font-weight:700}
.btn-quiero > *{position:relative; z-index:2}

.btn-quiero--ghost{
  background: transparent;
  border: 2px solid #9F2671;
  color: #9F2671;
  box-shadow: none;
}
.btn-quiero--ghost:hover{
  background: #9F2671;
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 10px 28px -6px rgba(159,38,113,.45);
}
.btn-quiero--ghost:active{
  background: #7d1e59;
  color: #fff;
  transform: translateY(1px) scale(.98);
}
.btn-quiero--ghost .arrow{color:inherit}

.or{display:flex; gap:12px; align-items:center; color:var(--ink-2); font-size:10px; letter-spacing:.24em; text-transform:uppercase; font-weight:600}
.or .l{flex:1; height:1px; background:var(--line)}
.social{display:grid; grid-template-columns:1fr 1fr; gap:12px}
.social button{
  background:#fff; border:1px solid var(--line); padding:13px;
  font-family:"Montserrat",sans-serif; font-size:11px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--magenta); font-weight:600;
  cursor:pointer; display:flex; align-items:center; justify-content:center; gap:10px;
  transition:all .25s ease; border-radius:10px;
}
.social button:hover:not(:disabled){border-color:var(--magenta); background:var(--rose-50); transform:translateY(-1px)}
.social button:disabled{opacity:.5; cursor:not-allowed}

.flag{display:flex; gap:10px; align-items:center}
.flag .pre{font-family:"Montserrat",monospace; font-size:13px; color:var(--magenta); font-weight:700}

.grid-2{display:grid; grid-template-columns:1fr 1fr; gap:18px}

.pane{display:none; flex-direction:column; gap:18px}
.pane.active{display:flex; animation: fade .35s ease}
@keyframes fade{from{opacity:0; transform:translateY(6px)} to{opacity:1; transform:translateY(0)}}

/* mensaje de error/éxito sobre el form */
.form-msg{
  display:none;
  padding:12px 14px;
  border-radius:10px;
  font-size:13px; line-height:1.45;
  font-weight:500;
}
.form-msg.error{
  display:block;
  background:#fde8ef;
  color:#a4173f;
  border:1px solid rgba(164,23,63,.25);
}
.form-msg.success{
  display:block;
  background:#e7f5ec;
  color:#1f6b3a;
  border:1px solid rgba(31,107,58,.25);
}
.form-msg.info{
  display:block;
  background:var(--rose-50);
  color:var(--magenta-2);
  border:1px solid var(--line);
}

/* ============ BIG BANNER ============ */
.banner-section{
  position:relative; z-index:2;
  max-width:1380px; margin:0 auto; padding:14px 40px 30px;
}
.banner{
  position:relative;
  background:var(--rose-100);
  border-radius:22px;
  padding:32px 48px 28px;
  overflow:hidden;
  border:1px solid rgba(159,38,113,.15);
  box-shadow: var(--shadow-rose);
}
.banner::before{
  content:""; position:absolute; right:-12px; top:0; bottom:0;
  width:130px; pointer-events:none;
  background-image:url("https://cdn.shopify.com/s/files/1/0980/5807/6454/files/BLONDAS_2026_MANUAL_DE_MARCA_3.svg?v=1776345463");
  background-repeat: repeat-y;
  background-size: 100% auto;
  background-position: center;
  opacity:.18;
}
.banner-grid{
  position:relative; z-index:2;
  display:grid; grid-template-columns: 1fr 1.1fr; gap:50px; align-items:center;
}
.banner-copy h2{
  font-family:"Darrell Rolando",serif; font-weight:700;
  text-transform:uppercase;
  font-size: clamp(40px, 4.6vw, 64px);
  line-height:1; margin:0 0 22px;
  color:var(--magenta);
}
.banner-copy .punch{
  font-family:"Montserrat",sans-serif; font-weight:700;
  font-size:19px; color:var(--ink); margin:0 0 14px;
  text-transform:uppercase; letter-spacing:.01em;
}
.banner-copy p{
  font-size:15.5px; line-height:1.65; color:var(--ink-2); max-width:480px;
  margin:0 0 32px;
}
.banner-copy .stats{
  display:grid; grid-template-columns:repeat(3,1fr); gap:14px;
  padding-top:20px; border-top:1px solid var(--line);
}
.banner-copy .stats .s .n{
  font-family:"Montserrat",sans-serif; font-size:30px;
  color:var(--magenta); font-weight:800;
}
.banner-copy .stats .s .l{
  font-size:10px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--ink-2); margin-top:2px; font-weight:600;
}
.banner-photo{
  position:relative;
  aspect-ratio: 16/9;
  border-radius:14px;
  overflow:hidden;
  background:linear-gradient(180deg, #f6e3eb, #d8b3c5);
  box-shadow: 0 14px 30px -12px rgba(138,37,69,.35);
}
.banner-photo img{
  width:100%; height:100%; object-fit:cover; display:block;
  filter:saturate(1.05);
}
.banner-photo .floating-cta{
  position:absolute; left:50%; bottom:9%;
  transform:translateX(-50%);
  z-index:3;
}
.banner-photo .floating-cta .btn-quiero{
  padding:16px 30px; font-size:19px;
}

/* ============ MARQUEE PRENSA ============ */
.marquee{
  position:relative; z-index:2;
  background:linear-gradient(90deg, var(--magenta-2) 0%, var(--magenta) 50%, var(--magenta-2) 100%);
  color:#faeaf0;
  overflow:hidden;
  border-top:1px solid rgba(173,37,140,.3);
  border-bottom:1px solid rgba(173,37,140,.3);
}
.marquee .track{
  display:flex; gap:54px; padding:14px 0; white-space:nowrap;
  animation: scroll 42s linear infinite;
}
.marquee span{
  font-family:"Montserrat",sans-serif; font-weight:600;
  font-size:13px; letter-spacing:.18em; text-transform:uppercase;
}
.marquee .star{color:var(--rose-200)}
@keyframes scroll{from{transform:translateX(0)} to{transform:translateX(-50%)}}

/* ============ SECTIONS ============ */
.section{
  position:relative; z-index:2;
  max-width:1380px; margin:0 auto; padding:90px 40px;
}
.eyebrow{
  display:flex; align-items:center; gap:14px; margin-bottom:18px;
}
.eyebrow .num{
  font-family:"Montserrat",sans-serif; font-size:12px; color:var(--champagne-2); font-weight:700;
  font-weight:700;
}
.eyebrow .lbl{
  font-size:11px; letter-spacing:.32em; text-transform:uppercase; font-weight:700;
  color:var(--magenta);
}
.eyebrow .ln{flex:1; height:1px; background:var(--line); max-width:200px}

.section h2{
  font-family:"Darrell Rolando",serif; font-weight:700;
  text-transform:uppercase;
  font-size: clamp(40px, 4.6vw, 70px); line-height:.95; margin:0 0 14px;
  color:var(--magenta);
}
.section h2 .accent{color:var(--magenta-3)}
.section .deck{
  font-family:"Montserrat",sans-serif; font-weight:500;
  font-size:18px; color:var(--ink-2); max-width:680px; line-height:1.5;
}

/* PILLARS */
.pillars{
  margin-top:48px;
  display:grid; grid-template-columns:repeat(3,1fr); gap:24px;
}
.pillar{
  padding:36px 30px;
  background:#fff;
  border:1px solid rgba(138,37,69,.12);
  border-radius:20px;
  position:relative;
  transition:all .35s ease;
}
.pillar:hover{transform:translateY(-4px); box-shadow:var(--shadow-rose); border-color:var(--magenta)}
.pillar .glyph{
  width:46px; height:46px;
  background:linear-gradient(180deg,var(--rose-100),var(--rose-200));
  border:1px solid var(--champagne-2);
  border-radius:50%;
  display:grid; place-items:center; margin-bottom:18px;
  color:var(--magenta); font-family:"Montserrat",sans-serif; font-size:14px; font-weight:800;
  font-weight:700;
}
.pillar .roman{
  font-size:10px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--champagne-2); font-weight:700; margin-bottom:8px;
}
.pillar h3{
  font-family:"Montserrat",sans-serif; font-weight:700;
  text-transform:uppercase;
  font-size:30px; margin:0 0 14px; line-height:1; color:var(--magenta);
}
.pillar p{font-size:14px; line-height:1.65; color:var(--ink-2); margin:0}

/* BIG STAT */
.big-stat{
  display:grid; grid-template-columns: 1fr 1.3fr; gap:60px; align-items:center;
  padding:30px 0;
}
.big-stat .num{
  font-family:"Montserrat",sans-serif; font-weight:700;
  text-transform:uppercase;
  font-size: clamp(56px, 6.6vw, 96px); line-height:.9;
  color:var(--magenta);
}
.big-stat .num .small{
  display:block; font-size:.28em; color:var(--champagne-2);
  letter-spacing:.18em; margin-top:18px; font-weight:700;
}
.big-stat blockquote{
  font-family:"Montserrat",sans-serif; font-style:italic; font-weight:400;
  font-size: clamp(22px, 2.2vw, 32px); line-height:1.35; margin:0; color:var(--ink);
  border-left:3px solid var(--magenta); padding-left:24px;
}
.big-stat blockquote cite{
  display:block; margin-top:18px; font-style:normal;
  font-family:"Montserrat",sans-serif; font-size:11px; letter-spacing:.22em;
  text-transform:uppercase; color:var(--magenta-2); font-weight:600;
}

/* PRENSA */
.press-block{
  margin-top:48px;
  display:grid; grid-template-columns: 380px 1fr; gap:28px; align-items:stretch;
}
.press-photo{
  border-radius:22px; overflow:hidden; position:relative;
  background: var(--rose-200);
  aspect-ratio: 3/4;
  box-shadow: var(--shadow-rose);
}
.press-photo img{width:100%; height:100%; object-fit:cover; display:block; object-position: center 20%}
.press-photo .cap{
  position:absolute; bottom:14px; left:14px; right:14px;
  background:rgba(255,255,255,.9); backdrop-filter:blur(8px);
  padding:10px 14px; border-radius:999px;
  font-family:"Montserrat",sans-serif; font-size:10.5px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--magenta); font-weight:600; text-align:center;
}
.press-rail{
  display:flex; flex-direction:column; gap:14px;
  justify-content:center;
}
.press-rail .scroller{
  display:flex; gap:14px; overflow-x:auto;
  padding:6px 4px 16px;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin; scrollbar-color: var(--magenta-3) transparent;
}
.press-rail .scroller::-webkit-scrollbar{height:6px}
.press-rail .scroller::-webkit-scrollbar-thumb{background:var(--rose-300); border-radius:3px}
.press-rail .scroller::-webkit-scrollbar-thumb:hover{background:var(--magenta-3)}
.press-rail-head{
  display:flex; justify-content:space-between; align-items:center;
  padding:0 4px;
}
.press-rail-head .lbl{
  font-family:"Montserrat",sans-serif; text-transform:uppercase; font-weight:800;
  font-size:14px; color:var(--magenta); letter-spacing:.04em;
}
.press-rail-head .nav{display:flex; gap:8px}
.press-rail-head .nav button{
  width:34px; height:34px; border-radius:50%; border:1px solid var(--line);
  background:#fff; color:var(--magenta); cursor:pointer; font-size:14px;
  transition:all .2s ease;
}
.press-rail-head .nav button:hover{background:var(--magenta); color:#fff; border-color:var(--magenta)}

.press{
  flex: 0 0 280px;
  scroll-snap-align: start;
  display:flex; flex-direction:column; gap:10px;
  background:#fff; padding:18px 18px;
  border:1px solid rgba(138,37,69,.12);
  border-radius:18px;
  text-decoration:none; color:var(--ink);
  transition:all .35s ease; position:relative; overflow:hidden;
}
.press::before{
  content:""; position:absolute; left:0; right:0; bottom:0; height:2px;
  background:var(--magenta-3); transform:scaleX(0); transform-origin:left;
  transition:transform .4s ease;
}
.press:hover{transform:translateY(-4px); box-shadow:var(--shadow-rose); border-color:var(--magenta)}
.press:hover::before{transform:scaleX(1)}
.press .medio{
  font-family:"Montserrat",sans-serif; font-weight:700;
  text-transform:uppercase; color:var(--magenta);
  font-size:14px; line-height:1;
}
.press .head{
  font-family:"Montserrat",sans-serif; font-weight:600;
  font-size:12px; line-height:1.4; color:var(--ink); flex:1;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.press .meta{
  font-size:9px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--magenta-2); font-weight:600;
  border-top:1px solid var(--line); padding-top:10px;
  display:flex; justify-content:space-between; align-items:center;
}
.press .meta .read{color:var(--magenta-3)}

/* FOUNDER */
.founder{
  display:grid; grid-template-columns: 1fr 1.2fr; gap:60px; align-items:center;
}
.founder .portrait{
  aspect-ratio: 4/5;
  border-radius:24px; overflow:hidden; position:relative;
  background:linear-gradient(180deg, var(--rose-200), var(--rose-300));
  box-shadow:var(--shadow-rose);
}
.founder .portrait img{width:100%; height:100%; object-fit:cover; display:block}
.founder .portrait .badge{
  position:absolute; bottom:24px; left:24px;
  background:#fff; color:var(--magenta);
  padding:10px 16px; font-family:"Montserrat",sans-serif; font-weight:700;
  text-transform:uppercase; font-size:13px; letter-spacing:.05em;
  border-radius:999px;
  box-shadow:0 6px 22px -8px rgba(0,0,0,.25);
}
.founder .copy h2{margin-top:6px}
.founder .copy .quote{
  font-family:"Darrell Rolando",serif; font-weight:700;
  text-transform:uppercase;
  font-size: clamp(34px, 3.6vw, 52px); line-height:1.05; color:var(--magenta);
  margin:0 0 20px;
}
.founder .copy .deck{margin-bottom:18px}
.founder .copy .end-quote{
  margin:18px 0 0; font-style:italic; font-size:18px; color:var(--magenta-2);
  border-left:2px solid var(--champagne-2); padding-left:18px;
}
.founder .credits{
  display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:32px;
  padding-top:22px; border-top:1px solid var(--line);
}
.founder .credits .c{
  background:#fff; padding:16px 14px; border-radius:14px;
  border:1px solid var(--line); text-decoration:none; color:var(--ink);
  transition:all .25s ease; display:block;
}
.founder .credits .c:hover{border-color:var(--magenta); transform:translateY(-2px)}
.founder .credits .c .src{
  font-family:"Montserrat",sans-serif; font-weight:700; text-transform:uppercase;
  font-size:13px; color:var(--magenta);
}
.founder .credits .c .lbl{
  font-size:10px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--ink-2); margin-top:5px; font-weight:600;
}
.founder .credits .c .yr{
  font-size:10px; color:var(--champagne-2); margin-top:2px; font-weight:700;
}

/* INVESTORS */
.investors{
  background: linear-gradient(180deg, var(--rose-50) 0%, var(--rose-100) 100%);
  color:var(--ink);
  padding:90px 40px;
  position:relative; z-index:2;
  overflow:hidden;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.investors::before{
  content:""; position:absolute; inset:0;
  background-image:url("https://cdn.shopify.com/s/files/1/0980/5807/6454/files/LOGO_CLEO_OJO_HORUS_EMPRENDEDORAS_PARAGUAY.png?v=1777249064");
  background-size:340px auto; background-repeat:no-repeat; background-position:95% 50%;
  opacity:.05;
}
.investors .inner{max-width:1380px; margin:0 auto; position:relative}
.investors h2{color:var(--magenta)}
.investors h2 .accent{color:var(--magenta-3)}
.investors .deck{color:var(--ink-2)}
.invest-roadmap-tag{
  display:inline-flex; align-items:center; gap:10px;
  background:#fff; border:1px solid var(--line);
  color:var(--magenta); padding:8px 16px; border-radius:999px;
  font-size:11px; letter-spacing:.22em; text-transform:uppercase; font-weight:700;
  margin-bottom:16px;
}
.invest-roadmap-tag .dot{width:7px; height:7px; border-radius:50%; background:var(--magenta-3); animation:pulse2 2s ease infinite}
@keyframes pulse2{50%{opacity:.4; transform:scale(.8)}}

.invest-grid{
  margin-top:50px;
  display:grid; grid-template-columns:repeat(4,1fr); gap:18px;
}
.inv-card{
  padding:28px 26px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  transition:all .35s ease;
}
.inv-card:hover{border-color:var(--magenta); transform:translateY(-4px); box-shadow:var(--shadow-rose)}
.inv-card .t{
  font-family:"Montserrat",sans-serif; font-weight:700; text-transform:uppercase;
  font-size:24px; color:var(--magenta); margin-bottom:14px;
}
.inv-card p{font-size:13.5px; line-height:1.6; color:var(--ink-2); margin:0}
.invest-cta{margin-top:40px; display:flex; justify-content:center;}
.btn-deck{
  background:transparent; color:var(--magenta);
  border:1.5px solid var(--magenta); padding:16px 32px;
  font-family:"Montserrat",sans-serif; font-size:13px; text-transform:uppercase; font-weight:800; letter-spacing:.12em;
  border-radius:999px; cursor:pointer; transition:all .25s ease;
  text-decoration:none;
}
.btn-deck:hover{background:var(--magenta); color:#fff}

/* CLOSING */
.closing{
  position:relative; z-index:2;
  background:#ffffff;
  padding:90px 40px;
  text-align:center; overflow:hidden;
}
/* sombra dorada eliminada */
.closing > *{position:relative; z-index:2}
.closing .eyebrow{justify-content:center; max-width:600px; margin:0 auto 22px}
.closing h2{
  font-family:"Darrell Rolando",serif; font-weight:700;
  text-transform:uppercase;
  font-size: clamp(48px, 6.6vw, 96px); line-height:.95;
  margin:0 0 22px; color:var(--magenta);
  letter-spacing:.005em;
}
.closing p{
  font-family:"Montserrat",sans-serif; font-weight:500;
  font-size:18px; max-width:600px; margin:0 auto 40px;
  color:var(--ink-2); line-height:1.55;
}
.cta-row{display:flex; gap:18px; justify-content:center; flex-wrap:wrap}
.btn-ghost{
  background:transparent; color:var(--magenta); padding:18px 30px;
  border:1.5px solid var(--magenta);
  font-family:"Montserrat",sans-serif; font-size:13px;
  text-transform:uppercase; font-weight:700; letter-spacing:.04em;
  cursor:pointer; transition: all .25s ease;
  border-radius:999px;
}
.btn-ghost:hover{background:var(--magenta); color:#fff}

/* FOOTER */
footer{
  position:relative; z-index:2;
  background: linear-gradient(180deg, var(--magenta-2) 0%, #5e1142 100%);
  color:var(--rose-50);
  padding:60px 40px 40px;
  overflow:hidden;
  text-align:center;
}
footer::before{
  content:""; position:absolute; inset:0;
  background-image:url("https://cdn.shopify.com/s/files/1/0980/5807/6454/files/LOGO_CLEO_OJO_HORUS_EMPRENDEDORAS_PARAGUAY.png?v=1777249064");
  background-size:260px auto; background-repeat:repeat;
  opacity:.05; pointer-events:none;
}
.foot-inner{
  max-width:860px; margin:0 auto; display:flex; flex-direction:column;
  align-items:center; gap:36px; position:relative; z-index:2;
}
/* Logo grande centrado */
.foot-logo-wrap{
  display:flex; flex-direction:column; align-items:center; gap:18px;
}
.foot-horus{
  width:160px; height:auto; opacity:.92;
  filter: brightness(0) saturate(100%) invert(86%) sepia(20%) saturate(300%) hue-rotate(295deg) brightness(105%);
}
.foot-brand{
  display:flex; flex-direction:column; align-items:center; gap:6px;
}
.foot-cleo-wordmark{
  height:36px; width:auto;
  filter:brightness(0) invert(1) opacity(.95);
}
.foot-tag{
  font-family:"Montserrat",sans-serif; text-transform:uppercase;
  font-size:10px; color:rgba(250,234,240,.7); letter-spacing:.28em; font-weight:600;
}
/* Info + nav row */
.foot-bottom{
  display:flex; justify-content:space-between; align-items:center;
  gap:20px; flex-wrap:wrap; width:100%;
  padding-top:28px; border-top:1px solid rgba(250,234,240,.18);
  font-size:11px; letter-spacing:.04em;
}
.foot-line{font-size:12px; color:rgba(250,234,240,.72); line-height:1.7; text-align:left;}
.foot-line strong{color:#fff; font-weight:700;}
.foot-nav{ display:flex; gap:0; flex-wrap:wrap; }
.foot-nav a{color:rgba(250,234,240,.7); text-decoration:none; margin-left:18px; transition:color .2s; font-size:12px;}
.foot-nav a:hover{color:#fff;}

/* TOAST */
.toast{
  position:fixed; bottom:30px; left:50%;
  transform:translateX(-50%) translateY(120%);
  background:var(--magenta); color:#fdf4f8;
  padding:16px 26px; border-radius:999px;
  font-family:"Montserrat",sans-serif; font-weight:600;
  font-size:14px; letter-spacing:.02em;
  box-shadow:0 20px 60px -20px rgba(138,37,69,.6);
  transition:transform .4s cubic-bezier(.2,.9,.3,1.2);
  z-index:99;
  max-width:90vw; text-align:center;
}
.toast.on{transform:translateX(-50%) translateY(0)}

/* ============================================================
   ESTADOS PARA verify-email / reset-password
   ============================================================ */
.status-page{
  min-height:100vh;
  display:grid; place-items:center;
  padding:30px 22px;
  position:relative; z-index:2;
}
.status-card{
  width:100%; max-width:480px;
  background:linear-gradient(180deg, #ffffff 0%, #fdf4f8 100%);
  border:1px solid rgba(138,37,69,.18);
  box-shadow: var(--shadow-rose);
  padding:48px 38px;
  border-radius:20px;
  text-align:center;
  position:relative;
}
.status-card::before, .status-card::after{
  content:""; position:absolute; width:22px; height:22px;
  border:1.5px solid var(--champagne-2);
  border-radius:3px;
}
.status-card::before{top:10px; left:10px; border-right:none; border-bottom:none}
.status-card::after{bottom:10px; right:10px; border-left:none; border-top:none}
.status-card .horus{
  width:90px; height:90px; margin:0 auto 22px;
}
.status-card h1{
  font-family:"Darrell Rolando",serif; font-weight:700;
  text-transform:uppercase;
  font-size:34px; line-height:1.05; margin:0 0 12px;
  color:var(--magenta); letter-spacing:.005em;
}
.status-card .lead{
  font-size:15px; line-height:1.55; color:var(--ink-2);
  margin:0 0 28px;
}
.status-card .btn-quiero{
  width:100%; padding:16px 24px; font-size:18px;
}
.status-card .secondary-link{
  display:inline-block; margin-top:18px; font-size:12px;
  color:var(--magenta); text-decoration:none;
  border-bottom:1px solid var(--line); padding-bottom:2px;
  letter-spacing:.06em; font-weight:600;
}
.status-card .secondary-link:hover{border-color:var(--magenta)}

/* spinner */
.spinner{
  width:48px; height:48px; margin:0 auto 22px;
  border:3px solid var(--rose-200);
  border-top-color: var(--magenta);
  border-radius:50%;
  animation:spin 1s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg)}}

/* tick verde de éxito */
.success-icon{
  width:74px; height:74px; margin:0 auto 22px;
  border-radius:50%;
  background:linear-gradient(180deg, #e7f5ec, #c6e8d3);
  border:2px solid #1f6b3a;
  display:grid; place-items:center;
  color:#1f6b3a; font-size:38px;
  box-shadow:0 12px 30px -10px rgba(31,107,58,.4);
}
.error-icon{
  width:74px; height:74px; margin:0 auto 22px;
  border-radius:50%;
  background:linear-gradient(180deg, #fde8ef, #f6c5d3);
  border:2px solid #a4173f;
  display:grid; place-items:center;
  color:#a4173f; font-size:38px;
  box-shadow:0 12px 30px -10px rgba(164,23,63,.4);
}

.status-state{display:none}
.status-state.active{display:block; animation:fade .35s ease}

/* ============================================================
   DASHBOARD BLOQUEADO
   ============================================================ */
.dash-topbar{
  position:relative; z-index:2;
  background:#fff;
  border-bottom:1px solid var(--line);
  padding:14px 32px;
  display:flex; align-items:center; justify-content:space-between;
}
.dash-topbar .left{display:flex; align-items:center; gap:14px}
.dash-topbar .left img{height:40px}
.dash-topbar .left .breadcrumb{
  font-size:11px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--magenta-2); font-weight:600;
  border-left:1px solid var(--line); padding-left:14px; margin-left:6px;
}
.dash-topbar .right{display:flex; align-items:center; gap:18px}
.dash-topbar .right .who{
  font-size:13px; color:var(--ink); font-weight:600;
  display:flex; align-items:center; gap:8px;
}
.dash-topbar .right .who .avatar{
  width:32px; height:32px; border-radius:50%;
  background:linear-gradient(135deg, var(--rose-200), var(--magenta-3));
  color:#fff; display:grid; place-items:center;
  font-family:"Montserrat",sans-serif; font-size:14px; font-weight:800;
  text-transform:uppercase;
}
.dash-topbar .logout{
  font-size:11px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--magenta); border:1px solid var(--line);
  padding:7px 12px; border-radius:999px; cursor:pointer; background:#fff;
  font-weight:600; transition:all .2s ease;
}
.dash-topbar .logout:hover{border-color:var(--magenta); background:var(--rose-50)}

.dash-wrap{
  position:relative; z-index:2;
  max-width:1240px; margin:0 auto; padding:48px 32px 80px;
}
.dash-hero h1{
  font-family:"Darrell Rolando",serif; font-weight:700;
  text-transform:uppercase;
  font-size: clamp(36px, 4.8vw, 58px); line-height:1; margin:0 0 8px;
  color:var(--magenta);
}
.dash-hero .meta{
  font-size:11px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--magenta-2); font-weight:600; margin-bottom:36px;
}

.activation-card{
  background:#fff;
  border:1px solid rgba(138,37,69,.18);
  border-radius:24px;
  padding:38px 38px 36px;
  box-shadow:var(--shadow-rose);
  margin-bottom:50px;
  position:relative; overflow:hidden;
}
.activation-card::before{
  content:""; position:absolute; right:-30px; top:-30px;
  width:200px; height:200px; opacity:.05;
  background-image:url("https://cdn.shopify.com/s/files/1/0980/5807/6454/files/LOGO_CLEO_OJO_HORUS_EMPRENDEDORAS_PARAGUAY.png?v=1777249064");
  background-size:contain; background-repeat:no-repeat;
}
.activation-card .lock-row{
  display:flex; align-items:center; gap:14px; margin-bottom:14px;
  font-family:"Montserrat",sans-serif;
  font-size:22px; text-transform:uppercase; font-weight:700;
  color:var(--magenta); letter-spacing:.005em;
}
.activation-card .lock-row .lock-ico{
  width:38px; height:38px; border-radius:50%;
  background:linear-gradient(180deg, var(--rose-100), var(--rose-200));
  border:1px solid var(--champagne-2);
  display:grid; place-items:center; font-size:18px;
}
.activation-card p{
  font-size:15px; line-height:1.6; color:var(--ink-2); margin:0 0 24px;
  max-width:620px;
}
.activation-card .cta-primary{
  display:inline-flex; align-items:center; gap:10px;
  text-decoration:none;
}
.divider-soft{
  height:1px; background:var(--line); margin:30px 0 24px;
}
.activation-secondary .ask{
  font-size:14.5px; color:var(--ink); font-weight:600; margin:0 0 6px;
}
.activation-secondary .phone{
  font-family:"Montserrat",sans-serif; font-size:22px;
  color:var(--magenta); letter-spacing:.04em; margin:0 0 18px;
}

.btn-whatsapp{
  display:inline-flex; align-items:center; gap:12px;
  background:var(--whatsapp);
  color:#fff;
  padding:16px 26px;
  border-radius:999px;
  font-family:"Montserrat",sans-serif; font-weight:700;
  font-size:14px; letter-spacing:.05em; text-transform:uppercase;
  text-decoration:none;
  border:0; cursor:pointer;
  box-shadow: 0 14px 32px -10px rgba(37,211,102,.55), 0 4px 14px -4px rgba(18,140,126,.4);
  transition: all .3s ease;
}
.btn-whatsapp:hover{
  background:var(--whatsapp-dark);
  transform:translateY(-2px);
  box-shadow: 0 22px 50px -10px rgba(37,211,102,.7), 0 0 60px rgba(37,211,102,.3);
}
.btn-whatsapp svg{flex:0 0 auto}

.preview-msg{
  margin-top:18px;
  font-size:13px; color:var(--ink-2); font-style:italic;
  background:var(--rose-50); border-left:3px solid var(--magenta-3);
  padding:10px 14px; border-radius:6px;
  max-width:560px;
}

/* MÓDULOS BLOQUEADOS */
.modules-head{
  display:flex; align-items:center; gap:14px;
  margin:10px 0 22px;
}
.modules-head h2{
  font-family:"Darrell Rolando",serif; font-weight:700;
  text-transform:uppercase;
  font-size:26px; color:var(--magenta); margin:0;
  letter-spacing:.01em;
}
.modules-head .ln{flex:1; height:1px; background:var(--line)}

.modules-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:16px;
}
.module-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:24px 22px;
  position:relative;
  cursor:pointer;
  opacity:.78;
  transition:all .25s ease;
  display:flex; flex-direction:column; gap:8px;
  font-family:inherit; text-align:left;
}
.module-card:hover{
  opacity:1;
  border-color:var(--magenta-3);
  transform:translateY(-2px);
  box-shadow:0 12px 28px -16px rgba(138,37,69,.25);
}
.module-card .icon{
  font-size:24px; margin-bottom:6px;
}
.module-card .title{
  font-family:"Montserrat",sans-serif; font-weight:700;
  text-transform:uppercase; font-size:16px; color:var(--magenta);
  letter-spacing:.01em;
}
.module-card .sub{
  font-size:12px; line-height:1.5; color:var(--ink-2);
}
.module-card .lock-corner{
  position:absolute; top:14px; right:14px;
  width:26px; height:26px; border-radius:50%;
  background:var(--rose-100); border:1px solid var(--line);
  display:grid; place-items:center; font-size:12px;
  color:var(--magenta-2);
}

/* MODAL */
.modal-overlay{
  position:fixed; inset:0;
  background:rgba(43,36,41,.55);
  backdrop-filter:blur(6px);
  display:none; align-items:center; justify-content:center;
  z-index:100;
  padding:22px;
}
.modal-overlay.on{display:flex}
.modal-card{
  background:linear-gradient(180deg, #fff 0%, #fdf4f8 100%);
  border-radius:20px;
  padding:34px 32px 28px;
  max-width:440px; width:100%;
  text-align:center;
  position:relative;
  box-shadow:0 30px 80px -20px rgba(0,0,0,.4);
  animation:fade .25s ease;
}
.modal-card h3{
  font-family:"Montserrat",sans-serif; font-weight:700;
  text-transform:uppercase;
  font-size:24px; line-height:1.15;
  color:var(--magenta); margin:0 0 12px;
}
.modal-card p{
  font-size:14px; line-height:1.55; color:var(--ink-2);
  margin:0 0 22px;
}
.modal-card .modal-close{
  position:absolute; top:12px; right:14px;
  background:transparent; border:0; cursor:pointer;
  font-size:20px; color:var(--ink-2); opacity:.7;
}
.modal-card .modal-close:hover{opacity:1}

.dash-footer{
  text-align:center; padding:28px 22px;
  font-size:11px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--magenta-2); opacity:.7; font-weight:600;
}
.dash-footer a{color:var(--magenta-2); text-decoration:none; margin:0 10px}
.dash-footer a:hover{color:var(--magenta)}

/* ============ RESPONSIVE ============ */
@media (max-width: 1100px){
  .pillars, .invest-grid{grid-template-columns:repeat(2,1fr)}
  .press-block{grid-template-columns:1fr; gap:24px}
  .press-photo{aspect-ratio:16/9; max-height:340px}
  .founder{grid-template-columns:1fr; gap:40px}
  .founder .credits{grid-template-columns:repeat(2,1fr)}
  .modules-grid{grid-template-columns:repeat(2,1fr)}
}

/* ============ HERO V3 — grid-template-areas ============ */
.hero-v3{
  /* Full viewport — no max-width constraint on the wrapper */
  width:100%; box-sizing:border-box;
  padding:5vh 6vw 0;
  display:grid;
  grid-template-columns: 1.1fr 1fr;
  grid-template-areas:
    "brand auth"
    "horus auth"
    "copy  auth"
    "pillars pillars";
  column-gap:5vw;
  align-items:start;
  min-height:100vh;
  align-content:start;
}
.hv-brand   { grid-area:brand; }
.hv-horus   { grid-area:horus; }
.hv-copy    { grid-area:copy; }
.hv-auth-wrap { grid-area:auth; }
.hv-pillars { grid-area:pillars; }

/* Logo block inside hero */
.hv-logo-block{
  display:flex; flex-direction:column; align-items:flex-start; gap:2px; margin-bottom:18px;
}
.hv-byblondas{
  font-family:"Montserrat",sans-serif; font-size:11px;
  letter-spacing:.28em; text-transform:uppercase;
  color:var(--magenta-2); font-weight:700;
  margin-left:2px;
}
.hv-masthead{
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  padding:9px 0; margin-bottom:28px;
}

/* Desktop/mobile title variants */
.t-desk{ display:block }
.t-mob { display:none }

/* Sticky auth card on desktop */
.hv-auth-wrap{
  display:flex; flex-direction:column; gap:20px;
  align-self:center; /* centrar verticalmente en el grid */
}

/* Pillars static row */
.hv-pillars{
  border-top:1px solid var(--line);
  padding:20px 0 50px;
  text-align:center;
  font-size:10px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--magenta-2); font-weight:600; line-height:2;
}
.hv-dot{ margin:0 8px; opacity:.5 }

/* H1 in hv-copy (same styling as .editorial h1) */
.hv-copy h1{
  font-family:"Darrell Rolando",serif; font-weight:700;
  font-size:clamp(54px, 7.2vw, 110px); line-height:.92;
  margin:0 0 14px; color:var(--magenta); text-transform:uppercase;
  letter-spacing:-.005em;
}
.hv-copy h1 .accent{ color:var(--magenta-3) }
.hv-copy .kicker{
  font-family:"Montserrat",sans-serif; font-weight:700;
  font-size:15.5px; color:var(--ink); margin:0 0 16px;
  text-transform:none; letter-spacing:0; line-height:1.55;
}
.hv-copy .lede{
  font-size:14px; line-height:1.7; color:var(--ink-2); margin:0 0 32px;
}
.hv-copy .lede strong{ color:var(--magenta); font-weight:700 }

/* Mobile: reorder form above copy */

/* Lede debajo del form */
.hv-lede{
  font-size:13.5px; line-height:1.7; color:var(--ink-2);
  margin:0; padding:18px 0 0;
  border-top:1px solid var(--line);
}
.hv-lede strong{ color:var(--magenta); font-weight:700 }

/* En mobile: hv-lede va después de hv-auth-wrap (natural flow) */


/* ── Tarjetas de prensa en sección Fundadora ── */
.founder-press{
  display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-top:24px;
}
.founder-press-card{
  display:block; text-decoration:none;
  background:#fff; border:1px solid var(--line);
  border-radius:14px; padding:16px 18px;
  transition:border-color .2s, box-shadow .2s;
}
.founder-press-card:hover{
  border-color:var(--magenta); box-shadow:0 6px 20px -8px rgba(159,38,113,.2);
}
.fp-medio{
  font-size:9px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--magenta); font-weight:700; margin-bottom:6px;
}
.fp-head{
  font-size:13px; line-height:1.45; color:var(--ink); margin-bottom:10px;
  font-style:italic;
}
.fp-read{
  font-size:11px; letter-spacing:.08em; color:var(--magenta-2);
  font-weight:600; text-transform:uppercase;
}
@media(max-width:820px){
  .founder-press{ grid-template-columns:1fr }
}


/* ── Bandas blancas alternadas ── */
.band-white{
  background:#ffffff;
  position:relative; z-index:2;
}
.band-white .banner-section{
  /* el banner-section ya tiene max-width+margin:auto */
}
.band-white .closing{
  /* closing ya tiene su propio padding */
}

@media (max-width:820px){
  .hero-v3{
    grid-template-columns:1fr;
    grid-template-areas:
      "brand"
      "horus"
      "auth"
      "copy"
      "pillars";
    padding:18px 18px 0; column-gap:0; min-height:auto;
  }
  .hv-brand{ text-align:center; margin-bottom:0 }
  .hv-brand .hv-logo-block{ align-items:center; margin-bottom:10px }
  .hv-brand .crest-logo{ height:44px }
  .hv-brand .hv-masthead{ margin-bottom:14px; padding:6px 0 }
  .hv-horus{ margin-bottom:10px }
  .horus-wrap{ margin-bottom:10px }
  .horus{ width:80px; height:80px }
  .hv-auth-wrap .auth{ position:static }
  .hv-copy h1{ font-size:36px; line-height:1; margin-bottom:10px }
  .hv-copy .kicker{ font-size:14px; margin-bottom:8px }
  .hv-pillars{ padding:12px 0 24px; font-size:9px }
  /* Reduce auth card padding on mobile */
  .auth{ padding:20px 18px 18px !important; border-radius:14px !important }
  .tabs button{ padding:9px 10px; font-size:10px }
  .btn-quiero{ padding:13px 18px; font-size:12px }
}

@media (max-width: 820px){
  .frame{padding:18px 22px 0}
  .topbar{flex-wrap:wrap; gap:14px}
  .hero{grid-template-columns:1fr; gap:30px; padding:24px 22px 40px}
  .banner-section{padding:20px 22px 50px}
  .banner{padding:34px 26px 30px; border-radius:22px}
  .banner-grid{grid-template-columns:1fr; gap:24px}
  .pillars, .invest-grid{grid-template-columns:1fr}
  .big-stat{grid-template-columns:1fr; gap:24px}
  .grid-2{grid-template-columns:1fr}
  .section{padding:40px 18px}
  .closing, .investors{padding:44px 18px}
  .triple{flex-wrap:wrap; gap:8px}
  .triple .pill{font-size:10px; padding:7px 12px}
  .auth{padding:28px 24px 24px; border-radius:16px}
  footer{padding:28px 18px 20px}

  .dash-topbar{padding:12px 18px; flex-wrap:wrap; gap:10px}
  .dash-topbar .left img{height:34px}
  .dash-wrap{padding:30px 18px 60px}
  .activation-card{padding:26px 22px 24px; border-radius:18px}
  .modules-grid{grid-template-columns:repeat(2,1fr)}
  .status-card{padding:36px 24px}
  .status-card h1{font-size:28px}
}
@media (max-width: 480px){
  .modules-grid{grid-template-columns:1fr}
  .dash-topbar .right .who span:not(.avatar){display:none}
}

/* ════════════════════════════════════════════════════════════════
   CLEO INGRESO v2 FINAL (2026-05-05)
   Visual aprobado por Mel (foto mobile + split desktop)
   Logos: /logo-horus.png (metalizado) + /logo-cleo.png (monogram)
   Namespace: .cleo-ing__* (no choca con CSS viejo .hero-v3 / .hv-*)
   ════════════════════════════════════════════════════════════════ */

@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600&family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400;1,500;1,600&display=swap");

/* Variables — paleta v6 (ligeramente más oscura/elegante que la viejas) */
.cleo-ing{
  --cling-magenta: #8a2545;
  --cling-magenta-2: #6f1c38;
  --cling-magenta-3: #b87597;
  --cling-rose-50: #fdf6fa;
  --cling-rose-100: #f9eaf2;
  --cling-rose-200: #f3dde7;
  --cling-champagne: #e7d6b4;
  --cling-champagne-2: #c9b079;
  --cling-ink: #2b1f25;
  --cling-ink-2: #6b5560;
  --cling-line: #efe2ea;

  position:relative; z-index:2;
  width:100%; max-width:none; margin:0; padding:0;
  font-family:"Montserrat",system-ui,sans-serif;
  color:var(--cling-ink);
}

/* HERO TOP rosa pluma con watermark Horus repetido */
.cleo-ing__hero{
  background: var(--cling-rose-200);
  padding: 28px 24px 32px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.cleo-ing__hero::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:url("/logo-horus.png");
  background-size: 110px auto; background-repeat: repeat;
  opacity: .04; mix-blend-mode: multiply;
}
.cleo-ing__hero > *{position:relative; z-index:1}

.cleo-ing__platform{
  font-family:"Montserrat",sans-serif; font-weight:600;
  font-size: 9.5px; letter-spacing:.24em; text-transform:uppercase;
  color: var(--cling-magenta-2);
  line-height: 1.5;
  padding: 0 8px;
  margin: 0 0 22px 0;
}
.cleo-ing__platform .plus{font-weight:400; opacity:.7; margin-right:4px}

.cleo-ing__horus{
  width: 96px; height: auto;
  margin: 0 auto;
  display: block;
  filter: drop-shadow(0 8px 20px rgba(138,37,69,.22));
}

.cleo-ing__tagline{
  font-family:"Cormorant Garamond","Playfair Display",Georgia,serif;
  font-style: italic; font-weight: 400;
  font-size: 14px;
  color: var(--cling-ink-2);
  line-height: 1.45;
  margin: 14px 0 0;
  padding: 0 16px;
}

.cleo-ing__h1{
  font-family:"Darrell Rolando","Playfair Display",Georgia,serif; font-weight:700;
  text-transform: uppercase;
  font-feature-settings:"liga" 0,"clig" 0,"calt" 0,"salt" 0;
  font-variant-ligatures: none;
  font-size: 42px;
  line-height: .95;
  margin: 18px 0 0;
  color: var(--cling-magenta);
  letter-spacing: -.005em;
}
.cleo-ing__accent{ color: var(--cling-magenta-3); }

.cleo-ing__kicker{
  font-family:"Montserrat",sans-serif; font-weight:500;
  font-size: 12px; line-height: 1.5;
  color: var(--cling-ink-2);
  margin: 14px 0 0;
  padding: 0 6px;
}

.cleo-ing__credit{
  margin: 22px 0 0;
  padding-top: 18px;
  border-top: 1px solid rgba(138,37,69,.18);
  font-family:"Montserrat",sans-serif;
  font-size: 10px; line-height: 1.55;
  color: var(--cling-ink-2);
  text-align:center;
}
.cleo-ing__credit strong{ color: var(--cling-magenta); font-weight:700; }
.cleo-ing__credit em{ font-style:normal; color: var(--cling-magenta-2); font-weight:600; letter-spacing:.02em; }

/* AUTH bottom blanco */
.cleo-ing__auth{
  background: #ffffff;
  padding: 20px 24px 24px;
  display: flex; flex-direction: column; gap: 8px;
}

.cleo-ing__authtop{
  display:flex; justify-content:space-between; align-items:center;
  font-family:"Montserrat",sans-serif; font-size: 9px;
  letter-spacing:.18em; text-transform:uppercase;
  flex-wrap:wrap; gap:10px;
}
.cleo-ing__authtop-l{display:flex; align-items:center; gap:6px; color: var(--cling-magenta-2); font-weight:700}
.cleo-ing__dot{width:6px; height:6px; border-radius:50%; background: var(--cling-magenta); box-shadow: 0 0 8px rgba(159,38,113,.5)}
.cleo-ing__authtop-r{color: var(--cling-ink-2); font-weight:500; text-transform:none; letter-spacing:0; font-size: 10.5px}
.cleo-ing__authtop-r a{color: var(--cling-magenta); text-decoration:none; font-weight:700; border-bottom:1px solid var(--cling-magenta-3); padding-bottom:1px}

.cleo-ing__cleomark{
  display:block;
  width: 200px; height: auto;
  margin: 2px 0 0;
}

.cleo-ing__authtitle{
  font-family:"Playfair Display","Darrell Rolando",Georgia,serif; font-weight:700;
  text-transform: uppercase;
  font-size: 22px; line-height:1; margin:0;
  color: var(--cling-magenta);
  letter-spacing: .005em;
}

.cleo-ing__authblurb{
  font-family:"Montserrat",sans-serif; font-size: 12px; line-height:1.5;
  color: var(--cling-ink-2); margin: 2px 0 4px;
}

.cleo-ing__formmsg{
  display:none;
  font-family:"Montserrat",sans-serif; font-size:12.5px; line-height:1.5;
  padding:11px 14px; border-radius:6px;
  margin: 4px 0;
}
.cleo-ing__formmsg.error{display:block; background:#fdeaea; color:#a32525; border:1px solid rgba(163,37,37,.2)}
.cleo-ing__formmsg.success{display:block; background:#eaf6ee; color:#1f6e3a; border:1px solid rgba(31,110,58,.2)}

/* tabs */
.cleo-ing__tabs{
  display: flex;
  border-bottom: 1px solid rgba(138,37,69,.15);
  margin-top: 4px;
}
.cleo-ing__tabs button{
  flex: 0 0 auto;
  background: transparent; border:0; cursor:pointer;
  padding: 9px 4px; margin-right: 24px;
  font-family:"Montserrat",sans-serif; font-weight:700;
  font-size: 11px; letter-spacing:.16em; text-transform:uppercase;
  color: var(--cling-ink-2);
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  transition: all .2s ease;
}
.cleo-ing__tabs button.on{
  color: var(--cling-magenta);
  border-bottom-color: var(--cling-magenta);
}

/* panes */
.cleo-ing__pane{display:none; flex-direction:column; gap:14px}
.cleo-ing__pane.active{display:flex; animation: clingfade .3s ease}
@keyframes clingfade{from{opacity:0; transform:translateY(4px)} to{opacity:1; transform:translateY(0)}}

/* fields */
.cleo-ing__field{display:flex; flex-direction:column; gap:4px}
.cleo-ing__field label{
  font-size: 9px; letter-spacing:.22em; text-transform:uppercase;
  color: var(--cling-magenta); font-weight:700;
}
.cleo-ing__ipt{
  display:flex; align-items:center; gap:8px;
  border:0; border-bottom:1.5px solid rgba(138,37,69,.25);
  padding:7px 2px; background:transparent;
  transition:border-color .25s ease;
  position: relative;
}
.cleo-ing__ipt:focus-within{border-color: var(--cling-magenta)}
.cleo-ing__ipt input{
  border:0; outline:0; background:transparent; flex:1;
  font-family:"Montserrat",sans-serif; font-size:14px; color: var(--cling-ink);
  font-weight:500;
  width:100%;
  padding:0;
}
.cleo-ing__ipt input::placeholder{color: rgba(74,61,68,.5); font-weight:400}
.cleo-ing__ipt .eye{cursor:pointer; opacity:.55; transition:opacity .2s; user-select:none; padding-left:6px; font-size: 16px}
.cleo-ing__ipt .eye:hover{opacity:1}

.cleo-ing__hint{font-size:11px; color: var(--cling-ink-2); opacity:.75; margin-top:4px}
.cleo-ing__flag-pre{font-family:"Montserrat",sans-serif; font-size:13px; color: var(--cling-magenta); font-weight:700; opacity:.85}

/* ciudad combo */
.cleo-ing__ipt--combo{position:relative; flex-wrap:wrap}
.cleo-ing__ciudad-list{
  position:absolute; top:calc(100% + 4px); left:0; right:0;
  background:#fff; border:1px solid rgba(138,37,69,.2); border-radius:8px;
  list-style:none; padding:4px 0; margin:0;
  max-height:220px; overflow-y:auto;
  box-shadow:0 8px 24px -8px rgba(0,0,0,.18);
  z-index:200;
}
.cleo-ing__ciudad-list li{
  padding:9px 14px; cursor:pointer;
  font-family:"Montserrat",sans-serif; font-size:13px; color: var(--cling-ink);
}
.cleo-ing__ciudad-list li:hover{background: var(--cling-rose-50); color: var(--cling-magenta)}

/* select dentro del formulario */
.cleo-ing__ipt select{
  border:0; outline:0; background:transparent; flex:1;
  font-family:"Montserrat",sans-serif; font-size:14px; color: var(--cling-ink);
  font-weight:500; width:100%; padding:0; cursor:pointer;
  appearance:none; -webkit-appearance:none;
}
.cleo-ing__ipt select:focus{outline:0}
.cleo-ing__ipt select option{color: var(--cling-ink); background:#fff; font-weight:400}

.cleo-ing__row{
  display:flex; justify-content:space-between; align-items:center;
  font-size:11px; color: var(--cling-ink-2); flex-wrap:wrap; gap:8px;
  margin-top: 2px;
}
.cleo-ing__row a{color: var(--cling-magenta); text-decoration:none; font-weight:600; border-bottom:1px solid var(--cling-line)}
.cleo-ing__check{display:flex; align-items:center; gap:6px; cursor:pointer}
.cleo-ing__check input{accent-color: var(--cling-magenta)}
.cleo-ing__terms{font-size:11.5px; line-height:1.5; align-items:flex-start; color: var(--cling-ink-2)}
.cleo-ing__terms input{margin-top:3px; flex-shrink:0}
.cleo-ing__terms a{color: var(--cling-magenta); border-bottom:1px solid var(--cling-champagne-2); font-weight:600; text-decoration:none}

/* botón principal */
.cleo-ing__btn{
  background: var(--cling-magenta); color: #fff;
  border: 0; cursor: pointer;
  padding: 13px 18px;
  font-family:"Montserrat",sans-serif; font-size: 11.5px;
  letter-spacing:.22em; text-transform:uppercase; font-weight:700;
  border-radius: 4px;
  box-shadow: 0 6px 16px -6px rgba(138,37,69,.45), 0 2px 6px -2px rgba(138,37,69,.3);
  transition: all .25s ease;
  display: flex; align-items: center; justify-content: center; gap: 8px;
  width: 100%;
  margin-top: 4px;
}
.cleo-ing__btn:hover{ background: var(--cling-magenta-2); transform: translateY(-1px) }
.cleo-ing__btn:disabled{ opacity:.6; cursor:wait; transform:none }
.cleo-ing__arrow{ opacity:.85 }
.cleo-ing__btn--ghost{
  background: #fff; color: var(--cling-magenta);
  border:1.5px solid var(--cling-magenta);
  box-shadow: 0 2px 8px -2px rgba(138,37,69,.18);
}
.cleo-ing__btn--ghost:hover{ background: var(--cling-rose-50); color: var(--cling-magenta-2) }

.cleo-ing__or{
  display:flex; gap:10px; align-items:center;
  color: var(--cling-ink-2); font-size:9px; letter-spacing:.22em;
  text-transform:uppercase; font-weight:600;
  margin: 6px 0 2px;
}
.cleo-ing__or .l{flex:1; height:1px; background: var(--cling-line)}

.cleo-ing__social{display:grid; grid-template-columns:1fr 1fr; gap:8px}
.cleo-ing__social button{
  background:#fff; border:1px solid var(--cling-line); padding:9px;
  font-family:"Montserrat",sans-serif; font-size:10px; letter-spacing:.14em;
  text-transform:uppercase; font-weight:700;
  color: var(--cling-ink); cursor:pointer;
  display:flex; align-items:center; justify-content:center; gap:6px;
  border-radius:8px;
  transition:all .25s ease;
}
.cleo-ing__social button:hover:not(:disabled){border-color: var(--cling-magenta); background: var(--cling-rose-50)}
.cleo-ing__social button:disabled{opacity:.4; cursor:not-allowed}

.cleo-ing__post{margin:12px 0 0; font-size:13px; color: var(--cling-ink-2); text-align:center; font-style:italic}
.cleo-ing__back{
  display:flex; justify-content:center; align-items:center;
  color: var(--cling-magenta); font-size:11px; text-decoration:none; font-weight:600;
  border-bottom:1px solid var(--cling-line);
  padding: 8px 0; margin-top:6px; max-width: max-content; align-self:center;
}

/* registro success */
.cleo-ing__success{text-align:center; padding:14px 0}
.cleo-ing__success-icon{
  width:60px; height:60px; margin:0 auto 16px;
  border-radius:50%; background: var(--cling-magenta); color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-size:32px; font-weight:700;
  box-shadow:0 12px 28px -8px rgba(138,37,69,.45);
}
.cleo-ing__success-title{
  font-family:"Playfair Display","Darrell Rolando",Georgia,serif; font-weight:700; text-transform:uppercase;
  color: var(--cling-magenta); font-size:22px; margin:0 0 12px;
}
.cleo-ing__success-msg{font-size:13px; line-height:1.55; color: var(--cling-ink-2); margin:0 0 18px}
.cleo-ing__success-msg strong{color: var(--cling-magenta); font-weight:700}

/* footer auth */
.cleo-ing__foot{
  display:flex; justify-content:space-between; align-items:center;
  font-family:"Montserrat",sans-serif;
  font-size:8.5px; letter-spacing:.18em; text-transform:uppercase;
  color: var(--cling-ink-2); opacity:.6; font-weight:600;
  border-top:1px solid var(--cling-line);
  padding-top: 12px; margin-top: 8px;
  flex-wrap:wrap; gap:6px;
}

/* ════════════════════════════════════════════════════════════════
   RESPONSIVE — Mobile-first (la foto) + Desktop split (≥900px)
   ════════════════════════════════════════════════════════════════ */

/* DESKTOP — split 2 cols (hero izquierda, auth derecha) */
@media (min-width: 900px){
  .cleo-ing{
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 100vh;
    overflow: hidden;
  }
  .cleo-ing__hero{
    padding: 36px 56px 28px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
  }
  .cleo-ing__hero::before{ background-size: 140px auto; opacity: .035 }
  .cleo-ing__platform{font-size: 10.5px; margin-bottom: 28px}
  .cleo-ing__horus{ width: clamp(120px, 11vw, 160px) }
  .cleo-ing__tagline{ font-size: clamp(14px, 1.05vw, 16px); margin-top:18px; max-width: 460px; margin-left:auto; margin-right:auto }
  .cleo-ing__h1{ font-size: clamp(48px, 4.6vw, 64px); margin-top: 22px }
  .cleo-ing__kicker{ font-size: 13px; max-width: 480px; margin-left:auto; margin-right:auto; margin-top: 16px }
  .cleo-ing__credit{ font-size: 10.5px; max-width: 540px; margin-left:auto; margin-right:auto; margin-top: 28px }

  .cleo-ing__auth{
    padding: 18px 56px 24px;
    overflow-y: auto;
    min-height: 100vh;
  }
  .cleo-ing__authtop{font-size: 10.5px; letter-spacing: .22em; margin-bottom: 4px}
  .cleo-ing__authtop-r{font-size: 12px; letter-spacing: .02em}
  .cleo-ing__cleomark{ width: clamp(180px, 16vw, 230px); margin-top: 0 }
  .cleo-ing__authtitle{font-size: 26px}
  .cleo-ing__authblurb{font-size: 12.5px; max-width: 430px}
  .cleo-ing__tabs button{font-size: 11.5px; letter-spacing: .18em; padding: 9px 4px; margin-right: 30px}
  .cleo-ing__field input{font-size: 13.5px}
  .cleo-ing__btn{padding: 14px 22px; font-size: 12px}
  .cleo-ing__foot{font-size: 9.5px}
}

/* TABLET intermedio — 600px–899px */
@media (min-width: 600px) and (max-width: 899px){
  .cleo-ing__hero{padding: 36px 32px 36px}
  .cleo-ing__h1{font-size: 48px}
  .cleo-ing__auth{padding: 28px 32px 24px}
  .cleo-ing__cleomark{width: 220px}
}

/* DESKTOP grande — 1200px+ */
@media (min-width: 1200px){
  .cleo-ing__hero{padding: 56px 72px 40px}
  .cleo-ing__auth{padding: 24px 72px 32px}
  .cleo-ing__horus{width: 160px}
}

/* Mobile chico — 380px */
@media (max-width: 414px){
  .cleo-ing__hero{padding: 22px 18px 26px}
  .cleo-ing__h1{font-size: 38px}
  .cleo-ing__auth{padding: 22px 20px 22px}
  .cleo-ing__cleomark{width: 180px}
}
