/* ===== OLIMPUS V4 — header + hero eléctrico ===== */
:root{--volt:#ffd21f;--volt-2:#ffb800;--pink:#e8185e;--hero-ink:#fff;--heavy:'Montserrat','Arial Black',Arial,sans-serif}

/* ---------- Header ---------- */
.site-header{background:#050505f2;border-bottom:1px solid #ffd21f33}
.header-inner{height:86px;gap:28px}.site-header .header-inner.wrap{width:calc(100% - 2*clamp(20px,5.6vw,110px));max-width:none}
.brand{flex:0 0 auto;display:flex;align-items:center;gap:0;line-height:1;color:#fff}
.brand-mark{display:flex;align-items:center}
.brand-mark .bm-bolt{width:22px;height:40px;fill:var(--volt);filter:drop-shadow(0 0 6px #ffd21f88)}
.brand-mark .bm-o{font:900 50px/.8 'Playfair Display',Georgia,serif;color:#fff;margin:0 -1px}
.brand-words{display:flex;flex-direction:column;align-items:center;margin-left:8px}
.brand-words b{font:700 38px/.9 'Cinzel',Georgia,serif;letter-spacing:.5px;color:#fff}
.brand-words small{font:700 9.5px/1 var(--heavy);letter-spacing:4.2px;color:var(--volt);margin-top:5px;text-transform:uppercase}
.nav-desktop{gap:clamp(18px,2.6vw,46px);margin:0 auto}
.nav-desktop a{font:600 16px/1 var(--body);color:#fff;position:relative;padding:8px 0}
.nav-desktop a[aria-current]{color:var(--volt)}
.nav-desktop a[aria-current]:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:3px;border-radius:2px;background:var(--volt)}
.header-cta{display:inline-flex;align-items:center;gap:10px;font:700 15px/1 var(--body);text-transform:none;padding:15px 26px;border-radius:999px;background:var(--volt);color:#0a0a0a;box-shadow:0 0 0 0 #ffd21f00;transition:box-shadow .2s,transform .2s}
.header-cta:hover{box-shadow:0 0 22px #ffd21f88;transform:translateY(-1px)}
.header-cta svg,.hx-btn svg{width:22px;height:22px;flex:none}

/* ---------- Hero ---------- */
.hx{position:relative;overflow:hidden;background:#030303;min-height:clamp(600px,calc(100svh - 86px - 64px),720px);isolation:isolate;border-block:2px solid #ffd21f55}
.hx:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
 background:radial-gradient(ellipse 34% 55% at 47% 42%,#ffb80055,transparent 70%),radial-gradient(ellipse 30% 50% at 18% 35%,#ffd21f22,transparent 70%),radial-gradient(ellipse 50% 70% at 30% 60%,#3a2a0040,transparent 75%)}
.hx-electric{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;mix-blend-mode:screen}

/* right photo panel */
.hx-right{position:absolute;top:0;bottom:0;right:0;width:40%;z-index:2;overflow:hidden}
.hx-right img{width:100%;height:100%;object-fit:cover;object-position:50% 18%;filter:grayscale(1) contrast(1.15) brightness(.78)}
.hx-right:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#030303 0%,#030303cc 14%,transparent 42%),linear-gradient(0deg,#030303 0%,transparent 30%)}
.hx-right:after{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(ellipse at 70% 30%,transparent 30%,#0008 100%)}
.hx-values{position:absolute;right:clamp(22px,2.6vw,46px);bottom:clamp(60px,9vh,96px);z-index:4;list-style:none;margin:0;padding:0;text-align:right}
.hx-values li{font:700 clamp(12px,1vw,17px)/1.7 var(--heavy);letter-spacing:.2em;color:#fff;text-shadow:0 2px 10px #000}
.hx-values:after{content:"";display:block;width:62%;height:3px;margin:10px 0 0 auto;background:var(--volt);transform:skewX(-20deg);box-shadow:0 0 12px var(--volt)}

/* center: bolt + O + Ulises */
.hx-center{position:absolute;z-index:3;left:43%;width:28%;top:0;bottom:0;pointer-events:none}
.hx-bigbolt{position:absolute;left:-22%;top:6%;width:46%;height:72%;filter:drop-shadow(0 0 18px #ffd21f) drop-shadow(0 0 50px #ffb800aa);animation:hxPulse 3.4s ease-in-out infinite}
.hx-o{position:absolute;right:-26%;top:2%;font:900 clamp(280px,30vw,500px)/1 'Playfair Display',Georgia,serif;
 background:linear-gradient(115deg,#5a5a5a 0%,#f4f4f4 18%,#9a9a9a 32%,#e9e9e9 48%,#6d6d6d 62%,#dcdcdc 78%,#7a7a7a 100%);-webkit-background-clip:text;background-clip:text;color:transparent;
 filter:drop-shadow(0 0 28px #ffd21f55) drop-shadow(0 6px 18px #000);opacity:.92}
.hx-person{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:min(31vw,560px);height:auto;max-height:97%;object-fit:contain;object-position:bottom;filter:drop-shadow(0 0 22px #ffd21f40) contrast(1.06) saturate(1.05)}
.hx-person-fade{position:absolute;left:-20%;right:-20%;bottom:0;height:16%;background:linear-gradient(0deg,#030303,transparent)}
.hx-sign{position:absolute;z-index:5;left:67.5%;bottom:clamp(34px,6vh,64px);pointer-events:none}
.hx-sign span{display:block;font:400 clamp(40px,3.5vw,60px)/.8 'Mr Dafoe',cursive;color:#fff;transform:rotate(-10deg);text-shadow:0 3px 14px #000}
.hx-sign small{display:block;margin-top:28px;font:700 clamp(10px,.85vw,13px)/1.45 var(--heavy);letter-spacing:.32em;color:#fff;text-transform:uppercase}

/* copy */
.hx-copy{position:relative;z-index:6;padding:clamp(34px,5vh,64px) 0 clamp(40px,6vh,70px);max-width:none}
.hx .hx-copy{width:calc(100% - 2*clamp(20px,5.6vw,110px));max-width:none}.hx-copy-inner{max-width:min(41vw,640px)}
.hx h1{margin:0;font:900 italic clamp(52px,5.7vw,100px)/.9 var(--heavy);letter-spacing:-.02em;text-transform:uppercase;color:#fff;text-shadow:0 4px 0 #0007,0 0 40px #0009}
.hx h1 .y{display:block;color:var(--volt);text-shadow:0 0 26px #ffb80066,0 4px 0 #0008}
.hx-kicker{margin:clamp(12px,1.6vh,20px) 0 0;font:800 italic clamp(20px,2.1vw,36px)/1.08 var(--heavy);color:#fff;text-transform:uppercase;letter-spacing:-.005em}
.hx-sub{text-shadow:0 0 6px #000,0 0 14px #000,0 1px 2px #000;margin:clamp(12px,1.6vh,18px) 0 0;font:500 clamp(15px,1.25vw,20px)/1.35 var(--body);color:#eee;max-width:560px}
.hx-tag{position:relative;display:inline-block;margin:clamp(18px,2.6vh,30px) 0 0 -6px;padding:16px 40px 22px 34px;transform:rotate(-5deg);transform-origin:left center}
.hx-tag svg.brush{position:absolute;inset:0;width:100%;height:100%;z-index:-1;overflow:visible;filter:drop-shadow(0 6px 14px #e8185e55)}
.hx-tag b{display:block;font:400 clamp(26px,2.5vw,42px)/1 'Kaushan Script',cursive;color:#fff}
.hx-tag i{display:block;margin:6px 0 0 30px;font:400 clamp(17px,1.6vw,27px)/1 'Kaushan Script',cursive;font-style:normal;color:#fff;position:relative}
.hx-tag i:after{content:"";position:absolute;left:-6px;right:-14px;bottom:-9px;height:5px;border-radius:5px;background:var(--volt);transform:rotate(-1.5deg);box-shadow:0 0 8px #ffd21faa}
.hx-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:clamp(20px,3vh,34px)}
.hx-btn{display:inline-flex;align-items:center;gap:12px;min-height:58px;padding:0 26px;border-radius:12px;font:700 clamp(15px,1.15vw,18px)/1 var(--body);transition:transform .18s,box-shadow .18s,background .18s}
.hx-btn-solid{background:var(--volt);color:#0b0b0b;box-shadow:0 8px 24px #ffb80033}
.hx-btn-solid:hover{transform:translateY(-2px);box-shadow:0 0 26px #ffd21faa}
.hx-btn-line{border:2px solid var(--volt);color:#fff;background:#0009}
.hx-btn-line:hover{background:#ffd21f1a;transform:translateY(-2px)}
.hx-btn .arr{font-size:20px;margin-left:4px}

/* info bar */
.hx-bar{background:#050505;border-bottom:1px solid #ffd21f44}
.hx-bar ul{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(4,auto);justify-content:space-between;align-items:center;min-height:64px}
.hx-bar ul.wrap{width:calc(100% - 2*clamp(20px,5.6vw,110px));max-width:none}.hx-bar li{white-space:nowrap;display:flex;align-items:center;gap:14px;font:600 clamp(13px,1.1vw,17px)/1.2 var(--body);color:#fff;padding:12px 0}
.hx-bar li+li{border-left:1px solid #ffd21f66;padding-left:clamp(20px,3vw,56px)}
.hx-bar svg{width:30px;height:30px;flex:none;fill:var(--volt)}

@keyframes hxPulse{0%,100%{opacity:1}46%{opacity:.86}50%{opacity:1}53%{opacity:.7}56%{opacity:1}}
@media (prefers-reduced-motion:reduce){.hx-bigbolt{animation:none}}

/* ---------- responsive ---------- */
@media(max-width:1250px){.brand-words b{font-size:32px}.brand-mark .bm-o{font-size:42px}.brand-mark .bm-bolt{height:34px;width:19px}.nav-desktop a{font-size:14px}.header-cta{padding:13px 18px;font-size:14px}}
@media(max-width:1070px){
 .hx{min-height:auto}
 .header-cta{display:none}
 .hx-copy-inner{max-width:52%}
 .hx h1{font-size:clamp(46px,6.4vw,66px)}
 .hx-center{left:54%;width:40%}
 .hx-person{width:min(40vw,420px)}
 .hx-bigbolt{left:-26%}
 .hx-right{width:46%}
 .hx-values,.hx-sign{display:none}
 .hx-bar ul{grid-template-columns:repeat(2,1fr);gap:0 24px}
 .hx-bar li+li{border-left:0;padding-left:0}
 .hx-bar li{white-space:normal}
}
@media(max-width:760px){
 .header-inner{height:70px}
 .brand-words b{font-size:27px}.brand-words small{font-size:8px;letter-spacing:3px}.brand-mark .bm-o{font-size:36px}.brand-mark .bm-bolt{height:30px;width:16px}
 .hx{display:flex;flex-direction:column}
 .hx-copy{order:1;padding:34px 0 0}
 .hx-copy-inner{max-width:100%}
 .hx h1{font-size:clamp(40px,12.2vw,74px)}
 .hx-kicker{font-size:clamp(19px,5.6vw,28px)}
 .hx-sub{font-size:15px}
 .hx-stage{order:2;position:relative;height:clamp(400px,112vw,560px);margin-top:10px}
 .hx-right{width:100%;opacity:.55}
 .hx-right:before{background:linear-gradient(180deg,#030303 0%,transparent 35%,transparent 70%,#030303 100%)}
 .hx-center{left:0;width:100%}
 .hx-o{right:auto;left:42%;top:0;font-size:clamp(260px,78vw,420px)}
 .hx-bigbolt{left:8%;top:6%;width:34%;height:70%}
 .hx-person{width:min(78vw,430px)}
 .hx-sign{display:block;left:auto;right:16px;bottom:26px;text-align:right}
 .hx-sign span{font-size:44px}.hx-sign small{font-size:10px;margin-top:14px}
 .hx-actions{flex-direction:column;align-items:stretch}
 .hx-btn{justify-content:center}
 .hx-bar ul{grid-template-columns:1fr 1fr;padding:6px 0}
 .hx-bar li{font-size:13px;gap:10px}
 .hx-bar svg{width:24px;height:24px}
}
@media(min-width:761px){.hx-stage{position:absolute;inset:0;z-index:2;pointer-events:none}.hx-stage .hx-right{pointer-events:auto}}
@media(max-width:390px){.brand-words b{font-size:23px}.brand-words small{letter-spacing:2.2px}.hx-tag{padding:14px 26px 20px 24px}}

.gallery-tile img{width:100%;height:100%;object-fit:cover;object-position:50% 22%}.gallery-grid{grid-template-columns:repeat(4,1fr)}.gallery-tile{height:420px}@media(max-width:1070px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.gallery-tile,.gallery-tile:first-child{height:260px}}
