/* vietnamese */

/* latin-ext */

/* latin */

/* vietnamese */

/* latin-ext */

/* latin */

/* vietnamese */

/* latin-ext */

/* latin */

/* vietnamese */

/* latin-ext */

/* latin */

/* cyrillic-ext */

/* cyrillic */

/* vietnamese */

/* latin-ext */

/* latin */

/* cyrillic-ext */

/* cyrillic */

/* vietnamese */

/* latin-ext */

/* latin */

/* cyrillic-ext */

/* cyrillic */

/* vietnamese */

/* latin-ext */

/* latin */

/* cyrillic-ext */

/* cyrillic */

/* vietnamese */

/* latin-ext */

/* latin */

/* cyrillic-ext */

/* cyrillic */

/* vietnamese */

/* latin-ext */

/* latin */


/* ============================================================
   NATIVA MINING GOLD S.A.S. — Sistema de diseño
   Sobrio · editorial · oro refinado
   ============================================================ */

:root{
  /* Backgrounds */
  --ink:        #15120c;   /* tinta cálida casi negra */
  --ink-2:      #1d1910;   /* panel sobre tinta */
  --ink-3:      #272015;   /* borde sobre tinta */
  --paper:      #f6f2e9;   /* papel hueso */
  --paper-2:    #efe9da;   /* panel sobre papel */
  --paper-line: #e2dac7;   /* borde sobre papel */

  /* Accents */
  --gold:       #c2a05a;   /* oro refinado */
  --gold-soft:  #d8c08a;
  --gold-deep:  #9c7e3f;
  --forest:     #20392f;   /* verde río Atrato, uso puntual */
  --forest-2:   #2c4d40;

  /* Text */
  --on-ink:        #ece6d8;
  --on-ink-dim:    #a59d8a;
  --on-ink-faint:  #6f6857;
  --on-paper:      #221d14;
  --on-paper-dim:  #6a6353;
  --on-paper-faint:#9a9282;

  /* Type */
  --serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --sans:  "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;

  --maxw: 1240px;
  --gutter: clamp(20px, 5vw, 80px);
}

*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; overflow-x:clip; max-width:100%; }
body{
  font-family:var(--sans);
  background:var(--ink);
  color:var(--on-ink);
  font-size:17px;
  line-height:1.65;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:clip;
  max-width:100%;
  position:relative;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }

::selection{ background:var(--gold); color:var(--ink); }

/* ---------- Layout ---------- */
.wrap{ max-width:var(--maxw); margin:0 auto; padding-inline:var(--gutter); }
.section{ padding-block:clamp(72px,11vw,150px); position:relative; }
.section--ink{ background:var(--ink); color:var(--on-ink); }
.section--paper{ background:var(--paper); color:var(--on-paper); }
.section--forest{ background:var(--forest); color:var(--on-ink); }

/* ---------- Section header ---------- */
.eyebrow{
  font-family:var(--sans);
  font-size:12px;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--gold);
  display:flex;
  align-items:center;
  gap:14px;
}
.eyebrow::before{
  content:"";
  width:34px; height:1px;
  background:var(--gold);
  display:inline-block;
}
.sec-head{ margin-bottom:clamp(34px,5vw,60px); }
.sec-num{
  font-family:var(--sans);
  font-size:13px; font-weight:600; letter-spacing:.2em;
  color:var(--on-ink-faint);
}
.section--paper .sec-num{ color:var(--on-paper-faint); }
.sec-title{
  font-family:var(--serif);
  font-weight:500;
  font-size:clamp(2rem,4.6vw,3.6rem);
  line-height:1.05;
  letter-spacing:-.01em;
  margin-top:18px;
  max-width:18ch;
  text-wrap:balance;
}
.sec-title.wide{ max-width:24ch; }
.sec-intro{
  margin-top:22px;
  max-width:62ch;
  font-size:clamp(1.02rem,1.5vw,1.18rem);
  color:var(--on-ink-dim);
  line-height:1.7;
}
.section--paper .sec-intro{ color:var(--on-paper-dim); }

