/* ============================================================
   RAIVORA® — Grupo · Sistema tipográfico internacional
   Paper cálido · tinta raíz · un solo acento (oro)
   ============================================================ */
:root{
  --paper:#F1ECE2;
  --paper-2:#EAE4D8;
  --ink:#16120D;
  --ink-2:#3A3128;
  --mut:#6F6557;
  --cream:#F4EEE2;
  --gold:#A85A2B;
  --gold-t:#7E3D18;      /* texto oro sobre claro */
  --gold-l:#D9865A;      /* texto oro sobre oscuro */
  --hair:rgba(22,18,13,.16);
  --hair-l:rgba(244,238,226,.18);
  --sans:'Archivo',-apple-system,'Helvetica Neue',sans-serif;
  --mono:'Martian Mono',ui-monospace,'SF Mono',monospace;
  --serif:'Archivo',-apple-system,'Helvetica Neue',sans-serif;
  --ease:cubic-bezier(.22,.72,.16,1);
  --pad:clamp(20px,4.2vw,60px);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip;max-width:100%}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.55;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip;max-width:100%}
body.loading{overflow:hidden}
::selection{background:var(--gold);color:var(--cream)}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.shell{max-width:1560px;margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}

/* retícula visible */
.gridlines{position:fixed;inset:0;z-index:0;pointer-events:none}
.gridlines i{position:absolute;top:0;bottom:0;width:1px;background:rgba(22,18,13,.085)}
.gridlines i:nth-child(1){left:25%}.gridlines i:nth-child(2){left:50%}.gridlines i:nth-child(3){left:75%}

/* tipos */
.mono{font-family:var(--mono);font-weight:400;font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.mono-s{font-family:var(--mono);font-weight:300;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.d-xl{font-family:var(--sans);font-stretch:125%;font-weight:900;text-transform:uppercase;
  letter-spacing:-.015em;line-height:.88}
.d-lg{font-family:var(--sans);font-stretch:120%;font-weight:800;text-transform:uppercase;
  letter-spacing:-.01em;line-height:.94}
.serif-i{font-family:var(--sans);font-style:italic;font-weight:600;font-stretch:118%;letter-spacing:-.012em}
.gold{color:var(--gold-t)}
.reg{width:100%;height:1px;background:var(--hair);border:0}

/* ---------- preloader ---------- */
#loader{position:fixed;inset:0;z-index:1000;background:var(--ink);display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:34px;transition:transform 1s var(--ease)}
#loader.done{transform:translateY(-101%)}
#loader img{width:104px;height:auto;opacity:0;transform:scale(.9);animation:ldr 1.1s var(--ease) forwards}
@keyframes ldr{to{opacity:1;transform:scale(1)}}
#loader .bar{width:148px;height:1px;background:rgba(244,238,226,.16);position:relative;overflow:hidden}
#loader .bar i{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--gold-l)}
#loader .pct{font-family:var(--mono);font-size:11px;letter-spacing:.3em;color:rgba(244,238,226,.55)}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:90;background:rgba(241,236,226,.88);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--hair)}
.nav .shell{display:flex;align-items:center;justify-content:space-between;height:64px}
.nav .lg{display:flex;align-items:center;gap:10px}
.nav .lg img{height:22px}
.nav ul{display:flex;gap:clamp(18px,2.6vw,38px);list-style:none}
.nav ul a{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2);
  padding:6px 0;border-bottom:1px solid transparent;transition:color .25s,border-color .25s}
.nav ul a:hover{color:var(--ink);border-color:var(--gold)}
.nav .mx{font-family:var(--mono);font-size:11px;letter-spacing:.24em;color:var(--mut)}
@media(max-width:980px){.nav ul{display:none}}

/* ---------- hero ---------- */
.hero{position:relative;z-index:1}
.hero .meta{display:flex;justify-content:space-between;gap:14px;padding:18px 0;border-bottom:1px solid var(--hair);flex-wrap:wrap}
.hero .meta span{color:var(--mut)}
.hero .meta b{color:var(--ink);font-weight:400}
.hero-grid{position:relative;padding:clamp(48px,8vh,110px) 0 clamp(30px,5vh,60px)}
.hero h1{font-size:clamp(36px,9.6vw,160px);position:relative;z-index:2}
.hero h1 .ln,.en-hero h1 .ln,.ds-hero h1 .ln,.rt-hero h1 .ln{display:block}
.hero .tag2{font-size:clamp(27px,4.1vw,64px);color:var(--gold-t);margin-top:14px;position:relative;z-index:2}
.hero-sub{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:clamp(34px,5vh,64px);align-items:end}
.hero-sub p{font-size:clamp(15px,1.25vw,18px);color:var(--ink-2);max-width:44ch}
.hero-sub .idx{display:flex;gap:14px 26px;justify-content:flex-end;align-items:baseline;color:var(--mut);flex-wrap:wrap}
@media(max-width:760px){.hero-sub{grid-template-columns:1fr}.hero-sub .idx{justify-content:flex-start}}

/* símbolo: brota del campo (trazo crema que se rellena al deslizar) */
#mark{position:absolute;right:5%;bottom:7%;width:clamp(190px,23vw,360px);height:auto;z-index:3;pointer-events:none;
  filter:drop-shadow(0 10px 30px rgba(12,9,5,.35))}
#mark .petal{transform-box:fill-box;transform-origin:center;will-change:transform}
#mark .p-line{fill:none;stroke:var(--cream);stroke-width:1.4;stroke-linejoin:round;stroke-linecap:round}
#mark .p-fill{fill:var(--cream);stroke:var(--cream);stroke-width:8;stroke-linejoin:round;stroke-linecap:round;opacity:0}
#mark .sprout{fill:var(--gold-l);stroke:var(--gold-l);stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round}
@media(max-width:760px){#mark{right:4%;bottom:5%;width:42vw}}

/* franja de imagen hero */
.hero-img{position:relative;height:clamp(300px,52vh,560px);overflow:hidden;border-top:1px solid var(--hair)}
.hero-img img{width:100%;height:130%;object-fit:cover;will-change:transform}
.hero-img .cap{position:absolute;left:var(--pad);bottom:16px;color:var(--cream);mix-blend-mode:difference}

/* ---------- marquee ---------- */
.marq{background:var(--ink);border-top:1px solid var(--ink);overflow:hidden;padding:clamp(20px,3.2vh,36px) 0}
.marq .track{display:flex;gap:0;white-space:nowrap;will-change:transform;animation:mq 46s linear infinite}
.marq span{font-family:var(--sans);font-stretch:125%;font-weight:900;text-transform:uppercase;
  font-size:clamp(44px,7vw,104px);line-height:1;color:transparent;-webkit-text-stroke:1px rgba(244,238,226,.5);
  padding-right:.55em}
.marq span b{color:var(--gold);-webkit-text-stroke:0;font-weight:900;padding:0 .18em}
@keyframes mq{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.marq .track{animation:none}}

/* ---------- secciones base ---------- */
.sec{position:relative;padding:clamp(80px,12vh,150px) 0}
.sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px 18px;flex-wrap:wrap;
  border-bottom:1px solid var(--hair);padding-bottom:16px;margin-bottom:clamp(40px,6vh,72px)}
.dark{background:var(--ink);color:var(--cream)}
.dark .sec-head{border-color:var(--hair-l)}
.dark .mono,.dark .mono-s{color:rgba(244,238,226,.6)}
.dark .reg{background:var(--hair-l)}

/* ---------- manifiesto ---------- */
.mani-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(30px,4vw,70px);align-items:start}
.mani q{quotes:none;display:block;font-family:var(--sans);font-style:italic;font-weight:500;font-stretch:110%;
  font-size:clamp(34px,4.6vw,68px);line-height:1.14;color:var(--cream)}
.mani q em{font-style:italic;color:var(--gold-l)}
.mani .txt{margin-top:34px;color:rgba(244,238,226,.66);max-width:52ch;font-size:16.5px}
.mani-img{position:relative;overflow:hidden;border:1px solid var(--hair-l);aspect-ratio:3/4}
.mani-img img{width:100%;height:126%;object-fit:cover;will-change:transform;filter:saturate(.92)}
.mani-img .tag{position:absolute;left:14px;bottom:12px;color:var(--cream);background:rgba(22,18,13,.55);padding:7px 12px}
.principios{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,44px);margin-top:clamp(48px,7vh,84px)}
.pri{border-top:1px solid var(--hair-l);padding-top:18px}
.pri .n{font-family:var(--mono);color:var(--gold-l);font-size:12px;letter-spacing:.22em}
.pri p{margin-top:12px;color:rgba(244,238,226,.78);font-size:15.5px;max-width:30ch}
@media(max-width:860px){.mani-grid{grid-template-columns:1fr}.principios{grid-template-columns:1fr}}

/* ---------- frentes ---------- */
.fr-wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(26px,4vw,70px);align-items:start}
.fr-list{border-top:1px solid var(--hair)}
.fr-row{display:block;border-bottom:1px solid var(--hair);padding:clamp(22px,3.4vh,36px) 0;position:relative;cursor:pointer}
.fr-row .top-line{display:flex;align-items:baseline;gap:18px}
.fr-row .num{font-family:var(--mono);font-size:12px;letter-spacing:.2em;color:var(--mut);width:44px;flex:none}
.fr-row h3{font-family:var(--sans);font-stretch:122%;font-weight:800;text-transform:uppercase;
  font-size:clamp(30px,4vw,58px);line-height:.95;letter-spacing:-.01em;transition:transform .45s var(--ease),color .3s}
