/* ===========================================================
   Soft Landing San Juan — hoja de estilos
   =========================================================== */

:root{
  /* Azules del logo */
  --navy:#0C2340;
  --navy-2:#11304f;
  --navy-3:#081a2f;
  --steel:#2E5F8A;

  /* Tierra / cobre (la nueva etapa) */
  --copper:#B4552A;
  --copper-d:#8F4220;
  --copper-l:#D98A58;
  --sun:#F2901C;

  /* Neutros cálidos */
  --sand:#F4EEE4;
  --sand-2:#E9DECC;
  --sand-3:#DCCFB9;
  --line:#DBD1C1;
  --line-2:#CFC3AE;

  --ink:#1B2430;
  --body:#56626F;
  --mist:#AEC2D7;
  --mist-2:#8FA8C3;

  --maxw:1180px;
  --pad:clamp(20px,4vw,28px);
  --r:16px;
  --r-lg:22px;

  --f-display:'Jost',system-ui,sans-serif;
  --f-serif:'Fraunces',Georgia,serif;
  --f-body:'Inter',system-ui,sans-serif;

  --shadow-s:0 4px 16px -8px rgba(12,35,64,.28);
  --shadow-m:0 18px 40px -22px rgba(12,35,64,.45);
  --shadow-l:0 34px 70px -32px rgba(12,35,64,.6);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--f-body);
  color:var(--ink);
  background:var(--sand);
  line-height:1.65;
  font-size:16.5px;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
/* El atributo hidden tiene que ganarle a cualquier display que venga
   despues. Sin esto, un elemento con display:flex se sigue viendo
   aunque el JS lo marque como oculto. */
[hidden]{display:none!important}
a{color:var(--copper);text-decoration:none}
a:hover{color:var(--copper-d)}

.wrap{max-width:var(--maxw);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}

/* ---------- Tipografía ---------- */
.eyebrow{
  display:inline-flex;align-items:center;gap:12px;
  font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;
  font-weight:600;color:var(--copper);font-variant-numeric:tabular-nums;
}
.eyebrow::before{content:"";width:26px;height:1px;background:currentColor;flex:none;opacity:.7}
.eyebrow.light{color:var(--sun)}
.eyebrow.plain::before{display:none}

h1,h2,h3,h4{font-family:var(--f-display);font-weight:400;letter-spacing:-.022em;line-height:1.12;color:var(--ink)}
.h-xl{font-size:clamp(34px,5.6vw,66px);line-height:1.05;letter-spacing:-.03em}
.h-lg{font-size:clamp(28px,4vw,48px)}
.h-md{font-size:clamp(23px,2.6vw,32px);line-height:1.2}
.h-sm{font-size:clamp(19px,1.8vw,22px);line-height:1.25;font-weight:500}
.serif{font-family:var(--f-serif);font-weight:300;font-optical-sizing:auto}
.serif em{font-style:italic;color:var(--copper)}

.lead{font-size:clamp(17px,1.7vw,19.5px);color:var(--body);text-wrap:pretty;line-height:1.6}
p{text-wrap:pretty}
.muted{color:var(--body)}
.tnum{font-variant-numeric:tabular-nums}

section{position:relative}
.sec{padding:clamp(72px,9vw,118px) 0}
.sec-sand{background:var(--sand)}
.sec-sand2{background:var(--sand-2)}
.sec-navy{background:var(--navy);color:#fff}
.sec-navy h1,.sec-navy h2,.sec-navy h3,.sec-navy h4{color:#fff}
.sec-navy .muted,.sec-navy .lead{color:var(--mist)}
.rule{height:1px;background:var(--line);border:0}
.sec-navy .rule{background:rgba(174,194,215,.2)}

.sec-head{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,370px),1fr));gap:clamp(24px,4vw,52px);align-items:end;margin-bottom:clamp(36px,5vw,60px)}
.sec-head .ttl{display:flex;flex-direction:column;gap:16px}

