:root {
  --black: #080808;
  --off-black: #0e0e0e;
  --white: #f5f3ef;
  --teal: #5efce8;
  --teal-dim: rgba(94,252,232,0.12);
  --gold: #c9a96e;
  --glass: rgba(255,255,255,0.04);
  --glass-border: rgba(255,255,255,0.09);
  --glass-border-strong: rgba(255,255,255,0.16);
  --nav-h: 72px;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior: smooth; }
body {
  background: var(--black);
  color: var(--white);
  font-family: 'Syne', sans-serif;
  overflow-x: hidden;
  cursor: none;
}

/* ── CURSOR ── */
#cur, #cur-ring {
  position: fixed; top:0; left:0;
  pointer-events: none; z-index: 9999;
  border-radius: 50%;
}
#cur { width:7px; height:7px; background:var(--teal); mix-blend-mode:difference; }
#cur-ring {
  width:34px; height:34px;
  border:1px solid rgba(94,252,232,0.35);
  transition: all 0.14s ease;
}
@media(hover:none){ #cur,#cur-ring{ display:none; } body{ cursor:auto; } }

/* ── NAV ── */
nav {
  position: fixed; top:0; left:0; right:0;
  height: var(--nav-h);
  z-index: 1000;
  display: flex; align-items:center; justify-content:space-between;
  padding: 0 56px;
  transition: background 0.4s, backdrop-filter 0.4s;
}
nav.scrolled {
  background: rgba(8,8,8,0.82);
  backdrop-filter: blur(24px);
  border-bottom: 1px solid var(--glass-border);
}
.nav-logo img {
  height: 28px;
  filter: brightness(0) invert(1);
  display: block;
}
.nav-links {
  display: flex; gap: 40px; align-items:center;
  list-style: none;
}
.nav-links a {
  font-size: 11px; letter-spacing:0.18em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.5);
  text-decoration: none;
  transition: color 0.3s;
}
.nav-links a:hover { color: var(--teal); }
.nav-page { color: rgba(255,255,255,0.7) !important; font-weight: 600 !important; }
.nav-page-active { color: var(--teal) !important; }
.nav-sep {
  width: 1px; height: 14px;
  background: rgba(255,255,255,0.15);
  align-self: center;
}
.nav-cta {
  padding: 10px 22px;
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 40px;
  color: var(--white) !important;
  transition: all 0.3s !important;
}
.nav-cta:hover {
  background: var(--teal-dim) !important;
  border-color: var(--teal) !important;
  color: var(--teal) !important;
}
.nav-ext {
  color: rgba(255,255,255,0.45) !important;
  font-size: 10px !important;
  letter-spacing: 0.14em !important;
  display: flex !important;
  align-items: center;
  gap: 4px;
}
.nav-ext::after {
  content: '↗';
  font-size: 10px;
  opacity: 0.6;
  transition: opacity 0.2s;
}
.nav-ext:hover { color: rgba(255,255,255,0.75) !important; }
.nav-ext:hover::after { opacity: 1; }
.nav-burger {
  display: none;
  flex-direction: column; gap:5px;
  cursor: pointer; padding: 4px;
}
.nav-burger span {
  display:block; width:24px; height:1px;
  background: var(--white);
  transition: all 0.3s;
}

@media(max-width:768px){
  nav { padding: 0 24px; }
  .nav-links {
    display:none; flex-direction:column; gap:0;
    position:fixed; top:var(--nav-h); left:0; right:0;
    height:calc(100svh - var(--nav-h));
    background:rgba(8,8,8,0.97); backdrop-filter:blur(30px);
    align-items:center; justify-content:center;
    padding: 40px 24px;
  }
  .nav-links.open { display:flex; }
  .nav-links li { width:100%; text-align:center; }
  .nav-links a { font-size:15px; padding:16px 0; display:block; color:rgba(255,255,255,0.6); letter-spacing:0.12em; }
  .nav-links a:hover, .nav-links a:active { color:var(--teal); }
  .nav-page { color:rgba(255,255,255,0.75) !important; font-weight:500 !important; }

  /* Fix BMP 3D link — override the !important */
  .nav-ext { font-size:12px !important; letter-spacing:0.18em !important; opacity:0.55; }
  .nav-ext::after { display:none; }

  /* Separator before external + CTA */
  .nav-links li:nth-child(5) { border-top:1px solid rgba(255,255,255,0.07); margin-top:8px; padding-top:8px; }

  /* CTA button — centered, not full-width */
  .nav-cta {
    display:inline-block !important;
    width:auto !important;
    margin:12px auto 0;
    padding:13px 36px !important;
    border-radius:50px;
    font-size:12px !important;
    color:var(--white) !important;
  }

  /* Burger → X animation */
  .nav-burger { display:flex; }
  .nav-burger span { transition: all 0.28s cubic-bezier(0.16,1,0.3,1); }
  .nav-burger.open span:nth-child(1) { transform:translateY(6px) rotate(45deg); }
  .nav-burger.open span:nth-child(2) { opacity:0; transform:scaleX(0); }
  .nav-burger.open span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }
}

