html,body{margin:0;padding:0;background:#0c0c0c;color:#fff;font-family:'Inter',system-ui,sans-serif;-webkit-font-smoothing:antialiased;}
*{box-sizing:border-box;}
::selection{background:rgba(255,106,0,0.3);}
a{color:#fff;text-decoration:none;}
a:hover{color:#fff;}
input,textarea,select,button{font-family:inherit;}
input::placeholder,textarea::placeholder{color:rgba(255,255,255,0.3);}

@keyframes shiny{0%{background-position:-200% center}100%{background-position:200% center}}
@keyframes glowbreath{0%,100%{transform:translateX(-50%) scale(1);opacity:.10}50%{transform:translateX(-50%) scale(1.08);opacity:.16}}
@keyframes rimbreath{0%,100%{opacity:.5}50%{opacity:.85}}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes pulsedot{0%,100%{opacity:1}50%{opacity:.4}}
@keyframes mappulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.7);opacity:.45}}
@keyframes scrollx{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.tl{opacity:.25;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease;}
.tl.lit{opacity:1;transform:none;}
.tl-dot.lit{background:#FF6A00 !important;box-shadow:0 0 10px 3px rgba(255,106,0,.6);transform:scale(1.3);}

.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);}
.reveal.in{opacity:1;transform:none;}

.marquee:hover .marquee-track{animation-play-state:paused;}

[data-glass]{position:relative;overflow:hidden;background:rgba(255,255,255,0.01);background-blend-mode:luminosity;backdrop-filter:blur(4px);box-shadow:inset 0 1px 1px rgba(255,255,255,0.1);}
[data-glass]::before{content:'';position:absolute;inset:0;border-radius:inherit;padding:1.4px;background:linear-gradient(180deg,rgba(255,255,255,.45) 0%,rgba(255,255,255,.15) 20%,rgba(255,255,255,0) 40%,rgba(255,255,255,0) 60%,rgba(255,255,255,.15) 80%,rgba(255,255,255,.45) 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:1;}
[data-glass]>*{position:relative;z-index:2;}

/* ---- interactive states (hover / active / focus) ---- */
.nav-link{transition:color .2s;}
.nav-link:hover{color:#fff;}

.icon-btn{transition:all .2s;}
.icon-btn:hover{color:#fff;border-color:rgba(255,255,255,.3);}

.btn-orange{transition:all .2s;}
.btn-orange:hover{filter:brightness(1.1);transform:scale(1.02);}

.btn-orange-active{transition:all .2s;}
.btn-orange-active:hover{filter:brightness(1.1);transform:scale(1.02);}
.btn-orange-active:active{transform:scale(.98);}

.btn-white{transition:all .2s;}
.btn-white:hover{background:rgba(255,255,255,.9);}

.btn-white-active{transition:all .2s;}
.btn-white-active:hover{background:rgba(255,255,255,.9);}
.btn-white-active:active{transform:scale(.98);}

.btn-outline{transition:all .2s;}
.btn-outline:hover{background:rgba(255,255,255,.05);}

.wbtn .arr{transition:transform .2s;}
.wbtn:hover .arr{transform:translateX(4px);}

.mlogo{transition:opacity .2s;}
.mlogo:hover{opacity:1;}

.eco{transition:transform .3s,opacity .7s,transform .7s;}
.eco:hover{transform:translateY(-4px);}

.eco-link{transition:color .2s;}
.eco-link:hover{color:#FFB37A;}

.field{transition:border-color .2s;}
.field:focus{border-color:rgba(255,106,0,.5);}

.footer-link{transition:color .2s;}
.footer-link:hover{color:#fff;}

/* ---- origen photo carousel ---- */
.origen-carousel{position:relative;width:100%;height:100%;border-radius:inherit;overflow:hidden;}
.origen-track{display:flex;height:100%;width:100%;transition:transform .6s cubic-bezier(.65,0,.35,1);will-change:transform;}
.origen-slide{position:relative;flex:0 0 100%;width:100%;height:100%;margin:0;}
.origen-slide img{width:100%;height:100%;object-fit:cover;display:block;}
.origen-slide figcaption{position:absolute;left:0;right:0;bottom:0;padding:20px 20px 16px;background:linear-gradient(to top,rgba(0,0,0,.72) 0%,rgba(0,0,0,.32) 55%,transparent 100%);color:#fff;font-size:14px;font-weight:500;line-height:1.3;display:flex;flex-direction:column;gap:4px;}
.origen-tag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:#FFB37A;}

.origen-arrow{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:9999px;border:1px solid rgba(255,255,255,.18);background:rgba(12,12,12,.4);backdrop-filter:blur(6px);color:rgba(255,255,255,.8);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;padding:0;z-index:3;}
.origen-arrow:hover{color:#fff;background:rgba(12,12,12,.65);border-color:rgba(255,255,255,.35);}
.origen-arrow--prev{left:12px;}
.origen-arrow--next{right:12px;}

.origen-dots{position:absolute;left:0;right:0;bottom:14px;display:flex;justify-content:center;gap:6px;z-index:3;pointer-events:none;}
.origen-dots button{pointer-events:auto;width:6px;height:6px;padding:0;border:none;border-radius:9999px;background:rgba(255,255,255,.35);cursor:pointer;transition:all .3s;}
.origen-dots button.active{width:18px;background:#FF6A00;}

@media(max-width:860px){
  .origen-arrow{width:30px;height:30px;}
}

/* ---- testimonial avatars + tiktok link ---- */
.testimonial-avatar{width:40px;height:40px;border-radius:9999px;background:rgba(255,255,255,.1);overflow:hidden;flex-shrink:0;display:block;}
.testimonial-avatar img{width:100%;height:100%;object-fit:cover;display:block;}
.testimonial-tiktok{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:rgba(255,255,255,.5);margin-top:2px;transition:color .2s;}
.testimonial-tiktok:hover{color:#fff;}

@media(max-width:860px){
  .nav-links{display:none !important;}
  .hero-grid,.two-grid{grid-template-columns:1fr !important;gap:40px !important;}
  .eco-grid{grid-template-columns:1fr 1fr !important;}
  .three-grid{grid-template-columns:1fr !important;}
  .port-sticky{position:static !important;}
  .center-card{transform:none !important;}
  h1{font-size:40px !important;}
  h2{font-size:30px !important;}
  .manif p{font-size:24px !important;}
}
@media(max-width:520px){
  .eco-grid{grid-template-columns:1fr !important;}
}
