body{margin:0;background:#17402F;overflow-x:clip;}
/* The #ley timeline connectors intentionally extend 32px past their grid cell
   (right:-32px); in the stacked mobile layout that would poke past the viewport. */
#ley{overflow-x:clip;}
a{color:#1C1A17;text-decoration:none;} a:hover{color:#C75B39;}
html{scroll-behavior:smooth;}
input,textarea,button{font-family:'Public Sans',system-ui,sans-serif;}
@keyframes oloPulse{0%{transform:scale(0.6);opacity:0.9;}100%{transform:scale(1.55);opacity:0;}}
@keyframes railDot{0%{top:100%;opacity:0;}8%{opacity:1;}92%{opacity:1;}100%{top:-1%;opacity:0;}}

/* Converted from the design's style-hover / style-focus attributes.
   The overridden properties moved out of the inline styles so these rules can win. */
.nav-link{color:#B9CDBF;}
.nav-link:hover{color:#F7F3EA;}
.btn-demo{background:#E8A33D;color:#17402F;border:1px solid #E8A33D;padding:8px 16px;font-size:14px;font-weight:700;}
.btn-demo:hover{background:#F7F3EA;border-color:#F7F3EA;}
.btn-amber{background:#E8A33D;border:1px solid #E8A33D;}
.btn-amber:hover{background:#F7F3EA;border-color:#F7F3EA;}
.input-olo{border:1px solid #2E6B4F;}
.input-olo:focus{border-color:#E8A33D;outline:none;}

/* Honeypot: hidden from people, visible to bots */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

/* Hero recorrido runs as an ambient loop: no act indicator, no replay button.
   Extra #inicio raises specificity above the component's injected styles. */
#inicio #recorrido-peso .rp-acts,
#inicio #recorrido-peso .rp-replay{display:none;}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .pulse{animation:none !important;}
  .dotsG,.railDot{display:none !important;}
}
@media print{
  *{opacity:1 !important; animation:none !important; transition:none !important;}
  [data-rv]{transform:none !important; clip-path:none !important;}
  [data-hoy]{display:none !important;}
  .pulse{display:none !important;}
  nav{position:absolute !important;}
}