/* ── GLASS ── */
.glass {
  background: var(--glass);
  backdrop-filter: blur(20px) saturate(160%);
  -webkit-backdrop-filter: blur(20px) saturate(160%);
  border: 1px solid var(--glass-border);
  border-radius: 18px;
}
.glass-strong {
  background: rgba(255,255,255,0.06);
  backdrop-filter: blur(36px) saturate(180%);
  -webkit-backdrop-filter: blur(36px) saturate(180%);
  border: 1px solid var(--glass-border-strong);
  border-radius: 18px;
  box-shadow: 0 8px 48px rgba(0,0,0,0.35), inset 0 1px 0 rgba(255,255,255,0.1);
}

/* ── SECTION BASE ── */
section { position:relative; overflow:hidden; }
.section-label {
  font-size:10px; letter-spacing:0.38em;
  text-transform:uppercase; color:var(--teal);
  margin-bottom:16px;
}
.section-title {
  font-family:'Cormorant Garamond',serif;
  font-weight:300; line-height:1.04;
  letter-spacing:-0.01em;
}

/* ── GRAIN ── */
.grain {
  position:fixed; inset:-50%; width:200%; height:200%;
  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='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  opacity:0.022; pointer-events:none; z-index:800;
  animation: gr 0.9s steps(1) infinite;
}
@keyframes gr {
  0%{transform:translate(0,0)} 10%{transform:translate(-2%,-3%)} 20%{transform:translate(3%,2%)}
  30%{transform:translate(-1%,4%)} 40%{transform:translate(4%,-1%)} 50%{transform:translate(-3%,1%)}
  60%{transform:translate(1%,-4%)} 70%{transform:translate(2%,3%)} 80%{transform:translate(-4%,-2%)}
  90%{transform:translate(3%,-3%)}
}

/* ── REVEAL ── */
.reveal {
  opacity:0; transform:translateY(32px);
  transition: opacity 0.8s cubic-bezier(0.16,1,0.3,1), transform 0.8s cubic-bezier(0.16,1,0.3,1);
}
.reveal.visible { opacity:1; transform:translateY(0); }
.reveal-delay-1 { transition-delay:0.1s; }
.reveal-delay-2 { transition-delay:0.2s; }
.reveal-delay-3 { transition-delay:0.3s; }
.reveal-delay-4 { transition-delay:0.4s; }

