*{box-sizing:border-box} :root{--bg:#0b0d10;--bg-2:#11151b;--ink:#f7f0e6;--muted:#b9b0a4;--gold:#c79a46;--gold-2:#f4d99a;--line:rgba(255,255,255,.12);--card:rgba(255,255,255,.07);--shadow:0 30px 90px rgba(0,0,0,.45);--display:"Cormorant Garamond",serif;--sans:"Manrope",system-ui,-apple-system,Segoe UI,sans-serif}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);overflow-x:hidden;letter-spacing:-.015em}body::before{content:"";position:fixed;inset:0;z-index:-3;background:radial-gradient(circle at 12% 4%,rgba(199,154,70,.25),transparent 34%),radial-gradient(circle at 92% 16%,rgba(255,255,255,.10),transparent 28%),linear-gradient(180deg,#0b0d10,#11151b 40%,#08090b)}.noise{position:fixed;inset:0;z-index:999;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='256' height='256' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.container{width:min(1180px,calc(100% - 34px));margin-inline:auto}.section{padding:clamp(76px,9vw,130px) 0}.site-header{position:fixed;top:0;left:0;right:0;z-index:50;border-bottom:1px solid var(--line);background:rgba(8,9,11,.58);backdrop-filter:blur(22px)}.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:inline-flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(244,217,154,.45);border-radius:50%;color:var(--gold-2);font-family:var(--display);font-size:1.35rem;background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.03))}.brand strong{display:block;font-family:var(--display);font-size:1.15rem;font-weight:700;letter-spacing:.03em}.brand small{display:block;color:var(--muted);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase}.nav-links{display:flex;gap:22px;align-items:center}.nav-links a{color:rgba(247,240,230,.82);font-size:.78rem;font-weight:800;letter-spacing:.10em;text-transform:uppercase}.nav-links a:hover{color:var(--gold-2)}.menu-btn{display:none;background:none;border:0;width:44px;height:44px}.menu-btn span{display:block;height:2px;background:var(--ink);margin:7px 0}.hero{position:relative;min-height:100svh;display:grid;align-items:center;overflow:hidden;padding:116px 0 70px}.hero-bg{position:absolute;inset:0;z-index:-2;opacity:.28;background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.36)),url("https://images.unsplash.com/photo-1492691527719-9d1e07e534b4?auto=format&fit=crop&w=1800&q=72") center/cover}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.72fr);gap:clamp(38px,7vw,88px);align-items:center}.eyebrow{margin:0 0 15px;color:var(--gold-2);font-size:.76rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--display);font-weight:600;letter-spacing:-.045em}h1{max-width:850px;margin-bottom:22px;font-size:clamp(3.35rem,8.5vw,7.5rem);line-height:.88}.hero-text{max-width:710px;color:rgba(247,240,230,.76);font-size:1.08rem;line-height:1.75}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin:34px 0}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;border-radius:999px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);transition:.25s ease}.btn-primary{color:#15110b;background:linear-gradient(135deg,var(--gold-2),var(--gold));box-shadow:0 18px 44px rgba(199,154,70,.18)}.btn-ghost{color:var(--ink);background:rgba(255,255,255,.06)}.btn:hover{transform:translateY(-3px)}.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;width:min(760px,100%)}.hero-stats article{padding:16px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.055);backdrop-filter:blur(14px)}.hero-stats strong{display:block;font-family:var(--display);font-size:1.95rem;color:var(--gold-2)}.hero-stats span{color:var(--muted);font-size:.86rem}.hero-visual{position:relative}.main-photo{margin:0;overflow:hidden;border-radius:34px;border:1px solid rgba(244,217,154,.24);box-shadow:var(--shadow);transform:rotate(2deg)}.main-photo img{width:100%;height:min(660px,72svh);object-fit:cover}.floating-card{position:absolute;z-index:3;width:max-content;max-width:240px;padding:14px 16px;border-radius:18px;color:#17130d;background:linear-gradient(135deg,#fff2cf,#c79a46);box-shadow:0 22px 55px rgba(0,0,0,.30)}.floating-card span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}.floating-card strong{display:block;font-family:var(--display);font-size:1.12rem}.card-top{top:8%;left:-36px}.card-bottom{right:-18px;bottom:10%}.section-heading h2{max-width:850px;margin:0;font-size:clamp(2.4rem,5.6vw,5.5rem);line-height:.93}.section-heading p{color:var(--muted);line-height:1.7}.center{text-align:center;margin-inline:auto}.center h2,.center p{margin-inline:auto}.intro-section{background:linear-gradient(180deg,rgba(255,255,255,.03),transparent)}.intro-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(30px,6vw,80px);align-items:start}.intro-copy{color:rgba(247,240,230,.73);font-size:1.08rem;line-height:1.85}.portfolio-section,.packages-section{background:#0a0b0d}.portfolio-masonry{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:16px;margin-top:44px}.portfolio-card{position:relative;margin:0;overflow:hidden;border-radius:26px;background:#111;border:1px solid var(--line)}.portfolio-card.tall{grid-row:span 2}.portfolio-card.wide{grid-column:span 2}.portfolio-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(1.06);transition:transform .55s ease,filter .55s ease}.portfolio-card:hover img{transform:scale(1.06);filter:saturate(1.04) contrast(1.08)}.portfolio-card::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.82),transparent 56%)}.portfolio-card figcaption{position:absolute;z-index:2;left:18px;right:18px;bottom:16px}.portfolio-card span{display:block;color:var(--gold-2);font-size:.72rem;text-transform:uppercase;letter-spacing:.15em}.portfolio-card strong{display:block;font-family:var(--display);font-size:1.55rem;font-weight:650}.gallery-section{position:relative;overflow:hidden;background:radial-gradient(circle at 12% 18%,rgba(199,154,70,.16),transparent 30%),radial-gradient(circle at 88% 20%,rgba(255,255,255,.07),transparent 28%),linear-gradient(180deg,#0a0b0d,#10131a)}.gallery-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:34px auto 28px}.gallery-filter{min-height:42px;padding:0 16px;border-radius:999px;border:1px solid rgba(244,217,154,.20);color:rgba(247,240,230,.82);background:rgba(255,255,255,.055);font:inherit;font-size:.84rem;font-weight:800;cursor:pointer;transition:.22s ease}.gallery-filter:hover,.gallery-filter.is-active{transform:translateY(-2px);color:#17130d;background:linear-gradient(135deg,var(--gold-2),var(--gold));border-color:transparent}.fast-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;content-visibility:auto;contain-intrinsic-size:900px}.gallery-item{position:relative;overflow:hidden;min-height:300px;border:1px solid rgba(255,255,255,.11);border-radius:26px;background:#111;padding:0;cursor:pointer;box-shadow:0 20px 70px rgba(0,0,0,.22);transform:translateZ(0);transition:opacity .25s ease,transform .25s ease,border-color .25s ease}.gallery-item.is-hidden{display:none}.gallery-item:hover{transform:translateY(-5px);border-color:rgba(244,217,154,.42)}.gallery-item img{width:100%;height:100%;min-height:300px;object-fit:cover;filter:saturate(.96) contrast(1.05);transition:transform .5s ease,filter .5s ease}.gallery-item:hover img{transform:scale(1.055);filter:saturate(1.05) contrast(1.08)}.gallery-item::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.86),rgba(0,0,0,.10) 54%,rgba(0,0,0,0))}.gallery-item span{position:absolute;z-index:2;left:18px;right:18px;bottom:16px;text-align:left;color:var(--ink)}.gallery-item small{display:block;color:var(--gold-2);font-size:.72rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.gallery-item strong{display:block;margin-top:4px;font-family:var(--display);font-size:1.45rem;font-weight:650}.event-examples{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}.event-examples article,.service-card,.package-card,blockquote{padding:22px;border:1px solid rgba(255,255,255,.10);border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035));box-shadow:0 22px 70px rgba(0,0,0,.18)}.event-examples strong{display:block;color:var(--gold-2);font-family:var(--display);font-size:1.3rem;font-weight:650}.event-examples span{display:block;margin-top:7px;color:var(--muted);line-height:1.55;font-size:.92rem}.lightbox{position:fixed;inset:0;z-index:90;display:none;align-items:center;justify-content:center;padding:22px;background:rgba(0,0,0,.86);backdrop-filter:blur(14px)}.lightbox.is-open{display:flex}.lightbox figure{position:relative;width:min(1080px,100%);margin:0}.lightbox img{width:100%;max-height:82svh;object-fit:contain;border-radius:24px;box-shadow:0 40px 110px rgba(0,0,0,.52)}.lightbox figcaption{margin-top:12px;color:var(--gold-2);text-align:center;font-weight:900}.lightbox-close{position:absolute;top:16px;right:16px;z-index:2;width:46px;height:46px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(255,255,255,.10);color:#fff;font-size:2rem;cursor:pointer}.services-grid,.packages-grid,.quote-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:38px}.service-card .icon{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;color:#17130d;background:linear-gradient(135deg,var(--gold-2),var(--gold));font-weight:950}.service-card h3,.package-card h3{margin:22px 0 10px;font-family:var(--display);font-size:1.55rem;font-weight:650}.service-card p,.package-card p,blockquote p{color:rgba(247,240,230,.72);line-height:1.7}.service-card ul,.package-card ul{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:9px;color:var(--muted)}.service-card li::before,.package-card li::before{content:"✦";color:var(--gold);margin-right:9px}.experience-section{background:radial-gradient(circle at 18% 14%,rgba(199,154,70,.15),transparent 30%),linear-gradient(180deg,transparent,rgba(255,255,255,.035))}.experience-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(34px,7vw,90px);align-items:center}.experience-visual{position:relative}.experience-visual img{width:100%;height:620px;object-fit:cover;border-radius:34px;box-shadow:var(--shadow);border:1px solid var(--line)}.lens-card{position:absolute;right:-18px;bottom:28px;padding:18px;border-radius:22px;background:rgba(8,9,11,.86);border:1px solid var(--line);backdrop-filter:blur(18px)}.lens-card span{display:block;color:var(--muted)}.lens-card strong{display:block;color:var(--gold-2);font-family:var(--display)}.experience-copy p{color:rgba(247,240,230,.74);line-height:1.75}.timeline{display:grid;gap:18px;margin-top:28px}.timeline article{display:grid;grid-template-columns:52px 1fr;gap:18px;align-items:start}.timeline span{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--card);border:1px solid var(--line);color:var(--gold-2);font-weight:950}.timeline h3{margin:0 0 6px;font-family:var(--display);font-size:1.42rem;font-weight:650}.timeline p{margin:0;color:var(--muted)}.packages-grid{grid-template-columns:repeat(3,1fr)}.package-card.featured{border-color:rgba(244,217,154,.48);background:linear-gradient(180deg,rgba(199,154,70,.15),rgba(255,255,255,.045));transform:translateY(-16px)}.badge{display:inline-flex;padding:8px 11px;border-radius:999px;color:#17130d;background:var(--gold-2);font-size:.72rem;font-weight:950;text-transform:uppercase;letter-spacing:.1em}.price{display:block;margin:18px 0;font-family:var(--display);font-size:2.1rem;color:var(--gold-2)}.package-card a{display:inline-flex;margin-top:20px;color:var(--gold-2);font-weight:900}.quote-grid{grid-template-columns:1fr 1fr}blockquote{margin:0}blockquote p{font-size:1.15rem}blockquote footer{color:var(--gold-2);font-weight:800}.contact-section{background:linear-gradient(rgba(8,9,11,.82),rgba(8,9,11,.82)),url("https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=1600&q=72") center/cover}.contact-grid{display:grid;grid-template-columns:1fr .88fr;gap:clamp(30px,6vw,78px);align-items:start}.contact-copy h2{font-family:var(--display);font-size:clamp(2.7rem,6vw,5.6rem);line-height:.92;letter-spacing:-.045em;margin:0 0 22px;font-weight:600}.contact-copy p{color:rgba(247,240,230,.76);line-height:1.75}.contact-details{display:grid;gap:10px;margin-top:28px;color:var(--gold-2);font-weight:800}.contact-form{padding:26px;border:1px solid var(--line);border-radius:30px;background:rgba(8,9,11,.72);backdrop-filter:blur(18px)}.contact-form label{display:grid;gap:8px;margin-bottom:16px;color:var(--muted);font-weight:700}input,select,textarea{width:100%;padding:15px 16px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.08);color:var(--ink);font:inherit;outline:none}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:rgba(247,240,230,.42)}.footer{padding:36px 0;border-top:1px solid var(--line);background:#07080a}.footer-grid{display:flex;align-items:center;justify-content:space-between;gap:18px;color:var(--muted)}.whatsapp-float{position:fixed;z-index:45;right:18px;bottom:18px;display:inline-flex;min-height:50px;align-items:center;justify-content:center;padding:0 18px;border-radius:999px;color:#17130d;background:linear-gradient(135deg,var(--gold-2),var(--gold));box-shadow:0 18px 48px rgba(0,0,0,.35);font-weight:950}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}.delay-1{transition-delay:.12s}.delay-2{transition-delay:.24s}@media(max-width:980px){.nav-links{display:none}.menu-btn{display:block}.nav.is-open .nav-links{position:absolute;top:78px;left:16px;right:16px;display:grid;gap:0;border:1px solid var(--line);border-radius:22px;background:rgba(8,9,11,.96);padding:12px}.nav.is-open .nav-links a{padding:14px}.hero-grid,.intro-grid,.experience-grid,.contact-grid{grid-template-columns:1fr}.hero{padding-top:116px}.hero-visual{width:min(520px,100%);margin:auto}.portfolio-masonry{grid-template-columns:1fr 1fr;grid-auto-rows:240px}.services-grid,.fast-gallery{grid-template-columns:1fr 1fr}.packages-grid,.quote-grid{grid-template-columns:1fr}.package-card.featured{transform:none}.event-examples{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.container{width:min(100% - 26px,1180px)}h1{font-size:clamp(2.9rem,15vw,4.7rem)}.hero-stats{grid-template-columns:1fr}.hero-actions{display:grid}.btn{width:100%}.card-top{left:12px;top:12px}.card-bottom{right:12px;bottom:12px}.portfolio-masonry,.fast-gallery{grid-template-columns:1fr;grid-auto-rows:310px}.portfolio-card.tall,.portfolio-card.wide{grid-row:auto;grid-column:auto}.services-grid{grid-template-columns:1fr}.gallery-item,.gallery-item img{min-height:360px}.gallery-filters{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px;scroll-snap-type:x mandatory}.gallery-filter{flex:0 0 auto;scroll-snap-align:start}.event-examples{grid-template-columns:1fr}.section-heading.center{text-align:left}.center h2,.center p{margin-left:0;margin-right:0}.experience-visual img{height:440px}.footer-grid{display:grid;text-align:center;justify-items:center}.whatsapp-float{left:18px;right:18px}}

/* V3 - corrección galería móvil + hamburger slider */
.hamburger{
  display:none;
  padding:10px;
  cursor:pointer;
  transition-property:opacity,filter;
  transition-duration:.15s;
  transition-timing-function:linear;
  font:inherit;
  color:inherit;
  text-transform:none;
  background-color:transparent;
  border:0;
  margin:0;
  overflow:visible;
}

.hamburger-box{
  width:32px;
  height:24px;
  display:inline-block;
  position:relative;
}

.hamburger-inner{
  display:block;
  top:50%;
  margin-top:-1px;
}

.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after{
  width:32px;
  height:2px;
  background-color:var(--ink);
  border-radius:999px;
  position:absolute;
  transition-property:transform;
  transition-duration:.15s;
  transition-timing-function:ease;
}

.hamburger-inner::before,
.hamburger-inner::after{
  content:"";
  display:block;
}

.hamburger-inner::before{
  top:-9px;
}

.hamburger-inner::after{
  bottom:-9px;
}

/* Variante slider inspirada en jonsuh.com/hamburgers */
.hamburger--slider .hamburger-inner{
  top:2px;
}

.hamburger--slider .hamburger-inner::before{
  top:9px;
  transition-property:transform,opacity;
  transition-timing-function:ease;
  transition-duration:.15s;
}

.hamburger--slider .hamburger-inner::after{
  top:18px;
}

.hamburger--slider.is-active .hamburger-inner{
  transform:translate3d(0,9px,0) rotate(45deg);
}

.hamburger--slider.is-active .hamburger-inner::before{
  transform:rotate(-45deg) translate3d(-4.57143px,-7px,0);
  opacity:0;
}

.hamburger--slider.is-active .hamburger-inner::after{
  transform:translate3d(0,-18px,0) rotate(-90deg);
}

/* Galería: altura estable por aspect-ratio para evitar fotos encimadas */
.fast-gallery{
  align-items:start;
}

.gallery-item{
  display:block;
  width:100%;
  min-height:0;
  aspect-ratio:4/5;
}

.gallery-item img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  min-height:0;
  object-fit:cover;
}

