@font-face { font-family:"Fraunces VF"; src:url("../fonts/fraunces-var-latin.woff2") format("woff2"); font-style:normal; font-weight:100 900; font-display:swap; }
@font-face { font-family:"Fraunces VF"; src:url("../fonts/fraunces-var-italic-latin.woff2") format("woff2"); font-style:italic; font-weight:100 900; font-display:swap; }
@font-face { font-family:"IBM Plex Mono"; src:url("../fonts/plexmono-400-latin.woff2") format("woff2"); font-style:normal; font-weight:400; font-display:swap; }
@font-face { font-family:"IBM Plex Mono"; src:url("../fonts/plexmono-500-latin.woff2") format("woff2"); font-style:normal; font-weight:500; font-display:swap; }

:root {
  --bg:#f7f8f7; --paper:#fff; --ink:#12151a; --ink-lead:#252a31;
  --muted:#5c6672; --line:#dce0de; --accent:#22398f;
  --accent-soft:rgba(34,57,143,.065); --warning:#a33b2a;
  --max:1160px; --text:720px;
  --display:"Fraunces VF",Georgia,"Times New Roman",serif;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--bg);color:var(--ink);font-family:var(--display);
  font-size:clamp(17px,.4vw + 15.5px,19px);line-height:1.68;font-weight:400;
  font-variation-settings:"opsz" 11,"SOFT" 28,"WONK" 0;
  font-kerning:normal;font-synthesis:none;-webkit-font-smoothing:antialiased;
}
a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:.23em}
a:hover{text-decoration-color:currentColor}
img{display:block;max-width:100%;height:auto}
button,input,textarea{font:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.skip-link{position:absolute;left:-9999px;top:8px;z-index:100}
.skip-link:focus{left:8px;padding:8px 12px;color:var(--ink);background:var(--paper);border:1px solid var(--ink)}

.site-header{position:sticky;top:0;z-index:30;background:rgba(247,248,247,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.header-inner{max-width:var(--max);min-height:74px;margin:0 auto;padding:17px 28px;display:flex;align-items:center;justify-content:space-between;gap:26px}
.brand{color:var(--ink);font-weight:700;font-variation-settings:"opsz" 30,"SOFT" 6,"WONK" 1;letter-spacing:-.015em;text-decoration:none;white-space:nowrap}
.brand:hover{color:var(--accent)}
.brand-mark{display:none}
.nav{display:flex;align-items:center;gap:22px;font-size:15px}
.nav a{color:var(--ink);text-decoration:none;font-weight:600}
.nav a:hover{color:var(--accent)}
.nav a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:.35em}
.nav .nav-cta{padding:8px 13px;border:1px solid var(--ink)}
.menu-button{display:none;min-height:44px;padding:8px 11px;border:1px solid var(--muted);border-radius:0;background:transparent;color:var(--ink);font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase}

main{min-height:65vh}
.container{width:100%;max-width:var(--max);margin:0 auto;padding:0 28px}
.narrow{max-width:820px}
.section{padding:clamp(68px,8vw,108px) 0;border-top:1px solid var(--line)}
.section:first-child{border-top:0}
.section-tight{padding:42px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.hero{padding:clamp(80px,9vw,130px) 0 clamp(72px,8vw,108px)}
.eyebrow{margin:0 0 20px;color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.095em;line-height:1.5;text-transform:uppercase}
h1,h2,h3{margin-top:0;text-wrap:balance}
h1{max-width:980px;margin-bottom:30px;font-size:clamp(52px,7.25vw,88px);line-height:.98;font-weight:700;font-variation-settings:"opsz" 144,"SOFT" 8,"WONK" 1;letter-spacing:-.038em}
h2{margin-bottom:24px;font-size:clamp(35px,4.2vw,56px);line-height:1.06;font-weight:650;font-variation-settings:"opsz" 90,"SOFT" 10,"WONK" 1;letter-spacing:-.03em}
h3{margin-bottom:11px;font-size:clamp(21px,2vw,25px);line-height:1.22;font-weight:650;font-variation-settings:"opsz" 42,"SOFT" 14,"WONK" 1;letter-spacing:-.015em}
.lead{max-width:780px;margin:0 0 34px;color:var(--ink-lead);font-size:clamp(21px,2.25vw,27px);line-height:1.48;font-variation-settings:"opsz" 20,"SOFT" 26,"WONK" 0;text-wrap:pretty}
.prose{max-width:var(--text)}
.prose p{margin:0 0 1.2em}.prose h2{margin-top:2em}.prose h3{margin-top:1.7em}
.muted,.small{color:var(--muted)}.small{font-size:15px}

.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 19px;border:1px solid var(--ink);border-radius:0;background:var(--ink);color:var(--bg);font-size:16px;font-weight:600;line-height:1.3;text-align:center;text-decoration:none}
.button:hover{background:#000;color:#fff}
.button.secondary{background:transparent;color:var(--ink)}
.button.secondary:hover{background:rgba(18,21,26,.045)}
.button.ghost{min-height:auto;padding:0;border:0;background:transparent;color:var(--accent)}
.button.ghost:hover{text-decoration:underline}

.credential-strip{display:grid;grid-template-columns:repeat(4,1fr)}
.credential{padding:12px 25px 16px;border-right:1px solid var(--line)}
.credential:first-child{padding-left:0}.credential:last-child{border-right:0;padding-right:0}
.credential strong{display:block;margin-bottom:7px;color:var(--accent);font-family:var(--mono);font-size:18px;font-weight:500;font-variation-settings:normal;letter-spacing:-.03em;line-height:1.25}
.credential span{display:block;color:var(--muted);font-size:14px;line-height:1.4}

.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:38px}
.card{padding:25px 4px 4px 0;border-top:2px solid var(--ink)}
.card .number{margin-bottom:42px;color:var(--accent);font-family:var(--mono);font-size:13px;font-weight:500;font-variation-settings:normal}
.card p{margin-bottom:23px;color:var(--muted)}
.card a{font-weight:600;text-decoration:none}.card a::after{content:"  →"}
.offer-grid .number{min-height:2.7em;margin-bottom:30px;line-height:1.45}.continuity-card{border-top-color:var(--accent)}
.path-note{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:34px 0 0;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:16px}.path-note span{margin-right:6px;color:var(--accent);font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.path-note b{color:var(--accent);font-family:var(--mono);font-weight:400}
.section-head{display:grid;grid-template-columns:190px minmax(0,1fr);gap:54px;align-items:start;margin-bottom:48px}
.section-head .eyebrow{margin-top:8px;text-align:right}.section-head h2{margin-bottom:15px}.section-head .lead{margin-bottom:0}
.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:42px}
.principle{padding-top:19px;border-top:2px solid var(--ink)}.principle p{margin-bottom:0;color:var(--muted)}

.stat-band{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:end;padding:38px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.stat-band h2{margin:0}.stat-band p{margin:0;color:var(--muted)}
.stat-list{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.stat-item strong{display:block;margin-bottom:8px;color:var(--accent);font-family:var(--mono);font-size:28px;font-weight:500;font-variation-settings:normal;line-height:1;letter-spacing:-.04em}
.stat-item span{display:block;color:var(--muted);font-size:14px;line-height:1.42}
.split{display:grid;grid-template-columns:.92fr 1.08fr;gap:72px;align-items:start}
.quote{margin:0;font-size:clamp(31px,3.5vw,48px);font-weight:600;line-height:1.12;letter-spacing:-.03em}
.profile-section{align-items:center}.profile-photo,.portrait-photo{margin:0}.profile-photo img{width:100%;aspect-ratio:1.9/1;object-fit:cover;object-position:center}.portrait-photo img{width:min(100%,500px);aspect-ratio:4/5;object-fit:cover}.profile-copy{margin-top:48px}

.list-clean{list-style:none;padding:0;margin:0}
.list-clean li{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(150px,.7fr);gap:28px;align-items:baseline;padding:17px 0;border-top:1px solid var(--line)}
.list-clean li:last-child{border-bottom:1px solid var(--line)}.list-clean strong{font-weight:600}
.list-clean span{color:var(--accent);font-family:var(--mono);font-size:15px;font-weight:500;font-variation-settings:normal;letter-spacing:-.01em;line-height:1.4;text-align:right}
.steps{counter-reset:item;display:grid;border-top:1px solid var(--line)}
.step{display:grid;grid-template-columns:62px 1fr;gap:22px;padding:29px 0;border-bottom:1px solid var(--line)}
.step::before{counter-increment:item;content:"0" counter(item);color:var(--accent);font-family:var(--mono);font-size:13px;font-variation-settings:normal}
.step p{margin:6px 0 0;color:var(--muted)}

.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:stretch}
.price-card{display:flex;flex-direction:column;padding:30px 0 4px;border-top:2px solid var(--ink)}
.price-card.featured{border-top-color:var(--accent)}
.price-tag{color:var(--muted);font-family:var(--mono);font-size:11px;font-weight:500;font-variation-settings:normal;letter-spacing:.08em;text-transform:uppercase}
.price{margin:24px 0 11px;color:var(--accent);font-family:var(--mono);font-size:clamp(49px,5.5vw,66px);font-weight:500;font-variation-settings:normal;line-height:1;letter-spacing:-.055em}
.price small{display:block;margin-top:10px;color:var(--ink);font-family:var(--display);font-size:17px;font-weight:400;letter-spacing:0;line-height:1.3}
.price-equivalent{margin:0 0 25px;color:var(--accent);font-family:var(--mono);font-size:19px;font-weight:500;font-variation-settings:normal;line-height:1.35}
.price-equivalent span{display:block;margin-top:4px;color:var(--muted);font-size:11px;font-weight:400;letter-spacing:.025em;text-transform:uppercase}
.price-card ul{margin:0 0 29px;padding-left:19px;color:var(--muted)}.price-card .button{margin-top:auto}
.note{padding:7px 0 7px 20px;border-left:2px solid var(--warning);color:var(--muted)}
.inline-proof{display:flex;gap:25px;align-items:baseline;max-width:880px}
.inline-proof strong{flex:0 0 auto;color:var(--accent);font-family:var(--mono);font-size:29px;font-weight:500;font-variation-settings:normal;line-height:1}
.inline-proof span{color:var(--muted)}

.course-feature{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);gap:64px;align-items:end;padding:37px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.course-feature h2{margin-bottom:18px}.course-feature p{max-width:720px;color:var(--ink-lead)}
.course-meta{display:grid;gap:0}.course-meta div{padding:15px 0;border-top:1px solid var(--line)}.course-meta div:last-child{border-bottom:1px solid var(--line)}
.course-meta strong{display:block;color:var(--accent);font-family:var(--mono);font-size:20px;font-weight:500;font-variation-settings:normal}.course-meta span{display:block;margin-top:3px;color:var(--muted);font-size:14px}


.route-grid{display:grid;grid-template-columns:1fr 1fr;gap:46px}.route{padding-top:23px;border-top:2px solid var(--ink)}.route p{color:var(--muted)}
.access-grid .route:last-child{border-top-color:var(--accent)}.access-grid .button{margin-top:8px}.route-kicker{margin:0 0 13px;color:var(--accent)!important;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.07em;text-transform:uppercase}.access-note{max-width:760px;margin:28px 0 0;padding-left:18px;border-left:2px solid var(--accent)}
.context-grid{row-gap:52px}.context-grid .card .number{margin-bottom:24px}.continuity-note{display:grid;grid-template-columns:190px minmax(0,680px);gap:54px;margin-bottom:56px;padding:0 0 28px;border-bottom:1px solid var(--line)}.continuity-note p{margin:0}.continuity-note .eyebrow{text-align:right}.contact-grid .card .number{margin-bottom:30px}

.faq{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}
summary{position:relative;cursor:pointer;list-style:none;padding:22px 38px 22px 0;font-weight:600}summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:4px;top:20px;color:var(--accent);font-family:var(--mono);font-variation-settings:normal;font-weight:400}details[open] summary::after{content:"–"}
details>div{max-width:760px;padding:0 34px 24px 0;color:var(--muted)}

.legal-hero{padding:84px 0 46px}.legal-hero h1{font-size:clamp(42px,6vw,68px)}
.legal-summary{margin:10px 0 48px;padding:24px 0 24px 24px;border-left:2px solid var(--accent);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.legal-summary h2{margin-bottom:14px;font-size:22px;letter-spacing:-.01em}.legal-summary ul{margin:0;padding-left:20px}
.legal-section{max-width:800px;padding:34px 0;border-top:1px solid var(--line)}.legal-section h2{margin-bottom:14px;font-size:27px;letter-spacing:-.015em}.legal-section h3{margin-top:24px;font-size:20px}
.legal-section p,.legal-section li{color:#414a55}.definition{display:grid;grid-template-columns:190px 1fr;gap:10px 24px;margin:0}.definition dt{color:var(--muted)}.definition dd{margin:0}

.cta-panel{display:grid;grid-template-columns:1.3fr .7fr;gap:40px;align-items:end;padding:42px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.cta-panel h2{margin-bottom:11px}.cta-panel p{margin:0;color:var(--muted)}.cta-panel .actions{justify-content:flex-end;margin:0}
.site-footer{margin-top:72px;padding:52px 0 35px;border-top:1px solid var(--line)}
.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:42px}.footer-grid h3{margin-bottom:14px;color:var(--muted);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.footer-grid ul{list-style:none;padding:0;margin:0}.footer-grid li{margin:7px 0}.footer-grid a{color:#424b55;font-size:15px;text-decoration:none}
.footer-brand{max-width:370px}.footer-brand strong{display:block;margin-bottom:10px;font-size:23px;font-weight:650;line-height:1.2}.footer-brand p{color:var(--muted);font-size:14px}
.footer-bottom{display:flex;justify-content:space-between;gap:30px;margin-top:42px;padding-top:21px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}

@media(max-width:900px){
  .nav{display:none;position:absolute;left:20px;right:20px;top:73px;padding:8px 20px 18px;border:1px solid var(--line);background:var(--bg);flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav a{padding:12px 0;border-top:1px solid var(--line)}.nav .nav-cta{margin-top:10px;padding:10px 12px;text-align:center}.menu-button{display:inline-flex;align-items:center}
  .credential-strip{grid-template-columns:1fr 1fr}.credential{padding:20px 22px;border-bottom:1px solid var(--line)}.credential:nth-child(2){border-right:0;padding-right:0}.credential:nth-child(odd){padding-left:0}.credential:nth-last-child(-n+2){border-bottom:0}
  .section-head{grid-template-columns:1fr;gap:8px}.section-head .eyebrow{text-align:left}.grid-3,.principles{grid-template-columns:1fr;gap:32px}.grid-3 .card .number{margin-bottom:20px}.offer-grid .number{min-height:0}.continuity-note{grid-template-columns:1fr;gap:8px}.continuity-note .eyebrow{text-align:left}
  .split,.stat-band,.cta-panel,.course-feature{grid-template-columns:1fr;gap:28px}.price-grid{gap:32px}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.cta-panel .actions{justify-content:flex-start}
}

@media(max-width:650px){
  body{font-size:16.5px;line-height:1.63}.header-inner,.container{padding-left:20px;padding-right:20px}.header-inner{min-height:68px}.brand{font-size:16px}.nav{top:67px}
  .hero{padding:68px 0 62px}h1{font-size:clamp(45px,13.2vw,62px);line-height:.99}h2{font-size:clamp(33px,10.5vw,46px)}.lead{font-size:20px}.section{padding:66px 0}
  .credential-strip{grid-template-columns:1fr}.credential{padding:19px 0;border-right:0;border-bottom:1px solid var(--line)!important}.credential:last-child{border-bottom:0!important}
  .grid-2,.price-grid,.route-grid{grid-template-columns:1fr}.stat-list{grid-template-columns:1fr 1fr;gap:22px 18px}.step{grid-template-columns:46px 1fr}
  .list-clean li{grid-template-columns:1fr;gap:5px}.list-clean span{text-align:left;font-size:14px}.inline-proof{display:grid;gap:10px}
  
  .price{font-size:49px}.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-bottom{flex-direction:column;gap:8px}.definition{grid-template-columns:1fr;gap:2px}.definition dd{margin-bottom:12px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ---------- captación de correo (Brevo, formulario HTML plano sin JS) ----------
   Es uno de los pocos elementos que rompen la regla de "filetes, no cajas":
   lleva un fondo azul muy tenue a propósito, para que se lea como un aparte. */
.capture{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:end;padding:40px 38px;background:var(--accent-soft);border-top:1px solid var(--accent)}
.capture h2{font-size:clamp(30px,3.4vw,44px);margin-bottom:18px}.capture p{color:var(--ink-lead)}.capture .small{color:var(--muted);margin:16px 0 0}
.capture-inline{margin-top:48px;padding:30px 32px}.capture-inline h3{margin-bottom:8px}.capture-inline p{margin:0}
.capture-form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.field{flex:1 1 240px;display:flex;flex-direction:column;gap:6px}
.field label{color:var(--muted);font-size:14px}
.field input{min-height:50px;padding:10px 14px;border:1px solid var(--ink);border-radius:0;background:var(--paper);color:var(--ink);font-size:16px}
.capture-form .button{cursor:pointer}

/* ---------- prosa larga (guía) ---------- */
.prose ul,.prose ol{margin:0 0 1.4em;padding-left:1.25em}.prose li{margin:0 0 .65em}
.prose>h2:first-child{margin-top:0}
.prose .ord{margin-right:.55em;color:var(--accent);font-family:var(--mono);font-size:.6em;font-weight:500;font-variation-settings:normal;vertical-align:.18em}
.lim{color:var(--warning)}
.prose .note{margin:1.6em 0}

@media(max-width:900px){.capture{grid-template-columns:1fr;gap:26px;padding:30px 24px}}
@media(max-width:650px){.capture{padding:26px 20px}.capture-form .button{width:100%}}

/* Retrato de la home: el mismo que en Sobre mí, al lado del texto. */
.home-profile .quote{margin-bottom:28px}
.home-profile .portrait-photo img{width:min(100%,440px)}
