:root{--ink:#101010;--paper:#efe9df;--muted:#aaa49b;--red:#ef3d22;--orange:#ff6b32;--line:rgba(239,233,223,.18);--display:'Barlow Condensed',Impact,sans-serif;--body:'Manrope',Arial,sans-serif;--mono:'DM Mono',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--body);overflow-x:hidden}.noise{position:fixed;inset:-50%;z-index:20;pointer-events:none;opacity:.065;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");animation:grain .22s steps(2) infinite}@keyframes grain{0%{transform:translate(0,0)}25%{transform:translate(2%,-1%)}50%{transform:translate(-1%,2%)}75%{transform:translate(1%,1%)}100%{transform:translate(-2%,-1%)}}a{color:inherit;text-decoration:none}.site-header{position:fixed;z-index:30;top:0;left:0;width:100%;display:flex;justify-content:space-between;align-items:flex-start;padding:1.4rem 2rem;mix-blend-mode:difference}.brand{display:flex;gap:.75rem;align-items:center;font:700 1rem/ .82 var(--display);letter-spacing:.04em}.brand em{font-style:normal;color:var(--orange);font-size:.72rem}.brand-mark{display:grid;place-items:center;width:2rem;height:2rem;border:1px solid var(--paper);border-radius:50%;font:700 1.3rem var(--display)}.menu-toggle{position:relative;z-index:32;background:none;color:var(--paper);border:0;cursor:pointer;font:700 1.25rem var(--display);letter-spacing:.06em;display:flex;align-items:center;gap:.7rem}.menu-toggle i,.menu-toggle i:after{display:block;width:1.5rem;height:2px;background:var(--paper);content:''}.menu-toggle i:after{transform:translateY(6px)}.menu-open .menu-toggle i{background:transparent}.menu-open .menu-toggle i:after{transform:translateY(0) rotate(90deg)}.site-menu{position:fixed;inset:0;background:var(--red);display:flex;flex-direction:column;align-items:flex-end;justify-content:center;padding:7rem 7vw 5rem;gap:.2rem;clip-path:circle(0 at 94% 4%);transition:clip-path .7s cubic-bezier(.77,0,.18,1);pointer-events:none}.menu-open .site-menu{clip-path:circle(150% at 94% 4%);pointer-events:auto}.site-menu a{font:600 clamp(3rem,7vw,7.8rem)/.86 var(--display);text-transform:uppercase;letter-spacing:-.04em;transition:color .2s,transform .2s}.site-menu a:hover{color:var(--ink);transform:translateX(-.5rem)}.site-menu a span{font:500 .75rem var(--mono);vertical-align:top;letter-spacing:0;margin-left:.4rem}.menu-footer{position:absolute;left:2rem;right:2rem;bottom:2rem;display:flex;justify-content:space-between;color:var(--ink);font:500 .65rem var(--mono);letter-spacing:.08em}.section-pad{padding-left:clamp(1.25rem,5vw,5rem);padding-right:clamp(1.25rem,5vw,5rem)}.hero{min-height:100svh;position:relative;display:grid;grid-template-columns:1fr minmax(18rem,42vw);align-items:center;padding-top:5rem;padding-bottom:4rem;gap:3rem;background:radial-gradient(circle at 68% 25%,rgba(239,61,34,.6),transparent 25%),linear-gradient(115deg,#101010 30%,#251512 100%);overflow:hidden}.hero:before{content:'';position:absolute;width:38rem;height:38rem;border-radius:50%;background:var(--red);filter:blur(80px);opacity:.32;right:12%;top:-16rem}.hero-copy{position:relative;z-index:1;align-self:center}.eyebrow{font:500 .67rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.hero-kicker{display:flex;gap:.7rem;align-items:center;margin:0 0 2rem}.pulse-dot{display:inline-block;width:.5rem;height:.5rem;border-radius:50%;background:var(--orange);box-shadow:0 0 0 .3rem rgba(255,107,50,.14);animation:pulse 1.8s infinite}@keyframes pulse{50%{box-shadow:0 0 0 .7rem rgba(255,107,50,0)}}h1,h2{font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:-.055em;margin:0}h1{font-size:clamp(5rem,14vw,13.5rem);line-height:.75;max-width:8ch}h1 span{color:transparent;-webkit-text-stroke:1px var(--paper)}.hero-bottomline{display:flex;align-items:flex-end;gap:2rem;margin-top:3.5rem}.hero-statement{font:500 clamp(1.3rem,2.4vw,2rem)/.9 var(--display);text-transform:uppercase;margin:0;color:var(--muted)}.hero-statement strong{color:var(--paper);font-weight:600}.circle-link{display:grid;place-items:center;width:6.3rem;height:6.3rem;border:1px solid var(--paper);border-radius:50%;font:600 .72rem/1 var(--mono);text-align:center;transition:background .3s,color .3s,transform .3s}.circle-link b{font:1.3rem var(--body);font-weight:400;margin-top:-.8rem}.circle-link:hover{background:var(--orange);border-color:var(--orange);color:var(--ink);transform:rotate(12deg)}.hero-visual{position:relative;min-height:min(67vw,76vh);background:linear-gradient(160deg,rgba(255,107,50,.15),transparent 28%),radial-gradient(ellipse at 70% 34%,#f0e3d1 0 5%,#c76b4f 6% 8%,transparent 9%),linear-gradient(130deg,#16110f,#7a1f18 46%,#ede1d3 47%,#a92b1d 75%,#131010 76%);isolation:isolate;overflow:hidden;transform:rotate(2.2deg)}.hero-visual:before{content:'';position:absolute;inset:7% 8%;border:1px solid rgba(239,233,223,.55);background:linear-gradient(180deg,transparent 35%,rgba(16,16,16,.7)),radial-gradient(ellipse at 55% 58%,rgba(16,16,16,.92) 0 12%,transparent 13%),radial-gradient(ellipse at 43% 66%,rgba(16,16,16,.9) 0 20%,transparent 21%);mix-blend-mode:multiply}.hero-visual:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 22%,rgba(239,233,223,.11) 22.1% 22.25%);opacity:.65}.visual-caption{position:absolute;z-index:2;top:1.3rem;left:1.3rem;right:1.3rem;display:flex;justify-content:space-between;font:500 .58rem var(--mono);letter-spacing:.08em}.hero-sticker{position:absolute;z-index:2;right:7%;bottom:10%;font:800 clamp(1.2rem,3vw,3rem)/.8 var(--display);color:var(--orange);transform:rotate(-9deg)}.hero-sticker span{font:500 .55rem var(--mono);color:var(--paper)}.hero-scroll{position:absolute;bottom:1.6rem;left:2rem;display:flex;align-items:center;gap:.8rem;font:500 .58rem var(--mono);text-transform:uppercase;color:var(--muted)}.hero-scroll i{display:block;width:4rem;height:1px;background:var(--muted)}.marquee{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:.85rem 0;background:var(--red);color:var(--ink);white-space:nowrap}.marquee-track{display:flex;align-items:center;gap:2rem;width:max-content;animation:marquee 24s linear infinite;font:700 clamp(1.6rem,4vw,4rem)/.8 var(--display);letter-spacing:-.03em}@keyframes marquee{to{transform:translateX(-50%)}}.marquee b{font:1.2rem var(--body)}.section-index{display:flex;align-items:center;gap:1rem;padding-bottom:2rem;border-bottom:1px solid var(--line);font:500 .65rem var(--mono);color:var(--orange);text-transform:uppercase}.section-index span{color:var(--muted)}.about,.video-section,.shows,.music,.merch,.contact{padding-top:8rem;padding-bottom:9rem}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,9vw,12rem);padding:5rem 7vw 7rem 10vw}.about-heading h2,.video-heading h2,.shows-top h2,.music-top h2,.merch h2,.contact h2{font-size:clamp(4rem,8vw,8.5rem);line-height:.8}.about-heading h2 em,.video-heading h2 em,.shows-top h2 em,.music-top h2 em,.merch h2 em,.contact h2 em{font-style:normal;color:transparent;-webkit-text-stroke:1px var(--paper)}.about-copy{max-width:34rem;padding-top:2rem}.about-copy p{font-size:1rem;line-height:1.7;color:var(--muted);margin:0 0 1.5rem}.about-copy .lead{font-size:1.55rem;line-height:1.2;color:var(--paper);font-family:var(--display);text-transform:uppercase}.about-copy .quote{font:500 1.7rem/1 var(--display);text-transform:uppercase;color:var(--orange);margin-top:3rem}.quote strong{color:var(--paper)}.about-images{display:grid;grid-template-columns:1.2fr .8fr;gap:1.3rem;align-items:end;padding:0 8vw}.photo-placeholder,.shirt-placeholder{position:relative;display:flex;align-items:flex-end;padding:1.2rem;background:linear-gradient(140deg,#3d1714,#e7623b 55%,#dfd1c0 56%,#27201e);overflow:hidden}.photo-placeholder:after,.shirt-placeholder:after{content:'';position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(239,233,223,.16) 30.2% 30.7%,transparent 31%),radial-gradient(ellipse at 45% 38%,rgba(16,16,16,.78) 0 9%,transparent 9.5%),linear-gradient(180deg,transparent 58%,rgba(16,16,16,.8))}.photo-placeholder span,.shirt-placeholder span{position:relative;z-index:1;font:700 clamp(1.5rem,3vw,3rem)/.82 var(--display);text-transform:uppercase}.photo-placeholder b,.shirt-placeholder b{position:absolute;z-index:1;right:1rem;top:1rem;font:500 .63rem var(--mono);color:var(--paper)}.photo-tall{height:38rem;max-height:68vw;transform:rotate(-2deg)}.photo-wide{height:25rem;max-height:48vw;transform:rotate(2deg);background:linear-gradient(145deg,#101010 10%,#9e281b 55%,#efe9df 56%)}.video-section{background:#161616;position:relative}.video-heading{display:flex;justify-content:space-between;align-items:flex-end;padding:5rem 8vw 2.5rem}.video-card{border:0;background:none;color:inherit;display:block;width:100%;cursor:pointer;padding:0}.video-placeholder{position:relative;min-height:min(61vw,42rem);display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 54% 51%,#efe9df 0 3%,transparent 3.5%),radial-gradient(ellipse at 50% 58%,#d04d35 0 12%,transparent 13%),linear-gradient(130deg,#1a1918,#8d251a 46%,#e9ddd0 47%,#201714 76%);overflow:hidden;transition:filter .3s,transform .5s}.video-placeholder:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 6px,rgba(16,16,16,.16) 7px 8px),linear-gradient(90deg,transparent,rgba(239,233,223,.13),transparent);mix-blend-mode:overlay}.video-card:hover .video-placeholder{filter:saturate(1.35);transform:scale(.985)}.video-label{position:absolute;top:2rem;left:2rem;font:800 clamp(2rem,5vw,5rem)/.8 var(--display);text-align:left}.video-note{position:absolute;right:2rem;top:2rem;font:500 .6rem var(--mono);text-align:right}.play-button{display:grid;place-items:center;width:6rem;height:6rem;border:1px solid var(--paper);border-radius:50%;font-size:1.5rem;padding-left:.25rem;transition:background .3s,color .3s}.video-card:hover .play-button{background:var(--orange);color:var(--ink);border-color:var(--orange)}.video-time{position:absolute;bottom:1.5rem;right:2rem;font:500 .65rem var(--mono)}.video-footer{display:flex;justify-content:space-between;padding-top:1.5rem;font:500 .65rem var(--mono);color:var(--muted);text-transform:uppercase}.video-footer a{color:var(--paper)}.video-footer b,.music-bottom b,.text-link b{color:var(--orange);font-size:1rem}.shows{background:var(--paper);color:var(--ink)}.shows .section-index{border-color:rgba(16,16,16,.2);color:var(--red)}.shows .section-index span,.shows-intro{color:#79736c}.shows-top,.music-top{display:flex;justify-content:space-between;align-items:flex-end;padding:5rem 8vw 4rem}.shows-intro{max-width:17rem;font-size:.82rem;line-height:1.5}.show-list{border-top:1px solid rgba(16,16,16,.25)}.show-row{display:grid;grid-template-columns:4rem 1.1fr 2fr 1fr;align-items:center;gap:1rem;padding:1.45rem 1rem;border-bottom:1px solid rgba(16,16,16,.25);transition:background .35s,color .35s,transform .35s}.show-row:hover{background:var(--red);color:var(--paper);transform:translateX(.5rem)}.show-number,.release-number{font:500 .63rem var(--mono);color:var(--red)}.show-row:hover .show-number{color:var(--paper)}.show-date{font:500 .7rem var(--mono);text-transform:uppercase}.show-venue strong{display:block;font:600 clamp(1.6rem,3vw,3rem)/.85 var(--display);text-transform:uppercase}.show-venue span{display:block;font:500 .7rem var(--mono);margin-top:.4rem;text-transform:uppercase}.show-cta{text-align:right;font:500 .68rem var(--mono);text-transform:uppercase}.show-action b{font-size:1rem;color:var(--red)}.show-row:hover .show-action b{color:var(--paper)}.show-soon{color:#79736c}.music{background:#211615}.music-top{padding-bottom:3rem}.music-top p{max-width:16rem;color:var(--muted);font-size:.82rem;line-height:1.5}.release-list{border-top:1px solid var(--line)}.release-row{display:grid;grid-template-columns:4rem 1fr 1fr 6rem 2rem;gap:1rem;align-items:center;padding:1.4rem 1rem;border-bottom:1px solid var(--line);transition:color .25s,transform .3s}.release-row:hover{color:var(--orange);transform:translateX(.5rem)}.release-title{font:600 clamp(1.5rem,3vw,3.2rem)/.85 var(--display);text-transform:uppercase}.release-type,.release-year{font:500 .66rem var(--mono);color:var(--muted);text-transform:uppercase}.release-arrow{text-align:right;font-size:1.3rem}.music-bottom{display:flex;justify-content:space-between;padding-top:1.5rem;color:var(--muted);font:500 .65rem var(--mono);text-transform:uppercase}.music-bottom a{color:var(--paper)}.merch{background:var(--orange);color:var(--ink)}.merch .section-index{border-color:rgba(16,16,16,.25);color:var(--ink)}.merch .section-index span{color:rgba(16,16,16,.6)}.merch-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;padding:5rem 8vw}.text-link{display:inline-block;margin-top:3rem;font:500 .7rem var(--mono);text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:.5rem}.shirt-placeholder{height:30rem;background:linear-gradient(140deg,#211615 0 47%,#efe9df 47% 75%,#ef3d22 75%);color:var(--paper);transform:rotate(3deg)}.shirt-placeholder:after{background:radial-gradient(ellipse at 57% 45%,rgba(16,16,16,.8) 0 20%,transparent 20.5%),linear-gradient(140deg,transparent 35%,rgba(239,233,223,.5) 35.2% 35.8%,transparent 36%)}.contact{background:#101010}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,8vw,10rem);padding:5rem 8vw}.contact-note{max-width:22rem;color:var(--muted);line-height:1.5;margin-top:2rem}.contact-email{margin-top:3rem;font:600 clamp(2rem,4vw,4rem)/.78 var(--display);text-transform:uppercase;color:var(--orange)}.contact-email span{color:var(--paper)}.contact-form{display:grid;gap:1.35rem}.contact-form label{font:500 .65rem var(--mono);color:var(--muted);text-transform:uppercase}.contact-form input,.contact-form textarea{display:block;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--paper);padding:.7rem 0;font:500 1rem var(--body);outline:0;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--orange)}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#68635d}.consent{display:flex;align-items:flex-start;gap:.7rem;text-transform:none!important;line-height:1.4}.consent input{width:1rem;height:1rem;accent-color:var(--orange);margin:0}.submit-button{justify-self:start;border:1px solid var(--orange);background:var(--orange);color:var(--ink);padding:1rem 1.5rem;font:600 .7rem var(--mono);text-transform:uppercase;cursor:pointer;transition:background .25s,color .25s}.submit-button:hover{background:transparent;color:var(--orange)}.submit-button span{font-size:1rem;margin-left:1rem}.form-status{display:none;margin:0;color:var(--orange);font-size:.8rem;line-height:1.4}.form-status.visible{display:block}.site-footer{padding-top:4rem;padding-bottom:2rem;background:var(--red);color:var(--ink)}.footer-brand{font:900 clamp(5rem,17vw,17rem)/.72 var(--display);letter-spacing:-.08em}.footer-brand span{color:transparent;-webkit-text-stroke:1px var(--ink)}.footer-links{display:flex;flex-wrap:wrap;gap:1.4rem;padding:4rem 0;border-bottom:1px solid rgba(16,16,16,.25);font:500 .7rem var(--mono);text-transform:uppercase}.footer-bottom{display:flex;justify-content:space-between;gap:1rem;padding-top:1.3rem;font:500 .62rem var(--mono);text-transform:uppercase}.toast{position:fixed;z-index:40;bottom:1.5rem;left:50%;transform:translate(-50%,1rem);opacity:0;background:var(--orange);color:var(--ink);padding:1rem 1.2rem;font:500 .7rem var(--mono);max-width:90vw;transition:opacity .25s,transform .25s}.toast.visible{opacity:1;transform:translate(-50%,0)}.reveal{opacity:0;transform:translateY(2rem);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1)}.reveal.is-visible{opacity:1;transform:none}@media(max-width:780px){.site-header{padding:1rem 1.1rem}.brand{font-size:.86rem}.hero{display:block;padding-top:8rem;min-height:100svh}.hero-copy{min-height:47vh;display:flex;flex-direction:column;justify-content:center}.hero-bottomline{margin-top:2rem;justify-content:space-between}.hero-visual{min-height:70vw;max-height:32rem;margin:1rem 1rem 2rem}.hero-scroll{left:1.1rem}.about,.video-section,.shows,.music,.merch,.contact{padding-top:5rem;padding-bottom:5.5rem}.about-grid,.contact-grid,.merch-grid{grid-template-columns:1fr;padding:3rem 0 4rem;gap:3rem}.about-images{padding:0;gap:.7rem}.photo-tall{height:22rem}.photo-wide{height:15rem}.video-heading,.shows-top,.music-top{display:block;padding:3rem 0 2.5rem}.video-heading h2,.shows-top h2,.music-top h2{margin-top:1rem}.video-placeholder{min-height:72vw}.video-label{top:1rem;left:1rem}.video-note{right:1rem;top:1rem}.video-time{right:1rem}.video-footer,.music-bottom,.footer-bottom{flex-direction:column;align-items:flex-start;gap:.8rem}.show-row{grid-template-columns:2.5rem 1fr;gap:.5rem 1rem;padding:1.2rem .4rem}.show-date{grid-column:2}.show-venue{grid-column:2}.show-cta{grid-column:2;text-align:left;margin-top:.5rem}.show-number{grid-row:1 / span 3}.release-row{grid-template-columns:2rem 1fr 2rem;gap:.5rem;padding:1.2rem .2rem}.release-type{display:none}.release-year{grid-column:2}.release-arrow{grid-column:3;grid-row:1 / span 2}.shirt-placeholder{height:22rem}.contact-email{margin-top:2rem}.site-menu{align-items:flex-start;padding-left:1.5rem}.site-menu a{font-size:3.3rem}.menu-footer{left:1.25rem;right:1.25rem;bottom:1.3rem;font-size:.55rem}.footer-links{padding:2.5rem 0}.footer-brand{font-size:24vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.noise,.marquee-track,.pulse-dot{animation:none}.reveal{opacity:1;transform:none;transition:none}.video-placeholder,.show-row,.release-row{transition:none}}

/* Hero portrait: la foto real no va encerrada en una tarjeta. */
.hero-portrait{position:relative;min-height:min(76vh,48rem);height:100%;isolation:isolate;transform:translate3d(var(--portrait-x,0),var(--portrait-y,0),0) rotate(1deg);transition:transform .18s ease-out}
.hero-portrait:before{content:'';position:absolute;z-index:-1;right:3%;top:8%;width:72%;height:72%;border-radius:50%;background:radial-gradient(circle,rgba(255,107,50,.9) 0,rgba(239,61,34,.38) 37%,transparent 70%);filter:blur(22px);opacity:.85}
.hero-portrait:after{content:'';position:absolute;z-index:-1;right:0;bottom:4%;width:72%;height:48%;background:linear-gradient(135deg,transparent 0 22%,rgba(239,233,223,.18) 22.2% 22.7%,transparent 23%),linear-gradient(155deg,transparent 0 42%,rgba(239,61,34,.6) 42.2% 57%,transparent 57.2%);clip-path:polygon(10% 0,100% 12%,92% 100%,0 78%);opacity:.75}
.hero-cutout{position:absolute;z-index:1;right:-7vw;bottom:-4rem;width:min(54vw,47rem);height:auto;max-height:96vh;object-fit:contain;object-position:bottom right;filter:drop-shadow(-1.2rem 1.6rem 1.5rem rgba(0,0,0,.45));transition:filter .35s ease}
.hero-portrait:hover .hero-cutout{filter:drop-shadow(-1.2rem 1.6rem 1.5rem rgba(0,0,0,.45)) saturate(1.12)}
.portrait-placeholder{position:absolute;right:4%;bottom:11%;z-index:0;width:min(24rem,42vw);height:min(30rem,60vh);display:flex;flex-direction:column;justify-content:flex-end;gap:.6rem;color:rgba(239,233,223,.7);font:800 clamp(2.4rem,5vw,5.5rem)/.78 var(--display);text-align:right;transform:rotate(-6deg);opacity:0}
.awaiting-asset .portrait-placeholder{opacity:1}
.portrait-placeholder small{font:500 .58rem var(--mono);line-height:1.3;letter-spacing:.06em;color:var(--orange)}
.hero-portrait .visual-caption{left:18%;right:1.3rem}
.hero-portrait .hero-sticker{right:8%;bottom:15%}
@media(max-width:780px){.hero-portrait{min-height:70vw;max-height:32rem;margin:1rem 1rem 2rem}.hero-cutout{right:-12vw;width:min(82vw,30rem);max-height:75vw}.portrait-placeholder{right:0;bottom:10%;width:70%;height:55%;font-size:clamp(2.2rem,10vw,4rem)}.hero-portrait .visual-caption{left:5%;right:0}.hero-portrait .hero-sticker{right:4%;bottom:12%}}
/* Logo oficial de Galo de Murcia. */
.brand{width:6.2rem}
.brand-logo{display:block;width:100%;height:auto;mix-blend-mode:screen;transition:transform .3s ease,filter .3s ease}
.brand:hover .brand-logo{transform:rotate(-4deg) scale(1.04);filter:sepia(1) saturate(2.5) hue-rotate(320deg)}
@media(max-width:780px){.brand{width:4.9rem}}

/* El logo es protagonista, pero nunca debe invadir el contenido ni el menú. */
.site-header{position:absolute;padding-top:1rem;padding-bottom:1rem}
.brand{width:4.65rem;flex:0 0 auto}
.menu-toggle{position:fixed;top:1rem;right:2rem}
.hero{padding-top:8.5rem}
.hero-copy{padding-top:2.5rem}
.hero-portrait .visual-caption{top:4.9rem;right:5.5rem}
@media(max-width:780px){.site-header{position:absolute;padding:1rem 1.1rem}.brand{width:4.15rem}.menu-toggle{top:1rem;right:1.1rem}.hero{padding-top:7.25rem}.hero-copy{padding-top:1.5rem}.hero-portrait .visual-caption{top:3.8rem;right:4.3rem}}

/* Menú: capa de cristal oscura, no un bloque rojo que aplaste la página. */
.site-header{mix-blend-mode:normal}
.site-menu{background:linear-gradient(125deg,rgba(13,11,10,.78),rgba(42,16,13,.72));backdrop-filter:blur(22px) saturate(.8);-webkit-backdrop-filter:blur(22px) saturate(.8);border-left:1px solid rgba(239,233,223,.14);overflow:hidden}
.site-menu:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 82% 18%,rgba(239,61,34,.5),transparent 32%),linear-gradient(180deg,transparent,rgba(0,0,0,.18));pointer-events:none}
.site-menu a{position:relative;z-index:1;color:var(--paper);text-shadow:0 .15rem 1.3rem rgba(0,0,0,.48)}
.site-menu a span{color:var(--orange)}
.site-menu a:hover{color:var(--orange);transform:translateX(-.5rem)}
.menu-footer{z-index:1;color:var(--paper);border-top:1px solid rgba(239,233,223,.18);padding-top:1rem}
.menu-open .menu-toggle{color:var(--paper)}
.menu-open .menu-toggle i:after{background:var(--paper)}

