/* Clases de matemática online 1 a 1 (/clases-de-matematica-online). Colores de colors.css. */
.tutor{--t-ink:var(--color-heading);--t-text:var(--color-text);--t-muted:var(--color-text-muted);--t-orange:var(--color-brand-orange);--t-blue:var(--color-brand-blue);--t-card:var(--color-surface);--t-soft:var(--color-orange-50);--t-line:var(--color-border);--t-yes:var(--color-success);--t-no:var(--color-danger);max-width:1180px;padding-top:96px}
.tutor h1,.tutor h2,.tutor h3{color:var(--t-ink)}
.tutor section{scroll-margin-top:90px}
.tutor-crumbs{font-size:.76rem;color:var(--t-muted);margin:0 0 18px}
.tutor-crumbs a{color:var(--color-link)}
.tutor-kicker{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:var(--color-orange-100);color:var(--color-orange-800);font-size:.7rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.tutor-head{text-align:center;max-width:720px;margin:0 auto 32px}
.tutor-head h2{margin:14px 0 10px}
.tutor-head p{color:var(--t-muted);margin:0}

/* Portada */
.tutor-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center;padding:36px 40px 44px;border-radius:32px;background:radial-gradient(circle at 92% 8%,var(--color-orange-100) 0,transparent 42%),radial-gradient(circle at 5% 95%,var(--color-blue-50) 0,transparent 40%),var(--t-card);border:1px solid var(--t-line);box-shadow:0 18px 50px color-mix(in srgb,var(--color-shadow) 6%,transparent)}
.tutor-hero h1{font-size:clamp(2.3rem,4.4vw,3.6rem);line-height:1.04;letter-spacing:-.05em;margin:18px 0 18px}
.tutor-hero h1 mark{background:linear-gradient(transparent 62%,var(--color-brand-yellow) 62%);color:inherit;padding:0 4px}
.tutor-hero .intro{font-size:1.06rem;color:var(--t-muted);max-width:520px;margin:0 0 24px}
.tutor-buy{display:flex;align-items:center;flex-wrap:wrap;gap:14px 18px}
.tutor-price{display:flex;align-items:baseline;gap:6px;padding:10px 16px;border-radius:14px;background:var(--t-soft);border:1px dashed var(--color-orange-300)}
.tutor-price strong{font-size:1.9rem;font-weight:900;color:var(--t-ink);letter-spacing:-.03em}
.tutor-price span{font-size:.8rem;font-weight:800;color:var(--t-muted)}
.tutor .btn{margin:0;padding:15px 24px;font-size:1rem}
.tutor-trust{display:flex;flex-wrap:wrap;gap:10px 22px;list-style:none;padding:0;margin:24px 0 0;font-size:.82rem;font-weight:800;color:var(--t-text)}
.tutor-trust li{display:flex;align-items:center;gap:7px}
.tutor-trust .live-icon{width:18px;height:18px;color:var(--t-yes)}