p.body{ max-width:64ch; color:var(--on-ink-dim); margin-top:1.1em; }
.section--paper p.body{ color:var(--on-paper-dim); }
.section--ink p.body{ color:var(--on-ink-dim); }

.lead{ font-size:clamp(1.05rem,1.6vw,1.25rem); line-height:1.7; }

/* ---------- Nav ---------- */
.nav{
  position:fixed; inset:0 0 auto 0; z-index:60;
  display:flex; align-items:center; justify-content:space-between;
  padding:16px var(--gutter);
  background:color-mix(in srgb, var(--ink) 80%, transparent);
  backdrop-filter:blur(12px);
  border-bottom:1px solid transparent;
  transition:background .4s, border-color .4s, padding .4s;
}
.nav.scrolled{
  background:color-mix(in srgb, var(--ink) 94%, transparent);
  border-bottom:1px solid var(--ink-3);
  padding-block:11px;
}
.brand{ display:flex; align-items:center; gap:12px; cursor:pointer; }
.brand-logo{ height:40px; width:auto; display:block; transition:height .4s; }
.nav.scrolled .brand-logo{ height:34px; }
.foot-logo{ height:54px; width:auto; display:block; margin-bottom:22px; }
@media (max-width:560px){ .brand-logo{ height:32px; } }
.brand .mark{ width:22px; height:22px; flex:none; }
.brand .mark path{ fill:var(--gold); }
.brand-txt{ line-height:1; }
.brand-txt b{
  font-family:var(--sans); font-weight:700;
  font-size:15px; letter-spacing:.16em; color:var(--on-ink);
  display:block;
}
.brand-txt span{
  font-size:9.5px; letter-spacing:.34em; color:var(--gold);
  text-transform:uppercase; font-weight:500;
}
.nav-right{ display:flex; align-items:center; gap:26px; }
.nav-cta{
  font-size:12px; letter-spacing:.12em; text-transform:uppercase; font-weight:600;
  color:var(--on-ink); padding:9px 18px; border:1px solid var(--ink-3);
  border-radius:2px; transition:.25s; white-space:nowrap;
}
.nav-cta:hover{ border-color:var(--gold); color:var(--gold); }
.menu-btn{
  display:flex; align-items:center; gap:11px; cursor:pointer;
  font-size:12px; letter-spacing:.16em; text-transform:uppercase; font-weight:600;
  color:var(--on-ink); background:none; border:none; font-family:var(--sans);
}
.menu-btn .bars{ display:flex; flex-direction:column; gap:4px; }
.menu-btn .bars i{ width:22px; height:1.5px; background:var(--gold); display:block; transition:.3s; }

/* progress */
.progress{ position:fixed; top:0; left:0; height:2px; background:var(--gold); width:0; z-index:70; transition:width .1s linear; }