.fr-row .arr{margin-left:auto;font-family:var(--mono);font-size:18px;color:var(--mut);transition:transform .45s var(--ease),color .3s}
.fr-row .sub{display:flex;gap:18px;flex-wrap:wrap;margin-top:10px;padding-left:62px;color:var(--mut)}
.fr-row .sub .l{border-bottom:1px solid var(--hair);padding-bottom:2px;transition:color .25s,border-color .25s}
.fr-row:hover h3,.fr-row.act h3{transform:translateX(10px);color:var(--gold-t)}
.fr-row:hover .arr,.fr-row.act .arr{transform:translate(4px,-4px);color:var(--gold-t)}
.fr-row .sub .l:hover{color:var(--gold-t);border-color:var(--gold)}
.fr-row .soon{font-family:var(--mono);font-size:10px;letter-spacing:.22em;border:1px solid var(--hair);padding:4px 10px;color:var(--mut)}
.fr-panel{position:sticky;top:96px;aspect-ratio:4/5;border:1px solid var(--hair);overflow:hidden;background:var(--paper-2)}
.fr-panel figure{position:absolute;inset:0;margin:0;clip-path:inset(0 0 100% 0);transition:clip-path .8s var(--ease)}
.fr-panel figure.on{clip-path:inset(0 0 0% 0)}
.fr-panel img{width:100%;height:100%;object-fit:cover}
.fr-panel .cap{position:absolute;left:14px;bottom:12px;z-index:5;color:var(--cream);background:rgba(22,18,13,.55);padding:7px 12px}
.fr-img-m{display:none}
@media(max-width:860px){
  .fr-wrap{grid-template-columns:1fr}
  .fr-panel{display:none}
  .fr-img-m{display:block;margin:16px 0 4px 62px;border:1px solid var(--hair);aspect-ratio:16/10;overflow:hidden}
  .fr-img-m img{width:100%;height:100%;object-fit:cover}
  .fr-row .sub{padding-left:62px}
}

/* ---------- sophón ---------- */
.sp-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(30px,4.5vw,80px);align-items:center}
.sp-grid .lg{height:40px;width:auto}
.sp-grid h2{font-size:clamp(38px,5vw,74px);color:var(--cream);margin-top:26px}
.sp-grid .txt{color:rgba(244,238,226,.66);margin-top:22px;max-width:44ch;font-size:16.5px}
.sp-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.sp-chips span{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;
  border:1px solid var(--hair-l);padding:8px 14px;color:rgba(244,238,226,.75)}
.sp-link{display:inline-flex;align-items:baseline;gap:10px;margin-top:36px;font-family:var(--mono);font-size:13px;
  letter-spacing:.22em;text-transform:uppercase;color:var(--gold-l);border-bottom:1px solid var(--gold);padding-bottom:6px;
  transition:gap .3s var(--ease)}
.sp-link:hover{gap:16px}
.sp-shot{border:1px solid var(--hair-l);overflow:hidden;position:relative}
.sp-shot img{width:100%;will-change:transform}
@media(max-width:860px){.sp-grid{grid-template-columns:1fr}}

/* ---------- tira de territorio (todas las fotos) ---------- */
.pstrip{overflow:hidden;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);padding:clamp(26px,4vh,44px) 0}
.ptrack{display:flex;gap:16px;width:max-content;will-change:transform;animation:mq 64s linear infinite}
.pstrip:hover .ptrack{animation-play-state:paused}
.pitem{width:clamp(200px,24vw,320px);flex:none}
.pitem .ph{aspect-ratio:4/5;overflow:hidden;border:1px solid var(--hair);background:var(--paper-2)}
.pitem img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.pitem:hover img{transform:scale(1.05)}
.pitem figcaption{display:flex;justify-content:space-between;gap:10px;margin-top:10px;color:var(--mut)}
@media(prefers-reduced-motion:reduce){.ptrack{animation:none}.pstrip{overflow-x:auto}}

/* divisor entre productos */
.sp-div{height:1px;background:var(--hair-l);margin:clamp(60px,9vh,100px) 0}

/* ---------- socios ---------- */
.soc-tbl{border-top:1px solid var(--hair)}
.soc-row{display:grid;grid-template-columns:44px 1fr auto;gap:18px;align-items:baseline;
  border-bottom:1px solid var(--hair);padding:24px 0}
@media(max-width:600px){.soc-row{grid-template-columns:44px 1fr}.soc-row .rl{grid-column:2}}
.soc-row .nm{font-family:var(--sans);font-stretch:118%;font-weight:700;text-transform:uppercase;font-size:clamp(19px,2.2vw,28px)}
.soc-row .rl{color:var(--mut)}
.soc-note{margin-top:20px;color:var(--mut)}

/* ---------- contacto ---------- */
.ct-mail{display:inline-block;font-family:var(--sans);font-stretch:122%;font-weight:800;text-transform:lowercase;
  font-size:clamp(26px,4.6vw,74px);letter-spacing:-.01em;color:var(--cream);border-bottom:2px solid var(--gold);
  padding-bottom:10px;transition:color .3s}
.ct-mail:hover{color:var(--gold-l)}
.ct-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,60px);margin-top:clamp(44px,7vh,80px)}
.ct-c{border-top:1px solid var(--hair-l);padding-top:18px}
.ct-c .lb{color:rgba(244,238,226,.55)}
.ct-c a{display:block;font-family:var(--mono);font-size:clamp(17px,2vw,26px);letter-spacing:.06em;color:var(--cream);
  margin-top:12px;transition:color .3s}
.ct-c a:hover{color:var(--gold-l)}
.ct-c .pl{color:rgba(244,238,226,.45);margin-top:8px}
@media(max-width:700px){.ct-grid{grid-template-columns:1fr}}

/* ---------- footer ---------- */
.foot{background:var(--ink);color:rgba(244,238,226,.6);border-top:1px solid var(--hair-l);padding:34px 0}
.foot .shell{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.foot .l{display:flex;align-items:center;gap:12px}
.foot .l img{height:20px}
.foot .l b{font-family:var(--mono);font-size:11px;letter-spacing:.3em;color:var(--cream);font-weight:400}
.foot nav{display:flex;gap:22px;flex-wrap:wrap}
.foot nav a{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;transition:color .25s}
.foot nav a:hover{color:var(--gold-l)}
.foot .r{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase}

/* ---------- cookies ---------- */
#ck{position:fixed;left:18px;bottom:18px;z-index:200;max-width:340px;background:var(--paper);border:1px solid var(--ink);
  padding:20px;transform:translateY(16px);opacity:0;pointer-events:none;transition:all .5s var(--ease)}
#ck.show{transform:none;opacity:1;pointer-events:auto}
#ck p{font-family:var(--mono);font-size:11px;letter-spacing:.06em;line-height:1.6;color:var(--ink-2)}
#ck .row{display:flex;gap:10px;margin-top:14px}
#ck button{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;
  background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:10px 16px}
#ck a{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;border:1px solid var(--hair);
  padding:10px 16px;display:inline-block}

/* ---------- legales ---------- */
.legal{max-width:820px;margin:0 auto;padding:clamp(50px,8vh,90px) var(--pad) 90px}
.legal h1{font-family:var(--sans);font-stretch:122%;font-weight:800;text-transform:uppercase;font-size:clamp(30px,4.4vw,54px);line-height:.96}
.legal .upd{margin-top:14px;color:var(--mut)}
.legal h2{font-family:var(--mono);font-weight:500;font-size:13px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold-t);margin:44px 0 12px;border-top:1px solid var(--hair);padding-top:20px}
.legal p,.legal li{font-size:15.5px;color:var(--ink-2);margin-top:10px}
.legal ul{padding-left:20px}
.legal a{border-bottom:1px solid var(--gold);color:var(--ink)}

/* ---------- botón flotante Hablemos ---------- */
#fab{position:fixed;right:22px;bottom:22px;z-index:150;width:94px;height:94px;border-radius:50%;
  background:var(--ink);border:1px solid rgba(244,238,226,.28);cursor:pointer;display:flex;
  align-items:center;justify-content:center;transition:transform .35s var(--ease),opacity .35s;
  box-shadow:0 18px 40px -18px rgba(0,0,0,.55)}
#fab:hover{transform:scale(1.07)}
#fab.hide{opacity:0;pointer-events:none;transform:scale(.8)}
#fab .ringwrap{position:absolute;inset:6px;animation:fabspin 16s linear infinite}
#fab .ringwrap text{font-family:var(--mono);font-size:7.6px;letter-spacing:0;fill:rgba(244,238,226,.82);text-transform:uppercase}
#fab .arr{color:var(--gold-l);font-size:24px;line-height:1;transform:rotate(-45deg);transition:transform .35s var(--ease)}
#fab:hover .arr{transform:rotate(0deg)}
@keyframes fabspin{to{transform:rotate(360deg)}}
@media(max-width:520px){#fab{width:76px;height:76px;right:14px;bottom:14px}}
@media(prefers-reduced-motion:reduce){#fab .ringwrap{animation:none}}

/* ---------- formulario-frase ---------- */
#cform{position:fixed;inset:0;z-index:300;background:var(--ink);color:var(--cream);
  transform:translateY(102%);transition:transform .85s var(--ease);overflow-y:auto;overscroll-behavior:contain}
#cform.open{transform:none}
#cform .inner{max-width:1120px;margin:0 auto;padding:clamp(80px,12vh,130px) var(--pad) 80px;position:relative}
#cfX{position:fixed;top:18px;right:22px;z-index:5;font-family:var(--mono);font-size:11px;letter-spacing:.24em;
  text-transform:uppercase;color:var(--cream);background:none;border:1px solid var(--hair-l);padding:12px 18px;cursor:pointer;
  transition:border-color .3s,color .3s}