/* Cuaderno ilustrativo: ejercicio resuelto por el estudiante con una pista del docente */
.tutor-notebook{position:relative;margin:0;padding:22px 26px 30px 58px;border-radius:10px 22px 22px 10px;background:linear-gradient(90deg,transparent 40px,color-mix(in srgb,var(--color-red-400) 55%,transparent) 40px 42px,transparent 42px),repeating-linear-gradient(0deg,color-mix(in srgb,var(--color-blue-200,#bfdbfe) 70%,transparent) 0 1px,transparent 1px 26px),repeating-linear-gradient(90deg,color-mix(in srgb,var(--color-blue-200,#bfdbfe) 45%,transparent) 0 1px,transparent 1px 26px),var(--color-surface);border:1px solid var(--t-line);box-shadow:-6px 6px 0 var(--color-orange-100),0 26px 50px color-mix(in srgb,var(--color-shadow) 12%,transparent);color:var(--color-slate-900);font-family:'Nunito',system-ui,sans-serif;transform:rotate(-1deg)}
.tutor-notebook-head{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;padding-bottom:10px;margin-bottom:14px;border-bottom:2px solid var(--t-blue);font-size:.72rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--t-blue)}
.tutor-work{list-style:none;padding:0 130px 0 0;margin:0;display:grid;gap:14px}
.tutor-work li{display:flex;align-items:center;gap:16px;min-height:62px}
.tutor-work li+li::before{content:'→';font-size:1.3rem;font-weight:900;color:var(--t-orange);margin-left:-30px;width:14px}
.tutor-work em{font-size:.84rem;font-style:normal;font-weight:700;color:var(--color-slate-600,#475569)}
.tutor-notebook .tutor-frac{font-size:1.7rem;font-weight:900;color:var(--color-slate-900)}
.tutor-work li:last-child .tutor-frac{padding:4px 10px;border:3px solid var(--t-yes);border-radius:50%}
.tutor-check{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--t-yes);color:var(--color-on-dark);font-size:1.1rem}
.tutor-frac{display:inline-flex;flex-direction:column;align-items:center;vertical-align:middle;line-height:1;margin:0 4px}
.tutor-frac span:first-child{border-bottom:3px solid currentColor;padding:0 4px 4px}
.tutor-frac span:last-child{padding:4px 4px 0}
.tutor-frac span{white-space:nowrap}
.tutor-practice{display:flex;align-items:center;gap:8px;margin:20px 0 0;padding-top:14px;border-top:2px dashed var(--color-orange-300);font-size:.95rem;font-weight:900;color:var(--t-ink)}
.tutor-practice .tutor-frac{font-size:1.3rem}
.tutor-practice i{display:inline-block;width:46px;height:30px;border:2px dashed var(--t-orange);border-radius:8px}
.tutor-sticky{position:absolute;right:-16px;top:58px;width:150px;margin:0;padding:14px 14px 16px;background:var(--color-brand-yellow);color:var(--color-slate-900);font-size:.8rem;font-weight:800;line-height:1.4;transform:rotate(4deg);box-shadow:0 12px 22px color-mix(in srgb,var(--color-shadow) 18%,transparent)}
.tutor-sticky::before{content:'';position:absolute;top:-9px;left:50%;width:54px;height:18px;transform:translateX(-50%) rotate(-3deg);background:color-mix(in srgb,var(--color-surface) 70%,transparent)}
.tutor-sticky small{display:block;font-size:.62rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}
.tutor-stamp{position:absolute;right:18px;bottom:-18px;padding:8px 14px;border:3px solid var(--t-yes);border-radius:12px;background:var(--color-success-soft);color:var(--t-yes);font-size:.88rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase;transform:rotate(-6deg)}

/* Datos rápidos */
.tutor-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;list-style:none;padding:0;margin:30px 0 0}
.tutor-facts li{display:flex;gap:12px;align-items:center;padding:16px;border-radius:18px;background:var(--t-card);border:1px solid var(--t-line)}
.tutor-facts .live-icon{flex:none;width:40px;height:40px;padding:10px;border-radius:12px;background:var(--color-orange-100);color:var(--t-orange)}
.tutor-facts strong{display:block;font-size:.92rem;line-height:1.3;color:var(--t-ink)}
.tutor-facts small{font-size:.76rem;color:var(--t-muted)}

/* Sí / No */
.tutor-promise{margin:80px 0}
.tutor-yesno{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:48px}
.tutor-yesno article{padding:28px;border-radius:24px;border:2px solid}
.tutor-yesno .yes{background:var(--color-success-soft);border-color:color-mix(in srgb,var(--t-yes) 35%,transparent)}
.tutor-yesno .no{background:var(--color-danger-soft);border-color:color-mix(in srgb,var(--t-no) 30%,transparent)}
.tutor-yesno h3{display:flex;align-items:center;gap:10px;font-size:1.25rem;margin:0 0 14px}
.tutor-yesno ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.tutor-yesno li{display:flex;gap:10px;align-items:flex-start;font-size:.95rem;line-height:1.5;color:var(--t-text)}
.tutor-mark{flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;color:var(--color-on-dark);font-size:.8rem;font-weight:900;margin-top:1px}
.yes .tutor-mark{background:var(--t-yes)}
.no .tutor-mark{background:var(--t-no)}
.tutor-yesno h3 .tutor-mark{width:32px;height:32px;font-size:1rem}

/* Pasos */
.tutor-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;list-style:none;padding:0;margin:0;counter-reset:step;position:relative}
.tutor-steps::before{content:'';position:absolute;top:27px;left:12%;right:12%;border-top:3px dotted var(--color-orange-300)}
.tutor-steps li{position:relative;text-align:center;padding:0 8px}
.tutor-steps li::before{counter-increment:step;content:counter(step);position:relative;display:grid;place-items:center;width:56px;height:56px;margin:0 auto 14px;border-radius:50%;background:var(--t-orange);color:var(--color-on-accent);font-size:1.3rem;font-weight:900;box-shadow:0 0 0 7px var(--color-orange-100)}
.tutor-steps h3{font-size:1.02rem;margin:0 0 6px}
.tutor-steps p{font-size:.86rem;color:var(--t-muted);margin:0}

/* Reglas */
.tutor-rules-wrap{margin:80px 0;padding:46px 40px;border-radius:32px;background:var(--color-blue-50);border:1px solid var(--color-blue-100)}
.tutor-rules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;list-style:none;padding:0;margin:0;counter-reset:rule}
.tutor-rules li{position:relative;padding:22px 20px 20px;border-radius:20px;background:var(--t-card);border:1px solid var(--t-line)}
.tutor-rules li::before{counter-increment:rule;content:'Regla ' counter(rule);display:inline-block;margin-bottom:10px;padding:3px 10px;border-radius:999px;background:var(--t-blue);color:var(--color-on-dark);font-size:.66rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.tutor-rules h3{font-size:1.02rem;margin:0 0 6px}
.tutor-rules p{font-size:.86rem;line-height:1.6;color:var(--t-muted);margin:0}

/* Temas por grado */
.tutor-levels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.tutor-level{padding:28px;border-radius:24px;background:var(--t-card);border:1px solid var(--t-line)}
.tutor-level h3{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:1.2rem;margin:0 0 16px}
.tutor-level h3 span{font-size:.72rem;font-weight:900;padding:4px 10px;border-radius:999px;background:var(--color-orange-100);color:var(--color-orange-800);letter-spacing:0}
.tutor-level.sec h3 span{background:var(--color-blue-100);color:var(--color-blue-800)}
.tutor-chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.tutor-chips li{padding:8px 12px;border-radius:10px;background:var(--color-gray-50);border:1px solid var(--t-line);font-size:.84rem;font-weight:700;color:var(--t-text)}
.tutor-uses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0 0}
.tutor-uses div{padding:16px 18px;border-radius:16px;background:var(--t-soft);border:1px solid var(--color-orange-200)}
.tutor-uses strong{display:block;color:var(--t-ink)}
.tutor-uses span{font-size:.82rem;color:var(--t-muted)}

/* Precio y docente */
.tutor-offer{display:grid;grid-template-columns:.9fr 1.1fr;gap:22px;margin:80px 0}
.tutor-offer-price{padding:32px;border-radius:28px;background:var(--t-blue);color:var(--color-on-dark)}
.tutor-offer-price h2{color:var(--color-on-dark);font-size:1.15rem;margin:0;letter-spacing:0}
.tutor-offer-price .amount{display:block;font-size:3.6rem;font-weight:900;line-height:1;letter-spacing:-.04em;margin:14px 0 4px}
.tutor-offer-price ul{list-style:none;padding:0;margin:18px 0 24px;display:grid;gap:8px;font-size:.92rem}
.tutor-offer-price li::before{content:'✓ ';font-weight:900;color:var(--color-brand-yellow)}
.tutor-offer-price .btn{background:var(--color-brand-yellow);color:var(--color-slate-900)}
.tutor-teacher{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:start;padding:32px;border-radius:28px;background:var(--t-card);border:1px solid var(--t-line)}
.tutor-teacher img{width:96px;height:96px;border-radius:24px;object-fit:cover}
.tutor-teacher h2{font-size:1.4rem;margin:4px 0 8px}
.tutor-teacher h2 a{color:inherit}
.tutor-teacher p{font-size:.9rem;color:var(--t-muted);margin:0 0 12px}
.tutor-teacher ul{list-style:none;padding:0;margin:0;display:grid;gap:6px;font-size:.84rem;font-weight:700}
.tutor-teacher li{display:flex;gap:8px;align-items:center}
.tutor-teacher .live-icon{width:16px;height:16px;color:var(--t-orange)}

/* Reserva */
.tutor-booking{display:grid;grid-template-columns:.8fr 1.2fr;gap:36px;align-items:start;padding:44px 40px;border-radius:32px;background:var(--color-orange-100);border:1px solid var(--color-orange-200)}
.tutor-booking-aside{position:sticky;top:100px}
.tutor-booking-aside h2{margin:14px 0 12px}
.tutor-booking-aside ol{list-style:none;padding:0;margin:20px 0;display:grid;gap:12px;counter-reset:b}
.tutor-booking-aside ol li{display:flex;gap:12px;align-items:center;font-weight:800;color:var(--t-text)}
.tutor-booking-aside ol li::before{counter-increment:b;content:counter(b);flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--t-card);color:var(--t-orange);font-weight:900;border:2px solid var(--t-orange)}
.tutor-booking-aside p{font-size:.84rem;color:var(--t-muted)}
.tutor-booking .enroll-card{margin:0}
.tutor-slots{border:0;padding:0;margin:0 0 18px;min-width:0}
.tutor-slots legend{font-size:.95rem;font-weight:900;margin-bottom:4px;color:var(--t-ink)}
.tutor-slots>small{display:block;font-size:.76rem;color:var(--t-muted);margin-bottom:8px}
.tutor-day{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--t-line)}
.tutor-day h3{font-size:.82rem;margin:0;color:var(--t-text);letter-spacing:0}
.tutor-hours{display:flex;flex-wrap:wrap;gap:8px}
.tutor-hours label{position:relative}
.tutor-hours input{position:absolute;opacity:0;inset:0;cursor:pointer}
.tutor-hours span{display:block;min-width:66px;padding:9px 12px;text-align:center;border:2px solid var(--color-field-border);border-radius:10px;background:var(--color-field-surface);font-weight:900;font-size:.88rem;transition:transform .15s,border-color .15s}
.tutor-hours label:hover span{border-color:var(--t-orange);transform:translateY(-1px)}
.tutor-hours input:checked+span{background:var(--t-orange);border-color:var(--t-orange);color:var(--color-on-accent)}
.tutor-hours input:focus-visible+span{outline:3px solid color-mix(in srgb,var(--color-action) 35%,transparent);outline-offset:2px}
.tutor .enroll-field textarea{box-sizing:border-box;width:100%;min-height:110px;padding:11px 13px;border:2px solid var(--color-field-border);border-radius:8px;background:var(--color-field-surface);font:500 1rem 'Nunito',system-ui,sans-serif;color:var(--color-text);line-height:1.5;resize:vertical}
.tutor .enroll-field textarea:focus{border-color:var(--color-action);outline:3px solid color-mix(in srgb,var(--color-action) 25%,transparent);outline-offset:2px}