/* Merch real: frontal y trasera, con cambio automático y controles accesibles. */
.shirt-carousel{position:relative;width:100%;height:clamp(32rem,54vw,46rem);isolation:isolate;overflow:visible;background:transparent}
.shirt-carousel:before{display:none}
.shirt-slide{position:absolute;inset:0;margin:0;display:grid;place-items:center;opacity:0;transform:scale(1.05);transition:opacity .7s ease,transform .8s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.shirt-slide.is-active{opacity:1;transform:scale(1);pointer-events:auto}
.shirt-slide img{display:block;width:112%;height:112%;object-fit:contain;filter:drop-shadow(0 1.3rem 1.3rem rgba(0,0,0,.38));padding:0;max-width:none}
.shirt-controls{position:absolute;z-index:2;left:0;right:0;bottom:-.4rem;display:flex;align-items:center;justify-content:space-between}
.shirt-control,.shirt-dots button{border:1px solid rgba(16,16,16,.72);background:rgba(239,233,223,.18);color:var(--ink);cursor:pointer;transition:background .2s,color .2s,transform .2s}
.shirt-control{width:2.15rem;height:2.15rem;border-radius:50%;font-size:1rem;line-height:1}
.shirt-control:hover,.shirt-control:focus-visible{background:var(--ink);color:var(--paper);transform:scale(1.08)}
.shirt-dots{display:flex;gap:.45rem}
.shirt-dots button{width:.58rem;height:.58rem;border-radius:50%;padding:0}
.shirt-dots button.is-active,.shirt-dots button:hover,.shirt-dots button:focus-visible{background:var(--ink);transform:scale(1.2)}
.shirt-control:focus-visible,.shirt-dots button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
@media(max-width:780px){.shirt-carousel{height:30rem}.shirt-slide img{width:116%;height:116%}.shirt-controls{bottom:-.1rem}}
@media(prefers-reduced-motion:reduce){.shirt-slide{transition:none}.shirt-control,.shirt-dots button{transition:none}}

/* Videoclip integrado: el reproductor vive dentro de la composición. */
.video-heading{padding-left:0}
.video-heading{width:min(100%,1180px);margin-left:auto;margin-right:auto;padding-right:0}
.video-placeholder{isolation:isolate;background:#080808;aspect-ratio:16 / 9;min-height:0}
.video-embed{position:absolute;inset:0;z-index:0;width:100%;height:100%;border:0;display:block}
.video-poster{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;display:block}
.video-placeholder:before{z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(16,16,16,.72),transparent 24%),linear-gradient(0deg,rgba(16,16,16,.28),transparent 22%);mix-blend-mode:normal}
.video-label{z-index:2;pointer-events:none;font-size:clamp(1.8rem,3.2vw,3.7rem);text-shadow:0 .12rem 1rem rgba(0,0,0,.75)}
.video-launch{position:absolute;inset:0;z-index:3;display:grid;place-items:center;border:0;background:transparent;color:var(--paper);cursor:pointer}
.video-launch .play-button{background:rgba(16,16,16,.35);backdrop-filter:blur(4px)}
.video-launch:hover .play-button,.video-launch:focus-visible .play-button{background:var(--orange);color:var(--ink);border-color:var(--orange)}
.video-launch:focus-visible{outline:2px solid var(--orange);outline-offset:-.5rem}
.video-is-playing .video-poster,.video-is-playing .video-launch{display:none}
.video-fallback{position:absolute;z-index:4;right:1rem;bottom:1rem;color:var(--paper);font:500 .6rem var(--mono);text-transform:uppercase;text-shadow:0 .1rem .5rem rgba(0,0,0,.8);opacity:.85}
.video-fallback:hover{color:var(--orange)}
.video-card,.video-footer{width:min(100%,1180px);margin-left:auto;margin-right:auto}
/* El iframe de YouTube puede dejar un píxel de fondo en el borde izquierdo. */
.video-placeholder,.video-embed,.video-poster{overflow:hidden;outline:0!important;box-shadow:none!important}
.video-embed,.video-poster{left:-8px;right:-8px;width:calc(100% + 16px)}
.video-card:focus,.video-card:focus-visible,.video-placeholder:focus,.video-placeholder:focus-visible{outline:0!important;box-shadow:none!important}
.video-is-playing .video-placeholder:before{display:none}

/* Móvil: composición propia, no una versión encogida de escritorio. */
@media(max-width:780px){
  .section-pad{padding-left:1.5rem;padding-right:1.5rem}
  .section-index{padding-bottom:1.25rem}
  .about,.video-section,.shows,.music,.merch,.contact{padding-top:4.25rem;padding-bottom:4.75rem}
  .about-grid,.contact-grid,.merch-grid{padding:2.5rem 0 0;gap:2.5rem}
  .about-heading h2,.video-heading h2,.shows-top h2,.music-top h2,.merch h2,.contact h2{font-size:clamp(3.6rem,16vw,5.4rem);line-height:.82}
  .about-copy{padding-top:0}
  .about-copy .lead{font-size:1.35rem;line-height:1.08}
  .about-copy p{font-size:.92rem;line-height:1.62}
  .about-copy .quote{font-size:1.5rem;margin-top:2.3rem}
  .about-images{grid-template-columns:1fr 1fr;padding:2.75rem 0 0;gap:.75rem}
  .photo-tall{height:19rem;max-height:none}
  .photo-wide{height:14rem;max-height:none}
  .video-heading,.shows-top,.music-top{padding:2.5rem 0 2rem}
  .video-heading .eyebrow{margin-bottom:.8rem}
  .video-card,.video-footer{width:100%}
  .video-placeholder{min-height:0}
  .video-label{font-size:clamp(1.2rem,6.5vw,2rem);line-height:.86;top:1rem;left:1rem}
  .video-note{display:none}
  .play-button{width:4.75rem;height:4.75rem}
  .video-footer{padding-top:1rem;font-size:.58rem}
  .shows-intro,.music-top p{max-width:20rem;margin:1.2rem 0 0;font-size:.78rem}
  .show-row{padding:1.1rem 0}
  .show-venue strong{font-size:clamp(1.65rem,9vw,2.35rem)}
  .release-row{grid-template-columns:1.7rem minmax(0,1fr) 1.5rem;padding:1.1rem 0}
  .release-title{font-size:clamp(1.55rem,9vw,2.25rem);overflow-wrap:anywhere}
  .music-bottom{font-size:.57rem}
  .merch-grid{gap:1.35rem}
  .merch .text-link{margin-top:2rem}
  .shirt-carousel{height:clamp(26rem,112vw,33rem);margin:0 -.35rem}
  .shirt-slide img{width:98%;height:98%;max-width:98%}
  .shirt-controls{left:.15rem;right:.15rem;bottom:.2rem}
  .contact-grid{gap:3rem}
  .contact-email{font-size:clamp(2rem,10vw,3.1rem);overflow-wrap:anywhere}
  .contact-form{gap:1.1rem}
  .footer-brand{font-size:23vw}
  .footer-links{gap:1rem;font-size:.62rem}
}

@media(max-width:390px){
  .section-pad{padding-left:1.15rem;padding-right:1.15rem}
  .hero-bottomline{gap:1rem}
  .circle-link{width:5.45rem;height:5.45rem;font-size:.63rem}
  .hero-statement{font-size:1.25rem}
  .site-menu a{font-size:2.9rem}
  .about-images{gap:.5rem}
  .photo-tall{height:16.5rem}
  .photo-wide{height:12rem}
  .shirt-carousel{height:25rem;margin:0 -.15rem}
  .shirt-control{width:2rem;height:2rem}
  .footer-bottom{font-size:.56rem}
}

html{scrollbar-gutter:stable}
main,.site-footer{transition:filter .45s ease}
.menu-open{overflow:hidden}
.menu-open main,.menu-open .site-footer{filter:blur(12px) saturate(.72) brightness(.68);pointer-events:none;user-select:none}
@media(prefers-reduced-motion:reduce){
  main,.site-footer{transition:none}
}

.site-header{position:fixed;z-index:60;pointer-events:none}
.brand{position:fixed;top:1rem;left:1rem;z-index:64;width:4.85rem;pointer-events:auto;isolation:isolate;opacity:1;transform:translateY(0);transition:opacity .22s ease,transform .22s ease}
.brand-logo{mix-blend-mode:normal;filter:drop-shadow(0 .35rem .65rem rgba(0,0,0,.55));opacity:1}
.brand:hover .brand-logo{filter:drop-shadow(0 .45rem .75rem rgba(0,0,0,.6)) sepia(1) saturate(2.5) hue-rotate(320deg)}
.menu-open .brand{opacity:0;pointer-events:none;transform:translateY(-.4rem)}
.menu-toggle{z-index:65;pointer-events:auto}
.site-menu{z-index:62;pointer-events:none}
.menu-open .site-menu{pointer-events:auto}
@media(max-width:780px){
  .brand{top:.85rem;left:.85rem;width:4.15rem}
}

/* Directo: sustituye la franja plana por una pausa audiovisual a ancho completo. */
.live-reel{position:relative;margin-top:8rem;background:#0b0a09;color:var(--paper);overflow:hidden}
.live-video-frame{position:relative;width:100%;height:clamp(25rem,58vw,44rem);isolation:isolate;background:radial-gradient(circle at 68% 36%,rgba(255,107,50,.46),transparent 21%),linear-gradient(115deg,#090909,#35130d 48%,#080808);overflow:hidden}
.live-video{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.live-fallback{position:absolute;z-index:0;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:1rem;padding:clamp(1.4rem,4vw,4rem);background:linear-gradient(120deg,rgba(0,0,0,.18) 0 44%,rgba(255,107,50,.2) 44.2% 44.6%,transparent 45%),radial-gradient(ellipse at 68% 42%,rgba(239,61,34,.85) 0 8%,transparent 8.5%),linear-gradient(115deg,#100d0b,#401510 47%,#130e0c 100%);font:800 clamp(3rem,9vw,10rem)/.74 var(--display);letter-spacing:-.055em;color:rgba(239,233,223,.88)}
.live-fallback small{font:500 .62rem var(--mono);letter-spacing:.12em;color:var(--orange)}
.live-video-frame .live-fallback{display:none}
.is-awaiting-video .live-fallback{display:flex}
.is-awaiting-video .live-video{display:none}
.live-shade{position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.38),transparent 30%,rgba(0,0,0,.42)),repeating-linear-gradient(0deg,transparent 0 5px,rgba(0,0,0,.12) 6px 7px);mix-blend-mode:multiply}
.live-caption{position:absolute;z-index:2;top:1.25rem;left:clamp(1.25rem,4vw,4rem);right:clamp(1.25rem,4vw,4rem);display:flex;justify-content:space-between;font:500 .62rem var(--mono);letter-spacing:.1em;color:rgba(239,233,223,.82)}
.live-tape{position:absolute;z-index:3;top:50%;left:0;width:100%;overflow:hidden;transform:translateY(-50%) rotate(-2deg);background:var(--orange);border-top:1px solid rgba(16,16,16,.7);border-bottom:1px solid rgba(16,16,16,.7);color:var(--ink);white-space:nowrap;box-shadow:0 .8rem 2.5rem rgba(0,0,0,.3)}
.live-tape-track{display:flex;align-items:center;gap:clamp(1.5rem,4vw,4rem);width:max-content;padding:.44rem 0 .52rem;animation:live-tape 20s linear infinite;font:800 clamp(1.7rem,4.6vw,5.2rem)/.8 var(--display);letter-spacing:-.035em}
.live-tape-track b{font:500 .9rem var(--body)}
@keyframes live-tape{to{transform:translateX(-50%)}}

@media(max-width:780px){
  .live-reel{margin-top:5rem}
  .live-video-frame{height:clamp(18rem,68vw,29rem)}
  .live-caption{top:1rem;font-size:.54rem}
  .live-tape{transform:translateY(-50%) rotate(-2.5deg)}
  .live-tape-track{padding:.38rem 0 .45rem;font-size:clamp(1.55rem,9vw,2.8rem);gap:1.5rem}
  .live-fallback{font-size:clamp(2.7rem,15vw,5.3rem)}
}

@media(prefers-reduced-motion:reduce){.live-tape-track{animation:none}}

/* Un poco más de aire en el menú para que las tildes no se rocen. */
.site-menu a{line-height:.9}

/* Portada: fotografía original de Galo, recortada y sin marco. */
.hero{display:block;min-height:clamp(42rem,100svh,68rem);padding-top:0;padding-bottom:0;background:radial-gradient(ellipse 38% 50% at 69% 42%,rgba(214,57,25,.44),transparent 78%),radial-gradient(ellipse 35% 55% at 92% 80%,rgba(111,28,22,.4),transparent 80%),linear-gradient(105deg,#0c0b0b 8%,#21110f 59%,#0c0b0c)}
.hero:before{top:12%;right:10%;width:min(46vw,40rem);height:min(46vw,40rem);background:#e34c24;filter:blur(110px);opacity:.18}
.hero-copy{position:relative;z-index:3;min-height:clamp(42rem,100svh,68rem);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-top:4rem;padding-bottom:3rem;pointer-events:none}
.hero h1{position:relative;z-index:2;font-size:clamp(5rem,12vw,12.7rem);text-shadow:0 .1rem 1.5rem rgba(0,0,0,.22)}
.hero-bottomline{position:relative;z-index:2}
.hero-portrait{position:absolute;inset:0;z-index:1;min-height:0;height:auto;margin:0;transform:translate3d(var(--portrait-x,0),var(--portrait-y,0),0);transition:transform .18s ease-out;pointer-events:none}
.hero-portrait:before{z-index:-1;right:7%;top:11%;width:52%;height:68%;background:radial-gradient(circle,rgba(247,83,36,.58),rgba(166,42,26,.24) 38%,transparent 72%);filter:blur(50px);opacity:1}
.hero-portrait:after{display:none}
.hero-cutout{right:-4vw;bottom:-1.5rem;width:min(82vw,84rem);max-height:96%;height:auto;object-fit:contain;object-position:bottom right;pointer-events:auto;filter:drop-shadow(-1rem 1.1rem 1.2rem rgba(0,0,0,.36)) saturate(.95)}
.hero-portrait:hover .hero-cutout{filter:drop-shadow(-1rem 1.1rem 1.2rem rgba(0,0,0,.36)) saturate(.95)}
@media(max-width:780px){
  .hero{min-height:100svh;padding-top:0;padding-bottom:0;background:radial-gradient(ellipse 70% 32% at 70% 72%,rgba(207,53,24,.36),transparent 85%),linear-gradient(180deg,#17100f,#0b0a0a 68%)}
  .hero-copy{min-height:100svh;justify-content:flex-start;padding-top:clamp(7.5rem,17vh,11rem);padding-bottom:0}
  .hero h1{font-size:clamp(4.8rem,18vw,8rem)}
  .hero-bottomline{margin-top:1.5rem}
  .hero-portrait{inset:0;min-height:0;max-height:none;margin:0}
  .hero-portrait:before{right:-8%;top:43%;width:93%;height:48%;filter:blur(42px)}
  .hero-cutout{width:min(192vw,52rem);max-height:75svh;right:-48vw;bottom:0;pointer-events:none}
}
@media(min-width:500px) and (max-width:780px) and (orientation:portrait){
  .hero-copy{padding-top:clamp(8.5rem,16vh,11rem)}
  .hero h1{font-size:clamp(5.5rem,15vw,7.4rem)}
  .hero-portrait:before{right:-5%;top:40%;width:88%;height:55%;filter:blur(50px)}
  .hero-cutout{width:min(150vw,72rem);max-height:76svh;right:-7vw;bottom:0}
}
@media(min-width:781px) and (max-width:1100px) and (orientation:portrait){
  .hero{min-height:100svh;background:radial-gradient(ellipse 70% 36% at 66% 68%,rgba(207,53,24,.42),transparent 84%),linear-gradient(180deg,#17100f,#0b0a0a 72%)}
  .hero-copy{min-height:100svh;justify-content:flex-start;padding-top:clamp(10rem,17vh,14rem);padding-bottom:0}
  .hero h1{font-size:clamp(6rem,13vw,9rem)}
  .hero-bottomline{margin-top:2rem}
  .hero-portrait:before{right:-6%;top:40%;width:88%;height:52%;filter:blur(54px)}
  .hero-cutout{width:min(170vw,80rem);max-height:80svh;right:-26vw;bottom:0;pointer-events:none}
}
@media(min-width:781px) and (max-width:1100px) and (orientation:landscape){
  .hero-copy{justify-content:flex-start;padding-top:clamp(13rem,27vh,16rem);padding-bottom:0}
  .hero-cutout{width:min(98vw,68rem);max-height:98%;right:-7vw;bottom:0}
}
@media(min-width:1101px) and (max-width:1280px) and (max-height:920px){
  .hero-copy{justify-content:flex-start;padding-top:clamp(11rem,23vh,13rem);padding-bottom:0}
  .hero-cutout{width:min(90vw,68rem);max-height:98%;right:-5vw;bottom:0}
}
@media(max-width:390px){.hero h1{font-size:clamp(4.4rem,17vw,5.2rem)}.hero-copy{padding-top:7.1rem}}
@media(prefers-reduced-motion:reduce){.hero-portrait{transform:none;transition:none}}

/* En pantallas grandes, el contorno acompaña la escala monumental del pie. */
@media(min-width:781px){.footer-brand span{-webkit-text-stroke:clamp(1.5px,.12vw,2.5px) var(--ink)}}

/* Superficie interactiva del título: solo se activa con ratón en escritorio. */
.interactive-text-ready{isolation:isolate;margin:-.75rem!important;padding:.75rem}
.interactive-text-ready,.interactive-text-ready *{color:transparent!important;-webkit-text-stroke-color:transparent!important}
.interactive-text-surface{position:absolute;z-index:3;inset:0;display:block;width:100%;height:100%;pointer-events:auto;touch-action:none}

/* Retratos reales de Galo: carrusel automático dentro del espacio editorial. */
.photo-carousel{position:relative;overflow:hidden;padding:0;background:#161616;isolation:isolate}
.photo-carousel:after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(16,16,16,.08),transparent 45%,rgba(16,16,16,.5));pointer-events:none}
.photo-slide{position:absolute;inset:0;margin:0;opacity:0;transform:scale(1.04);transition:opacity .9s ease,transform 1.2s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.photo-slide.is-active{opacity:1;transform:scale(1);pointer-events:auto}
.photo-slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.photo-carousel-caption{position:absolute;z-index:2;left:1.2rem;bottom:1.2rem;font:700 clamp(1.5rem,3vw,3rem)/.82 var(--display);color:var(--paper);text-transform:uppercase}
.photo-carousel>b{position:absolute;z-index:2;right:1rem;top:1rem;font:500 .63rem var(--mono);color:var(--paper)}
.photo-carousel:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
@media(prefers-reduced-motion:reduce){.photo-slide{transition:none}}
@media(max-width:780px){
  .about-images{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:.8rem}
  .photo-carousel,.direct-card{grid-column:auto;width:100%;height:clamp(15rem,58vw,21rem);max-height:none;transform:none}
  .photo-carousel-caption,.direct-card span{left:.75rem;bottom:.75rem;font-size:clamp(1.2rem,5.5vw,2rem)}
}

/* Tarjeta audiovisual de directo, siempre silenciosa y en bucle. */
.direct-card{position:relative;overflow:hidden;background:#111;isolation:isolate}
.direct-card:after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,transparent 48%,rgba(16,16,16,.55));pointer-events:none}
.direct-card video{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.direct-card span{position:absolute;z-index:2;left:1.2rem;bottom:1.2rem;color:var(--paper);font:700 clamp(1.5rem,3vw,3rem)/.82 var(--display);text-transform:uppercase}
@media(prefers-reduced-motion:reduce){.direct-card video{display:none}}

/* Merch: el producto llena el encuadre sin escaparse hacia la sección siguiente. */
.merch{overflow:clip}
.shirt-carousel{height:clamp(29rem,46vw,43rem)}
.shirt-slide img{width:100%;height:100%;max-width:100%;transform:translateY(-2.5rem)}
.shirt-controls{bottom:1rem}
@media(min-width:781px) and (max-height:850px){.shirt-carousel{height:min(40rem,66svh)}}
@media(max-width:780px){
  .merch-grid{min-width:0;overflow:hidden}
  .shirt-carousel{height:clamp(22rem,96vw,34rem);margin:0;overflow:hidden}
  .shirt-slide img{width:90%;height:90%;max-width:90%;max-height:90%;transform:translateY(-.35rem)}
  .shirt-controls{bottom:.75rem}
}
@media(min-width:781px) and (max-width:1200px){
  .merch-grid{gap:3rem;padding-left:4vw;padding-right:4vw}
  .shirt-carousel{height:min(40rem,58vw)}
  .shirt-slide img{width:96%;height:96%;max-width:96%}
}

/* Discografía: carrusel infinito con portada cuadrada y vinilo desplegable. */
.music{overflow:clip}
.release-carousel{position:relative;margin:0 calc(clamp(1.25rem,5vw,5rem) * -1);padding:0 clamp(1.25rem,8vw,9rem) 4rem}
.release-viewport{overflow:hidden;padding:.75rem 0 2rem}
.release-list{display:flex;gap:clamp(3.5rem,7vw,8rem);width:max-content;border:0;will-change:transform;transition:transform .72s cubic-bezier(.19,0,.25,1)}
.release-card{display:block;flex:0 0 clamp(19rem,36vw,34rem);min-width:0;color:var(--paper);text-decoration:none}
.vinyl-stage{position:relative;display:block;width:100%;aspect-ratio:1.16 / 1;isolation:isolate}
.release-cover,.vinyl-record{position:absolute;top:50%;left:0;width:86%;aspect-ratio:1;transform:translateY(-50%);transition:transform .65s cubic-bezier(.19,0,.39,1),filter .45s ease,box-shadow .45s ease}
.release-cover{z-index:2;display:block;overflow:hidden;border:1px solid rgba(239,233,223,.13);box-shadow:0 .25rem .5rem rgba(0,0,0,.24),0 1rem 2rem rgba(0,0,0,.18)}
.release-cover:after{content:'';position:absolute;inset:0;background:radial-gradient(100% 96% at 0 0,rgba(255,255,255,.13),transparent 62%);pointer-events:none}
.release-cover img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.vinyl-record{z-index:1;border-radius:50%;background:repeating-radial-gradient(circle at center,#111 0 2px,#252525 3px 4px,#111 5px 7px);box-shadow:0 .2rem .4rem rgba(0,0,0,.3);transform:translateY(-50%) rotate(-105deg)}
.vinyl-record:before{content:'';position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 15deg,transparent 0 11%,rgba(255,255,255,.11) 14%,transparent 18% 42%,rgba(255,255,255,.08) 46%,transparent 51% 100%);mix-blend-mode:screen}
.vinyl-record:after{content:'';position:absolute;left:50%;top:50%;width:3%;aspect-ratio:1;border-radius:50%;background:#0b0b0b;box-shadow:0 0 0 2px rgba(239,233,223,.16);transform:translate(-50%,-50%)}
.vinyl-label{position:absolute;left:50%;top:50%;width:34%;aspect-ratio:1;border-radius:50%;background-position:center;background-size:cover;box-shadow:inset 0 0 0 1px rgba(239,233,223,.22);transform:translate(-50%,-50%)}
.release-card:hover .vinyl-record,.release-card:focus-visible .vinyl-record{transform:translate(42%,-50%) rotate(15deg);filter:drop-shadow(0 1rem 1rem rgba(0,0,0,.34))}
.release-card:hover .release-cover,.release-card:focus-visible .release-cover{transform:translate(-3%,-50%) scale(1.025);box-shadow:0 .5rem 1rem rgba(0,0,0,.3),0 1.5rem 3rem rgba(0,0,0,.24)}
.release-card:focus-visible{outline:2px solid var(--orange);outline-offset:.75rem}
.release-card-meta{display:flex;width:86%;align-items:flex-end;gap:clamp(.7rem,1.4vw,1.3rem);padding-top:1.2rem;text-transform:uppercase}
.release-card-meta strong{min-width:0;font:600 clamp(2rem,3.7vw,4rem)/.84 var(--display);letter-spacing:-.04em}
.release-card-meta .release-info{margin-left:auto;padding-bottom:.18rem;color:var(--muted);font:500 .62rem var(--mono);white-space:nowrap}
.release-card-meta>b{padding-bottom:.05rem;color:var(--orange);font:400 1.2rem var(--body)}
.release-controls{display:flex;justify-content:flex-end;gap:.65rem;padding-top:.5rem}
.release-control{display:grid;place-items:center;width:2.8rem;height:2.8rem;border:1px solid rgba(239,233,223,.45);border-radius:50%;background:transparent;color:var(--paper);font:400 1.15rem var(--body);cursor:pointer;transition:background .25s,color .25s,border-color .25s,transform .25s}
.release-control:hover,.release-control:focus-visible{border-color:var(--orange);background:var(--orange);color:var(--ink);transform:scale(1.06)}
@media(max-width:780px){
  .release-carousel{margin:0 -1.25rem;padding:0 1.25rem 3rem}
  .release-list{gap:2.4rem}
  .release-card{flex-basis:min(86vw,27rem)}
  .vinyl-stage{max-width:28rem;aspect-ratio:1.12 / 1}
  .release-cover,.vinyl-record{width:82%}
  .vinyl-record{transform:translate(22%,-50%) rotate(-30deg)}
  .release-card-meta{width:82%;align-items:flex-end;flex-wrap:wrap;gap:.35rem .7rem}
  .release-card-meta strong{font-size:clamp(2.1rem,10vw,3.35rem)}
  .release-card-meta .release-info{font-size:.56rem}
  .release-controls{padding-right:.2rem}
}
@media(prefers-reduced-motion:reduce){.release-cover,.vinyl-record,.release-list{transition:none}}

/* Conciertos: titular alineado al margen y con altura suficiente para las tildes. */
.shows-top{justify-content:flex-start;padding-left:2vw}
.shows-top h2{line-height:.9;overflow:visible}
@media(max-width:780px){.shows-top{padding-left:0}.shows-top h2{line-height:.9}}

/* La agenda puede crecer sin límite: cada fecha añade una fila, nunca altera la retícula. */
.shows{overflow:clip}
.show-list{min-width:0}
.show-row>*{min-width:0}
.show-date{white-space:nowrap}
.show-venue strong,.show-venue span{overflow-wrap:anywhere}

/* Alinea los dos grandes titulares editoriales de la página. */
.music-top{padding-left:2vw}
@media(max-width:780px){.music-top{padding-left:0}}

.form-honey{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Aviso de compra presencial de merch. */
.merch-availability{font-family:var(--mono);appearance:none}
.merch-dialog{width:min(34rem,calc(100% - 2rem));border:1px solid rgba(239,233,223,.5);padding:0;background:var(--paper);color:var(--ink);box-shadow:0 1.5rem 5rem rgba(0,0,0,.42)}
.merch-dialog::backdrop{background:rgba(16,16,16,.72);backdrop-filter:blur(5px)}
.merch-dialog-inner{padding:clamp(1.5rem,5vw,3rem)}
.merch-dialog .eyebrow{color:#79736c}
.merch-dialog h2{margin:1rem 0 1rem;font-size:clamp(2rem,5vw,3.7rem);line-height:.88}
.merch-dialog p:not(.eyebrow){margin:0 0 1.75rem;font:500 1rem/1.45 var(--body)}
.merch-dialog-close{display:block;background:var(--ink);border-color:var(--ink);color:var(--paper)}
.merch-dialog-close:hover{background:transparent;color:var(--ink)}
