/* Cléveris — Editorial Dark · v20260704 */
:root{
  --bg:#0b0d10;
  --surface:#111419;
  --ink:#ede9e1;
  --muted:#9a958b;
  --gold:#ffd500;
  --hair:rgba(255,255,255,.08);
  --serif:"Fraunces",Georgia,serif;
  --sans:"Inter",-apple-system,system-ui,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--gold);color:#0b0d10}

/* Ambience */
.grain{position:fixed;inset:-50%;width:200%;height:200%;pointer-events:none;z-index:50;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='0.6'/%3E%3C/svg%3E");
  animation:grain 8s steps(10) infinite}
@keyframes grain{0%,100%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-2%)}80%{transform:translate(3%,3%)}}
.glow{position:fixed;border-radius:50%;filter:blur(120px);pointer-events:none;z-index:0;opacity:.5}
.glow-a{width:52vw;height:52vw;top:-22vw;right:-14vw;background:radial-gradient(circle,rgba(255,213,0,.09),transparent 65%)}
.glow-b{width:44vw;height:44vw;bottom:-16vw;left:-12vw;background:radial-gradient(circle,rgba(70,100,140,.13),transparent 65%)}

/* Header */
.top{position:fixed;top:0;left:0;right:0;z-index:40;display:flex;justify-content:space-between;align-items:center;
  padding:1.35rem clamp(1.25rem,4vw,3.5rem);
  background:linear-gradient(to bottom,rgba(11,13,16,.85),rgba(11,13,16,0));
  backdrop-filter:blur(2px)}
.wordmark{font-family:var(--serif);font-weight:550;font-size:1.35rem;letter-spacing:.02em;color:var(--ink);text-decoration:none;
  display:inline-flex;align-items:center;gap:.55rem}
.wordmark img{height:1.4rem;width:auto;display:block}
.wordmark em{font-style:italic;font-weight:340;color:var(--gold)}
.top-nav a{color:var(--muted);text-decoration:none;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;margin-left:1.75rem;transition:color .3s}
.top-nav a:hover{color:var(--gold)}

main{position:relative;z-index:1}

/* Hero */
.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
  padding:0 clamp(1.25rem,6vw,7rem);position:relative}
.hero-mark{position:absolute;right:-6vw;top:50%;transform:translateY(-50%);width:min(46vw,640px);height:auto;
  opacity:.07;pointer-events:none;user-select:none}
.eyebrow{font-size:.78rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:1.6rem}
.hero-title{font-family:var(--serif);font-weight:300;font-size:clamp(3rem,10.5vw,8.5rem);line-height:1.02;letter-spacing:-.015em}
.hero-title .line{display:block;overflow:hidden}
.hero-title .line > span{display:inline-block;transform:translateY(110%);animation:rise 1.1s cubic-bezier(.19,1,.22,1) forwards}
.hero-title .line:nth-child(2) > span{animation-delay:.15s}
.tld{font-style:normal;color:var(--gold)}
@keyframes rise{to{transform:translateY(0)}}
.hero-sub{margin-top:2.2rem;font-size:clamp(1.05rem,1.6vw,1.35rem);color:var(--muted);line-height:1.75}
.hero-sub em{font-style:normal;color:var(--ink);border-bottom:1px solid var(--gold)}
.hero-cta{margin-top:3rem;display:inline-flex;align-items:center;gap:.6rem;color:var(--ink);text-decoration:none;
  font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;
  border:1px solid var(--hair);border-radius:999px;padding:.9rem 1.7rem;transition:border-color .35s,background .35s}
.hero-cta:hover{border-color:var(--gold);background:rgba(198,165,103,.07)}
.hero-cta .arr{transition:transform .35s}
.hero-cta:hover .arr{transform:translateY(3px)}