@media(max-width:980px){
  .hamburger{
    display:inline-block;
  }

  .menu-btn{
    width:auto;
    height:auto;
  }
}

@media(max-width:640px){
  .portfolio-masonry{
    grid-template-columns:1fr;
    grid-auto-rows:310px;
  }

  .fast-gallery{
    grid-template-columns:1fr;
    grid-auto-rows:auto;
    gap:16px;
  }

  .gallery-item{
    aspect-ratio:3/4;
    min-height:0;
    height:auto;
  }

  .gallery-item img{
    min-height:0;
  }

  .gallery-item:hover{
    transform:none;
  }

  .gallery-item:hover img{
    transform:none;
  }

  .gallery-item span{
    left:16px;
    right:16px;
    bottom:15px;
  }
}


/* V4 - contenido A. Hernández + portafolio completo */
.client-info-card{
  margin-top:24px;
  padding:20px;
  border-radius:24px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.11);
}

.client-info-card span{
  display:block;
  color:var(--gold-2);
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.client-info-card strong{
  display:block;
  margin-top:8px;
  font-family:var(--display);
  font-size:1.55rem;
}

.client-info-card p{
  margin:8px 0 12px;
}

.client-info-card a{
  color:var(--gold-2);
  font-weight:900;
}

.portfolio-cta{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  margin-top:26px;
  padding:24px;
  border-radius:28px;
  background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(199,154,70,.10));
  border:1px solid rgba(244,217,154,.20);
}

