/* ============================================================
   ELEONORA STICONI · Potenciando tu SER ®
   "Lo sagrado y lo terrenal" — plum-noche cósmico, oro sagrado,
   sage terrenal. Líneas de oro tipo constelación como hilo.
   Editorial crema (igual que la landing): Italiana · Cormorant · Inter.
   Hoja compartida por todo el sitio (home + subpáginas).
   ============================================================ */

:root{
  --night:    #171310;
  --night-2:  #221C17;
  --plum:     #211B16;
  --plum-d:   #171310;
  --wine:     #A8845C;
  --gold:     #A8845C;
  --gold-l:   #C9A87D;
  --gold-soft:rgba(168,132,92,.18);
  --sage:     #8A7B66;
  --sage-d:   #6E6862;
  --rose:     #C9A87D;
  --linen:    #EAE3D6;
  --linen-2:  #F4EFE6;
  --ink:      #1A1815;
  --soft:     #6E6862;
  --cream:    #F3EDE4;

  --shadow:   0 36px 90px -40px rgba(26,20,14,.5);
  --shadow-sm:0 18px 40px -20px rgba(26,20,14,.32);
  --line-d:   rgba(243,237,228,.16);
  --line-l:   rgba(26,24,21,.12);

  --rad:      0px;
  --rad-sm:   0px;

  --display:  "Cormorant Garamond", Georgia, serif;
  --label:    "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --body:     "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  font-family:var(--body);
  color:var(--ink);
  background:var(--linen);
  line-height:1.7;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,svg,video{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; border:none; background:none; }
em,i{ font-style:italic; }
:focus-visible{ outline:2.5px solid var(--gold); outline-offset:3px; border-radius:3px; }

.container{ max-width:1180px; margin:0 auto; padding:0 26px; }
.container-tight{ max-width:880px; margin:0 auto; padding:0 26px; }

/* ============ TIPOGRAFÍA ============ */
h1,h2,h3,h4{ font-family:var(--display); font-weight:500; line-height:1.08; letter-spacing:0; color:var(--plum); }
h1{ font-weight:400; }
h2{ font-size:clamp(33px,5vw,58px); }
h3{ font-size:clamp(22px,2.2vw,28px); }
h2 em, h1 em, h3 em{ font-style:italic; color:var(--wine); }

.eye{
  display:inline-flex; align-items:center; gap:12px;
  font-family:var(--label);
  font-size:13px; letter-spacing:.26em; text-transform:uppercase;
  color:var(--gold); margin-bottom:22px;
}
.eye::before{ content:""; width:30px; height:1px; background:currentColor; opacity:.7; }
.eye.solo::before{ display:none; }
.eye.light{ color:var(--gold-l); }

.head{ text-align:center; max-width:680px; margin:0 auto 58px; }
.head .eye{ justify-content:center; }
.head p{ color:rgba(42,32,48,.66); margin-top:18px; font-size:17.5px; }
.head.on-dark h2{ color:var(--cream); }
.head.on-dark p{ color:rgba(244,237,225,.7); }
.head.on-dark h2 em{ color:var(--gold-l); }

.lead{ font-size:clamp(17px,1.7vw,20px); color:rgba(42,32,48,.74); }

/* ============ BOTONES ============ */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:15px 30px; border-radius:50px;
  font-family:var(--body); font-weight:700; font-size:14.5px; letter-spacing:.02em;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease, border-color .25s ease;
}
.btn-gold{ background:linear-gradient(135deg, var(--gold) 0%, #B58A38 100%); color:var(--night); box-shadow:var(--shadow-sm); }
.btn-gold:hover{ transform:translateY(-2px); box-shadow:0 22px 44px -18px rgba(201,162,75,.6); }
.btn-plum{ background:var(--plum); color:var(--cream); }
.btn-plum:hover{ background:var(--plum-d); transform:translateY(-2px); }
.btn-line{ color:var(--plum); border:1.5px solid var(--line-l); }
.btn-line:hover{ border-color:var(--wine); color:var(--wine); }
.btn-line-light{ color:var(--cream); border:1.5px solid var(--line-d); }
.btn-line-light:hover{ border-color:var(--gold-l); color:var(--gold-l); }
.btn-lg{ padding:17px 34px; font-size:15.5px; }

.arrow-link{
  display:inline-flex; align-items:center; gap:9px;
  font-family:var(--label); font-size:14px; letter-spacing:.06em;
  color:var(--gold); transition:gap .25s ease, color .25s ease;
}
.arrow-link:hover{ gap:15px; color:var(--wine); }

/* ============ NAVBAR ============ */
.nav{
  position:fixed; inset:0 0 auto 0; z-index:100;
  padding:20px 0; transition:padding .3s ease, background .3s ease, box-shadow .3s ease;
}
.nav.scrolled{
  background:rgba(30,22,34,.82); backdrop-filter:blur(16px) saturate(140%);
  padding:12px 0; box-shadow:0 1px 0 var(--line-d);
}
.nav-inner{ max-width:1280px; margin:0 auto; padding:0 26px; display:flex; align-items:center; justify-content:space-between; gap:22px; }

.brand{ display:inline-flex; align-items:center; gap:13px; }
.brand-mark{
  width:42px; height:42px; flex-shrink:0; position:relative;
  display:grid; place-items:center; border-radius:50%;
  border:1px solid rgba(201,162,75,.5);
}
.brand-mark svg{ width:24px; height:24px; color:var(--gold); }
.brand-word{ display:flex; flex-direction:column; line-height:1.1; }
.brand-name{ font-family:var(--display); font-size:23px; font-weight:500; color:var(--cream); letter-spacing:.01em; }
.brand-sub{ font-family:var(--label); font-size:9.5px; letter-spacing:.24em; text-transform:uppercase; color:var(--gold); }

.nav-desk{ display:flex; gap:30px; align-items:center; }
.nav-desk a{ font-size:14px; font-weight:600; color:rgba(244,237,225,.82); position:relative; transition:color .2s ease; }
.nav-desk a::after{ content:""; position:absolute; left:0; bottom:-6px; width:0; height:1.5px; background:var(--gold); transition:width .25s ease; }
.nav-desk a:hover{ color:var(--gold-l); }
.nav-desk a:hover::after{ width:100%; }
.nav-desk a.current{ color:var(--gold-l); }
.nav-desk a.current::after{ width:100%; }

.nav-cta{
  display:inline-flex; align-items:center; padding:11px 24px;
  background:linear-gradient(135deg, var(--gold) 0%, #B58A38 100%); color:var(--night);
  font-size:13px; font-weight:700; border-radius:50px;
  transition:transform .25s ease, box-shadow .25s ease;
}
.nav-cta:hover{ transform:translateY(-2px); box-shadow:0 16px 34px -14px rgba(201,162,75,.6); }

.nav-toggle{ display:none; flex-direction:column; gap:6px; padding:8px; }
.nav-toggle span{ width:24px; height:2px; background:var(--cream); border-radius:2px; transition:transform .3s ease, opacity .3s ease; }

.nav-mobile{
  position:fixed; inset:0; z-index:200;
  background:linear-gradient(165deg, var(--plum), var(--night));
  display:flex; flex-direction:column; padding:24px 28px 44px;
  opacity:0; pointer-events:none; transform:translateY(-12px);
  transition:opacity .35s ease, transform .4s cubic-bezier(.2,.7,.3,1);
}
.nav-mobile.open{ opacity:1; pointer-events:all; transform:none; }
.nav-mobile-head{ display:flex; align-items:center; justify-content:space-between; }
.nav-mobile-head .brand-name{ color:var(--cream); }
.nav-close{ position:relative; width:42px; height:42px; flex-shrink:0; border-radius:50%; border:1px solid var(--line-d); display:grid; place-items:center; }
.nav-close span{ position:absolute; width:18px; height:2px; background:var(--cream); border-radius:2px; }
.nav-close span:first-child{ transform:rotate(45deg); }
.nav-close span:last-child{ transform:rotate(-45deg); }
.nav-mobile-links{ flex:1; display:flex; flex-direction:column; justify-content:center; gap:4px; }
.nav-mobile-links a{
  font-family:var(--display); font-size:clamp(28px,8vw,38px); font-weight:400; font-style:italic;
  color:var(--cream); padding:9px 0; border-bottom:1px solid var(--line-d);
  transition:color .2s ease, padding-left .25s ease;
}
.nav-mobile-links a:hover{ color:var(--gold-l); padding-left:10px; }
.nav-mobile .m-cta{ display:inline-flex; align-items:center; justify-content:center; font-family:var(--body); font-size:15px; font-weight:700; padding:16px 30px; margin-top:22px; background:var(--gold); color:var(--night); border-radius:50px; }

/* ============ HERO (compartido) ============ */
.hero{
  position:relative; min-height:100dvh;
  display:flex; align-items:center;
  padding:150px 0 90px; overflow:hidden;
  background:var(--night);
}
.hero-media{ position:absolute; inset:0; z-index:0; }
.hero-vid{ width:100%; height:100%; object-fit:cover; }
.hero-veil{
  position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(30,22,34,.55) 0%, rgba(30,22,34,.6) 50%, rgba(30,22,34,.92) 100%),
    radial-gradient(80% 60% at 20% 40%, rgba(30,22,34,.4), transparent 70%);
}
.hero-constellation{ position:absolute; inset:0; z-index:1; pointer-events:none; opacity:.55; }
.hero-inner{ position:relative; z-index:2; width:100%; }

.hero-eye{
  display:inline-flex; align-items:center; gap:12px;
  font-family:var(--label); font-size:13px; letter-spacing:.26em; text-transform:uppercase;
  color:var(--gold-l); margin-bottom:26px;
}
.hero-eye::before, .hero-eye::after{ content:""; width:34px; height:1px; background:currentColor; opacity:.6; }
.hero-eye.no-after::after{ display:none; }

.hero-title{
  font-family:var(--display); font-weight:400;
  font-size:clamp(46px,8vw,104px); line-height:1; color:var(--cream);
  letter-spacing:.005em; margin-bottom:8px;
}
.hero-title em{ color:var(--gold-l); }
.hero-reg{ font-size:.32em; vertical-align:super; color:var(--gold); font-family:var(--body); }
.hero-tag{
  font-family:var(--display); font-style:italic;
  font-size:clamp(20px,2.6vw,30px); color:rgba(244,237,225,.86);
  margin:14px 0 26px; max-width:22ch;
}
.hero-roles{
  display:flex; flex-wrap:wrap; gap:10px 18px; align-items:center;
  font-family:var(--label); font-size:12px; letter-spacing:.16em; text-transform:uppercase;
  color:rgba(244,237,225,.62); margin-bottom:34px;
}
.hero-roles .dot{ color:var(--gold); }
.hero-cta{ display:flex; flex-wrap:wrap; gap:14px; }

.hero-scroll{
  position:absolute; left:50%; bottom:28px; transform:translateX(-50%); z-index:3;
  display:flex; flex-direction:column; align-items:center; gap:10px;
  font-family:var(--label); font-size:10.5px; letter-spacing:.3em; text-transform:uppercase;
  color:rgba(244,237,225,.6);
}
.hero-scroll span{ width:1px; height:42px; background:linear-gradient(var(--gold), transparent); }

/* HERO subpágina */
.hero-sub{ min-height:78vh; }
.hero-sub .hero-title{ font-size:clamp(40px,6vw,76px); }
.hero-breadcrumb{
  display:inline-flex; gap:10px; align-items:center;
  font-family:var(--label); font-size:11.5px; letter-spacing:.18em; text-transform:uppercase;
  color:rgba(244,237,225,.55); margin-bottom:22px;
}
.hero-breadcrumb a{ color:var(--gold-l); }
.hero-breadcrumb .sep{ opacity:.5; }
.hero-stats{ display:flex; gap:30px; margin-top:30px; flex-wrap:wrap; }
.hero-stat strong{ display:block; font-family:var(--display); font-size:38px; color:var(--gold-l); line-height:1; }
.hero-stat span{ font-family:var(--label); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:rgba(244,237,225,.6); }

/* ============ FRANJA MARQUEE ============ */
.strip{ background:var(--plum); padding:26px 0; overflow:hidden; }
.strip-row{ display:flex; gap:40px; white-space:nowrap; animation:marquee 28s linear infinite; }
.strip-row span{ font-family:var(--label); font-size:14px; letter-spacing:.2em; text-transform:uppercase; color:rgba(244,237,225,.62); display:inline-flex; align-items:center; gap:40px; }
.strip-row span::after{ content:"✦"; color:var(--gold); }
@keyframes marquee{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

/* ============ SOBRE / SPLIT ============ */
.split{ padding:110px 0; }
.split-grid{ display:grid; grid-template-columns:1fr 1.05fr; gap:60px; align-items:center; }
.split-grid.reverse .split-media{ order:2; }
.split-media{ position:relative; }
.split-media img{ width:100%; border-radius:var(--rad); box-shadow:var(--shadow); aspect-ratio:4/5; object-fit:cover; }
.split-frame{ position:absolute; inset:18px -18px -18px 18px; border:1px solid var(--gold); border-radius:var(--rad); z-index:-1; }
.split-tag{
  position:absolute; bottom:20px; left:-16px;
  background:var(--gold); color:var(--night);
  font-family:var(--label); font-size:11px; letter-spacing:.16em; text-transform:uppercase;
  padding:10px 18px; border-radius:8px; box-shadow:var(--shadow-sm);
}
.split-text p{ color:rgba(42,32,48,.76); margin-bottom:16px; font-size:16.5px; }
.split-text h2{ margin-bottom:20px; }
.cred-list{ list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:10px 22px; margin:24px 0 28px; }
.cred-list li{ display:flex; gap:10px; align-items:flex-start; font-size:14.5px; color:rgba(42,32,48,.8); }
.cred-list .ci{ color:var(--gold); flex-shrink:0; }

/* ============ STATS BANNER ============ */
.stats{ background:linear-gradient(160deg, var(--night), var(--plum)); padding:74px 0; position:relative; overflow:hidden; }
.stats::before{ content:""; position:absolute; inset:0; background:radial-gradient(60% 100% at 80% 0%, var(--gold-soft), transparent 60%); }
.stats-grid{ position:relative; display:grid; grid-template-columns:repeat(3,1fr); gap:30px; text-align:center; }
.stat strong{ display:block; font-family:var(--display); font-size:clamp(46px,6vw,72px); color:var(--gold-l); line-height:1; }
.stat span{ font-family:var(--label); font-size:12.5px; letter-spacing:.16em; text-transform:uppercase; color:rgba(244,237,225,.7); margin-top:8px; display:block; }

/* ============ GRID DE SERVICIOS ============ */
.offer{ padding:110px 0; }
.offer.dark{ background:var(--night); }
.offer-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(290px,1fr)); gap:22px; }
.ocard{
  position:relative; display:flex; flex-direction:column;
  background:var(--linen-2); border:1px solid var(--line-l);
  border-radius:var(--rad); padding:34px 30px 30px; overflow:hidden;
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.offer.dark .ocard{ background:rgba(244,237,225,.04); border-color:var(--line-d); }
.ocard:hover{ transform:translateY(-6px); box-shadow:var(--shadow); border-color:var(--gold); }
.ocard-ix{ font-family:var(--label); font-size:12px; letter-spacing:.2em; color:var(--gold); margin-bottom:18px; }
.ocard h3{ margin-bottom:10px; }
.offer.dark .ocard h3{ color:var(--cream); }
.ocard p{ font-size:14.5px; color:rgba(42,32,48,.66); flex:1; margin-bottom:20px; }
.offer.dark .ocard p{ color:rgba(244,237,225,.66); }
.ocard .arrow-link{ align-self:flex-start; }
.ocard-glyph{ position:absolute; top:-10px; right:-10px; width:96px; height:96px; opacity:.1; color:var(--gold); }
.offer.dark .ocard-glyph{ opacity:.16; }

/* ============ SUBPÁGINA SERVICIO ============ */
.svc{ padding:100px 0; }
.svc-intro{ max-width:760px; margin:0 auto 70px; text-align:center; }
.svc-intro .lead{ margin-top:6px; }
.prose{ max-width:760px; margin:0 auto; }
.prose p{ font-size:17px; color:rgba(42,32,48,.8); margin-bottom:22px; }
.prose p.big{ font-family:var(--display); font-style:italic; font-size:clamp(22px,2.6vw,30px); color:var(--wine); line-height:1.4; }

.pillars{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin:14px 0; }
.pillar{ background:var(--linen-2); border:1px solid var(--line-l); border-radius:var(--rad-sm); padding:28px 24px; }
.pillar .pn{ font-family:var(--display); font-size:34px; color:var(--gold); line-height:1; }
.pillar h4{ font-family:var(--display); font-size:21px; margin:10px 0 6px; }
.pillar p{ font-size:14px; color:rgba(42,32,48,.68); margin:0; }

.usefor{ list-style:none; counter-reset:u; display:flex; flex-direction:column; gap:18px; margin:10px 0; }
.usefor li{ counter-increment:u; display:flex; gap:20px; align-items:flex-start; padding-bottom:18px; border-bottom:1px solid var(--line-l); }
.usefor li::before{ content:counter(u,decimal-leading-zero); font-family:var(--display); font-size:26px; color:var(--gold); line-height:1; flex-shrink:0; min-width:42px; }
.usefor strong{ display:block; font-family:var(--display); font-size:20px; font-weight:600; color:var(--plum); }
.usefor span{ font-size:15px; color:rgba(42,32,48,.72); }

.benefits{ background:var(--night); padding:96px 0; }
.benefits .head h2{ color:var(--cream); }
.benefits .head h2 em{ color:var(--gold-l); }
.benefits .head p{ color:rgba(244,237,225,.66); }
.ben-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(240px,1fr)); gap:18px; }
.ben{ display:flex; gap:14px; align-items:flex-start; background:rgba(244,237,225,.04); border:1px solid var(--line-d); border-radius:var(--rad-sm); padding:24px 22px; }
.ben .bi{ color:var(--gold); flex-shrink:0; font-size:18px; line-height:1.4; }
.ben p{ color:rgba(244,237,225,.82); font-size:15px; margin:0; }