/* Marquee */
.marquee{overflow:hidden;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);padding:1rem 0;white-space:nowrap}
.marquee-track{display:inline-block;animation:scrollx 38s linear infinite}
.marquee-track span{font-family:var(--serif);font-style:italic;font-weight:340;font-size:1rem;color:var(--muted);letter-spacing:.06em}
@keyframes scrollx{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* Manifiesto */
.manifest{padding:clamp(6rem,14vh,10rem) clamp(1.25rem,6vw,7rem);max-width:64rem}
.manifest-text{font-family:var(--serif);font-weight:340;font-size:clamp(1.5rem,3vw,2.4rem);line-height:1.45}
.gold{color:var(--gold)}

/* Método */
.section-title{font-family:var(--serif);font-weight:300;font-size:clamp(2rem,4.5vw,3.4rem);line-height:1.1;margin:.4rem 0 3rem}
.steps{padding:0 clamp(1.25rem,6vw,7rem) clamp(5rem,10vh,8rem)}
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem}
.step{border-top:1px solid var(--hair);padding-top:1.6rem}
.step-num{font-family:var(--serif);font-style:italic;color:var(--gold);font-size:1.1rem}
.step h3{font-family:var(--serif);font-weight:550;font-size:1.35rem;margin:.8rem 0 .7rem}
.step p{color:var(--muted);font-size:.95rem;line-height:1.7}

/* Cifras */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--hair);
  border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);margin-bottom:clamp(5rem,10vh,8rem)}
.stat{background:var(--bg);padding:2.6rem clamp(1rem,2.5vw,2.5rem);display:flex;flex-direction:column;gap:.5rem}
.stat-num{font-family:var(--serif);font-weight:300;font-size:clamp(2rem,3.6vw,3.2rem);color:var(--gold);line-height:1}
.stat-label{color:var(--muted);font-size:.88rem;line-height:1.5}

/* Fundador */
.founder{padding:0 clamp(1.25rem,6vw,7rem) clamp(6rem,12vh,9rem);max-width:64rem}
.founder-link{color:var(--ink);text-decoration:none;border-bottom:2px solid var(--gold);transition:color .3s}
.founder-link:hover{color:var(--gold)}
.founder em{font-style:italic}

/* Marcas */
.brands{padding:0 clamp(1.25rem,6vw,7rem) clamp(5rem,10vh,8rem)}
.brands .eyebrow{margin-bottom:2.5rem}
.brand{
  display:grid;grid-template-columns:3.5rem 16rem 1fr auto;gap:2rem;align-items:center;
  padding:2.6rem 1.5rem;margin:0 -1.5rem;
  text-decoration:none;color:inherit;border-top:1px solid var(--hair);
  border-radius:12px;position:relative;transition:background .4s}
.brand:last-child{border-bottom:1px solid var(--hair)}
.brand::before{content:"";position:absolute;inset:0;border-radius:12px;opacity:0;transition:opacity .4s;
  background:linear-gradient(100deg,color-mix(in srgb,var(--tint) 9%,transparent),transparent 60%)}
.brand:hover::before{opacity:1}
.brand-index{font-family:var(--serif);font-style:italic;color:var(--muted);font-size:.95rem}
.brand-logo{display:flex;align-items:center;min-height:3rem}
.brand-logo img{max-width:13.5rem;max-height:3rem;width:auto;height:auto;display:block;
  transition:transform .45s cubic-bezier(.19,1,.22,1)}
