/* Shared styles for terms.html + privacy.html
   Keep in sync. The two pages differ only in copy. */

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);color:var(--navy-ink);background:var(--paper);font-size:var(--text-base)}

/* ── NAV ── */
nav{position:fixed;top:0;left:0;right:0;z-index:100;height:76px;display:flex;align-items:center;padding:0 5%;background:rgba(250,247,240,.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--paper-3)}
.logo{display:flex;align-items:center;gap:9px;text-decoration:none}
.logo-icon{height:56px;width:56px;flex-shrink:0}
.logo-text-block{display:flex;flex-direction:column;line-height:1.15}
.logo-text-block span{font-family:var(--font-display);font-weight:var(--fw-display);font-size:var(--text-lg);letter-spacing:2px;color:var(--navy);display:block}
.nav-links{display:flex;gap:6px;margin-left:36px;align-items:center}
.nav-links a{color:var(--navy);font-size:var(--text-base);font-weight:var(--fw-bold);text-decoration:none;padding:9px 16px;border-radius:var(--radius-md);letter-spacing:.2px;transition:.15s}
.nav-links a:hover{background:rgba(10,21,48,.12)}
.nav-right{margin-left:auto;display:flex;gap:10px;align-items:center}
.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--fw-bold);cursor:pointer;text-decoration:none;border:none;font-family:inherit;transition:.2s}
.btn-ghost{background:transparent;color:var(--navy);border:1.5px solid rgba(10,21,48,.35);padding:7px 14px;font-size:var(--text-sm)}
.btn-ghost:hover{border-color:var(--navy);background:rgba(10,21,48,.05)}

/* ── HEADER ── */
.legal-hero{padding:140px 5% 80px;background:var(--navy);color:var(--white);position:relative;overflow:hidden;isolation:isolate}
.legal-hero::before{content:'';position:absolute;top:-100px;right:-50px;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(250,247,240,.12) 0%,rgba(184,119,10,.08) 40%,transparent 70%);pointer-events:none;z-index:0}
.legal-hero::after{content:'';position:absolute;bottom:-80px;left:5%;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(47,125,79,.12) 0%,transparent 60%);pointer-events:none;z-index:0}
.legal-hero-inner{max-width:900px;margin:0 auto;position:relative;z-index:3;text-align:center}
.legal-hero .eyebrow{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:2px;color:rgba(250,247,240,.75);margin-bottom:var(--space-4)}
.legal-hero h1{font-family:var(--font-display);font-weight:var(--fw-display);font-size:clamp(36px,5vw,56px);letter-spacing:-2.5px;line-height:var(--lh-display);margin-bottom:var(--space-4);color:var(--white)}
.legal-hero .lead{font-size:var(--text-lg);color:rgba(250,247,240,.7);max-width:620px;margin:0 auto var(--space-6) auto;line-height:var(--lh-body)}
.legal-hero .effective{font-size:var(--text-sm);color:rgba(250,247,240,.55);font-family:var(--font-mono);letter-spacing:.5px;display:inline-block;padding:var(--space-2) var(--space-4);background:rgba(250,247,240,.06);border:1px solid rgba(250,247,240,.12);border-radius:var(--radius-full)}

/* ── LAYOUT ── */
.wrap{max-width:1200px;margin:0 auto;padding:var(--space-12) 5%;display:grid;grid-template-columns:220px 1fr;gap:var(--space-16);align-items:flex-start}

/* ── TOC ── */
aside.toc{position:sticky;top:112px;align-self:flex-start;padding:var(--space-8) var(--space-6);background:var(--paper-2);border:1px solid var(--paper-3);border-radius:var(--radius-lg);max-height:calc(100vh - 132px);overflow-y:auto}
.toc h3{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:1.5px;color:var(--slate);margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--paper-3)}
.toc a{display:block;padding:9px 12px;margin-bottom:2px;border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--navy-ink);text-decoration:none;letter-spacing:.1px;line-height:1.4;transition:.15s}
.toc a:hover{background:var(--paper-3);color:var(--navy)}
.toc a.active{background:var(--navy);color:var(--white);font-weight:var(--fw-bold)}