#cfX:hover{border-color:var(--gold);color:var(--gold-l)}
#cform .hd{display:flex;justify-content:space-between;gap:8px 14px;flex-wrap:wrap;border-bottom:1px solid var(--hair-l);
  padding-bottom:14px;margin-bottom:clamp(36px,6vh,60px)}
.cf-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(34px,5vw,84px);align-items:start}
.cf-l .lbl{display:block;color:rgba(244,238,226,.5);margin:34px 0 14px}
.chips-f{display:flex;flex-wrap:wrap;gap:10px}
.chip-f{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;
  background:none;border:1px solid var(--hair-l);color:rgba(244,238,226,.75);padding:11px 17px;transition:all .25s}
.chip-f:hover{border-color:rgba(217,134,90,.6);color:var(--gold-l)}
.chip-f.sel{background:var(--gold);border-color:var(--gold);color:var(--cream)}
.cf-r{display:flex;flex-direction:column;min-height:100%}
.cf-alt{margin-top:auto;padding-top:34px;border-top:1px solid var(--hair-l);display:flex;flex-direction:column;gap:10px}
.cf-alt a{font-family:var(--mono);font-size:12.5px;letter-spacing:.1em;color:rgba(244,238,226,.72);transition:color .25s}
.cf-alt a:hover{color:var(--gold-l)}
.sent{font-family:var(--sans);font-style:italic;font-weight:500;font-stretch:105%;font-size:clamp(23px,3vw,40px);
  line-height:1.8;color:var(--cream)}
@media(max-width:860px){.cf-grid{grid-template-columns:1fr;gap:40px}.cf-r{min-height:auto}}
.fld{display:inline-block;background:none;border:0;border-bottom:1px solid rgba(244,238,226,.35);
  color:var(--gold-l);font-family:inherit;font-style:inherit;font-size:inherit;line-height:1.2;
  padding:0 4px 2px;outline:none;transition:border-color .3s;vertical-align:baseline;caret-color:var(--gold)}
.fld:focus{border-color:var(--gold)}
.fld::placeholder{color:rgba(217,134,90,.38)}
select.fld{appearance:none;-webkit-appearance:none;cursor:pointer;width:auto}
select.fld option{background:var(--ink);color:var(--cream);font-style:normal}
.fld-a{display:block;width:100%;background:none;border:1px solid var(--hair-l);color:var(--cream);
  font-family:var(--mono);font-size:13px;letter-spacing:.04em;line-height:1.7;padding:18px;min-height:110px;
  outline:none;resize:vertical;transition:border-color .3s}
.fld-a:focus{border-color:var(--gold)}
.cf-r .fld-a{min-height:190px;flex:1}
.fld-a::placeholder{color:rgba(244,238,226,.35)}
#cfSend{display:inline-flex;align-items:center;gap:18px;margin-top:26px;background:none;border:0;cursor:pointer;
  font-family:var(--sans);font-stretch:122%;font-weight:800;text-transform:uppercase;letter-spacing:-.01em;
  font-size:clamp(28px,4vw,52px);color:var(--cream);transition:color .3s}
#cfSend b{font-weight:800;transition:transform .4s var(--ease)}
#cfSend:hover{color:var(--gold-l)}
#cfSend:hover b{transform:translateX(14px)}
#cfMsg{margin-top:18px;color:rgba(244,238,226,.55)}
#cfStage2{display:none}
#cfStage2 .big{font-family:var(--serif);font-style:italic;font-size:clamp(34px,5.4vw,72px);color:var(--cream);line-height:1.15}
#cfStage2 .big b{color:var(--gold-l);font-weight:400}
#cfStage2 svg{width:64px;margin-top:34px}
#cfStage2 p{margin-top:26px;color:rgba(244,238,226,.6)}

/* ---------- reveals ---------- */
.rv{opacity:0;transform:translateY(26px);transition:opacity .95s var(--ease),transform .95s var(--ease)}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .rv{opacity:1!important;transform:none!important;transition:none}
  #loader{display:none}
  html{scroll-behavior:auto}
}

/* móvil: display de frentes sin cortes */
@media(max-width:760px){
  .fr-row .top-line{gap:12px}
  .fr-row .num{width:30px}
  .fr-row h3{font-size:clamp(21px,6.6vw,34px)}
  .fr-row .sub,.fr-img-m{padding-left:42px;margin-left:0}
  .fr-img-m{margin:14px 0 4px 42px}
  .marq span{font-size:clamp(34px,9vw,56px)}
  .ct-mail{font-size:clamp(21px,5.6vw,40px);word-break:break-all}
}

/* proceso 4 columnas (tech) */
.p4{grid-template-columns:repeat(4,1fr);margin-top:0}
@media(max-width:1000px){.p4{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.p4{grid-template-columns:1fr}}
.soc-row{transition:background .25s}
a.soc-row:hover{background:rgba(168,90,43,.07)}
a.soc-row:hover .nm{color:var(--gold-t)}

/* ---------- clientes (tech) ---------- */
.cli-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(28px,5vw,90px);border-top:1px solid var(--hair)}
.cli-row{display:flex;justify-content:space-between;align-items:baseline;gap:14px;border-bottom:1px solid var(--hair);padding:17px 0}
.cli-row .nm{font-family:var(--sans);font-stretch:118%;font-weight:700;text-transform:uppercase;font-size:clamp(15px,1.5vw,20px);letter-spacing:.01em;white-space:nowrap}
.cli-row .rl{color:var(--mut);text-align:right}
@media(max-width:860px){.cli-grid{grid-template-columns:1fr}.cli-row{flex-direction:column;gap:4px;align-items:flex-start}.cli-row .rl{text-align:left}.cli-row .nm{white-space:normal}}

/* ---------- atmósfera (sonido ambiental) ---------- */
.nav .right{display:flex;align-items:center;gap:14px}
.amb{display:inline-flex;align-items:center;gap:9px;background:none;border:1px solid var(--hair);border-radius:40px;
  padding:9px 14px;cursor:pointer;font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--ink-2);transition:border-color .25s,color .25s}
.amb:hover{border-color:var(--gold);color:var(--gold-t)}
.amb .bars{display:inline-flex;gap:2.5px;align-items:flex-end;height:11px}
.amb .bars i{width:2px;height:4px;background:var(--gold);border-radius:2px}
.amb.on{border-color:var(--gold);color:var(--gold-t)}
.amb.on .bars i{animation:eq 1s ease-in-out infinite}
.amb.on .bars i:nth-child(2){animation-delay:.18s}
.amb.on .bars i:nth-child(3){animation-delay:.36s}
@keyframes eq{0%,100%{height:4px}50%{height:11px}}
@media(max-width:520px){.amb{padding:8px 11px}.amb .txt{display:none}.nav .mx{display:none}}
@media(prefers-reduced-motion:reduce){.amb.on .bars i{animation:none;height:9px}}

/* anillo de letras por geometría (idéntico en iOS/Android/desktop) */
.ringtxt{position:absolute;inset:0;animation:fabspin 16s linear infinite;pointer-events:none}
.ringtxt b{position:absolute;left:50%;top:50%;font-family:var(--mono);font-weight:400;font-size:9px;line-height:1;
  color:rgba(244,238,226,.82);text-transform:uppercase;transform-origin:0 0;margin:0}
@media(max-width:520px){.ringtxt b{font-size:7.5px}}

/* móvil: el aviso de cookies no tapa el botón de contacto */
@media(max-width:560px){#ck{left:12px;right:104px;bottom:12px;max-width:none}}

/* ---------- cortina de transición (PJAX): persianas tech ---------- */
#pjx{position:fixed;inset:0;z-index:900;pointer-events:none;visibility:hidden}
#pjx.on{pointer-events:auto;visibility:visible}
#pjx .bar{position:absolute;top:0;bottom:0;width:20.5%;background:var(--ink);transform:translateY(101%);
  transition:transform .6s var(--ease)}
#pjx .bar:nth-child(1){left:0;transition-delay:0ms}
#pjx .bar:nth-child(2){left:20%;transition-delay:70ms}
#pjx .bar:nth-child(3){left:40%;transition-delay:140ms}
#pjx .bar:nth-child(4){left:60%;transition-delay:210ms}
#pjx .bar:nth-child(5){left:80%;transition-delay:280ms}
#pjx.on .bar{transform:translateY(0)}
#pjx.on.out .bar{transform:translateY(-101%)}
#pjx.on.out .bar:nth-child(1){transition-delay:280ms}
#pjx.on.out .bar:nth-child(2){transition-delay:210ms}
#pjx.on.out .bar:nth-child(3){transition-delay:140ms}
#pjx.on.out .bar:nth-child(4){transition-delay:70ms}
#pjx.on.out .bar:nth-child(5){transition-delay:0ms}
#pjx::after{content:"";position:absolute;left:50%;top:50%;width:60px;height:60px;transform:translate(-50%,-50%);
  background:url(/assets/symbol-blanco.png) center/contain no-repeat;opacity:0;transition:opacity .3s}
#pjx.on::after{opacity:.94;transition-delay:.4s}
#pjx.on.out::after{opacity:0;transition-delay:0s}
#pjx .gline{position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--gold);transition:width .95s var(--ease) .15s}
#pjx.on .gline{width:100%}
#pjx.on.out .gline{opacity:0;transition:opacity .2s}
#pjx .scanl{position:absolute;left:0;right:0;height:90px;top:-90px;opacity:0;
  background:linear-gradient(180deg,transparent,rgba(244,238,226,.05),transparent)}
