/* Refinamiento de portada: conserva catálogo, navegación e interacciones. */
:root{--paper:#f5f2e9;--ink:#23382e;--muted:#536054;--line:#d5d8cc;--green:#254b39;--orange:#b65432}
.wrap{width:min(1320px,calc(100% - 112px))}
.preview-note{background:#23382e;color:#e8eada;letter-spacing:.12em;font-size:10px;padding:6px}
.header{min-height:106px;border-bottom:1px solid var(--line)}
.logo{font-size:43px;letter-spacing:-2.5px}
nav a{font-size:13px}
.header-cta{font-size:12px}
.hero{grid-template-columns:1.05fr 1fr;gap:70px;padding-block:58px 66px;align-items:start}
.hero-copy{padding-top:9px}
.hero .eyebrow{font-size:10px;letter-spacing:.14em;margin-bottom:25px}
.hero h1{font-size:clamp(66px,7.1vw,102px);line-height:.94;letter-spacing:-4.7px;margin-bottom:26px}
.hero h1 em{font-size:.58em;line-height:1.2;letter-spacing:-2.2px;color:var(--orange);display:block;white-space:nowrap;margin-top:17px}
.intro{font-size:15px;line-height:1.85;max-width:405px;margin-bottom:28px}
.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}
.button{padding:16px 23px;gap:40px;font-size:12px}
.secondary-link{font-size:11px;text-underline-offset:5px}
.hero-signature{display:flex;align-items:center;gap:15px;margin-top:36px;color:var(--muted);font-size:10px;line-height:1.7}
.signature-mark{display:flex;align-items:center;justify-content:center;width:59px;height:39px;border-right:1px solid #9eab97;padding-right:15px;font:12px var(--sans);letter-spacing:-.4px;color:var(--ink)}
.hero-visual{position:relative;padding:0 0 51px 29px;min-width:0}
.hero-photo{margin:0;position:relative;height:473px;background:#d8d3bf;overflow:hidden}
.hero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:62% center}
.hero-photo::after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#142018a6);pointer-events:none}
.hero-photo figcaption{position:absolute;z-index:1;bottom:24px;right:24px;left:24px;text-align:right;font:italic 18px var(--serif);color:#fff7e6}
.featured-course{position:relative;display:block;width:283px;z-index:2;margin:-134px 0 0 -29px;padding:23px 26px;background:#e2e7cc;color:var(--ink);text-decoration:none;box-shadow:0 12px 30px #23382e12}
.featured-top{display:flex;justify-content:space-between;align-items:center;font-size:8px;font-weight:700;letter-spacing:.08em}
.featured-top>span:last-child{font:23px var(--sans)}
.featured-title{display:block;font:34px/1.07 var(--serif);letter-spacing:-.8px;margin:14px 0 21px}
.featured-bottom{display:flex;justify-content:space-between;gap:12px;font-size:10px;border-top:1px solid #bdc7aa;padding-top:13px}
.featured-bottom>span{font-weight:700}
.featured-course:hover{background:#d7dfba}
.visual-index{position:absolute;right:0;bottom:5px;font-size:8px;letter-spacing:.13em;color:var(--muted)}
.principles{border-block:1px solid var(--line)}
.principles .wrap{padding-block:24px;display:grid;grid-template-columns:repeat(3,1fr);gap:35px}
.principles span{display:block;font-size:11px;color:var(--muted);padding-left:26px;position:relative;border-right:1px solid var(--line)}
.principles span:last-child{border:0}
.principles span::before{content:'↗';position:absolute;left:0;top:0;color:var(--orange);font-size:18px}
.principles b{display:block;color:var(--ink);font-size:13px;font-weight:500;margin-bottom:2px}
.catalogue{padding-block:66px 70px}
.section-heading{margin-bottom:30px}
.section-heading h2{font-size:44px;letter-spacing:-1.5px}
.section-heading .eyebrow{margin-bottom:18px}
.section-heading>p{font-size:13px;max-width:330px}
.course{grid-template-columns:78px 1fr 185px;padding-block:32px}
.course-number{color:#5d7456}
.course h3{font-size:32px;letter-spacing:-.6px}
.provider{font-size:10px}
.tags span{background:#eceee2;border:0;padding:4px 10px}
.course-action a{font-size:12px}
.comparison{margin:34px 0 30px;scroll-margin-top:24px}
.comparison table{width:100%;border-collapse:collapse;table-layout:fixed;text-align:left;font-size:14px;line-height:1.6}
.comparison caption{text-align:left;font:28px/1.2 var(--serif);padding-bottom:22px;letter-spacing:-.5px}
.comparison th,.comparison td{padding:16px 22px;border-bottom:1px solid var(--line);vertical-align:top;font-weight:400}
.comparison th:first-child{width:18%;padding-left:0}
.comparison thead th{font:23px/1.2 var(--serif);background:#e9ecdf;border:0}
.comparison thead th:first-child{background:transparent}
.comparison thead span{display:block;font:11px/1.5 var(--sans);color:var(--muted);margin-top:7px}
.comparison tbody th{font-size:12px;font-weight:700;color:var(--muted)}
.comparison tbody td{color:var(--muted)}
.comparison strong{color:var(--ink);font-weight:500}
.comparison tfoot a{display:inline-flex;align-items:center;gap:14px;min-height:44px;font-size:13px;text-decoration-thickness:1px;text-underline-offset:5px}
.comparison tfoot th,.comparison tfoot td{padding-top:6px;padding-bottom:6px}
.comparison>p{font-size:12px;color:var(--muted);margin:15px 0 0}
.filter{min-height:44px;font-size:12px;padding:10px 15px}
.search input{min-height:44px;font-size:13px}
.course summary{min-height:44px;font-size:13px}
.course-action a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--green);padding:10px 16px;font-size:13px}
.course-action a:hover{background:var(--green);color:var(--paper)}
.secondary-link,nav a,.text-link,.footer-top>a:last-child{display:inline-flex;align-items:center;min-height:44px}
.tags span{font-size:12px}
.course .access{font-size:12px}
.course-action small{font-size:11px}
.course:focus-visible,.comparison:focus-visible{outline:2px solid var(--orange);outline-offset:8px}
.criteria{background:#e5e8db;color:var(--ink);padding-block:70px}
.criteria h2{font-size:46px;letter-spacing:-1.6px}
.criteria-grid>div>p:last-child,.criteria li p{color:var(--muted)}
.criteria li{border-color:#c7cebb}
.criteria li>span{color:#617753}
.criteria li h3{font-size:24px}
.project{padding-block:70px}
.project h2{font-size:42px}
.faq{padding-bottom:70px}
.footer{background:var(--ink);color:#eef0e2}
.footer p,.footer-bottom{color:#d0d8c9}
.footer-bottom{border-color:#61715d}
@media(min-width:1600px){.hero{gap:95px}.hero-photo{height:510px}}
@media(max-width:1150px){
  .wrap{width:calc(100% - 64px)}
  .hero{gap:32px;grid-template-columns:1fr 1fr;padding-top:46px}
  .hero h1{font-size:78px;letter-spacing:-3.7px}
  .hero h1 em{font-size:.52em;letter-spacing:-1.7px}
  .hero .eyebrow{font-size:8px}
  .hero-photo{height:450px}
  .hero-visual{padding-left:19px}
  .featured-course{margin-left:-19px;width:245px;padding:21px}
  .featured-title{font-size:31px}
  .hero-signature{margin-top:28px}
  .hero-actions{gap:18px}
  .hero-actions .button{gap:22px}
  .course{grid-template-columns:50px 1fr 160px;gap:20px}
  .criteria-grid{gap:45px}
}
@media(max-width:850px) and (min-width:761px){
  .hero{gap:25px;grid-template-columns:1fr 1fr}
  .hero h1{font-size:65px;letter-spacing:-3px}
  .hero h1 em{font-size:.5em;letter-spacing:-1.2px}
  .intro{font-size:13px}
  .hero-photo{height:438px}
  .featured-course{width:220px}
  .hero-actions{gap:14px}
  .hero-signature{font-size:9px}
  .section-heading h2{font-size:35px}
  .course{grid-template-columns:40px 1fr 140px;gap:15px}
  .course h3{font-size:27px}
}
@media(max-width:760px){
  .wrap{width:calc(100% - 40px)}
  .header{min-height:85px}
  .logo{font-size:35px}
  nav{gap:16px}
  .hero{display:flex;flex-direction:column;gap:34px;padding-block:30px 30px}
  .hero-copy{padding-top:0;width:100%}
  .hero .eyebrow{font-size:8px;letter-spacing:.08em;margin-bottom:22px}
  .hero h1{font-size:clamp(68px,14vw,96px);letter-spacing:-3.6px;line-height:.92;margin-bottom:22px}
  .hero h1 em{font-size:.51em;letter-spacing:-1.4px;margin-top:13px;line-height:1.22}
  .intro{font-size:14px;max-width:450px;margin-bottom:24px}
  .hero-actions{gap:22px}
  .hero-actions .button{padding:14px 18px;gap:27px;font-size:11px}
  .secondary-link{font-size:10px}
  .hero-signature{margin-top:25px;font-size:9px}
  .hero-visual{width:100%;padding:0 0 27px 18px}
  .hero-photo{height:280px}
  .hero-photo img{object-position:58% center}
  .hero-photo figcaption{font-size:15px;bottom:20px;right:18px;left:18px}
  .featured-course{margin:-104px 0 0 -18px;width:225px;padding:19px 21px}
  .featured-top{font-size:7px}
  .featured-title{font-size:29px;margin:10px 0 17px}
  .featured-bottom{font-size:9px;padding-top:11px}
  .visual-index{font-size:7px;bottom:0}
  .principles .wrap{gap:16px;padding-block:20px}
  .principles span{padding:0;border:0;font-size:9px;line-height:1.5}
  .principles span::before{display:none}
  .principles b{font-size:10px;margin-bottom:4px}
  .catalogue{padding-block:44px}
  .section-heading h2{font-size:34px;letter-spacing:-1px}
  .section-heading>p{font-size:13px;max-width:450px}
  .section-heading .eyebrow{font-size:9px;margin-bottom:17px}
  .course{grid-template-columns:28px 1fr;gap:16px;padding-block:27px}
  .course h3{font-size:26px}
  .provider{font-size:9px}
  .course-number{font-size:27px}
  .criteria{padding-block:45px}
  .criteria h2{font-size:37px}
  .criteria-grid{gap:25px}
  .criteria li h3{font-size:23px}
  .project{padding-block:45px}
  .project h2{font-size:35px}
  .faq{padding-bottom:45px}
  .comparison{margin-top:26px}
  .comparison caption{font-size:26px;padding-bottom:18px}
  .comparison table{font-size:12px;line-height:1.65}
  .comparison th,.comparison td{padding:13px 10px;overflow-wrap:anywhere}
  .comparison th:first-child{width:22%}
  .comparison thead th{font-size:19px}
  .comparison thead span{font-size:10px}
  .comparison tbody th{font-size:11px;overflow-wrap:normal}
  .comparison tfoot a{font-size:12px;gap:7px}
  .comparison>p{font-size:11px}
  .course-action a{display:inline-flex;margin-top:12px;font-size:13px}
  .filter{font-size:12px;padding:9px 13px}
  .course summary{font-size:12px}
  .hero-actions .button{min-height:48px;font-size:12px}
  .hero-actions{gap:17px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
