/* Home — agent H. Prefix h-. Tokens and helpers come from site.css. */
.h-hero,.h-index,.h-plan,.h-unit,.h-honest{padding-top:clamp(56px,7vw,112px);padding-bottom:clamp(56px,7vw,112px)}
.h-index,.h-unit,.h-honest{border-top:1px solid var(--line)}
.h-tab{font-family:var(--f-head);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}

/* 1 plaza-hero ------------------------------------------------------- */
.h-hero{padding-top:clamp(32px,4vw,64px);row-gap:36px;align-items:center}
.h-hero__title{max-width:14ch}
.h-hero__lead{font-size:clamp(18px,1.4vw,21px);max-width:56ch;color:var(--ink)}
.h-pick{margin:28px 0 14px;max-width:620px}
.h-pick__label{display:block;font:600 16px/1.3 var(--f-head);margin-bottom:10px}
.h-pick__row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.h-pick__select{min-height:48px;width:100%;padding:10px 40px 10px 12px;border:1.5px solid var(--ink);border-radius:var(--r);background:var(--surface);-webkit-appearance:none;appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);
  background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat}
.h-pick__select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.h-hero__more{font:600 16px/1.3 var(--f-head);margin:0}
.h-hero__more a{display:inline-flex;align-items:center;min-height:44px}
.h-facts{display:grid;grid-template-columns:repeat(4,auto);justify-content:start;gap:0 clamp(20px,3vw,44px);margin:32px 0 0;padding-top:18px;border-top:1px solid var(--line)}
.h-facts dt{font:600 13px/1.3 var(--f-head);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.h-facts dd{margin:4px 0 0;font-size:clamp(20px,2vw,28px);font-weight:800}
.h-hero__photo{margin:0 calc(-1 * var(--gut));overflow:hidden}
.h-hero__photo img{width:100%;aspect-ratio:4/3;object-fit:cover;animation:g-settle 1.2s cubic-bezier(.2,.7,.2,1) both}
@media (min-width:900px){
  .h-hero__text{grid-column:1/7;grid-row:1}
  .h-hero__photo{grid-column:7/-1;grid-row:1;margin-left:0}
  .h-hero__photo img{aspect-ratio:auto;height:min(82vh,780px);min-height:520px}
}
@media (max-width:479px){
  .h-pick__row{grid-template-columns:1fr}
  .h-facts{grid-template-columns:repeat(2,auto);row-gap:14px}
}

/* 2 temario-compartido (ink band) ------------------------------------ */
.h-shared{background:var(--ink);color:var(--on-ink);padding:clamp(64px,8vw,128px) 0}
.h-shared .g12{row-gap:24px}
.h-shared__intro{color:var(--on-ink-muted);max-width:60ch}
.h-shared a{color:var(--on-ink)}
.h-shared a:hover{color:var(--on-ink-accent)}
.h-shared :focus-visible{outline-color:var(--on-ink-accent)}
@media (min-width:1000px){
  .h-shared__head{grid-column:1/5}
  .h-shared__intro{grid-column:6/13;padding-top:28px}
  .h-shared__table{grid-column:5/-1;margin-top:24px}
}
.h-matrix{min-width:780px;font:500 15px/1.35 var(--f-head)}
.h-matrix caption{text-align:left;caption-side:top;padding-bottom:14px;color:var(--on-ink-muted);font:600 13px/1.3 var(--f-head);text-transform:uppercase;letter-spacing:.08em}
.h-matrix th,.h-matrix td{padding:12px 10px;vertical-align:top;text-align:left}
.h-matrix thead th{font-weight:600;font-size:13px;color:var(--on-ink-muted);vertical-align:bottom;border-bottom:1px solid var(--on-ink-muted);max-width:9em}
.h-matrix tbody th{font-weight:600;font-size:16px;min-width:15em}
.h-matrix tbody tr{position:relative}
.h-matrix tbody tr::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--muted);transform-origin:left center}
html.js [data-h-draw]:not(.h-in) tbody tr::after{transform:scaleX(0)}
html.js [data-h-draw].h-in tbody tr::after{animation:g-draw .7s cubic-bezier(.2,.7,.2,1) both}
html.js [data-h-draw].h-in tbody tr:nth-child(2)::after{animation-delay:60ms}
html.js [data-h-draw].h-in tbody tr:nth-child(3)::after{animation-delay:120ms}
html.js [data-h-draw].h-in tbody tr:nth-child(4)::after{animation-delay:180ms}
html.js [data-h-draw].h-in tbody tr:nth-child(5)::after{animation-delay:240ms}
html.js [data-h-draw].h-in tbody tr:nth-child(n+6)::after{animation-delay:300ms}
.h-matrix__grp{display:block;font-weight:500;color:var(--on-ink-muted);margin-top:2px}
.h-matrix__shelf{display:block;font-size:13px;font-weight:500;color:var(--on-ink-muted);margin-top:2px}
.h-matrix td.h-yes,.h-matrix td.h-no{text-align:center;font-size:18px}
.h-matrix thead th:not(:first-child){text-align:center}
.h-yes{color:var(--on-ink-accent);font-weight:800}
.h-no{color:var(--on-ink-muted)}
.h-matrix .h-matrix__price{text-align:right}
.h-shared__table:focus-visible{outline:2px solid var(--on-ink-accent);outline-offset:4px}

