/* Instituto Mate-Online · Fase 2. Estilos limitados a las tres secciones. */
.phase-two{--p2-navy:#092b59;--p2-blue:#0867c9;--p2-text:#365373;--p2-border:#cddff2;font-family:"Segoe UI Variable Display","Segoe UI",Arial,sans-serif;color:var(--p2-navy);scroll-margin-top:24px}
.phase-two [hidden]{display:none!important}
.p2-wrap{width:min(1240px,calc(100% - 96px));margin-inline:auto}
.p2-levels,.p2-catalog{padding:76px 0 70px;background:#fff}
.p2-levels{background:linear-gradient(180deg,#fff 20%,#f5faff)}
.p2-heading{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:end;margin-bottom:34px}
.p2-eyebrow{display:flex;align-items:center;gap:9px;color:#245a91;font-size:11px;line-height:1.5;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin:0 0 14px}
.p2-eyebrow:before{content:"";width:24px;height:2px;background:#1683df;flex:0 0 auto}
.phase-two h2{font-size:clamp(32px,3vw,42px);font-weight:700;line-height:1.17;letter-spacing:-.04em;margin:0}
.p2-intro{font-size:16px;line-height:1.8;color:var(--p2-text);margin:0;max-width:510px}
.p2-level-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.p2-level-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--p2-border);border-radius:23px;overflow:hidden;box-shadow:0 10px 28px #16497b09}
.p2-level-art{position:relative;display:flex;align-items:center;height:110px;padding:21px 24px;background:linear-gradient(120deg,#e9f5ff,#f9fcff);overflow:hidden;border-bottom:1px solid #e0edf9}
.p2-level-art:after{content:"";position:absolute;right:-17px;top:-24px;width:122px;height:122px;border:1px solid #c1def6;border-radius:50%;box-shadow:0 0 0 18px #e0f0fc}
.p2-level-art>svg{width:61px;height:61px;fill:none;stroke:#0965bf;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;position:relative;z-index:1}
.p2-level-number{margin-left:auto;align-self:end;font-size:13px;font-weight:700;letter-spacing:.07em;color:#476d97;position:relative;z-index:1}
.p2-level-body{display:flex;flex-direction:column;flex:1;padding:24px 21px 22px}
.p2-level-caption{font-size:10px;font-weight:700;line-height:1.5;letter-spacing:.08em;text-transform:uppercase;color:#38638f;margin-bottom:9px}
.phase-two h3{color:var(--p2-navy);font-weight:700;letter-spacing:-.025em}
.p2-level-body h3{font-size:25px;line-height:1.2;margin:0 0 13px}
.p2-level-body p{font-size:14px;line-height:1.75;color:var(--p2-text);margin:0 0 24px;flex:1}
.p2-contact-link{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:11px 12px;border:1px solid #648ec0;border-radius:24px;font-size:13px;font-weight:650;color:#0a4d99;background:#fff;transition:background .15s,border-color .15s}
.p2-contact-link>svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.p2-contact-link>span{margin-left:auto;font-size:18px;font-weight:400}
.p2-contact-link:hover{background:#eaf5ff;border-color:#4b87c7}
.p2-availability{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.75;color:#3b597a;margin:23px 0 0}
.p2-availability>svg{width:19px;height:19px;flex:0 0 auto;fill:none;stroke:#315f92;stroke-width:1.7;margin-top:2px}
.p2-diagnosis{padding:52px 0;background:#f1f7fd}
.p2-diagnostic-panel{display:grid;grid-template-columns:1.18fr .82fr;gap:62px;align-items:center;padding:47px 48px;border:1px solid #124d91;border-radius:28px;background:linear-gradient(118deg,#08356f,#075ab4);box-shadow:0 15px 36px #123d7c12;color:#fff;position:relative;overflow:hidden}
.p2-diagnostic-panel:after{content:"";position:absolute;right:-100px;bottom:-260px;width:650px;height:460px;border:1px solid #ffffff1c;border-radius:50%;box-shadow:0 0 0 28px #ffffff05;pointer-events:none}
.p2-diagnostic-copy,.p2-learning-map{position:relative;z-index:1;min-width:0}
.p2-diagnostic-copy .p2-eyebrow{color:#d5eaff}.p2-diagnostic-copy .p2-eyebrow:before{background:#7bcaff}
.p2-diagnostic-copy h2{color:#fff;max-width:510px;font-size:39px}
.p2-diagnostic-lead{font-size:16px;line-height:1.75;color:#e0edfc;margin:18px 0 22px;max-width:540px}
.p2-diagnostic-benefits{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:13px}
.p2-diagnostic-benefits li{display:flex;align-items:center;gap:10px;font-size:14px;color:#f4f8ff;line-height:1.55}
.p2-diagnostic-benefits svg{width:22px;height:22px;flex:0 0 auto;fill:#ffffff0d;stroke:#a8dcff;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.p2-diagnostic-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.p2-diagnostic-button{display:inline-flex;align-items:center;justify-content:center;gap:18px;background:#fff;color:#0b468e;min-height:49px;padding:13px 22px;border:1px solid #fff;border-radius:28px;font-size:14px;font-weight:700;transition:background .15s}
.p2-diagnostic-button:hover{background:#dfedff}
.p2-pending{font-size:12px;line-height:1.5;color:#e2efff;margin:13px 0 0;display:flex;align-items:center;gap:7px}
.p2-pending:before{content:"";height:6px;width:6px;border-radius:50%;background:#b6dcff;flex:0 0 auto}
.p2-learning-map{background:#f7fbff;border:1px solid #b8d8fa;border-radius:22px;padding:24px 24px 20px;box-shadow:0 15px 30px #00224d21;color:var(--p2-navy)}
.p2-map-heading{display:flex;align-items:center;gap:12px;border-bottom:1px solid #d7e6f6;padding-bottom:18px;margin-bottom:20px}
.p2-map-heading>svg{width:46px;height:46px;fill:none;stroke:#0767c9;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.p2-map-heading>div>span{display:block;font-size:10px;line-height:1.5;letter-spacing:.09em;font-weight:700;color:#41638b}
.p2-map-heading strong{display:block;font-size:20px;line-height:1.25;margin-top:5px;letter-spacing:-.025em;font-weight:700}
.p2-map-row{display:flex;align-items:center;gap:12px;padding:13px 12px;margin-bottom:10px;background:#fff;border:1px solid #d6e5f6;border-radius:12px;font-size:13px;line-height:1.5;font-weight:600}
.p2-map-row>span{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:#e5f2ff;color:#0c5eb6;font-size:12px;font-weight:700;flex:0 0 auto}
.p2-map-caption{font-size:11px;line-height:1.7;color:#466486;margin:17px 0 0}
.p2-catalog{border-top:1px solid #e0eaf6;padding-bottom:78px}
.p2-catalog .p2-heading{margin-bottom:28px}
.p2-catalog-toolbar{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:20px 0;border-top:1px solid #dfe9f5;border-bottom:1px solid #dfe9f5;margin-bottom:14px;flex-wrap:wrap}
.p2-category-group{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.p2-filter{border:1px solid #b5cde8;border-radius:23px;background:#fff;color:#294f7c;font-size:13px;font-weight:600;padding:11px 15px;min-height:43px;transition:background .15s,color .15s}
.p2-filter:hover{background:#eaf4ff}.p2-filter[aria-pressed="true"]{background:#075dbb;border-color:#075dbb;color:#fff}
.p2-search{display:block;min-width:230px;width:260px;position:relative;color:#355b85}
.p2-search>span{display:block;font-size:11px;font-weight:600;margin-bottom:7px}
.p2-search input{width:100%;min-height:44px;border:1px solid #9ebddf;border-radius:12px;padding:11px 35px 11px 13px;background:#fff;color:#092b59;font-size:14px;line-height:1.4}
.p2-search input::placeholder{color:#5b7290;opacity:1}
.p2-search>svg{position:absolute;right:12px;bottom:13px;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;pointer-events:none}
.p2-result-line{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:34px;margin-bottom:17px}
.p2-result-line>p{font-size:12px;line-height:1.6;color:#466383;margin:0}
.p2-clear{font-size:12px;color:#145da8;background:#fff;border:1px solid #b4cee8;border-radius:16px;padding:7px 11px;min-height:34px}
.p2-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}
.p2-course{display:flex;flex-direction:column;border:1px solid #cddff2;border-radius:22px;background:#fff;overflow:hidden;box-shadow:0 8px 25px #16497b08}
.p2-course-cover{height:157px;background:linear-gradient(125deg,#e9f4ff,#f7fbff);position:relative;border-bottom:1px solid #dceafa;overflow:hidden}
.p2-course-cover:after{content:"";position:absolute;right:-45px;bottom:-98px;width:280px;height:170px;transform:rotate(-20deg);border:1px solid #a9d1f4;border-radius:50%;box-shadow:0 0 0 17px #d8ecfc}
.p2-course-cover>svg{display:block;width:100%;height:100%;position:relative;z-index:1}
.p2-course-cover svg text{font-family:"Segoe UI",Arial,sans-serif;fill:#154c87}
.p2-course-body{padding:22px 23px 23px;display:flex;flex-direction:column;flex:1}
.p2-course-meta{font-size:12px;line-height:1.6;letter-spacing:.07em;text-transform:uppercase;color:#2c5178;font-weight:700;margin-bottom:10px}
.p2-course-body h3{font-size:23px;line-height:1.23;margin:0 0 12px}
.p2-course-body>p{font-size:14px;line-height:1.75;color:#365373;margin:0 0 21px;flex:1}
.p2-course-link{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #dfeaf6;padding-top:16px;min-height:44px;font-size:13px;line-height:1.5;font-weight:700;color:#085ab2}
.p2-course-link:hover{color:#043c82;text-decoration:underline;text-underline-offset:4px}
.p2-course-link>span{font-size:20px;line-height:1;font-weight:400}
.p2-course-empty{padding:35px 24px;border:1px dashed #93b6de;border-radius:20px;text-align:center;background:#f4f9ff}
.p2-course-empty h3{font-size:24px;margin:0 0 12px;line-height:1.25}.p2-course-empty p{font-size:15px;line-height:1.75;color:#365373;max-width:600px;margin:0 auto 20px}
.p2-empty-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.p2-empty-actions>*{min-height:44px;border:1px solid #7fa7d3;border-radius:24px;padding:11px 18px;background:#fff;color:#0c519f;font-size:13px;font-weight:600}
.p2-catalog-footer{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:26px}
.p2-catalog-footer p{font-size:12px;line-height:1.8;color:#496685;margin:0;max-width:600px}
.p2-more-courses{font-size:13px;font-weight:700;color:#0759af;padding:12px 0;white-space:nowrap;text-decoration:underline;text-underline-offset:4px}
.phase-two a:focus-visible,.phase-two button:focus-visible,.phase-two input:focus-visible{outline:3px solid #063e98;outline-offset:4px}
.p2-diagnostic-copy a:focus-visible{outline-color:#fff}
@media(max-width:1100px){.p2-wrap{width:calc(100% - 64px)}.p2-heading{gap:36px}.p2-level-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.p2-level-art{height:96px}.p2-level-body{padding:24px}.p2-level-body p{max-width:360px}.p2-diagnostic-panel{padding:37px 30px;gap:30px}.p2-diagnostic-copy h2{font-size:34px}.p2-learning-map{padding:21px 18px}.p2-map-heading strong{font-size:18px}.p2-course-body{padding:21px 19px}.p2-course-body h3{font-size:21px}.p2-category-group{gap:6px}.p2-filter{padding-inline:13px}.p2-search{width:100%}.p2-catalog-toolbar{align-items:start}}
@media(max-width:800px){.p2-wrap{width:calc(100% - 48px)}.p2-heading{grid-template-columns:1fr;gap:20px;margin-bottom:28px}.p2-intro{max-width:600px}.p2-levels,.p2-catalog{padding:58px 0}.p2-diagnosis{padding:38px 0}.p2-diagnostic-panel{grid-template-columns:1fr;gap:30px;padding:34px}.p2-diagnostic-copy h2{font-size:36px}.p2-learning-map{width:100%;max-width:520px;justify-self:center}.p2-course-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.p2-catalog-footer{align-items:start;flex-direction:column;gap:13px}}
@media(max-width:550px){.p2-wrap{width:calc(100% - 36px)}.p2-levels,.p2-catalog{padding:48px 0}.phase-two h2{font-size:32px;line-height:1.19}.p2-eyebrow{font-size:10px;letter-spacing:.09em;margin-bottom:12px}.p2-heading{gap:17px;margin-bottom:25px}.p2-intro{font-size:15px;line-height:1.75}.p2-level-grid{grid-template-columns:1fr;gap:17px}.p2-level-card{display:grid;grid-template-columns:76px 1fr;border-radius:19px}.p2-level-art{height:100%;padding:20px 12px;border-bottom:0;border-right:1px solid #dceafa;flex-direction:column;justify-content:start;gap:15px}.p2-level-art>svg{width:47px;height:47px}.p2-level-art:after{width:90px;height:90px;top:auto;bottom:-30px;right:-30px}.p2-level-number{margin-left:0;align-self:center;font-size:11px}.p2-level-body{padding:21px 18px}.p2-level-caption{font-size:10px;letter-spacing:.05em;margin-bottom:7px}.p2-level-body h3{font-size:24px;margin-bottom:10px}.p2-level-body p{font-size:14px;line-height:1.7;margin-bottom:18px}.p2-contact-link{font-size:12px;gap:6px;padding:10px 11px;min-height:45px}.p2-contact-link>svg{width:18px;height:18px}.p2-contact-link>span{margin-left:2px;font-size:16px}.p2-availability{font-size:12px;margin-top:20px}.p2-diagnosis{padding:26px 0}.p2-diagnostic-panel{padding:28px 22px;border-radius:22px;gap:27px}.p2-diagnostic-copy h2{font-size:31px;line-height:1.2}.p2-diagnostic-lead{font-size:15px;margin:17px 0 21px}.p2-diagnostic-benefits{gap:13px;margin-bottom:24px}.p2-diagnostic-benefits li{align-items:flex-start;font-size:13px}.p2-diagnostic-benefits svg{width:21px;height:21px;margin-top:1px}.p2-diagnostic-button{width:100%;font-size:13px;padding:13px 15px;gap:12px;min-height:49px}.p2-pending{font-size:11px;margin-top:13px}.p2-learning-map{padding:21px 16px 19px;border-radius:17px}.p2-map-heading{gap:9px}.p2-map-heading>svg{width:39px;height:39px}.p2-map-heading>div>span{font-size:10px;letter-spacing:.06em}.p2-map-heading strong{font-size:18px}.p2-map-row{font-size:12px;gap:8px;padding:12px 9px}.p2-map-caption{font-size:11px}.p2-filter{font-size:12px;padding:10px 13px;min-height:42px}.p2-category-group{gap:7px}.p2-catalog-toolbar{gap:17px;padding:18px 0}.p2-search{min-width:0}.p2-result-line{margin-bottom:14px}.p2-course-grid{grid-template-columns:1fr;gap:20px}.p2-course-cover{height:142px}.p2-course-body{padding:22px}.p2-course-body h3{font-size:24px}.p2-course-meta{font-size:12px}.p2-course-body>p{font-size:14px;margin-bottom:19px}.p2-catalog-footer{margin-top:23px}.p2-course-empty{padding:28px 20px}.p2-course-empty h3{font-size:23px}.p2-course-empty p{font-size:14px}.p2-empty-actions{flex-direction:column}}
@media(prefers-reduced-motion:reduce){.phase-two a,.phase-two button{transition:none}}

/* Acceso a WhatsApp en flujo normal para no cubrir contenido en móvil. */
@media(max-width:800px){.whatsapp-float{position:static;inset:auto;width:max-content;max-width:calc(100% - 36px);min-height:48px;margin:20px auto calc(20px + env(safe-area-inset-bottom));justify-content:center;padding:13px 22px;font-size:14px;box-shadow:0 4px 14px #185ac11a;transform:none}.whatsapp-float:hover{transform:none}}
