/* ============================================================
   SONIDO ULTIMO TRUENO
   Laodicea Media LLC
   Design system + site styles
   ------------------------------------------------------------
   To change a color or a size site-wide, edit the values in
   the :root block below. Nothing else needs touching.
   ============================================================ */

:root{
  /* ---- Brand color ---- */
  --ink:        #05080F;   /* near-black navy, page background */
  --ink-2:      #0B1426;   /* deep navy, raised panels */
  --ink-3:      #111E33;   /* borders, hairlines */
  --chrome:     #C8D0DC;   /* body text on dark */
  --chrome-dim: #8794A6;   /* captions, meta */
  --white:      #F3F5F9;   /* headings */
  --blue:       #0F6EEE;   /* primary accent */
  --blue-lit:   #0478F9;   /* hover / brightest accent */
  --blue-deep:  #2350E0;   /* pressed */

  /* ---- Type ---- */
  --display: "Big Shoulders Display", "Arial Narrow", sans-serif;
  --body:    "Barlow", system-ui, -apple-system, sans-serif;

  /* ---- Rhythm ---- */
  --gutter: 24px;
  --max:    1240px;
  --section-y: clamp(84px, 11vw, 168px);

  /* ---- Motion: slow and eased, the house signature ---- */
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
  --slow: 1.9s;
  --med:  .85s;
}

*,*::before,*::after{ box-sizing:border-box; }

html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }

body{
  margin:0;
  background:var(--ink);
  color:var(--chrome);
  font-family:var(--body);
  font-size:17px;
  line-height:1.72;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; }

h1,h2,h3,h4{
  font-family:var(--display);
  font-weight:800;
  color:var(--white);
  line-height:.94;
  letter-spacing:-0.005em;
  margin:0 0 .5em;
  text-transform:uppercase;
}
h1{ font-size:clamp(2.45rem, 8.2vw, 6.4rem); }
h2{ font-size:clamp(2.4rem, 5.6vw, 4.3rem); }
h3{ font-size:clamp(1.5rem, 2.6vw, 2.1rem); }
p{ margin:0 0 1.2em; }
p:last-child{ margin-bottom:0; }

.wrap{ width:100%; max-width:var(--max); margin:0 auto; padding:0 var(--gutter); }
.section{ padding:var(--section-y) 0; position:relative; }
.section--panel{ background:var(--ink-2); }