/* ---------- Index overlay ---------- */
.index-ov{
  position:fixed; inset:0; z-index:80;
  background:color-mix(in srgb, var(--ink) 97%, #000);
  display:grid; place-items:center;
  opacity:0; pointer-events:none; transition:opacity .4s;
}
.index-ov.open{ opacity:1; pointer-events:auto; }
.index-close{
  position:absolute; top:22px; right:var(--gutter);
  background:none; border:none; color:var(--on-ink); cursor:pointer;
  font-size:13px; letter-spacing:.16em; text-transform:uppercase; font-weight:600;
  display:flex; align-items:center; gap:10px; font-family:var(--sans);
}
.index-close span{ font-size:22px; line-height:1; }
.index-grid{
  width:min(1100px,90vw); max-height:84vh; overflow:auto;
  display:grid; grid-template-columns:repeat(2,1fr);
  gap:2px 56px;
  padding:24px 0;
}
.index-grid a{
  display:flex; align-items:baseline; gap:16px;
  padding:13px 4px; border-bottom:1px solid var(--ink-3);
  transition:.25s; color:var(--on-ink-dim);
}
.index-grid a:hover{ color:var(--gold); padding-left:12px; }
.index-grid a .n{ font-size:12px; color:var(--on-ink-faint); font-weight:600; letter-spacing:.1em; width:26px; flex:none; }
.index-grid a:hover .n{ color:var(--gold); }
.index-grid a .t{ font-family:var(--serif); font-size:1.35rem; font-weight:500; }

/* ---------- Hero ---------- */
.hero{
  min-height:100svh; position:relative; display:flex; flex-direction:column;
  justify-content:flex-end; overflow:hidden;
  background:radial-gradient(120% 90% at 80% 0%, #221b10 0%, var(--ink) 55%);
}
.hero-grain{ position:absolute; inset:0; opacity:.5; pointer-events:none;
  background-image:repeating-linear-gradient(115deg, transparent 0 7px, rgba(194,160,90,.025) 7px 8px); }
.hero-mark{
  position:absolute; right:clamp(-60px,-3vw,0px); top:50%; transform:translateY(-46%);
  width:min(62vw,760px); opacity:.16; pointer-events:none;
}
.hero-mark path{ fill:none; stroke:var(--gold); stroke-width:1; }
.hero-inner{ position:relative; z-index:2; padding-bottom:clamp(56px,8vw,110px); padding-top:140px; }
.hero-eyebrow{ margin-bottom:30px; }
.hero h1{
  font-family:var(--serif); font-weight:500;
  font-size:clamp(2.7rem,7.4vw,6.4rem); line-height:.98; letter-spacing:-.015em;
  max-width:16ch; text-wrap:balance;
}
.hero h1 em{ font-style:italic; color:var(--gold-soft); }
.hero-sub{
  margin-top:32px; max-width:54ch; font-size:clamp(1.05rem,1.7vw,1.3rem);
  color:var(--on-ink-dim); line-height:1.65;
}
.hero-meta{
  margin-top:44px; display:flex; flex-wrap:wrap; gap:38px 56px;
  border-top:1px solid var(--ink-3); padding-top:30px;
}
.hero-meta .item .k{ font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); font-weight:600; }
.hero-meta .item .v{ font-family:var(--serif); font-size:1.5rem; margin-top:6px; }
.scroll-hint{
  position:absolute; left:var(--gutter); bottom:26px; z-index:3;
  font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--on-ink-faint);
  display:flex; align-items:center; gap:12px;
}
.scroll-hint i{ width:1px; height:34px; background:linear-gradient(var(--gold),transparent); display:block; animation:drop 2.2s infinite; }
@keyframes drop{ 0%{transform:scaleY(0);transform-origin:top} 45%{transform:scaleY(1);transform-origin:top} 55%{transform:scaleY(1);transform-origin:bottom} 100%{transform:scaleY(0);transform-origin:bottom} }

/* ---------- Stats row ---------- */
.stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--ink-3); border:1px solid var(--ink-3); }
.section--paper .stats{ background:var(--paper-line); border-color:var(--paper-line); }
.stat{ background:var(--ink); padding:34px 28px; }
.section--paper .stat{ background:var(--paper); }
.stat .v{ font-family:var(--serif); font-size:clamp(2.1rem,3.6vw,3.1rem); line-height:1; color:var(--gold); font-variant-numeric:tabular-nums; }
.stat .l{ margin-top:14px; font-size:12.5px; letter-spacing:.04em; color:var(--on-ink-dim); line-height:1.45; }
.section--paper .stat .l{ color:var(--on-paper-dim); }

