
  html { scroll-behavior: smooth; }
  body { background: #FFFFFF; }
  section[id] { scroll-margin-top: 104px; }
  :root {
    --ease-out-strong: cubic-bezier(0.23, 1, 0.32, 1);
    --content-inset: max(clamp(20px, 5vw, 40px), calc((100vw - 1240px) / 2));
  }
  body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
  ::selection { background: var(--hs-ink); color: #fff; }
  :focus-visible { outline: 2px solid var(--hs-ink); outline-offset: 3px; }
  ::-webkit-scrollbar { width: 11px; height: 11px; }
  ::-webkit-scrollbar-thumb { background: var(--hs-stone); border-radius: 999px; border: 3px solid #FFFFFF; }
  ::-webkit-scrollbar-thumb:hover { background: var(--hs-taupe); }

  [data-reveal].reveal-init > * { opacity: 0; transform: translateY(22px); filter: blur(6px); }
  [data-reveal].reveal-in > * {
    opacity: 1; transform: none; filter: blur(0);
    transition: opacity .85s var(--ease-out-strong), transform .85s var(--ease-out-strong), filter .85s var(--ease-out-strong);
    transition-delay: calc(var(--i, 0) * 80ms);
  }

  /* ===== NAV (shared with home) ===== */
  .estrella-nav { position: sticky; top: 0; z-index: 60; padding: 0 clamp(20px,5vw,40px); background: rgba(245,243,239,0); transition: background .3s ease, box-shadow .3s ease; }
  .en-inner { max-width: 1320px; margin: 0 auto; padding: 26px 0 20px; transition: padding .45s var(--ease-out-strong); }
  .estrella-nav.scrolled .en-inner { padding: 14px 0 12px; }
  .en-top { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
  .en-logo { display: inline-flex; align-items: center; gap: 11px; text-decoration: none; }
  .en-logo img { display: block; width: 57px; height: 57px; transition: width .45s cubic-bezier(.2,.8,.2,1), height .45s cubic-bezier(.2,.8,.2,1); }
  .estrella-nav.scrolled .en-logo img { width: 42px; height: 42px; }
  .en-logo-word { display: inline-flex; align-items: baseline; gap: 5px; font-family: var(--font-sans); font-weight: 800; font-size: 21px; letter-spacing: 0.13em; line-height: 1; color: var(--hs-ink); white-space: nowrap; padding-left: 0.13em; transition: font-size .45s var(--ease-out-strong); }
  .estrella-nav.scrolled .en-logo-word { font-size: 18px; }
  .en-logo-word em { font-family: var(--font-serif); font-style: italic; font-weight: 500; letter-spacing: 0; font-size: 0.84em; }
  @media (max-width: 460px) { .en-logo-word { font-size: 16px; letter-spacing: 0.1em; } }
  .en-links { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: clamp(18px,2.6vw,38px); }
  .en-links a { position: relative; text-decoration: none; font-family: var(--font-sans); font-size: 13px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--hs-ink); }
  .en-links a::after { content:""; position:absolute; left:0; right:100%; bottom:-5px; height:1px; background: var(--hs-ink); transition: right .3s ease; }
  .en-links a:hover::after { right: 0; }
  .en-links a.active { color: var(--hs-timber); }
  .en-links a.active::after { right: 0; background: var(--hs-timber); height: 2px; }
  @media (hover: hover) and (pointer: fine) { .en-links a:hover { color: var(--hs-timber); } }


.estrella-nav { background:rgba(255,255,255,.96); border-bottom:1px solid var(--divider); }
.skip-link { position:fixed;top:-80px;left:20px;z-index:100;background:var(--hs-ink);color:white;padding:12px 18px; }
.skip-link:focus { top:12px; }
.legal-hero { padding:clamp(44px,7vw,92px) clamp(20px,5vw,40px); background:var(--hs-off-white);border-bottom:1px solid var(--divider); }
.legal-wrap { max-width:1240px;margin:0 auto; }
.legal-eyebrow { font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--hs-timber); }
.legal-hero h1 { font-size:clamp(34px,5.2vw,68px);font-weight:500;line-height:1.08;letter-spacing:-.035em;max-width:1000px;margin:24px 0; text-wrap:balance; }
.legal-hero h1 em { font-family:var(--font-serif);font-weight:400; }
.legal-date { font-size:14px;color:var(--text-body);margin:0; }
.legal-layout { display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(36px,7vw,100px);padding:64px clamp(20px,5vw,40px) 90px;max-width:1320px;margin:auto;align-items:start; }
.legal-aside { position:sticky;top:115px;max-height:calc(100vh - 140px);overflow:auto; }
.legal-aside h2 { font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin:0 0 18px;color:var(--hs-timber); }
.legal-aside a { display:block;padding:8px 0;font-size:13px;line-height:1.5;color:var(--text-body);text-decoration:none; }
.legal-aside a:hover { color:var(--hs-timber);text-decoration:underline;text-underline-offset:4px; }
.legal-aside .related { margin-top:30px;padding-top:26px;border-top:1px solid var(--divider); }
.legal-aside a[aria-current=page] { color:var(--hs-ink);font-weight:700; }
.legal-copy { min-width:0;max-width:790px;font-size:16px;line-height:1.85;color:var(--text-body);overflow-wrap:anywhere; }
.legal-copy p { margin:0 0 20px; }
.legal-copy h2 { font-size:clamp(23px,2.5vw,29px);font-weight:500;line-height:1.3;letter-spacing:-.025em;color:var(--hs-ink);margin:48px 0 20px;padding-top:28px;border-top:1px solid var(--divider);scroll-margin-top:130px; }
.legal-copy h3 { font-size:18px;color:var(--hs-ink);margin:24px 0 12px; }
.legal-copy ul { padding-left:22px;margin:12px 0 24px; }
.legal-copy li { padding-left:5px;margin:7px 0; }
.legal-copy a { color:var(--hs-timber);text-underline-offset:4px; }
.legal-copy strong { color:var(--hs-ink);font-weight:600; }
.legal-back { display:inline-block;margin-top:32px; }
@media(max-width:900px) { .en-top { flex-wrap:wrap; } .en-links { justify-content:flex-start;gap:20px; } .legal-layout { grid-template-columns:1fr;padding-top:32px;gap:36px; } .legal-aside { position:static;max-height:none; } .legal-aside details { border-bottom:1px solid var(--divider);padding-bottom:20px; } .legal-aside summary { cursor:pointer; } .legal-aside .related { display:none; } .footer-grid { grid-template-columns:1fr 1fr!important; } }

@media(max-width:460px) { .en-links { gap:14px; } .en-links a { font-size:11px; } .footer-grid { grid-template-columns:1fr!important; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }
@media print { header,footer,.legal-aside,.skip-link,.legal-back { display:none; } .legal-layout { display:block;padding:20px 0; } .legal-hero { padding:20px 0;background:none; } .legal-copy { max-width:none; } }