/* ============ GALERÍA ============ */
.gallery{ padding:100px 0; background:var(--linen-2); }
.gal-masonry{ columns:3; column-gap:16px; }
.gal-masonry figure{ break-inside:avoid; margin-bottom:16px; border-radius:var(--rad-sm); overflow:hidden; position:relative; }
.gal-masonry img{ width:100%; transition:transform .7s cubic-bezier(.25,.46,.45,.94); }
.gal-masonry figure:hover img{ transform:scale(1.05); }
.gal-cap{ position:absolute; left:0; right:0; bottom:0; padding:18px 16px 12px; font-family:var(--label); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--cream); background:linear-gradient(transparent, rgba(30,22,34,.8)); opacity:0; transition:opacity .3s ease; }
.gal-masonry figure:hover .gal-cap{ opacity:1; }

/* ============ FAQ ============ */
.faq{ padding:100px 0; }
.faq-list{ max-width:820px; margin:0 auto; display:flex; flex-direction:column; gap:14px; }
.faq-list details{ background:var(--linen-2); border:1px solid var(--line-l); border-radius:var(--rad-sm); padding:4px 26px; transition:border-color .25s ease, box-shadow .25s ease; }
.faq-list details[open]{ border-color:rgba(201,162,75,.5); box-shadow:var(--shadow-sm); }
.faq-list summary{ list-style:none; cursor:pointer; font-family:var(--display); font-weight:600; font-size:20px; color:var(--plum); padding:18px 0; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.faq-list summary::-webkit-details-marker{ display:none; }
.faq-list summary span{ flex-shrink:0; width:24px; height:24px; position:relative; }
.faq-list summary span::before, .faq-list summary span::after{ content:""; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); background:var(--gold); border-radius:2px; }
.faq-list summary span::before{ width:13px; height:2px; }
.faq-list summary span::after{ width:2px; height:13px; transition:transform .25s ease; }
.faq-list details[open] summary span::after{ transform:translate(-50%,-50%) scaleY(0); }
.faq-list details p{ padding:0 0 20px; color:rgba(42,32,48,.74); font-size:15.5px; }

