*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --navy:#1C2015;--navy-mid:#262B1C;--navy-light:#3D4F30;
  --teal:#00A878;--teal-dark:#007D5A;--teal-glow:rgba(0,168,120,.25);--teal-dim:rgba(0,168,120,.12);
  --bg:#F2F1EB;--card:#FAF9F5;--text:#1C2015;--text2:#484F3A;--text3:#88907A;
  --border:#E2E2D8;--border2:#C8C8BE;--r:8px;--r-sm:5px;
  --shadow-sm:0 1px 3px rgba(28,32,21,.07);
  --shadow:0 4px 20px rgba(28,32,21,.1),0 1px 4px rgba(28,32,21,.06);
  --shadow-lg:0 16px 56px rgba(28,32,21,.16),0 4px 16px rgba(28,32,21,.08);
  --ease-out:cubic-bezier(0.22,1,0.36,1);--ease-in-out:cubic-bezier(0.65,0,0.35,1);
}
html{scroll-behavior:smooth}
body{padding-top:62px;font-family:'Outfit',system-ui,sans-serif;background:var(--bg);color:var(--text);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:'kern' 1,'liga' 1;overflow-x:hidden}

/* ── SCROLL PROGRESS ────────────────────────────── */
#scroll-progress{position:fixed;top:0;left:0;height:2px;background:var(--teal);z-index:200;width:0%;transform-origin:left;transition:width .1s linear;box-shadow:0 0 8px var(--teal-glow)}
header{position:relative;z-index:101}

/* ── UTILITIES ──────────────────────────────────── */
.container{width:100%;max-width:1100px;margin-inline:auto;padding-inline:clamp(20px,5vw,48px)}