#pjx.on .scanl{animation:scanmove 1.1s linear .35s}
@keyframes scanmove{0%{top:-90px;opacity:1}100%{top:100%;opacity:1}}
@media(prefers-reduced-motion:reduce){#pjx .bar{transition:none}#pjx .gline{transition:none}#pjx.on .scanl{animation:none}}

/* anclas: respetar la altura del nav pegajoso */
.sec,.hero{scroll-margin-top:70px}

/* ============================================================
   GATE de primera visita (cookies + audio) · desbloqueo Jarvis
   ============================================================ */
#loader .gate{display:none;flex-direction:column;align-items:center;gap:26px;max-width:min(560px,88vw);text-align:center}
#loader.gated .gate{display:flex}
#loader.gated .bar,#loader.gated .pct{display:none}
.gate .g-ck{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(244,238,226,.55);line-height:2}
.gate .g-ck a{color:var(--gold-l);border-bottom:1px solid var(--gold)}
.gate .g-q{font-family:var(--serif);font-style:italic;font-size:clamp(21px,3vw,30px);color:var(--cream)}
.gate .g-row{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
.gate button{cursor:pointer;font-family:var(--mono);font-size:12px;letter-spacing:.22em;text-transform:uppercase;padding:16px 26px;transition:all .3s var(--ease);background:none}
.gate .g-audio{background:var(--gold);border:1px solid var(--gold);color:var(--cream);position:relative}
.gate .g-audio:hover{transform:translateY(-2px);box-shadow:0 14px 34px -14px rgba(168,90,43,.65)}
.gate .g-audio .sug{position:absolute;top:-9px;right:-9px;background:var(--ink);border:1px solid var(--gold);color:var(--gold-l);font-size:8.5px;letter-spacing:.18em;padding:3px 8px}
.gate .g-mute{border:1px solid var(--hair-l);color:rgba(244,238,226,.75)}
.gate .g-mute:hover{border-color:rgba(244,238,226,.5);color:var(--cream)}
/* anillos jarvis */
#loader .rings{position:absolute;left:50%;top:50%;width:10px;height:10px;pointer-events:none}
#loader .rings i{position:absolute;left:50%;top:50%;width:110px;height:110px;transform:translate(-50%,-50%) scale(.4);
  border:1px solid rgba(217,134,90,.0);border-radius:50%}
#loader.unlock .rings i{animation:jring 1.15s var(--ease) forwards}
#loader.unlock .rings i:nth-child(2){animation-delay:.12s}
#loader.unlock .rings i:nth-child(3){animation-delay:.24s}
#loader.unlock .rings i:nth-child(4){animation-delay:.36s}
@keyframes jring{0%{transform:translate(-50%,-50%) scale(.35);border-color:rgba(217,134,90,.85);opacity:1}
  100%{transform:translate(-50%,-50%) scale(9);border-color:rgba(217,134,90,0);opacity:0}}
#loader .scan{position:absolute;left:0;right:0;top:50%;height:1px;background:linear-gradient(90deg,transparent,rgba(217,134,90,.9),transparent);
  opacity:0;pointer-events:none}
#loader.unlock .scan{animation:jscan .9s var(--ease) .1s forwards}
@keyframes jscan{0%{opacity:0;transform:translateY(-46vh)}30%{opacity:1}100%{opacity:0;transform:translateY(46vh)}}
#loader.unlock .gate{animation:gout .45s var(--ease) forwards}
#loader.unlock img{animation:jsym .9s var(--ease) forwards}
@keyframes gout{to{opacity:0;transform:translateY(-14px)}}
@keyframes jsym{0%{transform:scale(1)}35%{transform:scale(1.14)}100%{transform:scale(1)}}
/* entrada moderna del hero tras el gate */
.hero h1 .ln,.en-hero h1 .ln,.ds-hero h1 .ln,.rt-hero h1 .ln{display:block}
body.entered .hero h1 .ln{animation:hup 1s var(--ease) both}
body.entered .hero h1 .ln:nth-child(2){animation-delay:.12s}
body.entered .hero .tag2{animation:hup 1s var(--ease) .24s both}
body.entered .hero .meta{animation:hfade 1s var(--ease) .36s both}
@keyframes hup{0%{opacity:0;transform:translateY(46px);clip-path:inset(0 0 100% 0)}100%{opacity:1;transform:none;clip-path:inset(0 0 -8% 0)}}
@keyframes hfade{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){#loader .rings,#loader .scan{display:none}body.entered .hero h1 .ln,body.entered .hero .tag2,body.entered .hero .meta{animation:none}}

/* ============================================================
   ÉTER — constelación generativa (fin del home)
   ============================================================ */
.eter{position:relative;background:var(--ink);color:var(--cream);overflow:hidden}
.eter .sec-head{position:relative;z-index:3}
#ether{display:block;width:100%;height:min(78vh,760px);cursor:crosshair}
.eter .e-cap{position:absolute;left:var(--pad);bottom:22px;z-index:3;color:rgba(244,238,226,.5)}
.eter .e-hint{position:absolute;right:var(--pad);bottom:22px;z-index:3;color:rgba(217,134,90,.6)}

/* ============================================================
   ENERGÍA — página del frente
   ============================================================ */
.en-hero{position:relative;background:var(--ink);color:var(--cream);overflow:hidden}
#ewave{position:absolute;inset:0;width:100%;height:100%}
.en-hero .shell{position:relative;z-index:2;padding-top:clamp(70px,12vh,130px);padding-bottom:clamp(70px,10vh,120px)}
.en-hero h1{font-size:clamp(44px,9.2vw,150px);color:var(--cream)}
.en-hero .tag2{font-size:clamp(26px,4vw,60px);color:var(--gold-l);margin-top:12px}
.en-hero .sub{color:rgba(244,238,226,.7);max-width:46ch;margin-top:30px;font-size:clamp(15px,1.3vw,18px)}
/* ruta de la energía */
.route{position:relative}
.route .rline{position:absolute;left:21px;top:0;bottom:0;width:1px;background:var(--hair)}
.route .rfill{position:absolute;left:21px;top:0;width:1px;height:0;background:var(--gold)}
.route .rdot{position:absolute;left:21px;top:0;width:9px;height:9px;border-radius:50%;background:var(--gold-l);
  transform:translate(-4px,-4px);box-shadow:0 0 14px 3px rgba(217,134,90,.45)}
.rstep{position:relative;padding:26px 0 26px 64px;border-bottom:1px solid var(--hair)}
.rstep .rn{position:absolute;left:0;top:30px;width:44px;height:44px;border:1px solid var(--hair);border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:11px;color:var(--gold-t);background:var(--paper)}
.rstep h3{font-family:var(--sans);font-stretch:120%;font-weight:800;text-transform:uppercase;font-size:clamp(21px,2.6vw,34px)}
.rstep p{color:var(--mut);margin-top:8px;max-width:52ch;font-size:16px}
/* cifras */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hair-l);border:1px solid var(--hair-l)}
.stat{background:var(--ink);padding:clamp(26px,3.6vw,46px);position:relative;overflow:hidden}
.stat .n{font-family:var(--sans);font-stretch:125%;font-weight:900;font-size:clamp(40px,5.6vw,84px);line-height:.95;color:var(--cream);letter-spacing:-.02em}
.stat .n small{font-size:.42em;color:var(--gold-l);font-stretch:110%;font-weight:700;margin-left:6px}
.stat .t{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(244,238,226,.55);margin-top:14px;line-height:1.8}
.stat.hero-stat{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;gap:clamp(24px,4vw,60px);align-items:center}
.stat.hero-stat .n{font-size:clamp(72px,11vw,170px);color:var(--gold-l)}
@media(max-width:860px){.stats{grid-template-columns:1fr}.stat.hero-stat{grid-template-columns:1fr}}
/* gauge */
.gauge{width:clamp(150px,17vw,230px);height:auto}
.gauge .gbg{fill:none;stroke:rgba(244,238,226,.14);stroke-width:6;stroke-linecap:round}
.gauge .gfg{fill:none;stroke:var(--gold);stroke-width:6;stroke-linecap:round}
.gauge text{font-family:var(--mono);fill:rgba(244,238,226,.6);font-size:8.4px;letter-spacing:.18em;text-transform:uppercase}
/* red / hechos */
.facts{display:flex;flex-direction:column}
.fact{display:flex;gap:20px;align-items:baseline;border-bottom:1px solid var(--hair);padding:20px 0}
.fact .fm{font-family:var(--mono);font-size:11px;color:var(--gold-t);flex:none;width:34px}
.fact p{font-size:clamp(16px,1.6vw,21px);color:var(--ink-2)}
.fact p b{font-weight:700;color:var(--ink)}
.src{margin-top:26px;color:var(--mut);line-height:2}
/* links salida */
.exit-rows{border-top:1px solid var(--hair)}

/* polvo dorado del hero principal */
#hdust{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.hero .shell,.hero-img{position:relative;z-index:2}

/* tabs del éter */
.e-tabs{display:flex;gap:8px;flex-wrap:wrap}
.e-tabs .et{cursor:pointer;background:none;border:1px solid var(--hair-l);color:rgba(244,238,226,.6);
  font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;padding:9px 14px;transition:all .25s}
.e-tabs .et:hover{color:var(--gold-l);border-color:rgba(217,134,90,.5)}
.e-tabs .et.sel{background:var(--gold);border-color:var(--gold);color:var(--cream)}
@media(max-width:560px){.e-tabs .et{padding:8px 10px;font-size:9px}}

