:root{
    --black:#0E0D0C;
    --cream:#FAF6EF;
    --cream-2:#F3ECDF;
    --gold:#E3A83B;
    --gold-dark:#C48A22;
    --gold-light:#F6D98A;
    --coral:#E4572E;
    --coral-dark:#C43F1B;
    --navy:#1B1914;
    --ink:#2A2620;
    --line: rgba(27,25,20,0.12);
    --white:#FFFFFF;
    --radius: 16px;
    --maxw: 1180px;
    --ease: cubic-bezier(.22,1,.36,1);
  }
@media (max-width: 768px) {
  .nav-links {
    display: none;
    flex-direction: column;
    position: absolute;
    top: 64px;
    left: 0;
    right: 0;
    background: var(--cream);
    padding: 20px 24px;
    border-bottom: 1px solid var(--line);
    gap: 16px;
    z-index: 999;
  }

  .nav-links.nav-open {
    display: flex;
  }

  .menu-toggle {
    display: flex;
  }
}

@media (min-width: 769px) {
  .menu-toggle {
    display: none;
  }

  .nav-links {
    display: flex !important; /* evita que el toggle afecte desktop */
  }
}
  .texture{
    background-image: radial-gradient(rgba(27,25,20,0.06) 1px, transparent 1px);
    background-size: 18px 18px;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Raleway', sans-serif;
    background:var(--cream);
    color:var(--ink);
    line-height:1.6;
    font-size:17px;
    -webkit-font-smoothing:antialiased;
	  margin:0;
	  padding:0;
  }
  h1,h2,h3{
    font-family:'Raleway', sans-serif;
    font-weight:400;
    line-height:1.05;
    letter-spacing:0.2px;
	color: #FAF6EF;
  }
  a{color:inherit; text-decoration:none;}
  img{max-width:100%; display:block;}
  .wrap{max-width:var(--maxw); margin:0 auto; padding:0 24px;}
  .eyebrow{
    font-weight:700; font-size:0.85rem; letter-spacing:0.1em; text-transform:uppercase;
    color:var(--gold-dark); margin-bottom:12px; display:flex; align-items:center; gap:8px;
  }
  .eyebrow::before{content:''; width:22px; height:2px; background:var(--gold-dark); display:inline-block;}

  /* ICONS */
  .icon{width:1em; height:1em; display:inline-block; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; vertical-align:-0.15em;}

  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:10px;
    background:var(--gold); color:var(--black); font-weight:700;
    padding:16px 30px; min-height:52px; border-radius:12px; border:none; cursor:pointer;
    font-size:1.05rem; font-family:'Atkinson Hyperlegible', sans-serif;
    transition:transform .2s var(--ease), background .2s var(--ease), box-shadow .2s var(--ease);
    box-shadow:0 2px 0 rgba(0,0,0,0.12);
  }
  .btn:hover{background:var(--gold-dark); transform:translateY(-2px); box-shadow:0 6px 16px rgba(196,138,34,0.35);}
  .btn:active{transform:translateY(0);}
  .btn:focus-visible{outline:3px solid var(--navy); outline-offset:3px;}
  .btn svg{transition:transform .2s var(--ease);}
  .btn:hover svg{transform:translateX(3px);}
  .btn-ghost{background:transparent; color:var(--white); border:1.5px solid rgba(255,255,255,0.4); box-shadow:none;}
  .btn-ghost:hover{background:rgba(255,255,255,0.1); box-shadow:none;}
  .quiet-link{text-decoration:underline; text-underline-offset:3px; color:var(--gold-dark); font-weight:700;}

  /* REVEAL ON SCROLL */
  .reveal{opacity:0; transform:translateY(22px); transition:opacity .6s var(--ease), transform .6s var(--ease);}
  .reveal.in{opacity:1; transform:translateY(0);}
  .reveal-stagger.in > *{transition-delay:calc(var(--i,0) * 70ms);}

  /* NAV */
  header{background:rgba(250,246,239,0.92); backdrop-filter:blur(8px); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:50;}
  nav{display:flex; align-items:center; justify-content:space-between; padding:14px 24px; max-width:var(--maxw); margin:0 auto;}
  .logo{font-family:'Anton', sans-serif; font-size:1.5rem; display:flex; align-items:baseline; gap:8px;}
  .logo .ris{color:var(--gold-dark);}
  .logo .amp{color:var(--ink); font-size:1.1rem;}
.logo-img{ width: 100%; height:50px;}
.logo-img1{ width:100%; height:200px;}
  .nav-links{display:flex; gap:30px; align-items:center;}
  .nav-links a{font-weight:700; font-size:1rem; position:relative; padding:4px 0;}
  .nav-links a::after{content:''; position:absolute; left:0; bottom:-2px; width:0; height:2px; background:var(--gold-dark); transition:width .2s var(--ease);}
  .nav-links a:hover::after{width:100%;}
  .nav-links a:hover{color:var(--gold-dark);}
