:focus-visible{outline:3px solid #087df4;outline-offset:4px}section[id]{scroll-margin-top:100px}.nav-group{position:relative}.nav-group summary{cursor:pointer;white-space:nowrap;min-height:78px;display:flex;align-items:center;gap:6px}.nav-group summary:after{content:'⌄';color:#087df4}.nav-group>div{position:absolute;top:68px;left:-20px;width:255px;display:grid;padding:10px;background:white;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-md);z-index:1010}.nav-group a{padding:10px;border-radius:7px;white-space:normal}.nav-group a:hover{background:var(--surface-soft);color:var(--blue-600)}.norm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:16px}.norm-card{display:flex;flex-direction:column;border:1px solid var(--line);border-top:3px solid var(--blue-600);background:white;padding:25px;border-radius:14px;transition:transform .2s}.norm-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm)}.norm-card>span{font-weight:800;color:var(--blue-600);font-size:.85rem;letter-spacing:.06em}.norm-card h2,.norm-card h3{margin:16px 0;font-size:1.35rem}.norm-card p{color:var(--ink-soft);font-size:.92rem}.norm-card strong{margin-top:auto;color:var(--blue-600);font-size:.85rem}.interior-hero{padding:32px 0 55px;background:linear-gradient(120deg,#001438,#063b84);color:white}.interior-hero h1{font-size:clamp(2rem,4.6vw,3.9rem);max-width:900px;margin:20px 0}.interior-hero>.container>p:last-child{max-width:740px;color:#d1e5ff;font-size:1.14rem}.interior-hero .eyebrow{color:#78d9ff}.breadcrumbs{font-size:.8rem;color:#b4ccea;margin-bottom:30px}.two-col{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);gap:45px;align-items:start}.info-card{background:#fff;padding:30px;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm)}.info-card h2{font-size:1.5rem;line-height:1.2}.info-card p,.prose p,.prose li{color:var(--ink-soft)}.info-card li{margin:10px 0}.prose{max-width:800px}.prose h2{margin-top:30px;font-size:1.7rem}.prose h2:first-child{margin-top:0}.prose p,.prose li{line-height:1.8}.prose a,.small a,.notice a,.consent a{color:var(--blue-600);text-decoration:underline;text-underline-offset:3px}.prose .btn{color:white;text-decoration:none}.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:20px}.notice{margin:24px 0;padding:18px 22px;background:#edf5ff;border-left:3px solid #087df4;border-radius:6px;font-size:.9rem;color:var(--ink-soft)}.small{font-size:.83rem;color:var(--muted);margin-top:20px}.accordion{max-width:900px;margin:0 auto}.accordion details{background:white;border:1px solid var(--line);border-radius:12px;padding:21px 24px;margin-bottom:12px}.accordion summary{font-weight:750;cursor:pointer}.accordion p{margin:15px 0 0;color:var(--ink-soft)}.final-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:60px;border-top:1px solid var(--line);padding-top:35px}.final-cta h2{font-size:1.7rem;margin:0}.lead-form{display:grid;gap:20px;background:white;border:1px solid var(--line);padding:30px;border-radius:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.lead-form label{display:flex;flex-direction:column;gap:7px;font-size:.87rem;font-weight:650}.lead-form input,.lead-form select,.lead-form textarea{width:100%;min-width:0;border:1px solid #b9cce4;background:#fcfdff;border-radius:8px;padding:11px 12px;color:var(--ink);font:inherit}.lead-form textarea{resize:vertical}.lead-form .consent{display:block;font-weight:400}.lead-form .consent input{width:auto;vertical-align:middle;margin-right:6px}.lead-form button{justify-self:start}.lead-form [role=status]{margin:0;font-size:.9rem;white-space:pre-line}.lead-form button:disabled{opacity:.6;cursor:wait}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important}.sitemap{columns:3;line-height:2.2}.sitemap a{color:var(--blue-600)}.chat-response{white-space:pre-line}.chat-handoff{display:block;margin-top:12px;color:var(--blue-600);font-weight:750}.floating-chat{position:fixed;bottom:24px;right:24px;background:#0756b5;color:white;padding:13px 20px;border-radius:40px;box-shadow:var(--shadow-md);font-size:.9rem;z-index:800}.dashboard{max-width:1180px;margin:40px auto;padding:0 20px}.dashboard-controls{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.dashboard-controls input,.dashboard-controls select{padding:10px;border:1px solid var(--line);border-radius:8px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;background:white;font-size:.9rem}td,th{text-align:left;padding:14px;border-bottom:1px solid var(--line);vertical-align:top}th{background:#eaf3ff}.dashboard-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.dashboard-kpis div{padding:20px;border:1px solid var(--line);background:white;border-radius:12px}.dashboard-kpis strong{display:block;font-size:2rem}.status-badge{background:#eaf3ff;padding:4px 8px;border-radius:5px;font-size:.8rem}@media(max-width:1100px){.main-nav{gap:15px;font-size:.8rem}.brand{width:165px}.nav-wrap{gap:15px}}@media(max-width:980px){.nav-group summary{min-height:46px}.nav-group>div{position:static;width:100%;box-shadow:none;background:#f4f8ff}.nav-group{width:100%}.two-col{grid-template-columns:1fr}.norm-grid{grid-template-columns:repeat(2,1fr)}.final-cta{align-items:start;flex-direction:column}.main-nav .portal-btn{margin:10px 0}.nav-group summary{justify-content:space-between}}@media(max-width:540px){.form-grid,.norm-grid{grid-template-columns:1fr}.lead-form,.info-card{padding:20px}.interior-hero{padding-bottom:32px}.sitemap{columns:1}.floating-chat{bottom:16px;right:16px}.dashboard-kpis{grid-template-columns:1fr}.two-col{gap:25px}}
@media(max-width:980px){.stats-panel{display:block}.main-nav{overflow-y:auto;max-height:calc(100dvh - 110px)}}

/* Redes preparadas para sus perfiles oficiales. Tamaño limitado en ambas vistas. */
.site-footer .socials{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;min-width:0;max-width:100%}
.site-footer .social-caption{display:block;font-size:.75rem;font-weight:650;line-height:1.5;white-space:nowrap}
.site-footer .social-caption small{display:block;color:#b6c9e6;font-size:.65rem;font-weight:400}
.site-footer .social-icons{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;max-width:100%}
.site-footer .social-item{display:block;flex:0 0 34px;width:34px;height:34px}
.site-footer .social-link{display:flex;align-items:center;justify-content:center;width:34px;height:34px;overflow:hidden;border:1px solid #ffffff40;border-radius:10px;background:#ffffff0c;color:#e2eeff;cursor:default}
.site-footer .social-link svg{display:block;flex:none;width:18px;height:18px;max-width:18px;max-height:18px;fill:#e2eeff;color:#e2eeff}
.site-footer .social-link:hover{background:#ffffff18;transform:none}
@media(max-width:540px){.site-footer .socials{flex-direction:column;gap:10px}.site-footer .social-caption{text-align:center}.site-footer .social-icons{gap:9px}}
/* Reservar espacio al botón flotante para no cubrir el pie de página. */
.site-footer{padding-bottom:76px}

/* Academia, membresías y CONOCER */
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:28px}
.interior-hero .hero-actions .btn{margin:0}
.hero-actions.dark{margin-top:24px}
.section-alt{background:var(--surface-soft);border-block:1px solid var(--line)}
.page-head{max-width:760px;margin-bottom:34px}
.page-head h2,.access-grid h2,.verify-grid h2,.conocer-intro h2{font-size:clamp(1.8rem,3.2vw,2.6rem);line-height:1.15;text-wrap:balance;margin:0 0 14px}
.page-head p:not(.eyebrow),.lead-text{color:var(--ink-soft);font-size:1.03rem;line-height:1.7}
.tier-head{margin:50px 0 24px}
.tier-head h3{font-size:1.4rem;margin:0 0 8px}
.eyebrow{display:block}
.section .eyebrow,.section-alt .eyebrow{color:var(--blue-600)}

/* Módulo de código */
.access-grid{align-items:center}
.access-card{margin-top:26px;padding:28px;background:#fff;border:1px solid var(--line);border-top:4px solid var(--blue-600);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}
.access-form label{display:block;margin-bottom:9px;font-size:.88rem;font-weight:750}
.access-row{display:flex;gap:12px;flex-wrap:wrap}
.access-row input{flex:1 1 230px;min-width:0;border:1px solid #9fb8d8;background:#fcfdff;border-radius:10px;padding:13px 14px;color:var(--ink);font:600 1.05rem ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;text-transform:uppercase}
.access-row input::placeholder{color:#8da2c2;letter-spacing:.05em}
.access-row button:disabled{opacity:.6;cursor:wait}
.access-help{margin:10px 0 0;font-size:.82rem;color:var(--muted)}
.access-result{margin-top:18px;padding:16px 18px;border-radius:12px;border:1px solid var(--line);font-size:.93rem}
.access-result p{margin:0 0 8px;color:var(--ink-soft)}
.access-result strong{display:block;margin-bottom:4px}
.access-result small{display:block;margin-top:10px;color:var(--muted)}
.access-result .btn{margin-top:6px}
.access-result.success{background:#e8f8f4;border-color:#79d3c3}
.access-result.success strong{color:#0a6f63}
.access-result.error{background:#fff1f0;border-color:#f0a9a3}
.access-result.error p{color:#8f2119}
.access-result.pending{background:#edf5ff;border-color:#b9cce4}
.steps{list-style:none;margin:0;padding:0;counter-reset:step;display:grid;gap:16px}
.steps li{counter-increment:step;position:relative;padding-left:52px;display:grid;gap:2px}
.steps li::before{content:counter(step);position:absolute;left:0;top:0;width:36px;height:36px;border-radius:50%;background:var(--navy-900);color:#fff;display:grid;place-items:center;font-weight:800}
.steps strong{font-size:1rem}
.steps span{color:var(--ink-soft);font-size:.92rem;line-height:1.55}
.section>.container>.steps{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:26px}
.section>.container>.steps li{padding:56px 0 0}

/* Membresías */
.benefit-grid,.tier-grid{display:grid;gap:20px}
.benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.tier-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
@media(min-width:1040px){.benefit-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:560px){.benefit-grid{grid-template-columns:1fr}}
.benefit{padding:26px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}
.benefit h3{margin:16px 0 8px;font-size:1.12rem}
.benefit p{margin:0;color:var(--ink-soft);font-size:.92rem;line-height:1.6}
.benefit-icon{display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:12px;background:linear-gradient(135deg,#e2efff,#d1f4ff);color:var(--navy-700)}
.benefit-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.benefit-icon .icon{fill:none;stroke:currentColor}
.tier{display:flex;flex-direction:column;padding:30px;background:#fff;border:1px solid var(--line);border-top:4px solid var(--navy-800);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}
.tier h3{margin:0 0 10px;font-size:1.4rem}
.tier>p:not(.eyebrow){flex:1;color:var(--ink-soft);line-height:1.6}
.tier ul{margin:12px 0 26px;padding-left:20px;color:var(--ink-soft);font-size:.92rem}
.tier li{margin:8px 0}
.tier .btn{margin-top:auto;align-self:flex-start}
.teaser{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}
.teaser h2{margin:0 0 8px;font-size:clamp(1.6rem,3vw,2.2rem)}
.teaser p:not(.eyebrow){margin:0;color:var(--ink-soft);max-width:560px}
.teaser-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}

/* Home: banda de membresía */
.membership-band{background:linear-gradient(120deg,#edf6ff,#f7faff 60%,#eaf3ff)}
.membership-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.membership-band h2{font-size:clamp(1.8rem,3.2vw,2.6rem);line-height:1.15;margin:0 0 16px;text-wrap:balance}
.membership-band p:not(.eyebrow){color:var(--ink-soft);line-height:1.7;margin:0 0 24px}
.member-points{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.member-points li{padding:16px 18px 16px 50px;position:relative;background:#fff;border:1px solid var(--line);border-radius:14px;color:var(--ink-soft);font-size:.92rem;line-height:1.55;box-shadow:var(--shadow-sm)}
.member-points li::before{content:"✓";position:absolute;left:16px;top:15px;width:24px;height:24px;border-radius:50%;background:var(--blue-600);color:#fff;display:grid;place-items:center;font-size:.8rem;font-weight:800}
.member-points strong{color:var(--ink)}

/* CONOCER */
.conocer-intro{align-items:center}
.partner-band{background:#fff;border-bottom:1px solid var(--line)}
.partner-inner{display:flex;align-items:center;justify-content:center;gap:clamp(24px,5vw,60px);padding-block:22px}
.partner-inner img{display:block;width:min(330px,60%);height:auto;flex:none}
.partner-inner p{margin:0;max-width:380px;padding-left:clamp(24px,5vw,60px);border-left:2px solid var(--line);color:var(--ink-soft);font-size:1.02rem;line-height:1.6}
.facts{display:grid;gap:16px}
.facts div{display:flex;align-items:center;gap:18px;padding:22px 26px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--blue-600);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}
.facts strong{font-size:2.4rem;line-height:1;color:var(--navy-800)}
.facts span{color:var(--ink-soft);font-size:.95rem;line-height:1.4}
.feature-ec{display:grid;grid-template-columns:1.5fr 1fr;overflow:hidden;border-radius:var(--radius-lg);background:linear-gradient(125deg,var(--navy-950),var(--navy-800));color:#fff;box-shadow:var(--shadow-md)}
.feature-ec-main{padding:44px}
.feature-ec .eyebrow{color:var(--cyan-300)}
.feature-ec h2{margin:0 0 16px;font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.2;color:#fff}
.ec-code{display:inline-block;margin-right:8px;padding:2px 12px;border-radius:10px;background:var(--cyan-500);color:var(--navy-950)}
.feature-lead{color:#d1e5ff;font-size:1.08rem;line-height:1.6}
.check-list{list-style:none;padding:0;margin:20px 0;display:grid;gap:10px}
.check-list li{padding-left:30px;position:relative;color:#eaf3ff}
.check-list li::before{content:"✓";position:absolute;left:0;top:0;color:var(--cyan-300);font-weight:800}
.tags{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.tags li{padding:5px 14px;border:1px solid #ffffff40;border-radius:999px;background:#ffffff14;font-size:.82rem;font-weight:650}
.feature-ec-side{padding:44px 38px;background:#ffffff12;border-left:1px solid #ffffff26;display:flex;flex-direction:column;gap:6px}
.feature-ec-side h3{margin:0 0 14px;font-size:1.25rem;color:#fff}
.feature-ec-side ul{list-style:none;padding:0;margin:0 0 24px;display:grid;gap:14px}
.feature-ec-side li{display:flex;gap:12px;align-items:flex-start;color:#eaf3ff;font-size:.95rem;line-height:1.5}
.feature-ec-side li svg{flex:none;width:22px;height:22px;fill:none;stroke:var(--cyan-300);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.feature-ec-side .btn{align-self:flex-start}
.feature-ec-side small{margin-top:14px;color:#b4ccea;font-size:.78rem;line-height:1.5}

/* Catálogo de estándares */
.std-controls{display:grid;gap:14px;margin-bottom:26px}
.std-controls[hidden],.std-bar[hidden],.std-empty[hidden],.sector-group[hidden],.std-list li[hidden],.access-result[hidden]{display:none}
.std-search{display:flex;align-items:center;gap:10px;max-width:640px;padding:0 18px;background:#fff;border:1px solid #9fb8d8;border-radius:14px;box-shadow:var(--shadow-sm)}
.std-search svg{flex:none;width:20px;height:20px;fill:none;stroke:var(--muted);stroke-width:2}
.std-search input{flex:1;min-width:0;border:0;background:none;padding:16px 0;font:inherit;color:var(--ink);outline:0}
.std-search:focus-within{outline:3px solid #087df4;outline-offset:2px}
.std-hint{margin:8px 0 0;color:var(--muted);font-size:.9rem}
.sector-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.sector-tile{display:grid;grid-template-columns:44px 1fr;grid-template-rows:auto auto;column-gap:14px;align-items:center;text-align:left;padding:16px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink);font:inherit;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .2s,border-color .2s,box-shadow .2s}
.sector-tile:hover{transform:translateY(-3px);border-color:var(--blue-600);box-shadow:var(--shadow-md)}
.sector-icon{grid-row:1/3;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#e2efff,#d1f4ff);color:var(--navy-700)}
.sector-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sector-icon svg circle,.sector-icon svg path{fill:none;stroke:currentColor}
.sector-name{font-weight:750;font-size:.95rem;line-height:1.25;align-self:end}
.sector-count{font-size:.8rem;color:var(--muted);align-self:start}
.sector-tile[aria-pressed=true]{background:var(--navy-900);border-color:var(--navy-900);color:#fff}
.sector-tile[aria-pressed=true] .sector-count{color:#b4ccea}
.sector-tile[aria-pressed=true] .sector-icon{background:#ffffff1f;color:var(--cyan-300)}
.std-results,.std-controls{scroll-margin-top:100px}
.std-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.std-count{margin:0;color:var(--ink-soft);font-weight:650}
.std-reset{border:0;background:none;padding:6px 0;color:var(--blue-600);font:700 .92rem var(--font);cursor:pointer}
.std-reset:hover{text-decoration:underline}
.sector-group{margin-bottom:34px}
.sector-group h3{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-size:1.3rem}
.sector-group h3 small{padding:2px 10px;border-radius:999px;background:#eaf3ff;color:var(--blue-600);font-size:.78rem;font-weight:800}
.std-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.std-list li{display:grid;grid-template-columns:104px 1fr auto;align-items:center;gap:6px 18px;padding:15px 20px;background:#fff;border:1px solid var(--line);border-left:3px solid #b9d7fb;border-radius:12px;transition:border-color .15s,box-shadow .15s}
.std-list li:hover{border-left-color:var(--blue-600);box-shadow:var(--shadow-sm)}
.std-code{font:700 .86rem ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--navy-700);background:#eaf3ff;padding:5px 9px;border-radius:8px;text-align:center;white-space:nowrap}
.std-name{color:var(--ink);font-weight:550;line-height:1.45}
.std-action{color:var(--blue-600);font-weight:700;font-size:.9rem;text-decoration:none;white-space:nowrap}
.std-action:hover{text-decoration:underline}
.std-empty{padding:22px;border:1px dashed #9fb8d8;border-radius:12px;background:#fff;color:var(--ink-soft)}
.std-empty a{color:var(--blue-600);text-decoration:underline}

/* Verificación de certificados */
.verify-grid{align-items:start}
.verify-list{display:grid;gap:18px;margin:26px 0}
.verify-list article{display:flex;gap:16px;align-items:flex-start}
.verify-list h3{margin:0 0 4px;font-size:1.08rem}
.verify-list p{margin:0;color:var(--ink-soft);font-size:.93rem;line-height:1.6}
.alert-box{padding:22px 24px;background:#fff8ec;border:1px solid #f1d199;border-left:4px solid #e29a1a;border-radius:12px}
.alert-box h3{margin:0 0 10px;font-size:1.05rem;color:#7a4a05}
.alert-box ul{margin:0;padding-left:20px;color:#5c4210;font-size:.92rem}
.alert-box li{margin:7px 0;line-height:1.5}
.cert-figure{margin:0;padding:24px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);position:sticky;top:110px}
.cert-figure svg{display:block;width:100%;height:auto}
.cert-figure figcaption{margin-top:18px;color:var(--ink-soft);font-size:.92rem}
.cert-figure ol{margin:0 0 12px;padding-left:22px}
.cert-figure li{margin:6px 0}
.cert-figure small{color:var(--muted)}
.lead-text{max-width:620px}

@media(max-width:980px){
  .membership-grid,.feature-ec{grid-template-columns:1fr}
  .feature-ec-side{border-left:0;border-top:1px solid #ffffff26}
  .cert-figure{position:static}
}
@media(max-width:720px){
  .feature-ec-main,.feature-ec-side{padding:30px 24px}
  .access-card{padding:20px}
  .std-list li{grid-template-columns:auto 1fr;padding:14px 16px}
  .std-name{grid-column:1/-1;grid-row:2}
  .std-action{grid-column:2;grid-row:1;justify-self:end}
  .sector-grid{grid-template-columns:1fr 1fr}
  .sector-tile{grid-template-columns:1fr;row-gap:6px;padding:14px}
  .sector-icon{grid-row:auto}
  .sector-tile{align-content:start}
  .sector-name,.sector-count{align-self:start}
  .partner-inner{flex-direction:column;text-align:center}
  .partner-inner p{padding:16px 0 0;border-left:0;border-top:2px solid var(--line)}
  .teaser{align-items:flex-start}
}

/* Cada sección de Academia con su propio carácter */
.section-access{background:radial-gradient(circle at 92% 8%,#d6ecff 0,transparent 38%),radial-gradient(circle at 0 100%,#dff6f1 0,transparent 34%),#fff}
.section-access .access-card{border-top-color:var(--teal-500)}
.section-dark{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--navy-950),var(--navy-800) 70%,#0b4fa6);color:#fff}
.section-dark::before{content:"";position:absolute;width:520px;height:520px;right:-180px;top:-220px;border-radius:50%;background:radial-gradient(circle,#00b4ff40,transparent 65%)}
.section-dark>.container{position:relative}
.section-dark .eyebrow{color:var(--cyan-300)}
.section-dark .page-head h2{color:#fff}
.section-dark .page-head p:not(.eyebrow),.section-dark .small{color:#c6dcf7}
.section-dark .small a{color:#fff}
.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}
.course-tile{position:relative;display:flex;flex-direction:column;overflow:hidden;padding:26px 24px 22px;background:#fff;border-radius:var(--radius-md);color:var(--ink);box-shadow:0 18px 40px #00102e55;transition:transform .25s,box-shadow .25s}
.course-tile::before{content:"";position:absolute;inset:0 0 auto 0;height:6px;background:var(--accent)}
.course-tile::after{content:"";position:absolute;width:150px;height:150px;right:-60px;top:-60px;border-radius:50%;background:color-mix(in srgb,var(--accent) 12%,transparent)}
.course-tile:hover{transform:translateY(-6px);box-shadow:0 26px 50px #00102e70}
.course-top{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.course-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--accent);color:#fff;box-shadow:0 10px 20px color-mix(in srgb,var(--accent) 40%,transparent)}
.course-icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.course-icon .icon{fill:none;stroke:currentColor}
.course-num{font-size:1.9rem;font-weight:800;line-height:1;color:color-mix(in srgb,var(--accent) 35%,#fff)}
.course-tile .course-cat{margin:0 0 8px;color:var(--accent);font-size:.74rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;filter:brightness(.85)}
.course-tile h3{margin:0 0 10px;font-size:1.18rem;line-height:1.3}
.course-tile p:not(.course-cat){margin:0 0 20px;color:var(--ink-soft);font-size:.92rem;line-height:1.6}
.course-tile .more-link{margin-top:auto;color:var(--accent);filter:brightness(.8)}
.section-members{background:linear-gradient(180deg,#fff 0,#eef5ff 100%)}
.benefit{position:relative;overflow:hidden;border-top:4px solid var(--accent)}
.benefit .benefit-icon{background:color-mix(in srgb,var(--accent) 16%,#fff);color:color-mix(in srgb,var(--accent) 80%,#000)}
.tier{border-top-color:var(--accent);position:relative;overflow:hidden}
.tier::after{content:"";position:absolute;width:140px;height:140px;right:-55px;top:-55px;border-radius:50%;background:color-mix(in srgb,var(--accent) 12%,transparent)}
.tier .eyebrow{color:var(--accent);filter:brightness(.8)}
.tier .btn{background:var(--accent);box-shadow:0 12px 24px color-mix(in srgb,var(--accent) 35%,transparent)}
.teaser-section{background:linear-gradient(115deg,#0a6f66,#0a4f8f 55%,var(--navy-900));color:#fff}
.teaser-section .eyebrow{color:#9ff0e2}
.teaser-section h2{color:#fff}
.teaser-section .teaser p:not(.eyebrow){color:#d8ecf8}
.teaser-section .more-link{color:#fff;text-decoration:underline;text-underline-offset:4px}
.teaser-section .btn-primary{background:#fff;color:var(--navy-900);box-shadow:0 12px 26px #00000033}

/* Menús desplegables de navegación */
.nav-group summary::after{display:inline-block;transition:transform .25s}
.nav-group[open] summary::after{transform:rotate(180deg) translateY(2px)}
.nav-group[open] summary{color:var(--blue-600)}
.nav-group>div.dd-panel{top:70px;left:-18px;width:330px;gap:2px;padding:12px;border-radius:18px;border:1px solid var(--line);box-shadow:0 24px 56px #00235f33;animation:ddIn .2s ease both}
.nav-group>div.dd-panel::before{content:"";position:absolute;top:-7px;left:38px;width:12px;height:12px;background:#fff;border-left:1px solid var(--line);border-top:1px solid var(--line);transform:rotate(45deg)}
@keyframes ddIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.dd-panel a{position:relative;display:flex;align-items:center;gap:14px;padding:11px 40px 11px 14px;border-radius:12px;transition:background .15s,padding .15s}
.dd-text strong{display:block;font-size:.9rem;line-height:1.25;color:var(--ink)}
.dd-text small{display:block;margin-top:2px;font-size:.76rem;font-weight:450;color:var(--muted);line-height:1.3}
.dd-panel a::after{content:"→";position:absolute;right:16px;color:var(--blue-600);opacity:0;transform:translateX(-6px);transition:opacity .15s,transform .15s}
.dd-panel a:hover,.dd-panel a:focus-visible{background:#eef5ff;padding-left:18px}
.dd-panel a:hover strong,.dd-panel a:focus-visible strong{color:var(--blue-600)}
.dd-panel a:hover::after,.dd-panel a:focus-visible::after{opacity:1;transform:none}
.dd-panel a.dd-all{margin-top:6px;padding:12px;border-top:1px solid var(--line);border-radius:0 0 12px 12px;color:var(--blue-600);font-weight:750;font-size:.86rem;gap:8px}
.dd-panel a.dd-all::after{display:none}
.dd-panel a.dd-all svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;transition:transform .2s}
.dd-panel a.dd-all:hover svg{transform:translateX(4px)}
@media(max-width:980px){
  .nav-group>div.dd-panel{width:100%;animation:none;box-shadow:none;border:0;background:#f4f8ff;border-radius:14px}
  .nav-group>div.dd-panel::before{display:none}
  .dd-text small{display:none}
  .dd-panel a{padding:8px 12px}
  .dd-panel a::after{display:none}
}

/* Acordeones */
.accordion details{padding:0;transition:border-color .2s,box-shadow .2s}
.accordion summary{display:flex;align-items:center;gap:16px;padding:19px 22px;list-style:none;cursor:pointer;user-select:none}
.accordion summary::-webkit-details-marker{display:none}
.acc-num{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:11px;background:#eaf3ff;color:var(--blue-600);font-size:.9rem;font-weight:800;transition:background .2s,color .2s}
.accordion summary::after{content:"+";display:grid;place-items:center;flex:none;width:32px;height:32px;margin-left:auto;border:1px solid #b9cce4;border-radius:50%;color:var(--blue-600);font-size:1.4rem;font-weight:400;line-height:1;transition:transform .3s,background .2s,color .2s,border-color .2s}
.accordion summary:hover .acc-num{background:#d6e8ff}
.accordion summary:hover::after{border-color:var(--blue-600)}
.accordion details[open]{border-color:#9fc7f8;box-shadow:var(--shadow-sm)}
.accordion details[open] .acc-num{background:var(--navy-900);color:#fff}
.accordion details[open] summary::after{transform:rotate(135deg);background:var(--blue-600);border-color:var(--blue-600);color:#fff}
.acc-body{padding:0 22px 22px 74px}
.accordion .acc-body p{margin:0;line-height:1.7}
@media(max-width:540px){.acc-body{padding-left:22px}.accordion summary{padding:16px 16px;gap:12px}}

/* Listas desplegables de formularios */
.dd-native{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;border:0!important;opacity:0;pointer-events:none;overflow:hidden}
.dd-select{position:relative}
.dd-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:11px 12px;border:1px solid #b9cce4;border-radius:8px;background:#fcfdff;color:var(--ink);font:inherit;font-weight:500;text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.dd-trigger::after{content:"";flex:none;width:8px;height:8px;margin-top:-4px;border-right:2px solid var(--blue-600);border-bottom:2px solid var(--blue-600);transform:rotate(45deg);transition:transform .2s,margin .2s}
.dd-trigger:hover{border-color:var(--blue-600)}
.dd-select.open .dd-trigger{border-color:var(--blue-600);box-shadow:0 0 0 3px #087df424}
.dd-select.open .dd-trigger::after{margin-top:4px;transform:rotate(-135deg)}
.dd-list{position:absolute;z-index:40;top:calc(100% + 6px);left:0;right:0;max-height:264px;margin:0;padding:6px;overflow:auto;list-style:none;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-md);animation:ddIn .16s ease both}
.dd-list[hidden]{display:none}
.dd-select.up .dd-list{top:auto;bottom:calc(100% + 6px)}
.dd-list li{position:relative;padding:10px 12px 10px 34px;border-radius:8px;color:var(--ink);font-weight:500;cursor:pointer}
.dd-list li.is-active{background:#eaf3ff}
.dd-list li[aria-selected=true]{color:var(--blue-600);font-weight:700}
.dd-list li[aria-selected=true]::before{content:"✓";position:absolute;left:12px;font-weight:800}
@media(prefers-reduced-motion:reduce){.nav-group>div.dd-panel,.dd-list{animation:none}}

/* backdrop-filter convierte al encabezado en el bloque contenedor del menú móvil (position: fixed) y lo recorta. */
@media(max-width:920px){.site-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff}}

/* Ciclo del certificado (Criterios de dictaminación) */
.lifecycle{display:grid;gap:26px}
.phases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px;align-items:stretch}
.phase{position:relative;padding:22px;background:#fff;border:1px solid var(--line);border-top:4px solid var(--tone);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}
.phase:not(:last-child)::after{content:"→";position:absolute;z-index:2;top:50%;right:-45px;display:grid;place-items:center;width:34px;height:34px;margin-top:-17px;border-radius:50%;background:var(--navy-900);color:#fff;font-weight:700}
.phase header{display:flex;align-items:center;gap:12px;margin-bottom:6px}
.phase-num{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;background:var(--tone);color:#fff;font-weight:800}
.phase h3{margin:0;font-size:1.15rem}
.node{position:relative;display:block;margin-top:12px;padding:14px 16px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--tone);border-radius:12px;color:var(--ink);transition:transform .2s,box-shadow .2s,opacity .2s,background .2s,border-color .2s}
.node strong{display:block;font-size:.98rem}
.node small{display:block;margin-top:3px;color:var(--muted);font-size:.8rem;line-height:1.4}
.node-alt{border-style:dashed;border-left-style:solid}
.node:hover{transform:translateX(4px);box-shadow:var(--shadow-sm)}
.node.is-active{background:var(--tone);border-color:var(--tone);color:#fff;box-shadow:0 14px 28px color-mix(in srgb,var(--tone) 40%,transparent)}
.node.is-active small{color:#ffffffd9}
.node.is-active::after{content:"";position:absolute;right:14px;top:50%;width:9px;height:9px;margin-top:-5px;border-radius:50%;background:#fff}
.node.is-related{border-color:var(--tone);box-shadow:0 0 0 3px color-mix(in srgb,var(--tone) 22%,transparent)}
.lifecycle[data-ready] .node:not(.is-active):not(.is-related){opacity:.55}
.lifecycle[data-ready] .node:not(.is-active):hover{opacity:1}
.deadlines{display:flex;flex-wrap:wrap;align-items:stretch;gap:12px}
.deadlines>p{display:flex;align-items:center;margin:0 6px 0 0;color:var(--muted);font-size:.78rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.deadline{display:flex;align-items:center;gap:12px;padding:10px 16px;background:#fff;border:1px solid var(--line);border-radius:999px;color:var(--ink-soft);font-size:.85rem;line-height:1.3;transition:border-color .2s,box-shadow .2s,transform .2s}
.deadline strong{flex:none;padding:4px 12px;border-radius:999px;background:var(--tone);color:#fff;font-size:.88rem;white-space:nowrap}
.deadline:hover{border-color:var(--tone);box-shadow:var(--shadow-sm);transform:translateY(-2px)}
.panels{min-height:230px}
.panel{padding:30px 34px;background:#fff;border:1px solid var(--line);border-left:6px solid var(--tone);border-radius:var(--radius-md);box-shadow:var(--shadow-md);animation:panelIn .3s ease both}
.panel[hidden]{display:none}
.panel .eyebrow{color:color-mix(in srgb,var(--tone) 80%,#000)}
.panel h3{margin:0 0 10px;font-size:1.7rem}
.panel-lead{margin:0 0 16px;color:var(--ink-soft);font-size:1.05rem;line-height:1.6}
.panel-list{margin:0 0 22px;padding:0;list-style:none;display:grid;gap:10px}
.panel-list li{position:relative;padding-left:30px;color:var(--ink);line-height:1.5}
.panel-list li::before{content:"✓";position:absolute;left:0;top:1px;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:color-mix(in srgb,var(--tone) 16%,#fff);color:color-mix(in srgb,var(--tone) 75%,#000);font-size:.72rem;font-weight:800}
.panel-rel{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding-top:18px;border-top:1px solid var(--line)}
.panel-rel span{margin-right:4px;color:var(--muted);font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.panel-rel a{padding:5px 14px;border:1px solid var(--tone);border-radius:999px;color:var(--ink);font-size:.85rem;font-weight:650;transition:background .15s,color .15s}
.panel-rel a:hover{background:var(--tone);color:#fff}
@keyframes panelIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(max-width:900px){
  .phases{grid-template-columns:1fr;gap:46px}
  .phase:not(:last-child)::after{content:"↓";top:auto;right:50%;bottom:-40px;margin:0 -17px 0 0}
  .panel{padding:24px 22px}
  .deadlines>p{width:100%}
}

/* Recorrido por pasos (Auditorías de certificación) */
.flow-title{margin:0 0 24px;font-size:1.7rem}
.flow{--progress-ratio:0}
.flow-track{position:relative;display:flex;justify-content:space-between;margin:0 0 26px;padding:0;list-style:none}
.flow-track::before,.flow-track::after{content:"";position:absolute;top:21px;left:7%;height:4px;border-radius:4px;background:#d6e3f5}
.flow-track::before{right:7%}
.flow-track::after{width:calc((100% - 14%) * var(--progress-ratio));background:var(--blue-600);transition:width .35s ease}
.flow-track li{position:relative;z-index:1;flex:1;text-align:center}
.flow-step{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--muted);font-size:.8rem;font-weight:700}
.flow-dot{display:grid;place-items:center;width:46px;height:46px;border:3px solid #d6e3f5;border-radius:50%;background:#fff;color:var(--muted);font-weight:800;transition:background .25s,border-color .25s,color .25s,transform .25s}
.flow-step:hover .flow-dot{border-color:var(--blue-600);color:var(--blue-600)}
.flow-step.is-done .flow-dot{background:var(--blue-600);border-color:var(--blue-600);color:#fff}
.flow-step.is-active .flow-dot{background:var(--navy-900);border-color:var(--navy-900);color:#fff;transform:scale(1.14);box-shadow:0 10px 22px #00235f40}
.flow-step.is-active,.flow-step.is-done{color:var(--ink)}
.flow-panel{padding:26px 28px;background:#fff;border:1px solid var(--line);border-top:4px solid var(--blue-600);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);animation:panelIn .3s ease both}
.flow-panel[hidden]{display:none}
.flow-panel .eyebrow{color:var(--blue-600)}
.flow-panel h3{margin:0 0 10px;font-size:1.35rem}
.flow-panel p:not(.eyebrow){margin:0 0 14px;color:var(--ink-soft);line-height:1.7}
.flow-nav{display:flex;justify-content:space-between;gap:12px;margin-top:16px}
.flow-nav[hidden]{display:none}
.flow-btn{padding:10px 20px;border:1px solid #b9cce4;border-radius:999px;background:#fff;color:var(--ink);font:700 .88rem var(--font);cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.flow-btn:hover:not(:disabled){border-color:var(--blue-600);color:var(--blue-600)}
.flow-btn-primary{border-color:var(--blue-600);background:var(--blue-600);color:#fff}
.flow-btn-primary:hover:not(:disabled){background:var(--navy-800);border-color:var(--navy-800);color:#fff}
.flow-btn:disabled{opacity:.4;cursor:default}
@media(max-width:560px){.flow-name{font-size:.68rem}.flow-dot{width:38px;height:38px}.flow-track::before,.flow-track::after{top:17px}.flow-panel{padding:22px 20px}}

/* Listas de pasos dentro de textos (cómo comenzar) */
.prose ol{list-style:none;counter-reset:paso;margin:18px 0 26px;padding:0;display:grid;gap:12px}
.prose ol li{position:relative;counter-increment:paso;padding:16px 18px 16px 68px;background:#fff;border:1px solid var(--line);border-radius:14px;line-height:1.55;transition:transform .2s,box-shadow .2s}
.prose ol li::before{content:counter(paso);position:absolute;left:16px;top:50%;display:grid;place-items:center;width:38px;height:38px;margin-top:-19px;border-radius:50%;background:var(--navy-900);color:#fff;font-weight:800}
.prose ol li:hover{transform:translateX(4px);box-shadow:var(--shadow-sm)}
@media(prefers-reduced-motion:reduce){.panel,.flow-panel{animation:none}}

/* Contenido institucional: Nosotros, normas, certificación, contacto */
.contact-list{display:grid;gap:16px;margin:20px 0}
.contact-list dt{margin-bottom:3px;color:var(--blue-600);font-size:.74rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.contact-list dd{margin:0;color:var(--ink-soft);line-height:1.6}
.contact-list a:not(.more-link){color:var(--ink);font-weight:650}
.contact-list a:not(.more-link):hover{color:var(--blue-600)}
.about-intro{align-items:center}
.service-list{display:grid;gap:12px;margin:14px 0 0;padding:0;list-style:none}
.service-list li{display:grid;gap:2px;padding:12px 16px;border-left:4px solid var(--blue-600);border-radius:0 12px 12px 0;background:#f4f8ff}
.service-list li:nth-child(2){border-color:var(--teal-500)}
.service-list li:nth-child(3){border-color:#8a4dec}
.service-list li:nth-child(4){border-color:#0a9bc4}
.service-list span{color:var(--ink-soft);font-size:.9rem}
.tab-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.tab{padding:10px 20px;border:1px solid #b9cce4;border-radius:999px;background:#fff;color:var(--ink-soft);font:700 .9rem var(--font);cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.tab:hover{border-color:var(--blue-600);color:var(--blue-600)}
.tab[aria-selected=true]{background:var(--navy-900);border-color:var(--navy-900);color:#fff}
.tab-panel{margin-bottom:16px;padding:30px 34px;background:#fff;border:1px solid var(--line);border-left:6px solid var(--blue-600);border-radius:var(--radius-md);box-shadow:var(--shadow-md);animation:panelIn .3s ease both}
.tab-panel[hidden]{display:none}
.tabs[data-ready] .tab-panel{margin-bottom:0}
.tab-panel h3{margin:0 0 12px;font-size:1.6rem}
.tab-panel p{margin:0;color:var(--ink-soft);font-size:1.05rem;line-height:1.75}
.goal-list{margin:0;padding:0;list-style:none;counter-reset:meta;display:grid;gap:12px}
.goal-list li{position:relative;counter-increment:meta;padding:6px 0 6px 48px;color:var(--ink);line-height:1.55}
.goal-list li::before{content:counter(meta);position:absolute;left:0;top:2px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#eaf3ff;color:var(--blue-600);font-weight:800}
.principle-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important}
.chip-list{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 6px;padding:0;list-style:none}
.chip-list li{padding:7px 16px;border:1px solid #b9cce4;border-radius:999px;background:#fff;color:var(--ink);font-size:.9rem;font-weight:650}
.list-title{margin:18px 0 10px;color:var(--ink);font-weight:700}
.benefit-checks{margin:14px 0 26px;padding:0;list-style:none;display:grid;gap:10px}
.benefit-checks li{position:relative;padding:14px 16px 14px 52px;background:#fff;border:1px solid var(--line);border-radius:12px;color:var(--ink-soft);line-height:1.55}
.benefit-checks li::before{content:"✓";position:absolute;left:16px;top:50%;display:grid;place-items:center;width:24px;height:24px;margin-top:-12px;border-radius:50%;background:var(--blue-600);color:#fff;font-size:.8rem;font-weight:800}
.sticky-card{position:sticky;top:110px}
.prose.spaced{max-width:none;margin:48px 0 20px}
.prose.spaced>p{max-width:820px}
.key-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-top:40px}
.key-facts div{padding:22px;background:linear-gradient(135deg,var(--navy-900),var(--navy-700));border-radius:var(--radius-md);color:#fff;box-shadow:var(--shadow-sm)}
.key-facts strong{display:block;margin-bottom:6px;font-size:1.7rem;line-height:1.1}
.key-facts span{color:#cfe3fb;font-size:.9rem;line-height:1.4}
.norm-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.norm-link{display:flex;align-items:center;gap:14px;padding:14px 18px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--blue-600);border-radius:12px;color:var(--ink);font-weight:600;font-size:.92rem;line-height:1.35;transition:transform .2s,box-shadow .2s}
.norm-link span{flex:none;color:var(--blue-600);font-weight:800}
.norm-link:hover{transform:translateX(4px);box-shadow:var(--shadow-sm)}
.advantage-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important}
.declarations{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.declaration{padding:26px;background:#fff;border:1px solid var(--line);border-top:4px solid var(--teal-500);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}
.declaration:nth-child(2){border-top-color:var(--blue-600)}
.declaration:nth-child(3){border-top-color:#8a4dec}
.declaration h3{margin:0 0 10px;font-size:1.2rem}
.declaration p{margin:0 0 16px;color:var(--ink-soft);font-size:.93rem;line-height:1.65}
@media(max-width:980px){.sticky-card{position:static}.tab-panel{padding:24px 22px}}

/* Panel interno */
.admin-login{max-width:420px;margin:30px 0}
.admin-login h2{margin:0}
.admin-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:18px 0}
.admin-tabs{display:flex;gap:8px;flex-wrap:wrap}
.admin-tabs .tab[aria-selected=true]{background:var(--navy-900);border-color:var(--navy-900);color:#fff}
.btn-outline-dark{border:1px solid #b9cce4;background:#fff;color:var(--ink)}
.btn-outline-dark:hover{border-color:var(--blue-600);color:var(--blue-600)}
.code-actions{display:flex;gap:10px;margin-top:10px}
#code-output{width:100%;margin-top:10px;padding:10px;border:1px solid #b9cce4;border-radius:8px;font:600 .95rem ui-monospace,Menlo,monospace;background:#fff}
#panel[hidden],#login[hidden],section[hidden]{display:none}
.diag-list{list-style:none;padding:0;margin:20px 0;display:grid;gap:8px}
.diag-list li{padding:10px 14px;border-radius:8px;background:#fff;border:1px solid var(--line)}
.diag-list li.ok{border-left:4px solid var(--teal-500)}
.diag-list li.fail{border-left:4px solid #d64545;background:#fff5f5}

/* Uso de marca */
.benefit-crosses{margin:14px 0 26px;padding:0;list-style:none;display:grid;gap:10px}
.benefit-crosses li{position:relative;padding:14px 16px 14px 52px;background:#fff;border:1px solid var(--line);border-radius:12px;color:var(--ink-soft);line-height:1.55}
.benefit-crosses li::before{content:"✕";position:absolute;left:16px;top:50%;display:grid;place-items:center;width:24px;height:24px;margin-top:-12px;border-radius:50%;background:#c0392b;color:#fff;font-size:.72rem;font-weight:800}
.spaced-top{margin-top:48px}

/* Nosotros */
.about-intro{align-items:center;gap:48px}
.map-card{position:relative;padding:22px;border-radius:var(--radius-lg);background:radial-gradient(circle at 18% 12%,#fff,#e8f2ff 72%);border:1px solid var(--line);box-shadow:var(--shadow-md)}
.map-card svg{display:block;width:100%;height:auto}
.map-caption{display:grid;gap:4px;margin-top:14px;padding:16px 18px;border-radius:14px;background:var(--navy-900);color:#fff}
.map-caption strong{font-size:1.05rem}
.map-caption span{color:#cfe0ff;font-size:.9rem;line-height:1.5}
.map-caption a{color:var(--cyan-300);font-weight:700}
.mx-land{fill:url(#mxGrad);stroke:#fff;stroke-width:1.2;stroke-linejoin:round;filter:drop-shadow(0 10px 14px rgba(6,59,132,.28))}
.mx-sea{fill:#8aa3c7;font-size:13px;font-style:italic;letter-spacing:.08em}
.mx-pin-core{fill:#fff;stroke:var(--blue-600);stroke-width:3.5}
.mx-pin-ring{fill:none;stroke:var(--cyan-500);stroke-width:2.2;transform-box:fill-box;transform-origin:center;animation:mxPulse 2.4s ease-out infinite}
.mx-pin-label{fill:var(--navy-900);font-size:14px;font-weight:700;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}
@keyframes mxPulse{from{transform:scale(.4);opacity:.9}to{transform:scale(2.4);opacity:0}}
@media (prefers-reduced-motion:reduce){.mx-pin-ring{animation:none;opacity:.5}}
.values-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.value-card{position:relative;padding:26px 24px 28px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden;transition:transform .2s,box-shadow .2s}
.value-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.value-card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--accent,var(--blue-600))}
.value-num{display:inline-grid;place-items:center;width:44px;height:44px;margin-bottom:14px;border-radius:12px;background:var(--accent,var(--blue-600));color:#fff;font-weight:800;font-size:.95rem}
.value-card h3{margin:0 0 8px;font-size:1.05rem;letter-spacing:.04em;text-transform:uppercase}
.value-card p{margin:0;color:var(--ink-soft);font-size:.94rem;line-height:1.6}
.about-bands{display:grid;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);background:#fff}
.band{display:grid;grid-template-columns:minmax(200px,34%) 1fr;align-items:stretch}
.band:nth-child(even){grid-template-columns:1fr minmax(200px,34%)}
.band:nth-child(even) .band-art{order:2}
.band-art{display:grid;place-items:center;min-height:230px;color:#fff;background:var(--art,linear-gradient(135deg,var(--navy-900),var(--navy-700)))}
.band-art svg{width:96px;height:96px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.band-body{display:flex;flex-direction:column;justify-content:center;padding:40px clamp(24px,5vw,64px)}
.band-body h2{margin:0 0 14px;text-transform:uppercase;letter-spacing:.02em}
.band-body p{margin:0 0 10px;line-height:1.7;max-width:62ch}
.band.is-dark .band-body{background:var(--navy-700);color:#fff}
.band.is-dark .band-body h2{color:#fff}
.band.is-light .band-body h2{color:var(--blue-600)}
.band.is-light .band-body p{color:var(--ink-soft)}
.band.is-mid .band-body{background:#eaf3ff;color:var(--ink)}
.band.is-mid .band-body h2{color:var(--navy-800)}
.about-goals{align-items:start;gap:40px}
@media (max-width:860px){.values-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.band,.band:nth-child(even){grid-template-columns:1fr}.band:nth-child(even) .band-art{order:0}.band-art{min-height:130px}.band-art svg{width:72px;height:72px}.about-intro{gap:28px}}
@media (max-width:560px){.values-grid{grid-template-columns:1fr}}