/* 3 mesas-indice ------------------------------------------------------ */
.h-index{row-gap:20px}
.h-index__intro{color:var(--muted);max-width:58ch}
@media (min-width:1000px){
  .h-index__head{grid-column:1/5}
  .h-index__intro{grid-column:6/12;padding-top:28px}
}
.h-index__list{grid-column:1/-1;list-style:none;margin:28px 0 0;padding:0}
.h-shelf{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;padding:32px 0;border-top:1px solid var(--line)}
.h-shelf:last-child{border-bottom:1px solid var(--line)}
.h-shelf__num{font-size:clamp(72px,9vw,150px)}
.h-shelf__text p{color:var(--muted);max-width:44ch;margin-bottom:12px}
.h-shelf__link{font:600 16px/1.3 var(--f-head)}
.h-shelf__link a{display:inline-flex;align-items:center;min-height:44px}
.h-shelf__img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r)}
.h-shelf__courses{list-style:none;margin:0;padding:0;font:500 16px/1.35 var(--f-head)}
.h-shelf__courses li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:10px 0;border-bottom:1px solid var(--line)}
.h-shelf__courses li:first-child{border-top:1px solid var(--line)}
.h-shelf__courses a{color:var(--ink);background-size:0 1px}
.h-shelf__courses a:hover{color:var(--accent);background-size:100% 1px}
.h-shelf__courses .h-tab{color:var(--muted)}
@media (min-width:700px){
  .h-shelf{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
  .h-shelf__img{max-width:360px}
  .h-shelf__courses{grid-column:1/-1}
}
@media (min-width:1100px){
  .h-shelf{grid-template-columns:minmax(120px,2fr) minmax(0,3fr) minmax(0,3fr) minmax(0,4fr);column-gap:var(--col-gap);align-items:start}
  .h-shelf__img{max-width:none}
  .h-shelf__courses{grid-column:auto}
}

/* 4 semana-tipo ------------------------------------------------------- */
.h-plan__col{max-width:1000px}
@media (min-width:1000px){ .h-plan__col{grid-column:1/9} }
.h-plan__lead{max-width:58ch;color:var(--muted)}
.h-weeks{min-width:600px;font:500 16px/1.35 var(--f-head);margin-top:12px}
.h-weeks caption{text-align:left;padding-bottom:12px;color:var(--muted);font:600 13px/1.3 var(--f-head);text-transform:uppercase;letter-spacing:.08em}
.h-weeks th,.h-weeks td{padding:14px 10px;text-align:left;vertical-align:top}
.h-weeks thead th{font-size:13px;font-weight:600;color:var(--muted);border-bottom:1.5px solid var(--ink)}
.h-weeks tbody th{font-weight:600}
.h-weeks tbody th a{color:var(--ink);background-size:0 1px}
.h-weeks tbody th a:hover{color:var(--accent);background-size:100% 1px}
.h-weeks .h-weeks__n{text-align:right}
.h-weeks tbody tr{position:relative}
.h-weeks tbody tr::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--line);transform-origin:left center}
.h-calc{margin-top:36px;padding:24px;background:var(--paper-2);border-radius:var(--r)}
.h-calc__title{font:600 13px/1.3 var(--f-head);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:16px}
.h-calc__fields{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:20px}
.h-calc__field label{display:block;font:600 16px/1.3 var(--f-head);margin-bottom:8px}
.h-calc__field select{width:100%;min-height:48px;padding:10px 12px;border:1.5px solid var(--ink);border-radius:var(--r);background:var(--surface)}
.h-calc__field input[type=range]{width:100%;min-height:44px;accent-color:var(--accent)}
.h-calc__field output{font-variant-numeric:tabular-nums}
.h-calc__result{font:800 clamp(22px,2.4vw,32px)/1.15 var(--f-head);margin:20px 0 0}
.h-plan__note{margin-top:24px;font-size:16px;color:var(--muted);max-width:64ch}
@media (max-width:699px){ .h-calc__fields{grid-template-columns:1fr} .h-calc{padding:18px} }