/* ---------- Data table ---------- */
.dt{ width:100%; border-collapse:collapse; font-size:15px; }
.dt caption{ text-align:left; font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); font-weight:600; padding-bottom:14px; }
.dt th, .dt td{ text-align:left; padding:15px 18px; border-bottom:1px solid var(--ink-3); vertical-align:top; }
.section--paper .dt th, .section--paper .dt td{ border-color:var(--paper-line); }
.dt thead th{ font-size:11px; letter-spacing:.13em; text-transform:uppercase; color:var(--on-ink-faint); font-weight:600; }
.section--paper .dt thead th{ color:var(--on-paper-faint); }
.dt td:first-child{ color:var(--on-ink); font-weight:500; }
.section--paper .dt td:first-child{ color:var(--on-paper); }
.dt td.num, .dt th.num{ text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.dt .total td{ border-top:2px solid var(--gold); border-bottom:none; font-weight:700; color:var(--gold); }
.dt .sub td{ color:var(--on-ink-dim); }
.dt tr:hover td{ }

/* ---------- Pull quote ---------- */
.pull{
  border-left:2px solid var(--gold); padding:6px 0 6px 32px;
  font-family:var(--serif); font-size:clamp(1.5rem,3.2vw,2.4rem); line-height:1.18; font-weight:500;
  max-width:30ch; text-wrap:balance; letter-spacing:-.01em;
}
.pull.center{ border:none; border-top:1px solid var(--gold); border-bottom:1px solid var(--gold); padding:38px 0; margin-inline:auto; text-align:center; max-width:24ch; }
.pull em{ color:var(--gold-soft); font-style:italic; }

/* ---------- Grids ---------- */
.cols-2{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,4vw,64px); align-items:start; }
.cols-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(20px,2.5vw,34px); }
.cols-12{ display:grid; grid-template-columns:5fr 7fr; gap:clamp(28px,4vw,64px); align-items:start; }
.cols-21{ display:grid; grid-template-columns:7fr 5fr; gap:clamp(28px,4vw,64px); align-items:start; }

/* ---------- Card ---------- */
.card{
  border:1px solid var(--ink-3); padding:30px; border-radius:2px; height:100%;
  background:var(--ink-2); transition:.3s;
}
.section--paper .card{ background:var(--paper); border-color:var(--paper-line); }
.card:hover{ border-color:var(--gold-deep); }
.card .kicker{ font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); font-weight:600; }
.card h4{ font-family:var(--serif); font-weight:500; font-size:1.55rem; margin-top:12px; line-height:1.12; }
.card p{ margin-top:12px; font-size:14.5px; color:var(--on-ink-dim); line-height:1.6; }
.section--paper .card p{ color:var(--on-paper-dim); }

/* value/list rows */
.deflist{ border-top:1px solid var(--ink-3); }
.section--paper .deflist{ border-color:var(--paper-line); }
.deflist .row{ display:grid; grid-template-columns:minmax(160px,32%) 1fr; gap:20px; padding:16px 0; border-bottom:1px solid var(--ink-3); }
.section--paper .deflist .row{ border-color:var(--paper-line); }
.deflist .row dt{ font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--on-ink-faint); font-weight:600; padding-top:3px; }
.section--paper .deflist .row dt{ color:var(--on-paper-faint); }
.deflist .row dd{ font-size:15.5px; color:var(--on-ink); }
.section--paper .deflist .row dd{ color:var(--on-paper); }
.deflist .row dd b{ color:var(--gold); font-weight:600; }

/* ---------- Norm / decree item ---------- */
.norm{ border-top:1px solid var(--ink-3); padding:26px 0; display:grid; grid-template-columns:minmax(220px,34%) 1fr; gap:28px; }
.section--paper .norm{ border-color:var(--paper-line); }
.norm:last-child{ border-bottom:1px solid var(--ink-3); }
.section--paper .norm:last-child{ border-bottom-color:var(--paper-line); }
.norm .nname{ font-family:var(--serif); font-size:1.5rem; font-weight:500; line-height:1.1; }
.norm .ntag{ display:inline-block; margin-top:10px; font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); border:1px solid var(--gold-deep); padding:4px 9px; border-radius:2px; }
.norm .benefit{ font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); font-weight:600; margin-bottom:8px; }
.norm .ndesc{ font-size:15.5px; color:var(--on-ink-dim); line-height:1.66; }
.section--paper .norm .ndesc{ color:var(--on-paper-dim); }
.norm .ndesc .q{ color:var(--on-ink); font-style:italic; }
.section--paper .norm .ndesc .q{ color:var(--on-paper); }