/* ============ CTA FINAL ============ */
.cta{ position:relative; padding:118px 0; background:linear-gradient(160deg, var(--plum), var(--night)); overflow:hidden; text-align:center; }
.cta-glow{ position:absolute; top:-30%; left:50%; transform:translateX(-50%); width:640px; height:640px; background:radial-gradient(circle, var(--gold-soft) 0%, transparent 62%); pointer-events:none; }
.cta-inner{ position:relative; z-index:1; max-width:760px; margin:0 auto; }
.cta h2{ color:var(--cream); margin:6px 0 16px; }
.cta h2 em{ color:var(--gold-l); }
.cta p{ color:rgba(244,237,225,.74); font-size:18px; margin-bottom:34px; }
.cta-btns{ display:flex; flex-wrap:wrap; gap:16px; justify-content:center; }
.cta-mini{ margin-top:30px; display:flex; flex-wrap:wrap; gap:10px 16px; justify-content:center; font-family:var(--label); font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:rgba(244,237,225,.5); }
.cta-mini .dot{ color:var(--gold); }

/* ============ FOOTER ============ */
.footer{ background:var(--night); color:rgba(244,237,225,.68); padding:66px 0 30px; }
.ft-grid{ display:grid; grid-template-columns:1.7fr 1fr 1fr 1.1fr; gap:38px; padding-bottom:46px; border-bottom:1px solid var(--line-d); }
.ft-brand .brand{ margin-bottom:16px; }
.ft-brand p{ font-size:14.5px; max-width:30ch; }
.ft-social{ display:flex; gap:12px; margin-top:18px; }
.ft-social a{ width:38px; height:38px; border-radius:50%; border:1px solid var(--line-d); display:grid; place-items:center; color:var(--gold); transition:border-color .25s ease, color .25s ease, transform .25s ease; }
.ft-social a:hover{ border-color:var(--gold); transform:translateY(-2px); }
.ft-social svg{ width:18px; height:18px; }
.ft-col h5{ font-family:var(--label); font-size:11.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); margin-bottom:16px; }
.ft-col ul{ list-style:none; display:flex; flex-direction:column; gap:10px; }
.ft-col a{ font-size:14.5px; transition:color .2s ease; }
.ft-col a:hover{ color:var(--gold-l); }
.ft-bottom{ display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap; padding-top:24px; font-size:13px; }
.ft-bottom a{ color:var(--gold-l); }

