:root {
  --black:#0b0c0c;
  --soft:#151616;
  --gold:#a87832;
  --gold-light:#dfbd79;
  --paper:#fbf8f3;
  --ink:#181511;
  --muted:#655f56;
  --line:#d8c8ae;
  --serif:Georgia,"Times New Roman",serif;
  --sans:Arial,Helvetica,sans-serif
}

* {
  box-sizing:border-box
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:112px
}

body {
  margin:0;
  color:var(--ink);
  background:var(--paper);
  font:15px/1.7 var(--sans);
  -webkit-font-smoothing:antialiased
}

a {
  color:inherit;
  text-decoration:none;
  transition:.25s ease
}

a:focus-visible,
button:focus-visible {
  outline:3px solid var(--gold-light);
  outline-offset:4px
}

.skip {
  position:fixed;
  z-index:100;
  top:10px;
  left:10px;
  padding:9px 14px;
  color:#111;
  background:#fff;
  transform:translateY(-150%)
}

.skip:focus {
  transform:none
}

.header {
  position:sticky;
  z-index:30;
  top:0;
  height:96px;
  padding:0 5vw;
  display:grid;
  grid-template-columns:220px 1fr auto;
  align-items:center;
  color:#fff;
  background:#090a0a;
  border-bottom:1px solid rgba(223,189,121,.28);
  backdrop-filter:blur(20px) saturate(135%)
}

.header.scrolled {
  background:rgba(9,10,10,.84);
  box-shadow:0 12px 36px rgba(0,0,0,.2)
}

.brand,
.footer-logo {
  display:block;
  background:url('../images/logotipo1.png') left center/contain no-repeat
}

.brand {
  width:215px;
  height:89px
}

.nav {
  display:flex;
  justify-content:center;
  gap:clamp(18px,2.5vw,38px)
}

.nav a {
  font-size:13px
}

.nav a:hover,
.nav a[aria-current] {
  color:var(--gold-light)
}

.header-cta {
  min-height:45px;
  padding:10px 20px;
  border:1px solid var(--gold);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  background:var(--gold);
  color:#fff;
  font-size:13px;
  font-weight:700
}

.header-cta:hover {
  color:#fff;
  background:#c09145
}

.menu {
  display:none;
  padding:8px;
  color:#fff;
  background:none;
  border:0;
  font-size:25px;
  cursor:pointer
}

.legal-hero {
  padding:clamp(70px,9vw,120px) 6vw clamp(55px,7vw,90px);
  color:#fff;
  background:linear-gradient(135deg,#101111,#211b14);
  border-bottom:3px solid var(--gold)
}

.legal-hero-inner,
.legal-content {
  width:min(920px,100%);
  margin:auto
}

.eyebrow {
  margin:0 0 16px;
  color:var(--gold-light);
  font-size:11px;
  font-weight:700;
  line-height:1.4;
  letter-spacing:.16em;
  text-transform:uppercase
}

.legal-hero h1 {
  max-width:720px;
  margin:0;
  font:400 clamp(32px,3.45vw,46px)/1.1 var(--serif);
  letter-spacing:-.02em
}

.legal-hero-copy {
  max-width:720px;
  margin:22px 0 30px;
  color:#d7d0c6
}

.legal-main {
  padding:clamp(65px,8vw,110px) 6vw
}

.legal-section {
  margin-bottom:clamp(80px,10vw,130px)
}

.legal-section:last-child {
  margin-bottom:0
}

.section-heading {
  padding-bottom:28px;
  border-bottom:1px solid var(--line)
}

.section-heading .eyebrow {
  color:var(--gold)
}

.section-heading h2 {
  margin:0;
  font:400 clamp(27px,2.05vw,32px)/1.2 var(--serif);
  letter-spacing:-.02em
}

.updated {
  margin:9px 0 0;
  color:var(--muted);
  font-size:12px
}

.legal-block {
  padding:30px 0;
  border-bottom:1px solid var(--line)
}

.legal-block h3 {
  margin:0 0 14px;
  font:400 clamp(18px,1.5vw,21px)/1.25 var(--serif)
}

.legal-block p {
  margin:0 0 13px;
  color:var(--muted)
}

.legal-block p:last-child {
  margin-bottom:0
}

.legal-block ul {
  margin:12px 0;
  padding:0;
  list-style:none
}

.legal-block li {
  position:relative;
  margin:7px 0;
  padding-left:19px;
  color:var(--muted)
}

.legal-block li::before {
  content:"";
  position:absolute;
  top:.78em;
  left:0;
  width:7px;
  height:1px;
  background:var(--gold)
}

.legal-link {
  color:#704b1b;
  border-bottom:1px solid rgba(168,120,50,.45)
}

.legal-link:hover {
  border-color:var(--gold)
}

.notice {
  margin:28px 0 0;
  padding:20px 24px;
  border-left:2px solid var(--gold);
  color:#4f473e;
  background:rgba(168,120,50,.07)
}

.footer {
  padding:28px 5vw 14px;
  display:grid;
  grid-template-columns:1.3fr .7fr .7fr;
  column-gap:6vw;
  row-gap:10px;
  color:#c8c1b7;
  background:#090a0a
}

.footer-logo {
  width:250px;
  height:90px
}

.footer-copy {
  max-width:390px;
  color:#aaa298;
  font-size:13px
}

.footer-nav,
.footer-contact {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:9px
}

.footer-nav {
  display:flex;
  flex-direction:column;
  align-items:flex-start
}

.footer-nav b,
.footer-contact b {
  margin-bottom:5px;
  color:#fff
}

.footer-nav a:hover,
.footer-contact a:hover {
  color:var(--gold-light)
}

.footer>small {
  grid-column:1/-1;
  margin-top:8px;
  padding-top:10px;
  border-top:1px solid #302c27;
  color:#898178
}

.reveal {
  opacity:0;
  transform:translateY(22px);
  transition:opacity .7s,transform .7s
}

.reveal.visible {
  opacity:1;
  transform:none
}

@media(max-width:850px) {
  html {
    scroll-padding-top:72px
  }

  .header {
    height:72px;
    grid-template-columns:1fr auto auto
  }

  .brand {
    width:150px;
    height:60px
  }

  .menu {
    display:block
  }

  .nav {
    display:none;
    position:absolute;
    top:72px;
    left:0;
    right:0;
    padding:24px 5vw;
    flex-direction:column;
    background:rgba(9,10,10,.96);
    border-bottom:1px solid #674a22
  }

  .nav.open {
    display:flex
  }

  .header-cta {
    display:none
  }

  .footer {
    grid-template-columns:1fr;
    gap:18px
  }

  .footer-logo {
    width:210px;
    height:82px
  }

  .footer>small {
    grid-column:auto
  }
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }

  .reveal {
    opacity:1;
    transform:none;
    transition:none
  }
}
.instagram-link, .whatsapp-link { display:inline-flex; align-items:center; gap:8px; color:#b58a4b !important; }
.instagram-link:hover, .whatsapp-link:hover { color:#dfbd79 !important; }
.instagram-link svg, .whatsapp-link svg { width:17px; height:17px; flex:none; stroke:currentColor; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.instagram-link .instagram-dot, .whatsapp-link .instagram-dot { fill:currentColor; stroke:none; }