@media (max-width: 859px) {
  /* ... lo que ya tienes ... */
  
  .nav-cta {
    display: inline-block !important;
  }
}
  @media(min-width:860px){ .nav-cta{display:inline-flex; padding:12px 22px; min-height:auto; font-size:0.95rem;} }
  .menu-toggle{display:none; background:none; border:none; cursor:pointer; padding:8px; color:var(--ink);}
  @media(max-width:859px){ .nav-links{display:none;} .menu-toggle{display:block;} }

  /* HERO */
  .hero{background:var(--black); color:var(--white); padding:0; overflow:hidden; position:relative;}
  .hero::before{
    content:''; position:absolute; inset:0; opacity:0.5; pointer-events:none;
    background:radial-gradient(ellipse 70% 60% at 15% 10%, rgba(227,168,59,0.16), transparent 60%);
  }
  .hero-inner{display:grid; grid-template-columns:1fr; gap:32px; max-width:var(--maxw); margin:0 auto; padding:0 24px; align-items:center; position:relative;}
  @media(min-width:900px){ .hero-inner{grid-template-columns:1.1fr 1fr; padding-bottom:0;} }
  .hero-copy{padding-top:52px;}
  .hero h1{font-size:clamp(2.3rem, 5vw, 3.5rem); margin-bottom:18px; color:#faebd7;}
  .hero h1 .accent{color:var(--gold);}
  .hero p{font-size:1.1rem; color:rgba(255,255,255,0.85); max-width:520px; margin-bottom:26px;}
  .hero-stats{display:flex; gap:28px; margin:8px 0 30px; flex-wrap:wrap;}
  .hero-stat b{display:block; font-family:'Anton',sans-serif; font-size:1.9rem; color:var(--gold);}
  .hero-stat span{font-size:0.82rem; color:rgba(255,255,255,0.65); text-transform:uppercase; letter-spacing:0.05em;}
  .pills{display:flex; flex-wrap:wrap; gap:12px; margin-bottom:32px;}
  .pill{
    border:1px solid rgba(255,255,255,0.25); border-radius:999px; padding:10px 18px;
    font-size:0.92rem; font-weight:700; display:flex; align-items:center; gap:8px; color:var(--white);
    transition:border-color .2s var(--ease), background .2s var(--ease);
  }
  .pill:hover{border-color:var(--gold); background:rgba(227,168,59,0.08);}
  .pill svg{color:var(--gold);}
  .hero-img{position:relative; align-self:stretch; overflow:hidden;}
  .hero-img img{width:100%; height:100%; object-fit:cover; border-radius:24px 24px 0 0; min-height:340px; transform:scale(1.06); transition:transform 8s var(--ease);}
  .hero.loaded .hero-img img{transform:scale(1);}
  @media(min-width:900px){ .hero-img img{border-radius:24px 0 0 0; min-height:440px;} }

  /* FLOATING DATE BADGE */
  .date-badge{
    position:absolute; top:20px; right:20px; z-index:3;
    width:96px; height:96px; border-radius:50%;
    background:var(--coral); color:var(--white);
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    text-align:center; box-shadow:0 10px 30px rgba(228,87,46,0.4);
    animation:spinSlow 22s linear infinite;
    border:3px dashed rgba(255,255,255,0.6);
  }
  .date-badge span{animation:spinSlowReverse 22s linear infinite; display:block;}
  .date-badge .db-month{font-size:0.7rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase;}
  .date-badge .db-day{font-family:'Anton',sans-serif; font-size:1.9rem; line-height:1;}
  @keyframes spinSlow{ to{transform:rotate(360deg);} }
  @keyframes spinSlowReverse{ to{transform:rotate(-360deg);} }
  @media(prefers-reduced-motion: reduce){ .date-badge, .date-badge span{animation:none;} }

  /* TICKER MARQUEE */
  .ticker{background:var(--coral); color:var(--white); overflow:hidden; padding:14px 0; position:relative; z-index:3;}
  .ticker-track{display:flex; width:max-content; animation:tickerScroll 26s linear infinite;}
  .ticker-track span{
    font-family:'Roboto',sans-serif; font-size:1.05rem; letter-spacing:0.04em; text-transform:uppercase;
    padding:0 28px; display:flex; align-items:center; gap:14px; white-space:nowrap;
  }
  .ticker-track span::after{content:'●'; color:rgba(255,255,255,0.55); font-size:0.6rem;}
  @keyframes tickerScroll{ from{transform:translateX(0);} to{transform:translateX(-50%);} }
  @media(prefers-reduced-motion: reduce){ .ticker-track{animation:none;} }

  /* DIAGONAL DIVIDER */
  .diagonal-cut{position:relative; z-index:2;}
  .diagonal-cut svg{display:block; width:100%; height:auto;}

  /* COUNTDOWN */
  .countdown{display:flex; gap:14px; flex-wrap:wrap; margin:8px 0 30px;}
  .cd-box{background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.15); border-radius:12px; padding:14px 18px; min-width:76px; text-align:center;}
  .cd-box b{display:block; font-family:'Anton',sans-serif; font-size:1.8rem; color:var(--coral);}
  .cd-box span{font-size:0.72rem; text-transform:uppercase; letter-spacing:0.05em; color:rgba(255,255,255,0.6);}

  /* BIB-STYLE PRICE CARDS */
  .price-card{position:relative; background:var(--white); border:2px dashed var(--line); border-radius:12px; padding:34px 26px 30px; text-align:center; overflow:hidden; transition:transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s var(--ease);}
  .price-card::before, .price-card::after{content:''; position:absolute; width:22px; height:22px; background:var(--cream); border-radius:50%; top:50%; transform:translateY(-50%);}
  .price-card::before{left:-11px;}
  .price-card::after{right:-11px;}
  .price-card:hover{transform:translateY(-6px); box-shadow:0 14px 32px rgba(27,25,20,0.12); border-color:var(--gold);}
  .price-card.popular{border-color:var(--gold); border-style:solid; box-shadow:0 4px 24px rgba(227,168,59,0.2);}
  .bib-number{position:absolute; top:8px; right:18px; font-family:'Anton',sans-serif; font-size:3.2rem; color:rgba(27,25,20,0.05); line-height:1; user-select:none;}

  /* ROUTE LINE — signature element */
  .route-line{position:absolute; bottom:0; left:0; width:100%; height:64px; z-index:2; pointer-events:none;}
  .route-path{fill:none; stroke:var(--gold); stroke-width:3; stroke-linecap:round; stroke-dasharray:1400; stroke-dashoffset:1400; opacity:0.9;}
  .hero.loaded .route-path{animation:drawRoute 2.2s var(--ease) 0.3s forwards;}
  @keyframes drawRoute{ to{stroke-dashoffset:0;} }
  .route-marker{opacity:0; transform-origin:center; transition:opacity .3s ease .9s;}
  .hero.loaded .route-marker{opacity:1;}
  .hero-cta-row{display:flex; gap:16px; flex-wrap:wrap; align-items:center; padding-bottom:56px;}

  /* SECTION generic */
  section{padding:80px 0;}
  .center{text-align:center;}
  .section-head{max-width:640px; margin:0 auto 46px; text-align:center;}
  .section-head h2{font-size:clamp(1.8rem,3.4vw,2.4rem);}

  /* PRICING */
  .pricing-grid{display:grid; gap:22px; grid-template-columns:1fr; margin-bottom:36px;}
  @media(min-width:760px){ .pricing-grid{grid-template-columns:repeat(3,1fr);} }
  .badge{position:absolute; top:1px; left:50%; transform:translateX(-50%); background:var(--gold); color:var(--black); font-size:0.74rem; font-weight:700; letter-spacing:0.05em; text-transform:uppercase; padding:6px 16px; border-radius:999px;}
  .price-icon{
    width:60px; height:60px; border-radius:50%; background:var(--black); color:var(--gold);
    display:flex; align-items:center; justify-content:center; margin:0 auto 16px; font-size:1.5rem;
    transition:transform .25s var(--ease);
  }
  .price-card:hover .price-icon{transform:scale(1.08) rotate(-4deg);}
  .price-card h3{font-family:'Atkinson Hyperlegible',sans-serif; font-weight:700; font-size:1.15rem; margin-bottom:8px;}
  .price-amt{font-family:'Anton',sans-serif; font-size:2.3rem; color:var(--gold-dark); line-height:1;}
  .price-unit{font-size:0.82rem; color:#8a8375; font-weight:700; display:block; margin-top:4px; margin-bottom:14px;}
  .price-card p{font-size:0.95rem; color:#5c564a;}
  .reassure{text-align:center; font-size:0.92rem; color:#6a6357; max-width:720px; margin:0 auto; padding-top:10px; border-top:1px solid var(--line);}
  .includes-row{display:flex; flex-wrap:wrap; justify-content:center; gap:22px; font-size:0.9rem; font-weight:700; color:var(--navy); margin-bottom:16px;}
  .includes-row span{display:flex; align-items:center; gap:8px;}
  .includes-row svg{color:var(--gold-dark);}

  /* REGISTRATION */
  .register-section{background:var(--black); color:var(--white); position:relative;}
  .register-grid{display:grid; gap:36px; grid-template-columns:1fr; align-items:start;}
  @media(min-width:900px){ .register-grid{grid-template-columns:0.85fr 1.15fr;} }
  .register-grid h2{font-size:clamp(1.9rem,3.6vw,2.5rem); margin-bottom:16px;}
  .register-grid p{color:rgba(255,255,255,0.78); margin-bottom:14px;}
  .zeffy-card{background:var(--white); color:var(--ink); border-radius:var(--radius); padding:30px; box-shadow:0 20px 50px rgba(0,0,0,0.35);}
  .zeffy-header{display:flex; justify-content:space-between; align-items:center; margin-bottom:20px;}
  .zeffy-header strong{font-size:1.08rem;}
  .zeffy-badge{font-size:0.74rem; color:#7a7a7a; font-weight:700;}
  .field{margin-bottom:18px;}
  .field label{display:block; font-size:0.92rem; font-weight:700; margin-bottom:8px;}
  .field select, .field input[type=text]{
    width:100%; padding:14px; min-height:48px; border:1.5px solid #DDD6C6; border-radius:10px;
    font-family:inherit; font-size:0.98rem; background:#FBFAF7; transition:border-color .2s ease;
  }
  .field select:focus, .field input:focus{outline:none; border-color:var(--gold-dark);}
  .radio-row{display:flex; flex-direction:column; gap:10px; font-size:0.95rem;}
  .radio-row label{display:flex; gap:10px; align-items:flex-start; font-weight:400; cursor:pointer; padding:4px 0;}
  .radio-row input{width:20px; height:20px; margin-top:2px; accent-color:var(--gold-dark); flex-shrink:0;}
  .waiver{font-size:0.85rem; display:flex; gap:10px; align-items:flex-start; margin-bottom:20px; color:#5c564a;}
  .waiver input{width:20px; height:20px; margin-top:2px; accent-color:var(--gold-dark); flex-shrink:0;}
  .zeffy-submit{
    width:100%; background:var(--black); color:var(--white); padding:16px; min-height:52px; border-radius:10px; border:none;
    font-weight:700; font-size:1.05rem; cursor:pointer; transition:background .2s ease, transform .2s ease;
    display:flex; align-items:center; justify-content:center; gap:10px;
  }
  .zeffy-submit:hover{background:var(--navy); transform:translateY(-2px);}
  .zeffy-note{font-size:0.82rem; color:#8a8375; text-align:center; margin-top:12px; display:flex; align-items:center; justify-content:center; gap:6px;}

  /* CAUSE */
  .cause-grid{display:grid; gap:36px; grid-template-columns:1fr; align-items:center;}
  @media(min-width:860px){ .cause-grid{grid-template-columns:1fr 0.9fr;} }
  .cause-grid .img-wrap{border-radius:var(--radius); overflow:hidden; box-shadow:0 20px 50px rgba(27,25,20,0.15);}
  .cause-grid img{width:100%; transition:transform .5s var(--ease);}
  .cause-grid .img-wrap:hover img{transform:scale(1.04);}
  .quote-box{background:var(--cream-2); border-left:4px solid var(--gold); padding:20px 22px; border-radius:0 10px 10px 0; font-weight:700; font-size:1.05rem; margin:22px 0;}

  /* FAQ */
  .faq-list{display:grid; gap:14px; grid-template-columns:1fr; max-width:900px; margin:0 auto;}
  @media(min-width:760px){ .faq-list{grid-template-columns:1fr 1fr;} }
  .faq-item{background:var(--white); border:1.5px solid var(--line); border-radius:12px; overflow:hidden; transition:border-color .2s ease;}
  .faq-item.open{border-color:var(--gold);}
  .faq-q{width:100%; text-align:left; padding:18px 20px; background:none; border:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:12px; font-weight:700; font-size:1rem; font-family:inherit; color:var(--ink); min-height:44px;}
  .faq-q:focus-visible{outline:3px solid var(--gold-dark); outline-offset:-3px;}
  .faq-a{max-height:0; overflow:hidden; transition:max-height .3s var(--ease);}
  .faq-a-inner{padding:0 20px 18px; font-size:0.95rem; color:#5c564a;}
  .faq-item.open .faq-a{max-height:300px;}
  .faq-icon{width:28px; height:28px; border-radius:50%; background:var(--cream-2); display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:transform .25s var(--ease), background .25s ease;}
  .faq-item.open .faq-icon{transform:rotate(45deg); background:var(--gold);}

  /* LOCATION */
  .loc-grid{display:grid; gap:32px; grid-template-columns:1fr;}
  @media(min-width:860px){ .loc-grid{grid-template-columns:0.9fr 1.1fr;} }
  .loc-facts{display:flex; flex-direction:column; gap:16px; margin:22px 0;}
  .loc-fact{display:flex; gap:14px; font-size:1rem; align-items:flex-start;}
  .loc-fact .ic{width:40px; height:40px; border-radius:10px; background:var(--cream-2); color:var(--gold-dark); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
  .loc-fact strong{font-weight:700;}
  .map-embed{border-radius:var(--radius); overflow:hidden; border:1px solid var(--line); min-height:340px;}
  .map-embed iframe{width:100%; height:100%; min-height:340px; border:0;}

  /* FINAL CTA */
  .final-cta{background:var(--black); color:var(--white); text-align:center; position:relative; overflow:hidden;}
  .final-cta::before{content:''; position:absolute; inset:0; background:radial-gradient(ellipse 60% 80% at 50% 120%, rgba(227,168,59,0.18), transparent 60%);}
  .final-cta h2{font-size:clamp(1.7rem,3.4vw,2.3rem); margin-bottom:10px; position:relative; color: #F3ECDF;}
  .final-cta p{color:rgba(255,255,255,0.75); margin-bottom:26px; position:relative;}
  .final-cta .btn{position:relative;}

  /* FOOTER */
  footer{background:var(--cream-2); padding:60px 0 30px;}
  .footer-grid{display:grid; gap:32px; grid-template-columns:1fr; margin-bottom:32px;}
  @media(min-width:760px){ .footer-grid{grid-template-columns:1.4fr 1fr 1fr;} }
  .footer-desc{font-size:0.92rem; color:#6a6357; max-width:340px; margin-top:10px;}
  .footer-col h4{font-size:0.85rem; text-transform:uppercase; letter-spacing:0.06em; margin-bottom:14px; color:var(--navy);}
  .footer-col a{display:block; font-size:0.92rem; margin-bottom:11px; color:#5c564a; transition:color .2s ease;}
  .footer-col a:hover{color:var(--gold-dark);}
  .footer-bottom{border-top:1px solid var(--line); padding-top:22px; font-size:0.82rem; color:#8a8375; display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px;}

  /* STICKY MOBILE CTA */
  .sticky-cta{position:fixed; bottom:0; left:0; right:0; z-index:60; background:var(--black); padding:14px 20px; display:flex; align-items:center; justify-content:space-between; transform:translateY(100%); transition:transform .3s var(--ease); box-shadow:0 -4px 18px rgba(0,0,0,0.25);}
  .sticky-cta.show{transform:translateY(0);}
  .sticky-cta span{color:var(--white); font-weight:700; font-size:0.95rem;}
  @media(min-width:760px){ .sticky-cta{display:none;} }

  @media (prefers-reduced-motion: reduce){
    *{animation:none !important; transition:none !important; scroll-behavior:auto !important;}
    .reveal{opacity:1 !important; transform:none !important;}
    .route-path{stroke-dashoffset:0 !important;}
    .hero-img img{transform:scale(1) !important;}
  }

  /* ===========================================================
     LO QUE SIGUE ES NUEVO — agregado para donate.html y sponsors.html
     No se modificó absolutamente nada de lo que ya estaba arriba.
  =========================================================== */

  /* HEADER simple (donate / sponsors) */
  header.simple{padding:20px 24px; text-align:center;}
  .back-link{display:inline-flex; align-items:center; gap:6px; margin-top:8px; font-size:0.85rem; color:#8a8375; transition:color .2s ease;}
  .back-link:hover{color:var(--gold-dark);}

  /* HERO simple centrado (donate / sponsors) */
  .hero.simple{padding:60px 0; text-align:center;}
  .hero.simple .wrap{position:relative;}
  .hero.simple h1{font-size:clamp(2rem,4.5vw,2.9rem); margin-bottom:16px;}
  .hero.simple p{max-width:600px; margin:0 auto 30px; color:rgba(255,255,255,0.82); font-size:1.06rem;}
  .hero-ctas{display:flex; gap:14px; justify-content:center; flex-wrap:wrap;}

  /* FOOTER simple (donate / sponsors) */
  footer.simple{padding:32px; text-align:center; font-size:0.85rem; color:#8a8375; background:none;}

  /* DONATE PAGE */
  .impact-section{padding:56px 0 0;}
  .impact-grid{display:grid; gap:18px; grid-template-columns:1fr;}
  @media(min-width:760px){ .impact-grid{grid-template-columns:repeat(4,1fr);} }
  .impact-card{
    background:var(--white); border:1.5px solid var(--line); border-radius:var(--radius);
    padding:24px 20px; text-align:center; cursor:pointer; transition:border-color .2s var(--ease), transform .2s var(--ease), box-shadow .2s var(--ease);
    position:relative;
  }
  .impact-card:hover{border-color:var(--gold); transform:translateY(-4px); box-shadow:0 12px 28px rgba(27,25,20,0.1);}
  .impact-card:focus-visible{outline:3px solid var(--gold-dark); outline-offset:2px;}
  .impact-icon{width:48px; height:48px; border-radius:50%; background:var(--cream-2); color:var(--gold-dark); display:flex; align-items:center; justify-content:center; margin:0 auto 12px; transition:transform .2s var(--ease), background .2s var(--ease);}
  .impact-card:hover .impact-icon{transform:scale(1.08) rotate(-4deg); background:var(--gold); color:var(--black);}
  .impact-amt{font-family:'Anton', sans-serif; font-size:1.7rem; color:var(--gold-dark);}
  .impact-card p{font-size:0.88rem; color:#5c564a; margin-top:10px;}

  .donate-section{padding:48px 0 72px;}
  .donate-card{background:var(--white); border-radius:var(--radius); border:1px solid var(--line); padding:34px; max-width:520px; margin:0 auto; box-shadow:0 20px 50px rgba(27,25,20,0.08);}
  .amt-row{display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:16px;}
  .amt-btn{padding:16px; min-height:48px; border-radius:10px; border:1.5px solid var(--line); background:var(--cream); font-weight:700; font-size:0.98rem; cursor:pointer; text-align:center; transition:all .2s var(--ease);}
  .amt-btn:hover{border-color:var(--gold-dark);}
  .amt-btn.selected{border-color:var(--gold); background:#FDF6E7; color:var(--gold-dark); box-shadow:0 3px 10px rgba(227,168,59,0.25);}
  .toggle-row{display:flex; gap:0; margin-bottom:22px; border:1.5px solid var(--line); border-radius:10px; overflow:hidden;}
  .toggle-btn{flex:1; padding:12px; min-height:44px; text-align:center; background:var(--cream); font-weight:700; font-size:0.9rem; cursor:pointer; transition:background .2s ease, color .2s ease;}
  .toggle-btn.active{background:var(--black); color:var(--white);}
  .donate-submit{width:100%; background:var(--coral); color:var(--white); padding:16px; min-height:52px; border-radius:10px; border:none; font-weight:700; font-size:1.05rem; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:10px; transition:background .2s ease, transform .2s ease;}
  .donate-submit:hover{background:var(--coral-dark); transform:translateY(-2px);}
  .trust-line{text-align:center; font-size:0.82rem; color:#8a8375; margin-top:16px; display:flex; align-items:center; justify-content:center; gap:6px; flex-wrap:wrap;}

  .closing{background:var(--cream-2); padding:60px 0; text-align:center;}
  .closing h2{font-size:1.6rem; margin-bottom:12px; color:var(--ink);}
  .closing p{color:#5c564a; max-width:520px; margin:0 auto 8px;}
  .closing a{color:var(--gold-dark); font-weight:700; text-decoration:underline;}

  /* SPONSORS PAGE */
  .tier-grid{display:grid; gap:22px; grid-template-columns:1fr;}
  @media(min-width:760px){ .tier-grid{grid-template-columns:repeat(3,1fr);} }
  .tier-card{
    background:var(--white); border:2px solid var(--line); border-radius:var(--radius); padding:30px;
    transition:transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s var(--ease); position:relative; overflow:hidden;
  }
  .tier-card:hover{transform:translateY(-6px); box-shadow:0 14px 32px rgba(27,25,20,0.1); border-color:var(--gold-dark);}
  .tier-card.gold{border-color:var(--gold); box-shadow:0 4px 24px rgba(227,168,59,0.18);}
  .tier-medal{width:46px; height:46px; border-radius:50%; background:var(--black); color:var(--gold); display:flex; align-items:center; justify-content:center; margin-bottom:14px;}
  .tier-card.gold .tier-medal{background:var(--gold); color:var(--black);}
  .tier-name{font-family:'Anton', sans-serif; font-size:1.35rem; color:var(--ink);}
  .tier-amt{color:var(--gold-dark); font-weight:700; font-size:1.15rem; margin-bottom:18px; display:block;}
  .tier-card ul{list-style:none; font-size:0.92rem; color:#5c564a;}
  .tier-card li{padding:9px 0; border-top:1px solid var(--line); display:flex; gap:10px; align-items:flex-start;}
  .tier-card li:first-child{border-top:none;}
  .tier-card li svg{color:var(--gold-dark); flex-shrink:0; margin-top:2px;}
  .tier-note{text-align:center; font-size:0.88rem; color:#8a8375; max-width:640px; margin:30px auto 0;}


  .contact-section{background:var(--cream-2);}
  .contact-card{background:var(--white); border-radius:var(--radius); border:1px solid var(--line); padding:34px; max-width:560px; margin:0 auto; box-shadow:0 20px 50px rgba(27,25,20,0.08);}
  .submit-btn{width:100%; background:var(--black); color:var(--white); padding:16px; min-height:52px; border-radius:10px; border:none; font-weight:700; font-size:1.02rem; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:10px; transition:background .2s ease, transform .2s ease;}
  .submit-btn:hover{background:var(--navy); transform:translateY(-2px);}
  .contact-below{text-align:center; font-size:0.85rem; color:#8a8375; margin-top:16px;}

  /* Override final: asegura que el motion-safe siga aplicando también al ticker/reveal de estas páginas nuevas */
  @media (prefers-reduced-motion: reduce){
    .ticker-track{animation:none !important;}
  }

/* añadido*/
/* ── MOBILE NAV TOGGLE FIX (va al final del archivo) ── */
@media (max-width: 859px) {
  .nav-links {
    display: none !important;
    flex-direction: column;
    position: absolute;
    top: 78px;
    left: 0;
    right: 0;
    background: var(--cream);
    padding: 20px 24px;
    border-bottom: 1px solid var(--line);
    gap: 16px;
    z-index: 999;
  }
  .nav-links.nav-open {
    display: flex !important;
  }
}
/* ── TIER GRID RESPONSIVE ── */
@media (max-width: 859px) {
  .tier-grid {
    grid-template-columns: 1fr !important;
  }

  .tier-card {
    width: 100% !important;
  }

  .tiers-section {
    padding: 40px 20px !important;
  }

  .tier-price {
    font-size: 2.2rem !important;
  }
}
/*Pagina donations*/

/* ─── PROGRESS BAR (secondary) ─── */
    .progress-strip {
      background: #111;
      border-bottom: 1px solid var(--line);
      padding: 28px 24px;
    }
    .progress-inner {
      max-width: var(--max-w);
      margin: 0 auto;
      display: flex;
      align-items: center;
      gap: 32px;
      flex-wrap: wrap;
    }
    .progress-label {
      font-size: 12px; font-weight: 700;
      letter-spacing: .1em; text-transform: uppercase;
      color: rgba(245,240,232,.5);
      white-space: nowrap;
    }
    .progress-track {
      flex: 1; min-width: 160px;
      height: 6px;
      background: rgba(255,255,255,.1);
      border-radius: 99px;
      overflow: hidden;
    }
    .progress-fill {
      height: 100%;
      width: 6.8%; /* 1700/25000 */
      background: var(--gold);
      border-radius: 99px;
      transition: width 1.2s ease;
    }
    .progress-stats {
      display: flex; gap: 28px; flex-wrap: wrap; align-items: center;
    }
    .progress-stat { white-space: nowrap; }
    .progress-stat strong {
      font-family: var(--font-display);
      font-size: 22px; color: var(--gold);
      margin-right: 4px;
    }
    .progress-stat span {
      font-size: 12px; color: rgba(245,240,232,.5);
      text-transform: uppercase; letter-spacing: .06em;
    }
/* ─── STORY QUOTE section ─── */
    .story-section { background: #0d0d0d; }
    .story-quote {
      max-width: 720px;
      margin: 0 auto;
      text-align: center;
    }
    .story-quote blockquote {
      font-family: var(--font-display);
      font-size: clamp(28px, 4vw, 48px);
      text-transform: uppercase;
      line-height: 1.1;
      color: var(--cream);
      margin-bottom: 28px;
    }
    .story-quote blockquote em {
      font-style: normal;
      color: var(--gold);
    }
    .story-quote cite {
      font-size: 14px; font-style: normal;
      color: rgba(245,240,232,.5);
      letter-spacing: .08em; text-transform: uppercase; font-weight: 700;
    }
/* ─── ZEFFY SECTION ─── */
    .zeffy-section { background: var(--cream); color: var(--ink); }
    .zeffy-section .section-label { color: #8a6f2e; }
    .zeffy-section .section-title { color: var(--ink); }

    .zeffy-layout {
      display: grid;
      grid-template-columns: 1fr 1.5fr;
      gap: 64px;
      align-items: start;
    }
    .zeffy-sidebar {}
    .zeffy-sidebar p {
      font-size: 17px;
      color: rgba(10,10,10,.7);
      margin-bottom: 24px;
      line-height: 1.65;
    }
    .zeffy-trust {
      display: flex; flex-direction: column; gap: 12px;
      margin-top: 32px;
    }
/* ═══════════════════════════════════════════════════════
     HERO / INTRO SECTION
  ═══════════════════════════════════════════════════════ */
  .hero-sponsors {
    padding: 80px 5vw 64px;
    max-width: 1100px;
    margin: 0 auto;
  }
  .hero-sponsors h1 {
    font-family: var(--font-display);
    font-size: clamp(2.6rem, 5.5vw, 4.2rem);
    line-height: 1.05;
    color: var(--ink);
    margin: .6rem 0 0;
    max-width: 720px;
  }
  .hero-sponsors h1 em {
    font-style: italic;
    color: var(--rust);
    font-family: 'Georgia', serif;
  }
  .hero-sponsors p {
    max-width: 560px;
    margin: 1.4rem 0 2.2rem;
    font-size: 1.05rem;
    color: #3a4a4a;
  }
/* ═══════════════════════════════════════════════════════
     TIERS
  ═══════════════════════════════════════════════════════ */
  .tiers-section {
    padding: 80px 5vw;
    max-width: 1100px;
    margin: 0 auto;
  }
  .tiers-section h2 {
    font-family: var(--font-display);
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.08;
    margin: .5rem 0 0;
    color: #090909;
  }
  .tiers-section h2 em {
    font-style: italic;
    color: var(--rust);
    font-family: 'Georgia', serif;
  }
  .tiers-section > p {
    max-width: 520px;
    margin: 1.2rem 0 3rem;
    color: #3a4a4a;
  }
/* card grid */
  .tier-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    align-items: start;
  }
  .tier-card {
    background: var(--white);
    border-radius: 12px;
    padding: 2rem 1.8rem 2rem;
    border: 2px solid var(--mist);
    display: flex;
    flex-direction: column;
    transition: box-shadow .25s;
  }
  .tier-card:hover { box-shadow: 0 8px 32px rgba(28,43,43,.10); }
  .tier-card.featured {
    border-color: var(--gold);
    position: relative;
    box-shadow: 0 4px 20px rgba(196,154,60,.18);
  }
  .tier-badge {
    display: inline-block;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    padding: .3rem .9rem;
    border-radius: 50px;
    background: var(--mist);
    color: var(--ink);
    margin-bottom: 1.2rem;
    align-self: flex-start;
  }
  .tier-card.featured .tier-badge {
    background: var(--gold);
    color: var(--white);
  }
  .tier-price {
    font-family: var(--font-display);
    font-size: 3rem;
    line-height: 1;
    color: var(--ink);
    margin-bottom: 1.4rem;
  }
  .tier-features {
    list-style: none;
    margin-bottom: 2rem;
    flex: 1;
  }
  .tier-features li {
    display: flex;
    align-items: flex-start;
    gap: .65rem;
    padding: .45rem 0;
    font-size: .95rem;
    border-bottom: 1px solid var(--line);
  }
  .tier-features li:last-child { border-bottom: none; }
  .tier-features .check {
    color: var(--rust);
    font-size: 1rem;
    margin-top: .1rem;
    flex-shrink: 0;
  }
/* card buttons inherit global .btn-primary / .btn-outline */
  .tier-card .btn-primary1,
  .tier-card .btn-outline1 {
    width: 100%;
    text-align: center;
    margin-top: auto;
  }
.btn-outline1 {
    display: inline-block;
    background: transparent;
    color: var(--ink);
    font-family: var(--font-body);
    font-weight: 700;
    font-size: .9rem;
    letter-spacing: .05em;
    text-transform: uppercase;
    padding: .85rem 1.8rem;
    border-radius: 4px;
    border: 2px solid var(--ink);
    cursor: pointer;
    transition: background .2s, color .2s;
}
/* ═══════════════════════════════════════════════════════
     WHY SPONSOR / VALUE PROPS
  ═══════════════════════════════════════════════════════ */
  .why-section {
    background: var(--ink);
    color: var(--cream);
    padding: 80px 5vw;
  }
  .why-inner {
    max-width: 1100px;
    margin: 0 auto;
  }
  .why-section .eyebrow { color: var(--gold); }
  .why-section h2 {
    font-family: var(--font-display);
    font-size: clamp(1.8rem, 3.5vw, 2.8rem);
    line-height: 1.1;
    margin: .5rem 0 3rem;
    max-width: 600px;
  }
  .why-section h2 em {
    font-style: italic;
    color: var(--gold);
    font-family: 'Georgia', serif;
  }
  .why-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
  }
  .why-item {
    border-top: 2px solid var(--gold);
    padding-top: 1.4rem;
  }
  .why-item h3 {
    font-family: var(--font-display);
    font-size: 1.15rem;
    letter-spacing: .04em;
    margin-bottom: .6rem;
    color: var(--cream);
  }
  .why-item p {
    font-size: .95rem;
    line-height: 1.65;
    color: rgba(244,239,228,.72);
  }
  /* ── WHY GRID RESPONSIVE ── */
@media (max-width: 859px) {
  .why-grid {
    grid-template-columns: 1fr !important;
  }

  .why-section {
    padding: 40px 20px !important;
  }

  .why-item {
    border-top: 2px solid var(--gold);
    padding-top: 1.2rem;
  }
}
/* ═══════════════════════════════════════════════════════
     CURRENT SPONSORS GRID
  ═══════════════════════════════════════════════════════ */
  .sponsors-section {
    padding: 80px 5vw;
    max-width: 1100px;
    margin: 0 auto;
  }
  .sponsors-section h2 {
    font-family: var(--font-display);
    font-size: clamp(1.8rem, 3.5vw, 2.6rem);
    margin: .5rem 0 2.4rem;
    color: #101010;
  }
  .sponsors-logos {
    display: flex;
    flex-wrap: wrap;
    gap: 1.2rem;
    margin-bottom: 3rem;
    align-items: center;
  }
  .sponsor-logo-box {
    background: var(--white);
    border: 1px solid var(--line);
    border-radius: 8px;
    width: 160px;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    transition: box-shadow .2s;
  }
  .sponsor-logo-box:hover { box-shadow: 0 4px 16px rgba(28,43,43,.10); }
  .sponsor-logo-box img {
    max-width: 120px;
    max-height: 76px;
    object-fit: contain;
    filter: grayscale(20%);
  }
  /* placeholder box for missing logos */
  .sponsor-logo-placeholder {
    background: var(--mist);
    border: 1.5px dashed rgba(28,43,43,.2);
    border-radius: 8px;
    width: 160px;
    height: 80px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .3rem;
  }
  .sponsor-logo-placeholder span {
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(28,43,43,.4);
  }
/* community partners */
  .partners-label {
    font-family: var(--font-body);
    font-weight: 700;
    font-size: 1.05rem;
    margin-bottom: 1rem;
  }
  .partners-chips {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    margin-bottom: 2.8rem;
  }
  .chip {
    display: inline-block;
    border: 2px solid var(--ink);
    border-radius: 50px;
    padding: .35rem 1rem;
    font-size: .88rem;
    font-weight: 700;
    letter-spacing: .02em;
  }
/* community partners */
  .partners-label {
    font-family: var(--font-body);
    font-weight: 700;
    font-size: 1.05rem;
    margin-bottom: 1rem;
  }
  .partners-chips {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    margin-bottom: 2.8rem;
  }
  .chip {
    display: inline-block;
    border: 2px solid var(--ink);
    border-radius: 50px;
    padding: .35rem 1rem;
    font-size: .88rem;
    font-weight: 700;
    letter-spacing: .02em;
  }
/* ═══════════════════════════════════════════════════════
     SPONSOR FORM / INQUIRY
  ═══════════════════════════════════════════════════════ */
  .inquiry-section {
    background: var(--mist);
    padding: 80px 5vw;
  }
  .inquiry-inner {
    max-width: 700px;
    margin: 0 auto;
  }
  .inquiry-inner h2 {
    font-family: var(--font-display);
    font-size: clamp(1.8rem, 3.5vw, 2.6rem);
    margin: .5rem 0 .8rem;
    color: #000000;
  }
  .inquiry-inner h2 em {
    font-style: italic;
    color: var(--rust);
    font-family: 'Georgia', serif;
  }
  .inquiry-inner > p {
    color: #3a4a4a;
    margin-bottom: 2.4rem;
  }
.btn-secondary {
    background: transparent;
    color: #FAF6EF;
    border-color: var(--ink-navy);
  }
.btn-secondary:hover { background:#FAF6EF; color: var(--white); }
.btn-sm { padding: 0.65rem 1.25rem; font-size: 0.9rem; min-height: 44px; }
/* ══════════════════════════════════════════════
   NAV CTAs — Donate · Sponsors · Register
   Siempre visibles, nunca dentro de .nav-links
   Agregar al FINAL de miles.css
══════════════════════════════════════════════ */

/* Wrapper de los 3 botones CTA del nav */
.nav-ctas {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* En desktop: los 3 botones juntos, tamaño compacto */
@media (min-width: 860px) {
  .nav-ctas {
    gap: 10px;
  }
  .nav-ctas .btn.nav-cta {
    padding: 10px 18px;
    min-height: auto;
    font-size: 0.88rem;
    border-radius: 10px;
  }
}

/* En mobile: solo mostrar Register, ocultar Donate y Sponsors
   (ya tienen sticky CTA o están en el menú hamburguesa) */
@media (max-width: 859px) {
  .nav-ctas .btn.nav-cta:nth-child(1),  /* Donate */
  .nav-ctas .btn.nav-cta:nth-child(2) { /* Sponsors */
    display: none !important;
  }
  .nav-ctas .btn.nav-cta:nth-child(3) { /* Register */
    display: inline-flex !important;
    padding: 10px 16px;
    font-size: 0.85rem;
  }
}

/* Página activa: highlight sutil en el botón correcto */
/* En /donate/ — resalta Donate */
body.page-template-template-miles .nav-ctas a[href*="/donate"] {
  background: var(--gold-dark);
}
/* En /sponsors/ — resalta Sponsors */
body.page-template-template-miles .nav-ctas a[href*="/sponsors"] {
  background: var(--gold-dark);
}
@media (max-width: 859px) {
  .nav-links a.btn {
    display: inline-flex !important;
    width: 100%;
    justify-content: center;
    margin-top: 8px;
    background: var(--gold);
    color: var(--black);
    border-radius: 12px;
    padding: 14px 20px;
    font-size: 1rem;
  }
}