.portfolio-cta h3{
  margin:0 0 8px;
  font-family:var(--display);
  font-size:2rem;
}

.portfolio-cta p{
  margin:0;
  color:var(--muted);
}

.portfolio-cta code,
.portfolio-hero code,
.empty-gallery code{
  color:var(--gold-2);
}

.portfolio-hero{
  padding:150px 0 58px;
  background:
    linear-gradient(rgba(8,9,11,.70),rgba(8,9,11,.86)),
    url("https://images.unsplash.com/photo-1492691527719-9d1e07e534b4?auto=format&fit=crop&w=1800&q=76") center/cover;
}

.portfolio-hero h1{
  max-width:920px;
  margin-bottom:18px;
}

.portfolio-hero p{
  max-width:780px;
  color:rgba(247,240,230,.78);
  line-height:1.8;
}

.full-portfolio-section{
  background:linear-gradient(180deg,#0a0b0d,#10131a);
}

.portfolio-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  margin-bottom:24px;
  padding:18px;
  border-radius:22px;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.10);
}

.portfolio-toolbar strong,
.portfolio-toolbar span{
  display:block;
}

.portfolio-toolbar strong{
  font-family:var(--display);
  color:var(--gold-2);
  font-size:1.45rem;
}

.portfolio-toolbar span{
  color:var(--muted);
  margin-top:4px;
}