/* ── BUTTONS ── */
.btn-primary {
  display:inline-flex; align-items:center; gap:10px;
  padding:14px 32px;
  background:var(--teal); color:var(--black);
  border-radius:50px; font-size:11px; font-weight:700;
  letter-spacing:0.18em; text-transform:uppercase;
  text-decoration:none; cursor:pointer; border:none;
  transition: all 0.3s;
}
.btn-primary:hover { background:#3de8d4; transform:translateY(-2px); box-shadow:0 12px 40px rgba(94,252,232,0.3); }
.btn-ghost {
  font-size:11px; letter-spacing:0.18em;
  color:rgba(255,255,255,0.45);
  text-decoration:none; transition:color 0.3s;
}
.btn-ghost:hover { color:var(--white); }
.btn-outline {
  display:inline-flex; align-items:center; gap:10px;
  padding:14px 32px; border-radius:50px;
  border:1px solid rgba(255,255,255,0.2);
  font-size:11px; font-weight:600; letter-spacing:0.18em; text-transform:uppercase;
  color:rgba(255,255,255,0.7); text-decoration:none;
  transition:all 0.3s; backdrop-filter:blur(14px);
}
.btn-outline:hover { border-color:var(--teal); color:var(--teal); background:rgba(94,252,232,0.06); }

/* ═══ §1 HERO ═══ */
#hero { height: 100svh; min-height: 640px; display:flex; align-items:center; }
.hero-video-bg {
  position:absolute; inset:0; z-index:0; overflow:hidden;
}
.hero-video-bg video { width:100%; height:100%; object-fit:cover; }
.hero-video-bg::after {
  content:''; position:absolute; inset:0;
  background: linear-gradient(125deg, rgba(8,8,8,0.88) 30%, rgba(8,8,8,0.35) 80%, rgba(8,8,8,0.7) 100%);
}
.hero-inner {
  position:relative; z-index:10;
  padding: 0 56px;
  max-width:1280px; width:100%; margin: 0 auto;
  display:grid; grid-template-columns: 1fr;
  gap: 0; align-items:center;
}
.hero-eyebrow {
  font-size:10px; letter-spacing:0.4em;
  text-transform:uppercase; color:var(--teal);
  margin-bottom:28px;
  display:flex; align-items:center; gap:14px;
}
.hero-eyebrow::before { content:''; width:28px; height:1px; background:var(--teal); }
.hero-h1 {
  font-family:'Cormorant Garamond',serif;
  font-size: clamp(68px, 8.5vw, 128px);
  font-weight:300; line-height:0.92;
  letter-spacing:-0.025em; margin-bottom:36px;
}
.hero-h1 em { font-style:italic; color:var(--teal); }
.hero-sub {
  font-size:13px; line-height:1.85;
  color:rgba(255,255,255,0.5);
  max-width:380px; margin-bottom:48px;
}
.hero-actions { display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
.hero-card { position:relative; }
.hero-card-img {
  width:100%; height:460px;
  object-fit:cover; object-position:center top;
  border-radius:16px; display:block;
}
.hero-card-badge {
  position:absolute; bottom:20px; left:20px; right:20px; padding:16px 20px;
}
.hero-card-badge p { font-size:9px; letter-spacing:0.25em; color:var(--teal); margin-bottom:4px; }
.hero-card-badge h4 { font-size:14px; font-weight:600; }
.scroll-hint {
  position:absolute; bottom:36px; left:50%; transform:translateX(-50%);
  z-index:10; display:flex; flex-direction:column; align-items:center; gap:8px;
}
.scroll-hint span { font-size:9px; letter-spacing:0.3em; color:rgba(255,255,255,0.25); }
.scroll-line {
  width:1px; height:40px;
  background:linear-gradient(to bottom, rgba(94,252,232,0.5), transparent);
  animation: scrollPulse 2s infinite;
}
@keyframes scrollPulse { 0%,100%{opacity:0.3} 50%{opacity:1} }

@media(max-width:900px){
  .hero-inner { grid-template-columns:1fr; padding:0 28px; }
  .hero-card { display:none; }
  .hero-h1 { font-size: clamp(56px,13vw,90px); }
}
@media(max-width:480px){
  .hero-inner { padding:0 20px; }
  .hero-h1 { font-size: clamp(48px,14vw,72px); }
}

/* ═══ §2 ABOUT ═══ */
#about { padding: 120px 56px; background: var(--off-black); }
.about-inner {
  max-width: 1200px; margin: 0 auto;
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 64px; align-items: start;
}

/* Video + side stack pair */
.about-media-pair {
  display: flex;
  gap: 10px;
  height: 560px;
}
.about-main-media {
  flex: 2;
  border-radius: 14px;
  overflow: hidden;
  height: 100%;
}
.about-main-media video {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
}
.about-side-stack {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 10px;
  height: 100%;
}
.about-side-item {
  flex: 1;
  border-radius: 10px;
  overflow: hidden;
  min-height: 0;
}
.about-side-item video,
.about-side-item img {
  width: 100%; height: 100%;
  object-fit: cover; object-position: top; display: block;
}

.about-title { font-size:clamp(40px,4vw,60px); margin-bottom:28px; }
.about-title em { font-style:italic; color:var(--teal); }
.about-body { font-size:14px; line-height:1.9; color:rgba(255,255,255,0.55); margin-bottom:40px; }
.stat-row { display:flex; gap:36px; flex-wrap:wrap; }
.stat-n { font-family:'Cormorant Garamond',serif; font-size:52px; font-weight:300; color:var(--teal); line-height:1; }
.stat-l { font-size:9px; letter-spacing:0.2em; color:rgba(255,255,255,0.35); margin-top:4px; }

@media(max-width:900px){
  #about { padding: 80px 28px; }
  .about-inner { grid-template-columns: 1fr; gap: 40px; }
  .about-media-pair { height: 420px; }
}
@media(max-width:480px){
  #about { padding: 60px 20px; }
  .about-media-pair { height: 280px; }
}

/* ═══ §3 SISTEMA — STACK SCROLL ═══ */
#proceso {
  position: relative;
  background: var(--off-black);
  overflow: visible;
}
#proceso::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 0%, rgba(94,252,232,0.05) 0%, transparent 60%);
  pointer-events: none;
}
.proceso-header-wrap { padding: 120px 56px 80px; }
.proceso-inner { max-width: 1200px; margin: 0 auto; }
.proceso-header { margin-bottom: 0; }
.proceso-title { font-size: clamp(44px,5vw,72px); }