/* Small caps label above a heading */
.eyebrow{
  font-family:var(--body);
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--blue-lit);
  margin:0 0 1.1rem;
}
.lede{ font-size:1.12rem; color:var(--chrome); max-width:62ch; }
.muted{ color:var(--chrome-dim); }

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.6em;
  font-family:var(--body); font-weight:600; font-size:.94rem;
  letter-spacing:.12em; text-transform:uppercase; text-decoration:none;
  padding:1.15em 2.3em; border:1px solid transparent; border-radius:2px;
  cursor:pointer; transition:background var(--med) var(--ease),
    border-color var(--med) var(--ease), color var(--med) var(--ease),
    transform var(--med) var(--ease);
  min-height:52px;
}
.btn--primary{ background:var(--blue); color:#fff; }
.btn--primary:hover,.btn--primary:focus-visible{ background:var(--blue-lit); transform:translateY(-2px); }
.btn--ghost{ background:transparent; color:var(--white); border-color:var(--ink-3); }
.btn--ghost:hover,.btn--ghost:focus-visible{ border-color:var(--blue-lit); color:var(--blue-lit); }
:focus-visible{ outline:2px solid var(--blue-lit); outline-offset:3px; }

/* ---------- Header ---------- */
.hdr{
  position:fixed; inset:0 0 auto 0; z-index:60;
  padding:20px 0;
  transition:background var(--med) var(--ease), padding var(--med) var(--ease),
    border-color var(--med) var(--ease);
  border-bottom:1px solid transparent;
}
.hdr.is-stuck{ background:rgba(5,8,15,.92); backdrop-filter:blur(14px); padding:12px 0; border-bottom-color:var(--ink-3); }
.hdr__in{ display:flex; align-items:center; justify-content:space-between; gap:24px; }
.hdr__logo img{ height:46px; width:auto; transition:height var(--med) var(--ease); }
.hdr.is-stuck .hdr__logo img{ height:38px; }

.nav{ display:flex; align-items:center; gap:34px; }
.nav a{
  font-size:.82rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
  text-decoration:none; color:var(--chrome); position:relative; padding:6px 0;
  transition:color var(--med) var(--ease);
}
.nav a::after{
  content:""; position:absolute; left:0; bottom:0; height:1px; width:0;
  background:var(--blue-lit); transition:width var(--med) var(--ease);
}
.nav a:hover,.nav a[aria-current="page"]{ color:var(--white); }
.nav a:hover::after,.nav a[aria-current="page"]::after{ width:100%; }

.burger{
  display:none; background:none; border:0; cursor:pointer; padding:10px;
  width:46px; height:46px; align-items:center; justify-content:center;
}
.burger span{ display:block; width:24px; height:2px; background:var(--white); position:relative; transition:background .2s; }
.burger span::before,.burger span::after{
  content:""; position:absolute; left:0; width:24px; height:2px; background:var(--white);
  transition:transform var(--med) var(--ease);
}
.burger span::before{ top:-7px; } .burger span::after{ top:7px; }
.burger[aria-expanded="true"] span{ background:transparent; }
.burger[aria-expanded="true"] span::before{ transform:translateY(7px) rotate(45deg); }
.burger[aria-expanded="true"] span::after{ transform:translateY(-7px) rotate(-45deg); }

/* ---------- Hero: split ---------- */
.hero{ position:relative; min-height:100svh; display:flex; align-items:center; padding:140px 0 80px; overflow:hidden; }
.hero__grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(32px,5vw,80px); align-items:center; }
.hero__slogan{
  font-family:var(--body); font-size:.74rem; font-weight:600;
  letter-spacing:.26em; text-transform:uppercase; color:var(--blue-lit); margin:0 0 1.4rem;
}
.hero h1{ margin-bottom:.34em; }
.hero h1 em{ font-style:normal; color:var(--blue-lit); display:block; }
.hero__sub{ font-size:1.18rem; color:var(--chrome); max-width:44ch; margin-bottom:2.4rem; }
.hero__cta{ display:flex; flex-wrap:wrap; gap:14px; }
.hero__media{ position:relative; }
.hero__media img{
  width:100%; aspect-ratio:3/4; object-fit:cover; border-radius:3px;
  box-shadow:0 40px 90px rgba(0,0,0,.58);
}
.hero__media::after{
  content:""; position:absolute; inset:0; border-radius:3px; pointer-events:none;
  background:linear-gradient(180deg,rgba(5,8,15,.16) 0%,rgba(5,8,15,0) 34%,rgba(5,8,15,.30) 100%);
}
.hero__glow{
  position:absolute; width:52vw; height:52vw; max-width:760px; max-height:760px;
  right:-14vw; top:-10vw; border-radius:50%; pointer-events:none; z-index:0;
  background:radial-gradient(circle,rgba(15,110,238,.20) 0%,rgba(15,110,238,0) 66%);
  filter:blur(22px);
}
.hero .wrap{ position:relative; z-index:1; }

/* ---------- Trust strip ---------- */
.trust{ border-top:1px solid var(--ink-3); border-bottom:1px solid var(--ink-3); background:var(--ink-2); }
.trust__in{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:22px 40px; padding:30px 0; }
.trust__item{ display:flex; flex-direction:column; gap:3px; }
.trust__k{ font-family:var(--display); font-weight:800; font-size:1.42rem; color:var(--white); text-transform:uppercase; line-height:1; }
.trust__v{ font-size:.73rem; letter-spacing:.18em; text-transform:uppercase; color:var(--chrome-dim); }

/* ---------- Two column ---------- */
.two{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,5vw,76px); align-items:center; }
.two--wide-left{ grid-template-columns:1.15fr .85fr; }
.stack-img{ position:relative; }
.stack-img img{ border-radius:3px; box-shadow:0 30px 70px rgba(0,0,0,.5); }
.stack-img__small{
  position:absolute; right:-6%; bottom:-11%; width:46%;
  border:6px solid var(--ink); border-radius:3px;
  box-shadow:0 22px 50px rgba(0,0,0,.6);
}
.stack-img__cap{
  position:absolute; right:-6%; bottom:-19%; width:46%;
  font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; color:var(--chrome-dim);
  text-align:center; padding-top:9px;
}

