@font-face{font-family:'Rubik';font-weight:400;font-style:normal;font-display:swap;src:url(fonts/rubik-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Rubik';font-weight:500;font-style:normal;font-display:swap;src:url(fonts/rubik-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Rubik';font-weight:700;font-style:normal;font-display:swap;src:url(fonts/rubik-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Rubik';font-weight:900;font-style:normal;font-display:swap;src:url(fonts/rubik-latin-900-normal.woff2) format('woff2')}
@font-face{font-family:'Titan One';font-weight:400;font-style:normal;font-display:swap;src:url(fonts/titan-one-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Permanent Marker';font-weight:400;font-style:normal;font-display:swap;src:url(fonts/permanent-marker-latin-400-normal.woff2) format('woff2')}
:root{
  --red:#E50D0A; --red-deep:#8C0A0A; --red-glow:#FF3B30;
  --ink:#111111; --white:#FFFFFF; --paper:#F2F0EF;
  --pearl:#E6E6E8; --smoke:#8E8E93; --coal:#2A2A2C;
  --display:'Titan One','Arial Black',Impact,sans-serif;
  --body:'Rubik','Helvetica Neue',Arial,sans-serif;
  --marker:'Permanent Marker','Comic Sans MS',cursive;
  --r:22px;
  --dots-red:radial-gradient(circle,rgba(0,0,0,.22) 1.6px,transparent 2px) 0 0/14px 14px;
  --dots-grey:radial-gradient(circle,rgba(0,0,0,.28) 1.6px,transparent 2px) 0 0/12px 12px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{background:var(--ink);color:var(--ink);font-family:var(--body);font-size:1.0625rem;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit}
img,svg{max-width:100%}
:focus-visible{outline:4px solid var(--red-glow);outline-offset:3px}
.wrap{max-width:1120px;margin:0 auto;padding:0 1.25rem;position:relative}
.skip{position:absolute;left:-999px;top:0;background:var(--white);color:var(--ink);padding:.5rem 1rem;z-index:99;font-weight:700}
.skip:focus{left:0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* tipografía */
.eyebrow{font-family:var(--body);font-weight:900;letter-spacing:.28em;text-transform:uppercase;font-size:.8rem;color:var(--red)}
.dark .eyebrow{color:var(--red-glow)}
h2{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(2.3rem,7vw,4.4rem);line-height:.98;margin:.5rem 0 1rem}
h2 em{font-style:normal;color:var(--red)}
.dark h2{color:var(--white)}
.dark h2 em{color:var(--red)}
.sub{max-width:38rem;font-size:1.15rem;font-weight:400;margin:0 0 2rem}
.dark .sub{color:#d8d8da}
.marker{font-family:var(--marker);font-weight:400}

/* botones / stickers */
.btn{display:inline-block;font:inherit;font-weight:900;text-transform:uppercase;letter-spacing:.04em;text-decoration:none;cursor:pointer;
  background:var(--red);color:var(--white);padding:.85rem 1.6rem;border:3px solid var(--ink);border-radius:999px;box-shadow:5px 5px 0 var(--ink);transition:transform .12s,box-shadow .12s}
.btn:hover{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--ink)}
.btn.white{background:var(--white);color:var(--ink)}
.dark .btn{box-shadow:5px 5px 0 var(--white)}
.dark .btn:hover{box-shadow:2px 2px 0 var(--white)}
.pill{display:inline-block;font-family:var(--display);text-transform:uppercase;font-size:.95rem;letter-spacing:.02em;padding:.35rem 1rem;border:3px solid var(--ink);border-radius:999px;background:var(--red);color:var(--white);box-shadow:3px 3px 0 var(--ink);transform:rotate(-2deg)}
.pill.w{background:var(--white);color:var(--ink)}
.pill.k{background:var(--ink);color:var(--white);border-radius:6px;box-shadow:3px 3px 0 var(--red)}
.burst{display:inline-grid;place-items:center;text-align:center;width:132px;height:132px;background:var(--white);color:var(--red);font-family:var(--display);text-transform:uppercase;font-size:1.15rem;line-height:1;transform:rotate(9deg);
  clip-path:polygon(50% 0,60% 13%,76% 6%,78% 22%,95% 24%,87% 39%,100% 50%,87% 61%,95% 76%,78% 78%,76% 94%,60% 87%,50% 100%,40% 87%,24% 94%,22% 78%,5% 76%,13% 61%,0 50%,13% 39%,5% 24%,22% 22%,24% 6%,40% 13%)}
.burst.red{background:var(--red);color:var(--white)}
.stk{filter:drop-shadow(3px 3px 0 var(--ink))}

/* header */
header.top{position:sticky;top:0;z-index:30;background:var(--ink);border-bottom:4px solid var(--red)}
header.top .in{display:flex;justify-content:space-between;align-items:center;gap:1rem;max-width:1120px;margin:0 auto;padding:.35rem 1.25rem}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--white);font-family:var(--display);text-transform:uppercase;font-size:1.15rem;line-height:1}
.brand img{height:46px;width:auto;display:block}
header.top nav{display:flex;gap:.45rem;flex-wrap:wrap}
header.top nav a{color:var(--white);text-decoration:none;font-weight:700;font-size:.95rem;padding:.3rem .85rem;border:2px solid var(--white);border-radius:999px;transition:background .12s,border-color .12s}
header.top nav a:hover{background:var(--red);border-color:var(--red)}
header.top nav a.hl{background:var(--red);border-color:var(--red)}

/* hero */
.hero{background:radial-gradient(ellipse 60% 55% at 50% 42%,#4a0c0b 0%,rgba(74,12,11,.55) 40%,transparent 75%),var(--ink);color:var(--white);padding:3rem 0 4rem;text-align:center;overflow:hidden;position:relative}
.hero .logo3d{display:block;margin:0 auto;width:clamp(290px,62vw,720px);height:auto;filter:drop-shadow(0 0 40px rgba(229,13,10,.35));animation:inflate 1.2s cubic-bezier(.3,1.4,.5,1) both}
@keyframes inflate{0%{transform:scale(.15);opacity:0}25%{transform:scale(.35);opacity:1}50%{transform:scale(1.1)}67%{transform:scale(.95)}100%{transform:scale(1)}}
.hero h1{font-size:0}
.tagline{font-family:var(--display);text-transform:uppercase;font-size:clamp(1.8rem,5.6vw,3.6rem);line-height:1;margin-top:1.5rem}
.tagline em{font-style:normal;color:var(--red)}
.hero .lead{max-width:36rem;margin:1.1rem auto 0;font-size:1.2rem;color:#d8d8da}
.hero .stickers{display:flex;justify-content:center;align-items:center;gap:1.2rem;flex-wrap:wrap;margin-top:1.6rem}
.hero .btns{margin-top:2rem;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}
.hero .enfin{font-size:2.2rem;color:var(--white);margin-top:2rem;transform:rotate(-2deg);display:inline-block}
.hero .enfin::after{content:"";}
.hero .ico{position:absolute;opacity:.9;pointer-events:none}
.hero .i1{left:6%;top:18%;width:54px;transform:rotate(-12deg)}
.hero .i2{right:7%;top:26%;width:46px;transform:rotate(10deg)}
.hero .i3{left:11%;bottom:16%;width:44px;transform:rotate(8deg)}
.hero .i4{right:10%;bottom:14%;width:56px;transform:rotate(-8deg)}

/* ticker */
.ticker{background:var(--red);color:var(--white);border-block:5px solid var(--ink);overflow:hidden;white-space:nowrap;background-image:var(--dots-red)}
.ticker .track{display:inline-block;padding:.35rem 0;font-family:var(--display);text-transform:uppercase;font-size:1.6rem;line-height:1.3;animation:slide 38s linear infinite}
.ticker .track span{margin:0 1.2rem}
.ticker .track b{font-weight:400;color:var(--ink)}
@keyframes slide{to{transform:translateX(-50%)}}

section{padding:5rem 0}


/* contratación */
.hook{font-weight:900;font-size:1.2rem;margin-top:1.1rem;color:var(--white)}
.hire{background:var(--dots-red),linear-gradient(160deg,var(--red),#bf0a08);color:var(--white);border-bottom:6px solid var(--ink)}
.hire .eyebrow{color:var(--white)}
.hire h2{color:var(--white);-webkit-text-stroke:8px var(--ink);paint-order:stroke fill;text-shadow:5px 5px 0 var(--ink);max-width:16ch}
.hire .sub{color:var(--white);font-weight:500;max-width:36rem}
.events{display:flex;flex-wrap:wrap;gap:.9rem;margin:1.8rem 0 2.6rem}
.events .pill{font-size:1.05rem;padding:.5rem 1.2rem}
.events .pill:nth-child(even){transform:rotate(2deg)}
.events .pill:nth-child(3n){transform:rotate(-1deg)}
.gives{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
.give{background:var(--white);color:var(--ink);border:4px solid var(--ink);border-radius:var(--r);box-shadow:6px 6px 0 var(--ink);padding:1.4rem}
.give svg{width:54px;height:54px;margin-bottom:.7rem;filter:drop-shadow(2px 2px 0 var(--ink))}
.give h3{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:1.35rem;line-height:1.05;margin-bottom:.4rem}
.give p{font-size:1rem}
.hire .cta-row{margin-top:2.6rem;display:flex;gap:1.2rem;flex-wrap:wrap;align-items:center}
.hire .btn{background:var(--white);color:var(--ink);font-size:1.15rem;padding:1rem 2rem}
.hire .mailto{font-weight:900;color:var(--white);text-decoration:underline;text-underline-offset:4px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.fab{position:fixed;left:50%;bottom:14px;transform:translateX(-50%);z-index:40;display:none;white-space:nowrap}
.fab.off{display:none!important}

/* máquina de chistes */
.machine{background:var(--paper)}
.stage{display:grid;grid-template-columns:1.3fr 1fr;gap:3rem;align-items:start}
.joke{position:relative;background:var(--white);border:4px solid var(--ink);box-shadow:8px 8px 0 var(--ink);border-radius:var(--r);padding:1.75rem;min-height:15rem;display:flex;flex-direction:column;justify-content:space-between}
.joke::after{content:"";position:absolute;bottom:-24px;left:44px;width:32px;height:32px;background:var(--white);border-right:4px solid var(--ink);border-bottom:4px solid var(--ink);transform:rotate(45deg) skew(10deg,10deg)}
.joke q{quotes:none;display:block;font-family:var(--display);text-transform:uppercase;font-size:clamp(1.35rem,3vw,1.9rem);line-height:1.15}
.joke .react{margin-top:1.25rem;font-weight:500;color:var(--smoke);min-height:1.6em;font-style:italic}
.joke .fin{display:block;font-family:var(--marker);font-size:1.7rem;color:var(--red);margin-top:.6rem;opacity:0;transform:rotate(-3deg);transition:opacity .2s}
.joke.on .fin{opacity:1}
.panel{border:4px solid var(--ink);border-radius:var(--r);padding:1.5rem;background:var(--ink);color:var(--white);box-shadow:8px 8px 0 var(--red);transform:rotate(1deg)}
.panel h3{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:1.9rem;line-height:1}
.gauge{margin:1rem 0 .4rem;height:30px;border:4px solid var(--white);border-radius:999px;background:var(--coal);position:relative;overflow:hidden}
.gauge i{position:absolute;inset:0 auto 0 0;width:0;background:repeating-linear-gradient(45deg,var(--red) 0 10px,var(--red-deep) 10px 20px);transition:width .6s cubic-bezier(.2,1.4,.4,1)}
.read{display:flex;justify-content:space-between;font-weight:700}
.verdict{margin-top:1rem;min-height:3.2em;font-weight:500;color:#d8d8da}
.count{margin-top:1rem;font-size:.95rem;color:var(--pearl)}
.ctrl{margin-top:1.5rem;display:flex;gap:.8rem;flex-wrap:wrap;align-items:center}
.panel .btn{box-shadow:4px 4px 0 var(--white);border-color:var(--white)}
.panel .btn:hover{box-shadow:1px 1px 0 var(--white)}
button.tog{font:inherit;background:transparent;color:var(--white);border:3px solid var(--white);border-radius:999px;padding:.7rem 1.1rem;font-weight:700;cursor:pointer}
button.tog[aria-pressed="true"]{background:var(--white);color:var(--ink)}

/* video */
.video{background:radial-gradient(ellipse 70% 60% at 50% 55%,#3a0908 0%,transparent 70%),var(--ink);color:var(--white)}
.video .frame{position:relative;aspect-ratio:16/9;background:var(--ink);border:5px solid var(--white);border-radius:18px;box-shadow:12px 12px 0 var(--red);margin-top:1.5rem;overflow:hidden}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video .cap{margin-top:3rem;max-width:40rem}

/* dos épocas */
.duo{background:var(--paper)}
.split{position:relative;display:grid;grid-template-columns:1fr 1fr;background:var(--white);border:4px solid var(--ink);border-radius:var(--r);box-shadow:8px 8px 0 var(--ink);overflow:hidden;margin-top:1.5rem}
.split .bg{position:absolute;inset:0}
.split .bgl{background:var(--dots-grey),linear-gradient(160deg,#bdbdc1,#8E8E93);clip-path:polygon(0 0,52% 0,47% 18%,53% 36%,46% 54%,53% 72%,48% 100%,0 100%)}
.split .bgr{background:var(--dots-red),linear-gradient(160deg,var(--red),var(--red-deep));clip-path:polygon(52.8% 0,100% 0,100% 100%,48.8% 100%,53.8% 72%,46.8% 54%,53.8% 36%,47.8% 18%)}
.pane{position:relative;z-index:2;padding:2.2rem 2rem 2.4rem}
.pane.r{color:var(--white);padding-left:4.2rem}
.pane svg.big{width:84px;height:auto;margin-bottom:1rem;filter:drop-shadow(3px 3px 0 rgba(0,0,0,.9))}
.pane h3{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1;margin:.9rem 0 .4rem}
.pane.l h3{color:var(--ink)}
.pane p{max-width:19rem}
.pane .role{font-weight:900;text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;margin-bottom:.8rem}
.pane.l .pill{background:var(--white);color:var(--ink)}
.pane.r .pill{background:var(--white);color:var(--red)}
.pane.r .pill{transform:rotate(2deg)}
.lema{margin-top:3rem;background:var(--white);border:4px solid var(--ink);border-radius:var(--r);box-shadow:8px 8px 0 var(--red);padding:1.8rem 2rem;display:grid;grid-template-columns:auto 1fr;gap:1.5rem;align-items:center}
.lema q{quotes:none;font-family:var(--display);text-transform:uppercase;font-size:clamp(1.4rem,3.2vw,2.2rem);line-height:1.1}
.lema .pill{justify-self:start}
.lema small{display:block;margin-top:.5rem;color:var(--smoke);font-weight:500}

/* contacto */
.contact{background:var(--ink);color:var(--white);border-top:6px solid var(--red)}
.contact .grid{display:grid;grid-template-columns:1fr 1.1fr;gap:3.5rem;align-items:start}
.links{list-style:none;display:flex;flex-direction:column;align-items:flex-start;gap:1rem;margin-top:1.5rem}
.links a{display:inline-block;padding:.75rem 1.4rem;border:3px solid var(--white);border-radius:999px;color:var(--white);text-decoration:none;font-weight:700;transition:background .12s,color .12s,border-color .12s}
.links a:hover{background:var(--red);border-color:var(--red)}
form{display:grid;gap:1rem;background:var(--paper);color:var(--ink);border:4px solid var(--ink);border-radius:var(--r);box-shadow:8px 8px 0 var(--red);padding:1.6rem}
label{font-weight:700;display:block;margin-bottom:.25rem}
input,textarea,select{width:100%;font:inherit;padding:.75rem .9rem;border:3px solid var(--ink);border-radius:14px;background:var(--white);color:var(--ink)}
textarea{min-height:8rem;resize:vertical}
.hp{position:absolute;left:-9999px}
#msg{min-height:1.6em;font-weight:700}
form .btn{justify-self:start;box-shadow:5px 5px 0 var(--ink)}

footer{background:var(--red);background-image:var(--dots-red);color:var(--white);border-top:6px solid var(--ink);padding:2rem 1.25rem;text-align:center}
footer .enfin{font-family:var(--marker);font-size:2.2rem;line-height:1;display:block;margin-bottom:.6rem}
footer p{font-weight:500;font-size:.95rem}
.gdq-credit{display:inline-flex;align-items:center;gap:6px;margin-top:1.1rem;padding:8px 14px;border-radius:999px;background:rgba(255,196,0,.12);border:1px solid rgba(255,196,0,.55);color:#FFD43B;font-size:13px;text-decoration:none;transition:background .15s,transform .15s}
.gdq-credit:hover{background:rgba(255,196,0,.22);transform:translateY(-1px)}
.gdq-credit strong{font-weight:700}

@media (max-width:860px){
  .stage,.contact .grid{grid-template-columns:1fr}
  header.top .in{flex-direction:column;gap:.4rem}
  header.top nav{justify-content:center}
  header.top nav a{font-size:.88rem;padding:.25rem .65rem}
  .brand{font-size:1rem}
  section{padding:3.5rem 0}
  .split{grid-template-columns:1fr}
  .pane.r{padding-left:2rem}
  .split .bg{display:none}
  .pane.l{background:var(--dots-grey),linear-gradient(160deg,#bdbdc1,#8E8E93)}
  .pane.r{background:var(--dots-red),linear-gradient(160deg,var(--red),var(--red-deep));border-top:4px solid var(--white)}
  .lema{grid-template-columns:1fr}
  .gives,.row2{grid-template-columns:1fr}
  .fab{display:inline-block}
  footer{padding-bottom:5.5rem}
  .hire h2{-webkit-text-stroke:6px var(--ink)}
  .hero .ico{display:none}
  .joke::after{left:32px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .ticker .track,.hero .logo3d{animation:none}
  .btn,.gauge i,header.top nav a,.links a{transition:none}
}

/* ───── v9: páginas internas, cartelera, galería, preguntas ───── */
.page-hero{background:radial-gradient(ellipse 60% 70% at 50% 30%,#4a0c0b 0%,rgba(74,12,11,.5) 45%,transparent 80%),var(--ink);color:var(--white);padding:2.8rem 0 2.4rem;text-align:center}
.page-hero h1{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(2.3rem,8vw,4.6rem);line-height:.98;margin:.4rem 0 .8rem}
.page-hero h1 em{font-style:normal;color:var(--red)}
.page-hero .lead{max-width:40rem;margin:0 auto;font-size:1.15rem;color:#d8d8da}
.crumbs{font-size:.85rem;color:#bdbdc0;margin-bottom:.8rem}
.crumbs a{color:#fff;text-underline-offset:3px}
.band{padding:3.5rem 0}
.band.light{background:var(--paper);color:var(--ink)}
.band.white{background:var(--white);color:var(--ink)}
.band.dark{background:var(--ink);color:var(--white)}
.cards{display:grid;gap:1.7rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.card{background:var(--white);color:var(--ink);border:3px solid var(--ink);border-radius:var(--r);box-shadow:6px 6px 0 var(--red);overflow:hidden;display:flex;flex-direction:column}
.card img{width:100%;height:auto;display:block;background:var(--pearl)}
.card .body{padding:1rem 1.1rem 1.25rem;display:flex;flex-direction:column;gap:.4rem}
.card h3{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:1.35rem;line-height:1.05}
.card .when{font-weight:900;color:var(--red)}
.card .where{font-weight:500}
.card .desc{font-size:.95rem;color:#333}
.card .btn{margin-top:.5rem;align-self:flex-start;font-size:.85rem;padding:.55rem 1.1rem;box-shadow:4px 4px 0 var(--ink)}
.empty{border:3px dashed var(--ink);border-radius:var(--r);padding:2rem 1.4rem;text-align:center;background:var(--white);color:var(--ink);max-width:40rem;margin:0 auto}
.dark .empty{background:transparent;border-color:#fff;color:#fff}
.empty p{margin:0 0 1rem}
.gal{columns:3 240px;column-gap:1.1rem}
.gal figure{break-inside:avoid;margin:0 0 1.1rem;border:3px solid var(--ink);border-radius:16px;overflow:hidden;box-shadow:5px 5px 0 var(--red);background:var(--white)}
.gal figure a{display:block}
.gal img{width:100%;height:auto;display:block}
.gal figcaption{padding:.55rem .8rem;font-size:.9rem;font-weight:500;color:var(--ink)}
.vids{display:grid;gap:1.6rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.vids figure{margin:0;background:var(--white);color:var(--ink);border:3px solid var(--ink);border-radius:var(--r);box-shadow:6px 6px 0 var(--red);overflow:hidden}
.vids video{width:100%;display:block;background:#000;aspect-ratio:16/9;object-fit:contain}
.vids figcaption{padding:.8rem 1rem;font-weight:700}
.prose{max-width:46rem;margin:0 auto}
.prose h2{font-size:clamp(1.8rem,5vw,2.6rem);margin:2rem 0 .8rem}
.prose p{margin:0 0 1.1rem}
.prose ul{margin:0 0 1.2rem 1.2rem}
.prose li{margin:.3rem 0}
.prose a{color:var(--red);font-weight:700;text-underline-offset:3px}
.faq{max-width:46rem;margin:0 auto;display:grid;gap:.8rem}
.faq details{border:3px solid var(--ink);border-radius:16px;background:var(--white);color:var(--ink);box-shadow:4px 4px 0 var(--red);padding:.2rem 1.1rem}
.faq summary{cursor:pointer;font-weight:900;padding:.8rem 0;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";float:right;font-family:var(--display);color:var(--red);font-size:1.4rem;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq p{padding:0 0 1rem}
.faq a{color:var(--red);font-weight:700}
.dates{background:var(--ink);color:var(--white)}
.dates .cta-row{margin-top:2rem}
.more-links{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;margin-top:2rem}
.past{display:grid;gap:.6rem;max-width:46rem;margin:0 auto;list-style:none}
.past li{display:flex;gap:.8rem;align-items:baseline;border-bottom:2px solid var(--ink);padding:.5rem 0;flex-wrap:wrap}
.past b{font-family:var(--display);font-weight:400;text-transform:uppercase}
.more-links .btn{max-width:100%;text-align:center;overflow-wrap:anywhere}
@media (max-width:480px){.more-links .btn{font-size:.82rem;padding:.7rem 1rem;letter-spacing:.02em}}