/* Scrollable stack section */
.proceso-stack-scroll {
  height: calc(6 * 100svh);
  position: relative;
}
.proceso-stack-sticky {
  position: sticky;
  top: 0;
  height: 100svh;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 80px;
  padding: 0 56px;
  overflow: hidden;
}

/* Cards */
.stack-cards-area {
  position: relative;
  width: 380px;
  height: 540px;
  flex-shrink: 0;
}
.stack-card {
  position: absolute;
  inset: 0;
  border-radius: 20px;
  overflow: hidden;
  will-change: transform, opacity;
  transform: translateY(110%);
  opacity: 0;
}
.stack-card img, .stack-card video {
  width: 100%; height: 100%;
  object-fit: cover; object-position: center top;
  display: block;
}
.stack-card-label {
  position: absolute;
  bottom: 16px; left: 16px;
  padding: 6px 14px;
  background: rgba(8,8,8,0.65);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 20px;
  font-size: 9px; letter-spacing: 0.22em;
  color: var(--teal);
}

/* Info panel */
.stack-info-area {
  flex: 1;
  max-width: 440px;
  position: relative;
  height: 360px;
}
.stack-info-item {
  position: absolute; inset: 0;
  display: flex; flex-direction: column; justify-content: center;
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.45s ease, transform 0.45s cubic-bezier(0.16,1,0.3,1);
  pointer-events: none;
}
.stack-info-item.active {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.stack-fase-num {
  font-size: 9px; letter-spacing: 0.32em;
  color: var(--teal); margin-bottom: 12px;
}
.stack-fase-name {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(40px,4.5vw,60px);
  font-weight: 300; line-height: 1.05;
  margin-bottom: 20px;
}
.stack-fase-desc {
  font-size: 13px; line-height: 1.9;
  color: rgba(255,255,255,0.5);
  max-width: 380px; margin-bottom: 40px;
}
.stack-progress-dots {
  display: flex; gap: 10px; align-items: center;
}
.stack-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: rgba(255,255,255,0.18);
  transition: background 0.3s, transform 0.3s, width 0.3s;
}
.stack-dot.active {
  background: var(--teal);
  transform: scale(1.5);
}

@media(max-width:960px){
  .proceso-header-wrap { padding: 80px 28px 48px; }
  .proceso-stack-scroll { height: calc(7 * 100svh); }
  .proceso-stack-sticky {
    flex-direction: column;
    gap: 28px;
    padding: var(--nav-h) 24px 24px;
    justify-content: center;
  }
  .stack-cards-area { width: 260px; height: 260px; }
  .stack-info-area { max-width: 100%; text-align: center; height: 260px; min-height: 200px; }
  .stack-info-item { align-items: center; }
  .stack-progress-dots { justify-content: center; }
  .stack-fase-desc { max-width: 100%; }
}
@media(max-width:480px){
  .stack-cards-area { width: 200px; height: 220px; }
  .stack-info-area { height: 220px; }
  .stack-fase-name { font-size: 28px; }
  .stack-fase-desc { margin-bottom: 16px; }
}