/* ---------- Packages ---------- */
.pkgs{ display:grid; grid-template-columns:repeat(auto-fit,minmax(288px,1fr)); gap:18px; }
.pkg{
  background:var(--ink); border:1px solid var(--ink-3); border-radius:3px;
  padding:38px 32px 34px; display:flex; flex-direction:column;
  transition:border-color var(--med) var(--ease), transform var(--med) var(--ease);
}
.section--panel .pkg{ background:var(--ink); }
.pkg:hover{ border-color:var(--blue); transform:translateY(-4px); }
.pkg__name{ font-family:var(--display); font-weight:800; text-transform:uppercase; font-size:1.75rem; color:var(--white); line-height:1; margin:0 0 .3em; }
.pkg__room{ font-size:.72rem; letter-spacing:.17em; text-transform:uppercase; color:var(--blue-lit); margin:0 0 1.5rem; }
.pkg__price{ font-family:var(--display); font-weight:700; font-size:2.5rem; color:var(--white); line-height:1; margin:0; }
.pkg__from{ font-family:var(--body); font-size:.68rem; letter-spacing:.2em; text-transform:uppercase; color:var(--chrome-dim); display:block; margin-bottom:.45rem; }
.pkg__note{ font-size:.92rem; color:var(--chrome-dim); margin:1.4rem 0 0; }
.pkg__cta{ margin-top:auto; padding-top:26px; }
.pkg__cta a{ font-size:.78rem; letter-spacing:.16em; text-transform:uppercase; color:var(--blue-lit); text-decoration:none; border-bottom:1px solid transparent; transition:border-color var(--med) var(--ease); }
.pkg__cta a:hover{ border-bottom-color:var(--blue-lit); }

/* ---------- Gallery ---------- */
.grid-gal{ display:grid; grid-template-columns:repeat(auto-fit,minmax(272px,1fr)); gap:14px; }
.gtile{
  position:relative; overflow:hidden; border-radius:3px; background:var(--ink-2);
  border:0; padding:0; cursor:pointer; display:block; width:100%; aspect-ratio:4/3;
}
.gtile img{
  width:100%; height:100%; object-fit:cover;
  transition:transform 2.4s var(--ease), opacity var(--med) var(--ease);
  opacity:.92;
}
.gtile:hover img,.gtile:focus-visible img{ transform:scale(1.06); opacity:1; }
.gtile::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(180deg,rgba(5,8,15,0) 52%,rgba(5,8,15,.55) 100%);
}

/* Lightbox */
.lb{
  position:fixed; inset:0; z-index:200; display:none;
  align-items:center; justify-content:center; padding:24px;
  background:rgba(5,8,15,.96); backdrop-filter:blur(8px);
}
.lb.is-open{ display:flex; }
.lb img{ max-width:min(1200px,94vw); max-height:86vh; object-fit:contain; border-radius:3px; }
.lb__x{
  position:absolute; top:20px; right:20px; width:52px; height:52px;
  background:none; border:1px solid var(--ink-3); border-radius:2px; color:var(--white);
  font-size:1.5rem; cursor:pointer; line-height:1;
}
.lb__x:hover{ border-color:var(--blue-lit); color:var(--blue-lit); }
.lb__nav{
  position:absolute; top:50%; transform:translateY(-50%);
  width:54px; height:54px; background:rgba(11,20,38,.8); border:1px solid var(--ink-3);
  color:var(--white); font-size:1.5rem; cursor:pointer; border-radius:2px;
}
.lb__nav:hover{ border-color:var(--blue-lit); color:var(--blue-lit); }
.lb__prev{ left:20px; } .lb__next{ right:20px; }

/* ---------- Video ---------- */
.vids{ display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:20px; }
.vid{ position:relative; aspect-ratio:16/9; background:var(--ink-2); border:1px solid var(--ink-3); border-radius:3px; overflow:hidden; }
.vid iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.vid__ph{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; text-align:center; padding:24px; color:var(--chrome-dim); }