/* atmósfera: contenedor + mini-reproductor de rescate (iOS) */
#ytamb{position:fixed;left:0;bottom:0;width:1px;height:1px;opacity:.01;overflow:hidden;z-index:-1;pointer-events:none}
#ytamb.show{width:232px;height:132px;left:14px;bottom:14px;opacity:1;z-index:260;pointer-events:auto;overflow:visible;
  border:1px solid var(--gold);background:#000;box-shadow:0 18px 44px -18px rgba(0,0,0,.75)}
#ytamb.show::before{content:'Toca ▶ para la atmósfera';position:absolute;top:-32px;left:-1px;font-family:var(--mono);
  font-size:10px;letter-spacing:.18em;color:var(--gold-l);text-transform:uppercase;background:var(--ink);
  padding:7px 11px;border:1px solid var(--hair-l);white-space:nowrap}
#ytamb iframe,#ytamb #ytambP{width:100%;height:100%;border:0}

/* píldora de sonido (rescate iOS, sin chrome de YouTube) */
#ambpill{position:fixed;left:14px;bottom:14px;z-index:260;display:none;background:var(--ink);color:var(--gold-l);
  border:1px solid var(--gold);padding:13px 18px;font-family:var(--mono);font-size:11px;letter-spacing:.2em;
  text-transform:uppercase;cursor:pointer;box-shadow:0 14px 34px -14px rgba(0,0,0,.6)}
#ambpill.show{display:block;animation:pillin .4s var(--ease)}
@keyframes pillin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* éter: solo desktop */
@media(max-width:860px){.eter{display:none}}

/* socio con enlace */
a.soc-row .nm{transition:color .25s}
a.soc-row .sarr{font-style:normal;font-family:var(--mono);font-size:.65em;color:var(--mut);display:inline-block;transition:transform .3s var(--ease),color .25s;vertical-align:middle;margin-left:6px}
a.soc-row:hover .nm{color:var(--gold-t)}
a.soc-row:hover .sarr{color:var(--gold-t);transform:translate(3px,-3px)}

/* banda de generación: media turbina girando */
.turb-band{position:relative;background:var(--ink);color:var(--cream);overflow:hidden;
  padding:clamp(70px,10vh,120px) 0 0;min-height:clamp(400px,62vh,640px)}
.turb-band .shell{position:relative;z-index:2}
#turbine{position:absolute;left:50%;bottom:0;transform:translate(-50%,52%);width:clamp(430px,56vw,860px);height:auto;z-index:1;opacity:.92}
#turbine .rotor{will-change:transform}
@media(max-width:760px){#turbine{width:150vw;transform:translate(-50%,56%)}.turb-band{min-height:420px}}

/* móvil energía: sin desbordes */
@media(max-width:560px){
  .en-hero h1{font-size:clamp(28px,8.2vw,150px)!important}
  .en-hero .meta span:nth-child(2){display:none}
  .en-hero .meta{gap:8px}
  .turb-band h2{font-size:clamp(32px,10.2vw,150px)!important}
  .turb-band{min-height:380px}
}

/* orbe de conciencia (tech) */
.orb-wrap{position:relative;height:clamp(340px,58vh,560px);overflow:hidden;background:var(--ink)}
#orb{position:absolute;inset:0;width:100%;height:100%;display:block}

/* correo de contacto: nunca cortado en móvil */
@media(max-width:560px){.ct-mail{font-size:clamp(16px,5.4vw,26px);letter-spacing:0}}

/* panel de audio — glassmorphism */
#ambpanel{position:fixed;top:76px;right:clamp(12px,4vw,60px);z-index:240;width:238px;padding:18px;border-radius:18px;
  background:rgba(244,238,226,.42);backdrop-filter:blur(22px) saturate(1.35);-webkit-backdrop-filter:blur(22px) saturate(1.35);
  border:1px solid rgba(255,255,255,.55);box-shadow:0 26px 60px -24px rgba(22,18,13,.55);
  opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .35s var(--ease),transform .35s var(--ease)}
#ambpanel.open{opacity:1;transform:none;pointer-events:auto}
#ambpanel .ap-hd{font-family:var(--mono);font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--ink-2);margin-bottom:12px}
#ambpanel .ap-play{width:100%;font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  padding:13px;background:var(--ink);color:var(--cream);border:0;border-radius:11px;cursor:pointer;transition:background .25s,color .25s}
#ambpanel .ap-play.on{background:var(--gold);color:var(--cream)}
#ambpanel .ap-vol{margin-top:15px}
#apVol{width:100%;accent-color:var(--gold);height:4px;cursor:pointer}
#ambpanel .ap-row{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-2);margin-top:9px}
@media(max-width:560px){#ambpanel{right:10px;width:216px;top:70px}}

/* cortina PJAX: símbolo con pop + anillo dorado expansivo */
#pjx.on::before{animation:pxPop .8s var(--ease)}
@keyframes pxPop{0%{transform:translate(-50%,-50%) scale(.72);opacity:0}55%{opacity:.95}100%{transform:translate(-50%,-50%) scale(1)}}
#pjx i.ring1,#pjx i.ring2{content:"";position:absolute;left:50%;top:50%;width:78px;height:78px;margin:-39px 0 0 -39px;
  border:1px solid rgba(217,134,90,.75);border-radius:50%;opacity:0;pointer-events:none}
#pjx.on i.ring1{animation:pxRing 1.05s var(--ease) .12s}
#pjx.on i.ring2{animation:pxRing 1.05s var(--ease) .34s}
@keyframes pxRing{0%{transform:scale(.55);opacity:.9}100%{transform:scale(3.4);opacity:0}}

/* llegada a sección: barrido dorado sobre la línea del encabezado */
.sec-head{position:relative}
.sec-head.flash::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;
  background:linear-gradient(90deg,transparent 15%,var(--gold) 50%,transparent 85%);
  animation:hdSweep 1.2s var(--ease)}
@keyframes hdSweep{0%{transform:translateX(-70%);opacity:0}25%{opacity:1}100%{transform:translateX(70%);opacity:0}}

/* ¿qué es raivora? — trigger + panel */
.qe-btn{display:inline-block;margin-top:22px;background:none;border:0;cursor:pointer;font-family:var(--mono);
  font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--mut);padding:8px 0;
  border-bottom:1px solid transparent;transition:color .25s,border-color .25s;position:relative;z-index:2}
.qe-btn:hover{color:var(--gold-t);border-color:var(--gold)}
#quees{position:fixed;inset:0;z-index:290;background:var(--ink);color:var(--cream);transform:translateY(102%);
  transition:transform .8s var(--ease);overflow:auto}
#quees.open{transform:none}
#quees .x{position:absolute;top:18px;right:clamp(14px,4vw,40px);font-family:var(--mono);font-size:11px;letter-spacing:.2em;
  text-transform:uppercase;cursor:pointer;color:var(--cream);background:none;border:1px solid var(--hair-l);padding:11px 16px;z-index:5}
#quees .x:hover{border-color:var(--gold);color:var(--gold-l)}
#quees .inner{max-width:900px;margin:0 auto;padding:clamp(80px,12vh,130px) var(--pad) 80px}
#quees .hd{display:flex;justify-content:space-between;gap:8px 14px;flex-wrap:wrap;border-bottom:1px solid var(--hair-l);
  padding-bottom:14px;margin-bottom:clamp(36px,6vh,54px)}
#quees .hd .mono,#quees .hd .mono-s{color:rgba(244,238,226,.6)}
.qe-lead{font-size:clamp(34px,5.2vw,62px);color:var(--cream);line-height:1.08}
.qe-lead em{color:var(--gold-l)}
.qe-rows{margin-top:clamp(36px,6vh,56px);display:flex;flex-direction:column}
.qe-row{display:flex;gap:22px;align-items:baseline;border-top:1px solid var(--hair-l);padding:24px 0}
.qe-row .qn{font-family:var(--mono);font-size:12px;letter-spacing:.2em;color:var(--gold-l);flex:none;width:36px}
.qe-row p{font-size:clamp(17px,2vw,22px);color:rgba(244,238,226,.78);max-width:56ch;line-height:1.55}
.qe-row p b{color:var(--cream);font-weight:700}
.qe-go{margin-top:38px;background:var(--gold);border:0;cursor:pointer;color:var(--cream);font-family:var(--mono);
  font-size:12px;letter-spacing:.22em;text-transform:uppercase;padding:16px 26px;transition:transform .25s}
.qe-go:hover{transform:translateY(-2px)}

/* california × jalisco */
.cxj{background:var(--ink);color:var(--cream);padding:clamp(70px,10vh,120px) 0;border-top:1px solid var(--hair-l)}
.cxj-head{text-align:center;max-width:640px;margin:0 auto clamp(40px,6vh,64px)}
.cxj-head .mono.g{color:var(--gold-l)}
.cxj-t{font-family:var(--sans);font-stretch:122%;font-weight:800;text-transform:uppercase;letter-spacing:-.015em;
  font-size:clamp(28px,5vw,64px);color:var(--cream);line-height:1.02;margin-top:16px}
.cxj-t b{color:var(--gold-l);font-weight:800;padding:0 .1em}
.cxj-s{margin-top:14px;color:rgba(244,238,226,.55)}
.cxj-maps{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(16px,4vw,60px);
  max-width:1000px;margin:0 auto}
.mp{margin:0;text-align:center}
.mp svg{width:100%;max-width:clamp(150px,22vw,250px);height:auto;display:block;margin:0 auto;overflow:visible}
.mp-p{fill:rgba(244,238,226,.07);stroke:rgba(244,238,226,.62);stroke-width:1.3;stroke-linejoin:round;
  transition:fill .5s var(--ease),stroke .5s}
