:root{
  --verde:#00843D;
  --verde-900:#005a2a;
  --verde-50:#e8f5ee;
  --naranja:#F4770A;
  --naranja-50:#fff4e6;
  --carbon:#1a1f1c;
  --gris:#6b7280;
}
*{scroll-behavior:smooth;box-sizing:border-box}
html{scroll-padding-top:170px}
@media (min-width:1024px){html{scroll-padding-top:290px}}
body{font-family:'Inter',sans-serif;color:var(--carbon);background:#fff;overflow-x:hidden;margin:0}

h1,h2,h3,h4,h5{font-family:'Manrope',sans-serif;letter-spacing:-0.02em;margin:0}
.font-display{font-family:'Manrope',sans-serif}
.text-verde{color:var(--verde)}
.bg-verde{background-color:var(--verde)}
.text-naranja{color:var(--naranja)}
.bg-naranja{background-color:var(--naranja)}
.bg-verde-50{background-color:var(--verde-50)}
.bg-naranja-50{background-color:var(--naranja-50)}

/* Header */
.header{position:fixed;top:0;left:0;right:0;z-index:100;transition:all .4s ease;background:transparent}
.header.scrolled{background:rgba(255,255,255,.98);backdrop-filter:blur(20px);box-shadow:0 1px 0 rgba(0,0,0,.06)}
.header.scrolled .nav-link{color:var(--carbon)}
.header.scrolled .nav-link:hover{color:var(--naranja)}
.nav-link{color:#fff;transition:color .3s;position:relative;text-decoration:none}
.nav-link::after{content:'';position:absolute;left:0;bottom:-4px;width:0;height:2px;background:var(--naranja);transition:width .3s}
.nav-link:hover::after{width:100%}
.nav-link-disabled{opacity:.5;cursor:default;pointer-events:none;user-select:none}
.header.scrolled .nav-link-disabled{opacity:.45}

/* Hero */
.hero{min-height:100vh;position:relative;overflow:hidden}
.hero-bg{position:absolute;inset:0;background-image:url('../images/hero-bg.jpg');background-size:cover;background-position:center;transform:scale(1.1)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,90,42,.85) 0%,rgba(0,50,25,.75) 50%,rgba(26,31,28,.8) 100%)}