/* ── PROCESO GRID (moda.html) ── */
.proceso-grid-wrap {
  padding: 0 56px 120px;
}
.proceso-grid {
  max-width: 1200px; margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
}
.proceso-item {
  display: flex; flex-direction: column;
  border: 1px solid rgba(255,255,255,0.06);
  overflow: hidden;
  background: var(--off-black);
  transition: border-color 0.4s;
}
.proceso-item:hover { border-color: rgba(94,252,232,0.18); }
.proceso-item-media {
  position: relative; height: 280px; overflow: hidden;
}
.proceso-item-media img,
.proceso-item-media video {
  width: 100%; height: 100%;
  object-fit: cover; object-position: center top;
  display: block;
  transition: transform 0.7s cubic-bezier(0.16,1,0.3,1);
}
.proceso-item:hover .proceso-item-media img,
.proceso-item:hover .proceso-item-media video { transform: scale(1.05); }
.proceso-item-body {
  padding: 24px 28px 32px;
  flex: 1;
}
.proceso-item-num {
  font-size: 9px; letter-spacing: 0.32em;
  color: var(--teal); margin-bottom: 10px;
}
.proceso-item-name {
  font-family: 'Cormorant Garamond', serif;
  font-size: 28px; font-weight: 400;
  margin-bottom: 12px; line-height: 1.1;
}
.proceso-item-desc {
  font-size: 12px; line-height: 1.85;
  color: rgba(255,255,255,0.42);
}

@media(max-width:900px){
  .proceso-grid-wrap { padding: 0 28px 80px; }
  .proceso-grid { grid-template-columns: repeat(2, 1fr); }
  .proceso-item-media { height: 220px; }
}
@media(max-width:560px){
  .proceso-grid { grid-template-columns: 1fr; }
  .proceso-item-media { height: 200px; }
}

/* ═══ §3.5 MODELOS ═══ */
#modelos { padding: 120px 0; background: var(--off-black); overflow: hidden; }
.modelos-inner {
  max-width: 1200px; margin: 0 auto;
  padding: 0 56px 56px;
}
.modelos-title { font-size: clamp(44px, 5vw, 72px); margin-bottom: 20px; }
.modelos-title em { font-style: italic; color: var(--teal); }
.modelos-sub {
  font-size: 14px; line-height: 1.9;
  color: rgba(255,255,255,0.5);
  max-width: 560px;
}
.faces-track-wrap { overflow: hidden; }
.faces-track {
  display: flex; gap: 10px;
  animation: faces-marquee 50s linear infinite;
  width: max-content;
}
.faces-track:hover { animation-play-state: paused; }
.faces-track img {
  height: 220px; width: auto; flex-shrink: 0;
  border-radius: 10px; object-fit: cover;
  object-position: center top; display: block;
}
@keyframes faces-marquee { from { transform: translateX(0) } to { transform: translateX(-50%) } }

@media(max-width:900px){
  #modelos { padding: 80px 0; }
  .modelos-inner { padding: 0 28px 40px; }
  .faces-track img { height: 160px; }
}

/* ═══ §4 SERVICIOS ═══ */
#servicios { padding: 120px 56px; background: var(--black); }
.servicios-inner { max-width:1200px; margin:0 auto; }
.servicios-header { margin-bottom:56px; }
.servicios-title { font-size:clamp(44px,5vw,72px); }
.servicios-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.srv-card {
  position:relative; overflow:hidden; border-radius:16px;
  cursor:pointer; height:420px;
  transition:transform 0.5s cubic-bezier(0.16,1,0.3,1);
}
.srv-card:hover { transform:scale(1.025); }
.srv-card img, .srv-card video {
  width:100%; height:100%; object-fit:cover;
  transition:transform 0.6s cubic-bezier(0.16,1,0.3,1); display:block;
}
.srv-card:hover img, .srv-card:hover video { transform:scale(1.06); }
.srv-overlay { position:absolute; inset:0; background:linear-gradient(to top, rgba(8,8,8,0.92) 0%, rgba(8,8,8,0.05) 55%); }
.srv-content { position:absolute; bottom:0; left:0; right:0; padding:24px 20px; }
.srv-type { font-size:9px; letter-spacing:0.3em; color:var(--teal); margin-bottom:6px; }
.srv-name { font-family:'Cormorant Garamond',serif; font-size:28px; font-weight:400; }
.srv-tag {
  position:absolute; top:16px; left:16px; padding:6px 12px;
  background:rgba(8,8,8,0.55); backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,0.1); border-radius:20px;
  font-size:9px; letter-spacing:0.2em; color:rgba(255,255,255,0.65);
}
/* Brand Film full-width card */
.srv-film {
  grid-column: 1 / -1;
  height: 320px;
}