.brand:hover .brand-logo img{transform:translateY(-3px) scale(1.03)}
.glammy-mark{font-family:"Playfair Display",Georgia,serif;font-style:italic;font-weight:500;
  font-size:2.1rem;color:#dce9f2;transition:transform .45s cubic-bezier(.19,1,.22,1)}
.brand:hover .glammy-mark{transform:translateY(-3px) scale(1.03)}
.brand-info{display:flex;flex-direction:column;gap:.45rem;max-width:34rem}
.brand-kind{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.brand-desc{color:var(--muted);font-size:.95rem;line-height:1.65}
.brand-desc a{color:var(--ink);text-decoration:none;border-bottom:1px solid rgba(255,213,0,.45);transition:color .3s,border-color .3s}
.brand-desc a:hover{color:var(--gold);border-color:var(--gold)}
a.brand-logo,a.brand-domain{text-decoration:none;color:inherit}
.brand-tags{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.4rem}
.brand-tags span{font-size:.72rem;letter-spacing:.04em;color:var(--muted);
  border:1px solid var(--hair);border-radius:999px;padding:.28rem .7rem;white-space:nowrap;transition:border-color .3s,color .3s}
.brand:hover .brand-tags span{border-color:rgba(255,213,0,.35);color:var(--ink)}
.brand-domain{font-size:.9rem;color:var(--ink);white-space:nowrap;display:inline-flex;gap:.5rem;align-items:center}
.brand-domain .arr{display:inline-block;transition:transform .35s;color:var(--gold)}
.brand:hover .brand-domain .arr{transform:translateX(6px)}

/* Contacto */
.contact{padding:clamp(6rem,16vh,11rem) clamp(1.25rem,6vw,7rem);text-align:left;border-top:1px solid var(--hair)}
.contact-title{font-family:var(--serif);font-weight:300;font-size:clamp(2.6rem,7vw,5.5rem);line-height:1.05;margin:.5rem 0 2rem}
.contact-mail{font-family:var(--serif);font-style:italic;font-weight:340;font-size:clamp(1.3rem,3vw,2.2rem);
  color:var(--gold);text-decoration:none;position:relative}
.contact-mail::after{content:"";position:absolute;left:0;bottom:-6px;height:1px;width:100%;background:var(--gold);
  transform:scaleX(.25);transform-origin:left;transition:transform .5s cubic-bezier(.19,1,.22,1)}
.contact-mail:hover::after{transform:scaleX(1)}

/* Páginas legales */
.legal{position:relative;z-index:1;max-width:52rem;padding:9rem clamp(1.25rem,6vw,7rem) 5rem}
.legal h1{font-family:var(--serif);font-weight:300;font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.1;margin:.5rem 0 1rem}
.legal h2{font-family:var(--serif);font-weight:550;font-size:1.3rem;margin:2.4rem 0 .8rem}
.legal p{color:var(--muted);font-size:.97rem;line-height:1.75;margin-bottom:1rem}
.legal a{color:var(--ink);text-decoration:none;border-bottom:1px solid rgba(255,213,0,.45);transition:color .3s}
.legal a:hover{color:var(--gold)}
.legal strong{color:var(--ink)}
.legal-date{font-size:.85rem;letter-spacing:.05em}

/* Footer */
.foot{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  padding:2rem clamp(1.25rem,6vw,7rem) 2.5rem;border-top:1px solid var(--hair);
  color:var(--muted);font-size:.82rem;position:relative;z-index:1}
.foot a{color:var(--muted);text-decoration:none;transition:color .3s}
.foot a:hover{color:var(--gold)}

/* Reveal (JS enriquece; sin JS todo es visible) */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s ease,transform .9s cubic-bezier(.19,1,.22,1)}
.reveal.is-in{opacity:1;transform:none}
.no-js .reveal{opacity:1;transform:none}
/* Red de seguridad para elementos con split de texto */
.reveal[data-split]{opacity:1;transform:none}

/* Responsive */
@media (max-width:900px){
  .steps-grid{grid-template-columns:1fr;gap:2rem}
  .stats{grid-template-columns:repeat(2,1fr)}
  .brand{grid-template-columns:1fr;gap:1.1rem;padding:2.2rem 1.25rem}
  .brand-index{display:none}
  .brand-domain{margin-top:.3rem}
  .brand-logo img{max-height:2.6rem;max-width:11rem}
  .glammy-mark{font-size:1.8rem}
}
@media (max-width:520px){
  .top-nav a{margin-left:1rem}
  .hero-title{font-size:clamp(2.6rem,13vw,4rem)}
}
