*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#080909;color:#eee;font-family:Arial,Helvetica,sans-serif}a{color:inherit}
header{height:78px;position:sticky;top:0;z-index:30;background:#090a0af7;border-bottom:1px solid #30291d;display:flex;align-items:center;padding:0 32px;box-shadow:0 8px 24px #0008}
.logo{color:#caa85b;text-decoration:none;display:flex;flex-direction:column;line-height:1;min-width:190px}.logo b{font:32px Georgia;letter-spacing:.09em}.logo span{font-size:9px;letter-spacing:.22em;text-align:center;margin-top:4px}
header nav{margin:auto;display:flex;gap:42px;align-items:center}header nav a{color:#f0f0f0;text-decoration:none;text-transform:uppercase;font-size:10px;letter-spacing:.08em;padding:30px 0;border-bottom:2px solid transparent}header nav a:hover{color:#c9a85d;border-bottom-color:#c9a85d}
.adminBtn{background:#c9a85d;color:#111!important;text-decoration:none;font-size:9px;font-weight:bold;letter-spacing:.1em;padding:13px 17px;border-radius:3px;white-space:nowrap}
#menu{display:none;background:transparent;color:#fff;border:0;font-size:24px}
.homeHero{height:570px;background-size:cover;background-position:center;display:flex;align-items:center;position:relative}.homeHero:after{content:"";position:absolute;inset:auto 0 0;height:1px;background:#c9a85d55}
.homeText{position:relative;z-index:2;max-width:1200px;width:100%;margin:auto;padding:55px 60px}.eyebrow{font-size:10px;font-weight:bold;letter-spacing:.2em;color:#c9a85d}.homeText h1,.pageHead h1,.serviceContent h1,.splitText h1{font:700 clamp(46px,6vw,78px)/1.02 Arial;margin:18px 0;text-transform:uppercase}.homeText h1 span{color:#fff}.homeText>p:last-child{font-size:16px;line-height:1.7;max-width:610px;color:#eee}
.moduleGrid{max-width:1200px;margin:-48px auto 80px;padding:0 28px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;position:relative;z-index:5}
.moduleCard{min-height:245px;background:linear-gradient(145deg,#151616,#0e0f0f);border:1px solid #2d2d2d;color:#eee!important;text-decoration:none!important;padding:27px;display:flex;flex-direction:column;box-shadow:0 14px 35px #0008;transition:.25s}
.moduleCard:hover{transform:translateY(-5px);border-color:#c9a85d}.moduleCard .icon{font-size:39px;color:#c9a85d}.moduleCard h2{font:24px Georgia;margin:18px 0 9px;color:#fff}.moduleCard p{font-size:12px;line-height:1.7;color:#bdbdbd;margin:0 0 18px}.moduleCard span{margin-top:auto;color:#c9a85d;font-size:9px;font-weight:bold;letter-spacing:.14em}
.pageHead{max-width:1100px;margin:auto;padding:85px 28px 48px;text-align:center}.pageHead p:last-child{color:#aaa;line-height:1.8}.pageHead h1{font-size:58px}
.gallery{max-width:1150px;margin:auto;padding:0 28px 90px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.gallery figure{margin:0;background:#111;border:1px solid #292929;overflow:hidden}.gallery img{width:100%;height:310px;object-fit:cover;transition:.35s}.gallery figure:hover img{transform:scale(1.03)}.gallery figcaption{padding:13px;color:#bbb;font-size:10px}
.contactBox{max-width:950px;margin:0 auto 90px;padding:0 28px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.contactBox div{background:#121313;border:1px solid #2b2b2b;padding:28px;display:flex;flex-direction:column;gap:10px}.contactBox small{color:#c9a85d;font-size:8px;letter-spacing:.15em}.contactBox b{font-size:13px;line-height:1.7}
.split{min-height:650px;display:grid;grid-template-columns:1fr 1fr}.splitImage{background-size:cover;background-position:center}.splitText{padding:80px clamp(35px,7vw,100px);display:flex;flex-direction:column;justify-content:center;background:#111212}.splitText>p:last-of-type{line-height:1.8;color:#bbb}.rating{margin-top:25px;padding-top:20px;border-top:1px solid #3a3327;display:grid;grid-template-columns:auto 1fr;gap:6px 18px;align-items:center}.rating strong{grid-row:1/3;font:44px Georgia;color:#c9a85d}.rating span{color:#c9a85d}.rating small{color:#aaa}
.servicePage{min-height:650px;display:grid;grid-template-columns:1.05fr .95fr}.servicePhoto{background-size:cover;background-position:center}.serviceContent{padding:70px clamp(35px,6vw,90px);display:flex;flex-direction:column;justify-content:center;background:#101111}.bigIcon{font-size:58px;color:#c9a85d}.serviceContent>p:last-of-type{color:#bbb;line-height:1.9;font-size:15px}.serviceContent a{align-self:flex-start;margin-top:25px;background:#c9a85d;color:#111;text-decoration:none;padding:15px 20px;font-size:9px;font-weight:bold;letter-spacing:.1em}
footer{border-top:1px solid #30291d;padding:30px 38px;display:flex;justify-content:space-between;gap:25px;color:#888;font-size:9px;background:#080909}footer div{display:flex;gap:20px;flex-wrap:wrap}footer b,footer a{color:#c9a85d}
@media(max-width:950px){header{padding:0 18px}.logo{min-width:0}.adminBtn{margin-left:12px}#menu{display:block;margin-left:auto}header nav{display:none;position:absolute;top:78px;left:0;right:0;background:#090a0a;padding:25px;flex-direction:column;gap:8px}header nav.open{display:flex}header nav a{padding:10px}.moduleGrid{grid-template-columns:1fr 1fr}.servicePage,.split{grid-template-columns:1fr}.servicePhoto,.splitImage{min-height:380px}.gallery{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.logo b{font-size:25px}.logo span{font-size:7px}.adminBtn{padding:10px 11px}.homeHero{height:520px}.homeText{padding:38px 25px}.homeText h1{font-size:48px}.moduleGrid{grid-template-columns:1fr;margin-top:-28px;padding:0 18px}.gallery,.contactBox{grid-template-columns:1fr}.pageHead h1{font-size:42px}.serviceContent,.splitText{padding:55px 24px}footer{flex-direction:column;padding:28px 20px}}

body.introLocked{overflow:hidden}
.introGeyvan{
  position:fixed;inset:0;z-index:99999;background:#050505;
  display:flex;align-items:center;justify-content:center;
  opacity:1;visibility:visible;transition:opacity .8s ease,visibility .8s ease;
}
.introGeyvan.hide{opacity:0;visibility:hidden;pointer-events:none}
.introImageWrap{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#050505}
.introImageWrap img{width:100%;height:100%;object-fit:cover;display:block}
.introControls{
  position:absolute;left:50%;bottom:24px;transform:translateX(-50%);
  width:min(420px,calc(100% - 34px));text-align:center;
  background:rgba(5,5,5,.82);backdrop-filter:blur(6px);
  border:1px solid rgba(201,168,93,.58);border-radius:10px;
  padding:12px 16px 14px;box-shadow:0 10px 35px rgba(0,0,0,.55);
}
.introCounter{
  width:42px;height:42px;margin:-34px auto 7px;border-radius:50%;
  display:grid;place-items:center;background:#090909;border:1px solid #c9a85d;
  color:#e1bd6b;font:24px Georgia,serif;box-shadow:0 0 0 5px rgba(0,0,0,.42)
}
.introLabel{font-size:8px;letter-spacing:.18em;color:#e8e0cf;margin-bottom:8px}
.introProgress{height:2px;background:rgba(255,255,255,.18);overflow:hidden;margin:0 0 10px}
.introProgress span{display:block;width:100%;height:100%;background:#c9a85d;transform-origin:left;animation:introBar 8s linear forwards}
#enterGeyvan{
  border:1px solid #c9a85d;background:#090909;color:#d8b565;
  padding:10px 22px;font-size:9px;font-weight:bold;letter-spacing:.14em;
  cursor:pointer;border-radius:3px
}
#enterGeyvan:hover{background:#c9a85d;color:#111}
@keyframes introBar{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@media(max-width:700px){
  .introImageWrap img{object-fit:cover;object-position:center}
  .introControls{bottom:14px;padding:10px 12px 12px}
}

.privateVideos{max-width:1000px;margin:0 auto 90px;padding:0 28px}
.videoAlert,.emptyPrivate{padding:18px;background:#171313;border:1px solid #5c3636;color:#e7b0b0;margin-bottom:18px;text-align:center}
.privateVideoCard{background:#121313;border:1px solid #2d2d2d;margin-bottom:18px;padding:24px;box-shadow:0 12px 32px #0005}
.privateVideoCard.unlocked{border-color:#6f5c33}
.privateVideoMeta{display:flex;gap:18px;align-items:flex-start}.lockIcon{font-size:30px}.privateVideoMeta h2{font:25px Georgia;color:#fff;margin:0 0 8px}.privateVideoMeta p{margin:0 0 6px;color:#aaa;line-height:1.6}.privateVideoMeta small{color:#c9a85d}
.videoPassForm{display:flex;gap:10px;margin-top:20px}.videoPassForm input{flex:1;background:#090a0a;color:#fff;border:1px solid #333;padding:13px}.videoPassForm button{background:#c9a85d;color:#111;border:0;padding:0 22px;font-weight:bold;font-size:9px;letter-spacing:.1em}
.videoPlayerWrap{margin-top:20px;background:#050505;border:1px solid #2a2a2a}.videoPlayerWrap video{display:block;width:100%;max-height:650px;background:#000}
.videoActions{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:14px;font-size:10px;color:#86c991}.videoActions a{background:#c9a85d;color:#111;text-decoration:none;padding:11px 15px;font-weight:bold;letter-spacing:.08em}
@media(max-width:600px){.videoPassForm{flex-direction:column}.videoPassForm button{padding:13px}.videoActions{flex-direction:column;align-items:flex-start}}

/* BUILD 3.8 - INTRO COMPLETA, SIN RECORTE */
.introImageWrap{padding:14px;background:#050505;box-sizing:border-box}
.introImageWrap img{
 width:100%!important;height:100%!important;
 object-fit:contain!important;object-position:center center!important;
}
.introControls{
 background:transparent!important;border:0!important;box-shadow:none!important;
 backdrop-filter:none!important;padding:0!important;
 left:50%!important;bottom:15.2%!important;width:280px!important;height:58px!important;
}
.introCounter,.introLabel,.introProgress{display:none!important}
#enterGeyvan{
 width:100%!important;height:100%!important;
 opacity:0!important;background:transparent!important;border:0!important;
 cursor:pointer!important;
}
@media(max-width:700px){
 .introImageWrap{padding:6px}
 .introControls{bottom:15%!important;width:220px!important;height:50px!important}
}

/* BUILD 3.9 — BRILLO GEYVAN + CONTADOR REAL */
.introImageWrap{position:absolute!important;inset:0!important}
.introImageWrap img{position:relative;z-index:1}

/* Reflejo dorado que cruza lentamente la palabra GEYVAN */
.geyvanShine{
  position:absolute;
  z-index:2;
  left:16.5%;
  top:13.5%;
  width:44%;
  height:18%;
  pointer-events:none;
  overflow:hidden;
  mix-blend-mode:screen;
  opacity:.20;
  transition:opacity .8s ease;
}
.geyvanShine::before{
  content:"";
  position:absolute;
  top:-40%;
  left:-35%;
  width:22%;
  height:180%;
  background:linear-gradient(
    90deg,
    transparent 0%,
    rgba(255,219,132,.12) 18%,
    rgba(255,239,185,.95) 50%,
    rgba(255,190,72,.22) 78%,
    transparent 100%
  );
  filter:blur(8px);
  transform:skewX(-18deg);
  animation:geyvanSweep 2.15s ease-in-out infinite;
}
.introGeyvan.shine2 .geyvanShine{opacity:.33}
.introGeyvan.shine3 .geyvanShine{opacity:.48}
.introGeyvan.shine4 .geyvanShine{opacity:.65}
.introGeyvan.shine5 .geyvanShine{opacity:.82}
.introGeyvan.shine6 .geyvanShine{opacity:1}

@keyframes geyvanSweep{
  0%{left:-35%}
  55%,100%{left:120%}
}

/* Mostrar únicamente el contador HTML, encima del 8 impreso en la imagen */
.introCounter{
  display:grid!important;
  position:fixed!important;
  z-index:4!important;
  left:39.55%!important;
  top:49.15%!important;
  transform:translate(-50%,-50%)!important;
  width:118px!important;
  height:118px!important;
  margin:0!important;
  border-radius:50%!important;
  place-items:center!important;
  background:#080808!important;
  border:2px solid #d6a443!important;
  box-shadow:0 0 20px rgba(219,169,69,.16)!important;
  color:#e5b957!important;
  font:54px Georgia,serif!important;
  opacity:1!important;
}
.introCounter span{display:block!important}

/* El resto de controles duplicados sigue oculto */
.introLabel,.introProgress{display:none!important}

@media(max-width:900px){
  .introCounter{
    width:84px!important;height:84px!important;
    font-size:39px!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .geyvanShine::before{animation:none;left:35%}
}

/* =========================================================
   GEYVAN BUILD 4.0 — INTRO LETRA A LETRA
   ========================================================= */
body.introLocked{overflow:hidden!important}

.introGeyvan{
  position:fixed!important;
  inset:0!important;
  z-index:99999!important;
  background:#050505!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:10px!important;
  box-sizing:border-box!important;
  opacity:1!important;
  visibility:visible!important;
  transition:opacity .75s ease,visibility .75s ease!important;
}
.introGeyvan.hide{opacity:0!important;visibility:hidden!important;pointer-events:none!important}

.introStage{
  position:relative!important;
  width:min(calc(100vw - 20px), calc((100vh - 20px) * 1.5))!important;
  aspect-ratio:3 / 2!important;
  max-height:calc(100vh - 20px)!important;
  overflow:hidden!important;
  flex:none!important;
}
.introArtwork{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  display:block!important;
  z-index:1!important;
}

/* Texto exacto superpuesto sobre GEYVAN de la imagen.
   Empieza casi invisible y cada letra cobra luz segundo a segundo. */
.geyvanLetters{
  position:absolute!important;
  z-index:3!important;
  left:17.8%!important;
  top:16.0%!important;
  width:43.7%!important;
  height:13.5%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  pointer-events:none!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(34px,7.1vw,112px)!important;
  line-height:1!important;
  font-weight:400!important;
  letter-spacing:-0.035em!important;
  color:transparent!important;
}
.geyvanLetters span{
  display:inline-block!important;
  color:rgba(213,163,73,0)!important;
  text-shadow:none!important;
  transform:scale(.94) translateY(4px)!important;
  opacity:0!important;
  filter:blur(2px)!important;
  transition:
    color .6s ease,
    text-shadow .6s ease,
    transform .6s cubic-bezier(.2,.8,.2,1),
    opacity .6s ease,
    filter .6s ease!important;
}
.geyvanLetters span.on{
  color:#efc45f!important;
  opacity:1!important;
  filter:blur(0)!important;
  transform:scale(1) translateY(0)!important;
  text-shadow:
    0 0 5px rgba(255,221,130,.95),
    0 0 13px rgba(238,180,69,.9),
    0 0 28px rgba(210,130,22,.75),
    0 0 48px rgba(187,99,0,.45)!important;
  animation:letterPulse .95s ease-out both!important;
}
.geyvanLetters.complete span{
  animation:fullGlow 1.05s ease-in-out infinite alternate!important;
}
@keyframes letterPulse{
  0%{transform:scale(.9);text-shadow:0 0 0 rgba(255,220,120,0)}
  55%{transform:scale(1.06);text-shadow:0 0 14px #ffe19a,0 0 35px #d89c2d,0 0 60px rgba(190,101,0,.8)}
  100%{transform:scale(1)}
}
@keyframes fullGlow{
  from{text-shadow:0 0 6px #f5ca70,0 0 18px rgba(230,167,55,.8),0 0 32px rgba(170,91,0,.45)}
  to{text-shadow:0 0 10px #fff1bd,0 0 27px #e0a435,0 0 52px rgba(189,105,0,.75)}
}

/* Contador REAL sobre el círculo impreso */
.introCounter{
  display:grid!important;
  position:absolute!important;
  z-index:5!important;
  left:39.75%!important;
  top:55.8%!important;
  transform:translate(-50%,-50%)!important;
  width:9.25%!important;
  aspect-ratio:1/1!important;
  height:auto!important;
  margin:0!important;
  place-items:center!important;
  border-radius:50%!important;
  background:#080808!important;
  border:2px solid #dca83f!important;
  box-shadow:
    inset 0 0 18px rgba(219,165,57,.08),
    0 0 18px rgba(219,165,57,.12)!important;
  color:#efbd54!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(24px,4.2vw,70px)!important;
  line-height:1!important;
}
.introCounter span{display:block!important}

/* Zona transparente sobre el botón de la propia imagen */
.introEnterHotspot{
  position:absolute!important;
  z-index:6!important;
  left:31.7%!important;
  top:77.2%!important;
  width:18.5%!important;
  height:6.4%!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  opacity:0!important;
  cursor:pointer!important;
}
.introEnterHotspot:focus-visible{
  opacity:1!important;
  outline:2px solid #e2b451!important;
  background:rgba(226,180,81,.08)!important;
}

/* Anular controles antiguos si quedasen en CSS */
.introImageWrap,.geyvanShine,.introLabel,.introProgress{display:none!important}

@media(max-width:700px){
  .introGeyvan{padding:4px!important}
  .introStage{
    width:min(calc(100vw - 8px), calc((100vh - 8px) * 1.5))!important;
    max-height:calc(100vh - 8px)!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .geyvanLetters span.on,.geyvanLetters.complete span{animation:none!important}
}

/* BUILD 4.1 — EL FONDO YA NO CONTIENE GEYVAN */
.geyvanLetters{
  z-index:4!important;
}
.geyvanLetters span{
  opacity:0!important;
  color:transparent!important;
}
.geyvanLetters span.on{
  opacity:1!important;
  color:#efc45f!important;
}

.publicVideos{max-width:1050px;margin:0 auto 90px;padding:0 28px}.publicVideoCard{background:#111;border:1px solid #46391f;margin-bottom:24px;padding:22px}.publicVideoCard h2{font:27px Georgia;color:#e6c06c}

/* BUILD 4.3 — GALERIA HD */
.galleryZoomImage{cursor:zoom-in}
.geyvanLightbox{position:fixed;inset:0;z-index:100000;background:rgba(0,0,0,.96);display:none;align-items:center;justify-content:center;overflow:hidden}
.geyvanLightbox.open{display:flex}
.lbStage{width:calc(100% - 130px);height:calc(100% - 105px);display:flex;align-items:center;justify-content:center;overflow:auto;position:relative}
.lbStage img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transform-origin:center;transition:transform .18s ease;image-rendering:auto}
.lbCaption{position:fixed;left:50%;bottom:58px;transform:translateX(-50%);color:#ddd;background:#000a;padding:6px 12px;font-size:12px}
.lbClose,.lbPrev,.lbNext,.lbTools button{border:1px solid #9c7a36;background:#0b0b0b;color:#e2b85c;cursor:pointer}
.lbClose{position:absolute;right:22px;top:18px;width:46px;height:46px;border-radius:50%;font-size:30px;z-index:3}
.lbPrev,.lbNext{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:70px;font-size:42px;z-index:3}
.lbPrev{left:16px}.lbNext{right:16px}
.lbTools{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;background:#090909e8;border:1px solid #332a19;padding:7px}
.lbTools button{min-width:42px;height:34px;padding:0 10px}.lbTools span{min-width:54px;text-align:center;color:#ddd;font-size:11px}
@media(max-width:650px){.lbStage{width:100%;height:calc(100% - 110px)}.lbPrev,.lbNext{width:40px;height:58px}.lbCaption{bottom:56px;max-width:75%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