@media(max-width:1100px){ .servicios-grid { grid-template-columns:repeat(2,1fr); } .srv-card { height:320px; } .srv-film { height:260px; } }
@media(max-width:600px){
  #servicios { padding:80px 20px; }
  .servicios-grid { grid-template-columns:1fr; }
  .srv-card { height:auto; aspect-ratio:4/5; }
  .srv-film { height:auto; aspect-ratio:16/7; }
}

/* ═══ §5 REEL ═══ */
#reel { position:relative; height:70vh; min-height:440px; overflow:hidden; }
#reel video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
#reel::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(to bottom, rgba(8,8,8,0.5) 0%, rgba(8,8,8,0.2) 40%, rgba(8,8,8,0.7) 100%);
}
.reel-content {
  position:relative; z-index:10; height:100%;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; padding:0 24px;
}
.reel-label { font-size:10px; letter-spacing:0.4em; color:var(--teal); margin-bottom:16px; }
.reel-title { font-family:'Cormorant Garamond',serif; font-size:clamp(48px,7vw,100px); font-weight:300; line-height:0.95; }
.reel-title em { font-style:italic; color:var(--teal); }

/* ═══ §6 TARIFAS ═══ */
#tarifas { padding:120px 56px; }
#tarifas::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse at 20% 50%, rgba(94,252,232,0.04) 0%, transparent 55%);
}
.tarifas-inner { max-width:1200px; margin:0 auto; position:relative; z-index:1; }
.tarifas-header { margin-bottom:56px; }
.tarifas-title { font-size:clamp(44px,5vw,72px); }
.tarifas-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:18px; }
/* Fila 1: 3 detail cards, 2/6 = 33% cada una */
.tar-card:not(.tar-pack) { grid-column: span 2; }
/* Fila 2: 2 pack cards, 3/6 = 50% cada una */
.tar-pack { grid-column: span 3; }
.tar-pack-desde {
  font-family:'Cormorant Garamond',serif;
  font-size: 36px; font-weight:300;
  color: var(--teal); margin: 16px 0 12px;
}
.tar-pack-desde strong { font-weight:400; }
.tar-pack-desc {
  font-size: 13px; line-height: 1.8;
  color: rgba(255,255,255,0.45);
}
.tar-pack-alt { background: rgba(94,252,232,0.05) !important; border-color: rgba(94,252,232,0.18) !important; }
.tar-card { padding:32px 28px; }
.tar-card.featured { background:rgba(94,252,232,0.06) !important; border-color:rgba(94,252,232,0.22) !important; }
.tar-cat { font-size:9px; letter-spacing:0.32em; color:var(--teal); margin-bottom:10px; }
.tar-name { font-family:'Cormorant Garamond',serif; font-size:30px; font-weight:400; margin-bottom:24px; }
.tar-row { display:flex; align-items:baseline; gap:8px; padding:10px 0; border-bottom:1px solid rgba(255,255,255,0.055); }
.tar-row:last-of-type { border-bottom:none; }
.tar-lbl { font-size:11px; color:rgba(255,255,255,0.4); flex:1; }
.tar-price { font-family:'Cormorant Garamond',serif; font-size:24px; font-weight:300; }
.tar-price sub { font-family:'Syne',sans-serif; font-size:10px; color:rgba(255,255,255,0.38); vertical-align:baseline; }
.tar-divider { border:none; border-top:1px solid rgba(255,255,255,0.07); margin:14px 0; }
.tar-sublbl {
  font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase;
  color: rgba(255,255,255,0.55); margin: 14px 0 6px;
}
.tar-sublbl span { text-transform: none; letter-spacing: 0; color: rgba(255,255,255,0.3); font-size: 10px; }
.tarifas-note {
  margin-top:28px; padding:18px 24px;
  display:flex; gap:40px; flex-wrap:wrap;
  font-size:11px; color:rgba(255,255,255,0.38); letter-spacing:0.05em;
}
.tarifas-note strong { color:var(--teal); font-weight:600; }