/* ---------- Botones ---------- */
.btn{
  display:inline-flex;align-items:center;gap:9px;
  font-family:var(--f-body);font-weight:600;font-size:14.5px;
  padding:13px 24px;border-radius:999px;border:1px solid transparent;
  white-space:nowrap;cursor:pointer;
  transition:background .22s,color .22s,border-color .22s,transform .22s,box-shadow .22s;
}
.btn:hover{transform:translateY(-2px)}
.btn-copper{background:var(--copper);color:#fff;box-shadow:0 10px 26px -12px rgba(180,85,42,.8)}
.btn-copper:hover{background:var(--copper-d);color:#fff;box-shadow:0 16px 34px -12px rgba(180,85,42,.85)}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:var(--navy-2);color:#fff}
.btn-ghost{border-color:rgba(255,255,255,.42);color:#fff;background:transparent}
.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.1);color:#fff}
.btn-outline{border-color:var(--line-2);color:var(--ink);background:transparent}
.btn-outline:hover{border-color:var(--copper);color:var(--copper)}
.btn-white{background:#fff;color:var(--navy)}
.btn-white:hover{background:var(--sand);color:var(--navy)}

/* ---------- Nav ---------- */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:90;
  transition:background .4s,box-shadow .4s,border-color .4s;
  border-bottom:1px solid transparent;
}
.nav.solid{
  background:rgba(244,238,228,.86);
  backdrop-filter:blur(18px) saturate(160%);
  -webkit-backdrop-filter:blur(18px) saturate(160%);
  border-bottom-color:var(--line);
  box-shadow:0 10px 30px -22px rgba(12,35,64,.5);
}
.nav-in{max-width:var(--maxw);margin:0 auto;padding:12px var(--pad);display:flex;align-items:center;justify-content:space-between;gap:20px}
.nav-logo{display:flex;align-items:center;gap:11px;flex:none}
.nav-logo .mk{position:relative;display:block;height:clamp(28px,3.2vw,34px);flex:none}
.nav-logo .mk img{height:100%;width:auto;transition:opacity .4s}
.nav-logo .mk .mk-dark{position:absolute;left:0;top:0;opacity:0}
.nav.solid .mk .mk-light{opacity:0}
.nav.solid .mk .mk-dark{opacity:1}
.nav-logo .lw{display:flex;flex-direction:column;line-height:1.05}
.nav-logo .l1{font-family:var(--f-display);font-weight:600;font-size:16px;letter-spacing:.01em;color:#fff;transition:color .4s}
.nav-logo .l2{font-size:9.5px;letter-spacing:.26em;text-transform:uppercase;color:rgba(255,255,255,.72);transition:color .4s}
.nav.solid .l1{color:var(--navy)}
.nav.solid .l2{color:var(--body)}
.nav-links{display:flex;gap:clamp(12px,1.8vw,24px);align-items:center;font-size:13.5px;font-weight:500}
.nav-links a{color:rgba(255,255,255,.88);position:relative;padding:6px 0;transition:color .25s}
.nav-links a:hover{color:#fff}
.nav.solid .nav-links a{color:var(--body)}
.nav.solid .nav-links a:hover{color:var(--navy)}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.5px;background:var(--copper);border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform .32s cubic-bezier(.2,.7,.2,1)}
.nav-links a:hover::after,.nav-links a.on::after{transform:scaleX(1)}
.nav-right{display:flex;align-items:center;gap:10px;flex:none}
.nav .btn{padding:11px 20px;font-size:13.5px}
.nav-prog{position:absolute;left:0;bottom:-1px;height:2px;background:var(--copper);width:100%;transform:scaleX(0);transform-origin:left}
.burger{width:42px;height:42px;border-radius:12px;border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.08);display:none;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer}
.nav.solid .burger{border-color:var(--line-2);background:#fff}
.burger span{display:block;width:17px;height:1.6px;background:#fff;border-radius:2px;transition:transform .3s,opacity .2s}
.nav.solid .burger span{background:var(--navy)}
.menu{display:none;position:absolute;right:var(--pad);top:calc(100% + 10px);width:min(290px,calc(100vw - 32px));background:rgba(244,238,228,.96);backdrop-filter:blur(20px);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-l);padding:8px 16px;flex-direction:column}
.menu.open{display:flex}
.menu a{display:flex;justify-content:space-between;align-items:center;min-height:48px;color:var(--navy);font-family:var(--f-display);font-weight:500;font-size:16px;border-bottom:1px solid rgba(12,35,64,.08)}
.menu a:last-child{border-bottom:0}
.menu a span{font-size:11px;color:var(--copper);font-family:var(--f-body);font-weight:600}

@media (max-width:1040px){
  .nav-links{display:none}
  .burger{display:flex}
}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:min(100svh,880px);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:var(--navy-3)}
.hero-bg{position:absolute;inset:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:62% 46%;transform:scale(1.06);animation:slowzoom 26s ease-out forwards}
@keyframes slowzoom{to{transform:scale(1)}}
.hero-bg::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(8,26,47,.78) 0%,rgba(8,26,47,.3) 32%,rgba(8,26,47,.55) 68%,rgba(8,26,47,.93) 100%),
    linear-gradient(90deg,rgba(8,26,47,.72) 0%,rgba(8,26,47,.1) 65%);
}
.hero-in{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;width:100%;padding:150px var(--pad) 46px;color:#fff}
.hero h1{color:#fff;max-width:17ch;text-wrap:balance}
.hero .lead{color:#D8E3EF;max-width:56ch;margin-top:22px}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
.badge{
  display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;
  color:#fff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.26);
  padding:8px 16px;border-radius:999px;backdrop-filter:blur(8px);margin-bottom:26px;
}
.badge .dot{width:7px;height:7px;border-radius:50%;background:var(--sun);box-shadow:0 0 12px var(--sun);animation:pulse 2.2s ease-in-out infinite;flex:none}
@keyframes pulse{0%,100%{opacity:.4}50%{opacity:1}}

.hero-stats{position:relative;z-index:2;border-top:1px solid rgba(255,255,255,.16);background:rgba(8,26,47,.42);backdrop-filter:blur(6px)}
.hero-stats .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:18px;padding-top:20px;padding-bottom:20px}
.hero-stats .st{display:flex;flex-direction:column;gap:3px;color:#fff}
.hero-stats .k{font-size:10.5px;letter-spacing:.17em;text-transform:uppercase;color:var(--mist-2);font-weight:600}
.hero-stats .v{font-family:var(--f-display);font-weight:500;font-size:16px}

/* ---------- Tesis ---------- */
.thesis{text-align:center;max-width:960px;margin:0 auto}
.thesis .mark{width:46px;height:auto;margin:0 auto 28px;opacity:.9}
.thesis-q{font-family:var(--f-serif);font-weight:300;font-size:clamp(26px,4.2vw,50px);line-height:1.2;letter-spacing:-.02em;color:var(--navy);text-wrap:balance}
.thesis-q em{font-style:italic;color:var(--copper)}
.thesis p{margin-top:28px;font-size:clamp(16px,1.6vw,18px);color:var(--body);max-width:68ch;margin-left:auto;margin-right:auto}

/* ---------- Grillas y tarjetas ---------- */
.grid{display:grid;gap:16px}
.g2{grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr))}
.g2x{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:760px){.g2x{grid-template-columns:1fr}}
.g3{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
.g-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:clamp(28px,4vw,56px);align-items:center}

.card{
  background:#fff;border:1px solid var(--line);border-radius:var(--r);
  padding:clamp(24px,2.6vw,30px);display:flex;flex-direction:column;gap:11px;height:100%;
  box-shadow:var(--shadow-s);
  transition:transform .25s,box-shadow .25s,border-color .25s;
}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-m);border-color:var(--sand-3)}
.card .n{font-family:var(--f-display);font-weight:500;font-size:13px;letter-spacing:.14em;color:var(--copper);font-variant-numeric:tabular-nums}
.card .t{font-family:var(--f-display);font-weight:500;font-size:19.5px;color:var(--navy);letter-spacing:-.015em;line-height:1.25}
.card .d{font-size:15px;color:var(--body);line-height:1.6}