/* ── REVEAL SYSTEM ──────────────────────────────── */
.reveal{opacity:0;transform:translateY(32px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}
.reveal.visible{opacity:1;transform:none}
.reveal-left{opacity:0;transform:translateX(-32px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}
.reveal-left.visible{opacity:1;transform:none}
.reveal-right{opacity:0;transform:translateX(32px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}
.reveal-right.visible{opacity:1;transform:none}
.reveal-scale{opacity:0;transform:scale(.94);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out)}
.reveal-scale.visible{opacity:1;transform:scale(1)}
[class*="reveal"][data-delay="1"]{transition-delay:.08s}
[class*="reveal"][data-delay="2"]{transition-delay:.16s}
[class*="reveal"][data-delay="3"]{transition-delay:.24s}
[class*="reveal"][data-delay="4"]{transition-delay:.32s}
[class*="reveal"][data-delay="5"]{transition-delay:.40s}
[class*="reveal"][data-delay="6"]{transition-delay:.48s}

/* ── NAVIGATION ─────────────────────────────────── */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(28,32,21,.9);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.06);transition:transform .35s var(--ease-out),background .3s}
.nav.hidden{transform:translateY(-100%)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:62px}
.nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.nav-logo-img{height:38px;width:auto;display:block;filter:brightness(0) invert(1);opacity:.9;transition:opacity .2s}
.nav-logo:hover .nav-logo-img{opacity:1}
.nav-links{display:flex;align-items:center;gap:22px}
.nav-link{color:rgba(255,255,255,.5);font-size:13.5px;font-weight:500;text-decoration:none;transition:color .2s;position:relative;white-space:nowrap}
.nav-link::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:1px;background:var(--teal);transition:width .25s var(--ease-out)}
.nav-link:hover{color:rgba(255,255,255,.9)}
.nav-link:hover::after{width:100%}
.nav-link--active{color:rgba(255,255,255,.85)}
.nav-link--active::after{width:100%}
.nav-sep{width:1px;height:18px;background:rgba(255,255,255,.1);flex-shrink:0;margin-inline:4px}
.nav-link--auth{color:rgba(255,255,255,.38);font-size:13px}
.nav-link--auth:hover{color:rgba(255,255,255,.75)}
.nav-cta{background:var(--teal);color:#fff;font-size:13px;font-weight:600;padding:9px 20px;border-radius:var(--r-sm);text-decoration:none;transition:background .2s,transform .15s,box-shadow .2s;white-space:nowrap}
.nav-cta:hover{background:var(--teal-dark);transform:translateY(-1px);box-shadow:0 4px 16px var(--teal-glow)}
@media(max-width:900px){.nav-link--hide-tablet{display:none}}
@media(max-width:640px){.nav-link,.nav-sep{display:none}}

/* ── AMBIENT BACKGROUND ORBS ───────────────────── */
.bg-orb{position:fixed;border-radius:50%;pointer-events:none;z-index:3;will-change:transform;filter:blur(8px);mix-blend-mode:screen}
.bg-orb-1{width:1100px;height:1100px;background:radial-gradient(circle at center,rgba(0,168,120,.18) 0%,rgba(0,168,120,.07) 38%,rgba(0,168,120,.02) 58%,transparent 72%);top:-340px;right:-280px;animation:orbDrift1 18s ease-in-out infinite;translate:0 calc(var(--orb-scroll,0) * -0.055px)}
.bg-orb-2{width:900px;height:900px;background:radial-gradient(circle at center,rgba(0,168,120,.12) 0%,rgba(0,168,120,.05) 40%,transparent 68%);bottom:-200px;left:-120px;animation:orbDrift2 24s ease-in-out infinite;animation-delay:-12s;translate:0 calc(var(--orb-scroll,0) * 0.038px)}
.bg-orb-3{width:700px;height:700px;background:radial-gradient(circle at center,rgba(0,168,120,.1) 0%,rgba(0,168,120,.03) 44%,transparent 68%);top:55%;left:25%;animation:orbDrift3 15s ease-in-out infinite;animation-delay:-6s;translate:0 calc(var(--orb-scroll,0) * -0.09px)}
.bg-orb-cursor{width:1160px;height:1160px;background:radial-gradient(circle at center,rgba(0,168,120,.22) 0%,rgba(0,168,120,.12) 12%,rgba(0,168,120,.04) 28%,rgba(0,168,120,.01) 44%,transparent 58%);left:0;top:0;translate:calc(var(--halo-x,50vw) - 580px) calc(var(--halo-y,30vh) - 580px)}
@media(max-width:1023px){.bg-orb-cursor{display:none}}
@keyframes orbDrift1{0%,100%{transform:translate(0,0)}25%{transform:translate(-90px,110px)}55%{transform:translate(-140px,50px)}80%{transform:translate(-60px,130px)}}
@keyframes orbDrift2{0%,100%{transform:translate(0,0)}30%{transform:translate(110px,-80px)}60%{transform:translate(60px,-130px)}85%{transform:translate(130px,-50px)}}
@keyframes orbDrift3{0%,100%{transform:translate(0,0)}35%{transform:translate(80px,-70px)}65%{transform:translate(-60px,-100px)}85%{transform:translate(40px,60px)}}

/* ── NIGHT SHIFT — tinte cálido permanente ──────── */
.ns-overlay{position:fixed;inset:0;background:rgba(255,175,55,.07);pointer-events:none;z-index:99997;user-select:none}

/* ── FOOTER ─────────────────────────────────────── */
.footer{background:var(--navy-mid);border-top:1px solid rgba(255,255,255,.05);padding:20px 0;position:relative;z-index:2}
.footer-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.footer-logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.footer-logo-img{height:32px;width:auto;display:block;filter:brightness(0) invert(1);opacity:.6;transition:opacity .2s}
.footer-logo:hover .footer-logo-img{opacity:.85}
.footer-links{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.footer-links a{font-size:12.5px;color:rgba(255,255,255,.42);text-decoration:none;transition:color .2s}
.footer-links a:hover{color:rgba(255,255,255,.8)}
.footer-meta{font-size:12px;color:rgba(255,255,255,.2)}

/* ── REDUCED MOTION ─────────────────────────────── */
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal,.reveal-left,.reveal-right,.reveal-scale{opacity:1;transform:none}
  .bg-orb{animation:none}
}