/* ---------- Reviews ---------- */
.revs{ display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:18px; }
.rev{ background:var(--ink); border:1px solid var(--ink-3); border-radius:3px; padding:34px 30px; }
.rev__stars{ color:var(--blue-lit); letter-spacing:.18em; font-size:.92rem; margin-bottom:1.1rem; }
.rev__q{ font-size:1.03rem; color:var(--chrome); margin:0 0 1.4rem; }
.rev__by{ font-size:.74rem; letter-spacing:.17em; text-transform:uppercase; color:var(--chrome-dim); }

/* ---------- Form ---------- */
.form{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.field{ display:flex; flex-direction:column; gap:8px; }
.field--full{ grid-column:1 / -1; }
.field label{ font-size:.73rem; letter-spacing:.17em; text-transform:uppercase; color:var(--chrome-dim); }
.field input,.field select,.field textarea{
  background:var(--ink); border:1px solid var(--ink-3); border-radius:2px;
  color:var(--white); font-family:var(--body); font-size:1rem; padding:15px 16px;
  transition:border-color var(--med) var(--ease);
  min-height:52px; width:100%;
}
.field textarea{ min-height:132px; resize:vertical; }
.field input:focus,.field select:focus,.field textarea:focus{ border-color:var(--blue); outline:none; }
.field input::placeholder,.field textarea::placeholder{ color:#56617a; }
.consent{ display:flex; gap:13px; align-items:flex-start; grid-column:1 / -1; margin-top:6px; }
.consent input{ width:20px; height:20px; min-height:20px; margin-top:3px; flex:0 0 auto; accent-color:var(--blue); }
.consent label{ font-size:.85rem; line-height:1.55; letter-spacing:0; text-transform:none; color:var(--chrome-dim); }
.consent a{ color:var(--blue-lit); }
/* honeypot: hidden from people, visible to bots */
.hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.form__msg{ grid-column:1 / -1; padding:16px 18px; border-radius:2px; display:none; font-size:.95rem; }
.form__msg.is-ok{ display:block; background:rgba(15,110,238,.13); border:1px solid var(--blue); color:var(--white); }
.form__msg.is-err{ display:block; background:rgba(220,60,60,.11); border:1px solid #b34a4a; color:#ffd9d9; }

/* ---------- Footer ---------- */
.ftr{ background:var(--ink-2); border-top:1px solid var(--ink-3); padding:72px 0 34px; }
.ftr__grid{ display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:44px; margin-bottom:52px; }
.ftr__logo{ height:52px; width:auto; margin-bottom:22px; }
.ftr h4{ font-size:.75rem; letter-spacing:.2em; color:var(--chrome-dim); font-family:var(--body); font-weight:600; margin-bottom:1.3rem; }
.ftr ul{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:12px; }
.ftr a{ color:var(--chrome); text-decoration:none; font-size:.95rem; transition:color var(--med) var(--ease); }
.ftr a:hover{ color:var(--blue-lit); }
.ftr__bar{
  border-top:1px solid var(--ink-3); padding-top:28px;
  display:flex; flex-wrap:wrap; gap:14px 28px; justify-content:space-between;
  font-size:.83rem; color:var(--chrome-dim);
}
.ftr__bar a{ font-size:.83rem; color:var(--chrome-dim); }
.socials{ display:flex; gap:16px; }
.socials a{ width:42px; height:42px; border:1px solid var(--ink-3); border-radius:2px; display:flex; align-items:center; justify-content:center; transition:border-color var(--med) var(--ease), color var(--med) var(--ease); }
.socials a:hover{ border-color:var(--blue-lit); color:var(--blue-lit); }
.socials svg{ width:18px; height:18px; fill:currentColor; }

/* ---------- Floating contact buttons ---------- */
.dock{ position:fixed; right:18px; bottom:18px; z-index:80; display:flex; flex-direction:column; gap:11px; }
.dock a{
  width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 30px rgba(0,0,0,.45); color:#fff; text-decoration:none;
  transition:transform var(--med) var(--ease);
}
.dock a:hover{ transform:translateY(-3px) scale(1.04); }
.dock svg{ width:26px; height:26px; fill:currentColor; }
.dock__wa{ background:#25D366; }
.dock__tel{ background:var(--blue); }

/* ---------- Page header (inner pages) ---------- */
.phead{ padding:190px 0 var(--section-y); border-bottom:1px solid var(--ink-3); }
.phead h1{ font-size:clamp(2.7rem,7vw,5.4rem); margin-bottom:.3em; }

/* ---------- Scroll reveal: the slow signature ---------- */
.rv{ opacity:0; transform:translateY(34px); }
.rv.is-in{
  opacity:1; transform:none;
  transition:opacity var(--slow) var(--ease), transform var(--slow) var(--ease);
}
.rv-d1.is-in{ transition-delay:.20s; }
.rv-d2.is-in{ transition-delay:.42s; }
.rv-d3.is-in{ transition-delay:.66s; }
.rv-d4.is-in{ transition-delay:.90s; }

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  .rv{ opacity:1; transform:none; }
  .rv.is-in{ transition:none; }
  .gtile img{ transition:none; }
  *{ animation-duration:.01ms !important; transition-duration:.01ms !important; }
}

/* ---------- Responsive ---------- */
@media (max-width:1000px){
  .ftr__grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:860px){
  .burger{ display:flex; }
  .nav{
    position:fixed; inset:0 0 0 auto; width:min(88vw,380px);
    background:var(--ink-2); border-left:1px solid var(--ink-3);
    flex-direction:column; align-items:flex-start; justify-content:center;
    gap:30px; padding:40px;
    transform:translateX(100%); transition:transform var(--med) var(--ease);
    z-index:70;
  }
  .nav.is-open{ transform:none; }
  .nav a{ font-size:1.05rem; }

  .hero{ min-height:auto; padding:132px 0 72px; }
  .hero__grid{ grid-template-columns:1fr; gap:38px; }
  .hero__media{ order:-1; }
  .hero__media img{ aspect-ratio:4/5; }
  .two,.two--wide-left{ grid-template-columns:1fr; }
  .stack-img__small{ position:static; width:100%; border:0; margin-top:14px; }
  .stack-img__cap{ position:static; width:100%; text-align:left; }
  .form{ grid-template-columns:1fr; }
  .phead{ padding:148px 0 var(--section-y); }
  .trust__in{ gap:20px 28px; }
  .dock a{ width:52px; height:52px; }
}
@media (max-width:520px){
  :root{ --gutter:18px; }
  body{ font-size:16px; }
  .ftr__grid{ grid-template-columns:1fr; gap:34px; }
  .btn{ width:100%; }
  .hero__cta{ flex-direction:column; }
}

/* ---------- Print ---------- */
@media print{
  .hdr,.dock,.lb,.burger{ display:none !important; }
  body{ background:#fff; color:#000; }
}

/* ---------- Added: hero line control + custom tier band ---------- */
.hero h1 .nb{ display:block; white-space:nowrap; }

.tier{
  margin-top:18px; background:var(--ink); border:1px solid var(--ink-3);
  border-left:3px solid var(--blue); border-radius:3px;
  padding:40px 38px; display:flex; flex-wrap:wrap; gap:28px;
  align-items:center; justify-content:space-between;
  transition:border-color var(--med) var(--ease);
}
.tier:hover{ border-color:var(--blue); border-left-color:var(--blue-lit); }
.tier h3{ margin:0; }
@media (max-width:640px){
  .tier{ padding:32px 26px; }
  .tier .btn{ width:100%; }
}

/* Package grid: four across on desktop so no card is orphaned */
@media (min-width:1000px){ .pkgs{ grid-template-columns:repeat(3,1fr); } }
@media (min-width:660px) and (max-width:999px){ .pkgs{ grid-template-columns:repeat(2,1fr); } }

/* Home gallery preview: six tiles as two clean rows of three */
@media (min-width:900px){ .grid-gal--preview{ grid-template-columns:repeat(3,1fr); } }

/* Phone: keep hero copy clear of the floating contact buttons */
@media (max-width:620px){
  .hero__sub,.hero h1,.hero__slogan{ padding-right:56px; }
  .dock{ right:14px; bottom:14px; }
}

/* ================= Video hero ================= */
.hero__bg{ position:absolute; inset:0; overflow:hidden; z-index:0; }
.hero__bg video{
  width:100%; height:100%; object-fit:cover;
  opacity:.30;                       /* measured safe: white type stays above 6:1 */
  filter:saturate(.85) contrast(1.05);
}
.hero__bg::after{                    /* keeps the left column readable at any frame */
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(5,8,15,.94) 0%, rgba(5,8,15,.74) 42%, rgba(5,8,15,.34) 72%, rgba(5,8,15,.20) 100%),
    linear-gradient(0deg, rgba(5,8,15,.92) 0%, rgba(5,8,15,0) 34%);
}
.hero--video .hero__glow{ opacity:.55; }


/* ================= Package feature list ================= */
.pkg__list{
  list-style:none; padding:0; margin:22px 0 0;
  display:flex; flex-direction:column; gap:9px;
}
.pkg__list li{
  position:relative; padding-left:20px; font-size:.93rem; color:var(--chrome); line-height:1.5;
}
.pkg__list li::before{
  content:""; position:absolute; left:0; top:.6em;
  width:7px; height:1px; background:var(--blue-lit);
}

/* ================= Package footnotes ================= */
.notes{ margin-top:42px; padding-top:26px; border-top:1px solid var(--ink-3); }
.notes p{ font-size:.88rem; color:var(--chrome-dim); margin:0 0 .6em; }
.notes p:last-child{ margin-bottom:0; }

/* ================= Legal pages ================= */
.legal{ font-size:1rem; line-height:1.78; }
.legal h1{ display:none; }
.legal h2{ font-size:clamp(1.5rem,2.6vw,2rem); margin:2.4em 0 .7em; }
.legal h2:first-of-type{ margin-top:0; }
.legal h3,.legal h4{
  font-family:var(--body); font-weight:600; text-transform:none;
  font-size:1.05rem; color:var(--white); letter-spacing:0;
  margin:1.9em 0 .5em; line-height:1.4;
}
.legal p{ margin:0 0 1.15em; }
.legal ul,.legal ol{ margin:0 0 1.4em; padding-left:1.3em; }
.legal li{ margin-bottom:.5em; }
.legal a{ color:var(--blue-lit); }
.legal strong{ color:var(--white); }
.legal hr{ border:0; border-top:1px solid var(--ink-3); margin:2.4em 0; }
.legal table{ width:100%; border-collapse:collapse; margin:0 0 1.6em; }
.legal td,.legal th{ border:1px solid var(--ink-3); padding:10px 12px; text-align:left; }

@media (max-width:860px){
  .hero__bg video{ opacity:.22; }
  .hero__bg::after{
    background:linear-gradient(0deg, rgba(5,8,15,.95) 0%, rgba(5,8,15,.62) 46%, rgba(5,8,15,.45) 100%);
  }
}
@media (prefers-reduced-motion: reduce){
  .hero__bg video,.hero__media video{ display:none; }
  .hero__bg{ background:url("/video/hero-bg-poster.jpg") center/cover; opacity:.30; }

}

/* ---------- Archive page ---------- */
.era{ margin-bottom:clamp(48px,7vw,88px); }
.era:last-child{ margin-bottom:0; }
.era__y{
  font-family:var(--display); font-weight:800; font-size:clamp(2.2rem,5vw,3.4rem);
  color:var(--chrome-dim); line-height:1; margin:0 0 22px;
  border-bottom:1px solid var(--ink-3); padding-bottom:16px;
  letter-spacing:.02em;
}
.grid-gal--archive{ grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:12px; }
.grid-gal--archive .gtile img{ opacity:.82; }
.grid-gal--archive .gtile:hover img,
.grid-gal--archive .gtile:focus-visible img{ opacity:1; }

/* ---- language switch (EN / ES) ---- */
.nav a.lang{ border:1px solid var(--chrome-dim); padding:5px 10px; border-radius:2px; font-size:.78rem; letter-spacing:.16em; color:var(--chrome); }
.nav a.lang::after{ display:none; }
.nav a.lang:hover{ border-color:var(--blue-lit); color:var(--white); }

.trust__g{ text-decoration:none; }
.trust__stars{ color:#F5B400; font-size:1rem; letter-spacing:.08em; margin-right:6px; }
.trust__g:hover .trust__v{ color:var(--white); }
.pkg__price--ask{ font-size:1.6rem; line-height:1.25; letter-spacing:.02em; }