.mp-p.gold{fill:rgba(217,134,90,.09);stroke:rgba(217,134,90,.72)}
.mp:hover .mp-p{fill:rgba(244,238,226,.14);stroke:var(--cream)}
.mp:hover .mp-p.gold{fill:rgba(217,134,90,.18);stroke:var(--gold-l)}
.mp-c{fill:var(--gold)}
.cxj.in .mp-c{animation:mpPulse 2.6s var(--ease) infinite}
@keyframes mpPulse{0%{r:3.4;opacity:1}70%{r:9;opacity:0}100%{r:9;opacity:0}}
.mp figcaption{margin-top:20px}
.mp figcaption b{display:block;font-family:var(--sans);font-stretch:115%;font-weight:800;text-transform:uppercase;
  font-size:clamp(15px,1.7vw,22px);color:var(--cream);letter-spacing:.01em}
.mp figcaption .mono-s{display:block;margin-top:7px;color:rgba(244,238,226,.5)}
.mp-link{width:clamp(60px,10vw,150px)}
.mp-link svg{width:100%;height:auto;display:block}
.cxj.in .mp-link path{animation:arcflow 2.8s linear infinite}
@keyframes arcflow{to{stroke-dashoffset:-28}}
@media(max-width:700px){
  .cxj-maps{grid-template-columns:1fr 1fr;gap:20px}
  .mp-link{grid-column:1/-1;order:3;width:min(60%,220px);margin:6px auto 0}
  .mp svg{max-width:min(38vw,170px)}
}
@media(prefers-reduced-motion:reduce){.cxj.in .mp-link path,.cxj.in .mp-c{animation:none}}

/* ---------- bonos de carbono ---------- */
.co2{background:var(--paper-2)}
.co2-top{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,5vw,70px);align-items:start}
.bd-lg{font-size:clamp(15px,1.3vw,18px);line-height:1.65;color:var(--ink-2);max-width:52ch;margin-top:20px}
.co2-badge{display:flex;flex-direction:column;gap:10px;margin-top:30px;padding-top:20px;border-top:1px solid var(--hair)}
.co2-badge img{height:42px;width:auto;max-width:260px;object-fit:contain;align-self:flex-start}
.co2-facts{display:flex;flex-direction:column}
.cf{display:flex;gap:18px;align-items:baseline;border-top:1px solid var(--hair);padding:18px 0}
.cf:last-child{border-bottom:1px solid var(--hair)}
.cf .cn{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--gold-t);width:30px;flex:none}
.cf b{font-family:var(--sans);font-weight:800;font-size:18px;display:block}
.cf p{font-size:14px;color:var(--mut);margin-top:4px;line-height:1.5}
.co2-cta{margin-top:clamp(38px,6vh,60px);border:1px solid var(--ink);padding:clamp(24px,3vw,38px);
  display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;background:var(--paper)}
.co2-cta .mono.g{color:var(--gold-t)}
.co2-btn{background:var(--ink);color:var(--cream);border:0;cursor:pointer;font-family:var(--mono);
  font-size:12px;letter-spacing:.2em;text-transform:uppercase;padding:18px 28px;transition:background .25s,transform .25s}
.co2-btn:hover{background:var(--gold);color:var(--cream);transform:translateY(-2px)}
@media(max-width:860px){.co2-top{grid-template-columns:1fr}}

/* modal bonos (reusa estética de #cform) */
#co2form{position:fixed;inset:0;z-index:295;background:var(--ink);color:var(--cream);transform:translateY(102%);
  transition:transform .8s var(--ease);overflow:auto}
#co2form.open{transform:none}
#co2form .x{position:absolute;top:18px;right:clamp(14px,4vw,40px);font-family:var(--mono);font-size:11px;letter-spacing:.2em;
  text-transform:uppercase;cursor:pointer;color:var(--cream);background:none;border:1px solid var(--hair-l);padding:11px 16px;z-index:5}
#co2form .x:hover{border-color:var(--gold);color:var(--gold-l)}
#co2form .inner{max-width:1180px;margin:0 auto;padding:clamp(70px,11vh,120px) var(--pad) 70px}
#co2form .hd{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;
  border-bottom:1px solid var(--hair-l);padding-bottom:16px;margin-bottom:clamp(36px,6vh,56px)}
#co2form .hd .mono{color:rgba(244,238,226,.6)}
#co2form .hd-ald{height:38px;width:auto;max-width:230px;object-fit:contain}
#co2form .sent{font-family:var(--sans);font-style:italic;font-weight:500;font-stretch:105%;font-size:clamp(23px,3vw,40px);
  line-height:1.8;color:var(--cream)}
#co2form .fld{background:none;border:0;border-bottom:1px solid var(--gold);color:var(--gold-l);
  font-family:var(--serif);font-style:italic;font-size:inherit;padding:0 4px 3px;min-width:5ch;outline:none}
#co2form .fld::placeholder{color:rgba(217,134,90,.45)}
#co2form .fld-a{display:block;width:100%;background:none;border:1px solid var(--hair-l);color:var(--cream);
  font-family:var(--sans);font-size:15px;padding:16px;outline:none;resize:vertical;min-height:190px;flex:1}
#co2form .fld-a:focus{border-color:var(--gold)}
#co2Send{display:inline-flex;align-items:center;gap:18px;margin-top:26px;background:var(--gold);border:0;cursor:pointer;
  color:var(--ink);font-family:var(--mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;padding:18px 28px}
#co2Send:hover{transform:translateY(-2px)}

/* selector de idioma */
.langb{background:none;border:1px solid var(--hair);color:var(--ink-2);cursor:pointer;font-family:var(--mono);
  font-size:10.5px;letter-spacing:.18em;padding:8px 12px;transition:all .25s;border-radius:40px}
.langb:hover{border-color:var(--gold);color:var(--gold-t)}
@media(max-width:420px){.langb{padding:7px 9px}}

/* ---------- descargas de portafolio ---------- */
.dl-sec{background:var(--paper-2)}
.dl-wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4.5vw,70px);align-items:center}
.dl-cards{display:flex;flex-direction:column;gap:14px}
.dl-card{display:flex;align-items:center;gap:18px;border:1px solid var(--hair);background:var(--paper);
  padding:22px 24px;transition:all .3s var(--ease)}
.dl-card:hover{border-color:var(--ink);background:var(--ink);transform:translateX(4px)}
.dl-card:hover *{color:var(--cream)}
.dl-card:hover .dl-ic{color:var(--gold-l)}
.dl-ic{color:var(--gold-t);flex:none;transition:color .3s}
.dl-card b{font-family:var(--sans);font-weight:800;font-size:18px;display:block;color:var(--ink)}
.dl-card .mono-s{color:var(--mut);margin-top:4px;display:block}
.dl-arr{margin-left:auto;font-family:var(--mono);font-size:20px;color:var(--mut);transition:transform .3s}
.dl-card:hover .dl-arr{transform:translateY(3px)}
@media(max-width:860px){.dl-wrap{grid-template-columns:1fr}}

/* ---------- CTA iniciar proyecto ---------- */
.wz-cta{display:inline-flex;flex-direction:column;align-items:flex-start;gap:6px;background:var(--gold);color:var(--cream);
  border:0;cursor:pointer;font-family:var(--sans);font-weight:800;font-size:clamp(17px,2vw,22px);letter-spacing:-.01em;
  padding:20px 30px;transition:transform .25s var(--ease),box-shadow .25s}
.wz-cta .mono-s{color:rgba(244,238,226,.72);font-weight:400}
.wz-cta:hover{transform:translateY(-3px);box-shadow:0 18px 40px -18px rgba(168,90,43,.7)}

/* ---------- wizard ---------- */
#wiz{position:fixed;inset:0;z-index:300;background:var(--ink);color:var(--cream);display:flex;flex-direction:column;
  transform:translateY(102%);transition:transform .75s var(--ease)}
#wiz.open{transform:none}
.wz-top{display:flex;align-items:center;justify-content:space-between;padding:18px var(--pad);
  border-bottom:1px solid var(--hair-l);flex:none}
.wz-brand{display:flex;align-items:center;gap:14px}
.wz-brand img{height:20px}
.wz-brand .mono-s{color:rgba(244,238,226,.55)}
.wz-x{background:none;border:1px solid var(--hair-l);color:var(--cream);cursor:pointer;font-family:var(--mono);
  font-size:11px;letter-spacing:.2em;text-transform:uppercase;padding:10px 15px}
.wz-x:hover{border-color:var(--gold);color:var(--gold-l)}
.wz-bar{height:2px;background:rgba(244,238,226,.10);flex:none}
.wz-bar i{display:block;height:100%;width:20%;background:var(--gold);transition:width .55s var(--ease)}
.wz-body{flex:1;overflow-y:auto;display:flex;align-items:flex-start;justify-content:center}
.wz-step{display:none;width:100%;max-width:820px;padding:clamp(34px,6vh,64px) var(--pad) 40px}
.wz-step.on{display:block;animation:wzIn .5s var(--ease)}
@keyframes wzIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.wz-q{font-family:var(--sans);font-stretch:118%;font-weight:800;font-size:clamp(28px,4.4vw,52px);
  letter-spacing:-.02em;line-height:1.02;color:var(--cream);margin-top:14px}
.wz-q span{color:var(--gold-l)}
.wz-h{font-size:clamp(14.5px,1.4vw,17px);color:rgba(244,238,226,.6);margin-top:14px;max-width:56ch;line-height:1.55}
.wz-lb{display:block;color:rgba(244,238,226,.45);margin:30px 0 12px}
.wz-opts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}
.wz-opts.sm{grid-template-columns:1fr 1fr}
.wz-opts.row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:0}
.wz-op{text-align:left;background:none;border:1px solid var(--hair-l);color:var(--cream);cursor:pointer;
  padding:20px 22px;transition:all .25s var(--ease);position:relative}
