
/* ===== Quiénes somos · page prefix so- ===== */
main section[id]{scroll-margin-top:calc(var(--hd,73px) + 66px)}
.nb{white-space:nowrap}

/* hero: the lead, three pills, the office photo and the four figures of the network */
.so-ph .ph-lead{max-width:44ch}
.so-ph .ph-in{padding-bottom:clamp(26px,3vw,44px)}
.so-nums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 clamp(16px,2vw,32px);margin:0;padding:0;list-style:none;border-top:1px solid var(--hair)}
.so-nums li{display:grid;gap:8px;align-content:start;padding:clamp(18px,2vw,26px) 0 0}
.so-nums b{display:block;font-size:clamp(34px,3.6vw,56px);font-weight:300;line-height:.95;letter-spacing:-.045em;color:#fff;font-variant-numeric:tabular-nums}
.so-nums span{font-size:14.5px;line-height:1.35;color:var(--bone-84)}
.so-src{padding-bottom:clamp(44px,5.2vw,84px)}

/* tres cosas: a photo card per activity; the whole card is the link */
.so-do{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}
.so-do > li{display:flex;min-width:0}
.so-dc{position:relative;display:flex;flex-direction:column;width:100%;border:1px solid var(--line);border-radius:var(--r);background:#fff;color:var(--ink);text-decoration:none;overflow:hidden;transition:border-color .25s,transform .35s var(--ease),box-shadow .35s}
.so-dc:hover,.so-dc:focus-visible{border-color:var(--ink);transform:translateY(-4px);box-shadow:0 24px 54px rgba(7,16,28,.12)}
.so-dc-ph{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--mist)}
.so-dc-ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.so-dc:hover .so-dc-ph img{transform:scale(1.04)}
.so-dc-ph span{position:absolute;left:14px;bottom:12px;display:inline-flex;align-items:center;gap:8px;max-width:calc(100% - 28px);padding:6px 12px;border:1px solid rgba(245,241,234,.2);border-radius:999px;background:rgba(9,16,27,.62);font-size:12px;font-weight:500;line-height:1.25;color:#fff;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.so-dc-ph span small{font-size:inherit;color:var(--bone-66)}
.so-dc-ph span small::before{content:"· "}
.so-dc-b{display:flex;flex-direction:column;gap:12px;flex:1;padding:clamp(20px,2vw,28px)}
.so-dc h3{font-size:clamp(22px,1.8vw,27px);font-weight:500;line-height:1.1;letter-spacing:-.025em;color:inherit}
.so-dc p{font-size:15.5px;line-height:1.5;color:var(--body)}
.so-dc-go{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:16px;border-top:1px solid var(--line);font-size:15px;font-weight:600}
.so-dc-go i{display:grid;place-items:center;flex:none;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;transition:background .25s,border-color .25s,color .25s,transform .4s var(--ease)}
.so-dc-go svg{width:15px;height:15px}
.so-dc:hover .so-dc-go i,.so-dc:focus-visible .so-dc-go i{background:var(--ink);border-color:var(--ink);color:#fff;transform:rotate(45deg)}

/* quién nos respalda: four blocks on ink; the first one holds the brand and the certification body */
.so-bk{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none}
.so-bk > li{display:flex;min-width:0}
.so-bk > li.so-bk--gc{grid-column:1/-1}
.so-b{display:flex;flex-direction:column;gap:12px;width:100%;padding:clamp(20px,2.2vw,30px);border:1px solid var(--hair);border-radius:var(--r);background:linear-gradient(180deg,rgba(245,241,234,.055),rgba(245,241,234,.02));transition:border-color .25s}
.so-b:hover{border-color:rgba(245,241,234,.34)}
.so-b-lg{display:grid;place-items:center;flex:none;width:clamp(120px,10vw,150px);height:clamp(60px,5vw,76px);margin-bottom:6px;padding:10px 16px;border-radius:16px;background:#fff}
.so-b-lg img{max-width:100%;max-height:100%;width:auto;height:auto}
.so-b h3{font-size:clamp(20px,1.6vw,24px);font-weight:600;line-height:1.2;letter-spacing:-.015em;color:#fff}
.so-b h3 small{display:block;margin-top:5px;font-size:13.5px;font-weight:500;letter-spacing:0;color:var(--bone-66)}
.so-b p{font-size:15px;line-height:1.5;color:var(--bone-84)}
.so-bk--gc .so-b{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);gap:clamp(18px,2.8vw,44px);align-items:start}
.so-bk--gc .so-b-lg{margin:0}
.so-b-r{display:grid;gap:10px}
.so-vl{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;margin-top:14px;padding:16px clamp(18px,2vw,26px);border:1px solid rgba(240,48,59,.35);border-radius:20px;background:rgba(214,0,12,.08)}
.so-vl p{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:500;line-height:1.35;color:#fff}
.so-vl svg{flex:none;width:22px;height:22px;fill:none;stroke:var(--red-lt);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.so-vl .tl{min-height:40px;color:#fff}

/* quien audita no decide: three stops, the line carries the order */
.so-imp .steps{--n:3}
.so-imp .step{padding-right:clamp(22px,3vw,52px)}
.so-imp .step b{font-size:clamp(24px,2.2vw,34px);font-weight:500;line-height:1.05;letter-spacing:-.03em}
.so-imp .step p{max-width:36ch;font-size:16px}
.so-imp .btns{margin-top:clamp(28px,3vw,44px)}

/* quién hace qué: six compact cards */
.so-roles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}
.so-roles > li{display:flex;min-width:0}
.so-role{display:flex;flex-direction:column;gap:10px;width:100%;padding:clamp(18px,1.8vw,24px);border:1px solid var(--line);border-radius:20px;background:#fff}
.so-role h3{font-size:18px;font-weight:600;line-height:1.25;letter-spacing:-.01em;color:var(--ink)}
.so-role p{font-size:15px;line-height:1.5;color:var(--body)}
.so-role .tl{margin-top:auto;min-height:0;padding-top:10px;font-size:14.5px}

/* en fotos: filters, a masonry of archive photos and the lightbox */
.so-fx{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:0;list-style:none}
.so-ft{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 16px;border:1px solid var(--line);border-radius:999px;background:#fff;font:500 14px/1 var(--sans);color:var(--ink);cursor:pointer;white-space:nowrap;transition:background .2s,border-color .2s,color .2s}
.so-ft small{font-size:12px;font-weight:600;color:var(--mute);font-variant-numeric:tabular-nums}
.so-ft:hover{border-color:var(--ink)}
.so-ft[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.so-ft[aria-pressed="true"] small{color:var(--bone-66)}
.so-gal{column-count:4;column-gap:12px;transition:opacity .18s ease,transform .18s ease}
.so-gal.is-sw{opacity:0;transform:translateY(8px)}
.so-gal--js{display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:12px;column-count:auto}
.so-col{display:grid;align-content:start;gap:12px;min-width:0}
.so-g{position:relative;display:block;break-inside:avoid;margin:0 0 12px;border-radius:18px;overflow:hidden;background:var(--mist)}
.so-gal--js .so-g{margin:0}
.so-g-a{display:block;color:inherit}
.so-g-a:focus-visible{outline-offset:-4px}
.so-g img{display:block;width:100%;height:auto;transition:transform 1.1s var(--ease)}
.so-g:hover img{transform:scale(1.04)}
.so-g figcaption{position:absolute;left:0;right:0;bottom:0;padding:44px 14px 12px;background:linear-gradient(rgba(7,16,28,0),rgba(7,16,28,.8));color:#fff;font-size:13.5px;font-weight:600;line-height:1.3;pointer-events:none}
.so-g figcaption small{display:block;margin-top:2px;font-size:11.5px;font-weight:500;color:var(--bone-66)}
.so-gn{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:16px;font-size:13.5px;line-height:1.45;color:var(--mute)}
.so-gn b{font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
.so-lb{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(7,16,28,.94);color:#fff;overflow:hidden}
.so-lb::backdrop{background:rgba(7,16,28,.6)}
.so-lb-in{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:14px;width:100%;height:100%;padding:clamp(14px,2vw,24px) var(--gut) clamp(16px,2.4vw,28px)}
.so-lb-top{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13.5px;font-weight:500;color:var(--bone-66)}
.so-lb-top b{font-weight:600;color:#fff;font-variant-numeric:tabular-nums}
.so-lb-x,.so-lb-p{display:grid;place-items:center;flex:none;width:46px;height:46px;padding:0;border:1px solid rgba(245,241,234,.3);border-radius:50%;background:rgba(245,241,234,.06);color:#fff;cursor:pointer;transition:background .2s,border-color .2s}
.so-lb-x:hover,.so-lb-p:hover{background:rgba(245,241,234,.14);border-color:rgba(245,241,234,.6)}
.so-lb-x svg,.so-lb-p svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.so-lb-f{display:grid;place-items:center;min-height:0;margin:0;overflow:hidden;touch-action:pan-y}
.so-lb-f img{display:block;max-width:100%;max-height:calc(100vh - 176px);width:auto;height:auto;border-radius:16px;box-shadow:0 40px 90px rgba(0,0,0,.5);opacity:0;transition:opacity .3s ease}
@supports(height:100dvh){.so-lb-f img{max-height:calc(100dvh - 176px)}}
.so-lb-f img.in{opacity:1}
.so-lb-bot{display:flex;align-items:center;justify-content:space-between;gap:16px}
.so-lb-cap{display:grid;gap:3px;min-width:0;font-size:15.5px;font-weight:600;line-height:1.3}
.so-lb-cap small{font-size:12.5px;font-weight:500;color:var(--bone-66)}
.so-lb-nav{display:flex;gap:8px;flex:none}
html.so-lock{overflow:hidden}

/* dónde estamos: three places as equal cards, then the channels */
.so-pl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none}
.so-pl > li{display:flex;min-width:0}
.so-p{display:flex;flex-direction:column;gap:10px;width:100%;padding:clamp(22px,2.4vw,32px);border:1px solid var(--hair);border-radius:var(--r);background:linear-gradient(180deg,rgba(245,241,234,.055),rgba(245,241,234,.02))}
.so-p .fl{--fs:40px;margin-bottom:10px}
.so-p h3{font-size:clamp(26px,2.2vw,34px);font-weight:500;line-height:1.05;letter-spacing:-.03em;color:#fff}
.so-p h3 small{display:block;margin-top:7px;font-size:15px;font-weight:500;letter-spacing:0;color:var(--bone-84)}
.so-p p{font-size:15px;line-height:1.5;color:var(--bone-84)}
.so-p-h{display:flex;align-items:center;gap:9px;margin-top:auto;padding-top:14px;border-top:1px solid var(--hair);font-size:13.5px;font-weight:600;color:var(--bone-84)}
.so-p-h svg{flex:none;width:18px;height:18px;fill:none;stroke:var(--red-lt);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.so-ch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0 0;padding:0;list-style:none}
.so-ch > li{display:flex;min-width:0}
.so-c{display:flex;align-items:center;gap:14px;width:100%;min-height:72px;padding:12px 18px;border:1px solid var(--hair);border-radius:18px;background:rgba(245,241,234,.04);color:#fff;text-decoration:none;transition:border-color .2s,background .2s}
a.so-c:hover{border-color:rgba(245,241,234,.5);background:rgba(245,241,234,.08)}
.so-c svg{flex:none;width:22px;height:22px;fill:none;stroke:var(--red-lt);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.so-c span{display:grid;gap:3px;min-width:0}
.so-c small{font-size:12.5px;color:var(--bone-66)}
.so-c b{font-size:15.5px;font-weight:600;line-height:1.3;overflow-wrap:anywhere}
.so-wh .btns{margin-top:clamp(24px,2.6vw,36px)}

/* dirección regional: the heading beside one card with the portrait */
.so-dir-in{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(24px,4vw,72px);align-items:start}
.so-dir-h{display:grid;gap:16px;justify-items:start}
.so-dir{display:grid;grid-template-columns:clamp(150px,16vw,220px) minmax(0,1fr);gap:clamp(22px,3vw,48px);align-items:start;padding:clamp(22px,2.6vw,36px);border:1px solid var(--line);border-radius:var(--r);background:#fff}
.so-dir-ph{margin:0;border-radius:20px;overflow:hidden;background:var(--mist);aspect-ratio:2/3}
.so-dir-ph img{width:100%;height:100%;object-fit:cover}
.so-dir-b{display:grid;gap:16px;justify-items:start;min-width:0}
.so-dir h3{font-size:clamp(26px,2.4vw,36px);font-weight:500;line-height:1.05;letter-spacing:-.03em;color:var(--ink)}
.so-dir h3 small{display:block;margin-top:8px;font-size:15.5px;font-weight:500;letter-spacing:0;line-height:1.35;color:var(--body)}
.so-dir-q{max-width:52ch;font-size:clamp(17px,1.4vw,21px);line-height:1.45;color:var(--text)}
.so-dir-l{display:flex;flex-wrap:wrap;gap:4px 24px}
.so-dir-n{display:flex;gap:10px;max-width:62ch;padding-top:14px;border-top:1px solid var(--line);font-size:14.5px;line-height:1.5;color:var(--mute)}
.so-dir-n svg{flex:none;width:18px;height:18px;margin-top:2px;fill:none;stroke:var(--red);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* transparencia: the published pages as chips */
.so-tr-in{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(24px,4vw,72px);align-items:start}
.so-tr-h{display:grid;gap:16px;justify-items:start}
.so-tr{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.so-chip{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 18px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:14.5px;font-weight:500;line-height:1.2;color:var(--ink);text-decoration:none;transition:border-color .2s}
.so-chip:hover{border-color:var(--ink)}
.so-chip i{font-style:normal;color:var(--mute)}

/* ---------- responsive ---------- */
@media(max-width:1180px){
  .so-gal{column-count:3}
}
@media(max-width:1080px){
  .so-roles{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .so-bk{grid-template-columns:minmax(0,1fr)}
  .so-bk--gc .so-b{grid-template-columns:auto minmax(0,1fr)}
  .so-bk--gc .so-b-r:last-child{grid-column:2}
  .so-tr-in,.so-dir-in{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:820px){
  .so-do{grid-template-columns:minmax(0,1fr);gap:12px}
  .so-dc-ph{aspect-ratio:16/10}
  .so-pl{grid-template-columns:minmax(0,1fr);gap:10px}
  .so-p{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 16px;padding:18px 20px}
  .so-p .fl{--fs:36px;grid-row:1/4;margin:2px 0 0}
  .so-p h3{font-size:26px}
  .so-p p,.so-p-h{grid-column:2}
  .so-p-h{margin-top:4px;padding-top:10px}
  .so-dir{gap:20px}
}
@media(max-width:700px){
  .so-nums{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
  .so-nums li{padding-top:18px}
  .so-nums b{font-size:34px}
  .so-gal{column-count:2;column-gap:8px}
  .so-gal--js{gap:8px}
  .so-col{gap:8px}
  .so-g{margin-bottom:8px}
  .so-g figcaption{padding:30px 10px 9px;font-size:12px}
  .so-g figcaption small{font-size:10.5px}
  .so-ch{grid-template-columns:minmax(0,1fr);gap:8px}
  .so-c{min-height:60px;padding:10px 16px}
}
@media(max-width:600px){
  .so-roles{grid-template-columns:minmax(0,1fr);gap:8px}
  .so-bk--gc .so-b{grid-template-columns:minmax(0,1fr)}
  .so-bk--gc .so-b-r:last-child{grid-column:auto}
  .so-dir{grid-template-columns:minmax(0,1fr);padding:20px}
  .so-dir-ph{width:132px;aspect-ratio:3/4}
  .so-lb-in{gap:10px;padding:12px 16px 14px}
  .so-lb-x,.so-lb-p{width:42px;height:42px}
  .so-lb-cap{font-size:14px}
  .so-lb-f img{max-height:calc(100vh - 150px)}
  @supports(height:100dvh){.so-lb-f img{max-height:calc(100dvh - 150px)}}
}
@media(max-width:460px){
  .so-fx{gap:6px}
  .so-ft{min-height:38px;padding:0 13px;font-size:13.5px}
}
@media(prefers-reduced-motion:reduce){
  .so-gal,.so-gal > *{transition:none!important}
  .so-dc,.so-dc:hover,.so-dc .so-dc-ph img,.so-g img{transition:none!important;transform:none!important}
  .so-lb-f img{transition:none!important}
}


/* presidencia primero, después representación regional */
.so-dir-list{display:grid;gap:16px;min-width:0}
.so-dir--pres{grid-template-columns:clamp(220px,24vw,340px) minmax(0,1fr);border-color:var(--ink)}
.so-dir-ph--w{aspect-ratio:1100/957}
.so-dir-ph--w figcaption{padding:8px 10px;font-size:12px;line-height:1.3;color:var(--mute);background:#fff}
.so-dir-ph--w{display:grid;grid-template-rows:1fr auto;aspect-ratio:auto}
.so-dir-ph--w img{aspect-ratio:1100/957}
@media(max-width:700px){.so-dir--pres{grid-template-columns:minmax(0,1fr)}.so-dir--pres .so-dir-ph{width:100%}}
