:root{
  --bg:#050505;
  --bg2:#151515;
  --ink:#ededed;
  --mute:#bcbcbc;
  --line:rgba(255,255,255,.17);
  --rec:#d92d25;       /* rojo REC (relleno) */
  --rec-text:#ff5b50;  /* rojo REC (texto sobre fondo oscuro) */
  --gut:clamp(16px,4vw,56px);
  --sans:"Archivo",system-ui,sans-serif;
  --serif:"Newsreader",Georgia,serif;
}
html{min-height:100%;color-scheme:dark;background:linear-gradient(180deg,#020202 0%,#0c0c0c 22%,#1c1c1c 55%,#333 80%,#454545 100%)}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:70px}
body{background:transparent;color:var(--ink);font:400 1.125rem/1.6 var(--serif);-webkit-font-smoothing:antialiased}
a{color:var(--ink)}
:focus-visible{outline:2px solid var(--rec-text);outline-offset:3px}
.skip{position:absolute;left:-999px;top:8px;background:var(--rec);color:#fff;padding:8px 12px;z-index:100}
.skip:focus{left:8px}

/* header */
.top{position:fixed;inset:0 0 auto 0;z-index:20;display:flex;justify-content:space-between;align-items:center;
  padding:14px var(--gut);background:rgba(5,5,5,.86);backdrop-filter:blur(10px);font-family:var(--sans)}
.brand{font-stretch:125%;font-weight:700;font-size:.95rem;text-decoration:none;letter-spacing:.01em}
.top nav{display:flex;gap:clamp(12px,2.5vw,32px);font-size:.9rem;font-weight:500}
.top nav a{text-decoration:none;color:var(--mute)}
.top nav a:hover{color:var(--ink)}

/* hero */
.hero{padding:76px var(--gut) 0}
.screen{position:relative;aspect-ratio:2.39/1;overflow:hidden;background:#050505;border-radius:2px}
.leak{position:absolute;border-radius:50%;filter:blur(60px);mix-blend-mode:screen;opacity:.85}
.l1{width:55%;height:120%;left:-5%;top:-10%;background:#4a4a4a;animation:d1 22s ease-in-out infinite alternate}
.l2{width:40%;height:90%;right:8%;top:5%;background:#8a8a8a;animation:d2 28s ease-in-out infinite alternate}
.l3{width:25%;height:60%;left:42%;bottom:-20%;background:#6a1f1b;animation:d3 18s ease-in-out infinite alternate}
@keyframes d1{to{transform:translate(18%,6%) scale(1.15)}}
@keyframes d2{to{transform:translate(-30%,12%) scale(.85)}}
@keyframes d3{to{transform:translate(40%,-20%) scale(1.3)}}
#bg-reel{position:absolute;left:50%;top:50%;width:100%;aspect-ratio:16/9;min-height:100%;transform:translate(-50%,-50%);border:0;pointer-events:none;opacity:0;transition:opacity 1s}
#bg-reel.on{opacity:1}
.reel-btn{position:absolute;right:30px;bottom:24px;z-index:2;display:flex;align-items:center;gap:9px;background:var(--rec);color:#fff;border:0;border-radius:99px;padding:10px 18px;font:600 .9rem var(--sans);cursor:pointer;transition:transform .2s}
.reel-btn:hover{transform:scale(1.05)}
.reel-dlg{width:min(1200px,96vw);background:#000}
.reel-wrap{aspect-ratio:16/9;width:100%}
.reel-wrap iframe{width:100%;height:100%;border:0;display:block}
.reel-alt{padding:10px 16px;font:400 .85rem var(--sans);text-align:right}
.reel-alt a{color:var(--mute)}
.grain,.card .img::after,.dlg-frames .fr::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.22;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
.tc{position:absolute;left:34px;bottom:28px;display:flex;align-items:center;gap:10px;font:500 .85rem var(--sans);font-variant-numeric:tabular-nums;letter-spacing:.06em;color:#fff;text-shadow:0 1px 6px #0008}
.rec{width:9px;height:9px;border-radius:50%;background:var(--rec);animation:blink 1.6s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.hero-text{padding:clamp(28px,5vw,56px) 0 clamp(40px,7vw,96px);display:grid;gap:18px;max-width:1100px}
h1{font:700 clamp(2.1rem,6.4vw,5.4rem)/.98 var(--sans);font-stretch:125%;letter-spacing:-.025em}
.hero-text p{max-width:46ch;color:var(--mute);font-size:1.25rem}
.btn{justify-self:start;font:600 .95rem var(--sans);text-decoration:none;color:#fff;background:var(--rec);padding:12px 20px;border-radius:2px;transition:transform .2s}
.btn:hover{transform:translateY(-2px)}

/* sections */
.sec{padding:clamp(56px,9vw,120px) var(--gut) 0}
.sec-head{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:end;margin-bottom:32px;border-bottom:1px solid var(--line);padding-bottom:14px}
h2{font:700 clamp(1.6rem,3.4vw,2.6rem)/1 var(--sans);font-stretch:112%;letter-spacing:-.015em}
.filters{display:flex;gap:6px;font-family:var(--sans)}
.filters button{background:none;border:1px solid var(--line);color:var(--mute);padding:7px 14px;border-radius:99px;font:500 .85rem var(--sans);cursor:pointer}
.filters button:hover{color:var(--ink)}
.filters button.on{background:var(--ink);color:#111;border-color:var(--ink)}

/* work */
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(28px,4vw,56px) clamp(16px,2.4vw,32px);align-items:start}
.card{grid-column:span 8;background:none;border:0;color:inherit;text-align:left;cursor:pointer;padding:0;font:inherit}
.card.wide{grid-column:span 12}
.card.tall{grid-column:span 4}
.card[hidden]{display:none}
.card .img{position:relative;overflow:hidden;display:block;border-radius:2px;background-size:cover;background-position:center}
.card .img i{position:absolute;inset:0}
.card .cap{display:flex;justify-content:space-between;gap:16px;align-items:baseline;padding-top:12px}
.card h3{font:600 1.15rem var(--sans);font-stretch:108%}
.card .sub{font:400 .88rem var(--sans);color:var(--mute);white-space:nowrap}
.card .lens{display:block;font:italic 400 .98rem var(--serif);color:var(--mute);padding-top:2px}

/* news */
.news{list-style:none;padding:0;max-width:880px}
.news li{display:grid;grid-template-columns:150px 1fr;gap:8px 28px;padding:24px 0;border-bottom:1px solid var(--line)}
.news time{font:500 .9rem var(--sans);color:var(--mute);padding-top:6px}
.news .tag{display:inline-block;font:600 .78rem var(--sans);color:#fff;background:var(--rec);padding:2px 9px;border-radius:99px;margin-bottom:8px}
.news h3{font:600 1.35rem/1.25 var(--sans);font-stretch:106%;margin-bottom:6px}
.news p{color:var(--mute);max-width:60ch}

/* semblanza */
.semb{display:grid;grid-template-columns:minmax(220px,360px) 1fr;gap:clamp(28px,6vw,96px);align-items:start}
.portrait{aspect-ratio:4/5;position:relative;overflow:hidden;border-radius:2px;background:radial-gradient(70% 60% at 30% 25%,#555,transparent 70%),radial-gradient(60% 60% at 75% 80%,#2a2a2a,transparent 70%),#0b0b0b;background-size:cover;background-position:center}
.portrait figcaption{position:absolute;left:12px;bottom:10px;font:400 .8rem var(--sans);color:#ffffffb0}
.semb-text p{font-size:1.3rem;line-height:1.6;max-width:36em}
.semb-text p+p{margin-top:1em;color:var(--mute);font-size:1.12rem}
.brands-label{margin-top:32px;font:600 .9rem var(--sans);color:var(--rec-text)}
.brands{list-style:none;padding:0;margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}
.brands li{border:1px solid var(--line);border-radius:99px;padding:6px 16px;font:500 .95rem var(--sans)}

/* about */
.about-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(28px,6vw,96px)}
.bio p{font-size:1.4rem;line-height:1.55;max-width:34em}
.bio p+p{margin-top:1em;color:var(--mute);font-size:1.15rem}
.facts{display:grid;gap:22px;align-content:start}
.facts dt{font:600 .9rem var(--sans);color:var(--rec-text);margin-bottom:6px}
.facts dd{color:var(--ink);font-size:1.02rem}
.facts dd span{display:block;padding:3px 0;border-bottom:1px solid var(--line)}

/* contact */
.contact{padding-bottom:clamp(56px,9vw,120px);display:grid;gap:14px;justify-items:start}
.contact p{color:var(--mute);max-width:44ch}
.mail{font:700 clamp(1.4rem,5vw,3.6rem)/1.05 var(--sans);font-stretch:125%;letter-spacing:-.02em;text-decoration:none;border-bottom:3px solid var(--rec-text);word-break:break-all}
.mail:hover{color:var(--rec-text)}
.links{display:flex;gap:20px;font-family:var(--sans)}
.foot{padding:24px var(--gut);border-top:1px solid var(--line);font:400 .85rem var(--sans);color:var(--mute)}

/* dialog */
dialog{border:0;background:var(--bg2);color:var(--ink);width:min(1100px,94vw);max-height:92vh;padding:0;border-radius:3px;overflow:auto}
dialog::backdrop{background:#030303e6}
dialog[open]{animation:pop .3s ease}
@keyframes pop{from{opacity:0;transform:translateY(12px)}}
.close{position:sticky;top:0;float:right;margin:12px;z-index:2;background:var(--bg);color:var(--ink);border:1px solid var(--line);padding:6px 14px;border-radius:99px;font:500 .85rem var(--sans);cursor:pointer}
.dlg-frames{display:grid;gap:2px}
.dlg-frames .fr{position:relative;background-size:cover;background-position:center}
.dlg-info{padding:28px clamp(20px,4vw,48px) 40px;display:grid;gap:10px;max-width:760px}
.dlg-info .cat{font:600 .85rem var(--sans);color:var(--rec-text)}
.dlg-info h3{font:700 clamp(1.6rem,3vw,2.4rem) var(--sans);font-stretch:115%}
.meta{display:grid;grid-template-columns:auto 1fr;gap:6px 20px;margin-top:10px;font-size:1rem}
.meta dt{font:600 .85rem var(--sans);color:var(--mute);padding-top:3px}

@media (max-width:760px){
  .card,.card.wide,.card.tall{grid-column:span 12}
  .about-grid,.semb{grid-template-columns:1fr}
  .portrait{max-width:320px}
  .news li{grid-template-columns:1fr}
  .top nav a[href="#novedades"]{display:none}
  .screen{aspect-ratio:16/9}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* subpágina fotografía */
.top nav a.cur{color:var(--ink)}
.street-head{padding:110px var(--gut) 32px;display:grid;gap:16px;max-width:1100px}
.street-head p{color:var(--mute);font-size:1.25rem;max-width:42ch}
.gallery{display:flex;flex-wrap:wrap;gap:10px;padding:0 var(--gut) 72px}
.gallery::after{content:"";flex-grow:1000000}
.ph{border:0;padding:0;background:#0b0b0b;cursor:zoom-in;overflow:hidden;border-radius:2px;min-width:0;max-width:100%}
.ph img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.ph:hover img{transform:scale(1.03)}
.lb{width:100vw;height:100vh;max-width:none;max-height:none;background:#030303;border-radius:0;overflow:hidden;display:none;place-items:center}
.lb[open]{display:grid}
.lb img{max-width:92vw;max-height:88vh;object-fit:contain}
.lb .close{position:absolute;top:0;right:0}
.lb .nav{position:absolute;top:50%;transform:translateY(-50%);background:none;border:0;color:var(--ink);font:300 3.2rem var(--sans);padding:16px 22px;cursor:pointer;opacity:.7}
.lb .nav:hover{opacity:1}
.lb .prev{left:0}.lb .next{right:0}
.lb .count{position:absolute;bottom:14px;left:0;right:0;text-align:center;font:400 .85rem var(--sans);color:var(--mute)}
.foot a{margin-left:12px}
@media (max-width:760px){.street-head{padding-top:96px}.gallery{gap:6px}}
.serie{padding-top:32px}
.serie-head{padding:0 var(--gut) 20px;display:grid;gap:6px;max-width:1100px}
.serie-head h2{font-size:clamp(1.5rem,3vw,2.2rem)}
.serie-head p{color:var(--mute);max-width:52ch}
.serie-head .serie-eq{font:italic 400 1rem var(--serif)}
.street-head{padding-bottom:8px}

/* podcast */
.pod{display:block}
.pod-text{display:grid;gap:18px;justify-items:start}
.pod-text p{font-size:1.3rem;max-width:22em}
.pod-embed{border:0;border-radius:12px;max-width:720px;width:100%;color-scheme:normal}
@media (max-width:760px){.top nav a[href="#posproduccion"]{display:none}}

.pos+.pos{margin-top:clamp(40px,6vw,72px)}
.pos h3{font:600 1.3rem var(--sans);font-stretch:108%}
.pos>p{color:var(--mute);margin:4px 0 18px}
.pos-videos{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pos-videos iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:2px;background:#000}
@media (max-width:760px){.pos-videos{grid-template-columns:1fr}}

.card .badge{position:absolute;left:10px;bottom:10px;z-index:2;background:var(--rec);color:#fff;font:600 .78rem var(--sans);padding:4px 10px;border-radius:99px}
.meta a{color:var(--rec-text)}
.pos-videos img{width:100%;height:auto;display:block;border-radius:2px;background:#000}
.pos-poster{display:block;width:min(100%,360px);height:auto;border-radius:2px;background:#000}
.pos-poster.wide{width:min(100%,680px)}

/* cabecera: Instagram y menú */
.top{gap:clamp(12px,2.5vw,32px)}
.brand{margin-right:auto}
.top nav{order:2}
.ig-btn{order:3;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--rec);color:var(--rec-text);border-radius:99px;padding:7px 14px;font:600 .85rem var(--sans);text-decoration:none;white-space:nowrap}
.ig-btn:hover{background:var(--rec);color:#fff}
.top nav a.cur{color:var(--ink)}
@media (max-width:1100px){
  .top{flex-wrap:wrap;row-gap:6px}
  .brand{margin-right:0}
  .ig-btn{order:2;margin-left:auto;padding:5px 12px;font-size:.8rem}
  .top nav{order:3;width:100%;justify-content:space-between;gap:8px;font-size:.82rem}
  .hero{padding-top:100px}
  .street-head{padding-top:116px}
}

/* videoclips, vacíos y material */
.vclips{margin-top:clamp(48px,7vw,88px)}
.vclips h3{font:700 clamp(1.3rem,2.6vw,1.8rem) var(--sans);font-stretch:112%}
.vclips-list,.tut-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));gap:28px}
.vclip iframe,.tut iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:2px;background:#000;display:block}
.vclip h4,.tut h3{font:600 1.1rem var(--sans);margin-top:10px}
.vclip p,.tut p{color:var(--mute);font-size:.98rem}
.empty{color:var(--mute);font-style:italic}
.material-cta{display:grid;gap:14px;justify-items:start}
.material-cta p{color:var(--mute);max-width:46ch}
.reg-intro{color:var(--mute);max-width:52ch;margin-bottom:18px}
.reg-form{display:grid;gap:10px;max-width:560px}
.reg-form label{font:600 .9rem var(--sans)}
.reg-row{display:flex;gap:10px;flex-wrap:wrap}
.reg-row input{flex:1 1 240px;background:var(--bg2);color:var(--ink);border:1px solid var(--line);border-radius:2px;padding:12px 14px;font:1rem var(--sans)}
.reg-row .btn{border:0;cursor:pointer}
.reg-row .btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.reg-form .reg-consent{display:flex;gap:10px;align-items:flex-start;font:400 .9rem var(--sans);color:var(--mute)}
.reg-consent input{margin-top:3px;accent-color:var(--rec-text)}
.reg-msg{min-height:1.4em;font:500 .92rem var(--sans)}
.reg-msg.good{color:var(--rec-text)}.reg-msg.bad{color:var(--rec-text)}
.dl-list{display:grid;gap:12px;max-width:760px}
.dl{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;border:1px solid var(--line);border-radius:2px;padding:16px 18px}
.dl h3{font:600 1.1rem var(--sans)}.dl p{color:var(--mute);font-size:.95rem}
body.sub .sec{padding-top:clamp(40px,6vw,72px)}
.top{background:var(--bg);border-bottom:1px solid var(--line)}

.ig-inline{margin-top:40px;display:grid;gap:10px;justify-items:start}
.ig-card{width:min(100%,560px);container-type:inline-size;border-radius:20px;overflow:hidden;border:1px solid var(--line);background:#fff}
.ig-card iframe{width:100%;height:calc(128px + 100cqw / 3);border:0;display:block;background:#fff}
.ig-inline a{font:500 .95rem var(--sans);color:var(--rec-text)}

/* ---- detalles: REC y plano focal ---- */
.sec-head h2::before{content:"";display:inline-block;width:.34em;height:.34em;border-radius:50%;background:var(--rec);margin-right:.5em;vertical-align:.14em}
.top nav a.cur::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--rec);margin-right:7px;vertical-align:.1em}
.btn::before{content:"";display:inline-block;width:.5em;height:.5em;border-radius:50%;background:#fff;margin-right:.6em;vertical-align:.05em}
.tc .rec-txt{font-weight:700;letter-spacing:.08em}
.frame{position:absolute;inset:14px;pointer-events:none;z-index:1;opacity:.5;
  background:
   linear-gradient(#fff,#fff) 0 0/20px 1px no-repeat, linear-gradient(#fff,#fff) 0 0/1px 20px no-repeat,
   linear-gradient(#fff,#fff) 100% 0/20px 1px no-repeat, linear-gradient(#fff,#fff) 100% 0/1px 20px no-repeat,
   linear-gradient(#fff,#fff) 0 100%/20px 1px no-repeat, linear-gradient(#fff,#fff) 0 100%/1px 20px no-repeat,
   linear-gradient(#fff,#fff) 100% 100%/20px 1px no-repeat, linear-gradient(#fff,#fff) 100% 100%/1px 20px no-repeat}
.tc,.reel-btn{z-index:2}
.focal{display:inline-block;vertical-align:-3px;margin-right:9px;opacity:.85}
.focus-scale{position:fixed;right:9px;top:92px;bottom:36px;width:22px;z-index:15;pointer-events:none;opacity:.55;display:none;font:400 8px var(--sans);color:var(--ink)}
.focus-scale .tk{position:absolute;right:0;top:0;bottom:0;width:9px;
  background:repeating-linear-gradient(to bottom,var(--ink) 0 1px,transparent 1px 12px) right/5px 100% no-repeat,
             repeating-linear-gradient(to bottom,var(--ink) 0 1px,transparent 1px 60px) right/9px 100% no-repeat}
.focus-scale .lb1,.focus-scale .lb2{position:absolute;right:12px;transform:translateY(-50%)}
.focus-scale .lb1{top:0}.focus-scale .lb2{bottom:-8px}
.focus-scale .mk{position:absolute;right:-1px;width:13px;height:2px;background:var(--rec);box-shadow:0 0 6px var(--rec);top:0}
@media (min-width:1100px){.focus-scale{display:block}}
.reg-form.compact{max-width:520px}
.cursos-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:20px}
.curso{border:1px solid var(--line);border-radius:2px;padding:20px;display:grid;gap:10px;align-content:start}
.curso h3{font:600 1.2rem var(--sans)}.curso p{color:var(--mute)}.curso .precio{font:700 1.3rem var(--sans);color:var(--ink)}
.material-cta .more{font:500 .95rem var(--sans);color:var(--rec-text)}
.reg-form label{display:grid;gap:6px}
.reg-form .reg-consent{display:flex}
.reg-row{display:flex;gap:10px;flex-wrap:wrap}

/* REC al cambiar de pestaña */
.brand{position:relative}
.rec-badge{position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;gap:6px;opacity:0;transition:opacity .25s;pointer-events:none;font:700 .72rem var(--sans);letter-spacing:.1em;color:var(--rec-text)}
.rec-badge i{width:9px;height:9px;border-radius:50%;background:var(--rec);box-shadow:0 0 8px var(--rec)}
.rec-badge.on{opacity:1}
.rec-badge.on i{animation:blink 1s steps(1) infinite}
@media (max-width:1100px){.rec-badge b{display:none}.rec-badge{left:calc(100% + 6px)}}
@media (prefers-reduced-motion:reduce){.rec-badge.on i{animation:none}}

/* color de texto por posición sobre el degradado (lo ajusta common.js en modo claro) */
:where(main,.foot) :where(h1,h2,h3,h4,p,li,dt,dd,label,figcaption,time){color:var(--ink)}
.reg-row input{background:#161616;color:#f2f2f2;border:1px solid #555}
.reg-row input::placeholder{color:#9a9a9a}
.filters button.on{background:var(--ink);color:var(--inv,#111)}
.focus-scale{color:#fff}
.focus-scale .tk,.focus-scale .lb1,.focus-scale .lb2{mix-blend-mode:difference}
.focus-scale .tk{background:repeating-linear-gradient(to bottom,#fff 0 1px,transparent 1px 12px) right/5px 100% no-repeat,repeating-linear-gradient(to bottom,#fff 0 1px,transparent 1px 60px) right/9px 100% no-repeat}
.pos-videos.one{grid-template-columns:minmax(0,640px)}

.teach-h{margin-top:30px;font:600 1.05rem var(--sans)}
.teach{color:var(--mute);font-size:1.12rem;max-width:36em}
.teach a{text-decoration:underline;text-underline-offset:3px}
@media (max-width:1100px){.top nav{flex-wrap:wrap;justify-content:flex-start;gap:2px 14px}}
@media (max-width:1100px){html{scroll-padding-top:130px}}

/* ---- adaptación a celular y tablet ---- */
.filters[hidden]{display:none}
@media (max-width:1100px){
  .ig-btn{padding:0;width:36px;height:36px;justify-content:center;font-size:0;gap:0}
  .ig-btn svg{width:18px;height:18px}
  .top{padding:10px var(--gut)}
  .top nav{flex-wrap:nowrap;overflow-x:auto;gap:18px;padding-bottom:4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .top nav::-webkit-scrollbar{display:none}
  .top nav a{white-space:nowrap;flex:0 0 auto}
  html{scroll-padding-top:110px}
  .hero{padding-top:92px}
  .street-head{padding-top:104px}
}
@media (max-width:600px){
  .frame{inset:8px}
  .tc{left:20px;bottom:16px;font-size:.68rem;gap:7px}
  .reel-btn{right:16px;bottom:12px;padding:7px 13px;font-size:.78rem;gap:7px}
  .reel-btn svg{width:11px;height:11px}
  h1{font-size:clamp(1.9rem,9vw,2.6rem)}
  .sec-head{align-items:flex-start}
  .mail{font-size:clamp(1.05rem,5.6vw,1.6rem)}
  .reg-row .btn{width:100%;justify-content:center}
  .dl{flex-direction:column;align-items:flex-start}
}

.card .cap{flex-wrap:wrap}
.card .sub{white-space:normal}
@media (max-width:760px){.card,.card.tall{grid-column:span 12}}

/* TikTok (sutil) */
.tt-btn{order:4;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;color:var(--mute);opacity:.7;text-decoration:none;transition:opacity .2s,color .2s}
.tt-btn:hover,.tt-btn:focus-visible{opacity:1;color:var(--ink)}
@media (max-width:1100px){.tt-btn{order:2;margin-left:-6px}}

/* ================= Fase 1: tema oscuro único, un solo acento, menos adornos ================= */
:root{--rec-text:var(--ink)}
.sec-head h2::before,.btn::before,.top nav a.cur::before{content:none}
.rec-badge{color:#ff5b50}
.reg-msg.bad{color:#ff8a7a}
.ig-btn{border-color:var(--line);color:var(--ink)}
.ig-btn:hover{background:var(--ink);color:#111}
.btn{border:0;cursor:pointer;display:inline-flex;align-items:center;gap:10px}
.card .badge{background:rgba(0,0,0,.72);color:#fff;border:1px solid rgba(255,255,255,.35)}
.dlg-info .cat{color:var(--mute)}
.meta a,.teach a,.otros a,.more{text-decoration:underline;text-underline-offset:3px}
.more{font:500 .95rem var(--sans)}
.screen{cursor:pointer}
.dlg-frames img{width:100%;height:auto;display:block}
.dlg-frames iframe,.vclip iframe,.tut iframe{width:100%;aspect-ratio:16/9;border:0;display:block;background:#000}

/* franja de clientes bajo el reel */
.trust{padding:0 0 clamp(8px,2vw,24px);display:grid;gap:10px}
.trust-label{font:600 .85rem var(--sans);color:var(--mute)}
.trust .brands{margin-top:0}
.award{font:italic 400 1rem var(--serif);color:var(--mute)}

/* etiquetas de rol */
.tags{display:flex;flex-wrap:wrap;gap:6px;padding-top:8px}
.tags span{border:1px solid var(--line);border-radius:99px;padding:2px 10px;font:500 .76rem var(--sans);color:var(--mute)}
.filters button{min-height:36px}
[data-g][hidden],.vclips[hidden]{display:none}

/* videoclips con miniatura */
.facade{position:relative;display:block;width:100%;aspect-ratio:16/9;padding:0;border:0;border-radius:2px;overflow:hidden;background:#000;cursor:pointer}
.facade img{width:100%;height:100%;object-fit:cover;display:block;opacity:.9}
.facade .play{position:absolute;left:50%;top:50%;width:58px;height:58px;margin:-29px 0 0 -29px;border-radius:50%;background:rgba(0,0,0,.6);border:1.5px solid rgba(255,255,255,.85)}
.facade .play::after{content:"";position:absolute;left:23px;top:18px;border-left:16px solid #fff;border-top:10px solid transparent;border-bottom:10px solid transparent}
.facade:hover img{opacity:1}
.otros{list-style:none;padding:0;margin-top:clamp(32px,5vw,56px);display:grid;gap:8px}
.otros li{display:flex;flex-wrap:wrap;gap:6px 14px;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px;font:400 1rem var(--sans);color:var(--mute)}
.otros strong{color:var(--ink);font-weight:600}

/* muestra de galería, índice de series, Instagram */
.gallery.teaser{padding:0}
.gallery.teaser .ph{cursor:pointer;display:block}
.serie-index{display:flex;flex-wrap:wrap;gap:8px;padding:0 var(--gut) 8px}
.serie-index a{border:1px solid var(--line);border-radius:99px;padding:8px 16px;font:500 .9rem var(--sans);text-decoration:none}
.serie-index a:hover{background:var(--ink);color:#111}
.ig-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:900px}
.ig-grid a{display:block;aspect-ratio:1;overflow:hidden;border-radius:2px;background:#0b0b0b}
.ig-grid img{width:100%;height:100%;object-fit:cover;display:block}

/* blancos táctiles y móvil */
.tt-btn{width:44px;height:44px}
@media (max-width:1100px){
  .ig-btn{width:44px;height:44px}
  .top nav{gap:20px}
  .top nav a{padding:10px 0}
  html{scroll-padding-top:120px}
}
@media (max-width:600px){
  .ig-grid{grid-template-columns:repeat(2,1fr)}
  .hero-text .btn{width:100%;justify-content:center;padding:14px 20px}
  .sec-head .more{width:100%}
}
.gallery.teaser::after{content:none}
.gallery.teaser .ph{flex-basis:calc(var(--r) * 130px)}
@media (max-width:600px){.gallery.teaser .ph{flex-basis:calc(var(--r) * 92px)}}
