/* Tipografías alojadas en el propio sitio (SIL Open Font License, ver fonts/) */
@font-face{font-family:'DM Sans';font-style:normal;font-display:swap;font-weight:100 1000;src:url('fonts/dm-sans-latin-wght.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-display:swap;font-weight:200 800;src:url('fonts/manrope-latin-wght.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--paper:#fbf7ef;--ink:#222827;--muted:#5a625e;--line:#d9d9cd;--blue:#3b5ca8;--coral:#e8957c;--green:#c8d2ad;--serif:Georgia,'Times New Roman',serif;--sans:'DM Sans',Arial,sans-serif;--display:Manrope,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;line-height:1.6}a{color:inherit;text-decoration:none}button,textarea,select{font:inherit}button,a,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:5px}button:disabled{cursor:default}::selection{background:#d8dfbc}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}.wrap{width:min(1216px,calc(100% - 112px));margin-inline:auto}.header{height:104px;display:flex;justify-content:space-between;align-items:center;width:min(1328px,calc(100% - 80px));margin:auto;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-family:var(--display);font-size:14px;line-height:1.3}.brand strong{font-weight:800}.brand-mark{font-family:var(--serif);font-style:italic;font-size:49px;line-height:1;letter-spacing:-5px}.brand-mark span{font-family:var(--sans);font-style:normal;font-size:25px;color:var(--blue);vertical-align:top;letter-spacing:0}nav{display:flex;align-items:center;gap:34px;font-size:13px;font-weight:500}nav a:hover,.text-link:hover{color:var(--blue)}.nav-cta{border:1px solid #4e554d;border-radius:99px;padding:10px 20px}.nav-cta span{margin-left:19px}.skip{position:absolute;left:16px;top:-100px;z-index:20;background:var(--ink);color:white;padding:12px}.skip:focus{top:10px}.hero{min-height:680px;display:grid;grid-template-columns:1.04fr 1fr;gap:40px;align-items:center;padding-block:68px 72px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;line-height:1.6;margin:0 0 24px}.small-dot{display:inline-block;border:1px solid var(--blue);border-radius:50%;height:8px;width:8px;margin-right:7px}.hero h1{font-family:var(--display);font-weight:500;font-size:clamp(45px,4.5vw,65px);line-height:1.1;letter-spacing:-2.9px;margin:0 0 27px}.hero h1 em,h2 em{font-family:var(--serif);font-weight:400;color:var(--blue);letter-spacing:-1.6px}.hero-description{max-width:450px;font-size:15px;line-height:1.8;color:var(--muted);margin:0 0 30px}.hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:27px;border-radius:7px;padding:16px 22px;font-size:12px;line-height:1.5;font-weight:600;border:0;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.dark{background:var(--ink);color:#fff}.dark:hover{background:#3b514b}.text-link{font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:12px;border:0;background:none;padding:0}.location{display:flex;gap:8px;align-items:center;font-size:11px;color:var(--muted);margin-top:24px}.location svg{width:15px;height:15px}.math-scene{position:relative;min-height:470px;display:flex;align-items:center;justify-content:center;padding:20px 12px}.notebook{width:100%;max-width:420px;background:#fffcf6;transform:rotate(-4deg);border:1px solid #c9c9bb;box-shadow:10px 12px 0 -2px #e3e4d9,10px 12px 0 -1px #bfc6b7;padding:27px 30px 24px;background-image:linear-gradient(#e0e5dc70 1px,transparent 1px),linear-gradient(90deg,#e0e5dc70 1px,transparent 1px);background-size:25px 25px}.notebook-top{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.1px;color:#5f6a5b}.notebook-question{font-family:var(--serif);font-size:32px;line-height:1.2;margin:30px 0 16px;letter-spacing:-.8px}.fraction-art{display:flex;align-items:center;gap:32px;justify-content:center;margin:20px 0 10px}.pie{width:127px;height:127px;border:1.5px solid var(--blue);border-radius:50%;background:conic-gradient(from 0deg,var(--blue) 0deg 270deg,transparent 270deg 360deg);position:relative}.pie:before,.pie:after{content:'';position:absolute;background:#fffcf6;opacity:.75}.pie:before{height:1px;left:0;right:0;top:50%}.pie:after{width:1px;top:0;bottom:0;left:50%}.equals{font-family:var(--serif);font-size:40px}.fraction{display:flex;flex-direction:column;font-family:var(--serif);font-size:43px;line-height:1.1;width:44px;text-align:center;color:var(--blue)}.fraction span:first-child{border-bottom:2px solid currentColor;padding-bottom:4px}.fraction span:last-child{padding-top:3px}.notebook-caption{font-size:10px;text-align:center;color:#626a5d;margin:14px 0 29px}.numberline{display:flex;justify-content:space-between;position:relative;font-size:10px;padding-top:12px;margin-inline:10px}.numberline:before{content:'';position:absolute;left:0;right:0;top:0;border-top:1px solid #6f7a66}.numberline span,.numberline strong{position:relative}.numberline span:before,.numberline strong:before{content:'';height:7px;width:1px;background:#6f7a66;position:absolute;top:-15px;left:50%}.numberline strong{color:var(--blue)}.notebook-foot{border-top:1px dashed #aebaa7;display:flex;gap:8px;align-items:center;justify-content:space-between;margin-top:25px;padding-top:15px;font-size:7px;letter-spacing:1px}.notebook-foot i{height:3px;width:3px;border-radius:50%;background:#9aa692}.sticker{position:absolute;right:-3px;top:9px;z-index:1;transform:rotate(11deg);background:var(--coral);width:120px;height:120px;border-radius:50%;display:flex;justify-content:center;flex-direction:column;text-align:center;line-height:1.2;font-size:18px;font-family:var(--serif);font-style:italic}.sticker span{font-family:var(--sans);font-style:normal;font-size:24px;margin-top:4px}.scene-plus{position:absolute;font-family:var(--serif);color:var(--blue);font-size:35px}.plus-one{bottom:4px;left:10px;transform:rotate(10deg)}.plus-two{top:20px;left:12px;transform:rotate(15deg);font-size:28px}.credentials{border-block:1px solid var(--line)}.credentials-inner{display:flex;justify-content:space-between;gap:25px;padding-block:23px;font-size:11px;color:var(--muted)}.credentials-inner strong{font-weight:600;color:var(--ink);margin-left:5px}.section{padding-block:95px}.section-heading{display:flex;justify-content:space-between;gap:48px;align-items:flex-end;margin-bottom:46px}h2{font-family:var(--display);font-size:39px;line-height:1.2;letter-spacing:-1.5px;font-weight:500;margin:0}h2 em{letter-spacing:-1px}.section-heading .eyebrow{margin-bottom:16px}.section-heading>p{max-width:335px;font-size:13px;line-height:1.8;color:var(--muted);margin:0 0 3px}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:37px}.services article{border-top:1px solid #a5ada1;padding-top:25px}.service-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;font-size:11px;font-weight:600;border-radius:50%;margin-bottom:17px}.coral{background:#f3d9cc}.blue{background:#dbe2f1}.green{background:#e0e6cf}h3{font-family:var(--display);font-size:18px;font-weight:600;line-height:1.4;letter-spacing:-.4px;margin:0 0 13px}.services p{color:var(--muted);font-size:13px;max-width:300px;margin-bottom:26px}.service-detail{font-size:9px;letter-spacing:1.2px;text-transform:uppercase;color:#5f6c57}.practice-section{background:#e7ebdf;padding-block:80px}.practice-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.practice-grid>div>p:not(.eyebrow){max-width:345px;color:#596250;font-size:13px;line-height:1.85;margin-top:23px}.practice-grid .small-note{font-size:10px!important}.exercise{background:#fbfcf5;border:1px solid #c2cbb6;padding:30px;border-radius:3px;box-shadow:7px 7px 0 #d4dcc7}.exercise-top{display:flex;justify-content:space-between;align-items:center;font-size:8px;font-weight:600;letter-spacing:1.1px;margin-bottom:26px}.exercise-top span:last-child{background:#e7ebdf;padding:5px 10px;border-radius:99px;letter-spacing:0;font-size:10px;font-weight:400}.exercise h3{font-family:var(--serif);font-weight:400;font-size:32px;letter-spacing:0;margin:0}.exercise>p{font-size:12px;color:var(--muted);margin-block:7px 16px}.answers{display:flex;gap:10px}.answers button{flex:1;background:transparent;border:1px solid #b4beaa;border-radius:4px;padding:11px;font-size:18px;font-family:var(--serif);color:var(--ink);min-height:48px}.answers button:hover{background:#e7ebdf}.answers button.correct{background:#dce8ca;border-color:#627b45}.answers button.incorrect{background:#f8e4db;border-color:#a0634d}.exercise .feedback{font-size:11px;min-height:36px;margin-top:14px;max-width:100%}.feedback.success{color:#3e5e29}.hint-toggle{font-size:10px}.hint-toggle span{font-size:18px}.hint{padding-top:18px;border-top:1px solid #d1d9c7;margin-top:15px;font-size:11px}.hint p{margin-bottom:0}.quarters{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;width:160px;height:30px}.quarters span{border:1px solid var(--blue)}.quarters span:nth-child(-n+3){background:var(--blue)}.about{display:grid;grid-template-columns:.7fr 1.3fr;gap:110px}.about-title h2{font-size:51px}.about-title>p:not(.eyebrow){font-size:13px;color:var(--muted);max-width:265px;margin-block:24px}.about-title .text-link{border-bottom:1px solid #8c9b85;padding-bottom:5px}.about-intro{font-family:var(--serif);font-size:24px;line-height:1.5;letter-spacing:-.3px;margin:0 0 36px}.timeline article{position:relative;border-top:1px solid var(--line);padding-block:18px}.timeline article:last-child{padding-bottom:0}.timeline article>span{font-size:8px;letter-spacing:1.5px;font-weight:600;color:#66715c;display:block;margin-bottom:7px}.timeline h3{font-size:15px;margin-bottom:8px}.timeline p{font-size:12px;line-height:1.85;color:var(--muted);margin:0}.contact-section{padding-block:85px;background:#e5e9f3}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:120px;align-items:start}.contact-grid h2{font-size:47px}.contact-grid>div>p:not(.eyebrow){font-size:13px;color:#515a70;max-width:310px;margin-top:26px;line-height:1.85}.contact-caption{font-size:11px!important}.contact-caption span{font-size:10px}.contact-box{background:var(--paper);padding:30px 32px;border:1px solid #c6ccd6;border-radius:3px}.contact-box h3{font-size:20px;margin-bottom:6px}.contact-box>p{font-size:12px;color:var(--muted);margin-top:0}.contact-box label{display:block;font-size:10px;font-weight:600;margin-top:17px;margin-bottom:6px}.contact-box label span{font-weight:400;color:var(--muted)}select,textarea{width:100%;border:1px solid #c9cfc0;border-radius:4px;background:#fffdf7;padding:10px 12px;font-size:12px;color:var(--ink);min-height:42px}textarea{resize:vertical}.contact-box .button{width:100%;margin-top:20px}.contact-box .contact-alternative{font-size:10px;margin:14px 0}.contact-alternative a{text-decoration:underline;text-underline-offset:3px}.contact-box .privacy-note{font-size:9px;line-height:1.7;color:#656c60;margin:15px 0 0}.form-status{font-size:10px;min-height:0;margin-block:8px 0;color:#425a35}.form-status:empty{display:none}.footer{padding-block:34px;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:10px;color:var(--muted)}.footer-name{color:var(--ink);font-family:var(--display);font-size:12px;font-weight:600}.footer p{margin:0;line-height:1.8}.footer>span{font-family:var(--serif);font-style:italic;font-size:13px}
@media(min-width:1500px){.hero{min-height:720px}.hero h1{font-size:67px}}@media(max-width:1050px){.wrap{width:calc(100% - 72px)}.hero{gap:25px;padding-block:60px;min-height:620px}.hero h1{font-size:51px;letter-spacing:-2px}.hero-description{font-size:14px}.notebook{padding:24px;max-width:350px}.notebook-question{font-size:29px}.fraction-art{gap:23px}.pie{width:110px;height:110px}.sticker{width:98px;height:98px;font-size:16px;right:-10px;top:15px}.practice-grid{gap:50px}.about{gap:65px;grid-template-columns:.8fr 1.2fr}.contact-grid{gap:65px}h2{font-size:34px}.credentials-inner{font-size:10px}.credentials-inner strong{display:block;margin:2px 0 0}.hero-actions{gap:20px}.hero-actions .text-link{font-size:11px}.section{padding-block:75px}.contact-grid h2{font-size:41px}.contact-box{padding:26px}}
@media(max-width:760px){html{scroll-padding-top:25px}.header{height:83px;width:calc(100% - 40px)}.brand{font-size:12px;gap:10px}.brand-mark{font-size:40px}.brand-mark span{font-size:22px}nav{gap:15px;font-size:11px}nav>a:first-child{display:none}.nav-cta{padding:8px 12px}.nav-cta span{margin-left:6px}.wrap{width:calc(100% - 44px)}.hero{grid-template-columns:1fr;gap:10px;padding-block:43px 35px;min-height:0}.eyebrow{font-size:8px;letter-spacing:1.4px;margin-bottom:20px}.hero h1{font-size:clamp(44px,9vw,65px);line-height:1.1;letter-spacing:-2px;margin-bottom:21px}.hero h1 em{letter-spacing:-1.6px}.hero-description{font-size:13px;max-width:440px;margin-bottom:24px}.button{font-size:11px;padding:15px 18px;gap:20px}.hero-actions{gap:17px}.location{margin-top:20px;font-size:10px}.math-scene{min-height:400px;padding:30px 20px 25px}.notebook{max-width:320px;transform:rotate(-4deg);padding:24px}.notebook-top{font-size:7px}.notebook-question{font-size:27px;margin-block:22px 15px}.fraction-art{margin-block:12px 8px;gap:24px}.pie{height:102px;width:102px}.fraction{font-size:36px}.equals{font-size:32px}.notebook-caption{margin-bottom:22px}.notebook-foot{font-size:6px;margin-top:19px}.sticker{width:91px;height:91px;top:7px;right:0;font-size:15px}.sticker span{font-size:20px}.plus-one{left:0;bottom:2px}.plus-two{top:10px;left:0}.credentials-inner{gap:15px;font-size:8px;line-height:1.5;padding-block:18px}.credentials-inner>span{flex:1}.credentials-inner strong{font-size:9px}.section{padding-block:55px}.section-heading{display:block;margin-bottom:33px}.section-heading h2{font-size:30px;letter-spacing:-1px}.section-heading>p{max-width:100%;margin-top:21px;font-size:12px}.services{grid-template-columns:1fr;gap:27px}.services article{display:grid;grid-template-columns:43px 1fr;column-gap:15px;padding-top:21px}.service-icon{grid-row:1/4;width:34px;height:34px;font-size:10px;margin:0}.services h3{font-size:17px;margin-bottom:8px}.services p{font-size:12px;max-width:100%;margin:0 0 16px}.service-detail{font-size:8px}.practice-section{padding-block:49px}.practice-grid{grid-template-columns:1fr;gap:27px}.practice-grid h2{font-size:32px}.practice-grid>div>p:not(.eyebrow){font-size:12px;max-width:100%;margin-top:18px}.practice-grid .small-note{margin-top:13px!important}.exercise{padding:25px 23px;box-shadow:5px 5px 0 #d4dcc7}.exercise-top{margin-bottom:20px}.exercise h3{font-size:31px}.exercise .feedback{min-height:30px}.about{grid-template-columns:1fr;gap:33px}.about-title h2{font-size:43px}.about-title>p:not(.eyebrow){max-width:100%;font-size:12px;margin-block:18px}.about-intro{font-size:22px;margin-bottom:25px}.timeline article{padding-block:17px}.timeline p{font-size:11px}.contact-section{padding-block:50px}.contact-grid{grid-template-columns:1fr;gap:30px}.contact-grid h2{font-size:38px}.contact-grid>div>p:not(.eyebrow){max-width:100%;font-size:12px;margin-top:19px}.contact-grid .contact-caption{font-size:10px!important}.contact-box{padding:25px 22px}.contact-box .button{font-size:10px;gap:12px}.footer{padding-block:28px;align-items:flex-start;flex-wrap:wrap;gap:16px}.footer-name{font-size:11px}.footer p{font-size:9px}.footer>span{font-size:12px;flex-basis:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Página 404 (antes con estilos en línea; movidos aquí para permitir una CSP estricta) */
.not-found{max-width:640px;padding-block:100px}.not-found h1{font-family:var(--display);font-weight:500;font-size:42px;line-height:1.2}

/* ===== Ajustes de legibilidad · auditoría 5-nov-2026 =====
   Suben los textos más pequeños sin cambiar el diseño.
   Si se prefiere el aspecto anterior, basta con borrar este bloque. */
.location{font-size:12px}.contact-box label{font-size:12px}.form-status{font-size:12px}.hint-toggle{font-size:12px}
.exercise .feedback{font-size:13px}.hint{font-size:13px}.practice-grid .small-note{font-size:11px!important}
.service-detail{font-size:10px}.timeline article>span{font-size:10px}.exercise-top{font-size:10px}.timeline p{font-size:13px}
.contact-caption{font-size:12px!important}.contact-caption span{font-size:11px}.footer{font-size:11px}
.contact-grid>.contact-box>p:not(.eyebrow){max-width:none}
select,textarea{font-size:14px}
/* En pantallas táctiles (iPhone/iPad) los campos bajo 16px provocan zoom automático al tocarlos */
@media(pointer:coarse){select,textarea{font-size:16px}}
@media(max-width:760px){
  nav{font-size:12px}.eyebrow{font-size:10px}.hero-description{font-size:15px}.location{font-size:12px}
  .credentials-inner{font-size:10px}.credentials-inner strong{font-size:11px}
  .section-heading>p,.services p,.practice-grid>div>p:not(.eyebrow),.about-title>p:not(.eyebrow),.contact-grid>div>p:not(.eyebrow){font-size:14px}
  .service-detail{font-size:10px}.timeline p{font-size:13px}.exercise-top{font-size:10px}
  .contact-grid .contact-caption{font-size:12px!important}.contact-box .button{font-size:12px}
  .footer p{font-size:11px}.footer-name{font-size:12px}
  select,textarea{font-size:16px}
}
