/* ─── NEXO.VET · SHARED STYLES ──────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{
  font-family:'Inter',sans-serif;
  background:#fff;
  color:#0d1f3c;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

/* TOKENS */
:root{
  --ink:    #0d1f3c;
  --navy:   #1a3a6b;
  --teal:   #0a7c6e;
  --tealb:  #0d9e8c;
  --tealL:  #eaf7f5;
  --slate:  #f5f7fb;
  --mid:    #5a6e87;
  --dim:    #8fa3b8;
  --border: #e2e8f0;
  --wht:    #ffffff;
  --d:      'Outfit',sans-serif;
  --r:      10px;
  --shadow: 0 2px 12px rgba(13,31,60,.07);
  --shadow-md: 0 6px 24px rgba(13,31,60,.10);
}

/* NAV */
nav{
  position:sticky;top:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 2.5rem;height:64px;
  background:rgba(255,255,255,.95);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border);
}
.brand{
  font-family:var(--d);font-size:1.15rem;font-weight:900;
  color:var(--ink);letter-spacing:-.03em;text-decoration:none;
}
.brand .dot{color:var(--teal)}
.nav-links{display:flex;align-items:center;gap:2rem;list-style:none}
.nav-links a{
  font-size:.85rem;font-weight:500;color:var(--mid);
  text-decoration:none;transition:color .2s;
}
.nav-links a:hover,.nav-links a.active{color:var(--ink)}
.nav-cta{
  font-family:var(--d);font-size:.82rem;font-weight:700;
  background:var(--teal);color:#fff;
  padding:.5rem 1.3rem;border-radius:7px;
  text-decoration:none;transition:background .2s,transform .15s;
  white-space:nowrap;
}
.nav-cta:hover{background:var(--tealb);transform:translateY(-1px)}
.nav-mobile-btn{display:none;background:none;border:none;cursor:pointer;padding:.4rem;color:var(--ink)}

/* FOOTER */
footer{
  background:var(--ink);
  padding:3.5rem 2.5rem 2rem;
}
.footer-grid{
  max-width:1100px;margin:0 auto;
  display:grid;grid-template-columns:2fr 1fr 1fr 1fr;
  gap:2.5rem;margin-bottom:3rem;
}
@media(max-width:760px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.footer-grid{grid-template-columns:1fr}}
.footer-brand-col .brand{color:#fff;font-size:1.3rem}
.footer-brand-col p{font-size:.82rem;color:rgba(255,255,255,.45);margin-top:.75rem;line-height:1.6;max-width:240px}
.footer-col h4{font-family:var(--d);font-size:.72rem;font-weight:700;
  color:rgba(255,255,255,.35);letter-spacing:.1em;margin-bottom:1rem}
.footer-col ul{list-style:none}
.footer-col ul li{margin-bottom:.5rem}
.footer-col ul li a{font-size:.82rem;color:rgba(255,255,255,.55);text-decoration:none;
  transition:color .2s}
.footer-col ul li a:hover{color:#fff}
.footer-bottom{
  max-width:1100px;margin:0 auto;
  padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:.75rem;
  font-size:.72rem;color:rgba(255,255,255,.3);
}
.footer-bottom a{color:rgba(255,255,255,.4);text-decoration:none}
.footer-bottom a:hover{color:rgba(255,255,255,.7)}

/* HELPERS */
.inner{max-width:1100px;margin:0 auto}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}
.reveal.visible{opacity:1;transform:none}
.reveal{animation:safeShow 0s 6s both}
@keyframes safeShow{to{opacity:1;transform:none}}

/* PILL TAG */
.pill{
  display:inline-flex;align-items:center;
  font-family:var(--d);font-size:.7rem;font-weight:700;
  color:var(--teal);letter-spacing:.08em;
  background:var(--tealL);
  padding:.3rem .9rem;border-radius:40px;
  margin-bottom:1.25rem;
}

/* SECTION TITLES */
.s-title{
  font-family:var(--d);
  font-size:clamp(1.8rem,3.5vw,2.6rem);
  font-weight:900;letter-spacing:-.04em;
  color:var(--ink);line-height:1.1;margin-bottom:.7rem;
}
.s-lead{
  font-size:.98rem;color:var(--mid);
  max-width:520px;margin-bottom:2.5rem;line-height:1.65;
}
section{padding:5.5rem 2.5rem}
@media(max-width:680px){
  nav{padding:0 1.25rem}
  section{padding:3.5rem 1.25rem}
  .nav-links{display:none}
  .nav-mobile-btn{display:block}
}