/* ---------- Timeline ---------- */
.timeline{ border-left:1px solid var(--ink-3); margin-left:8px; }
.section--paper .timeline{ border-color:var(--paper-line); }
.tl-item{ position:relative; padding:0 0 34px 34px; }
.tl-item::before{ content:""; position:absolute; left:-5px; top:5px; width:9px; height:9px; background:var(--gold); border-radius:50%; }
.tl-item.major::before{ width:13px; height:13px; left:-7px; box-shadow:0 0 0 4px color-mix(in srgb,var(--gold) 22%, transparent); }
.tl-item .m{ font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); font-weight:600; }
.tl-item .h{ font-family:var(--serif); font-size:1.25rem; margin-top:4px; line-height:1.2; }
.tl-item.major .h{ color:var(--gold-soft); }
.tl-item p{ font-size:14px; color:var(--on-ink-dim); margin-top:6px; max-width:52ch; }
.section--paper .tl-item p{ color:var(--on-paper-dim); }

/* ---------- Figure placeholder ---------- */
.fig{ position:relative; overflow:hidden; border:1px solid var(--ink-3); border-radius:2px;
  background-color:var(--ink-2);
  background-image:repeating-linear-gradient(135deg, rgba(194,160,90,.06) 0 2px, transparent 2px 13px);
  display:grid; place-items:center; min-height:240px; }
.section--paper .fig{ background-color:var(--paper-2); border-color:var(--paper-line);
  background-image:repeating-linear-gradient(135deg, rgba(160,130,70,.09) 0 2px, transparent 2px 13px); }
.fig.tall{ min-height:420px; }
.fig.full{ min-height:clamp(340px,52vw,640px); }
.fig .lab{ font-family:"SFMono-Regular",ui-monospace,Menlo,Consolas,monospace; font-size:12px; letter-spacing:.05em;
  color:var(--on-ink-faint); text-align:center; padding:18px 22px; max-width:42ch; line-height:1.5; }
.section--paper .fig .lab{ color:var(--on-paper-faint); }
.fig .lab b{ display:block; color:var(--gold); margin-bottom:8px; letter-spacing:.16em; text-transform:uppercase; font-size:11px; }
.fig .corner{ position:absolute; top:12px; left:12px; width:16px; height:16px; border-top:1px solid var(--gold); border-left:1px solid var(--gold); opacity:.6; }
.fig .corner.br{ top:auto; left:auto; bottom:12px; right:12px; border-top:none; border-left:none; border-bottom:1px solid var(--gold); border-right:1px solid var(--gold); }
figcaption{ margin-top:12px; font-size:12.5px; color:var(--on-ink-faint); letter-spacing:.02em; }
.section--paper figcaption{ color:var(--on-paper-faint); }

/* full-bleed panorama */
.panorama{ position:relative; left:50%; transform:translateX(-50%); width:100vw; max-width:100vw; margin-top:clamp(40px,6vw,72px); }
.panorama img{ width:100%; height:clamp(320px,42vw,540px); object-fit:cover; display:block; }
.panorama figcaption{ margin-top:16px; }

/* ---------- Map schematic ---------- */
.map-card{ border:1px solid var(--ink-3); border-radius:2px; padding:30px; background:var(--ink-2); }
.section--paper .map-card{ background:var(--paper); border-color:var(--paper-line); }
.map-svg{ width:100%; height:auto; }
.map-legend{ margin-top:22px; display:flex; flex-direction:column; gap:11px; }
.map-legend .li{ display:flex; align-items:flex-start; gap:12px; font-size:13.5px; color:var(--on-ink-dim); }
.section--paper .map-legend .li{ color:var(--on-paper-dim); }
.map-legend .dot{ width:12px; height:12px; border-radius:50%; flex:none; margin-top:4px; }

