:root { --night: #100d14; --night-soft: #1b151f; --night-gold: #d7a44e; --night-lilac: #bda6c9; }
body { background: #f4efe7; }
.night-hero { position: relative; isolation: isolate; overflow: hidden; min-height: 760px; color: #fff; background: var(--night); }
.night-hero::before { content: ""; position: absolute; z-index: -2; inset: 0; background: url("../images/vida-nocturna/carinito/carinito-003.jpg") center/cover no-repeat; filter: saturate(.78) contrast(1.05); }
.night-hero::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(10,7,12,.98), rgba(10,7,12,.86) 48%, rgba(10,7,12,.42)); }
.night-hero__inner { display: flex; min-height: 760px; flex-direction: column; align-items: flex-start; justify-content: center; padding-block: 150px 90px; }
.night-hero h1 { max-width: 920px; margin: 18px 0 28px; font-family: var(--font-display); font-size: clamp(4.8rem, 10vw, 10rem); font-weight: 500; line-height: .72; letter-spacing: -.055em; }
.night-hero h1 em { color: var(--night-gold); font-weight: 500; }
.night-hero p { max-width: 670px; color: rgba(255,255,255,.76); font-size: clamp(1rem, 1.35vw, 1.2rem); line-height: 1.75; }
.night-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.night-intro { padding-block: clamp(76px, 9vw, 130px); background: #f4efe7; }
.night-intro__grid { display: grid; align-items: end; gap: 50px; grid-template-columns: 1fr 1fr; }
.night-intro h2 { max-width: 680px; margin-top: 16px; font-size: clamp(3.2rem, 6vw, 6.3rem); line-height: .82; }
.night-intro__statement { max-width: 620px; color: #5f5954; font-size: clamp(1rem, 1.2vw, 1.12rem); line-height: 1.8; }
.night-types { padding-block: clamp(72px, 8vw, 110px); color: #fff; background: var(--night); }
.night-types__head { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 46px; }
.night-types h2 { max-width: 600px; margin-top: 12px; color: #fff; font-size: clamp(3rem, 5vw, 5.4rem); line-height: .85; }
.night-types__grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,.12); border-left: 1px solid rgba(255,255,255,.12); }
.night-type { min-height: 250px; padding: 34px; border-right: 1px solid rgba(255,255,255,.12); border-bottom: 1px solid rgba(255,255,255,.12); transition: background .25s ease, transform .25s ease; }
.night-type:hover { background: rgba(215,164,78,.08); transform: translateY(-3px); }
.night-type__number { display: block; margin-bottom: 52px; color: var(--night-gold); font-size: .64rem; font-weight: 700; letter-spacing: .16em; }
.night-type h3 { margin-bottom: 12px; font-family: var(--font-display); font-size: 2rem; font-weight: 500; }
.night-type p { color: rgba(255,255,255,.58); font-size: .84rem; line-height: 1.65; }
.night-filters { padding-block: clamp(72px, 8vw, 110px); background: #ebe4da; }
.night-filters__grid { display: grid; gap: 12px; grid-template-columns: repeat(4, 1fr); }
.night-filter { display: flex; min-height: 92px; align-items: center; justify-content: space-between; gap: 18px; padding: 22px; border: 1px solid rgba(23,23,23,.12); background: rgba(255,255,255,.5); font-family: var(--font-display); font-size: 1.35rem; }
.night-filter span:last-child { color: #b66a2b; font-family: var(--font-sans); font-size: 1rem; }
.night-spotlight { padding-block: clamp(84px, 10vw, 140px); color: #fff; background: linear-gradient(135deg, #1d1521, #080709); }
.night-spotlight__card { display: grid; overflow: hidden; min-height: 510px; border: 1px solid rgba(215,164,78,.28); border-radius: 2px 42px 2px 2px; grid-template-columns: 1fr .9fr; }
.night-spotlight__visual { position: relative; min-height: 420px; background: #130e16; }
.night-spotlight__visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 55%, rgba(10,7,12,.76)); pointer-events: none; }
.night-spotlight__visual img { width: 100%; height: 100%; object-fit: cover; }
.night-spotlight__content { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(38px, 6vw, 78px); background: rgba(0,0,0,.18); }
.verified-kicker { display: inline-flex; align-items: center; gap: 8px; color: #cdd7a4; font-size: .67rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.verified-kicker b { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 50%; color: #10140b; background: #cdd7a4; }
.night-spotlight h2 { margin: 46px 0 8px; color: #fff; font-size: clamp(3.5rem, 6vw, 6.5rem); line-height: .72; }
.night-spotlight__kind { color: var(--night-gold); font-family: var(--font-display); font-size: 1.45rem; font-style: italic; }
.night-spotlight__content p { max-width: 410px; margin-top: 28px; color: rgba(255,255,255,.68); line-height: 1.7; }
.night-spotlight__cta { margin-top: 26px; }
.night-rule { padding-block: 60px; background: #f4efe7; }
.night-rule__inner { display: grid; align-items: center; gap: 28px; grid-template-columns: auto 1fr; }
.night-rule__mark { display: grid; width: 64px; height: 64px; place-items: center; border: 1px solid rgba(182,106,43,.3); border-radius: 50%; color: #b66a2b; font-size: 1.4rem; }
.night-rule p { max-width: 920px; margin: 0; color: #57514c; line-height: 1.75; }
@media (max-width: 960px) {
  .night-intro__grid, .night-spotlight__card { grid-template-columns: 1fr; }
  .night-types__grid { grid-template-columns: repeat(2, 1fr); }
  .night-filters__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 620px) {
  .night-hero, .night-hero__inner { min-height: 680px; }
  .night-hero h1 { font-size: clamp(4.2rem, 21vw, 6.6rem); }
  .night-intro__grid { gap: 28px; }
  .night-types__head { display: block; }
  .night-types__grid, .night-filters__grid { grid-template-columns: 1fr; }
  .night-type { min-height: 210px; }
  .night-spotlight__visual { min-height: 320px; }
  .night-rule__inner { align-items: start; grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { .night-type { transition: none; } }

.night-profile-page { color: #fff; background: var(--night); }
.night-profile-hero { position: relative; isolation: isolate; min-height: 820px; overflow: hidden; }
.night-profile-hero__image, .night-profile-hero__shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.night-profile-hero__image { z-index: -2; object-fit: cover; object-position: center; }
.night-profile-hero__shade { z-index: -1; background: linear-gradient(90deg, rgba(8,6,10,.97) 0%, rgba(8,6,10,.86) 45%, rgba(8,6,10,.35) 100%), linear-gradient(0deg, rgba(8,6,10,.9), transparent 55%); }
.night-profile-hero__content { display: flex; min-height: 820px; max-width: 1440px; flex-direction: column; align-items: flex-start; justify-content: center; padding-block: 120px 58px; }
.night-profile-hero__logo { width: clamp(140px, 13vw, 190px); height: auto; margin: 18px 0 4px; padding: 10px; border-radius: 22px; background: #fff; box-shadow: 0 18px 58px rgba(0,0,0,.36); }
.night-profile-hero__kind { margin: 8px 0 0; color: var(--night-gold); font-family: var(--font-display); font-size: 1.35rem; font-style: italic; }
.night-profile-hero h1 { max-width: 830px; margin: 20px 0 22px; color: #fff; font-size: clamp(4rem, 7vw, 7.4rem); line-height: .78; letter-spacing: -.045em; }
.night-profile-hero h1 em { color: var(--night-gold); font-weight: 500; }
.night-profile-hero__lead { max-width: 690px; color: rgba(255,255,255,.76); font-size: clamp(1rem, 1.25vw, 1.15rem); line-height: 1.72; }
.night-profile-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.night-profile-details { color: #19161b; background: #f4efe7; }
.night-profile-details__grid { display: grid; grid-template-columns: 1.2fr .8fr .8fr; }
.night-profile-details article { min-height: 290px; padding: clamp(34px, 4vw, 58px); border-right: 1px solid rgba(20,17,22,.12); }
.night-profile-details article:first-child { border-left: 1px solid rgba(20,17,22,.12); }
.night-profile-details article > span { color: #b66a2b; font-size: .68rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.night-profile-details h2 { margin: 26px 0 12px; font-size: clamp(2rem, 3vw, 3.3rem); line-height: .92; }
.night-profile-details p { max-width: 440px; color: #625b57; line-height: 1.65; }
.night-profile-details a { display: inline-block; margin-top: 22px; color: #a95232; font-weight: 700; }
.night-profile-story { padding-block: clamp(80px, 10vw, 140px); background: linear-gradient(135deg, #1d1521, #080709); }
.night-profile-story__grid { display: grid; align-items: end; gap: clamp(40px, 8vw, 120px); grid-template-columns: 1fr 1fr; }
.night-profile-story h2 { margin-top: 16px; color: #fff; font-size: clamp(4rem, 7vw, 7rem); line-height: .78; }
.night-profile-story p { max-width: 620px; color: rgba(255,255,255,.68); font-size: clamp(1rem, 1.2vw, 1.13rem); line-height: 1.85; }
.night-profile-gallery { padding-block: clamp(80px, 9vw, 130px); color: #181518; background: #ebe4da; }
.night-profile-gallery__heading { display: flex; align-items: end; justify-content: space-between; gap: 36px; margin-bottom: 46px; }
.night-profile-gallery__heading p { max-width: 520px; margin: 0; color: #625b57; line-height: 1.7; }
.night-profile-gallery h2 { margin: 12px 0 0; font-size: clamp(3.2rem, 6vw, 6rem); line-height: .84; }
.night-profile-gallery__grid { display: grid; width: min(1240px, 100%); margin-inline: auto; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 34px 30px; }
.night-gallery-item { position: relative; overflow: hidden; aspect-ratio: 4 / 3; padding: 0; border: 1px solid rgba(181,138,74,.32); border-radius: 0 52px 0 52px; background: #17131a; box-shadow: 13px 13px 0 rgba(181,138,74,.13); cursor: zoom-in; isolation: isolate; }
.night-gallery-item:nth-child(even) { border-radius: 52px 0 52px 0; box-shadow: -13px 13px 0 rgba(104,112,74,.13); }
.night-gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2,.7,.2,1), opacity .4s ease; }
.night-gallery-item::after { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,0,0,.68), transparent 48%); content: ""; opacity: .78; transition: opacity .3s ease; }
.night-gallery-item span { position: absolute; z-index: 2; bottom: 22px; left: 22px; color: #fff; font-family: var(--font-display); font-size: 1.45rem; }
.night-gallery-item:hover img { transform: scale(1.045); }
.night-gallery-item:hover::after { opacity: 1; }
.gallery-lightbox { width: 100vw; max-width: none; height: 100vh; max-height: none; padding: 0; overflow: hidden; border: 0; background: rgba(8,8,7,.96); }
.gallery-lightbox::backdrop { background: rgba(8,8,7,.96); }
.gallery-lightbox[open] { display: grid; align-items: center; justify-items: center; grid-template-columns: 90px minmax(0,1fr) 90px; }
.gallery-lightbox figure { display: flex; width: 100%; height: 100%; align-items: center; flex-direction: column; justify-content: center; margin: 0; padding: 50px 0; }
.gallery-lightbox figure img { max-width: min(1200px,100%); max-height: calc(100vh - 110px); object-fit: contain; }
.gallery-lightbox figcaption { margin-top: 12px; color: rgba(255,255,255,.7); font-family: var(--font-display); font-size: 1.2rem; }
.lightbox-close { position: absolute; z-index: 3; top: 20px; right: 25px; width: 48px; height: 48px; color: #fff; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; background: transparent; cursor: pointer; font-size: 1.8rem; }
.lightbox-arrow { width: 54px; height: 54px; color: #fff; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; background: transparent; cursor: pointer; font-size: 2rem; }
.night-profile-reserve { padding-block: clamp(68px, 8vw, 110px); background: #100d14; }
.night-profile-reserve__inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.night-profile-reserve h2 { margin: 10px 0 8px; color: #fff; font-size: clamp(3rem, 5vw, 5.2rem); line-height: .86; }
.night-profile-reserve p { color: rgba(255,255,255,.62); }
@media (max-width: 960px) {
  .night-profile-details__grid { grid-template-columns: 1fr; }
  .night-profile-details article, .night-profile-details article:first-child { min-height: auto; border-left: 0; border-right: 0; border-bottom: 1px solid rgba(20,17,22,.12); }
  .night-profile-story__grid { grid-template-columns: 1fr; }
  .night-profile-gallery__heading { align-items: start; flex-direction: column; }
  .night-profile-gallery__grid { width: min(760px, 100%); grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 26px; }
  .gallery-lightbox[open] { grid-template-columns: 54px minmax(0,1fr) 54px; }
  .lightbox-arrow { width: 42px; height: 42px; }
  .gallery-lightbox figure { padding: 70px 0 38px; }
}
@media (max-width: 620px) {
  .night-profile-hero, .night-profile-hero__content { min-height: 780px; }
  .night-profile-hero__content { padding-top: 110px; }
  .night-profile-hero__shade { background: linear-gradient(0deg, rgba(8,6,10,.98), rgba(8,6,10,.56) 85%); }
  .night-profile-hero__actions, .night-profile-reserve__inner { align-items: stretch; flex-direction: column; }
  .night-profile-gallery__grid { width: min(430px, 100%); grid-template-columns: 1fr; gap: 28px; }
  .night-gallery-item { width: 100%; border-radius: 0 38px 0 38px; box-shadow: 10px 10px 0 rgba(181,138,74,.13); }
  .night-gallery-item:nth-child(even) { border-radius: 38px 0 38px 0; box-shadow: -10px 10px 0 rgba(104,112,74,.13); }
  .night-gallery-item span { bottom: 14px; left: 14px; font-size: 1rem; }
}
@media (prefers-reduced-motion: reduce) { .night-gallery-item img { transition: none; } }
