/* Gallardía · hoja común de guías. Copia fiel del CSS de /guia/talar-un-arbol-en-panama/ + 3 añadidos al final. */
:root{
  color-scheme:dark;
  --bg:#0C0C0E; --bg-2:#131317; --surface:#16161B; --surface-2:#1C1C22; --elev:#22222A;
  --ink:#F3EFEA; --muted:#ABA59D; --faint:#726D67;
  --line:#2A2A31; --line-soft:#212127;
  --fire-1:#F7B733; --fire-2:#F26419; --fire-3:#D62828;
  --fire:#F26419; --fire-ink:#FBBF5A;
  --ok:#43B581; --ok-bg:#12261D; --warn:#E8A33D; --warn-bg:#2A2113; --bad:#E5484D; --bad-bg:#2A1516; --info:#5B9BD5; --info-bg:#12212E;
  --grad:linear-gradient(96deg,var(--fire-1) 0%,var(--fire-2) 52%,var(--fire-3) 100%);
  --shadow:0 2px 6px rgba(0,0,0,.35),0 16px 40px rgba(0,0,0,.4);
  --radius:12px; --maxprose:68ch;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:"Archivo",system-ui,-apple-system,Segoe UI,sans-serif;
  font-size:16.5px; line-height:1.64; -webkit-font-smoothing:antialiased; scroll-padding-top:82px;
}
h1,h2,h3,h4{font-family:"Big Shoulders Display","Archivo Narrow",sans-serif; line-height:1.02; text-wrap:balance; font-weight:700; letter-spacing:.2px; text-transform:uppercase}
a{color:var(--fire-ink); text-decoration:none}
a:hover{text-decoration:underline}
:focus-visible{outline:2.5px solid var(--fire-1); outline-offset:2px; border-radius:3px}
.src{display:block; font-size:12px; color:var(--faint); font-style:italic; margin-top:6px}
.src a{color:var(--faint); text-decoration:underline}
.src a:hover{color:var(--fire-ink)}