.card-navy{background:var(--navy-2);border-color:rgba(174,194,215,.2);box-shadow:none}
.card-navy:hover{background:#163a5e;border-color:rgba(174,194,215,.45);box-shadow:0 24px 50px -28px rgba(0,0,0,.8)}
.card-navy .t{color:#fff}
.card-navy .d{color:var(--mist)}
.card-navy .n{color:var(--sun)}

.card-big .t{font-size:clamp(21px,2.2vw,26px)}
.card .big-n{font-family:var(--f-display);font-weight:400;font-size:clamp(42px,4.6vw,58px);line-height:1;letter-spacing:-.04em;color:var(--copper-l)}
.card-navy .big-n{color:var(--sun)}

ul.ticks{list-style:none;display:flex;flex-direction:column;gap:9px;margin-top:4px}
ul.ticks li{position:relative;padding-left:18px;font-size:14.8px;color:var(--body);line-height:1.55}
ul.ticks li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--copper)}
ul.ticks li b{color:var(--navy);font-weight:600}
.card-navy ul.ticks li{color:var(--mist)}
.card-navy ul.ticks li::before{background:var(--sun)}
.card-navy ul.ticks li b{color:#fff}
.sec-navy ul.ticks li{color:var(--mist)}
.sec-navy ul.ticks li::before{background:var(--sun)}
.sec-navy ul.ticks li b{color:#fff}

/* chips / rubros */
.chips{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:9px}
.chip{display:flex;align-items:center;gap:11px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px 16px;transition:border-color .22s,transform .22s}
.chip:hover{border-color:var(--copper-l);transform:translateY(-2px)}
.chip .cn{font-size:11px;font-weight:600;color:var(--copper);font-variant-numeric:tabular-nums}
.chip .ct{font-family:var(--f-display);font-weight:500;font-size:14.6px;color:var(--navy);line-height:1.25}

/* ---------- Bandas fotográficas ---------- */
.band{position:relative;overflow:hidden;background:var(--navy-3)}
.band-bg{position:absolute;inset:0}
.band-bg img{width:100%;height:100%;object-fit:cover}
.band-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,26,47,.82) 0%,rgba(8,26,47,.58) 45%,rgba(8,26,47,.9) 100%)}
.band-in{position:relative;z-index:2;padding:clamp(72px,9vw,120px) 0;color:#fff;text-align:center}
.band-in h2{color:#fff}
.band-in .lead{color:#D5E1EE;max-width:64ch;margin:18px auto 0}
.band-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:26px;margin-top:clamp(36px,5vw,56px);border-top:1px solid rgba(255,255,255,.22);padding-top:clamp(28px,4vw,40px)}
.band-stats .s{display:flex;flex-direction:column;gap:7px;align-items:center;text-align:center}
.band-stats .sv{font-family:var(--f-display);font-weight:400;font-size:clamp(30px,3.8vw,46px);line-height:1;letter-spacing:-.03em;color:#fff}
.band-stats .sk{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--mist-2);font-weight:600;max-width:22ch;line-height:1.5}
.band .src{margin-top:30px;font-size:12.5px;color:rgba(174,194,215,.75);max-width:70ch;margin-left:auto;margin-right:auto}

/* Figura con caption */
.fig{position:relative;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-l)}
.fig img{width:100%;height:100%;object-fit:cover;transition:transform 7s ease-out}
.fig:hover img{transform:scale(1.07)}
.fig::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,26,47,0) 42%,rgba(8,26,47,.78) 100%);pointer-events:none}
.fig figcaption{position:absolute;left:clamp(18px,3vw,28px);right:clamp(18px,3vw,28px);bottom:clamp(16px,2.4vw,24px);z-index:2;color:#fff;display:flex;flex-direction:column;gap:5px}
.fig figcaption .fk{font-size:10.5px;letter-spacing:.17em;text-transform:uppercase;color:var(--sun);font-weight:600}
.fig figcaption .ft{font-family:var(--f-display);font-weight:500;font-size:clamp(17px,1.9vw,21px);letter-spacing:-.015em;line-height:1.25;text-wrap:balance}
.fig-4x3 img{aspect-ratio:4/3}
.fig-16x9 img{aspect-ratio:16/9}
.fig-3x2 img{aspect-ratio:3/2}

/* ---------- Timeline ---------- */
.timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:0;border-top:1px solid var(--line)}
.tl{padding:26px 24px 26px 0;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:9px;position:relative}
.tl:last-child{border-right:0}
.tl::before{content:"";position:absolute;left:0;top:-4px;width:7px;height:7px;border-radius:50%;background:var(--copper)}
.tl .ty{font-family:var(--f-display);font-weight:500;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--copper)}
.tl .tt{font-family:var(--f-display);font-weight:500;font-size:19px;color:var(--navy);letter-spacing:-.015em;line-height:1.2}
.tl .td{font-size:14.5px;color:var(--body);line-height:1.55}
@media (max-width:640px){.tl{border-right:0;border-bottom:1px solid var(--line);padding-right:0}.tl:last-child{border-bottom:0}}