/* 5 leccion-por-dentro ------------------------------------------------ */
.h-unit{row-gap:0;align-items:start}
.h-unit__photo{margin:0 calc(-1 * var(--gut)) 0}
.h-unit__photo img{width:100%;aspect-ratio:3/2;object-fit:cover}
.h-unit__card{position:relative;z-index:1;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:clamp(24px,3vw,48px);margin-top:-48px}
.h-unit__steps{list-style:none;padding:0;margin:20px 0 0;counter-reset:hstep}
.h-unit__steps li{counter-increment:hstep;display:grid;grid-template-columns:56px minmax(0,1fr);gap:4px 12px;padding:14px 0;border-top:1px solid var(--line)}
.h-unit__steps li::before{content:counter(hstep,decimal-leading-zero);grid-row:1 / span 2;font:800 32px/1 var(--f-head);color:var(--accent)}
.h-unit__steps strong{font:600 18px/1.3 var(--f-head)}
.h-unit__link{font:600 16px/1.3 var(--f-head);margin:16px 0 0}
.h-unit__link a{display:inline-flex;align-items:center;min-height:44px}
.h-unit__inset{width:60%;max-width:320px;aspect-ratio:3/2;object-fit:cover;margin-top:24px;border-radius:var(--r)}
@media (min-width:1000px){
  .h-unit__photo{grid-column:1/8;grid-row:1 / span 2;margin-right:0}
  .h-unit__photo img{aspect-ratio:auto;height:clamp(520px,48vw,720px)}
  .h-unit__card{grid-column:8/-1;grid-row:1;margin:72px 0 0 -80px}
  .h-unit__inset{grid-column:9/12;grid-row:2;width:100%;max-width:none;margin-top:28px}
}

/* 6 lo-que-no-hacemos ------------------------------------------------- */
.h-honest{row-gap:28px}
@media (min-width:800px){
  .h-honest__head{grid-column:1/8}
  .h-honest__col:nth-of-type(2){grid-column:1/7}
  .h-honest__col:nth-of-type(3){grid-column:7/-1}
}
@media (min-width:1100px){
  .h-honest__head{grid-column:1/5;grid-row:1 / span 2}
  .h-honest__col:nth-of-type(2){grid-column:5/9;grid-row:1 / span 2}
  .h-honest__col:nth-of-type(3){grid-column:9/-1;grid-row:1 / span 2}
}
.h-honest h3{padding-bottom:12px;border-bottom:1.5px solid var(--ink);margin-bottom:0}
.h-ruled{list-style:none;margin:0;padding:0}
.h-ruled li{padding:14px 0 14px 28px;border-bottom:1px solid var(--line);position:relative}
.h-ruled li::before{content:"";position:absolute;left:0;top:26px;width:14px;height:2px;background:var(--accent)}
.h-ruled--no li::before{background:var(--ink)}

/* 7 sede-cordoba (photo band) ---------------------------------------- */
.h-sede{position:relative;overflow:hidden;background:var(--ink);color:var(--on-ink);margin-top:clamp(24px,4vw,56px)}
.h-sede__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.h-sede::before{content:"";position:absolute;inset:0;background:rgba(10,31,58,.78);z-index:1}
.h-sede__in{position:relative;z-index:2;padding-top:clamp(72px,9vw,150px);padding-bottom:clamp(72px,9vw,150px);row-gap:32px;align-items:end}
.h-sede__text p:not(.eyebrow){color:var(--on-ink);max-width:52ch;font-size:clamp(18px,1.4vw,21px)}
.h-sede__text .btn{margin-top:8px}
.h-sede__text .btn:hover{background:var(--on-ink);border-color:var(--on-ink);color:var(--ink)}
.h-sede :focus-visible{outline-color:var(--on-ink-accent)}
.h-sede__inset{width:min(100%,280px);aspect-ratio:3/4;object-fit:cover;border-radius:var(--r)}
@media (min-width:900px){
  .h-sede__text{grid-column:1/7}
  .h-sede__inset{grid-column:9/12;width:100%}
}
@media (max-width:899px){ .h-sede__inset{display:none} }

@media (prefers-reduced-motion:reduce){
  .h-hero__photo img{animation:none}
  html.js [data-h-draw]:not(.h-in) tbody tr::after{transform:none}
}