/* community big cards */
.comm{ border:1px solid var(--ink-3); border-radius:2px; overflow:hidden; background:var(--ink-2); display:flex; flex-direction:column; }
.section--paper .comm{ background:var(--paper); border-color:var(--paper-line); }
.comm .top{ padding:26px 26px 22px; border-bottom:1px solid var(--ink-3); }
.section--paper .comm .top{ border-color:var(--paper-line); }
.comm .abbr{ font-family:var(--serif); font-size:2.4rem; color:var(--gold); line-height:1; }
.comm .full{ font-size:13px; color:var(--on-ink-dim); margin-top:10px; line-height:1.4; }
.section--paper .comm .full{ color:var(--on-paper-dim); }
.comm .body{ padding:8px 26px 26px; }
.comm dl{ }
.comm dl div{ padding:13px 0; border-bottom:1px solid var(--ink-3); }
.section--paper .comm dl div{ border-color:var(--paper-line); }
.comm dl div:last-child{ border-bottom:none; }
.comm dt{ font-size:10.5px; letter-spacing:.13em; text-transform:uppercase; color:var(--on-ink-faint); font-weight:600; }
.section--paper .comm dt{ color:var(--on-paper-faint); }
.comm dd{ font-size:14.5px; color:var(--on-ink); margin-top:4px; }
.section--paper .comm dd{ color:var(--on-paper); }

/* chips */
.chips{ display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.chip{ font-size:12px; letter-spacing:.05em; padding:8px 15px; border:1px solid var(--ink-3); border-radius:100px; color:var(--on-ink-dim); }
.section--paper .chip{ border-color:var(--paper-line); color:var(--on-paper-dim); }
.chip b{ color:var(--gold); font-weight:600; }

/* big number feature */
.bignum{ display:flex; align-items:baseline; gap:18px; flex-wrap:wrap; }
.bignum .n{ font-family:var(--serif); font-size:clamp(3.4rem,9vw,7rem); line-height:.85; color:var(--gold); font-variant-numeric:tabular-nums; }
.bignum .x{ max-width:30ch; color:var(--on-ink-dim); }
.section--paper .bignum .x{ color:var(--on-paper-dim); }

/* value props */
.vp{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--ink-3); border:1px solid var(--ink-3); }
.vp .it{ background:var(--ink); padding:30px 26px; }
.vp .it .n{ font-size:12px; color:var(--gold); font-weight:600; letter-spacing:.1em; }
.vp .it h4{ font-family:var(--serif); font-weight:500; font-size:1.4rem; margin-top:14px; line-height:1.15; }
.vp .it p{ margin-top:10px; font-size:14px; color:var(--on-ink-dim); line-height:1.6; }