/* ---------- Proyectos (lista con filas) ---------- */
.projects{border-top:1px solid var(--line)}
.prow{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr) auto;gap:18px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line);transition:background .22s,padding-left .22s}
.prow:hover{background:rgba(255,255,255,.55);padding-left:12px}
.prow .pn{font-family:var(--f-display);font-weight:500;font-size:clamp(19px,2.1vw,25px);color:var(--navy);letter-spacing:-.02em;line-height:1.2}
.prow .pm{font-size:13.5px;color:var(--body)}
.prow .pk{font-size:10.5px;letter-spacing:.15em;text-transform:uppercase;font-weight:600;color:var(--copper)}
.prow .ps{font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--body);border:1px solid var(--line-2);border-radius:999px;padding:5px 13px;white-space:nowrap}
@media (max-width:780px){.prow{grid-template-columns:1fr auto;row-gap:7px}.prow .pm{grid-column:1/-1}}

/* ---------- Ciclo minero ---------- */
.cycle{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,235px),1fr));gap:14px}
.cyc{background:#172D49;border:1px solid rgba(174,194,215,.22);border-radius:var(--r);padding:28px 24px;display:flex;flex-direction:column;gap:11px;transition:background .25s,border-color .25s,transform .25s}
.cyc:hover{background:#213650;border-color:rgba(174,194,215,.5);transform:translateY(-3px)}
.cyc .cn{font-family:var(--f-display);font-weight:400;font-size:46px;line-height:1;letter-spacing:-.04em;color:var(--sun)}
.cyc .ct{font-family:var(--f-display);font-weight:500;font-size:20px;color:#fff;letter-spacing:-.015em}
.cyc .cd{font-size:14.5px;color:var(--mist);line-height:1.55}

/* ---------- Puertas ---------- */
.door{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(28px,3vw,38px);display:flex;flex-direction:column;gap:14px;height:100%;box-shadow:var(--shadow-s);transition:transform .25s,box-shadow .25s,border-color .25s}
.door:hover{transform:translateY(-4px);box-shadow:var(--shadow-m);border-color:var(--copper-l)}
.door .dn{position:absolute;right:20px;top:10px;font-family:var(--f-display);font-weight:400;font-size:84px;line-height:1;color:var(--sand-2);letter-spacing:-.05em;pointer-events:none}
.door .dk{font-size:10.5px;letter-spacing:.17em;text-transform:uppercase;font-weight:600;color:var(--copper);position:relative}
.door .dt{font-family:var(--f-display);font-weight:500;font-size:clamp(22px,2.4vw,27px);color:var(--navy);letter-spacing:-.02em;position:relative}
.door .dd{font-size:15px;color:var(--body);position:relative;line-height:1.6}
.door .dmeta{margin-top:auto;padding-top:16px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:6px;position:relative}
.door .dmeta .row{display:flex;justify-content:space-between;gap:14px;font-size:13.5px}
.door .dmeta .row span:first-child{color:var(--body)}
.door .dmeta .row span:last-child{font-weight:600;color:var(--navy);text-align:right}

/* ---------- Requisitos de la ley ---------- */
.reqs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:14px}
.req{background:rgba(255,255,255,.05);border:1px solid rgba(174,194,215,.22);border-radius:var(--r);padding:26px 24px;display:flex;flex-direction:column;gap:9px}
.req .rv{font-family:var(--f-display);font-weight:400;font-size:clamp(32px,3.6vw,42px);line-height:1;letter-spacing:-.035em;color:var(--sun)}
.req .rt{font-family:var(--f-display);font-weight:500;font-size:17px;color:#fff;letter-spacing:-.01em;line-height:1.3}
.req .rd{font-size:14px;color:var(--mist);line-height:1.55}

/* ---------- Territorios ---------- */
.terr{position:relative;border-radius:var(--r-lg);overflow:hidden;min-height:clamp(340px,30vw,420px);display:flex;align-items:flex-end;border:1px solid var(--line);box-shadow:var(--shadow-m)}
.terr img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 7s ease-out}
.terr:hover img{transform:scale(1.08)}
.terr::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,26,47,0) 24%,rgba(8,26,47,.45) 52%,rgba(8,26,47,.92) 100%)}
.terr .ti{position:relative;z-index:2;padding:clamp(22px,2.6vw,30px);color:#fff;display:flex;flex-direction:column;gap:8px}
.terr .tn{font-family:var(--f-display);font-weight:500;font-size:clamp(22px,2.4vw,28px);letter-spacing:-.02em}
.terr .tdd{font-size:14.5px;color:#D5E1EE;line-height:1.55}
.terr .tk{font-size:10.5px;letter-spacing:.17em;text-transform:uppercase;font-weight:600;color:var(--sun)}

/* ---------- Cadena de capacidades ---------- */
.chain{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:16px;align-items:stretch}
.link{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:clamp(24px,2.6vw,30px);display:flex;flex-direction:column;gap:12px;position:relative;box-shadow:var(--shadow-s);transition:transform .25s,box-shadow .25s}
.link:hover{transform:translateY(-3px);box-shadow:var(--shadow-m)}
.link .lk{font-size:10.5px;letter-spacing:.17em;text-transform:uppercase;font-weight:600;color:var(--copper)}
.link .ln{font-family:var(--f-display);font-weight:600;font-size:22px;color:var(--navy);letter-spacing:-.01em}
.link .ld{font-size:14.8px;color:var(--body);line-height:1.6}
.link .lrole{margin-top:auto;padding-top:14px;border-top:1px solid var(--line);font-size:13.5px;color:var(--navy);font-weight:600}

/* ---------- Perfil ---------- */
.profile{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:clamp(30px,4vw,60px);align-items:center}
.profile-photo{position:relative;border-radius:var(--r-lg);overflow:hidden;border:1px solid rgba(174,194,215,.25);box-shadow:var(--shadow-l);max-width:460px}
.profile-photo img{width:100%;aspect-ratio:1/1;object-fit:cover}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1px;background:rgba(174,194,215,.22);border:1px solid rgba(174,194,215,.22);border-radius:var(--r);overflow:hidden;margin-top:28px}
.kpi{background:var(--navy);padding:20px 18px;display:flex;flex-direction:column;gap:5px}
.kpi .kv{font-family:var(--f-display);font-weight:500;font-size:clamp(25px,2.8vw,32px);line-height:1;letter-spacing:-.03em;color:var(--sun)}
.kpi .kk{font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--mist-2);font-weight:600;line-height:1.45}
.edu{display:flex;flex-direction:column;gap:10px;margin-top:26px}
.edu .e{position:relative;padding-left:18px;font-size:14.8px;color:var(--mist);line-height:1.55}
.edu .e::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--sun)}
.edu .e b{color:#fff;font-weight:600}
.edu .e .inst{
  display:block;margin-top:3px;
  font-size:11px;letter-spacing:.13em;text-transform:uppercase;
  font-weight:600;color:var(--sun);
}

/* ---------- Razones ---------- */
.reasons{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:0;border-top:1px solid var(--line)}
.reason{padding:28px 28px 28px 0;border-bottom:1px solid var(--line);display:flex;gap:18px;align-items:flex-start}
.reason .rn{font-family:var(--f-display);font-weight:400;font-size:28px;line-height:1;color:var(--copper-l);letter-spacing:-.03em;flex:none;min-width:38px}
.reason .rb{display:flex;flex-direction:column;gap:6px}
.reason .rt{font-family:var(--f-display);font-weight:500;font-size:19px;color:var(--navy);letter-spacing:-.015em;line-height:1.25}
.reason .rd{font-size:14.8px;color:var(--body);line-height:1.6}

/* ---------- Contacto ---------- */
.contact-card{background:var(--navy-2);border:1px solid rgba(174,194,215,.25);border-radius:var(--r-lg);padding:clamp(28px,3.4vw,44px);display:flex;flex-direction:column;gap:18px}
.field{display:flex;flex-direction:column;gap:7px}
.field label{font-size:11px;letter-spacing:.15em;text-transform:uppercase;font-weight:600;color:var(--mist-2)}
.field input,.field textarea,.field select{
  font-family:var(--f-body);font-size:15px;color:#fff;
  background:rgba(255,255,255,.06);border:1px solid rgba(174,194,215,.28);
  border-radius:10px;padding:12px 14px;width:100%;transition:border-color .2s,background .2s;
}
.field input::placeholder,.field textarea::placeholder{color:rgba(174,194,215,.55)}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--sun);background:rgba(255,255,255,.1)}
.field select option{background:var(--navy);color:#fff}
.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:14px}
.form-note{font-size:12.5px;color:var(--mist-2);line-height:1.55;transition:color .2s}
.form-note.is-error{color:#FFB4A2}
.contact-card .btn:disabled{opacity:.6;cursor:progress;transform:none}

/* campo trampa anti-spam: fuera de la vista pero no display:none */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* panel de confirmación */
.form-ok{
  background:var(--navy-2);border:1px solid rgba(74,209,104,.45);border-radius:var(--r-lg);
  padding:clamp(28px,3.4vw,44px);display:flex;flex-direction:column;gap:14px;
  box-shadow:0 26px 60px -34px rgba(37,168,90,.8);
}
.form-ok .ok-ico{width:52px;height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#4ad168,#25a85a 55%,#128c45);box-shadow:0 10px 24px -12px rgba(37,168,90,1)}
.form-ok .ok-t{font-family:var(--f-display);font-weight:500;font-size:clamp(23px,2.5vw,29px);color:#fff;letter-spacing:-.02em}
.form-ok .ok-d{font-size:15.5px;color:var(--mist);line-height:1.6}
.form-ok .ok-d b{color:#fff;font-weight:600;overflow-wrap:anywhere}

.cinfo{display:flex;flex-direction:column;gap:14px}
.cline{display:flex;gap:15px;align-items:flex-start;padding:18px 0;border-bottom:1px solid rgba(174,194,215,.2)}
.cline:last-child{border-bottom:0}
a.cline{color:inherit;text-decoration:none;transition:transform .2s}
a.cline:hover{color:inherit;transform:translateX(3px)}
a.cline:hover .cv{color:var(--sun)}
.cline .ci{flex:none;width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.08);border:1px solid rgba(174,194,215,.25);display:flex;align-items:center;justify-content:center;transition:box-shadow .2s}
.cline .ci.wa{background:linear-gradient(145deg,#4ad168,#25a85a 55%,#128c45);border-color:rgba(74,209,104,.5);box-shadow:0 8px 20px -10px rgba(37,168,90,.9)}
a.cline:hover .ci.wa{box-shadow:0 12px 26px -10px rgba(37,168,90,1)}
.cline .cv{transition:color .2s}
.cline .cb{display:flex;flex-direction:column;gap:2px;min-width:0}
.cline .ck{font-size:10.5px;letter-spacing:.15em;text-transform:uppercase;font-weight:600;color:var(--mist-2)}
.cline .cv{font-size:16px;font-weight:600;color:#fff;overflow-wrap:anywhere}
.cline .cv a{color:#fff}
.cline .cv a:hover{color:var(--sun)}
.cline .cd{font-size:13px;color:var(--mist)}

/* ---------- Footer ---------- */
.footer{background:var(--navy-3);color:var(--mist);padding:clamp(54px,7vw,78px) 0 34px}
.footer h4{color:#fff;font-size:15px;font-weight:600;margin-bottom:14px;letter-spacing:0}
.foot-top{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:36px;padding-bottom:36px;border-bottom:1px solid rgba(174,194,215,.18)}
.foot-logo img{height:52px;width:auto;margin-bottom:16px}
.foot-links{display:flex;flex-direction:column;gap:8px;font-size:14.5px}
.foot-links a{color:var(--mist)}
.foot-links a:hover{color:#fff}
.foot-bottom{padding-top:26px;display:flex;flex-direction:column;gap:16px;font-size:12.5px;line-height:1.65;color:var(--mist-2)}
.foot-bottom a{color:var(--mist)}
.credits{font-size:11.5px;line-height:1.7;color:rgba(174,194,215,.65)}
.credits a{color:rgba(174,194,215,.85);text-decoration:underline;text-underline-offset:2px}

/* ---------- Reveal ---------- */
[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
[data-reveal].in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  [data-reveal]{opacity:1;transform:none;transition:none}
  .hero-bg img{animation:none;transform:none}
  html{scroll-behavior:auto}
  .fig img,.terr img{transition:none}
}

/* ---------- Utilidades ---------- */
.mt-s{margin-top:16px}.mt-m{margin-top:28px}.mt-l{margin-top:44px}
.center{text-align:center}
.maxw-sm{max-width:62ch}
.note{font-size:12.8px;color:var(--body);line-height:1.6}
.sec-navy .note{color:var(--mist-2)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ===========================================================
   Mapa satelital de proyectos (02 — Territorio)
   =========================================================== */
.mapa{
  margin-top:clamp(26px,3.4vw,40px);
  background:var(--navy);color:#fff;
  border-radius:var(--r-lg);overflow:hidden;
  box-shadow:var(--shadow-m);
}
.mapa-top{
  display:flex;flex-wrap:wrap;gap:20px;
  align-items:flex-end;justify-content:space-between;
  padding:clamp(22px,3vw,30px) clamp(20px,3vw,32px);
}
.mapa-top h3{color:#fff;margin-top:11px}
.mapa-top .mt-d{color:var(--mist);font-size:14.6px;line-height:1.55;margin-top:9px;max-width:52ch}
.mapa-top .btn{flex:none}

.mapa-box{
  display:grid;grid-template-columns:minmax(0,290px) minmax(0,1fr);
  border-top:1px solid rgba(174,194,215,.2);
}
.mapa-list{
  display:flex;flex-direction:column;
  border-right:1px solid rgba(174,194,215,.2);
  max-height:clamp(400px,54vw,660px);overflow-y:auto;
}
.mp{
  appearance:none;-webkit-appearance:none;
  background:transparent;border:0;
  border-bottom:1px solid rgba(174,194,215,.14);
  border-left:3px solid transparent;
  text-align:left;padding:13px 17px;cursor:pointer;
  color:#fff;font-family:inherit;font-size:inherit;
  display:grid;gap:3px;transition:background .2s,border-color .2s;
}
.mp:last-child{border-bottom:0}
.mp:hover{background:rgba(174,194,215,.09)}
.mp:focus-visible{outline:2px solid var(--sun);outline-offset:-3px}
.mp.on{background:rgba(242,144,28,.15);border-left-color:var(--sun)}
.mp-n{font-family:var(--f-display);font-weight:500;font-size:16.4px;letter-spacing:-.012em;line-height:1.2}
.mp-d{font-size:12.7px;color:var(--mist);line-height:1.45}
.mp-k{font-size:10.3px;letter-spacing:.12em;text-transform:uppercase;color:var(--mist-2);font-weight:600;margin-top:2px}

.mapa-vis{position:relative;min-height:clamp(400px,54vw,660px);background:#0A1626}
.mapa-canvas{position:absolute;inset:0;z-index:1}

/* Aviso mientras cargan las imágenes satelitales, y respaldo si no cargan */
.mapa-msg{
  position:absolute;inset:0;z-index:3;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:12px;text-align:center;padding:30px;
  background:#0A1626;color:var(--mist);font-size:14px;
}
.mapa-msg[hidden]{display:none}
.mapa-msg .sp{
  width:26px;height:26px;border-radius:50%;
  border:2px solid rgba(174,194,215,.3);border-top-color:var(--sun);
  animation:girar .9s linear infinite;
}
@keyframes girar{to{transform:rotate(360deg)}}
.mapa-msg b{color:#fff;font-weight:600;display:block}

/* Ficha del proyecto elegido, encima del mapa */
.mapa-ficha{
  position:absolute;z-index:2;left:14px;right:14px;bottom:14px;
  background:rgba(8,26,47,.9);
  -webkit-backdrop-filter:blur(10px) saturate(140%);
  backdrop-filter:blur(10px) saturate(140%);
  border:1px solid rgba(174,194,215,.26);border-radius:14px;
  padding:14px 16px;
  display:grid;gap:5px;
  opacity:0;transform:translateY(10px);pointer-events:none;
  transition:opacity .35s ease,transform .35s ease;
}
.mapa-ficha.on{opacity:1;transform:none}
.mf-n{font-family:var(--f-display);font-weight:500;font-size:17px;color:#fff;line-height:1.2}
.mf-d{font-size:13.2px;color:var(--mist);line-height:1.5}
.mf-m{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--mist-2);font-weight:600;margin-top:2px}
.mf-m .co{font-variant-numeric:tabular-nums;letter-spacing:.04em;text-transform:none}

.mapa-pie{
  padding:13px clamp(20px,3vw,32px);
  border-top:1px solid rgba(174,194,215,.2);
  font-size:11.8px;color:var(--mist-2);line-height:1.6;
}
.mapa-pie a{color:var(--mist)}
.mapa-pie a:hover{color:#fff}

/* Chinches sobre la imagen satelital */
.pin{background:none!important;border:0!important}
.pin i{
  display:block;width:14px;height:14px;border-radius:50%;
  background:var(--sun);border:2.5px solid #fff;
  box-shadow:0 0 0 1px rgba(8,26,47,.6),0 3px 10px rgba(0,0,0,.5);
  margin:0 auto;
}
.pin b{
  display:block;margin-top:5px;white-space:nowrap;
  font-family:var(--f-display);font-weight:500;font-size:12.5px;color:#fff;
  text-shadow:0 1px 3px rgba(0,0,0,.95),0 0 10px rgba(0,0,0,.8);
  transform:translateX(-50%);margin-left:7px;
}
.pin.on i{background:#fff;border-color:var(--sun);width:16px;height:16px;margin-top:-1px}
.pin.on::before{
  content:"";position:absolute;left:7px;top:7px;
  width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;
  border:2px solid var(--sun);animation:latir 1.9s ease-out infinite;
}
@keyframes latir{
  0%{transform:scale(1);opacity:.9}
  100%{transform:scale(3.4);opacity:0}
}

@media (max-width:860px){
  .mapa-box{grid-template-columns:1fr}
  .mapa-list{
    order:2;border-right:0;border-top:1px solid rgba(174,194,215,.2);
    max-height:none;overflow:visible;
  }
  .mapa-vis{order:1;min-height:380px}
  .mapa-ficha{left:10px;right:10px;bottom:10px;padding:12px 14px}
  .mf-n{font-size:15.5px}
  .mf-d{font-size:12.6px}
}

@media (prefers-reduced-motion:reduce){
  .pin.on::before{animation:none;opacity:0}
  .mapa-msg .sp{animation:none}
}

/* ===========================================================
   Certificaciones (07)
   =========================================================== */
.cert-intro{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(24px,3.4vw,46px);align-items:center;
  margin-top:clamp(26px,3.4vw,40px);
}
.cert-foto{
  position:relative;border-radius:var(--r-lg);overflow:hidden;
  box-shadow:var(--shadow-l);aspect-ratio:4/3;
}
.cert-foto img{
  width:100%;height:100%;object-fit:cover;object-position:50% 52%;
  animation:derivar 16s ease-in-out infinite alternate;
}
@keyframes derivar{
  from{transform:scale(1.03) translate3d(0,0,0)}
  to{transform:scale(1.2) translate3d(-2.4%,-2.2%,0)}
}
.cert-foto::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(8,26,47,0) 45%,rgba(8,26,47,.55) 100%);
}
.cert-foto .pie{
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  padding:16px 18px;font-size:12.4px;color:rgba(255,255,255,.88);line-height:1.5;
}
.cert-intro .lead{color:var(--mist)}
.cert-intro .ticks{margin-top:20px}

.certs{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,268px),1fr));
  gap:14px;margin-top:clamp(28px,3.6vw,44px);
}
.cert{
  background:#172D49;
  border:1px solid rgba(174,194,215,.22);border-radius:var(--r);
  padding:20px 19px;display:flex;flex-direction:column;gap:11px;
  transition:border-color .24s,background .24s,transform .24s;
}
.cert:hover{border-color:rgba(242,144,28,.6);background:#1F3350;transform:translateY(-3px)}
.cert .ic{
  width:40px;height:40px;border-radius:11px;flex:none;
  display:grid;place-items:center;
  background:rgba(242,144,28,.14);border:1px solid rgba(242,144,28,.3);
}
.cert .ic svg{width:21px;height:21px;stroke:var(--sun);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.cert .ct{font-family:var(--f-display);font-weight:500;font-size:17px;color:#fff;line-height:1.25}
.cert .cd{font-size:13.2px;color:var(--mist);line-height:1.55}
.cert .cp{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:4px}
.pill{
  display:inline-flex;align-items:center;
  font-size:11.6px;font-weight:600;letter-spacing:.03em;
  padding:5px 11px;border-radius:999px;
  background:rgba(242,144,28,.13);color:var(--sun);
  border:1px solid rgba(242,144,28,.34);
  font-variant-numeric:tabular-nums;
}
.pill.soft{background:rgba(174,194,215,.12);color:var(--mist);border-color:rgba(174,194,215,.3);letter-spacing:0;font-weight:500}

.normas{
  margin-top:clamp(28px,3.6vw,44px);background:#172D49;
  border:1px solid rgba(174,194,215,.22);border-radius:var(--r);
  overflow:hidden;
}
.normas .nh{
  padding:15px 20px;background:rgba(174,194,215,.09);
  border-bottom:1px solid rgba(174,194,215,.22);
}
.normas .nh span{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--mist-2);font-weight:600}
.norma{
  display:grid;grid-template-columns:minmax(0,118px) minmax(0,1fr);
  gap:4px 20px;align-items:baseline;
  padding:14px 20px;border-bottom:1px solid rgba(174,194,215,.13);
}
.norma:last-child{border-bottom:0}
.norma .nn{font-family:var(--f-display);font-weight:500;font-size:15.5px;color:var(--sun);font-variant-numeric:tabular-nums}
.norma .nd{font-size:14px;color:var(--mist);line-height:1.55}
.norma .nd b{color:#fff;font-weight:600}

@media (max-width:820px){
  .cert-intro{grid-template-columns:1fr}
  .cert-foto{aspect-ratio:16/10}
  .norma{grid-template-columns:1fr;gap:2px}
}


/* ===========================================================
   Leaflet 1.9.4 - https://leafletjs.com - BSD-2-Clause
   (c) 2010-2023 Vladimir Agafonkin, (c) 2010-2011 CloudMade
   Copia local para que el mapa no dependa de ningun CDN.
   =========================================================== */
.leaflet-image-layer,.leaflet-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane,.leaflet-pane>canvas,.leaflet-pane>svg,.leaflet-tile,.leaflet-tile-container,.leaflet-zoom-box{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:0 0}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-bottom,.leaflet-top{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-pan-anim .leaflet-tile,.leaflet-zoom-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-control,.leaflet-popup-pane{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-image-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-image-layer.leaflet-interactive,.leaflet-marker-icon.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:rgba(255,255,255,.5)}.leaflet-container{font-family:"Helvetica Neue",Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px rgba(0,0,0,.65);border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-bar a:focus,.leaflet-bar a:hover{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:bold 18px 'Lucida Console',Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px rgba(0,0,0,.4);background:#fff;border-radius:5px}.leaflet-retina .leaflet-touch .leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-container .leaflet-control-attribution{background:#fff;background:rgba(255,255,255,.8);margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:focus,.leaflet-control-attribution a:hover{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:rgba(255,255,255,.8);text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers{box-shadow:none}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-layers{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:17px 0;margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px rgba(0,0,0,.4)}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:0 0}.leaflet-container a.leaflet-popup-close-button:focus,.leaflet-container a.leaflet-popup-close-button:hover{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto}.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px rgba(0,0,0,.4)}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before,.leaflet-tooltip-top:before{position:absolute;pointer-events:none;border:6px solid transparent;background:0 0;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* --- Leaflet, adaptado a la paleta del sitio (va despues de su hoja) --- */
/* Leaflet, adaptado a la paleta del sitio */
.leaflet-container{background:#0A1626;font-family:var(--f-body)}
/* El punteado del limite provincial avanza despacio: sobre la cordillera
   un trazo quieto se confunde con el terreno. */
.leaflet-overlay-pane .lim{animation:hormigas 2.6s linear infinite}
@keyframes hormigas{to{stroke-dashoffset:-14}}
.leaflet-control-zoom a{
  background:rgba(8,26,47,.88)!important;color:#fff!important;
  border-color:rgba(174,194,215,.3)!important;
}
.leaflet-control-zoom a:hover{background:var(--copper)!important}
.leaflet-control-attribution{
  background:rgba(8,26,47,.78)!important;color:var(--mist-2)!important;
  font-size:10.5px!important;
}
.leaflet-control-attribution a{color:var(--mist)!important}
.leaflet-control-scale-line{
  background:rgba(8,26,47,.7)!important;color:#fff!important;
  border-color:rgba(255,255,255,.55)!important;
}


/* --- Menos movimiento, al final para que gane sobre las animaciones de arriba --- */
@media (prefers-reduced-motion:reduce){
  .cert-foto img{animation:none;transform:none}
  .leaflet-overlay-pane .lim{animation:none}
}


/* ===========================================================
   Curvas de nivel vivas — la pieza propia del diseño de
   Soft Landing. El canvas tapa la sección entera y el
   contenido viaja por encima.
   =========================================================== */
.topo-sec{position:relative;overflow:hidden}
.topo{
  position:absolute;inset:0;width:100%;height:100%;
  z-index:0;pointer-events:none;opacity:.78;
  /* Arriba de cada seccion va el titulo y la bajada: ahi el relieve
     casi no se ve, y recien gana presencia donde empiezan las piezas. */
  -webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.06) 0,rgba(0,0,0,.2) 15%,#000 42%,#000 86%,rgba(0,0,0,.5) 100%);
          mask-image:linear-gradient(180deg,rgba(0,0,0,.06) 0,rgba(0,0,0,.2) 15%,#000 42%,#000 86%,rgba(0,0,0,.5) 100%);
}
.topo-sec > .wrap{position:relative;z-index:1}