/* Preguntas */
.tutor-faq{margin:80px 0 60px}
.tutor-faq-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
.tutor-faq-list details{border:1px solid var(--t-line);border-radius:16px;background:var(--t-card);padding:0 20px}
.tutor-faq-list details[open]{border-color:var(--color-orange-300);box-shadow:0 8px 22px color-mix(in srgb,var(--color-shadow) 6%,transparent)}
.tutor-faq-list summary{position:relative;padding:18px 28px 18px 0;font-weight:900;font-size:.92rem;line-height:1.45;color:var(--t-ink);cursor:pointer;list-style:none}
.tutor-faq-list summary::-webkit-details-marker{display:none}
.tutor-faq-list summary::after{content:'+';position:absolute;right:0;top:15px;font-size:1.3rem;color:var(--t-orange)}
.tutor-faq-list details[open] summary::after{content:'–'}
.tutor-faq-list p{margin:0 0 18px;font-size:.9rem;color:var(--t-muted)}

/* Cierre */
.tutor-final{display:grid;grid-template-columns:1.2fr .8fr;gap:36px;align-items:center;padding:44px;border-radius:32px;background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--t-orange) 35%,transparent) 0,transparent 45%),var(--t-blue);color:var(--color-on-dark)}
.tutor-final .tutor-kicker{background:color-mix(in srgb,var(--color-on-dark) 16%,transparent);color:var(--color-brand-yellow)}
.tutor-final h2{color:var(--color-on-dark);margin:14px 0 18px;font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.15;letter-spacing:-.03em}
.tutor-final ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.tutor-final li{display:flex;gap:10px;align-items:center;font-weight:700;color:color-mix(in srgb,var(--color-on-dark) 90%,transparent)}
.tutor-final .tutor-mark{background:var(--color-brand-yellow);color:var(--color-slate-900);margin:0}
.tutor-final-card{display:grid;gap:14px;padding:26px;border-radius:24px;background:var(--t-card);color:var(--t-text);box-shadow:0 20px 40px color-mix(in srgb,var(--color-slate-900) 25%,transparent)}
.tutor-final-price{display:flex;align-items:center;gap:12px;margin:0}
.tutor-final-price strong{font-size:2.8rem;font-weight:900;line-height:1;letter-spacing:-.04em;color:var(--t-ink)}
.tutor-final-price span{font-size:.8rem;font-weight:700;line-height:1.35;color:var(--t-muted)}
.tutor-final-next{margin:0;padding:12px 14px;border-radius:14px;background:var(--color-success-soft);font-weight:900;color:var(--t-ink)}
.tutor-final-next small{display:block;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--t-yes)}
.tutor-final-card .btn{justify-content:center;width:100%;box-sizing:border-box}
.tutor-final-alt{font-size:.82rem;font-weight:800;text-align:center;color:var(--color-link)}

