/*
  site.css — chrome compartido por todas las páginas del sitio público
  (SCRUM-36+). Reset base, contenedor, botones, encabezado, menú y pie.
  Los COLORES, TIPOGRAFÍAS y SOMBRAS salen de tokens.css: aquí solo va la
  estructura. Una sola fuente: el landing y las páginas internas la cargan.
*/
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important;scroll-behavior:auto !important;}
}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--cream);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{margin:0;font-weight:700;}
p{margin:0;}
ul{margin:0;padding:0;list-style:none;}
button{font-family:inherit;border:none;background:none;cursor:pointer;}
section{position:relative;}
.container{
  max-width:1180px;
  margin:0 auto;
  padding:0 24px;
}
@media (min-width:768px){ .container{padding:0 48px;} }

::selection{background:var(--olive);color:var(--white);}

/* focus visibility */
a:focus-visible, button:focus-visible{
  outline:3px solid var(--olive-deep);
  outline-offset:3px;
  border-radius:4px;
}

/* ============ NAV ============ */
header{
  position:fixed;
  top:0;left:0;right:0;
  z-index:50;
  padding:14px 20px;
  transition:background .35s var(--ease), box-shadow .35s var(--ease), padding .35s var(--ease);
}
@media (min-width:768px){ header{padding:18px 40px;} }
header.scrolled{
  background:rgba(243,242,234,.92);
  backdrop-filter:blur(10px);
  box-shadow:0 6px 24px -14px rgba(43,43,35,.35);
  padding:10px 20px;
}
@media (min-width:768px){ header.scrolled{padding:12px 40px;} }
.nav-inner{
  max-width:1180px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.brand{display:flex;align-items:center;gap:10px;}
.brand img{height:40px;width:40px;object-fit:contain;filter:brightness(0) saturate(100%);transition:filter .3s;}
header.scrolled .brand img{filter:brightness(0) saturate(100%);}
.brand span{font-family:var(--font-script);font-size:1.6rem;font-weight:700;color:var(--olive-ink);line-height:1;}
nav.links{display:none;align-items:center;gap:28px;}
@media (min-width:980px){ nav.links{display:flex;} }
nav.links a{
  font-family:var(--font-display);
  font-weight:600;
  font-size:.92rem;
  color:var(--olive-ink);
  position:relative;
  padding:6px 2px;
}
nav.links a::after{
  content:'';
  position:absolute;left:0;right:100%;bottom:0;height:2px;
  background:var(--olive);
  transition:right .3s var(--ease);
  border-radius:2px;
}
nav.links a:hover::after{right:0;}

.nav-cta{
  display:none;
  align-items:center;
  gap:8px;
  background:var(--olive-ink);
  color:var(--white) !important;
  font-family:var(--font-display);
  font-weight:600;
  font-size:.88rem;
  padding:10px 18px;
  border-radius:999px;
  box-shadow:var(--shadow-soft);
  transition:transform .25s var(--ease), background .25s;
}
.nav-cta:hover{transform:translateY(-2px);background:var(--olive-deep);}
@media (min-width:980px){ .nav-cta{display:inline-flex;} }

.nav-actions{display:flex;align-items:center;gap:12px;}
.nav-login{
  display:none;
  align-items:center;
  font-family:var(--font-display);
  font-weight:600;
  font-size:.88rem;
  color:var(--olive-ink);
  padding:8px 18px;
  border:2px solid var(--olive-ink);
  border-radius:999px;
  transition:background .25s, color .25s, transform .25s var(--ease);
}
.nav-login:hover{background:var(--olive-ink);color:var(--white);transform:translateY(-2px);}
@media (min-width:980px){ .nav-login{display:inline-flex;} }

.burger{
  display:flex;
  width:44px;height:44px;
  align-items:center;justify-content:center;
  border-radius:12px;
  background:var(--olive-ink);
}
@media (min-width:980px){ .burger{display:none;} }
.burger span,.burger::before,.burger::after{content:'';display:block;position:absolute;}
.burger-icon{position:relative;width:20px;height:14px;}
.burger-icon span{position:absolute;left:0;right:0;height:2px;background:var(--white);border-radius:2px;transition:transform .3s var(--ease), opacity .3s;}
.burger-icon span:nth-child(1){top:0;}
.burger-icon span:nth-child(2){top:6px;}
.burger-icon span:nth-child(3){top:12px;}
.burger.open .burger-icon span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.burger.open .burger-icon span:nth-child(2){opacity:0;}
.burger.open .burger-icon span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

.mobile-menu{
  position:fixed;
  inset:0;
  z-index:45;
  background:var(--sage);
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:26px;
  transform:translateY(-100%);
  transition:transform .45s var(--ease);
}
.mobile-menu.open{transform:translateY(0);}
.mobile-menu a{
  font-family:var(--font-display);
  font-size:1.4rem;
  font-weight:700;
  color:var(--olive-ink);
  opacity:0;
  transform:translateX(-24px);
  transition:opacity .5s var(--ease), transform .5s var(--ease);
}
.mobile-menu.open a{opacity:1;transform:translateX(0);}
.mobile-menu.open a:nth-child(1){transition-delay:.08s;}
.mobile-menu.open a:nth-child(2){transition-delay:.14s;}
.mobile-menu.open a:nth-child(3){transition-delay:.2s;}
.mobile-menu.open a:nth-child(4){transition-delay:.26s;}
.mobile-menu.open a:nth-child(5){transition-delay:.32s;}
.mobile-menu.open a:nth-child(6){transition-delay:.38s;}
.mobile-menu.open a:nth-child(7){transition-delay:.44s;}
.mobile-menu.open a:nth-child(8){transition-delay:.5s;}
.mobile-menu .nav-cta{display:inline-flex;margin-top:10px;}

/* ============ BUTTONS ============ */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--font-display);
  font-weight:600;
  font-size:.95rem;
  padding:14px 26px;
  border-radius:999px;
  transition:transform .25s var(--ease), box-shadow .25s var(--ease), background .25s;
  white-space:nowrap;
}
.btn-primary{background:var(--olive-ink);color:var(--white);box-shadow:var(--shadow-soft);}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 16px 34px -14px rgba(43,43,35,.45);background:var(--olive-deep);}
.btn-ghost{background:transparent;color:var(--olive-ink);border:2px solid var(--olive-ink);}
.btn-ghost:hover{background:var(--olive-ink);color:var(--white);transform:translateY(-3px);}
.btn svg{width:20px;height:20px;flex:none;}
.btn[aria-disabled="true"]{opacity:.55;cursor:not-allowed;pointer-events:none;}

/* ============ FOOTER ============ */
footer{background:var(--olive);color:var(--white);padding:34px 0;border-top:1px solid rgba(255,255,255,.12);}
.foot-inner{display:flex;flex-direction:column;gap:14px;align-items:center;text-align:center;}
@media (min-width:760px){ .foot-inner{flex-direction:row;justify-content:space-between;text-align:left;} }
.foot-brand{display:flex;align-items:center;gap:10px;}
.foot-brand img{height:30px;width:30px;object-fit:contain;}
.foot-brand span{font-family:var(--font-script);font-size:1.3rem;}
footer p.copy{font-size:.82rem;opacity:.7;}
.foot-links{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;}
.foot-links a{font-size:.82rem;opacity:.7;transition:opacity .2s;}
.foot-links a:hover{opacity:1;text-decoration:underline;text-underline-offset:3px;}