/* ── BODY ── */
main.legal{min-width:0;font-size:var(--text-base);line-height:var(--lh-body);color:var(--navy-ink)}
main.legal .intro{background:var(--paper-2);border:1px solid var(--paper-3);border-radius:var(--radius-lg);padding:var(--space-6) var(--space-6);margin-bottom:var(--space-8);font-size:var(--text-base);color:var(--navy-ink);line-height:var(--lh-body)}
main.legal .intro strong{color:var(--navy)}
main.legal section{margin-bottom:var(--space-8);scroll-margin-top:96px}
main.legal h2{font-family:var(--font-display);font-weight:var(--fw-display);font-size:clamp(20px,2.2vw,26px);color:var(--navy);letter-spacing:-.8px;line-height:var(--lh-heading);margin-bottom:var(--space-4);padding-bottom:0;margin-top:var(--space-8)}
main.legal h2 .num{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--slate);font-weight:var(--fw-regular);margin-right:var(--space-3);letter-spacing:.5px}
main.legal h3{font-family:var(--font-body);font-weight:var(--fw-bold);font-size:var(--text-base);color:var(--navy);margin-top:var(--space-4);margin-bottom:var(--space-2)}
main.legal p{margin-bottom:var(--space-3)}
main.legal p:last-child{margin-bottom:0}
main.legal ul,main.legal ol{padding-left:var(--space-4);margin-bottom:var(--space-3)}
main.legal li{margin-bottom:var(--space-2)}
main.legal a{color:var(--navy);font-weight:var(--fw-bold);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}
main.legal a:hover{color:var(--navy-2)}
main.legal strong{color:var(--navy);font-weight:var(--fw-bold)}
main.legal .callout{background:rgba(184,119,10,.08);border:1px solid rgba(184,119,10,.25);border-radius:var(--radius-md);padding:var(--space-4) var(--space-4);margin:var(--space-4) 0;font-size:var(--text-sm);color:var(--navy-ink);line-height:var(--lh-body)}
main.legal .callout strong{color:var(--navy)}

.back-top{margin-top:var(--space-8);padding-top:var(--space-4);border-top:1px solid var(--paper-3);text-align:center}
.back-top a{color:var(--slate);font-size:var(--text-sm);text-decoration:none}
.back-top a:hover{color:var(--navy)}

/* ── FOOTER (identical to index.html) ── */
footer{background:var(--navy);padding:var(--space-16) 5% 0;border-top:1px solid rgba(255,255,255,.06);margin-top:var(--space-12)}
.footer-inner{max-width:1200px;margin:0 auto}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:var(--space-8);padding-bottom:var(--space-12)}
.footer-brand-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--white);margin-bottom:var(--space-3)}
.footer-brand-logo img{height:40px;width:auto;filter:brightness(0) invert(1)}
.footer-logo-text-block{display:flex;flex-direction:column;line-height:1.15}
.footer-logo-text-block span{font-family:var(--font-display);font-weight:var(--fw-display);font-size:var(--text-lg);letter-spacing:2px;color:rgba(255,255,255,.9);display:block}
.footer-tagline{font-family:var(--font-body);font-size:var(--text-xs);color:rgba(250,247,240,.55);line-height:var(--lh-body);margin-bottom:var(--space-6)}
.footer-social{display:flex;align-items:center;gap:var(--space-4)}
.footer-social a{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:rgba(255,255,255,.4);text-decoration:none;transition:color .18s ease;margin:0}
.footer-social a:hover{color:rgba(255,255,255,.8)}
.footer-social svg{width:20px;height:20px;flex-shrink:0}
.footer-col h4{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:2px;color:rgba(255,255,255,.6);margin:0 0 var(--space-4) 0}
.footer-col ul{list-style:none;margin:0;padding:0}
.footer-col li{margin-bottom:var(--space-3)}
.footer-col a{font-family:var(--font-body);font-size:var(--text-sm);color:rgba(250,247,240,.6);text-decoration:none;line-height:2;transition:color .18s ease;margin:0}
.footer-col a:hover{color:rgba(255,255,255,.85)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding:var(--space-6) 0;border-top:1px solid rgba(255,255,255,.1);font-family:var(--font-body);font-size:var(--text-xs);color:rgba(255,255,255,.35)}
.footer-bottom-right{display:flex;align-items:center;gap:var(--space-2);color:rgba(255,255,255,.35)}
.footer-bottom-right svg{width:14px;height:14px;flex-shrink:0;color:rgba(255,255,255,.45)}

@media(max-width:860px){
  .wrap{grid-template-columns:1fr;gap:var(--space-4);padding-top:var(--space-6)}
  aside.toc{position:static;padding:var(--space-3);max-height:none}
  .toc a{display:inline-block;margin:2px}
  .nav-links{display:none}
  .footer-grid{grid-template-columns:1fr 1fr;gap:var(--space-6)}
  .footer-bottom{flex-direction:column;gap:var(--space-3);text-align:center}
}
@media(max-width:520px){
  .legal-hero{padding:104px 5% 32px}
}
@media(max-width:380px){.footer-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}

/* === MOBILE POLISH 27-abr (iOS + Android) === */
@media(max-width:900px){
  nav{height:64px;padding:0 4%}
  .logo-icon{height:42px;width:42px}
  .logo-text-block span{font-size:var(--text-base);letter-spacing:1.5px}
  footer{padding:var(--space-10) 5% 0}
  .footer-grid{padding-bottom:var(--space-8)}
}
@media(max-width:520px){
  .legal-hero h1{font-size:clamp(28px,8vw,44px);letter-spacing:-1.2px}
  .legal-hero .lead{font-size:var(--text-base)}
  .legal-hero .effective{font-size:var(--text-xs);padding:var(--space-1) var(--space-3)}
  main.legal h2{font-size:clamp(20px,5vw,24px);letter-spacing:-.5px}
  main.legal{font-size:var(--text-sm);line-height:var(--lh-body)}
  main.legal .intro{padding:var(--space-4) var(--space-6);font-size:var(--text-sm)}
  aside.toc{padding:var(--space-3) var(--space-4)}
}