@media(max-width:980px){.tutor-hero{grid-template-columns:1fr;gap:40px;padding:30px 26px 40px}.tutor-notebook{transform:none}.tutor-final{grid-template-columns:1fr;padding:34px 28px}.tutor-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.tutor-rules{grid-template-columns:repeat(2,minmax(0,1fr))}.tutor-offer,.tutor-booking{grid-template-columns:1fr}.tutor-booking-aside{position:static}}
@media(max-width:700px){.tutor{padding:88px 16px 90px}.tutor-hero{padding:24px 18px 34px;border-radius:24px}.tutor-hero h1{font-size:2.2rem}.tutor-notebook{padding:18px 16px 30px 52px}.tutor-sticky{position:relative;right:auto;top:auto;width:auto;margin:22px 0 0 -20px;transform:rotate(-1deg)}.tutor-stamp{right:10px}.tutor-work{padding-right:0}.tutor-facts,.tutor-yesno,.tutor-rules,.tutor-levels,.tutor-uses,.tutor-faq-list{grid-template-columns:1fr}.tutor-steps{grid-template-columns:1fr;gap:22px;text-align:left}.tutor-steps::before{display:none}.tutor-steps li{display:grid;grid-template-columns:56px 1fr;column-gap:14px;text-align:left;padding:0}.tutor-steps li::before{grid-row:span 2;margin:0}.tutor-promise,.tutor-rules-wrap,.tutor-offer,.tutor-faq{margin:56px 0}.tutor-rules-wrap,.tutor-booking{padding:28px 18px;border-radius:24px}.tutor-teacher{grid-template-columns:1fr;padding:24px}.tutor-offer-price{padding:26px}.tutor-day{grid-template-columns:1fr;gap:6px}.tutor-final{padding:28px 18px;border-radius:24px}.tutor-final-card{padding:20px}}
.tutor-hero h1 mark{white-space:nowrap}
.tutor-booking .tutor-kicker{background:var(--t-card)}
/* Barra fija para reservar en celular */
.tutor-mobile-cta{display:none}
@media(max-width:760px){.tutor-mobile-cta{position:fixed;display:flex;align-items:center;justify-content:space-between;gap:12px;left:0;right:0;bottom:0;z-index:850;padding:10px 16px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--color-border);background:color-mix(in srgb,var(--color-surface) 96%,transparent);backdrop-filter:blur(12px);box-shadow:0 -6px 20px color-mix(in srgb,var(--color-shadow) 8%,transparent)}.tutor-mobile-cta strong{display:block;font-size:1.05rem;font-weight:900;line-height:1.3;color:var(--color-heading)}.tutor-mobile-cta small{display:block;font-size:.7rem;font-weight:700;color:var(--color-success)}.tutor-mobile-cta .btn{display:inline-flex;align-items:center;gap:6px;margin:0;padding:12px 16px;font-size:.85rem;white-space:nowrap}.tutor-mobile-cta .live-icon{width:16px;height:16px}}