/* Masthead */
.masthead{position:sticky; top:env(safe-area-inset-top,0px); z-index:50; background:rgba(12,12,14,.86); backdrop-filter:blur(10px); border-bottom:1px solid var(--line)}
.masthead:after{content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:var(--grad)}
.mast-inner{max-width:1180px; margin:0 auto; padding:12px 22px; display:flex; align-items:center; gap:16px}
.logo{display:flex; align-items:center; gap:11px; min-width:0}
.logo .mark{width:30px; height:30px; border-radius:8px; background:var(--grad); display:flex; align-items:center; justify-content:center; font-family:"Big Shoulders Display"; font-weight:800; color:#0C0C0E; font-size:20px; flex:none}
.logo b{font-family:"Big Shoulders Display"; font-weight:700; font-size:20px; letter-spacing:.5px; text-transform:uppercase}
.logo span{font-size:10.5px; color:var(--muted); text-transform:uppercase; letter-spacing:.16em; display:block; margin-top:-2px}
.mast-cta{margin-left:auto; display:flex; gap:9px; align-items:center}
.btn{font-family:"Archivo",sans-serif; font-weight:600; font-size:13.5px; padding:9px 16px; border-radius:22px; cursor:pointer; border:1px solid transparent; display:inline-flex; align-items:center; gap:7px; white-space:nowrap; text-decoration:none}
.btn-fire{background:var(--grad); color:#0C0C0E; border:none}
.btn-fire:hover{filter:brightness(1.08); text-decoration:none}
.btn-ghost{background:transparent; color:var(--ink); border:1px solid var(--line)}
.btn-ghost:hover{border-color:var(--fire-2); color:var(--fire-ink); text-decoration:none}
@media (max-width:640px){.mast-cta .btn-ghost{display:none}}

/* Layout */
.wrap{max-width:1180px; margin:0 auto; padding:0 22px; display:grid; grid-template-columns:250px minmax(0,1fr); gap:40px; align-items:start}
nav.toc{position:sticky; top:78px; max-height:calc(100vh - 96px); overflow-y:auto; padding:20px 0 40px; font-size:13.5px}
nav.toc .eyebrow{font-size:10px; text-transform:uppercase; letter-spacing:.18em; color:var(--faint); margin:0 0 10px; font-weight:700}
nav.toc ol{list-style:none; margin:0; padding:0; counter-reset:s}
nav.toc a{display:flex; gap:10px; color:var(--muted); padding:6px 10px; border-radius:8px; border-left:2px solid transparent; line-height:1.3}
nav.toc a:hover{background:var(--surface); color:var(--ink); text-decoration:none}
nav.toc a.active{color:var(--fire-ink); border-left-color:var(--fire-2); background:var(--surface)}
nav.toc a:before{counter-increment:s; content:counter(s,decimal-leading-zero); font-family:"Big Shoulders Display"; font-weight:600; color:var(--faint); font-size:12px; min-width:20px}
nav.toc a.active:before{color:var(--fire-2)}
main{padding:26px 0 100px; min-width:0}

/* Hero */
.hero{position:relative; border-radius:18px; overflow:hidden; border:1px solid var(--line); background:radial-gradient(120% 140% at 85% 0%,rgba(242,100,25,.16),transparent 55%),var(--bg-2); padding:44px 38px 38px; margin-bottom:22px}
.hero:before{content:""; position:absolute; left:0; top:0; bottom:0; width:5px; background:var(--grad)}
.hero .ey{display:inline-block; font-size:11.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--fire-ink); font-weight:700; border:1px solid rgba(242,100,25,.4); border-radius:20px; padding:4px 12px; margin-bottom:16px}
.hero h1{font-size:clamp(34px,6vw,62px); margin:0 0 14px; line-height:.96}
.hero h1 .g{background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent}
.hero p{max-width:60ch; color:var(--muted); font-size:16.5px; margin:0}
.hero .row{display:flex; flex-wrap:wrap; gap:10px; margin-top:22px}
.hero .chip{font-size:12.5px; color:var(--ink); background:var(--surface); border:1px solid var(--line); border-radius:20px; padding:6px 13px}
.hero .chip b{color:var(--fire-ink)}

/* Callouts */
.callout{border-radius:var(--radius); padding:16px 18px; margin:18px 0; border:1px solid var(--line); background:var(--surface)}
.callout h4{margin:0 0 6px; font-size:16px; letter-spacing:.3px; display:flex; gap:8px; align-items:center}
.callout p{margin:0 0 6px; font-size:14.5px; color:var(--muted); max-width:none}
.callout p:last-child{margin-bottom:0}
.callout.crit{border-color:rgba(229,72,77,.4); background:var(--bad-bg)} .callout.crit h4{color:var(--bad)}
.callout.warn{border-color:rgba(232,163,61,.4); background:var(--warn-bg)} .callout.warn h4{color:var(--warn)}
.callout.ok{border-color:rgba(67,181,129,.4); background:var(--ok-bg)} .callout.ok h4{color:var(--ok)}
.callout.info{border-color:rgba(91,155,213,.35); background:var(--info-bg)} .callout.info h4{color:var(--info)}

/* Sections */
section.doc{scroll-margin-top:80px; padding:34px 0; border-top:1px solid var(--line-soft)}
.sec-head{display:flex; align-items:center; gap:14px; margin-bottom:8px}
.sec-head .n{font-family:"Big Shoulders Display"; font-weight:700; font-size:30px; background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; line-height:1}
.sec-head h2{font-size:clamp(24px,3.4vw,34px); margin:0}
.lead{color:var(--muted); font-size:15.5px; margin:0 0 18px; max-width:var(--maxprose)}
section.doc p{max-width:var(--maxprose)}
section.doc h3{font-family:"Big Shoulders Display"; font-weight:600; font-size:21px; letter-spacing:.4px; margin:24px 0 8px; color:var(--fire-ink)}
section.doc ul,section.doc ol{max-width:var(--maxprose); padding-left:20px}
section.doc li{margin:6px 0}
b,strong{color:var(--ink); font-weight:700}

/* Tables */
.twrap{overflow-x:auto; margin:16px 0; border:1px solid var(--line); border-radius:var(--radius)}
table{border-collapse:collapse; width:100%; font-size:13.6px; min-width:600px}
thead th{background:var(--elev); color:var(--fire-ink); text-align:left; padding:11px 13px; font-family:"Big Shoulders Display"; font-weight:600; font-size:13px; letter-spacing:.06em; text-transform:uppercase}
tbody td{padding:11px 13px; border-top:1px solid var(--line-soft); vertical-align:top}
tbody tr:nth-child(even){background:var(--surface)}
caption{caption-side:bottom; text-align:left; font-size:11.5px; color:var(--faint); font-style:italic; padding:9px 4px}

/* Badges */
.badge{display:inline-flex; align-items:center; gap:5px; font-size:10.5px; font-weight:700; padding:2px 9px; border-radius:16px; text-transform:uppercase; letter-spacing:.05em; white-space:nowrap}
.b-ok{background:var(--ok-bg); color:var(--ok)} .b-warn{background:var(--warn-bg); color:var(--warn)}
.b-bad{background:var(--bad-bg); color:var(--bad)} .b-info{background:var(--info-bg); color:var(--info)}
.badge .d{width:6px; height:6px; border-radius:50%; background:currentColor}

/* Cards */
.grid{display:grid; gap:15px; margin:18px 0}
.g2{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.card{background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:17px 18px}
.card .lbl{font-family:"Big Shoulders Display"; font-weight:600; letter-spacing:.06em; text-transform:uppercase; font-size:12.5px; color:var(--fire-ink); margin-bottom:8px}
.card h4{margin:0 0 7px; font-size:17px; letter-spacing:.3px}
.card p{margin:0; font-size:13.7px; color:var(--muted); max-width:none}
.stat{font-family:"Big Shoulders Display"; font-weight:700; font-size:32px; color:var(--ink); line-height:1}
.stat.fire{background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent}

/* Gallardia integrated box */
.gbox{position:relative; border-radius:16px; overflow:hidden; border:1px solid rgba(242,100,25,.35); background:radial-gradient(130% 130% at 100% 0%,rgba(242,100,25,.14),transparent 60%),var(--bg-2); padding:24px 26px; margin:22px 0}
.gbox:before{content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background:var(--grad)}
.gbox .tag{font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--fire-ink); font-weight:700}
.gbox h3{font-family:"Big Shoulders Display"; font-weight:700; font-size:24px; margin:6px 0 8px; letter-spacing:.4px; color:var(--ink)}
.gbox p{color:var(--muted); font-size:14.5px; margin:0 0 14px; max-width:62ch}
.gbox .acts{display:flex; flex-wrap:wrap; gap:10px}

/* Checklist */
.checkcol{background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:16px 18px}
.checkcol ul{list-style:none; margin:0; padding:0}
.checkcol li{display:flex; gap:10px; padding:6px 0; font-size:14px; align-items:flex-start}
.checkcol li:before{content:"✓"; color:var(--fire-2); font-weight:800}

/* FAQ */
details.faq{border:1px solid var(--line); border-radius:10px; margin:10px 0; background:var(--surface); overflow:hidden}
details.faq summary{padding:14px 16px; cursor:pointer; font-weight:600; font-size:15px; list-style:none; display:flex; justify-content:space-between; gap:12px; align-items:center}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary:after{content:"+"; color:var(--fire-2); font-size:20px; font-family:"Big Shoulders Display"}
details.faq[open] summary:after{content:"–"}
details.faq .a{padding:0 16px 15px; color:var(--muted); font-size:14.3px}
details.faq .a .src{margin-top:8px}

/* Refs */
.refs .r{padding:11px 0 11px 32px; border-top:1px solid var(--line-soft); position:relative; max-width:none; color:var(--muted); font-size:13px; counter-increment:rr}
.refs{counter-reset:rr}
.refs .r:before{content:counter(rr); position:absolute; left:0; top:11px; font-family:"Big Shoulders Display"; font-weight:600; font-size:12px; color:#0C0C0E; background:var(--fire-2); border-radius:5px; width:22px; height:20px; display:flex; align-items:center; justify-content:center}
.refs .r b{color:var(--ink)}
.refs .r a{word-break:break-word; font-size:12.4px}

.disc{font-size:12.5px; color:var(--faint); border-top:1px solid var(--line); margin-top:34px; padding-top:16px; max-width:var(--maxprose)}
.note{display:inline-block; font-size:11px; color:var(--warn); border:1px solid var(--warn); border-radius:4px; padding:0 5px; font-weight:600}

/* Footer */
footer.site{border-top:1px solid var(--line); margin-top:30px; background:var(--bg-2)}
.foot-inner{max-width:1180px; margin:0 auto; padding:34px 22px; display:grid; grid-template-columns:1.4fr 1fr; gap:30px}
.foot-inner h4{font-family:"Big Shoulders Display"; font-size:22px; margin:0 0 8px; letter-spacing:.4px}
.foot-inner p{color:var(--muted); font-size:13.5px; max-width:46ch; margin:0 0 14px}
.foot-links{display:flex; flex-direction:column; gap:8px; font-size:14px}
.foot-links a{color:var(--ink)}
.foot-legal{max-width:1180px; margin:0 auto; padding:0 22px 30px; font-size:11.5px; color:var(--faint)}
@media (max-width:860px){.foot-inner{grid-template-columns:1fr}}

@media (max-width:900px){
  .wrap{grid-template-columns:1fr; gap:0}
  nav.toc{position:static; max-height:none; border-bottom:1px solid var(--line); margin-bottom:6px; display:none}
  nav.toc.open{display:block}
  #navtoggle{display:inline-flex!important}
}
#navtoggle{display:none}

.bc-guia{max-width:1180px;margin:0 auto;padding:14px 22px 0;font-size:13px;color:var(--faint)}
.bc-guia a{color:var(--muted)} .bc-guia a:hover{color:var(--fire-ink)}
.eco{border-top:1px solid var(--line);margin-top:36px;padding-top:26px}
.eco h3{font-size:22px;margin:0 0 6px}
.eco p.i{color:var(--muted);margin:0 0 16px;font-size:14.5px}
.eco .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px}
.eco .lbl{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-bottom:8px}
.eco ul{list-style:none;margin:0;padding:0}
.eco li{margin:0 0 7px;font-size:14.5px;line-height:1.45}
.lang-guia{margin-left:10px;display:inline-flex;gap:2px;border:1px solid var(--line);border-radius:20px;overflow:hidden;flex:none}
.lang-guia a{padding:6px 11px;font-size:12px;font-weight:600;color:var(--muted)}
.lang-guia a.on{background:var(--grad);color:#0C0C0E}
.lang-guia a:hover{text-decoration:none;color:var(--ink)}
.lang-guia a.on:hover{color:#0C0C0E}

/* Teléfono: cabecera en dos filas y rellenos recortados (igual que la guía de tala). */
@media (max-width:720px){
  .mast-inner{flex-wrap:wrap;gap:10px;padding:10px 16px}
  .logo .mark{width:26px;height:26px;font-size:17px}
  .logo b{font-size:17px}
  .logo span span{display:none}
  .mast-cta{margin-left:auto;gap:8px;flex-wrap:wrap}
  .mast-cta .btn{padding:8px 12px;font-size:12.5px}
  .mast-cta .btn-fire{order:3;flex:1 0 100%;justify-content:center}
  .lang-guia{margin-left:0}
  .lang-guia a{padding:5px 9px;font-size:11px}
  .wrap{padding:0 16px}
  .bc-guia{padding:12px 16px 0;font-size:12px}
  main{padding:18px 0 70px}
  .hero{padding:26px 18px 24px;border-radius:14px}
  .hero h1{font-size:clamp(27px,8vw,42px)}
  .hero p{font-size:15.5px}
  .hero .ey{font-size:10.5px;letter-spacing:.12em;margin-bottom:13px}
  .hero .row{gap:8px;margin-top:18px}
  section.doc{padding:26px 0}
  .sec-head{gap:10px}
  .sec-head .n{font-size:24px}
  .sec-head h2{min-width:0}
  .callout{padding:14px 15px}
  .card{padding:15px}
  .checkcol{padding:14px 15px}
  .gbox{padding:20px 16px;border-radius:12px}
  .gbox .acts{gap:8px}
  .gbox .acts .btn{flex:1 0 100%;justify-content:center}
  details.faq summary{padding:13px 14px;font-size:14.5px}
  details.faq .a{padding:0 14px 14px}
  .refs .r{padding-left:28px}
  .eco .cols{gap:18px}
  .foot-inner{padding:26px 16px;gap:22px}
  .foot-legal{padding:0 16px 26px}
}

/* ── Añadidos para las investigaciones (no existen en la guía de tala) ── */
.src a.rn{font-style:normal;font-weight:700;color:var(--fire-ink);text-decoration:none}
.refs .r{scroll-margin-top:90px}
.refs .r:target{background:var(--surface)}
.flow{list-style:none;padding:0!important;counter-reset:f}
.flow li{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:13px 16px 13px 50px!important;margin:0 0 10px!important;counter-increment:f}
.flow li:before{content:counter(f);position:absolute;left:14px;top:13px;width:24px;height:24px;border-radius:6px;background:var(--grad);color:#0C0C0E;font-family:"Big Shoulders Display";font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center}