.wz-op b{display:block;font-family:var(--sans);font-weight:700;font-size:16.5px;line-height:1.3}
.wz-op span{display:block;font-size:13.5px;color:rgba(244,238,226,.5);margin-top:7px;line-height:1.45}
.wz-op:hover{border-color:rgba(217,134,90,.6);transform:translateY(-2px)}
.wz-op.sel{border-color:var(--gold);background:rgba(168,90,43,.14)}
.wz-op.sel::after{content:"✓";position:absolute;top:14px;right:16px;color:var(--gold-l);font-size:15px}
.wz-note{color:rgba(244,238,226,.4);margin-top:18px}
.wz-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:30px}
.wz-fields label{display:flex;flex-direction:column;gap:9px}
.wz-fields label.full{grid-column:1/-1}
.wz-fields .mono-s{color:rgba(244,238,226,.5)}
.wz-fields i{font-style:normal;color:rgba(244,238,226,.32)}
.wz-fields input,.wz-fields textarea{background:none;border:0;border-bottom:1px solid var(--hair-l);color:var(--cream);
  font-family:var(--sans);font-size:18px;padding:10px 0;outline:none;transition:border-color .25s;resize:vertical}
.wz-fields input:focus,.wz-fields textarea:focus{border-color:var(--gold)}
.wz-fields input::placeholder,.wz-fields textarea::placeholder{color:rgba(244,238,226,.28)}
.wz-sum{margin-top:32px;padding-top:20px;border-top:1px solid var(--hair-l);display:flex;flex-wrap:wrap;gap:9px}
.wz-sum span{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  border:1px solid var(--hair-l);padding:8px 13px;color:rgba(244,238,226,.6)}
.wz-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px var(--pad);
  border-top:1px solid var(--hair-l);flex:none;background:var(--ink)}
.wz-back{background:none;border:0;color:rgba(244,238,226,.5);cursor:pointer;font-family:var(--mono);
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;padding:12px 0}
.wz-back:hover{color:var(--cream)}
.wz-back.hide{visibility:hidden}
#wizDots{color:rgba(244,238,226,.4)}
.wz-next{background:var(--gold);border:0;color:var(--cream);cursor:pointer;font-family:var(--mono);
  font-size:12px;letter-spacing:.2em;text-transform:uppercase;padding:17px 30px;transition:all .25s}
.wz-next:hover{transform:translateY(-2px)}
.wz-next:disabled{opacity:.32;cursor:not-allowed;transform:none}
.wz-done{text-align:center;padding-top:clamp(20px,6vh,60px)}
.wz-done .wz-h{margin:14px auto 0}
.wz-done-cta{margin-top:34px}
.wz-dl{display:inline-block;border:1px solid var(--gold);color:var(--gold-l);padding:15px 24px;transition:all .25s}
.wz-dl:hover{background:var(--gold);color:var(--cream)}
@media(max-width:720px){
  .wz-opts,.wz-opts.sm,.wz-fields{grid-template-columns:1fr}
  .wz-next{padding:16px 22px;font-size:11px}
  .wz-step{padding-bottom:24px}
}

/* ---------- liderazgo (discreto, institucional) ---------- */
.ldr{background:var(--paper-2)}
.ldr-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,4vw,60px);align-items:start}
.ldr-c{display:grid;grid-template-columns:150px 1fr;gap:clamp(18px,2.4vw,30px);align-items:start}
.ldr-ph{aspect-ratio:4/5;overflow:hidden;border:1px solid var(--hair);background:var(--paper)}
.ldr-ph img{width:100%;height:100%;object-fit:cover;object-position:center 18%;
  filter:grayscale(.35) contrast(1.03);transition:filter .6s var(--ease),transform .8s var(--ease)}
.ldr-c:hover .ldr-ph img{filter:grayscale(0) contrast(1.05);transform:scale(1.03)}
.ldr-tx h3{font-family:var(--sans);font-stretch:112%;font-weight:800;text-transform:uppercase;
  letter-spacing:-.01em;font-size:clamp(19px,2.1vw,27px);color:var(--ink);line-height:1.05}
.ldr-rol{display:block;color:var(--gold-t);margin-top:7px}
.ldr-tx p{font-size:15px;line-height:1.62;color:var(--ink-2);margin-top:14px;max-width:42ch}
.ldr-tx p b{font-weight:700;color:var(--ink)}
.ldr-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}
.ldr-tags span{border:1px solid var(--hair);padding:6px 11px;color:var(--mut)}
.ldr-soon{grid-column:1/-1;margin-top:clamp(20px,3vh,34px);border-top:1px solid var(--hair);padding-top:22px;
  display:flex;align-items:center;gap:14px;color:var(--mut)}
.ldr-dots{display:inline-flex;gap:5px;font-style:normal}
.ldr-dots b{width:5px;height:5px;border-radius:50%;background:var(--gold);opacity:.3;animation:ldrPulse 1.6s ease-in-out infinite}
.ldr-dots b:nth-child(2){animation-delay:.22s}
.ldr-dots b:nth-child(3){animation-delay:.44s}
@keyframes ldrPulse{0%,100%{opacity:.25}50%{opacity:1}}
@media(max-width:900px){.ldr-grid{grid-template-columns:1fr;gap:34px}}
@media(max-width:520px){.ldr-c{grid-template-columns:110px 1fr;gap:16px}.ldr-tx p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.ldr-dots b{animation:none;opacity:.6}}

/* ============ DESTILADOS · Luna Llena ============ */
.ds-hero{position:relative;background:var(--ink);color:var(--cream);overflow:hidden;min-height:clamp(560px,86vh,900px);display:flex;flex-direction:column;justify-content:center}
.ds-hero-bg{position:absolute;inset:0;z-index:0}
.ds-hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center 30%;filter:saturate(.85)}
.ds-hero-scrim{position:absolute;inset:0;z-index:1;
  background:linear-gradient(100deg,rgba(12,9,5,.94) 0%,rgba(12,9,5,.82) 42%,rgba(12,9,5,.42) 72%,rgba(12,9,5,.6) 100%),
             linear-gradient(180deg,rgba(12,9,5,.55),transparent 30%,transparent 62%,rgba(12,9,5,.9))}
.ds-hero-in{position:relative;z-index:2;width:100%}
.ds-h1{font-size:clamp(38px,8.4vw,132px);color:var(--cream)}
.ds-tag{color:var(--gold-l)}
.ds-sub{color:rgba(244,238,226,.78);max-width:46ch}
.ds-idx{margin-top:40px;color:rgba(244,238,226,.5)}
@media(max-width:760px){.ds-hero-bg img{object-position:65% 30%}}

/* esencia */
.ds-esencia{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(22px,3.4vw,54px)}
.ds-e{border-top:1px solid var(--hair);padding-top:20px}
.ds-n{color:var(--gold-t);display:block}
.ds-e h3{font-family:var(--sans);font-stretch:115%;font-weight:800;text-transform:uppercase;
  font-size:clamp(20px,2.3vw,29px);color:var(--ink);margin-top:12px;letter-spacing:-.01em}
.ds-e p{font-size:15.5px;color:var(--ink-2);margin-top:12px;line-height:1.6;max-width:34ch}
@media(max-width:820px){.ds-esencia{grid-template-columns:1fr}}

/* colección */
.ds-bots{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,44px)}
.ds-bot{text-align:center}
.ds-ph{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;margin-bottom:20px;overflow:hidden}
.ds-ph img{width:100%;height:100%;object-fit:contain;mix-blend-mode:screen;
  transition:transform .8s var(--ease);filter:contrast(1.06) brightness(1.02);
  -webkit-mask-image:radial-gradient(ellipse 62% 76% at 50% 50%,#000 58%,rgba(0,0,0,.35) 80%,transparent 100%);
  mask-image:radial-gradient(ellipse 62% 76% at 50% 50%,#000 58%,rgba(0,0,0,.35) 80%,transparent 100%)}
.ds-bot:hover .ds-ph img{transform:scale(1.06) translateY(-6px)}
.ds-bot h3{font-family:var(--sans);font-stretch:118%;font-weight:800;text-transform:uppercase;
  font-size:clamp(22px,2.6vw,34px);color:var(--cream);letter-spacing:-.01em}
.ds-meta{display:block;color:var(--gold-l);margin-top:8px}
.ds-bot p{font-size:15px;color:rgba(244,238,226,.68);margin:14px auto 0;max-width:30ch;line-height:1.55}
@media(max-width:820px){.ds-bots{grid-template-columns:1fr;gap:40px}.ds-ph{max-width:280px;margin-inline:auto}}

/* proceso */
.ds-proc{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,24px)}
.ds-pf{margin:0}
.ds-pf img{width:100%;aspect-ratio:4/5;object-fit:cover;border:1px solid var(--hair);
  filter:saturate(.9) contrast(1.02);transition:filter .6s var(--ease)}
.ds-pf:hover img{filter:saturate(1.05)}
.ds-pf figcaption{margin-top:14px}
.ds-pf figcaption b{display:block;font-family:var(--sans);font-stretch:112%;font-weight:800;
  text-transform:uppercase;font-size:16px;color:var(--ink)}
.ds-pf figcaption .mono-s{display:block;margin-top:5px;color:var(--mut)}
@media(max-width:760px){.ds-proc{grid-template-columns:1fr 1fr}.ds-pf:last-child{grid-column:1/-1;max-width:60%;margin-inline:auto}}

.ds-legal{margin-top:28px;color:rgba(244,238,226,.42);max-width:64ch}

/* enlaces sociales del equipo */
.ldr-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}
.ldr-links a{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--hair);
  padding:7px 12px;color:var(--mut);transition:all .25s var(--ease)}