@media(max-width:900px){
  #tarifas { padding:80px 28px; }
  .tarifas-grid { grid-template-columns:1fr; }
  .tar-pack, .tar-card:not(.tar-pack) { grid-column: span 1; }
}

/* ═══ §7 CASE STUDY ═══ */
#case { padding:120px 56px; background:var(--off-black); overflow:hidden; }
.case-inner {
  max-width:1200px; margin:0 auto;
  display:grid; grid-template-columns:1fr 1fr;
  gap:80px; align-items:center;
}
.case-media { position:relative; border-radius:16px; overflow:hidden; height:540px; }
.case-media video, .case-media img { width:100%; height:100%; object-fit:cover; display:block; }
.case-media-overlay { position:absolute; inset:0; background:linear-gradient(to top, rgba(8,8,8,0.6) 0%, transparent 50%); }
.case-media-tag { position:absolute; top:20px; left:20px; padding:8px 16px; font-size:10px; letter-spacing:0.2em; color:var(--teal); }
.case-eyebrow { display:flex; align-items:center; gap:12px; margin-bottom:16px; }
.case-eyebrow-line { width:28px; height:1px; background:var(--teal); }
.case-eyebrow span { font-size:10px; letter-spacing:0.3em; color:var(--teal); }
.case-client { font-size:11px; letter-spacing:0.2em; color:rgba(255,255,255,0.35); margin-bottom:8px; }
.case-title { font-size:clamp(48px,5vw,72px); margin-bottom:24px; }
.case-tags { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:28px; }
.ctag { padding:6px 14px; border-radius:20px; border:1px solid rgba(255,255,255,0.12); font-size:9px; letter-spacing:0.15em; color:rgba(255,255,255,0.45); }
.case-body { font-size:13px; line-height:1.9; color:rgba(255,255,255,0.52); margin-bottom:40px; }
.case-stats { display:flex; gap:36px; flex-wrap:wrap; }
.cs-val { font-family:'Cormorant Garamond',serif; font-size:48px; font-weight:300; color:var(--teal); line-height:1; }
.cs-lbl { font-size:9px; letter-spacing:0.2em; color:rgba(255,255,255,0.32); margin-top:4px; }

/* Case gallery strip */
.case-gallery {
  max-width: 1200px; margin: 56px auto 0;
  padding: 0 56px;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 12px;
}
.case-gallery-item {
  border-radius: 12px; overflow: hidden; height: 220px;
}
.case-gallery-item img, .case-gallery-item video {
  width: 100%; height: 100%; object-fit: cover;
  object-position: center top; display: block;
  transition: transform 0.5s cubic-bezier(0.16,1,0.3,1);
}
.case-gallery-item:hover img, .case-gallery-item:hover video { transform: scale(1.05); }