.full-gallery{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  align-items:start;
}

.full-gallery .gallery-item{
  aspect-ratio:4/5;
  min-height:0;
}

.full-gallery .gallery-item:nth-child(6n+1){
  aspect-ratio:4/6;
}

.full-gallery .gallery-item:nth-child(6n+4){
  aspect-ratio:5/4;
  grid-column:span 2;
}

.empty-gallery{
  padding:32px;
  border-radius:28px;
  background:rgba(255,255,255,.06);
  border:1px dashed rgba(244,217,154,.30);
  text-align:center;
}

.empty-gallery h2{
  margin:0 0 8px;
  font-family:var(--display);
}

.empty-gallery p{
  color:var(--muted);
}

@media(max-width:980px){
  .portfolio-cta,
  .portfolio-toolbar{
    display:grid;
  }

  .full-gallery{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .full-gallery .gallery-item:nth-child(6n+4){
    grid-column:auto;
  }
}

@media(max-width:640px){
  .portfolio-hero{
    padding-top:122px;
  }

  .portfolio-cta{
    text-align:left;
  }

  .full-gallery{
    grid-template-columns:1fr;
    gap:14px;
  }

  .full-gallery .gallery-item,
  .full-gallery .gallery-item:nth-child(6n+1),
  .full-gallery .gallery-item:nth-child(6n+4){
    aspect-ratio:3/4;
    grid-column:auto;
  }
}


/* V7 - fotos manuales de mejor resolución */
.gallery-item small{
  text-transform:uppercase;
}

.full-gallery{
  grid-auto-flow:dense;
}

@media(min-width:981px){
  .full-gallery:has(.gallery-item:nth-child(-n+8):last-child){
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}



/* V8 - ajustes móviles, WhatsApp, Facebook y select */
select option{
  background:#11151b;
  color:#f7f0e6;
}

.contact-main{
  font-size:1.08rem;
}

.footer-social-links{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
}

.footer-social-links a{
  color:var(--gold-2);
  font-weight:900;
}

.whatsapp-form-button{
  width:100%;
}

@media(max-width:980px){
  .nav{
    align-items:center;
  }

  .hamburger.menu-btn{
    width:48px;
    height:48px;
    min-width:48px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0;
    line-height:1;
    transform:none;
  }

  .hamburger-box{
    display:block;
    margin:auto;
  }

  .hamburger--slider .hamburger-inner{
    left:0;
  }
}

@media(max-width:430px){
  .nav{
    min-height:58px;
    gap:8px;
  }

  .brand{
    gap:8px;
    min-width:0;
  }

  .brand-mark{
    width:38px;
    height:38px;
    font-size:.88rem;
    flex:0 0 auto;
  }

  .brand strong{
    font-size:.78rem;
    line-height:1.05;
    letter-spacing:.045em;
    max-width:185px;
  }

  .brand small{
    font-size:.55rem;
    line-height:1.1;
    letter-spacing:.07em;
    max-width:185px;
  }

  .hamburger.menu-btn{
    width:44px;
    height:44px;
    min-width:44px;
  }

  .hamburger-box{
    width:28px;
    height:22px;
  }

  .hamburger-inner,
  .hamburger-inner::before,
  .hamburger-inner::after{
    width:28px;
  }
}

@media(max-width:400px){
  .site-header .brand span:not(.brand-mark){
    display:none;
  }

  .nav{
    min-height:54px;
  }

  .brand-mark{
    width:36px;
    height:36px;
    font-size:.82rem;
  }

  .hamburger.menu-btn{
    width:42px;
    height:42px;
    min-width:42px;
  }

  .nav.is-open .nav-links{
    top:58px;
  }
}

@media(max-width:640px){
  .footer-social-links{
    justify-content:center;
  }

  .whatsapp-float{
    font-size:.86rem;
    padding:0 12px;
  }
}


/* V10 - contacto con iconos, header estable y flotante WhatsApp limpio */
.contact-details{
  gap:12px;
}

.contact-item{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--gold-2);
  font-weight:800;
  line-height:1.35;
}

.contact-icon{
  display:inline-grid;
  place-items:center;
  width:34px;
  height:34px;
  min-width:34px;
  border-radius:50%;
  color:#16120c;
  background:linear-gradient(135deg,var(--gold-2),var(--gold));
  font-weight:950;
  font-family:var(--sans);
}

.contact-item:nth-child(3) .contact-icon{
  font-family:Arial, sans-serif;
  font-size:1.2rem;
}

.whatsapp-float{
  width:58px;
  height:58px;
  min-height:58px;
  padding:0;
  border-radius:50%;
  color:#fff;
  background:#25D366;
  box-shadow:0 18px 48px rgba(0,0,0,.35);
}

.whatsapp-float .wa-icon{
  width:34px;
  height:34px;
  fill:currentColor;
}

/* Evita que el header se estire entre escritorio y tablet */
@media(max-width:1161px){
  .nav{
    min-height:64px;
    gap:14px;
  }

  .brand-mark{
    width:40px;
    height:40px;
    font-size:.95rem;
  }

  .brand strong{
    font-size:.84rem;
    line-height:1.05;
    letter-spacing:.045em;
    max-width:245px;
  }

  .brand small{
    font-size:.58rem;
    line-height:1.05;
    letter-spacing:.08em;
    max-width:245px;
  }

  .nav-links{
    gap:14px;
  }

  .nav-links a{
    font-size:.70rem;
    letter-spacing:.055em;
    white-space:nowrap;
  }
}

@media(max-width:1050px) and (min-width:981px){
  .brand strong{
    max-width:200px;
  }

  .brand small{
    display:none;
  }

  .nav-links{
    gap:10px;
  }

  .nav-links a{
    font-size:.66rem;
  }
}

@media(max-width:980px){
  .nav{
    min-height:62px;
    align-items:center;
  }

  .hamburger.menu-btn{
    align-self:center;
    display:flex;
    align-items:center;
    justify-content:center;
    position:relative;
    top:0;
    transform:none;
    margin:0;
  }

  .hamburger-box{
    position:relative;
    top:0;
    margin:0;
  }

  .hamburger-inner{
    left:0;
  }

  .nav.is-open .nav-links{
    top:66px;
  }
}

@media(max-width:640px){
  .contact-item{
    align-items:flex-start;
  }

  .whatsapp-float{
    left:auto;
    right:18px;
    width:56px;
    height:56px;
    min-height:56px;
    padding:0;
  }

  .whatsapp-float .wa-icon{
    width:32px;
    height:32px;
  }
}

@media(max-width:400px){
  .nav{
    min-height:54px;
  }

  .hamburger.menu-btn{
    width:42px;
    height:42px;
    min-width:42px;
  }

  .nav.is-open .nav-links{
    top:58px;
  }
}


/* V11 - hamburger realmente centrado y sin conflicto con estilos antiguos */
@media(max-width:980px){
  .nav{
    min-height:64px;
    display:flex;
    align-items:center;
  }

  .hamburger.menu-btn{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:56px !important;
    height:56px !important;
    min-width:56px !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    background:transparent !important;
    line-height:0 !important;
  }

  /* Anula la regla vieja .menu-btn span que estaba empujando las líneas */
  .hamburger.menu-btn span{
    margin:0 !important;
    background:transparent !important;
  }

  .hamburger .hamburger-box{
    position:relative !important;
    display:block !important;
    width:34px !important;
    height:24px !important;
    margin:0 !important;
    background:transparent !important;
  }

  .hamburger .hamburger-inner,
  .hamburger .hamburger-inner::before,
  .hamburger .hamburger-inner::after{
    position:absolute !important;
    left:0 !important;
    display:block !important;
    width:34px !important;
    height:3px !important;
    border-radius:999px !important;
    background:var(--ink) !important;
    margin:0 !important;
  }

  .hamburger .hamburger-inner{
    top:2px !important;
  }

  .hamburger .hamburger-inner::before{
    content:"" !important;
    top:10px !important;
  }

  .hamburger .hamburger-inner::after{
    content:"" !important;
    top:20px !important;
    bottom:auto !important;
  }

  .hamburger--slider.is-active .hamburger-inner{
    transform:translate3d(0,10px,0) rotate(45deg) !important;
  }

  .hamburger--slider.is-active .hamburger-inner::before{
    transform:rotate(-45deg) translate3d(-4px,-7px,0) !important;
    opacity:0 !important;
  }

  .hamburger--slider.is-active .hamburger-inner::after{
    transform:translate3d(0,-20px,0) rotate(-90deg) !important;
  }
}

@media(max-width:430px){
  .nav{
    min-height:58px;
  }

  .hamburger.menu-btn{
    width:52px !important;
    height:52px !important;
    min-width:52px !important;
  }

  .hamburger .hamburger-box{
    width:32px !important;
    height:23px !important;
  }

  .hamburger .hamburger-inner,
  .hamburger .hamburger-inner::before,
  .hamburger .hamburger-inner::after{
    width:32px !important;
    height:3px !important;
  }

  .hamburger .hamburger-inner::before{
    top:10px !important;
  }

  .hamburger .hamburger-inner::after{
    top:20px !important;
  }
}

@media(max-width:400px){
  .nav{
    min-height:56px;
  }

  .hamburger.menu-btn{
    width:50px !important;
    height:50px !important;
    min-width:50px !important;
  }
}


/* V12 final - footer centrado móvil + efecto volver arriba */
.footer a[href="#inicio"],
.footer a[href="index.html#inicio"],
.footer .back-to-top{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--gold-2);
  font-weight:950;
  overflow:hidden;
}

.footer a[href="#inicio"]::after,
.footer a[href="index.html#inicio"]::after,
.footer .back-to-top::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-3px;
  width:100%;
  height:2px;
  background:linear-gradient(90deg,transparent,var(--gold-2),transparent);
  transform:translateX(-110%);
  transition:transform .55s ease;
}

.footer a[href="#inicio"]:hover::after,
.footer a[href="index.html#inicio"]:hover::after,
.footer .back-to-top:hover::after{
  transform:translateX(110%);
}

@media(max-width:640px){
  .footer{
    text-align:center;
  }

  .footer-grid{
    display:grid !important;
    grid-template-columns:1fr;
    justify-items:center;
    align-items:center;
    text-align:center;
    gap:16px;
  }

  .footer .brand{
    justify-content:center;
  }

  .footer .brand span:not(.brand-mark){
    text-align:center;
  }

  .footer p{
    margin:0;
    text-align:center;
  }

  .footer-social-links{
    width:100%;
    justify-content:center !important;
    text-align:center;
  }

  .footer-social-links a,
  .footer a[href="#inicio"],
  .footer a[href="index.html#inicio"],
  .footer .back-to-top{
    justify-content:center;
  }
}