.ldr-links a svg{width:14px;height:14px;flex:none}
.ldr-links a:hover{border-color:var(--gold);color:var(--gold-t);transform:translateY(-1px)}

/* botellas Luna Llena en el home */
.sp-bots{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;align-items:end}
.sp-bots img{width:100%;height:auto;object-fit:contain;mix-blend-mode:screen;
  filter:contrast(1.06) brightness(1.02);transition:transform .7s var(--ease);
  -webkit-mask-image:radial-gradient(ellipse 58% 74% at 50% 50%,#000 56%,rgba(0,0,0,.3) 80%,transparent 100%);
  mask-image:radial-gradient(ellipse 58% 74% at 50% 50%,#000 56%,rgba(0,0,0,.3) 80%,transparent 100%)}
.sp-bots img:nth-child(2){transform:translateY(-14px)}
.sp-bots img:hover{transform:translateY(-20px) scale(1.04)}
.sp-bots img:nth-child(2):hover{transform:translateY(-30px) scale(1.04)}
@media(max-width:820px){.sp-bots{max-width:420px;margin-inline:auto}}


/* ============ REAKTOR TOOLS ============ */
.rt-hero{position:relative;background:var(--ink);color:var(--cream);overflow:hidden;
  min-height:clamp(520px,80vh,820px);display:flex;flex-direction:column;justify-content:center}
#rtwave{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.rt-hero-in{position:relative;z-index:2;width:100%}
.rt-h1{font-size:clamp(40px,9.4vw,150px);color:var(--cream)}
.rt-tag{color:var(--gold-l)}
.rt-sub{color:rgba(244,238,226,.76);max-width:48ch}
.rt-cta-row{display:flex;align-items:center;gap:22px;margin-top:clamp(28px,4vh,44px);flex-wrap:wrap}
.rt-cta{display:inline-flex;align-items:center;gap:12px;background:var(--gold);color:var(--cream);
  font-family:var(--sans);font-weight:800;font-size:clamp(16px,1.7vw,20px);padding:18px 32px;
  transition:transform .25s var(--ease),box-shadow .25s}
.rt-cta:hover{transform:translateY(-3px);box-shadow:0 20px 42px -18px rgba(168,90,43,.8)}
.rt-note{color:rgba(244,238,226,.45)}
.rt-list .rt-note{margin:14px 2px 0;line-height:1.5;max-width:46ch}

/* fichas de herramienta */
.rt-tool.light{background:var(--paper-2)}
.rt-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(28px,4vw,64px);align-items:center}
.rt-grid.alt .rt-shot{order:2}
.rt-shot{border:1px solid var(--hair-l);overflow:hidden;background:#0a0708;
  box-shadow:0 30px 70px -34px rgba(0,0,0,.85)}
.rt-tool.light .rt-shot{border-color:var(--hair)}
.rt-shot img{width:100%;height:auto;display:block;transition:transform .8s var(--ease)}
.rt-shot:hover img{transform:scale(1.03)}
.rt-new{display:inline-block;color:var(--gold-l);border:1px solid var(--gold);padding:5px 11px;margin-bottom:12px}
.rt-txt h3{font-family:var(--sans);font-stretch:120%;font-weight:900;text-transform:uppercase;
  font-size:clamp(30px,4.4vw,62px);color:var(--cream);line-height:.94;letter-spacing:-.02em}
.rt-tool.light .rt-txt h3{color:var(--ink)}
.rt-txt h3 em{font-style:normal;color:var(--gold-l)}
.rt-tool.light .rt-txt h3 em{color:var(--gold-t)}
.rt-lead{font-size:clamp(15px,1.55vw,18.5px);color:rgba(244,238,226,.8);margin-top:16px;line-height:1.55;max-width:44ch}
.rt-tool.light .rt-lead{color:var(--ink-2)}
.rt-lead b{color:var(--cream);font-weight:700}
.rt-tool.light .rt-lead b{color:var(--ink)}
.rt-specs{margin-top:24px;display:grid;gap:1px;background:var(--hair-l);border:1px solid var(--hair-l)}
.rt-tool.light .rt-specs{background:var(--hair);border-color:var(--hair)}
.rt-sp{background:var(--ink);padding:16px 18px}
.rt-tool.light .rt-sp{background:var(--paper-2)}
.rt-sp b{display:block;font-family:var(--sans);font-weight:700;font-size:15px;color:var(--cream)}
.rt-tool.light .rt-sp b{color:var(--ink)}
.rt-sp span{display:block;font-size:14px;color:rgba(244,238,226,.6);margin-top:5px;line-height:1.5}
.rt-tool.light .rt-sp span{color:var(--ink-2)}
@media(max-width:900px){.rt-grid{grid-template-columns:1fr;gap:26px}.rt-grid.alt .rt-shot{order:0}}

/* descarga */
.rt-dl-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,64px);align-items:start}
.rt-dl-tx h2{font-size:clamp(28px,4vw,52px);color:var(--cream)}
.rt-dl-tx p{color:rgba(244,238,226,.66);margin-top:14px;max-width:38ch;font-size:15.5px;line-height:1.6}
.rt-socials{display:flex;flex-direction:column;gap:10px;margin-top:26px}
.rt-s{display:flex;align-items:center;gap:14px;border:1px solid var(--hair-l);padding:15px 18px;transition:all .3s var(--ease)}
.rt-s:hover{border-color:var(--gold);transform:translateX(4px)}
.rt-s.done{border-color:var(--gold);background:rgba(168,90,43,.14)}
.rt-s.done .rt-sc::after{content:" ✓"}
.rt-si{color:var(--gold-l);flex:none;width:22px;height:22px}
.rt-si svg{width:100%;height:100%}
.rt-sn b{display:block;font-family:var(--sans);font-weight:700;font-size:15px;color:var(--cream)}
.rt-sn i{display:block;font-style:normal;color:rgba(244,238,226,.45);margin-top:3px}
.rt-sc{margin-left:auto;color:var(--gold-l);flex:none}
.rt-prog{height:2px;background:rgba(244,238,226,.12);margin-top:20px}
.rt-prog i{display:block;height:100%;width:0;background:var(--gold);transition:width .5s var(--ease)}
.rt-hint{color:rgba(244,238,226,.45);margin-top:12px}
.rt-hint.ok{color:var(--gold-l)}

.rt-files{position:relative;border:1px solid var(--hair-l);padding:20px}
.rt-files.locked .rt-list,.rt-files.locked .rt-os{opacity:.25;filter:blur(1.5px);pointer-events:none}
.rt-os{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}
.rt-ob{background:none;border:1px solid var(--hair-l);color:rgba(244,238,226,.6);cursor:pointer;
  padding:12px 14px;font-family:var(--sans);font-weight:700;font-size:15px;transition:all .25s var(--ease)}
.rt-ob i{display:block;font-style:normal;font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;
  text-transform:uppercase;color:rgba(244,238,226,.4);margin-top:4px}
.rt-ob:hover{border-color:var(--gold)}
.rt-ob.on{background:var(--gold);border-color:var(--gold);color:var(--cream)}
.rt-ob.on i{color:rgba(244,238,226,.75)}
.rt-list{display:flex;flex-direction:column;gap:10px}
.rt-list[hidden]{display:none}
.rt-file{display:flex;align-items:center;gap:16px;border:1px solid var(--hair-l);padding:16px 18px;transition:all .3s var(--ease)}
.rt-file:hover{border-color:var(--gold);background:rgba(168,90,43,.1);transform:translateX(4px)}
.rt-fi{color:var(--gold-l);flex:none}
.rt-fn b{display:block;font-family:var(--sans);font-stretch:110%;font-weight:800;text-transform:uppercase;font-size:16px;color:var(--cream)}
.rt-fn i{display:block;font-style:normal;color:rgba(244,238,226,.45);margin-top:3px}
.rt-fa{margin-left:auto;font-family:var(--mono);font-size:19px;color:var(--gold-l);flex:none}
.rt-lock{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:12px;background:rgba(12,9,5,.66);backdrop-filter:blur(3px);color:rgba(244,238,226,.6);transition:opacity .5s var(--ease)}
.rt-lock svg{width:30px;height:30px}
.rt-lock.off{opacity:0;pointer-events:none}
@media(max-width:900px){.rt-dl-grid{grid-template-columns:1fr}}

.rt-inst{margin-top:clamp(38px,6vh,60px);border-top:1px solid var(--hair-l);padding-top:26px}
.rt-i[hidden]{display:none}
.rt-ih{color:var(--gold-l)}
.rt-inst ol{margin:16px 0 0 18px;display:flex;flex-direction:column;gap:10px}
.rt-inst li{font-size:14.5px;color:rgba(244,238,226,.7);line-height:1.55}
.rt-inst li b{color:var(--cream)}
.rt-inst li i{font-style:normal;color:rgba(244,238,226,.45);font-size:13.5px}
.rt-inst code{font-family:var(--mono);font-size:12.5px;color:var(--gold-l);background:rgba(244,238,226,.06);padding:2px 7px;display:inline-block;margin-top:3px}
.rt-req{margin-top:20px;color:rgba(244,238,226,.42);line-height:1.6}
.rt-req b{color:rgba(244,238,226,.7)}

/* sello OpenAI Partner Network — integrado a la línea meta del hero */
.oai-meta{display:inline-flex;align-items:center;gap:7px;text-transform:none;letter-spacing:.06em}
.oai-meta svg{width:12px;height:12px;flex:none;opacity:.75;position:relative;top:-.5px}
@media(max-width:900px){.oai-meta{display:none}}