@media(max-width:900px){ #case { padding:80px 28px; } .case-inner { grid-template-columns:1fr; gap:40px; } .case-media { height:320px; } .case-gallery { grid-template-columns: repeat(3,1fr); padding: 0 28px; } }
@media(max-width:600px){ .case-gallery { grid-template-columns: repeat(2,1fr); padding: 0 20px; } .case-gallery-item { height:auto; aspect-ratio:1/1; } }
@media(max-width:480px){ #case { padding:60px 20px; } .case-media { height:260px; } .case-title { font-size: clamp(36px,10vw,56px); } .case-stats { gap:20px; } .cs-val { font-size:36px; } .case-gallery { grid-template-columns: repeat(2,1fr); padding: 0; } }

/* ═══ §8 GALERÍA ═══ */
#galeria { padding:100px 0; overflow:hidden; background:var(--black); }
.gallery-track-wrap { overflow:hidden; }
.gallery-track {
  display:flex; gap:16px;
  animation: marquee 90s linear infinite;
  width:max-content;
}
.gallery-track img, .gallery-track video {
  height:320px; width:auto; flex-shrink:0;
  border-radius:12px; object-fit:cover; display:block;
}
@keyframes marquee { from{transform:translateX(0)} to{transform:translateX(-50%)} }
.gallery-track-wrap2 { overflow:hidden; margin-top:16px; }
.gallery-track2 {
  display:flex; gap:16px;
  animation: marquee2 105s linear infinite;
  width:max-content;
}
.gallery-track2 img, .gallery-track2 video {
  height:220px; width:auto; flex-shrink:0;
  border-radius:12px; object-fit:cover; display:block;
}
@keyframes marquee2 { from{transform:translateX(-50%)} to{transform:translateX(0)} }

/* ═══ §9 CTA ═══ */
#cta { padding:80px 0; min-height:90vh; display:flex; align-items:center; justify-content:center; position:relative; text-align:center; }
.cta-bg { position:absolute; inset:0; background-size:cover; background-position:center; }
.cta-bg::after { content:''; position:absolute; inset:0; background:linear-gradient(160deg, rgba(8,8,8,0.92) 0%, rgba(8,8,8,0.65) 100%); }
.cta-inner { position:relative; z-index:10; padding:0 28px; }
.cta-title { font-family:'Cormorant Garamond',serif; font-size:clamp(56px,8vw,116px); font-weight:300; line-height:0.94; letter-spacing:-0.02em; margin-bottom:28px; }
.cta-title em { font-style:italic; color:var(--teal); }
.cta-sub { font-size:13px; line-height:1.75; color:rgba(255,255,255,0.45); max-width:420px; margin:0 auto 48px; }
.cta-actions { display:flex; gap:20px; justify-content:center; flex-wrap:wrap; }

/* ─ CONTACT FORM ─ */
.cta-form {
  display: flex; flex-direction: column; gap: 12px;
  max-width: 400px; width: 100%; margin: 0 auto; text-align: left;
}
.cta-form input,
.cta-form textarea {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 8px;
  padding: 14px 18px;
  color: var(--white);
  font-family: 'Syne', sans-serif;
  font-size: 13px;
  width: 100%;
  outline: none;
  transition: border-color 0.2s;
}
.cta-form input:focus,
.cta-form textarea:focus { border-color: var(--teal); }
.cta-form input::placeholder,
.cta-form textarea::placeholder { color: rgba(255,255,255,0.25); }
.cta-form textarea { resize: none; height: 110px; }
.cta-form-row { display: flex; gap: 12px; }
.cta-form-row input { flex: 1; min-width: 0; }
.cta-form .btn-primary { width: 100%; justify-content: center; cursor: pointer; border: none; }
.cta-form .btn-primary:disabled { opacity: 0.5; cursor: not-allowed; }
.cta-form-success {
  color: var(--teal); font-size: 12px; text-align: center;
  letter-spacing: 0.1em; padding: 8px 0;
}
@media(max-width:560px){
  .cta-form-row { flex-direction: column; }
}

/* ── FOOTER ── */
footer {
  padding:40px 56px;
  border-top:1px solid rgba(255,255,255,0.07);
  display:flex; align-items:center; justify-content:space-between;
  font-size:11px; color:rgba(255,255,255,0.25); letter-spacing:0.08em;
  background: var(--black);
}
footer img { height:20px; filter:invert(1); opacity:0.4; }
@media(max-width:600px){ footer { flex-direction:column; gap:16px; text-align:center; padding:32px 24px; } }

/* ── LARGE SCREENS ── */
@media(min-width:1600px){
  nav { padding: 0 80px; }
  footer { padding: 48px 80px; }
  .manif-inner,
  .proceso-inner,
  .modelos-inner,
  .servicios-inner,
  .tarifas-inner,
  .calc-inner { max-width: 1440px; }
  .case-inner { max-width: 1440px; margin: 0 auto; }
  .case-gallery { max-width: 1440px; margin: 0 auto; }
}