/* risk */
.risk{ display:grid; grid-template-columns:1.4fr .7fr .7fr 2.2fr; gap:1px; background:var(--ink-3); border:1px solid var(--ink-3); font-size:14px; }
.section--paper .risk{ background:var(--paper-line); border-color:var(--paper-line); }
.risk > div{ background:var(--ink); padding:16px 18px; }
.section--paper .risk > div{ background:var(--paper); }
.risk .rh{ font-size:11px; letter-spacing:.13em; text-transform:uppercase; color:var(--on-ink-faint); font-weight:600; }
.section--paper .risk .rh{ color:var(--on-paper-faint); }
.risk .rname{ font-weight:600; color:var(--on-ink); }
.section--paper .risk .rname{ color:var(--on-paper); }
.risk .lvl{ font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.risk .rmit{ color:var(--on-ink-dim); }
.section--paper .risk .rmit{ color:var(--on-paper-dim); }
.lvl.low{ color:#8fae8a; } .lvl.med{ color:var(--gold-soft); } .lvl.high{ color:#c98a6a; }

/* divider note */
.note{ font-size:13.5px; color:var(--on-ink-faint); border-left:2px solid var(--ink-3); padding-left:18px; max-width:64ch; line-height:1.6; margin-top:24px; }
.section--paper .note{ color:var(--on-paper-faint); border-color:var(--paper-line); }

/* footer */
.foot{ background:var(--ink); border-top:1px solid var(--ink-3); padding-block:clamp(60px,8vw,96px); }
.foot .grid{ display:grid; grid-template-columns:2fr 1fr 1fr; gap:48px; }
.foot h3{ font-family:var(--serif); font-weight:500; font-size:clamp(1.8rem,4vw,2.8rem); line-height:1.05; max-width:20ch; }
.foot .col h5{ font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); margin-bottom:16px; font-weight:600; }
.foot .col p{ font-size:14px; color:var(--on-ink-dim); line-height:1.7; word-wrap:break-word; overflow-wrap:anywhere; }
.foot-bottom{ margin-top:64px; padding-top:26px; border-top:1px solid var(--ink-3); display:flex; flex-wrap:wrap; justify-content:space-between; gap:14px; font-size:12px; color:var(--on-ink-faint); letter-spacing:.04em; }

/* ---------- Reveal ---------- */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity .9s cubic-bezier(.16,1,.3,1), transform .9s cubic-bezier(.16,1,.3,1); }
.reveal.in{ opacity:1; transform:none; }
.reveal.d1{ transition-delay:.08s; } .reveal.d2{ transition-delay:.16s; } .reveal.d3{ transition-delay:.24s; } .reveal.d4{ transition-delay:.32s; }
/* Hero: visible siempre (no depende de JS); sólo anima el desplazamiento */
@keyframes riseY{ from{ transform:translateY(22px); } to{ transform:none; } }
.hero .reveal{ opacity:1; transform:none; transition:none; animation:riseY .9s cubic-bezier(.16,1,.3,1) both; }
.hero .reveal.d1{ animation-delay:.1s; } .hero .reveal.d2{ animation-delay:.2s; } .hero .reveal.d3{ animation-delay:.3s; }
@media (prefers-reduced-motion:reduce){ .reveal{ opacity:1; transform:none; } .hero .reveal{ animation:none; } *{ scroll-behavior:auto; } }

/* ---------- Responsive ---------- */
@media (max-width:920px){
  .cols-2,.cols-3,.cols-12,.cols-21,.vp,.stats{ grid-template-columns:1fr; }
  .stats{ grid-template-columns:1fr 1fr; }
  .index-grid{ grid-template-columns:1fr; }
  .risk{ grid-template-columns:1fr; }
  .risk .rh{ display:none; }
  .risk > div{ padding:10px 16px; }
  .risk .rname{ padding-top:16px; }
  .nav-cta{ display:none; }
  .hero-mark{ opacity:.1; }
  .foot .grid{ grid-template-columns:1fr 1fr; gap:36px; }
  .foot h3{ grid-column:1 / -1; }
}
@media (max-width:560px){
  body{ font-size:16px; }
  .stats{ grid-template-columns:1fr; }
  .foot .grid{ grid-template-columns:1fr; gap:32px; }
  .norm,.comm-grid{ grid-template-columns:1fr; gap:14px; }
  .deflist .row{ grid-template-columns:1fr; gap:4px; }
  .dt{ font-size:12.5px; }
  .dt th,.dt td{ padding:9px 8px; }
  .dt .num, .dt th.num{ white-space:normal; }
  .hero-meta{ gap:24px 32px; }
  .sec-title{ font-size:clamp(1.7rem,7.4vw,2.2rem); }
  .pull{ padding-left:20px; }
  .pull.center{ padding:26px 0; }
  .bignum{ gap:12px; }
  .chips{ gap:8px; }
  .panorama img{ height:clamp(220px,56vw,360px); }
  .map-card{ padding:18px; }
}
@media (max-width:380px){
  .dt{ font-size:11.5px; }
  .dt th,.dt td{ padding:8px 6px; }
}
