:root{--ink:#111110;--paper:#f3f2ee;--red:#e73736;--line:#d4d3ce}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%}figure,p,h1,h2,h3{margin:0}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:7px}.skip{position:fixed;left:20px;top:-80px;z-index:100;background:white;padding:15px}.skip:focus{top:10px}header{height:96px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:#080808;color:#fff;border-bottom:1px solid #333;position:relative;z-index:10}.brand{width:215px;height:81px;overflow:hidden;position:relative}.brand img{width:267px;max-width:none;position:absolute;left:-26px;top:-10px}nav{display:flex;align-items:center;gap:36px;font-size:13px}nav a:hover{color:#ff6461}.nav-contact{border:1px solid #555;padding:14px 20px}.nav-contact span{margin-left:24px}.menu-button{display:none}.hero{background:#111;color:#fff}.hero-heading{padding:54px 7% 40px;max-width:1600px;margin:auto}.eyebrow{font-size:11px;letter-spacing:1.7px;font-weight:600;line-height:1.6}.red-dot{display:inline-block;width:7px;height:7px;background:var(--red);border-radius:50%;margin-right:10px}h1{font-size:clamp(66px,8.8vw,130px);font-weight:600;line-height:.98;letter-spacing:-.065em;margin-top:32px}h1 span{color:var(--red)}.hero-bottom{display:flex;justify-content:space-between;align-items:end;margin-top:30px}.hero-bottom p{font-size:16px;line-height:1.6;color:#b6b6b3}.round-link{display:flex;gap:28px;align-items:center;font-size:12px}.round-link b{border:1px solid #666;border-radius:50%;width:48px;height:48px;display:grid;place-items:center;font-size:22px;font-weight:400;transition:.2s}.round-link:hover b{background:var(--red);border-color:var(--red);transform:translateY(3px)}.hero-photo{padding:0 3% 25px;max-width:1680px;margin:auto}.hero-photo img{max-height:690px;object-fit:contain;background:#080808}.hero-photo figcaption{display:flex;justify-content:space-between;color:#999;font-size:10px;letter-spacing:1px;margin-top:14px}.section{padding:100px 7%;max-width:1600px;margin:auto}.section-top{display:grid;grid-template-columns:1fr 2fr;gap:45px;margin-bottom:60px}.section-top>.eyebrow{padding-top:10px}h2{font-size:clamp(36px,4.4vw,66px);line-height:1.06;letter-spacing:-.045em;font-weight:500}.section-top p:not(.eyebrow){max-width:440px;font-size:16px;line-height:1.65;color:#666;margin-top:25px}.service{border-top:1px solid var(--line);scroll-margin-top:30px}.service:last-child{border-bottom:1px solid var(--line)}summary{display:flex;align-items:center;gap:30px;cursor:pointer;padding:27px 0;list-style:none}summary::-webkit-details-marker{display:none}.number{font-size:12px;color:#777;align-self:start;margin-top:7px}.service-name{font-size:clamp(23px,2.5vw,36px);letter-spacing:-1px;flex:1}.service-name small{display:block;font-size:12px;color:#777;letter-spacing:0;margin-top:8px}.toggle{width:38px;height:38px;border:1px solid #ccc;border-radius:50%;position:relative}.toggle:before,.toggle:after{content:'';position:absolute;background:#111;left:12px;right:12px;height:1px;top:18px}.toggle:after{transform:rotate(90deg)}details[open] .toggle{background:var(--red);border-color:var(--red)}details[open] .toggle:before{background:#fff}details[open] .toggle:after{display:none}.service-content{display:grid;grid-template-columns:1fr 1fr;gap:7%;padding:10px 0 45px 45px}.service-content figure{background:#e5e3de;align-self:start}.service-content figure img{height:360px;object-fit:contain;background:#171717}.service-content figcaption{font-size:10px;padding:8px 10px;color:#666}.service-copy{padding:24px 0}h3{font-size:30px;line-height:1.1;letter-spacing:-1px;font-weight:500;max-width:330px}.service-copy p{font-size:15px;color:#666;line-height:1.7;margin-top:20px;max-width:440px}.service-copy ul{padding:0;margin-top:24px;list-style:none;display:flex;gap:8px;flex-wrap:wrap}.service-copy li{border:1px solid #d1d0cb;padding:8px 10px;font-size:10px;border-radius:20px}.equipment{display:flex;gap:10px;margin-top:22px}.equipment img{width:calc(50% - 5px);object-fit:contain;background:#ddd}.live{background:#171717;color:#fff;padding:70px 7%;display:grid;grid-template-columns:1fr 1.65fr;gap:5%;align-items:center}.live h2{margin-top:35px}.live-heading>p:last-child{color:#aaa;font-size:15px;line-height:1.7;margin-top:25px}.live img{height:auto}.live figcaption{font-size:10px;margin-top:10px;color:#aaa}.about,.location{display:grid;grid-template-columns:1fr 2fr;gap:45px}.about>div>p{max-width:600px;color:#666;line-height:1.8;font-size:16px;margin-top:26px}.text-link{display:inline-block;font-size:13px;border-bottom:1px solid #222;padding-bottom:10px;margin-top:35px}.text-link span{margin-left:30px}.location{border-top:1px solid var(--line);padding-top:70px}.address{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:38px}.address p{font-size:14px;line-height:1.8;color:#666}.button{display:inline-flex;background:var(--red);color:#fff;padding:19px 23px;gap:20px;font-size:12px}.button:hover{background:#b71f25}footer{background:#0c0c0c;color:#aaa;padding:40px 7%;display:flex;justify-content:space-between;align-items:center;gap:30px;font-size:12px}footer>a:first-child{font-size:23px;color:white;font-weight:900;letter-spacing:-1px}footer strong{color:var(--red)}footer small{display:block;font-size:7px;letter-spacing:1px;margin-top:5px}footer p{font-size:11px}.top{font-size:11px}@media(min-width:1500px){.live{padding-left:max(7%,calc((100vw - 1376px)/2));padding-right:max(7%,calc((100vw - 1376px)/2))}}@media(max-width:760px){header{height:80px;padding:0 6%}.brand{transform:scale(.79);transform-origin:left center;width:180px}.menu-button{display:flex;background:none;color:#fff;border:0;padding:15px 0;gap:18px;font-size:13px}nav{display:none;position:absolute;top:80px;left:0;right:0;padding:25px 6%;background:#111;gap:24px;flex-direction:column;align-items:stretch;border-bottom:1px solid #444}nav.visible{display:flex}.hero-heading{padding:42px 6% 30px}.eyebrow{font-size:9px;letter-spacing:1.2px}h1{font-size:clamp(57px,12.5vw,92px);margin-top:30px}.hero-bottom{display:block;margin-top:26px}.hero-bottom p{font-size:14px}.round-link{margin-top:25px;justify-content:space-between}.round-link b{width:38px;height:38px}.hero-photo{padding:0 4% 20px}.hero-photo figcaption{font-size:8px;letter-spacing:0}.section{padding:62px 6%}.section-top,.about,.location{grid-template-columns:1fr;gap:24px}.section-top{margin-bottom:38px}h2{font-size:39px}.section-top p:not(.eyebrow){font-size:14px;margin-top:19px}summary{gap:16px;padding:24px 0}.service-name{font-size:25px;letter-spacing:-.8px}.service-name small{font-size:11px}.toggle{width:32px;height:32px;flex-shrink:0}.toggle:before,.toggle:after{left:9px;right:9px;top:15px}.service-content{grid-template-columns:1fr;padding:0 0 22px;gap:0}.service-content figure img{height:290px}.service-copy{padding:24px 0 5px}.service-copy p{font-size:14px}.equipment img{max-height:150px}.live{display:flex;flex-direction:column;padding:55px 6%;align-items:stretch;gap:35px}.live h2{margin-top:22px}.live-heading>p:last-child{font-size:14px;margin-top:20px}.about>div>p{font-size:14px}.address{align-items:start;flex-direction:column;margin-top:25px}footer{padding:32px 6%;flex-wrap:wrap}footer p{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Rock Staff — black stage direction */
@font-face{font-family:RockDisplay;src:url('assets/display.woff') format('woff');font-weight:800;font-display:swap}
:root{--ink:#f5f5f5;--paper:#000;--line:#303030}body,header,.hero,.live,footer{background:#000}header{height:110px}.brand{width:250px;height:98px;overflow:visible;flex-shrink:0}.brand img{position:static;width:100%;height:100%;object-fit:contain;max-width:100%}
.menu-button{display:flex;align-items:center;gap:20px;background:#000;border:1px solid #555;color:white;padding:14px 20px;cursor:pointer;font-size:13px;text-transform:uppercase;letter-spacing:1px}nav{display:none;position:absolute;right:5%;top:100%;width:min(540px,90%);padding:22px 30px;background:#000;border:1px solid #333;flex-direction:column;align-items:stretch;gap:0}nav.visible{display:flex}nav a{padding:18px 0;border-bottom:1px solid #333;font-size:16px;line-height:1.4}nav a:last-child{border:0}
.hero{position:relative;isolation:isolate;overflow:hidden;min-height:690px;display:flex;align-items:center}.hero-array{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(90deg,#000 20%,rgba(0,0,0,.88) 40%,rgba(0,0,0,.14) 76%,#000 100%),linear-gradient(0deg,#000,transparent 24%,transparent 80%,#000),url('assets/sonido.jpg');background-size:cover,cover,auto 115%;background-repeat:no-repeat;background-position:center,center,90% center}.hero-heading{width:100%;padding:80px 7% 100px}.hero h1,h2,h3,.service-name{font-family:RockDisplay,'Arial Narrow',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:-.025em}.hero h1{font-size:clamp(76px,10.5vw,152px);line-height:.9;margin:38px 0}.hero-bottom{max-width:760px;gap:36px;align-items:center}.hero-bottom p{max-width:250px;color:#c6c6c6}.hero .eyebrow{color:#ccc}.section-top p:not(.eyebrow),.service-copy p,.about>div>p,.address p{color:#b5b5b5}h2{font-size:clamp(40px,5vw,74px)}.section-top{grid-template-columns:1fr 2fr}.service-list{display:flex;flex-direction:column;gap:20px}.service,.service:last-child{border:1px solid #333;background:#000}.service summary{position:relative;isolation:isolate;min-height:240px;padding:40px;overflow:hidden}.service summary:before{content:'';position:absolute;inset:0;z-index:-2;background-image:var(--service-image);background-size:cover;background-position:center 45%;transition:transform .45s}.service summary:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.72) 50%,rgba(0,0,0,.3))}.service summary:hover:before{transform:scale(1.035)}.service-name{font-size:clamp(30px,3.5vw,50px);max-width:700px;line-height:1.06;flex:1}.service-name small{font-family:Arial,sans-serif;font-weight:400;text-transform:none;color:#ccc;margin-top:14px;font-size:13px;letter-spacing:.1px}.number{color:#ff5c59;font-weight:bold;margin-top:8px}.toggle{margin-left:auto;flex-shrink:0;border-color:#888}.toggle:before,.toggle:after{background:white}.service-content{padding:36px;gap:5%;border-top:1px solid #333}.service-content figure,.service-content figure img,.equipment img{background:#000}.service-content figcaption{color:#aaa}.service-copy li{border-color:#444;color:#ccc}.service-copy h3{font-size:35px;max-width:440px}.live{border-block:1px solid #292929}.text-link{border-color:#777}.skip{background:#000;color:white}.about,.location{background:#000}
@media(max-width:760px){header{height:100px}.brand{transform:none;width:205px;height:85px}.menu-button{font-size:11px;padding:12px;gap:10px}nav{top:100px;left:5%;right:5%;width:90%;padding:15px 22px}.hero{min-height:650px}.hero-heading{padding:65px 6% 80px}.hero-array{background-position:center,center,100% center;background-size:cover,cover,auto 100%;opacity:.8;background-image:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.65) 55%,rgba(0,0,0,.35)),linear-gradient(0deg,#000,transparent 30%,#000 100%),url('assets/sonido.jpg')}.hero h1{font-size:clamp(66px,15.5vw,108px);line-height:.95}.hero-bottom p{max-width:240px}.section-top{grid-template-columns:1fr}.service summary{min-height:230px;padding:28px 20px;gap:12px}.service-name{font-size:clamp(28px,6.7vw,38px)}.number{font-size:10px}.service-content{padding:20px}.service-content figure img{height:260px}.service-copy h3{font-size:30px}h2{font-size:43px}.section{padding-block:65px}}
@media(min-width:761px){.hero-array{left:45%;background-image:linear-gradient(0deg,#000,transparent 28%,rgba(0,0,0,.2) 75%,#000),url('assets/sonido.jpg');background-size:cover,cover;background-position:center,center 48%;mask-image:linear-gradient(90deg,transparent,#000 42%,#000 85%,transparent)}}
@media(max-width:380px){.brand{width:175px}.hero h1{font-size:14.5vw}}

/* Distressed rock lettering and illuminated line array. */
@font-face{font-family:RockDirt;src:url('assets/rock-dirt.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
.hero h1{font-family:RockDirt,RockDisplay,sans-serif;font-weight:400;font-style:normal;font-size:clamp(64px,8.3vw,122px);line-height:1.06;letter-spacing:-.035em;text-shadow:0 3px 15px rgba(0,0,0,.45)}
.hero-array{filter:brightness(1.65) contrast(.94);opacity:1}
@media(min-width:761px){.hero-array{background-image:linear-gradient(0deg,#000,transparent 10%,transparent 94%,#000),url('assets/sonido.jpg');mask-image:linear-gradient(90deg,transparent,#000 12%,#000 96%,transparent)}}
@media(max-width:760px){.hero h1{font-size:clamp(38px,10vw,76px);line-height:1.12;letter-spacing:-.035em}.hero-array{background-image:linear-gradient(90deg,rgba(0,0,0,.5),rgba(0,0,0,.12) 55%,transparent),linear-gradient(0deg,#000,transparent 12%,transparent 94%,#000),url('assets/sonido.jpg')}}
#servicio-01 summary:after{background:linear-gradient(90deg,rgba(0,0,0,.74),rgba(0,0,0,.4) 50%,rgba(0,0,0,.08))}
#servicio-01 summary:before{filter:brightness(1.35)}

.hero .round-link{background:rgba(0,0,0,.82);padding:10px 14px 10px 20px;border-radius:40px;color:#fff}

/* Stronger headline, positioned at the top of the stage image. */
.hero{align-items:flex-start}
.hero-heading{padding-top:32px;margin:0 auto}
.hero h1{font-weight:400;-webkit-text-stroke:.5px currentColor;paint-order:stroke fill;margin-top:0;text-shadow:none;color:#e5e3df}
@media(max-width:760px){.hero-heading{padding-top:28px}.hero h1{-webkit-text-stroke:.35px currentColor}}

.hero h1 span{color:#ce3030}

/* Corporate headline, lowered within the hero. */
.hero-heading{padding-top:150px}
.hero h1{font-family:Arial,Helvetica,sans-serif;font-weight:600;text-transform:none;font-size:clamp(60px,7.6vw,110px);line-height:1.06;letter-spacing:-.045em;-webkit-text-stroke:0;text-shadow:none}
@media(max-width:760px){.hero-heading{padding-top:110px}.hero h1{font-size:clamp(38px,10vw,76px);-webkit-text-stroke:0}}

/* High-contrast hero headline. */
.hero-heading{padding-top:138px;padding-bottom:138px;position:relative}
.hero h1{font-family:Arial,Helvetica,sans-serif;font-size:clamp(72px,9.5vw,144px);font-weight:800;line-height:.98;letter-spacing:-.055em;text-transform:uppercase;color:#fff;margin:0;text-shadow:none;-webkit-text-stroke:0}
.hero h1 span{color:#fff;display:inline-block}
.hero-heading:before{content:"";display:block;width:clamp(160px,20vw,300px);max-width:100%;height:6px;background:#e73736;margin-bottom:26px;flex-shrink:0}
.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.48),rgba(0,0,0,.27) 65%,transparent)}
@media(max-width:760px){.hero{min-height:560px}.hero-heading{padding:120px 6% 110px}.hero h1{font-size:clamp(40px,10.5vw,80px);line-height:1.04;letter-spacing:-.05em}.hero-heading:before{width:clamp(140px,42vw,260px);height:5px;margin-bottom:24px}.hero:after{background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.42))}}

/* Red rule follows the exact width of the first headline line. */
.hero-heading:before{display:none}
.hero h1 .hero-event:before{content:"";display:block;width:100%;height:6px;background:#e73736;margin-bottom:26px}
@media(max-width:760px){.hero h1 .hero-event:before{height:5px;margin-bottom:24px}}

/* Experience and real event setup photograph. */
.services .section-top{align-items:center}
.services-photo .eyebrow{margin-bottom:22px}
.services-photo figure{max-width:320px;border-bottom:3px solid var(--red)}
.services-photo img{width:100%;height:auto}
.services .section-top>div>p:not(.eyebrow){max-width:540px}
@media(max-width:760px){.services .section-top>div:last-child{grid-row:1}.services-photo figure{max-width:320px;margin-inline:auto}}

/* Company experience and warehouse image. */
.services .section-top{grid-template-columns:1fr 1.15fr;gap:48px}.services-photo figure{max-width:none}.company-intro{font-family:Arial,Helvetica,sans-serif;font-size:clamp(25px,2.65vw,39px);font-weight:600;line-height:1.3;letter-spacing:-.025em;text-transform:none}.company-intro span{color:#e73736}@media(max-width:760px){.services .section-top{grid-template-columns:1fr;gap:28px}.company-intro{font-size:27px}.services-photo figure{max-width:none}}

/* Compact company description beside the branded warehouse. */
.services .section-top .company-intro{font-size:clamp(18px,1.65vw,24px);font-weight:400;line-height:1.65;letter-spacing:0;margin-top:0;max-width:540px;color:#d0d0d0}.company-intro span{font-weight:600}

.services .section-top .company-title{font-family:Arial,Helvetica,sans-serif;font-size:clamp(30px,3.4vw,48px);font-weight:600;line-height:1.15;letter-spacing:-.025em;text-transform:none;margin:0 0 18px;text-align:left}
.services .section-top .company-intro{width:100%;max-width:none;text-align:justify;text-align-last:left;text-justify:inter-word;text-wrap:wrap;hyphens:auto;-webkit-hyphens:auto}

/* Uniform photographic collage after the company introduction. */
.company-collage{width:100%;margin:0 0 60px;background:#000}.company-collage img{display:block;width:100%;height:auto;border:1px solid #242424}.services .section-top{margin-bottom:32px}@media(max-width:760px){.company-collage{margin-bottom:38px}}

/* The night concerts continue the collage with matching black gutters. */
.company-collage{margin-bottom:60px}
.company-collage>img{border:0}
.company-events{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5%;padding:0 .36% .36%;background:#000}
.company-events>div{min-width:0}
.company-events img{display:block;width:100%;height:auto;border:0}
@media(max-width:760px){.company-collage{margin-bottom:38px}}

/* Match the first photograph’s red underline across the complete collage. */
.company-collage{border-bottom:3px solid var(--red)}

/* Define the sound-rental title without changing its photograph. */
#servicio-01 .service-name{color:#e8e5e0;-webkit-text-stroke:1.5px #161616;paint-order:stroke fill;text-shadow:0 2px 3px rgba(0,0,0,.95),0 4px 12px rgba(0,0,0,.7)}

/* Matching upper red edges for the company photo and complete collage. */
.services-photo figure,.company-collage{border-top:3px solid var(--red)}

/* Full cinematic artwork inside the sound-rental accordion. */
#servicio-01 .sound-poster{display:block;padding:24px 0 0;background:#000}
#servicio-01 .sound-poster figure{width:100%;max-width:960px;margin:0 auto;background:#000}
#servicio-01 .sound-poster figure img{display:block;width:100%;height:auto;object-fit:contain}
@media(max-width:760px){#servicio-01 .sound-poster{padding-top:12px}}

.sound-whatsapp{display:block;cursor:pointer}.sound-whatsapp:focus-visible{outline:3px solid #e63235;outline-offset:5px}

/* Event photograph opens the existing gallery. */
.events-trigger{display:block;position:relative;width:100%;padding:0;border:0;background:transparent;color:#fff;text-align:left;cursor:pointer;isolation:isolate;overflow:hidden}
.events-trigger img{width:100%;height:auto;min-height:260px;object-fit:cover}
.events-trigger:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.9),rgba(0,0,0,.12) 85%);z-index:1;pointer-events:none}
.events-title{position:absolute;left:7%;right:7%;bottom:90px;font-family:RockDisplay,'Arial Narrow',sans-serif;font-weight:800;text-transform:uppercase;font-size:clamp(32px,3.3vw,48px);line-height:1.05;text-shadow:0 2px 5px #000;z-index:2}
.events-hint{position:absolute;left:7%;right:7%;bottom:25px;display:flex;align-items:center;gap:20px;font-size:14px;z-index:2}
.events-trigger[aria-expanded="true"] .toggle{background:var(--red);border-color:var(--red)}
.events-trigger[aria-expanded="true"] .toggle:after{display:none}
.events-gallery[hidden]{display:none}
.events-gallery{container-type:inline-size}
.events-gallery h2{font-family:Arial,Helvetica,sans-serif;font-size:min(3.6vw,40px);font-size:min(4.2cqw,40px);white-space:nowrap;text-transform:none;line-height:1.2;letter-spacing:-.025em;margin:12px 0 25px}

/* Institution visits use the same expandable service pattern. */
.institution{border-block:3px solid var(--red)!important}
.institution summary{min-height:210px;background:linear-gradient(120deg,#171717,#060606)}
.institution summary:before,.institution summary:after{display:none}
.institution .service-name small{font-size:clamp(15px,1.5vw,19px);line-height:1.5;max-width:590px}
.institution-content{padding:36px;border-top:1px solid #333}
.institution-content>p{max-width:720px;color:#ccc;line-height:1.7;margin-bottom:28px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.form-grid label{display:flex;flex-direction:column;gap:10px;font-size:14px;color:#eee;min-width:0}
.form-grid input,.form-grid textarea{width:100%;min-width:0;background:#141414;border:1px solid #555;border-radius:3px;padding:14px;color:#fff;font:inherit;font-size:16px;color-scheme:dark}
.form-grid textarea{resize:vertical}
.form-grid input:focus-visible,.form-grid textarea:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.form-wide{grid-column:1/-1}
.form-note{color:#aaa;font-size:13px;line-height:1.65;max-width:680px;margin:24px 0 18px}
.institution-submit{border:0;cursor:pointer;font-size:14px;align-items:center}
@media(max-width:760px){.institution-content{padding:24px 18px}.form-grid{grid-template-columns:1fr}.institution summary{padding:28px 18px;gap:12px}.institution .service-name{font-size:30px}.institution-submit{width:100%;justify-content:center}}

/* Expanded photographic collage: full frames retain people and photo credits. */
.events-extension{display:grid;gap:6px;padding:6px;background:#000}
.events-row{display:flex;gap:6px;align-items:stretch}
.events-row .event-photo{display:block;flex:var(--photo-ratio) 1 0;min-width:0;overflow:hidden;background:#080808;border-top:2px solid var(--red);border-bottom:2px solid var(--red)}
.events-row .event-photo img{display:block;width:100%;height:auto;border:0;filter:brightness(1.045) contrast(1.055) saturate(1.035)}
.event-photo:focus-visible{outline:3px solid #fff;outline-offset:2px}
@media(max-width:600px){.events-row{display:grid;grid-template-columns:1fr;gap:6px}.events-extension{padding:4px;gap:6px}.events-row .event-photo{width:100%}}

/* LED poster fills the expanded service panel at its natural aspect ratio. */
#servicio-02 .sound-poster{display:block;padding:0;background:#000}
#servicio-02 .sound-poster figure{width:100%;max-width:none;margin:0;background:#000}
#servicio-02 .sound-poster figure img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}

/* Daylight LED menu photograph. */
#servicio-02 summary:before{background-position:center 54%}
#servicio-02 summary:after{background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.38) 55%,rgba(0,0,0,.12))}
#servicio-02 .service-name{text-shadow:0 2px 5px rgba(0,0,0,.9)}

/* Full-width installation photo below the LED artwork. */
#servicio-02 .sound-poster .led-installation{margin-top:18px;border-block:3px solid var(--red)}

/* Original backline photograph, without the dark veil. */
#servicio-03 summary:after{display:none}
#servicio-03 summary:before{filter:none;opacity:1}
#servicio-03 .service-name{color:#fff;-webkit-text-stroke:1.5px #111;paint-order:stroke fill;text-shadow:0 2px 4px #000,0 4px 12px #000}
#servicio-03 .service-name small{text-shadow:0 1px 3px #000,0 2px 5px #000}
#servicio-03 .toggle{background:rgba(0,0,0,.65)}
#servicio-03 .service-content{display:block;padding:0}
#servicio-03 .service-content figure{border-block:3px solid var(--red)}
#servicio-03 .service-content figure img{height:auto;width:100%;object-fit:contain}
#servicio-03 .service-copy{padding:28px 36px}
@media(max-width:760px){#servicio-03 .service-copy{padding:24px 20px}}

/* Backline description and red WhatsApp badge over the amplifier photograph. */
#servicio-03 .backline-poster figure{position:relative;isolation:isolate;margin:0;min-height:0;aspect-ratio:1 / 1;display:grid;align-items:stretch;overflow:hidden}
#servicio-03 .backline-poster figure img{position:absolute;inset:0;z-index:-2;display:block;width:100%;height:100%;object-fit:cover;object-position:8% center}
#servicio-03 .backline-poster figure:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.78),rgba(0,0,0,.20) 27%,rgba(0,0,0,0) 45%);pointer-events:none}
#servicio-03 .backline-overlay{position:static;padding:clamp(18px,4vw,54px);background:none;color:#fff;max-width:none;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;height:100%;box-sizing:border-box}
#servicio-03 .backline-overlay p{margin:0;max-width:900px;font-size:clamp(15px,2.5vw,32px);line-height:1.4;font-weight:600;text-shadow:0 2px 5px #000}
@font-face{font-family:EnquiryBold;src:url('assets/enquiry-bold.woff') format('woff');font-weight:800;font-style:normal;font-display:swap}
/* Shared red strip, matching the sound and LED poster labels. */
#servicio-03 .backline-poster figure,#servicio-04 .service-content figure{container-type:inline-size}
.backline-cta{display:flex;align-items:center;justify-content:center;align-self:center;flex-shrink:0;width:62.4cqw;max-width:none;height:6.5cqw;padding:0 2cqw;background:linear-gradient(#ff0012,#e0000c);border-radius:.65cqw;color:#fff;text-align:center;text-decoration:none;text-transform:uppercase;white-space:nowrap;font-family:EnquiryBold,'Arial Narrow',sans-serif;font-size:2.45cqw;line-height:1;font-weight:800;letter-spacing:0;box-shadow:none}
.backline-cta:hover{background:#d9000b}.backline-cta:focus-visible{outline:3px solid white;outline-offset:4px}
@media(max-width:760px){#servicio-03 .backline-poster figure{min-height:0}#servicio-03 .backline-overlay{padding:18px}}

/* Full truck photograph with a clear, unobstructed cab. */
#servicio-04 summary{aspect-ratio:3 / 2;min-height:0;align-items:flex-start}
#servicio-04 summary:before{background-size:100% 100%;background-position:center;filter:none;opacity:1}
#servicio-04 summary:after{display:none}
#servicio-04 summary:hover:before{transform:none}
#servicio-04 .service-name{color:#fff;-webkit-text-stroke:1.5px #111;paint-order:stroke fill;text-shadow:0 2px 4px #000,0 4px 12px #000}
#servicio-04 .number{text-shadow:0 1px 3px #000}
#servicio-04 .toggle{background:rgba(0,0,0,.65)}
@media(max-width:760px){#servicio-04 summary{padding:14px 12px;gap:8px}#servicio-04 .service-name{font-size:clamp(20px,5.5vw,38px)}}

/* Lower the truck title while keeping it above the cab on every screen. */
#servicio-04 .service-name{transform:translateY(clamp(20px,4vw,56px))}

/* Red enquiry badge on the truck photograph. */
#servicio-04 .service-content figure{position:relative}
#servicio-04 .truck-badge{position:static;display:flex;justify-content:center;background:none;padding:16px 0 0}


/* Keep the enquiry strip aligned and the description below it. */
#servicio-03 .backline-overlay{justify-content:flex-end}
#servicio-03 .backline-poster figure:after{background:linear-gradient(0deg,rgba(0,0,0,.32),transparent 25%)}
#servicio-03 .backline-description p{margin:0;max-width:none}
#servicio-03 .backline-download{margin-top:24px;padding-top:22px;border-top:1px solid #444}
#servicio-03 .backline-download button{display:block;width:100%;padding:16px 20px;border:1px solid #555;border-radius:0;background:#191919;color:#bbb;font:inherit;font-weight:700;text-align:left;cursor:not-allowed}
#servicio-03 .backline-download p{margin-top:8px;font-size:14px;color:#999}

#servicio-03 .backline-cta{font-size:2.1cqw}

/* Fit the complete truck enquiry inside the shared slim red label. */
#servicio-04 .backline-cta{font-size:2.1cqw}
#servicio-04 .truck-download{margin-top:24px;padding-top:22px;border-top:1px solid #444}
#servicio-04 .truck-download button{display:block;width:100%;padding:16px 20px;border:1px solid #555;border-radius:0;background:#191919;color:#bbb;font:inherit;font-weight:700;text-align:left;cursor:not-allowed;white-space:normal}
#servicio-04 .truck-download p{margin-top:8px;font-size:14px;color:#999}

/* Floating header with the compact Menu and hamburger control. */
html{scroll-padding-top:130px}
header{position:sticky;top:0;z-index:50;gap:16px}
header .brand{flex-shrink:0}
header .menu-button{display:flex;align-items:center;gap:12px;margin-left:auto;padding:12px 0 12px 12px;border:0;background:transparent;color:#fff;font-size:16px;font-weight:700;cursor:pointer}
.menu-bars{display:flex;flex-direction:column;gap:5px;width:23px}
.menu-bars i{display:block;width:23px;height:2px;background:currentColor}
header nav{display:none;position:absolute;top:100%;left:auto;right:5%;width:min(540px,90%);max-height:calc(100dvh - 130px);overflow-y:auto;overscroll-behavior:contain;flex-direction:column;align-items:stretch;gap:0;padding:8px 0;background:#111;border:1px solid #444;box-shadow:0 16px 30px #0009}
header nav.visible{display:flex}
header nav a{padding:13px 20px;font-size:14px;font-weight:700;line-height:1.4;border-left:3px solid transparent}
header nav a:hover{background:#251313;color:#fff;border-left-color:var(--red)}
header nav a:focus-visible{outline-offset:-4px}
@media(max-width:760px){header{flex-wrap:nowrap}header .brand{width:min(205px,58vw)}header nav{right:6%;width:88%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Municipal office photograph for the institution enquiry. */
.institution summary{min-height:240px;align-items:center;background:#171717}
.institution summary:before{display:block;background-image:url('assets/despacho-ayuntamiento.png');background-position:center 42%;background-size:cover}
.institution summary:after{display:block;background:linear-gradient(0deg,rgba(0,0,0,.94),rgba(0,0,0,.65) 25%,rgba(0,0,0,.04) 68%)}
.institution summary .number{align-self:start;margin-bottom:0}
.institution summary .toggle{align-self:center;margin-bottom:0}
.institution .service-name{max-width:780px;text-shadow:0 2px 6px #000}
@media(max-width:760px){.institution summary{min-height:230px}.institution summary:before{background-position:54% center}.institution .service-name small{font-size:15px}}

/* Final brand and contact footer. */
footer.closing{display:block;padding:54px 7% 24px;border-top:0;background:#080808;color:#fff}
.closing-inner{display:grid;grid-template-columns:1.25fr 1fr;gap:6%;align-items:center;max-width:1376px;margin:auto}
.closing-image{overflow:hidden}.closing-image img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.closing-contact{display:flex;flex-direction:column;align-items:flex-start;gap:22px}
.closing-logo{display:block;width:160px;max-width:100%}.closing-logo img{width:100%;height:auto}
.closing-contact address{font-style:normal;font-size:15px;line-height:1.7;color:#d4d4d4}
.closing-phone{font-family:Arial,sans-serif;font-size:18px;font-weight:600;color:#fff;line-height:1.5}.closing-phone:hover{color:#ff3434}
.closing-bottom{display:flex;justify-content:space-between;gap:20px;max-width:1376px;margin:36px auto 0;padding-top:22px;border-top:0;color:#aaa;font-size:11px;line-height:1.5}
@media(max-width:760px){footer.closing{padding:32px 6% 22px}.closing-inner{grid-template-columns:1fr;gap:30px}.closing-contact{gap:20px}.closing-logo{width:145px}.closing-bottom{font-size:10px;gap:16px;margin-top:28px}}

/* Preserve the selected aerial framing in full. */
.closing-image img{aspect-ratio:auto;height:auto}

/* Institutional contact details. */
footer.closing .closing-statement{display:block;font-family:Arial,sans-serif;font-size:15px;line-height:1.7;color:#aaa;max-width:360px;margin:0}
.closing-details{display:flex;flex-direction:column;gap:8px;max-width:100%}
.closing-email{font-size:14px;line-height:1.6;color:#d4d4d4;overflow-wrap:anywhere}
.closing-email:hover{color:#fff;text-decoration:underline}

/* Large festival closing section, immediately before the warehouse. */
.event-finale{background:#080808;color:#fff;padding:52px 0 0}
.event-finale-heading{max-width:1600px;margin:0 auto;padding:0 7% 38px}
.event-finale-heading p{color:var(--red);font-size:clamp(22px,3vw,40px);font-weight:800;margin:0 0 12px;line-height:1.15}
.event-finale-heading h2{color:var(--red);font-size:clamp(36px,6.2vw,88px);line-height:1.05;letter-spacing:-.035em;margin:0;max-width:100%}
.event-finale figure{margin:0;border:0}
.event-finale figure img{display:block;width:100%;height:auto}
@media(max-width:760px){.event-finale{padding-top:32px}.event-finale-heading{padding:0 6% 26px}.event-finale-heading h2{color:var(--red);font-size:clamp(34px,8.5vw,60px)}}

/* Blend the two featured event photographs into their surrounding sections. */
.events-trigger img,.events-trigger:after,.event-finale figure img{
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent),linear-gradient(180deg,transparent,#000 9%,#000 88%,transparent);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent),linear-gradient(180deg,transparent,#000 9%,#000 88%,transparent);
  mask-composite:intersect;
}
