@import url('https://fonts.googleapis.com/css2?family=Comfortaa:wght@400;500;600;700&family=Jost:wght@400;500;600;700&display=swap');
:root{--orange:#ff9900;--ink:#222321;--muted:#686965;--paper:#fff;--line:#deded8;--soft:#f3f3ef;--display:'Comfortaa',sans-serif;--body:'Jost',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:white;font-family:var(--body);font-size:17px;line-height:1.55}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;display:block}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b56900;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.2}h1,h2{font-family:var(--display);font-weight:500;letter-spacing:-.045em}h2{font-size:clamp(30px,3.2vw,46px)}h3{font-weight:600}p{font-weight:400}.wrap{width:min(1280px,calc(100% - 96px));margin-inline:auto}.section{padding-block:90px}.eyebrow{font-family:var(--body);font-size:11px;font-weight:600;letter-spacing:.16em;line-height:1.6;color:var(--muted);margin-bottom:22px}.light{color:#f2f2ed}.skip{position:fixed;top:-100px;background:white;z-index:100;padding:16px}.skip:focus{top:0}.site-header{background:#fff;position:relative;z-index:20;border-bottom:1px solid var(--line)}.header-top{display:flex;align-items:center;justify-content:space-between;min-height:100px;gap:32px}.logo img{width:210px;height:auto}.brand-note{font-size:11px;letter-spacing:.12em;line-height:1.6;border-left:1px solid var(--line);padding-left:20px;margin-right:auto;color:var(--muted)}.header-actions{display:flex;gap:28px;align-items:center;font-size:14px}.portal-link{display:flex;gap:12px;align-items:center;font-weight:600}.portal-link span{display:inline-grid;place-items:center;border:1px solid var(--orange);width:25px;height:25px;color:#935600}.menu-toggle{display:none;border:0;background:none;font-size:15px}.nav-band{background:#242522;color:white}.main-nav{display:flex;align-items:center;gap:38px;min-height:49px;font-size:14px}.main-nav a{padding:12px 0;position:relative}.main-nav a:hover,.main-nav a[aria-current=page]{color:#ffc46b}.nav-end{margin-left:auto;font-size:11px;letter-spacing:.12em;color:#cacac4}.hero{min-height:710px;position:relative;background:#353630;color:white;display:flex;flex-direction:column;justify-content:flex-end}.hero-photo,.hero-shade,.feature>img,.feature-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-photo{object-position:center 47%}.hero-shade{background:linear-gradient(90deg,rgba(17,20,17,.86),rgba(17,20,17,.35) 65%,rgba(17,20,17,.08)),linear-gradient(0deg,rgba(17,20,17,.7),transparent 40%)}.hero-copy{position:relative;padding-block:85px 65px}.hero h1{font-size:clamp(38px,4.65vw,67px);line-height:1.13;max-width:840px;text-wrap:balance}.hero-copy>p:not(.eyebrow){max-width:460px;margin-block:25px 30px;color:#f0f0eb;font-size:18px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;background:var(--orange);color:#20211f;padding:16px 25px;font-size:15px;font-weight:600;border:0;line-height:1.5;transition:background .2s}.button:hover{background:#ffb546}.button span{font-size:23px}.button.dark{background:#252623;color:white}.button.dark:hover{background:#41423e}.hero-bottom{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;padding-bottom:30px}.hero-bottom a{border-top:1px solid #ffffff65;padding-top:16px;font-size:15px}.hero-bottom span{display:block;font-size:10px;letter-spacing:.15em;color:#dddcd5;margin-bottom:8px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:42px}.section-head .intro{max-width:490px;color:var(--muted);font-size:19px;line-height:1.65}.text-link{display:inline-flex;gap:18px;align-items:center;font-weight:600;font-size:16px}.text-link span,.round-arrow{display:inline-grid;place-items:center;width:30px;height:30px;background:var(--orange);color:#222;border-radius:50%}.editorial-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:24px}.story{position:relative;min-height:440px;display:flex;align-items:flex-end;overflow:hidden;color:white;background:#41413c}.story>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}.story:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#141713e8,transparent 85%)}.story:hover>img{transform:scale(1.035)}.story-copy{position:relative;z-index:1;padding:32px;width:100%}.story h3{font-family:var(--display);font-size:clamp(22px,2.1vw,30px);font-weight:500;max-width:90%;line-height:1.3;letter-spacing:-.04em}.story .round-arrow{position:absolute;right:28px;bottom:32px}.story .eyebrow{font-size:10px}.services{background:var(--soft)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.service-grid article{border-top:1px solid #bebfb7;padding-top:25px;display:flex;flex-direction:column;align-items:flex-start}.service-number{font-family:var(--display);font-size:33px;color:#986000;margin-bottom:30px}.service-grid h3{font-family:var(--display);font-size:22px;line-height:1.4;font-weight:600;letter-spacing:-.04em}.service-grid p{color:var(--muted);margin:20px 0 30px}.service-grid a{font-weight:600;font-size:14px;margin-top:auto;border-bottom:1px solid var(--orange);padding-bottom:5px}.feature{min-height:520px;position:relative;display:flex;align-items:center;background:#333;color:white}.feature-shade{background:linear-gradient(90deg,#19201ae6,#19201a40)}.feature>.wrap{position:relative;padding-block:80px}.feature h2{font-size:clamp(34px,4.2vw,58px);line-height:1.2}.feature p:not(.eyebrow){max-width:430px;margin-block:25px 30px}.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 25px}.resource-card{position:relative;min-width:0}.resource-image{position:relative;aspect-ratio:1.58;background:var(--soft);overflow:hidden;display:block}.resource-image img{height:100%;width:100%;object-fit:cover;transition:transform .4s}.resource-image:hover img{transform:scale(1.04)}.resource-type{font-size:10px;letter-spacing:.1em;font-weight:600;position:absolute;bottom:14px;left:14px;padding:5px 9px;background:#fff;color:#333}.resource-card .meta{font-size:11px;letter-spacing:.08em;color:var(--muted);margin-top:19px;padding-right:34px;text-transform:uppercase}.resource-card h3{font-family:var(--display);font-size:22px;font-weight:600;letter-spacing:-.045em;line-height:1.4;margin-top:10px}.resource-card h3 a:hover{text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:5px}.resource-card>p{font-size:15px;color:var(--muted);margin-top:12px}.bookmark{position:absolute;right:0;top:calc((100vw - 146px)/3 / 1.58 + 15px);background:white;border:1px solid var(--line);width:30px;height:30px;font-size:18px;display:grid;place-items:center}.bookmark[aria-pressed=true]{background:var(--orange);border-color:var(--orange)}.contact{background:#ffab20;padding-block:65px}.contact-inner{display:flex;align-items:center;justify-content:space-between;gap:35px}.contact .eyebrow{color:#4d3c22}.contact h2{font-size:clamp(28px,3vw,40px)}.contact p:not(.eyebrow){margin-top:18px}.site-footer{background:#242522;color:#dddcd5;padding:55px 0 25px}.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px}.footer-logo{width:195px;background:white;padding:10px}.footer-top p{font-size:14px;max-width:290px;margin-top:20px;color:#bcbdb6}.footer-top h3{font-size:13px;letter-spacing:.08em;margin-bottom:18px;color:white}.footer-top a:not(.logo){display:block;font-size:14px;margin-bottom:10px}.footer-top a:hover{color:#ffc46b}.footer-bottom{border-top:1px solid #55564e;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:11px;margin-top:45px;padding-top:20px;color:#bcbdb6}.portal-intro{padding-block:65px 45px}.portal-intro h1{font-size:clamp(42px,5.6vw,78px)}.portal-intro h1>span{color:var(--orange)}.portal-intro-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-top:30px}.portal-intro-bottom p{max-width:570px;color:var(--muted);font-size:19px}.portal-sign{font-size:10px;letter-spacing:.15em;white-space:nowrap}.portal-feature .story{min-height:400px}.portal-feature img{object-position:center 40%}.portal-feature h2{font-size:clamp(28px,3.3vw,44px);margin-bottom:20px}.portal-feature .text-link{color:#fff;font-size:15px}.portal-feature .story:after{background:linear-gradient(90deg,#141713de,transparent)}.library{padding-top:70px}.outline-button{border:1px solid #a7a8a0;background:white;padding:10px 16px;font-size:14px;white-space:nowrap}.outline-button[aria-pressed=true]{background:#292a25;color:white}.outline-button span{display:inline-block;margin-left:8px;color:#995900}.outline-button[aria-pressed=true] span{color:#ffc46b}.search-form label{display:block;font-size:13px;margin-bottom:9px}.search-box{border:1px solid #a7a8a0;display:flex;max-width:100%;height:58px}.search-box input{border:0;flex:1;min-width:0;padding:15px 20px;background:white;color:var(--ink);font-size:17px}.search-box button{width:58px;background:var(--orange);border:0;font-size:26px}.filter-row{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);margin-top:25px;padding-bottom:20px}.filter-tabs{display:flex;flex-wrap:wrap;gap:8px}.filter-tabs button{border:1px solid transparent;background:none;padding:8px 14px;font-size:14px}.filter-tabs button[aria-pressed=true]{background:#282924;color:white}.filter-tabs button:hover{border-color:#a7a8a0}.topic-label{display:flex;align-items:center;gap:10px;font-size:12px;white-space:nowrap}.topic-label select{font-size:13px;border:1px solid var(--line);background:white;padding:8px;max-width:175px}.result-count{font-size:12px;color:var(--muted);margin-block:20px 30px}.editorial-note{border-top:1px solid var(--line);font-size:12px;color:var(--muted);margin-top:50px;padding-top:20px;max-width:850px}.empty{text-align:center;background:var(--soft);padding:50px 20px}.empty p{margin-block:15px 25px}.resource-detail{padding-block:50px 80px}.breadcrumb{font-size:13px;color:var(--muted);margin-bottom:45px}.detail-heading{max-width:900px}.detail-heading h1{font-size:clamp(34px,4.5vw,60px);line-height:1.17}.detail-heading .intro{font-size:21px;color:var(--muted);max-width:750px;margin-top:26px}.detail-tools{display:flex;gap:15px;flex-wrap:wrap;margin-block:30px}.detail-hero{width:100%;max-height:550px;object-fit:cover;margin-block:30px}.article-body{max-width:760px;margin-inline:auto}.article-body h2{font-size:28px;margin:40px 0 18px}.article-body p{font-size:19px;line-height:1.8;margin-block:20px}.article-body li{font-size:18px;margin-bottom:15px}.article-body .eyebrow{font-size:11px}.infographic-preview{width:100%;border:1px solid var(--line)}.video-frame{width:100%;aspect-ratio:16/9;border:0}.video-consent{background:var(--soft);padding:35px;margin-block:30px}.video-consent p{font-size:16px}.download-panel{background:var(--soft);padding:30px;border-left:4px solid var(--orange);margin-block:30px}.download-panel h2{margin-top:0}.download-panel p{font-size:16px}.related{margin-top:65px;border-top:1px solid var(--line);padding-top:35px}.related h2{font-size:28px;margin-bottom:25px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:50;background:#222;color:white;padding:12px 25px;box-shadow:0 4px 30px #0002;font-size:14px;display:none}#toast.visible{display:block}[hidden]{display:none!important}
@media(min-width:1376px){.bookmark{top:275px}}@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.brand-note{display:none}.header-top{min-height:85px}.logo img{width:175px}.hero{min-height:650px}.hero h1{font-size:54px}.section-head{gap:30px}.section-head .intro{max-width:45%;font-size:17px}.service-grid{gap:25px}.service-grid h3{font-size:20px}.resource-card h3{font-size:20px}.filter-row{align-items:flex-start;flex-direction:column}.bookmark{top:calc((100vw - 98px)/3 / 1.58 + 15px)}.portal-sign{display:none}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.header-top{min-height:78px;gap:15px}.logo img{width:155px}.header-actions>a{display:none}.menu-toggle{display:block}.main-nav{display:none;flex-direction:column;gap:0;align-items:stretch;padding-block:10px}.main-nav.open{display:flex}.main-nav a{padding-block:13px}.nav-end{display:none}.hero{min-height:710px}.hero h1{font-size:39px}.hero-copy{padding-block:65px 45px}.hero-photo{object-position:62% center}.hero-shade{background:linear-gradient(90deg,#111411d9,#11141180),linear-gradient(0deg,#111411b3,transparent)}.hero-copy>p:not(.eyebrow){font-size:17px;max-width:340px}.hero-bottom{grid-template-columns:1fr;gap:12px;padding-bottom:25px}.hero-bottom a{font-size:12px;padding-top:10px}.hero-bottom span{font-size:9px;display:inline;margin-right:12px}.hero-bottom a:nth-child(3){display:none}.section{padding-block:55px}.section-head{display:block;margin-bottom:30px}.section-head .intro{max-width:100%;margin-top:22px}.section-head>.text-link,.section-head>.outline-button{margin-top:22px}.editorial-grid,.service-grid,.resource-grid{grid-template-columns:1fr}.story{min-height:400px}.story-copy{padding:25px}.story h3{font-size:28px}.service-grid{gap:35px}.service-number{margin-bottom:20px}.service-grid h3{max-width:300px}.feature{min-height:480px}.feature h2{font-size:35px}.contact-inner{display:block}.contact-inner>.button{margin-top:30px}.footer-top{grid-template-columns:1fr 1fr;gap:35px}.footer-top>div:first-child{grid-column:1/-1}.portal-intro{padding-block:45px 30px}.portal-intro h1{font-size:43px}.portal-intro-bottom p{font-size:17px}.portal-feature .story{min-height:360px}.portal-feature .story-copy{padding:23px}.portal-feature h2{font-size:28px}.filter-tabs{gap:0}.filter-tabs button{padding:8px 10px;font-size:13px}.search-box input{font-size:15px;padding-inline:12px}.bookmark{top:calc((100vw - 40px) / 1.58 + 15px)}.resource-detail{padding-top:30px}.detail-heading h1{font-size:36px}.detail-heading .intro{font-size:18px}.article-body p{font-size:17px}.eyebrow{font-size:10px}.resource-card h3{font-size:23px}.button{gap:20px;padding:14px 20px;font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Compact navigation becomes a menu before labels wrap. */
.bookmark{top:12px!important;right:12px;z-index:2;width:36px;height:36px}
@media(max-width:1000px){.nav-end{display:none}.main-nav{gap:25px}}
@media(min-width:701px) and (max-width:850px){.menu-toggle{display:block}.header-actions>a{display:none}.main-nav{display:none;flex-direction:column;gap:0;align-items:stretch;padding-block:10px}.main-nav.open{display:flex}.main-nav a{padding-block:13px}}
.kit-strip{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:50px;padding-top:28px;border-top:1px solid #bebfb7}.kit-strip h3{font-family:var(--display);font-size:22px}.kit-strip p{max-width:650px;color:var(--muted);font-size:16px;margin-top:12px}.kit-strip a{white-space:nowrap;font-weight:600;border-bottom:1px solid var(--orange)}
@media(max-width:700px){.kit-strip{display:block}.kit-strip a{display:inline-block;margin-top:20px}}
/* Logotipo monocromático del footer: conserva la transparencia y el original. */
.site-footer .footer-logo {
  background: transparent;
  padding: 0;
  filter: brightness(0) invert(1);
}
/* Fotografía contextual para cada servicio, sin alterar su navegación. */
.service-photo {
  width: 100%;
  height: auto;
  aspect-ratio: 1.52;
  object-fit: cover;
  margin-bottom: 24px;
}
.service-grid article:nth-child(1) .service-photo { object-position: center 40%; }
.service-grid article:nth-child(2) .service-photo { object-position: center; }
.service-grid article:nth-child(3) .service-photo { object-position: center 60%; }
/* El ciclo integrado en órbita: seis etapas alrededor de la espiral de Bitanna. */
.ciclo {
  background: #1f1f1f radial-gradient(rgb(255 255 255 / .09) 1.5px, transparent 1.7px) 0 0 / 24px 24px;
  color: #fff;
  padding-block: 100px;
  overflow: clip; /* el anillo girado no debe abrir scroll horizontal */
}
.ciclo-head { display: grid; grid-template-columns: 1fr .8fr; gap: 24px 60px; align-items: end; }
.ciclo-head h2 { font-weight: 700; font-size: clamp(30px, 3.6vw, 52px); line-height: 1.08; letter-spacing: -.03em; max-width: 16ch; }
.ciclo-head p { color: #bdbdbd; font-size: 17px; line-height: 1.65; max-width: 52ch; }
.ciclo-grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: 64px; align-items: center; margin-top: 56px; }
.orbita { position: relative; width: 100%; max-width: 544px; aspect-ratio: 1; margin-inline: auto; }
.orbita svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.orbita-centro { position: absolute; inset: 30%; display: grid; place-items: center; border-radius: 50%; background: rgb(255 255 255 / .04); }
.orbita-centro img { width: 72%; height: auto; opacity: .95; }
.orbita-anillo { --giro: 0deg; position: absolute; inset: 0; transform: rotate(var(--giro)); transition: transform .9s cubic-bezier(.16, 1, .3, 1); }
.orbita-etapa { position: absolute; transform: translate(-50%, -50%); border: 0; padding: 0; background: none; border-radius: 50%; }
.orbita-etapa > span {
  display: grid; place-content: center; text-align: center; border-radius: 50%;
  width: clamp(64px, 11vw, 92px); height: clamp(64px, 11vw, 92px);
  font-family: var(--body); font-weight: 600; font-size: clamp(11px, 1.3vw, 13px); line-height: 1.1;
  transform: rotate(calc(var(--giro) * -1));
  transition: transform .9s cubic-bezier(.16, 1, .3, 1), width .9s cubic-bezier(.16, 1, .3, 1), height .9s cubic-bezier(.16, 1, .3, 1), box-shadow .3s, font-size .9s;
}
.orbita-etapa small { display: block; font-size: 11px; font-weight: 500; opacity: .8; margin-bottom: 4px; }
.orbita-etapa:hover > span { box-shadow: 0 0 0 3px rgb(255 255 255 / .5); }
.orbita-etapa[aria-pressed=true] > span {
  width: clamp(88px, 15vw, 124px); height: clamp(88px, 15vw, 124px); font-size: clamp(14px, 1.6vw, 17px);
  box-shadow: 0 0 0 4px rgb(255 255 255 / .9), 0 12px 40px rgb(0 0 0 / .45);
}
.etapa-ciclo { min-height: 352px; }
.etapa-ciclo h3 { display: flex; align-items: center; gap: 16px; font-family: var(--display); font-weight: 700; font-size: clamp(30px, 3.6vw, 52px); line-height: 1.08; letter-spacing: -.03em; }
.etapa-ciclo h3 span { width: 16px; height: 16px; flex-shrink: 0; border-radius: 50%; }
.etapa-pregunta { margin-top: 16px; max-width: 38ch; font-size: 19px; line-height: 1.6; color: #bdbdbd; }
.etapa-dato { margin-top: 12px; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #bdbdbd; }
.etapa-ciclo ul { list-style: none; margin: 32px 0 0; padding: 0; border-top: 1px solid rgb(255 255 255 / .12); }
.etapa-ciclo li { display: flex; align-items: center; gap: 16px; padding-block: 14px; border-bottom: 1px solid rgb(255 255 255 / .12); font-size: 16px; }
.etapa-ciclo li::before { content: ''; width: 6px; height: 6px; flex-shrink: 0; border-radius: 50%; background: var(--orange); }
.etapa-ciclo .text-link { margin-top: 32px; }
.ciclo .orbita-etapa:focus-visible, .ciclo a:focus-visible { outline-color: var(--orange); }
@media (max-width: 1000px) { .ciclo-grid { grid-template-columns: 1fr; gap: 40px; } .ciclo-head { grid-template-columns: 1fr; } .etapa-ciclo { min-height: 0; } }
@media (max-width: 700px) { .ciclo { padding-block: 60px; } .ciclo-grid { margin-top: 36px; } }
/* Acceso al autodiagnóstico desde la cabecera y la portada. */
.diag-link { border: 1px solid var(--ink); padding: 9px 16px; font-weight: 600; transition: background .2s, color .2s; }
.diag-link:hover, .diag-link[aria-current=page] { background: var(--ink); color: #fff; }
.nav-diag { display: none; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; }
.button.ghost { background: transparent; color: #fff; box-shadow: inset 0 0 0 1px #ffffffb0; }
.button.ghost:hover { background: #ffffff1f; }
.hero-note { margin-top: 12px; font-size: 14px; color: #e4e4de; }
.hero-copy:has(.hero-actions) { padding-block: 60px 44px; }
.hero-copy:has(.hero-actions) > p:not(.eyebrow):not(.hero-note) { margin-block: 20px 26px; }
@media (max-width: 850px) { .header-actions > .diag-link { display: none; } .main-nav .nav-diag { display: block; color: #ffc46b; } }

/* Autodiagnóstico de conocimiento crítico. */
.diag-intro { padding-block: 65px 40px; }
.diag-intro h1 { font-size: clamp(36px, 4.6vw, 64px); }
.diag-intro > p:not(.eyebrow) { max-width: 600px; margin-top: 24px; color: var(--muted); font-size: 19px; }
.diag { padding-bottom: 90px; }
.diag-grid { display: grid; grid-template-columns: 1fr minmax(0, 360px); gap: 56px; align-items: start; }
.diag-zona + .diag-zona { margin-top: 56px; }
.diag-zona-head { display: flex; justify-content: space-between; align-items: baseline; border-bottom: 1px solid var(--line); padding-bottom: 12px; }
.diag-zona-head h2 { font-size: 28px; }
.diag-zona-head span { font-size: 12px; letter-spacing: .12em; color: var(--muted); }
.diag-zona ol { list-style: none; margin: 0; padding: 0; }
.diag-zona li { border-bottom: 1px solid var(--line); padding: 24px 16px; transition: background .2s; }
.diag-zona li.respondida { background: #fff7e8; }
.diag-zona fieldset { border: 0; margin: 0; padding: 0; }
.diag-zona legend { font-family: var(--display); font-size: 21px; font-weight: 600; line-height: 1.35; letter-spacing: -.03em; margin-bottom: 14px; padding: 0; }
.diag-opcion { display: flex; align-items: flex-start; gap: 12px; padding: 10px 14px; border: 1px solid transparent; cursor: pointer; font-size: 16px; transition: border-color .2s, background .2s; }
.diag-opcion:hover { border-color: var(--line); background: #fff; }
.diag-opcion input { accent-color: #b56900; width: 17px; height: 17px; margin: 3px 0 0; flex-shrink: 0; }
.diag-opcion:has(input:checked) { border-color: var(--orange); background: #fff; }
.diag-opcion:has(input:focus-visible) { outline: 3px solid #b56900; outline-offset: 2px; }
.diag-panel { position: sticky; top: 24px; background: var(--soft); padding: 26px; }
.diag-panel-head { display: flex; justify-content: space-between; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); margin-bottom: 18px; }
.diag-barras { list-style: none; margin: 0 0 26px; padding: 0; display: grid; gap: 16px; }
.diag-barras li { display: grid; grid-template-columns: 1fr auto; gap: 6px 12px; font-size: 15px; }
.diag-barra-nombre { font-weight: 600; }
.diag-barra-nivel { font-size: 13px; color: var(--muted); }
.diag-barra { grid-column: 1 / -1; display: block; height: 8px; background: #fff; border: 1px solid var(--line); }
.diag-barra > span { display: block; height: 100%; background: #9a9b93; transition: width .4s; }
.diag-barra[data-nivel="0"] > span { background: #4f7d5c; }
.diag-barra[data-nivel="1"] > span { background: #3a5c84; }
.diag-barra[data-nivel="2"] > span { background: var(--orange); }
.diag-panel .button { width: 100%; }
.diag-panel .button:disabled { background: #dcdcd6; color: #686965; cursor: not-allowed; }
.diag-falta { margin-top: 12px; font-size: 14px; color: var(--muted); }
.diag-resultado { max-width: 900px; }
.diag-resultado h2 { font-size: clamp(30px, 3.6vw, 48px); max-width: 22ch; }
.diag-sintesis { margin-top: 20px; max-width: 62ch; font-size: 18px; color: var(--muted); line-height: 1.7; }
.diag-zonas-resultado { list-style: none; margin: 40px 0 0; padding: 0; border-top: 1px solid var(--line); }
.diag-zonas-resultado li { display: grid; grid-template-columns: 200px 1fr; gap: 12px 32px; padding-block: 22px; border-bottom: 1px solid var(--line); }
.diag-zonas-resultado h3 { font-family: var(--display); font-size: 22px; font-weight: 600; }
.diag-nivel { margin-top: 4px; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #3a5c84; }
.diag-nivel[data-nivel="0"] { color: #3f6a4b; }
.diag-nivel[data-nivel="2"] { color: #8a5900; }
.diag-zonas-resultado .diag-barra { margin: 6px 0 12px; }
.diag-zonas-resultado p:not(.diag-nivel) { color: var(--muted); font-size: 16px; }
.diag-acciones { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin-top: 36px; }
.diag-privacidad { margin-top: 36px; padding-top: 16px; border-top: 1px solid var(--line); font-size: 13px; color: var(--muted); }
@media (max-width: 1000px) { .diag-grid { grid-template-columns: 1fr; } .diag-panel { position: sticky; bottom: 0; top: auto; padding: 16px 20px; box-shadow: 0 -6px 24px #0000001a; } .diag-barras { display: none; } .diag-panel-head { margin-bottom: 10px; } }
@media (max-width: 700px) { .diag-intro { padding-block: 40px 28px; } .diag-zona li { padding-inline: 4px; } .diag-zona legend { font-size: 19px; } .diag-zonas-resultado li { grid-template-columns: 1fr; } }

/* Clientes: matriz de logos. */
.clientes .section-head { margin-bottom: 30px; }
.logos { --cols: 8; list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; }
.logos li { flex: 0 0 calc(100% / var(--cols)); min-width: 0; }
.logos li > a, .logos li > span { display: flex; align-items: center; justify-content: center; height: 78px; padding: 0 14px; }
.logos img { width: 100%; height: 58px; object-fit: contain; transition: transform .25s; }
.logos a:hover img, .logos a:focus-visible img { transform: scale(1.07); }
.logos a:focus-visible { outline-offset: -4px; }
.logo-nombre { font-family: var(--display); font-weight: 700; font-size: 19px; line-height: 1.2; letter-spacing: -.03em; text-align: center; color: #4a4b47; }
.logos a:hover .logo-nombre { color: #8a5900; }
@media (max-width: 1000px) { .logos { --cols: 5; } }
@media (max-width: 700px) { .logos { --cols: 3; } .logos li > a, .logos li > span { height: 64px; padding: 0 4px; } .logos img { height: 44px; } }

/* Diagnóstico organizacional: escala de 1 a 5, resultado general y gráfica. */
.diag-escala { margin-top: 30px; max-width: 900px; }
.diag-escala-titulo { font-size: 15px; font-weight: 600; margin-bottom: 10px; }
.diag-escala ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 22px; font-size: 15px; color: var(--muted); }
.diag-escala strong { display: inline-grid; place-items: center; width: 24px; height: 24px; margin-right: 6px; border-radius: 50%; background: var(--soft); color: var(--ink); font-size: 13px; }
.diag-num { color: #8a5900; }
.diag-escala-opciones { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; }
.diag-valor { position: relative; display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 10px 6px; border: 1px solid var(--line); background: #fff; cursor: pointer; text-align: center; transition: border-color .2s, background .2s; }
.diag-valor input { position: absolute; opacity: 0; pointer-events: none; }
.diag-valor-num { font-family: var(--display); font-size: 20px; font-weight: 700; line-height: 1; }
.diag-valor-texto { font-size: 12.5px; line-height: 1.25; color: var(--muted); }
.diag-valor:hover { border-color: #a7a8a0; }
.diag-valor:has(input:checked) { border-color: var(--orange); background: #fff3dd; }
.diag-valor:has(input:checked) .diag-valor-texto { color: var(--ink); }
.diag-valor:has(input:focus-visible) { outline: 3px solid #b56900; outline-offset: 2px; }
.diag-barra[data-nivel="0"] > span { background: #9a9b93; }
.diag-barra[data-nivel="1"] > span { background: #4f7d5c; }
.diag-barra[data-nivel="2"] > span { background: #3a5c84; }
.diag-barra[data-nivel="3"] > span { background: #f0a020; }
.diag-barra[data-nivel="4"] > span { background: var(--orange); }
.diag-general { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }
.diag-puntaje { display: flex; align-items: baseline; gap: 8px; }
.diag-puntaje strong { font-family: var(--display); font-size: clamp(56px, 7vw, 88px); line-height: 1; color: #8a5900; }
.diag-puntaje span { font-size: 18px; color: var(--muted); }
.diag-general h2 { font-size: clamp(30px, 3.6vw, 46px); }
.diag-rango { margin-top: 6px; font-size: 15px; color: var(--muted); }
.diag-grafica { display: block; width: 100%; max-width: 760px; height: auto; margin: 36px 0 10px; }
.g-linea { stroke: #e4e4de; stroke-width: 1; }
.g-base { stroke: #a7a8a0; stroke-width: 1; }
.g-eje { font: 13px var(--body); fill: #686965; }
.g-area { fill: var(--orange); fill-opacity: .55; }
.g-borde { fill: none; stroke: #e08f00; stroke-width: 2.5; stroke-linejoin: round; }
.g-punto { fill: #fff; stroke: #e08f00; stroke-width: 2.5; }
.g-valor { font: 700 15px var(--body); fill: #222321; }
.g-cat { font: 600 13.5px var(--body); fill: #222321; }
.diag-niveles { margin-top: 36px; }
.diag-niveles h3 { font-family: var(--display); font-size: 20px; font-weight: 600; margin-bottom: 12px; }
.diag-niveles ol { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; }
.diag-niveles li { padding: 12px; background: var(--soft); font-size: 14px; }
.diag-niveles li strong { display: block; font-size: 15px; }
.diag-niveles li span { color: var(--muted); }
.diag-niveles li.actual { background: #fff3dd; box-shadow: inset 0 0 0 2px var(--orange); }
.diag-propiedad { margin-top: 40px; font-size: 13px; color: var(--muted); }
@media (max-width: 700px) {
  .diag-escala-opciones { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 4px; }
  .diag-valor { padding: 8px 2px; }
  .diag-valor-texto { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .diag-niveles ol { grid-template-columns: 1fr; }
  .g-cat { font-size: 20px; }
  .g-valor { font-size: 23px; }
  .g-eje { font-size: 20px; }
  .g-punto { r: 8; }
}

/* Llamado a pasar al siguiente nivel: formulario del plan de acción. */
.diag-plan, .diag-plan-listo { margin-top: 40px; padding: 32px; background: #fff3dd; border-left: 4px solid var(--orange); }
.diag-plan h3, .diag-plan-listo h3 { font-family: var(--display); font-size: clamp(24px, 2.6vw, 34px); font-weight: 600; letter-spacing: -.03em; }
.diag-plan-intro, .diag-plan-listo p { margin-top: 10px; max-width: 60ch; font-size: 17px; }
.diag-plan-campos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 20px; margin-top: 24px; }
.diag-plan-campos label { display: grid; gap: 6px; align-content: start; font-size: 14px; font-weight: 600; }
.diag-plan-campos label span { font-weight: 400; color: var(--muted); }
.diag-plan-campos input { width: 100%; padding: 12px 14px; border: 1px solid #a7a8a0; background: #fff; color: var(--ink); font-size: 16px; }
.diag-plan-campos input:focus-visible { outline: 3px solid #b56900; outline-offset: 1px; }
.diag-plan-acepto { display: flex; align-items: flex-start; gap: 10px; margin-top: 20px; font-size: 15px; cursor: pointer; }
.diag-plan-acepto input { width: 18px; height: 18px; margin-top: 2px; flex-shrink: 0; accent-color: #b56900; }
.diag-plan-acepto a { text-decoration: underline; text-underline-offset: 3px; }
.diag-plan-error { margin-top: 14px; padding: 10px 14px; background: #fff; border-left: 3px solid #ca3e2c; color: #9c2b1d; font-size: 15px; }
.diag-plan .diag-acciones { margin-top: 24px; }
.diag-plan-nota { font-size: 14px; color: var(--muted); }
.diag-plan-nota a { text-decoration: underline; }
@media (max-width: 700px) { .diag-plan, .diag-plan-listo { padding: 22px 18px; } .diag-plan-campos { grid-template-columns: 1fr; } }

/* Política de tratamiento de datos personales. */
.politica { max-width: 820px; padding-block: 60px 90px; }
.politica h1 { font-size: clamp(34px, 4.4vw, 56px); }
.politica-version { margin-top: 14px; font-size: 14px; color: var(--muted); }
.politica h2 { font-size: 22px; margin: 44px 0 12px; letter-spacing: -.02em; }
.politica p { margin-top: 12px; font-size: 16px; line-height: 1.7; }
.politica a { text-decoration: underline; text-underline-offset: 3px; }
.diag-plan-listo:focus { outline: none; }

/* El texto de cada etapa entra suave cuando el ciclo avanza. */
@media (prefers-reduced-motion: no-preference) { .etapa-ciclo > * { animation: etapa-entra .6s cubic-bezier(.16, 1, .3, 1) both; } .etapa-ciclo > :nth-child(2) { animation-delay: .05s; } .etapa-ciclo > :nth-child(n+3) { animation-delay: .1s; } }
@keyframes etapa-entra { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }

.diag-trampa { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.diag-plan .button:disabled { background: #dcdcd6; color: #686965; cursor: not-allowed; }
.diag-plan-error a { text-decoration: underline; }

/* Color de la respuesta: 1 y 2 rojizo, 3 ámbar, 4 y 5 verde. La fila se tiñe suave con el mismo tono. */
.diag-zona li[data-valor="1"], .diag-zona li[data-valor="2"] { background: #fdecea; }
.diag-zona li[data-valor="3"] { background: #fff4dc; }
.diag-zona li[data-valor="4"], .diag-zona li[data-valor="5"] { background: #e9f5ec; }
.diag-valor[data-v="1"]:has(input:checked), .diag-valor[data-v="2"]:has(input:checked) { background: #f6c9c3; border-color: #c0392b; }
.diag-valor[data-v="3"]:has(input:checked) { background: #ffd98a; border-color: #d08700; }
.diag-valor[data-v="4"]:has(input:checked), .diag-valor[data-v="5"]:has(input:checked) { background: #bfe5c8; border-color: #2e7d46; }
.diag-valor:has(input:checked) .diag-valor-num { color: #222321; }

/* Los extremos de la escala se distinguen: 1 en rojo más intenso, 5 en verde más vivo. */
.diag-zona li[data-valor="1"] { background: #fbdcd8; }
.diag-zona li[data-valor="5"] { background: #d5efdc; }
.diag-valor[data-v="1"]:has(input:checked) { background: #e0766d; border-color: #a12b1f; }
.diag-valor[data-v="5"]:has(input:checked) { background: #63bd7c; border-color: #1f6b37; }
.diag-valor[data-v="1"]:has(input:checked) .diag-valor-texto, .diag-valor[data-v="5"]:has(input:checked) .diag-valor-texto { color: #222321; }

/* Blog: índice y artículos. */
.blog-intro { padding-block: 65px 40px; }
.blog-intro h1 { font-size: clamp(38px, 5vw, 68px); }
.blog-intro > p:not(.eyebrow) { max-width: 600px; margin-top: 22px; color: var(--muted); font-size: 19px; }
.blog-lista { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px 40px; padding-bottom: 90px; }
.blog-tarjeta-img { display: grid; place-items: center; aspect-ratio: 16 / 10; background: #fff3dd; overflow: hidden; }
.blog-tarjeta-img img { width: 62%; height: 86%; object-fit: contain; transition: transform .4s; }
.blog-tarjeta-img:hover img { transform: scale(1.04); }
.blog-tarjeta .meta { margin-top: 18px; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.blog-tarjeta h2 { margin-top: 10px; font-size: clamp(22px, 2.2vw, 30px); line-height: 1.3; }
.blog-tarjeta h2 a:hover { text-decoration: underline; text-decoration-color: var(--orange); text-underline-offset: 5px; }
.blog-tarjeta > p:not(.meta) { margin: 12px 0 18px; color: var(--muted); font-size: 16px; }
.blog-articulo { max-width: 780px; padding-block: 50px 90px; }
.blog-cabecera h1 { font-size: clamp(32px, 4.4vw, 54px); line-height: 1.15; }
.blog-autor { margin-top: 16px; color: var(--muted); font-size: 16px; }
.blog-figura { margin: 36px 0; display: grid; place-items: center; padding: 30px; background: #fff3dd; }
.blog-figura img { width: auto; max-width: min(100%, 420px); height: auto; }
.blog-cuerpo p, .blog-cuerpo li { font-size: 18.5px; line-height: 1.8; }
.blog-cuerpo p { margin-block: 18px; }
.blog-cuerpo ul, .blog-cuerpo ol { margin: 18px 0; padding-left: 24px; }
.blog-cuerpo li { margin-bottom: 10px; }
.blog-cuerpo blockquote { margin: 28px 0; padding: 6px 0 6px 22px; border-left: 4px solid var(--orange); font-family: var(--display); font-size: 21px; line-height: 1.55; }
.blog-cuerpo blockquote p { font-size: inherit; margin: 0; }
.blog-cuerpo a { text-decoration: underline; text-decoration-color: var(--orange); text-underline-offset: 4px; }
.blog-relacionados { margin-top: 60px; padding-top: 32px; border-top: 1px solid var(--line); }
.blog-relacionados h2 { font-size: 26px; margin-bottom: 18px; }
.blog-relacionados ul { list-style: none; margin: 0 0 28px; padding: 0; display: grid; gap: 14px; }
.blog-relacionados li a { display: flex; align-items: center; gap: 18px; }
.blog-relacionados img { width: 84px; height: 84px; object-fit: contain; background: #fff3dd; padding: 6px; flex-shrink: 0; }
.blog-relacionados strong { display: block; font-family: var(--display); font-size: 18px; font-weight: 600; line-height: 1.35; }
.blog-relacionados small { color: var(--muted); font-size: 14px; }
.blog-relacionados li a:hover strong { text-decoration: underline; text-decoration-color: var(--orange); }
@media (max-width: 700px) { .blog-lista { grid-template-columns: 1fr; gap: 44px; } .blog-cuerpo p, .blog-cuerpo li { font-size: 17px; } .blog-figura { padding: 18px; } }

/* Servicios, Mentorías y KIT Mapa de Conocimiento. */
.svc-intro { padding-block: 65px 50px; }
.svc-intro h1 { font-size: clamp(36px, 4.8vw, 66px); max-width: 18ch; }
.svc-intro > p:not(.eyebrow) { margin-top: 22px; max-width: 560px; color: var(--muted); font-size: 19px; }
.svc-indice { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 32px; }
.svc-indice a { padding: 10px 16px; border: 1px solid #a7a8a0; font-size: 15px; font-weight: 600; transition: background .2s, color .2s; }
.svc-indice a:hover { background: var(--ink); color: #fff; border-color: var(--ink); }
.svc-porque { background: var(--soft); padding-block: 70px; }
.svc-porque h2 { font-size: clamp(28px, 3vw, 42px); max-width: 22ch; }
.svc-porque .wrap > p { margin-top: 14px; max-width: 60ch; color: var(--muted); font-size: 18px; }
.svc-motivos { list-style: none; margin: 30px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.svc-motivos li { padding: 12px 20px; background: var(--orange); color: #20211f; font-weight: 600; font-size: 16px; border-radius: 999px; }
.svc-beneficios { list-style: none; margin: 30px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 40px; }
.svc-beneficios li { display: flex; gap: 14px; align-items: flex-start; font-size: 17px; line-height: 1.5; }
.svc-beneficios li::before { content: ''; width: 10px; height: 10px; margin-top: 8px; flex-shrink: 0; border-radius: 50%; background: var(--orange); }
.svc-bloque { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 60px; align-items: center; padding-block: 80px; border-bottom: 1px solid var(--line); }
.svc-bloque-invertido .svc-foto { order: 2; }
.svc-foto { margin: 0; }
.svc-foto img { width: 100%; height: auto; aspect-ratio: 4 / 4.2; object-fit: cover; }
.svc-texto h2 { font-size: clamp(28px, 3vw, 42px); }
.svc-texto > p:not(.eyebrow) { margin-top: 16px; max-width: 54ch; color: var(--muted); font-size: 18px; }
.svc-lista { list-style: none; margin: 24px 0 0; padding: 0; border-top: 1px solid var(--line); }
.svc-lista li { display: flex; gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--line); font-size: 16.5px; }
.svc-lista li::before { content: '↗'; color: #b56900; font-weight: 700; }
.svc-paquetes { list-style: none; margin: 26px 0 0; padding: 0; display: flex; gap: 12px; }
.svc-paquetes li { display: grid; place-items: center; min-width: 96px; padding: 16px 20px; background: #fff3dd; border-left: 3px solid var(--orange); }
.svc-paquetes strong { font-family: var(--display); font-size: 34px; line-height: 1; }
.svc-paquetes span { font-size: 14px; color: var(--muted); }
.svc-acciones { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; margin-top: 30px; }
.svc-productos { padding-block: 80px; background: var(--soft); }
.svc-productos h2 { font-size: clamp(28px, 3vw, 42px); margin-bottom: 30px; }
.svc-productos-grid { display: grid; grid-template-columns: 1fr; gap: 20px; max-width: 980px; }
.svc-producto { background: #fff; padding: 28px; display: flex; flex-direction: column; gap: 12px; }
.svc-producto h3 { font-family: var(--display); font-size: 24px; font-weight: 600; letter-spacing: -.03em; }
.svc-producto p { color: var(--muted); font-size: 16px; }
.svc-producto .text-link { margin-top: auto; }
.svc-producto-kit { flex-direction: row; align-items: center; gap: 24px; padding: 0; }
.svc-producto-kit img { width: 46%; align-self: stretch; object-fit: cover; aspect-ratio: 4 / 3; }
.svc-producto-kit > div { display: flex; flex-direction: column; gap: 14px; padding: 36px 36px 36px 0; }
.svc-producto-kit h3 { font-size: 30px; }
.svc-producto-kit p { font-size: 17px; }
.svc-hero { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 60px; align-items: center; padding-block: 50px 70px; }
.svc-hero h1 { font-size: clamp(36px, 4.6vw, 62px); }
.svc-hero h1 + p { margin: 22px 0 30px; max-width: 52ch; color: var(--muted); font-size: 19px; }
.svc-hero .breadcrumb { margin-bottom: 30px; }
.planes { padding-block: 80px; }
.planes h2 { font-size: clamp(28px, 3vw, 42px); }
.planes-nota { margin-top: 10px; color: var(--muted); font-size: 15px; }
.planes-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 30px; align-items: stretch; }
.planes-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 900px; }
.plan { position: relative; display: flex; flex-direction: column; padding: 30px; border: 1px solid var(--line); background: #fff; }
.plan-destacado { border: 2px solid var(--orange); background: #fffaf0; }
.plan-etiqueta { position: absolute; top: -13px; left: 28px; padding: 3px 12px; background: var(--orange); font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.plan h3 { font-family: var(--display); font-size: 26px; font-weight: 600; letter-spacing: -.03em; }
.plan-horas { margin-top: 4px; color: #8a5900; font-weight: 600; }
.plan-precio { margin-top: 18px; font-size: 16px; color: var(--muted); }
.plan-precio strong { font-family: var(--display); font-size: 36px; color: var(--ink); letter-spacing: -.03em; }
.plan-precio span { display: block; margin-top: 2px; font-size: 16px; }
.plan ul { list-style: none; margin: 20px 0 24px; padding: 0; display: grid; gap: 10px; }
.plan li { display: flex; gap: 10px; font-size: 15.5px; line-height: 1.45; }
.plan li::before { content: '✓'; color: #2e7d46; font-weight: 700; }
.plan-pagar { margin-top: auto; display: grid; gap: 10px; }
.plan-pagar .button, .plan-pagar .outline-button { justify-content: center; text-align: center; }
.planes-org { margin-top: 26px; font-size: 16px; color: var(--muted); }
.planes-org a, .svc-terminos a { text-decoration: underline; text-underline-offset: 3px; }
.svc-agenda { background: #242522; color: #fff; padding-block: 70px; }
.svc-agenda-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: start; }
.svc-agenda h2 { font-size: clamp(28px, 3vw, 40px); }
.svc-agenda-grid > div > p:not(.eyebrow) { margin: 14px 0 26px; color: #dddcd5; font-size: 17px; max-width: 46ch; }
.svc-terminos { padding: 26px; background: #33342f; }
.svc-terminos h3 { font-family: var(--display); font-size: 20px; font-weight: 600; margin-bottom: 12px; }
.svc-terminos ul { margin: 0; padding-left: 20px; display: grid; gap: 8px; font-size: 15px; color: #dddcd5; }
.svc-terminos p { font-size: 15.5px; color: #dddcd5; }
.svc-agenda .button.dark { background: var(--orange); color: #20211f; }
@media (max-width: 1000px) {
  .svc-bloque, .svc-hero, .svc-agenda-grid { grid-template-columns: 1fr; gap: 32px; }
  .svc-bloque-invertido .svc-foto { order: 0; }
  .svc-foto img { aspect-ratio: 16 / 10; }
  .planes-grid, .planes-grid-2 { grid-template-columns: 1fr; max-width: 560px; }
  .svc-productos-grid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .svc-intro { padding-block: 40px 36px; }
  .svc-bloque { padding-block: 50px; }
  .svc-beneficios { grid-template-columns: 1fr; }
  .svc-motivos li { font-size: 15px; padding: 10px 16px; }
  .svc-producto-kit { flex-direction: column; }
  .svc-producto-kit img { width: 100%; aspect-ratio: 16 / 9; }
  .svc-producto-kit > div { padding: 0 24px 24px; }
}

/* Servicios: el KIT Mapa de Conocimiento va primero, como destacado. */
.svc-mapa { background: var(--orange); color: #20211f; padding-block: 70px; }
.svc-mapa-grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: 56px; align-items: center; }
.svc-mapa-foto { margin: 0; }
.svc-mapa-foto img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; box-shadow: 0 18px 40px #0000002e; }
.svc-mapa .eyebrow { color: #4d3c22; }
.svc-mapa h2 { font-size: clamp(32px, 3.8vw, 52px); line-height: 1.12; }
.svc-mapa-texto > p:not(.eyebrow):not(.svc-mapa-precio) { margin-top: 18px; max-width: 50ch; font-size: 18.5px; line-height: 1.6; }
.svc-mapa-incluye { list-style: none; margin: 24px 0 0; padding: 0; display: grid; gap: 10px; }
.svc-mapa-incluye li { display: flex; gap: 12px; font-size: 16.5px; font-weight: 500; }
.svc-mapa-incluye li::before { content: '✓'; font-weight: 700; }
.svc-mapa-precio { margin-top: 24px; font-size: 16px; }
.svc-mapa-precio strong { font-family: var(--display); font-size: 26px; }
.svc-mapa .button { background: #252623; color: #fff; }
.svc-mapa .button:hover { background: #41423e; }
.svc-mapa .text-link span { background: #252623; color: #fff; }
@media (max-width: 1000px) { .svc-mapa-grid { grid-template-columns: 1fr; gap: 32px; } .svc-mapa-foto img { aspect-ratio: 16 / 11; } }
@media (max-width: 700px) { .svc-mapa { padding-block: 50px; } }
