/* ═══════════════════════════════════════
   RELASTIC — Estilos compartidos
   relastic.com.ar
═══════════════════════════════════════ */
:root {
  --or:      #E8720C;
  --or2:     #F5913A;
  --or3:     #FDF0E3;
  --cream:   #F5F3EE;
  --cream2:  #EDE9E0;
  --g1:      #3D3935;
  --g2:      #7A7470;
  --g3:      #AEA8A2;
  --g4:      #D8D4CE;
  --g5:      #EDEBE6;
  --wb:      #A8C4D0;
  --wg:      #9AB09A;
  --ws:      #C8B480;
  --wp:      #E8A878;
  --fd:      'Nunito', system-ui, sans-serif;
  --fb:      'Nunito Sans', system-ui, sans-serif;
  --nav:     64px;
  --max:     1200px;
  --pad:     clamp(20px, 5vw, 60px);
  --r:       16px;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; -webkit-tap-highlight-color:transparent; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body { font-family:var(--fb); background:#fff; color:var(--g1); -webkit-font-smoothing:antialiased; overflow-x:hidden; line-height:1.6; }
img { max-width:100%; display:block; }
a { text-decoration:none; color:inherit; }
button { font-family:var(--fb); cursor:pointer; }

/* ── NAV ── */
.nav {
  position:sticky; top:0; z-index:500;
  height:var(--nav); display:flex; align-items:center; justify-content:space-between;
  padding:0 var(--pad);
  background:rgba(255,255,255,0.97);
  backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(61,57,53,0.07);
  transition:box-shadow .3s;
}
.nav.sc { box-shadow:0 2px 20px rgba(61,57,53,0.08); }
.nav-logo { display:flex; align-items:center; gap:11px; flex-shrink:0; }
.nav-logo svg { width:48px; height:42px; }
.nav-nm { font-family:var(--fd); font-weight:900; font-size:19px; color:var(--or); line-height:1; letter-spacing:-0.3px; }
.nav-ns { font-size:9px; color:var(--g3); letter-spacing:0.16em; text-transform:uppercase; margin-top:1px; }
.nav-lk { display:none; gap:0; }
.nav-lk a { font-size:13px; font-weight:700; color:var(--g2); padding:0 14px; height:var(--nav); display:flex; align-items:center; position:relative; transition:color .2s; }
.nav-lk a::after { content:''; position:absolute; bottom:0; left:14px; right:14px; height:2.5px; background:var(--or); transform:scaleX(0); transition:transform .25s; border-radius:2px; }
.nav-lk a:hover, .nav-lk a.on { color:var(--or); }
.nav-lk a:hover::after, .nav-lk a.on::after { transform:scaleX(1); }
.nav-act { display:flex; align-items:center; gap:10px; }
.btn-cta { background:var(--or); color:#fff; padding:9px 20px; border-radius:24px; font-size:12.5px; font-weight:800; border:none; cursor:pointer; transition:all .2s; font-family:var(--fd); white-space:nowrap; }
.btn-cta:hover { background:var(--or2); transform:translateY(-1px); box-shadow:0 6px 20px rgba(232,114,12,0.25); }
.burger { display:flex; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:8px; }
.burger span { display:block; width:22px; height:2px; background:var(--g1); border-radius:1px; transition:all .25s; }
.burger.op span:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }
.burger.op span:nth-child(2) { opacity:0; width:0; }
.burger.op span:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px); }

/* ── MOBILE MENU ── */
.mob { position:fixed; top:var(--nav); left:0; right:0; bottom:0; z-index:499; background:#fff; padding:32px var(--pad); display:flex; flex-direction:column; gap:0; transform:translateX(-100%); transition:transform .3s cubic-bezier(.32,.72,0,1); overflow-y:auto; }
.mob.op { transform:translateX(0); }
.mob a { font-size:24px; font-weight:900; font-family:var(--fd); color:var(--g1); padding:16px 0; border-bottom:1px solid var(--g4); letter-spacing:-0.5px; }
.mob a:last-child { border:none; color:var(--or); }

/* ── BREADCRUMB ── */
.breadcrumb { padding:12px var(--pad); background:var(--g5); font-size:12px; color:var(--g3); display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.breadcrumb a { color:var(--g3); transition:color .2s; }
.breadcrumb a:hover { color:var(--or); }
.breadcrumb .sep { color:var(--g4); }
.breadcrumb .current { color:var(--g2); font-weight:600; }

/* ── BOTONES ── */
.btn-p { display:inline-flex; align-items:center; gap:8px; background:var(--or); color:#fff; padding:13px 28px; border-radius:28px; font-size:14px; font-weight:800; border:none; cursor:pointer; font-family:var(--fd); transition:all .2s; letter-spacing:0.02em; }
.btn-p:hover { background:var(--or2); transform:translateY(-1px); box-shadow:0 8px 24px rgba(232,114,12,0.25); }
.btn-s { display:inline-flex; align-items:center; gap:6px; background:transparent; color:var(--g1); padding:13px 22px; border-radius:28px; font-size:14px; font-weight:700; border:1.5px solid var(--g4); cursor:pointer; font-family:var(--fb); transition:all .2s; }
.btn-s:hover { border-color:var(--or); color:var(--or); }

/* ── FOOTER ── */
.footer { background:var(--g1); padding:clamp(44px,6vw,72px) var(--pad) 28px; }
.ft-g { display:grid; grid-template-columns:1fr; gap:32px; margin-bottom:40px; }
.ft-logo { font-family:var(--fd); font-size:20px; font-weight:900; color:var(--or); margin-bottom:6px; }
.ft-tl { font-family:var(--fd); font-style:italic; font-size:13px; color:rgba(255,255,255,0.3); margin-bottom:12px; }
.ft-d { font-size:12.5px; color:rgba(255,255,255,0.35); line-height:1.7; font-weight:300; max-width:260px; }
.ft-ct { font-size:10px; font-weight:800; letter-spacing:0.14em; text-transform:uppercase; color:rgba(255,255,255,0.3); margin-bottom:12px; }
.ft-ul { list-style:none; display:flex; flex-direction:column; gap:9px; }
.ft-ul li a { font-size:12.5px; color:rgba(255,255,255,0.5); transition:color .2s; font-weight:300; }
.ft-ul li a:hover { color:var(--or2); }
.ft-bot { padding-top:22px; border-top:1px solid rgba(255,255,255,0.07); display:flex; flex-wrap:wrap; gap:10px; justify-content:space-between; align-items:center; }
.ft-cp { font-size:12px; color:rgba(255,255,255,0.25); }
.ft-iso { font-size:11px; color:rgba(255,255,255,0.2); display:flex; align-items:center; gap:6px; }
.ft-iso-d { width:5px; height:5px; border-radius:50%; background:var(--or); opacity:0.55; }

/* ── RESPONSIVE ── */
@media(min-width:768px) {
  .nav-lk { display:flex; }
  .burger { display:none; }
  .ft-g { grid-template-columns:2fr 1fr 1fr 1fr; }
}

/* ── UTILITIES ── */
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
.hide { display:none!important; }
.max { max-width:var(--max); margin:0 auto; }