/* ============ FLOATING WA ============ */
.float-wa{ position:fixed; right:22px; bottom:22px; z-index:90; width:56px; height:56px; border-radius:50%; background:#25D366; color:#fff; display:grid; place-items:center; box-shadow:0 12px 30px -6px rgba(37,211,102,.5); transition:transform .25s ease; }
.float-wa svg{ width:30px; height:30px; }
.float-wa:hover{ transform:scale(1.08); }

/* ============ FADE-UP ============ */
.fu{ opacity:0; transform:translateY(24px); transition:opacity .8s cubic-bezier(.2,.7,.3,1), transform .8s cubic-bezier(.2,.7,.3,1); }
.fu.vis{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
  .fu{ opacity:1; transform:none; transition:none; }
  .strip-row{ animation:none; }
  .hero-constellation .cline, .hero-constellation .cstar{ animation:none !important; }
  html{ scroll-behavior:auto; }
}

/* ============ CONSTELACIÓN (signature) ============ */
.cline{ stroke:var(--gold); stroke-width:.6; opacity:0; animation:cdraw 1.2s ease forwards; }
.cstar{ fill:var(--gold-l); opacity:0; animation:ctwinkle 4s ease-in-out infinite; }
@keyframes cdraw{ to{ opacity:.5; } }
@keyframes ctwinkle{ 0%,100%{ opacity:.25; } 50%{ opacity:.9; } }

/* ============ RESPONSIVE ============ */
@media (max-width:1000px){
  .ft-grid{ grid-template-columns:1fr 1fr; gap:30px; }
  .ft-brand{ grid-column:1 / -1; }
}
@media (max-width:880px){
  .nav-desk, .nav-cta{ display:none; }
  .nav-toggle{ display:flex; }
  .split-grid{ grid-template-columns:1fr; gap:36px; }
  .split-grid.reverse .split-media{ order:0; }
  .split-frame{ inset:14px -14px -14px 14px; }
  .stats-grid{ grid-template-columns:1fr; gap:36px; }
  .pillars{ grid-template-columns:1fr; }
  .gal-masonry{ columns:2; }
}
@media (max-width:560px){
  .hero{ padding:130px 0 80px; }
  .cred-list{ grid-template-columns:1fr; }
  .hero-cta{ flex-direction:column; align-items:stretch; }
  .hero-cta .btn{ width:100%; }
  .cta-btns .btn{ width:100%; }
  .gal-masonry{ columns:1; }
  .ft-grid{ grid-template-columns:1fr; }
  .ft-bottom{ flex-direction:column; }
  .hero-stats{ gap:20px; }
}

/* ============================================================
   TEMA EDITORIAL — match con la landing (home.css)
   Hero claro, nav en tinta, botones cuadrados, títulos Italiana.
   ============================================================ */

/* Botones cuadrados, uppercase, tracking ancho */
.btn{ border-radius:0; font-weight:400; font-size:11.5px; letter-spacing:.32em; text-transform:uppercase; padding:16px 30px; }
.btn-lg{ padding:18px 38px; font-size:12px; letter-spacing:.34em; }
.btn-gold{ background:var(--gold); color:#231b12; box-shadow:none; }
.btn-gold:hover{ background:#9a774f; color:#231b12; transform:translateY(-3px); box-shadow:var(--shadow-sm); }
.btn-plum{ background:var(--ink); color:var(--cream); }
.btn-plum:hover{ background:#000; }
.btn-line{ color:var(--ink); border:1px solid var(--ink); }
.btn-line:hover{ background:var(--ink); color:var(--cream); border-color:var(--ink); }
.btn-line-light{ color:var(--cream); border:1px solid rgba(243,237,228,.5); }
.btn-line-light:hover{ background:var(--cream); color:var(--ink); border-color:var(--cream); }
.arrow-link{ font-family:var(--label); font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); }
.arrow-link:hover{ color:var(--wine); }

/* Eyebrows como en el home */
.eye{ font-family:var(--label); color:var(--soft); letter-spacing:.34em; font-size:11px; }
.eye::before{ background:var(--gold); opacity:1; }
.eye.light{ color:rgba(243,237,228,.65); }

/* NAV en tinta sobre hero claro */
.nav-desk a{ color:rgba(26,24,21,.66); font-weight:500; font-size:12px; letter-spacing:.22em; text-transform:uppercase; }
.nav-desk a:hover, .nav-desk a.current{ color:var(--ink); }
.nav.scrolled{ background:rgba(234,227,214,.86); backdrop-filter:blur(18px) saturate(140%); box-shadow:0 1px 0 var(--line-l); }
.brand-name{ color:var(--ink); font-family:var(--label); font-weight:600; font-size:13px; letter-spacing:.26em; text-transform:uppercase; }
.brand-sub{ font-family:var(--display); font-style:italic; text-transform:none; letter-spacing:.01em; font-size:12.5px; color:var(--gold); }
.brand-mark{ border-color:rgba(168,132,92,.55); }
.nav-toggle span{ background:var(--ink); }
.nav-cta{ border-radius:0; background:transparent; color:var(--ink); border:1px solid var(--ink); font-weight:500; font-size:11px; letter-spacing:.28em; text-transform:uppercase; padding:12px 22px; }
.nav-cta:hover{ background:var(--ink); color:var(--cream); box-shadow:none; }
.nav-mobile .m-cta{ border-radius:0; }
.nav-mobile-head .brand-name{ color:var(--cream); }

/* HERO claro y editorial (video atenuado + velo crema, texto oscuro) */
.hero{ background:var(--linen); }
.hero-vid{ opacity:.4; filter:saturate(.55) contrast(.98); mix-blend-mode:multiply; }
.hero-veil{
  background:
    radial-gradient(ellipse 72% 62% at 50% 42%, transparent 0%, rgba(234,227,214,.5) 100%),
    linear-gradient(180deg, rgba(234,227,214,.34) 0%, rgba(234,227,214,.1) 48%, rgba(234,227,214,.94) 100%);
}
.hero-constellation{ opacity:.22; }
.hero-eye{ color:var(--gold); }
.hero-title{ font-family:"Italiana","Cormorant Garamond",serif; color:var(--ink); text-transform:uppercase; font-weight:400; letter-spacing:.04em; }
.hero-title em{ font-family:"Cormorant Garamond",serif; font-style:italic; text-transform:none; letter-spacing:0; color:var(--gold); }
.hero-reg{ color:var(--gold); }
.hero-tag{ color:rgba(42,32,48,.82); }
.hero-roles{ color:rgba(42,32,48,.6); }
.hero-roles .dot{ color:var(--gold); }
.hero-breadcrumb{ color:rgba(42,32,48,.55); }
.hero-breadcrumb a{ color:var(--gold); }
.hero-scroll{ color:rgba(42,32,48,.5); }
.hero-scroll span{ background:linear-gradient(var(--gold), transparent); }
.hero-stat strong{ color:var(--gold); }
.hero-stat span{ color:rgba(42,32,48,.6); }

/* Franja marquee clara */
.strip{ background:var(--linen-2); border-top:1px solid var(--line-l); border-bottom:1px solid var(--line-l); padding:22px 0; }
.strip-row span{ color:rgba(26,24,21,.5); }
.strip-row span::after{ color:var(--gold); }