/* Reveal animations */
.reveal{opacity:0;transform:translateY(40px);transition:opacity 1s ease,transform 1s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-left{opacity:0;transform:translateX(-40px);transition:all 1s ease}
.reveal-left.visible{opacity:1;transform:translateX(0)}
.reveal-right{opacity:0;transform:translateX(40px);transition:all 1s ease}
.reveal-right.visible{opacity:1;transform:translateX(0)}

/* Organic shapes */
.organic{position:absolute;border-radius:50%;filter:blur(60px);opacity:.3;pointer-events:none}

/* Buttons */
.btn-primary{background:var(--naranja);color:#fff;padding:1rem 2rem;border-radius:999px;font-weight:600;transition:all .3s;display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;border:none;cursor:pointer;font-size:1rem}
.btn-primary:hover{background:#d96a08;transform:translateY(-2px);box-shadow:0 10px 30px rgba(244,119,10,.3);color:#fff}
.btn-outline{border:2px solid #fff;color:#fff;padding:1rem 2rem;border-radius:999px;font-weight:600;transition:all .3s;display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;background:transparent;cursor:pointer;font-size:1rem}
.btn-outline:hover{background:#fff;color:var(--verde)}
.btn-outline-dark{border:2px solid var(--verde);color:var(--verde);padding:1rem 2rem;border-radius:999px;font-weight:600;transition:all .3s;display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;background:transparent;cursor:pointer;font-size:1rem}
.btn-outline-dark:hover{background:var(--verde);color:#fff}

/* Cards */
.program-card{position:relative;overflow:hidden;border-radius:24px;transition:all .5s cubic-bezier(.2,.8,.2,1);cursor:pointer}
.program-card:hover{transform:translateY(-8px);box-shadow:0 30px 60px -20px rgba(0,0,0,.2)}
.program-card .card-img{transition:transform .8s ease}
.program-card:hover .card-img{transform:scale(1.08)}
.program-card .card-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,50,25,.95) 0%,transparent 60%);opacity:.7;transition:opacity .5s}
.program-card:hover .card-overlay{opacity:1}

/* Museum section */
.museum-dark{background:#0a0f0d;color:#fff}

/* Scroll indicator */
.scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);color:#fff;animation:bounce 2s infinite}
@keyframes bounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(10px)}}

/* Timeline */
.timeline-item{position:relative;padding-left:2rem;border-left:2px solid #e5e7eb}
.timeline-item::before{content:'';position:absolute;left:-8px;top:0;width:14px;height:14px;border-radius:50%;background:var(--naranja);border:3px solid #fff;box-shadow:0 0 0 2px var(--naranja)}

/* Form */
.form-input{width:100%;padding:1rem 1.25rem;border:2px solid #e5e7eb;border-radius:12px;font-family:inherit;transition:all .3s;background:#fff;font-size:1rem}
.form-input:focus{outline:none;border-color:var(--verde);box-shadow:0 0 0 4px rgba(0,132,61,.1)}
.form-label{display:block;font-weight:600;margin-bottom:.5rem;font-size:.9rem;color:var(--carbon)}

/* Modal */
.modal{position:fixed;inset:0;background:rgba(0,0,0,.8);z-index:200;display:none;align-items:center;justify-content:center;padding:1rem;backdrop-filter:blur(8px)}
.modal.active{display:flex}
.modal-content{background:#fff;border-radius:24px;max-width:700px;width:100%;max-height:90vh;overflow-y:auto;position:relative;animation:modalIn .4s ease;padding:2rem}
@keyframes modalIn{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}

/* Focus */
*:focus-visible{outline:3px solid var(--naranja);outline-offset:2px;border-radius:4px}

/* Reduced motion */
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;transition-duration:.01ms!important}
}

/* Hide scrollbar modal */
.modal-content::-webkit-scrollbar{width:6px}
.modal-content::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}

/* Gradient text */
.gradient-text{background:linear-gradient(135deg,var(--verde) 0%,var(--naranja) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}

/* Section divider */
.section-divider{height:1px;background:linear-gradient(90deg,transparent,#e5e7eb,transparent)}

/* Service card */
.service-card{border:1px solid #e5e7eb;border-radius:20px;padding:2rem;transition:all .4s;background:#fff;text-decoration:none;color:inherit;display:block}
.service-card:hover{border-color:var(--verde);transform:translateY(-4px);box-shadow:0 20px 40px -20px rgba(0,132,61,.2)}
.service-card:hover .service-icon{background:var(--verde);color:#fff}

/* Tab */
.tab-btn{padding:.75rem 1.5rem;border-radius:999px;font-weight:600;transition:all .3s;color:var(--gris);border:none;background:transparent;cursor:pointer;font-size:.95rem}
.tab-btn.active{background:var(--verde);color:#fff}
.tab-btn:hover:not(.active){background:var(--verde-50);color:var(--verde)}

/* Mobile menu */
.mobile-menu{position:fixed;top:0;right:-100%;width:100%;max-width:400px;height:100vh;background:var(--verde);z-index:150;transition:right .4s ease;padding:6rem 2rem 2rem;overflow-y:auto}
.mobile-menu.active{right:0}
.mobile-menu a{display:block;color:#fff;padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.15);font-size:1.1rem;font-weight:500;text-decoration:none}
.mobile-menu a:hover{color:var(--naranja)}

/* Logo image */
.logo-img{height:100px;width:auto;transition:height .3s ease}
.header.scrolled .logo-img{height:76px}
@media (min-width:480px){
  .logo-img{height:120px}
  .header.scrolled .logo-img{height:86px}
}
@media (min-width:1024px){
  .logo-img{height:180px}
  .header.scrolled .logo-img{height:130px}
}

@media (max-width:768px){
  .hero h1{font-size:2.25rem!important}
  .hero p{font-size:1rem!important}
}

a{text-decoration:none;color:inherit}