/**
 * Información Comunal — diseño v2 (plantilla informacion-comunal-san-ignacio-v2.html).
 * Se carga solo en page-informacion-comunal.php. Todo va bajo .ic2-page y con
 * prefijo ic2- (main.css ya usa .hero, .tag, .pi). Tamaños en rem recalculados:
 * la plantilla usaba html{font-size:17px} y el sitio deja 16px.
 */

/* main.css deja body{overflow-y:auto}, lo que anula position:sticky en todo el
 * sitio (el header tampoco se pega hoy). Igual que en Beca, SUF y Turismo: solo
 * en esta página se libera el body para que la barra de secciones quede fija y
 * el header se deja estático, así la barra nunca queda bajo el header. */
body:has(.ic2-page){overflow:visible}
body:has(.ic2-page) header{position:relative}
.sanignacio-interior:has(.ic2-page){padding-bottom:0}

/* Base de la plantilla (antes en html/body) */
.ic2-page{font-family:var(--f-body);font-size:1.063rem;line-height:1.65;color:var(--ink);background:var(--paper);overflow-x:clip;margin-top:12px}

.ic2-page{
  --navy-950:#071637; --navy-900:#0B2257; --navy-800:#12306F; --navy-700:#1A4094; --navy-600:#2552B5;
  --navy-100:#DCE5F6; --navy-50:#EEF2FA;
  --yellow:#F4B400; --yellow-600:#DA9F00; --yellow-100:#FCEBB0; --yellow-50:#FFF8E0;
  --green:#2E7D4F; --green-50:#E8F3EC;
  --paper:#F5F7FA; --surface:#FFFFFF; --cream:#FBF8F1;
  --ink:#111A2E; --ink-2:#3A4560; --muted:#5B6680;
  --rule:#DCE2EC; --rule-2:#C3CCDC;
  --f-display:"Montserrat",Arial,sans-serif;
  --f-body:"Open Sans","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --shadow:0 1px 2px rgba(11,34,87,.06),0 10px 30px -12px rgba(11,34,87,.22);
  --r:20px;
  color-scheme:light;
}
.ic2-page,.ic2-page *,.ic2-page *::before,.ic2-page *::after{box-sizing:border-box}
.ic2-page [hidden]{display:none!important}
.ic2-page h1,.ic2-page h2,.ic2-page h3,.ic2-page h4{font-family:var(--f-display);margin:0;text-wrap:balance;letter-spacing:-.015em;color:var(--navy-900)}
.ic2-page p{margin:0}
.ic2-page a{color:var(--navy-700);text-underline-offset:3px}
.ic2-page img{display:block;max-width:100%}
.ic2-page figure{margin:0}
.ic2-page :focus-visible{outline:3px solid var(--navy-600);outline-offset:3px;border-radius:4px}
.ic2-page .ic2-wrap{max-width:1180px;margin-inline:auto;padding-inline:24px}
@media(max-width:640px){.ic2-page .ic2-wrap{padding-inline:16px}
}
.ic2-page svg{display:block}
/* Foto con crédito */
.ic2-page .ic2-ph{position:relative;overflow:hidden;background:var(--navy-100)}
.ic2-page .ic2-ph img{width:100%;height:100%;object-fit:cover}
.ic2-page .ic2-cr{position:absolute;right:8px;bottom:8px;max-width:calc(100% - 16px);padding:3px 9px;border-radius:9px;background:rgba(7,22,55,.62);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);color:#fff;font:500 0.701rem/1.35 var(--f-body)}
/* ---------- Hero ---------- */
.ic2-page .ic2-hero{position:relative;min-height:clamp(520px,82vh,760px);display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:var(--navy-900)}
.ic2-page .ic2-hero .ic2-bg{position:absolute;inset:0}
.ic2-page .ic2-hero .ic2-bg img{width:100%;height:100%;object-fit:cover;object-position:center 40%;transform:scale(1.04);animation:ic2-slow 18s ease-out forwards}
@keyframes ic2-slow{to{transform:scale(1)}}
.ic2-page .ic2-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,22,55,.25) 0%,rgba(7,22,55,.15) 35%,rgba(7,22,55,.78) 78%,rgba(7,22,55,.94) 100%),linear-gradient(90deg,rgba(7,22,55,.55) 0%,rgba(7,22,55,0) 60%)}
.ic2-page .ic2-hero-in{position:relative;z-index:2;padding:0 0 130px;max-width:860px}
.ic2-page .ic2-kicker{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;background:var(--yellow);color:var(--navy-900);font:800 0.765rem var(--f-display);letter-spacing:.16em;text-transform:uppercase}
.ic2-page .ic2-hero h1{margin-top:18px;color:#fff;font-weight:900;font-size:clamp(2.656rem,7vw,5.525rem);line-height:.98;letter-spacing:-.025em;text-shadow:0 2px 30px rgba(0,0,0,.25)}
.ic2-page .ic2-hero h1 span{color:var(--yellow)}
.ic2-page .ic2-hero .ic2-lead{margin-top:20px;max-width:56ch;font-size:clamp(1.116rem,1.6vw,1.328rem);color:rgba(255,255,255,.9)}
.ic2-page .ic2-hero .ic2-cr{right:16px;bottom:96px;z-index:3}
@media(max-width:640px){.ic2-page .ic2-hero-in{padding-bottom:150px}
.ic2-page .ic2-hero .ic2-cr{bottom:118px;right:12px}
}
/* Cifras */
.ic2-page .ic2-facts{position:relative;z-index:4;margin-top:-72px}
.ic2-page .ic2-facts-in{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--surface);border-radius:18px;box-shadow:var(--shadow);overflow:hidden;margin:0}
.ic2-page .ic2-fact{padding:22px 24px;display:flex;gap:14px;align-items:flex-start}
.ic2-page .ic2-fact + .ic2-fact{border-left:1px solid var(--rule)}
.ic2-page .ic2-fact .ic2-ic{width:44px;height:44px;flex:none;border-radius:12px;display:grid;place-items:center;background:var(--navy-50);color:var(--navy-700)}
.ic2-page .ic2-fact:nth-child(even) .ic2-ic{background:var(--yellow-100);color:var(--navy-900)}
.ic2-page .ic2-fact .ic2-ic svg{width:22px;height:22px}
.ic2-page .ic2-fact dt{font:700 0.723rem var(--f-display);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.ic2-page .ic2-fact dd{margin:4px 0 0;font:750 1.19rem/1.2 var(--f-display);color:var(--navy-900)}
@media(max-width:900px){.ic2-page .ic2-facts-in{grid-template-columns:1fr 1fr}
.ic2-page .ic2-fact:nth-child(3){border-left:0}
.ic2-page .ic2-fact:nth-child(n+3){border-top:1px solid var(--rule)}
}
@media(max-width:480px){.ic2-page .ic2-fact{padding:16px;gap:10px;flex-direction:column}
.ic2-page .ic2-fact .ic2-ic{width:38px;height:38px}
.ic2-page .ic2-fact dd{font-size:1.063rem}
}
/* ---------- Intro ---------- */
.ic2-page .ic2-intro{padding:88px 0 76px}
.ic2-page .ic2-intro-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:56px;align-items:center}
.ic2-page .ic2-intro .ic2-big{font:500 clamp(1.328rem,2.2vw,1.721rem)/1.45 var(--f-display);color:var(--navy-900);letter-spacing:-.01em}
.ic2-page .ic2-intro .ic2-big strong{font-weight:750;background:linear-gradient(transparent 62%,var(--yellow-100) 62%)}
.ic2-page .ic2-idx-t{font:700 0.807rem var(--f-display);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.ic2-page .ic2-idx{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ic2-page .ic2-idx a{position:relative;display:block;aspect-ratio:4/3.1;border-radius:16px;overflow:hidden;text-decoration:none;color:#fff;box-shadow:var(--shadow);isolation:isolate}
.ic2-page .ic2-idx img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .5s}
.ic2-page .ic2-idx a::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(7,22,55,0) 25%,rgba(7,22,55,.9) 100%)}
.ic2-page .ic2-idx a:hover img{transform:scale(1.06)}
.ic2-page .ic2-idx .ic2-n{position:absolute;top:12px;left:12px;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--yellow);color:var(--navy-900);font:800 1.009rem var(--f-display)}
.ic2-page .ic2-idx .ic2-t{position:absolute;left:14px;right:14px;bottom:12px}
.ic2-page .ic2-idx strong{display:block;font:750 1.063rem/1.2 var(--f-display)}
.ic2-page .ic2-idx span.ic2-d{display:block;font-size:0.85rem;color:rgba(255,255,255,.82);margin-top:2px;line-height:1.35}
@media(max-width:900px){.ic2-page .ic2-intro-grid{grid-template-columns:1fr;gap:34px}
.ic2-page .ic2-intro{padding:72px 0 54px}
}
@media(max-width:420px){.ic2-page .ic2-idx{gap:10px}
.ic2-page .ic2-idx span.ic2-d{display:none}
}
/* ---------- Navegación de secciones ---------- */
.ic2-page .ic2-snav{position:sticky;top:0;z-index:50;background:rgba(245,247,250,.92);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid transparent;transition:border-color .2s,box-shadow .2s}
.ic2-page .ic2-snav.ic2-stuck{border-bottom-color:var(--rule);box-shadow:0 6px 20px -16px rgba(11,34,87,.4)}
.ic2-page .ic2-snav ul{list-style:none;margin:0;padding:12px 0;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}
.ic2-page .ic2-snav ul::-webkit-scrollbar{display:none}
.ic2-page .ic2-snav a{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;padding:8px 14px 8px 8px;border-radius:999px;border:1px solid var(--rule);background:var(--surface);text-decoration:none;font:650 0.956rem var(--f-display);color:var(--ink-2);transition:background-color .2s,color .2s,border-color .2s}
.ic2-page .ic2-snav a b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--navy-50);color:var(--navy-700);font-size:0.797rem}
.ic2-page .ic2-snav a:hover{border-color:var(--navy-600);color:var(--navy-900)}
.ic2-page .ic2-snav a.ic2-on{background:var(--navy-900);border-color:var(--navy-900);color:#fff}
.ic2-page .ic2-snav a.ic2-on b{background:var(--yellow);color:var(--navy-900)}
/* ---------- Secciones ---------- */
.ic2-page .ic2-sec{padding:88px 0;scroll-margin-top:64px}
.ic2-page .ic2-sec.ic2-alt{background:var(--cream)}
.ic2-page .ic2-eyebrow{display:flex;align-items:center;gap:12px;font:700 0.807rem var(--f-display);letter-spacing:.16em;text-transform:uppercase;color:var(--navy-600)}
.ic2-page .ic2-eyebrow .ic2-n{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--yellow);color:var(--navy-900);font-size:0.956rem;letter-spacing:0}
.ic2-page .ic2-sec h2{margin-top:14px;font-size:clamp(1.913rem,3.6vw,2.922rem);line-height:1.08;font-weight:800}
.ic2-page .ic2-sec .ic2-sub{margin-top:14px;max-width:62ch;font-size:1.19rem;color:var(--ink-2)}
@media(max-width:640px){.ic2-page .ic2-sec{padding:62px 0}
}
/* 1. Ubicación */
.ic2-page .ic2-geo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start;margin-top:36px}
.ic2-page .ic2-geo p{font-size:1.126rem;color:var(--ink-2)}
.ic2-page .ic2-geo p + p{margin-top:16px}
.ic2-page .ic2-geo strong{color:var(--navy-900)}
.ic2-page .ic2-limits{margin-top:26px}
.ic2-page .ic2-limits h3{font:700 0.807rem var(--f-display);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.ic2-page .ic2-chips{display:flex;flex-wrap:wrap;gap:8px}
.ic2-page .ic2-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:var(--surface);border:1px solid var(--rule);font:650 0.978rem var(--f-display);color:var(--navy-900)}
.ic2-page .ic2-chip::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--yellow)}
.ic2-page .ic2-mapcard{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}
.ic2-page .ic2-mapcard .ic2-map-svg{width:100%;height:100%}
.ic2-page .ic2-mapcap{display:flex;justify-content:space-between;gap:12px;padding:14px 20px;border-top:1px solid var(--rule);font-size:0.914rem;color:var(--muted)}
.ic2-page .ic2-mapcap b{color:var(--navy-900);font-family:var(--f-display)}
@media(max-width:860px){.ic2-page .ic2-geo{grid-template-columns:1fr;gap:30px}
}
.ic2-page .ic2-land-t{margin-top:56px;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 20px}
.ic2-page .ic2-land-t h3{font-size:1.381rem;font-weight:800}
.ic2-page .ic2-land-t p{color:var(--muted);font-size:1.009rem}
.ic2-page .ic2-land{margin-top:18px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ic2-page .ic2-land figure{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:3/4;box-shadow:var(--shadow);isolation:isolate}
.ic2-page .ic2-land img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.ic2-page .ic2-land figure::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(7,22,55,.7) 0%,rgba(7,22,55,0) 38%)}
.ic2-page .ic2-land .ic2-step{position:absolute;top:14px;left:14px;right:14px;color:#fff}
.ic2-page .ic2-land .ic2-step b{display:block;font:800 1.116rem/1.15 var(--f-display)}
.ic2-page .ic2-land .ic2-step span{display:block;font-size:0.85rem;opacity:.85}
.ic2-page .ic2-land .ic2-cr{font-size:0.637rem}
@media(max-width:860px){.ic2-page .ic2-land{grid-template-columns:1fr 1fr}
.ic2-page .ic2-land figure{aspect-ratio:4/3.6}
}
/* 2. Economía */
.ic2-page .ic2-eco{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;margin-top:38px;align-items:stretch}
.ic2-page .ic2-eco-photo{border-radius:var(--r);min-height:420px;box-shadow:var(--shadow)}
.ic2-page .ic2-eco-photo .ic2-lbl{position:absolute;left:18px;top:18px;padding:6px 12px;border-radius:999px;background:var(--yellow);color:var(--navy-900);font:800 0.765rem var(--f-display);letter-spacing:.12em;text-transform:uppercase}
.ic2-page .ic2-eco-list{display:grid;gap:14px;align-content:center}
.ic2-page .ic2-erow{position:relative;display:grid;grid-template-columns:56px minmax(0,1fr);gap:16px;padding:20px 22px;background:var(--surface);border:1px solid var(--rule);border-radius:18px}
.ic2-page .ic2-erow .ic2-ei{width:56px;height:56px;border-radius:14px;display:grid;place-items:center}
.ic2-page .ic2-erow .ic2-ei svg{width:28px;height:28px}
.ic2-page .ic2-erow:nth-child(1) .ic2-ei{background:var(--yellow-100);color:var(--navy-900)}
.ic2-page .ic2-erow:nth-child(2) .ic2-ei{background:var(--navy-50);color:var(--navy-700)}
.ic2-page .ic2-erow:nth-child(3) .ic2-ei{background:var(--green-50);color:var(--green)}
.ic2-page .ic2-erow h3{font-size:1.275rem;font-weight:750;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.ic2-page .ic2-erow p{color:var(--ink-2);margin-top:4px}
.ic2-page .ic2-badge{padding:3px 9px;border-radius:999px;background:var(--navy-900);color:var(--yellow);font:750 0.659rem var(--f-display);letter-spacing:.1em;text-transform:uppercase}
.ic2-page .ic2-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.ic2-page .ic2-tag{padding:4px 10px;border-radius:999px;background:var(--navy-50);font:650 0.85rem var(--f-display);color:var(--navy-700)}
.ic2-page .ic2-eco-note{margin-top:22px;padding:18px 22px;border-left:4px solid var(--yellow);background:var(--surface);border-radius:0 14px 14px 0;color:var(--ink-2);font-size:1.105rem}
.ic2-page .ic2-strip{margin-top:28px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ic2-page .ic2-strip figure{border-radius:14px;aspect-ratio:4/3}
@media(max-width:900px){.ic2-page .ic2-eco{grid-template-columns:1fr}
.ic2-page .ic2-eco-photo{min-height:300px}
.ic2-page .ic2-strip{grid-template-columns:1fr 1fr}
}
/* 3. Identidad */
.ic2-page .ic2-quote{position:relative;margin-top:34px;border-radius:24px;overflow:hidden;min-height:360px;display:flex;align-items:flex-end;color:#fff;isolation:isolate}
.ic2-page .ic2-quote>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%;z-index:-2}
.ic2-page .ic2-quote::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,22,55,.92) 0%,rgba(7,22,55,.7) 45%,rgba(7,22,55,.1) 100%)}
.ic2-page .ic2-quote blockquote{margin:0;padding:44px 44px 48px;max-width:640px;position:relative}
.ic2-page .ic2-quote blockquote::before{content:"“";display:block;font:800 6.375rem/0.6 var(--f-display);color:var(--yellow);margin-bottom:6px}
.ic2-page .ic2-quote blockquote p{font:700 clamp(1.381rem,2.6vw,2.019rem)/1.32 var(--f-display);letter-spacing:-.01em}
.ic2-page .ic2-quote .ic2-cr{z-index:2}
@media(max-width:640px){.ic2-page .ic2-quote{min-height:420px}
.ic2-page .ic2-quote::before{background:linear-gradient(180deg,rgba(7,22,55,.15) 0%,rgba(7,22,55,.92) 65%)}
.ic2-page .ic2-quote blockquote{padding:30px 22px 48px}
}
.ic2-page .ic2-cal{margin-top:30px;background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);padding:24px}
.ic2-page .ic2-cal-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;align-items:baseline;margin-bottom:16px}
.ic2-page .ic2-cal-head h3{font-size:1.169rem;font-weight:750}
.ic2-page .ic2-cal-leg{display:flex;flex-wrap:wrap;gap:14px;font-size:0.914rem;color:var(--muted)}
.ic2-page .ic2-cal-leg span{display:inline-flex;align-items:center;gap:6px}
.ic2-page .ic2-cal-leg i{width:12px;height:12px;border-radius:3px}
.ic2-page .ic2-months{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px}
.ic2-page .ic2-m{position:relative;padding:34px 0 10px;text-align:center;border-radius:10px;background:var(--paper);font:700 0.829rem var(--f-display);color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.ic2-page .ic2-m.ic2-season{background:var(--green-50);color:var(--green)}
.ic2-page .ic2-m.ic2-fest{background:var(--yellow-100);color:var(--navy-900)}
.ic2-page .ic2-pin{position:absolute;top:6px;left:50%;transform:translateX(-50%);width:24px;height:24px;border-radius:50%;display:grid;place-items:center;border:0;cursor:pointer;padding:0}
.ic2-page .ic2-pin svg{width:14px;height:14px}
.ic2-page .ic2-pin.ic2-p-fest{background:var(--navy-900);color:var(--yellow)}
.ic2-page .ic2-pin.ic2-p-rodeo{background:var(--green);color:#fff}
.ic2-page .ic2-pin:hover,.ic2-page .ic2-pin[aria-pressed="true"]{box-shadow:0 0 0 4px var(--yellow-100)}
@media(max-width:640px){.ic2-page .ic2-months{grid-template-columns:repeat(6,minmax(0,1fr))}
.ic2-page .ic2-cal{padding:18px}
}
.ic2-page .ic2-trad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:18px}
.ic2-page .ic2-tcard{position:relative;display:flex;flex-direction:column;border-radius:var(--r);background:var(--surface);border:1.5px solid var(--rule);overflow:hidden;transition:border-color .25s,box-shadow .25s,transform .25s}
.ic2-page .ic2-tcard.ic2-hl{border-color:var(--navy-700);box-shadow:var(--shadow);transform:translateY(-3px)}
.ic2-page .ic2-tcard .ic2-ph{aspect-ratio:16/10}
.ic2-page .ic2-tcard .ic2-ti{position:absolute;left:18px;top:18px;width:46px;height:46px;border-radius:13px;display:grid;place-items:center;z-index:2;box-shadow:0 6px 16px -6px rgba(0,0,0,.4)}
.ic2-page .ic2-tcard .ic2-ti svg{width:24px;height:24px}
.ic2-page .ic2-tcard:nth-child(1) .ic2-ti{background:var(--navy-900);color:var(--yellow)}
.ic2-page .ic2-tcard:nth-child(2) .ic2-ti{background:var(--green);color:#fff}
.ic2-page .ic2-tcard:nth-child(3) .ic2-ti{background:var(--yellow);color:var(--navy-900)}
.ic2-page .ic2-tcard .ic2-tb{padding:20px 22px 24px}
.ic2-page .ic2-tcard .ic2-when{font:700 0.765rem var(--f-display);letter-spacing:.14em;text-transform:uppercase;color:var(--navy-600)}
.ic2-page .ic2-tcard h3{font-size:1.328rem;font-weight:750;margin:4px 0 10px}
.ic2-page .ic2-tcard p{color:var(--ink-2)}
.ic2-page .ic2-dishes{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.ic2-page .ic2-dish{padding:5px 11px;border-radius:999px;background:var(--yellow-50);border:1px solid var(--yellow-100);font:650 0.871rem var(--f-display);color:var(--navy-900)}
@media(max-width:900px){.ic2-page .ic2-trad{grid-template-columns:1fr}
.ic2-page .ic2-tcard{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.ic2-page .ic2-tcard .ic2-ph{aspect-ratio:auto;min-height:220px}
}
@media(max-width:560px){.ic2-page .ic2-tcard{display:flex}
.ic2-page .ic2-tcard .ic2-ph{aspect-ratio:16/10;min-height:0}
}
/* 4. Localidades */
.ic2-page .ic2-places{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:22px;margin-top:38px;align-items:stretch}
.ic2-page .ic2-plist{list-style:none;margin:0;padding:0;display:grid;gap:10px;align-content:start}
.ic2-page .ic2-pbtn{width:100%;display:grid;grid-template-columns:64px minmax(0,1fr) 18px;gap:14px;align-items:center;padding:10px 14px 10px 10px;border-radius:16px;border:1.5px solid var(--rule);background:var(--surface);text-align:left;cursor:pointer;font:inherit;color:var(--ink);transition:border-color .2s,background-color .2s}
.ic2-page .ic2-pbtn .ic2-pi{width:64px;height:64px;border-radius:12px;overflow:hidden;display:grid;place-items:center;background:var(--navy-50);color:var(--navy-700)}
.ic2-page .ic2-pbtn .ic2-pi img{width:100%;height:100%;object-fit:cover}
.ic2-page .ic2-pbtn .ic2-pi svg{width:26px;height:26px}
.ic2-page .ic2-pbtn strong{display:block;font:700 1.116rem/1.2 var(--f-display);color:var(--navy-900)}
.ic2-page .ic2-pbtn span.ic2-d{display:block;font-size:0.914rem;color:var(--muted);margin-top:2px}
.ic2-page .ic2-pbtn .ic2-ar{width:18px;height:18px;color:var(--rule-2);transition:transform .2s,color .2s}
.ic2-page .ic2-pbtn:hover{border-color:var(--navy-600)}
.ic2-page .ic2-pbtn[aria-selected="true"]{background:var(--navy-900);border-color:var(--navy-900)}
.ic2-page .ic2-pbtn[aria-selected="true"] strong{color:#fff}
.ic2-page .ic2-pbtn[aria-selected="true"] span.ic2-d{color:rgba(255,255,255,.72)}
.ic2-page .ic2-pbtn[aria-selected="true"] .ic2-pi{box-shadow:0 0 0 3px var(--yellow)}
.ic2-page .ic2-pbtn[aria-selected="true"] .ic2-ar{color:var(--yellow);transform:translateX(3px)}
.ic2-page .ic2-pview{border-radius:22px;overflow:hidden;background:var(--surface);border:1px solid var(--rule);box-shadow:var(--shadow);display:flex;flex-direction:column}
.ic2-page .ic2-pview .ic2-scene{position:relative;aspect-ratio:16/9;background:#CFE0F5}
.ic2-page .ic2-pview .ic2-scene img,.ic2-page .ic2-pview .ic2-scene svg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ic2-page .ic2-pview .ic2-pbody{padding:24px 26px 28px}
.ic2-page .ic2-pview .ic2-k{font:700 0.765rem var(--f-display);letter-spacing:.14em;text-transform:uppercase;color:var(--navy-600)}
.ic2-page .ic2-pview h3{font-size:1.7rem;font-weight:800;margin:4px 0 10px}
.ic2-page .ic2-pview p{font-size:1.116rem;color:var(--ink-2)}
.ic2-page .ic2-pview .ic2-more{display:inline-flex;align-items:center;gap:8px;margin-top:16px;padding:10px 16px;border-radius:999px;background:var(--navy-900);color:#fff;text-decoration:none;font:700 0.956rem var(--f-display)}
.ic2-page .ic2-pview .ic2-more svg{width:16px;height:16px;color:var(--yellow)}
.ic2-page .ic2-pview .ic2-more:hover{background:var(--navy-700)}
.ic2-page .ic2-fade{animation:ic2-fade .45s ease}
@keyframes ic2-fade{from{opacity:0;transform:translateY(6px)}}
@media(max-width:900px){.ic2-page .ic2-places{grid-template-columns:1fr}
.ic2-page .ic2-plist{grid-template-columns:1fr 1fr}
.ic2-page .ic2-pbtn{grid-template-columns:48px minmax(0,1fr);padding:8px}
.ic2-page .ic2-pbtn .ic2-pi{width:48px;height:48px}
.ic2-page .ic2-pbtn .ic2-ar{display:none}
}
@media(max-width:420px){.ic2-page .ic2-pbtn span.ic2-d{display:none}
}
/* 5. Galería */
.ic2-page .ic2-gal{margin-top:36px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:190px;gap:12px}
.ic2-page .ic2-gal figure{border-radius:16px;box-shadow:var(--shadow)}
.ic2-page .ic2-gal figure.ic2-w{grid-column:span 2}
.ic2-page .ic2-gal figure.ic2-h{grid-row:span 2}
.ic2-page .ic2-gal figcaption.ic2-cap{position:absolute;left:0;right:0;bottom:0;padding:34px 14px 30px;background:linear-gradient(180deg,rgba(7,22,55,0),rgba(7,22,55,.85));color:#fff;font:650 0.914rem/1.3 var(--f-display);opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s}
.ic2-page .ic2-gal figure:hover figcaption.ic2-cap,.ic2-page .ic2-gal figure:focus-within figcaption.ic2-cap{opacity:1;transform:none}
.ic2-page .ic2-gal .ic2-cr{z-index:2}
.ic2-page .ic2-gal-foot{margin-top:24px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;color:var(--muted);font-size:0.978rem}
.ic2-page .ic2-btn{display:inline-flex;align-items:center;gap:10px;padding:12px 20px;border-radius:999px;background:var(--navy-900);color:#fff;text-decoration:none;font:700 1.009rem var(--f-display);transition:background-color .2s}
.ic2-page .ic2-btn svg{width:18px;height:18px;color:var(--yellow)}
.ic2-page .ic2-btn:hover{background:var(--navy-700)}
.ic2-page .ic2-btn.ic2-y{background:var(--yellow);color:var(--navy-900)}
.ic2-page .ic2-btn.ic2-y svg{color:var(--navy-900)}
.ic2-page .ic2-btn.ic2-y:hover{background:#FFC72C}
@media(max-width:900px){.ic2-page .ic2-gal{grid-template-columns:1fr 1fr;grid-auto-rows:170px}
.ic2-page .ic2-gal figure.ic2-w{grid-column:span 2}
}
@media(hover:none){.ic2-page .ic2-gal figcaption.ic2-cap{opacity:1;transform:none}
}
/* Cierre */
.ic2-page .ic2-close{position:relative;overflow:hidden;color:#fff;padding:120px 0 110px;isolation:isolate}
.ic2-page .ic2-close>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%;z-index:-2}
.ic2-page .ic2-close::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(7,22,55,.82) 0%,rgba(7,22,55,.6) 50%,rgba(7,22,55,.88) 100%)}
.ic2-page .ic2-close-in{max-width:820px;margin-inline:auto;text-align:center}
.ic2-page .ic2-close .ic2-eyebrow{justify-content:center;color:var(--yellow)}
.ic2-page .ic2-close p.ic2-txt{margin-top:18px;font:600 clamp(1.381rem,2.6vw,2.019rem)/1.42 var(--f-display);letter-spacing:-.01em}
.ic2-page .ic2-close p.ic2-txt em{font-style:normal;color:var(--yellow)}
.ic2-page .ic2-close .ic2-ctas{margin-top:34px;display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.ic2-page .ic2-close .ic2-btn{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(6px)}
.ic2-page .ic2-close .ic2-btn.ic2-y{background:var(--yellow);border-color:var(--yellow)}
.ic2-page .ic2-close .ic2-cr{right:16px;bottom:14px}
/* Revelado */
.ic2-page.ic2-js .ic2-rv{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.ic2-page.ic2-js .ic2-rv.ic2-in{opacity:1;transform:none}

/* Integración */
/* main.css aplica nav{display:flex;align-items:center;gap:8px} a todo nav. */
.ic2-page nav{display:block}
/* main.css: header{...} (fondo del tractor, sticky) y section{padding:60px 20px}. */
.ic2-page .ic2-hero{padding:0}
.ic2-page .ic2-ppanel{display:flex;flex-direction:column;flex:1}
.ic2-page .ic2-ppanel:focus-visible{outline-offset:-3px}
.ic2-page .ic2-pulse{transform-box:fill-box;transform-origin:center;animation:ic2-pulse 3s ease-in-out infinite}
@keyframes ic2-pulse{0%,100%{transform:scale(.64)}50%{transform:scale(1.18)}}
.ic2-page .ic2-sec{scroll-margin-top:72px}
.ic2-page .ic2-snav b svg{width:13px;height:13px}
@media(max-width:420px){.ic2-page .ic2-pbtn{grid-template-columns:40px minmax(0,1fr);gap:8px;padding:6px}.ic2-page .ic2-pbtn .ic2-pi{width:40px;height:40px;border-radius:10px}.ic2-page .ic2-pbtn strong{font-size:.98rem}}

/* Mapa interactivo (sección 1). Leaflet se carga aparte, solo en esta página. */
.ic2-page .ic2-map-box{position:relative;aspect-ratio:7/5;background:#F3F6FB}
.ic2-page .ic2-map-box.is-map .ic2-map-svg{display:none}
.ic2-page .ic2-map{position:absolute;inset:0;z-index:0;background:#EEF2F6;font-family:var(--f-body)}
/* OSM estándar es muy colorido: se atenúa para que destaquen la comuna y la ruta. */
.ic2-page .ic2-map .leaflet-tile-pane{filter:saturate(.45) brightness(1.05) contrast(.95)}
@media(max-width:640px){.ic2-page .ic2-map-box.is-map{aspect-ratio:1/1}}
.ic2-page .ic2-map .leaflet-control-attribution{font-size:10px;line-height:1.4}
.ic2-page .ic2-map .leaflet-control-attribution a{color:var(--navy-700)}
.ic2-page .ic2-map .leaflet-bar{border:0;box-shadow:0 2px 10px rgba(11,34,87,.22);border-radius:10px;overflow:hidden}
.ic2-page .ic2-map .leaflet-bar a,.ic2-page .ic2-map-reset button{width:34px;height:34px;line-height:34px;color:var(--navy-900);font:700 18px/34px var(--f-display);background:#fff}
.ic2-page .ic2-map .leaflet-bar a:hover,.ic2-page .ic2-map-reset button:hover{background:var(--navy-50)}
.ic2-page .ic2-map-reset button{display:grid;place-items:center;border:0;padding:0;cursor:pointer}
.ic2-page .ic2-map-reset svg{width:18px;height:18px}
.ic2-page .ic2-map :focus-visible{outline:3px solid var(--navy-600);outline-offset:2px}
.ic2-page .ic2-mk span{display:block;width:100%;height:100%;border-radius:50%}
.ic2-page .ic2-mk--town span{background:var(--navy-900);border:3px solid #fff;box-shadow:0 2px 6px rgba(7,22,55,.4)}
.ic2-page .ic2-mk--main span{background:var(--yellow);border:4px solid var(--navy-900);box-shadow:0 0 0 6px rgba(244,180,0,.32),0 3px 10px rgba(7,22,55,.4)}
.ic2-page .ic2-mk--city span{background:#fff;border:4px solid var(--navy-900);box-shadow:0 2px 6px rgba(7,22,55,.35)}
.ic2-page .ic2-mk--river span{background:#2F7FC1;border:3px solid #fff;box-shadow:0 2px 6px rgba(7,22,55,.4)}
.ic2-page .ic2-mk:focus-visible{border-radius:50%}
.ic2-page .leaflet-tooltip.ic2-map-name,.ic2-page .leaflet-tooltip.ic2-map-lbl{background:none;border:0;box-shadow:none;padding:0;white-space:nowrap;text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 4px #fff,0 0 6px #fff}
.ic2-page .leaflet-tooltip.ic2-map-name::before,.ic2-page .leaflet-tooltip.ic2-map-lbl::before,.ic2-page .leaflet-tooltip.ic2-map-km::before{display:none}
.ic2-page .ic2-map-name{font:800 13px/1.2 var(--f-display);color:var(--navy-900)}
.ic2-page .ic2-map-name.is-main{font-size:15px}
.ic2-page .ic2-map-lbl{font:700 11px/1.2 var(--f-display);letter-spacing:.08em;text-transform:uppercase;color:#6B7590;transition:color .2s}
.ic2-page .ic2-map-lbl.is-on{color:var(--navy-600)}
.ic2-page .leaflet-tooltip.ic2-map-km{background:var(--navy-900);color:var(--yellow);border:0;border-radius:999px;padding:4px 10px;font:800 12px/1.2 var(--f-display);box-shadow:0 2px 8px rgba(7,22,55,.35)}
.ic2-page .ic2-map .leaflet-popup-content-wrapper{border-radius:14px;box-shadow:0 10px 30px -10px rgba(11,34,87,.45)}
.ic2-page .ic2-map .leaflet-popup-content{margin:14px 18px 16px 16px;font:14px/1.5 var(--f-body);color:var(--ink-2)}
.ic2-page .ic2-pop strong{display:block;padding-right:12px;font:800 15px/1.25 var(--f-display);color:var(--navy-900)}
.ic2-page .ic2-pop p{margin:4px 0 0}
.ic2-page .ic2-pop button{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:8px 14px;border:0;border-radius:999px;background:var(--navy-900);color:#fff;font:700 13px var(--f-display);cursor:pointer}
.ic2-page .ic2-pop button:hover{background:var(--navy-700)}
.ic2-page .ic2-pop button svg{width:14px;height:14px;color:var(--yellow)}
.ic2-page .ic2-map-hint{position:absolute;left:0;right:0;bottom:26px;z-index:800;width:max-content;max-width:calc(100% - 24px);margin-inline:auto;padding:6px 12px;border-radius:999px;background:rgba(7,22,55,.85);color:#fff;font:600 12.5px/1.3 var(--f-display);text-align:center;pointer-events:none;opacity:0;transition:opacity .25s}
.ic2-page .ic2-map-hint.is-on{opacity:1}
.ic2-page.ic2-map-ready .ic2-chip[tabindex]{cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
.ic2-page .ic2-chip.ic2-chip-on{background:var(--navy-900);border-color:var(--navy-900);color:#fff}

/* Créditos en celular: en "Del valle a la cordillera", la franja de economía y la
 * galería, a 640 px o menos el crédito va debajo de la foto (texto pequeño, completo)
 * en vez de encima. Cada figure pasa a una grilla de 2 filas: imagen (con su título
 * o pie encima, igual que antes) y crédito. En computador no cambia nada. */
@media(max-width:640px){
  .ic2-page .ic2-land figure,.ic2-page .ic2-strip figure,.ic2-page .ic2-gal figure{display:grid;grid-template-columns:100%;grid-template-rows:auto auto;align-content:start;aspect-ratio:auto;overflow:visible;background:none;border-radius:0;box-shadow:none}
  .ic2-page .ic2-land figure img,.ic2-page .ic2-strip figure img,.ic2-page .ic2-gal figure img{grid-area:1/1;position:relative;inset:auto;z-index:auto;width:100%;border-radius:14px;box-shadow:var(--shadow);background:var(--navy-100)}
  .ic2-page .ic2-land .ic2-cr,.ic2-page .ic2-strip .ic2-cr,.ic2-page .ic2-gal .ic2-cr{grid-area:2/1;position:static;max-width:none;padding:5px 2px 0;border-radius:0;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;color:var(--muted);font-size:0.7rem;line-height:1.35}
  /* Del valle a la cordillera: misma proporción que tenía la casilla; el degradado y el título, solo sobre la foto. */
  .ic2-page .ic2-land figure img{height:auto;aspect-ratio:4/3.6}
  .ic2-page .ic2-land figure::before{inset:0 0 auto 0;aspect-ratio:4/3.6;border-radius:14px;z-index:1}
  .ic2-page .ic2-land .ic2-step{z-index:2}
  /* Franja de economía */
  .ic2-page .ic2-strip figure img{height:auto;aspect-ratio:4/3}
  /* Galería: filas según el contenido; casillas sueltas de 150 px, la doble (2×2) de 300 px y
   * la de 2 filas (campesino) ocupa el alto de sus dos filas menos su crédito. */
  .ic2-page .ic2-gal{grid-auto-rows:auto}
  .ic2-page .ic2-gal figure{align-self:start}
  .ic2-page .ic2-gal figure img{height:150px}
  .ic2-page .ic2-gal figure.ic2-w.ic2-h img{height:300px}
  /* Título de la foto también debajo: foto, título (negrita pequeña) y crédito (gris). */
  .ic2-page .ic2-gal figure{grid-template-rows:auto auto auto}
  .ic2-page .ic2-gal figure.ic2-h:not(.ic2-w){align-self:stretch;grid-template-rows:1fr auto auto}
  /* contain:size: la foto no impone su alto natural (a 480–640 px estiraba sus 2 filas y dejaba un hueco al lado). */
  .ic2-page .ic2-gal figure.ic2-h:not(.ic2-w) img{height:100%;min-height:300px;contain:size}
  .ic2-page .ic2-gal figcaption.ic2-cap{grid-area:2/1;position:static;padding:6px 2px 0;background:none;border-radius:0;color:var(--navy-900);font:700 0.78rem/1.3 var(--f-display);opacity:1;transform:none}
  .ic2-page .ic2-gal .ic2-cr{grid-area:3/1;padding-top:2px}
}

/* Reducir movimiento */
@media (prefers-reduced-motion:reduce){
  html:has(.ic2-page){scroll-behavior:auto}
  .ic2-page *,.ic2-page *::before,.ic2-page *::after{animation:none!important;transition:none!important}
  .ic2-page.ic2-js .ic2-rv{opacity:1;transform:none}
  .ic2-page .ic2-hero .ic2-bg img{transform:none}
}
