/* Portada ercabrera.com: composiciones propias sobre el sistema de pagina.css */
.hero{padding:clamp(36px,5vw,72px) 0 clamp(48px,6vw,88px);position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:-20% -10% auto auto;width:62vw;height:62vw;max-width:880px;max-height:880px;
  background:radial-gradient(closest-side,var(--tomL),rgba(253,238,233,0) 72%);pointer-events:none}
.hero .w{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,5vw,72px);align-items:center;position:relative}
.hero h1{font-size:clamp(40px,5.6vw,74px);line-height:1.02;letter-spacing:-.045em;font-weight:650;max-width:15ch}
.hero h1 em{font-style:normal;color:var(--tom)}
.hero .sub{margin-top:22px;font-size:clamp(17px,1.5vw,20px);color:var(--ink2);max-width:46ch;line-height:1.55}
.hero .btns{margin-top:32px}
.hero figure{margin:0;position:relative}
.hero figure img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;object-position:center 30%;border-radius:28px;
  box-shadow:0 30px 80px rgba(18,21,24,.14)}
.hero .tarjeta{position:absolute;left:-28px;bottom:28px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);
  padding:14px 18px;box-shadow:var(--sh);font-size:14px;line-height:1.35;max-width:230px}
.hero .tarjeta b{display:block;font-size:26px;letter-spacing:-.03em;color:var(--ink)}
.hero .tarjeta span{color:var(--ink3)}
@media(max-width:860px){.hero .w{grid-template-columns:1fr}.hero figure{max-width:420px}.hero .tarjeta{left:12px}}

/* cifras propias */
.cifras{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper)}
.cifras .w{display:grid;grid-template-columns:repeat(5,1fr)}
.cifras .w>div{padding:26px 18px 24px;border-left:1px solid var(--line)}
.cifras .w>div:first-child{border-left:0;padding-left:0}
.cifras b{display:block;font-size:clamp(28px,3.2vw,42px);font-weight:650;letter-spacing:-.04em;line-height:1}
.cifras b i{font-style:normal;color:var(--tom)}
.cifras span{display:block;margin-top:8px;font-size:13.5px;color:var(--ink3);line-height:1.4;max-width:22ch}
@media(max-width:900px){.cifras .w{grid-template-columns:1fr 1fr}.cifras .w>div{border-left:0;padding-left:0;border-top:1px solid var(--line)}}

/* bloque título genérico */
.blq{padding:clamp(64px,9vw,120px) 0}
.blq h2{font-size:clamp(30px,4vw,52px);line-height:1.06;letter-spacing:-.04em;max-width:20ch}
.blq h2 em{font-style:normal;color:var(--tom)}
.blq .ent{margin-top:16px;font-size:clamp(17px,1.4vw,19px);color:var(--ink2);max-width:60ch}

/* tres buscadores: lista grande */
.tres{margin-top:clamp(36px,5vw,56px);display:grid;gap:0}
.tres a{display:grid;grid-template-columns:120px 1fr 1.2fr auto;gap:24px;align-items:baseline;padding:28px 0;
  border-top:1px solid var(--line);text-decoration:none;transition:background .2s}
.tres a:last-child{border-bottom:1px solid var(--line)}
.tres .sig{font-family:var(--mono);font-size:13px;color:var(--tom2)}
.tres h3{font-size:clamp(22px,2.4vw,30px);letter-spacing:-.03em}
.tres p{color:var(--ink2);font-size:16px}
.tres .fl{font-size:22px;color:var(--ink3);transition:transform .25s var(--ease),color .2s}
.tres a:hover .fl{transform:translateX(6px);color:var(--tom)}
@media(max-width:820px){.tres a{grid-template-columns:1fr;gap:8px}.tres .fl{display:none}}

/* escalera de servicios: bento */
.bento{margin-top:clamp(36px,5vw,56px);display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:minmax(200px,auto);gap:16px}
.bento a{position:relative;overflow:hidden;border-radius:20px;border:1px solid var(--line);background:var(--paper2);
  padding:clamp(22px,2.6vw,30px);text-decoration:none;display:flex;flex-direction:column;justify-content:flex-end;
  transition:transform .3s var(--ease),box-shadow .3s}
.bento a:hover{transform:translateY(-3px);box-shadow:0 18px 48px rgba(18,21,24,.10)}
.bento h3{font-size:clamp(20px,2vw,26px);letter-spacing:-.03em;position:relative}
.bento p{margin-top:8px;color:var(--ink2);font-size:15px;max-width:40ch;position:relative}
.bento .pre{font-family:var(--mono);font-size:12px;color:var(--tom2);margin-bottom:auto;position:relative}
.bento .b1{grid-column:span 4;grid-row:span 2;color:#fff;border:0;background:#1a1d20}
.bento .b1 img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.bento .b1::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,21,24,.62) 0%,rgba(18,21,24,.28) 38%,rgba(18,21,24,.9) 100%)}
.bento .b1 h3,.bento .b1 p,.bento .b1 .pre{z-index:1}
.bento .b1 p{color:rgba(255,255,255,.86)}
.bento .b1 .pre{color:#FFB39E}
.bento .b2{grid-column:span 2;background:var(--tomL);border-color:#F8D6CC}
.bento .b3{grid-column:span 2}
.bento .b4{grid-column:span 3}
.bento .b5{grid-column:span 3;color:#fff;border:0;background:#1a1d20}
.bento .b5 img{position:absolute;right:-6%;top:-10%;width:62%;border-radius:12px;opacity:.9;transform:rotate(-4deg)}
.bento .b5 p{color:rgba(255,255,255,.8)}.bento .b5 .pre{color:#FFB39E}
@media(max-width:900px){.bento{grid-template-columns:1fr}.bento a{grid-column:auto!important;grid-row:auto!important;min-height:220px}
  .bento .b1{min-height:380px}.bento .b5 img{width:70%;right:-10%}}

/* portafolio en carrusel */
.carrusel{margin-top:clamp(32px,4vw,48px);display:grid;grid-auto-flow:column;grid-auto-columns:min(78vw,520px);gap:20px;
  overflow-x:auto;scroll-snap-type:x mandatory;padding:4px clamp(20px,4vw,48px) 20px;scrollbar-width:thin}
.carrusel a{scroll-snap-align:start;text-decoration:none}
.carrusel img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top;border-radius:16px;border:1px solid var(--line);
  transition:transform .35s var(--ease),box-shadow .35s}
.carrusel a:hover img{transform:translateY(-4px);box-shadow:0 20px 50px rgba(18,21,24,.12)}
.carrusel h3{margin-top:14px;font-size:19px;letter-spacing:-.02em}
.carrusel p{margin-top:4px;color:var(--ink2);font-size:15px}
.carrusel p b{color:var(--tom2);font-weight:600}

/* cursos: foto + índice */
.cursos-h{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,5vw,64px);align-items:start;margin-top:clamp(32px,4vw,48px)}
.cursos-h img{width:100%;border-radius:20px;display:block;aspect-ratio:4/5;object-fit:cover}
.cursos-h ol{list-style:none;margin:0;padding:0;counter-reset:c}
.cursos-h li{counter-increment:c;display:grid;grid-template-columns:44px 1fr;gap:12px;padding:16px 0;border-top:1px solid var(--line)}
.cursos-h li:last-child{border-bottom:1px solid var(--line)}
.cursos-h li::before{content:counter(c,decimal-leading-zero);font-family:var(--mono);font-size:13px;color:var(--tom2);padding-top:4px}
.cursos-h li b{display:block;font-size:17.5px;letter-spacing:-.015em}
.cursos-h li span{display:block;color:var(--ink2);font-size:15px;margin-top:2px}
@media(max-width:860px){.cursos-h{grid-template-columns:1fr}.cursos-h img{aspect-ratio:16/10}}

/* investigación propia */
.inv{background:var(--paper2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.inv .w{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);align-items:center}
.inv .num{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.inv .num div{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:22px}
.inv .num b{display:block;font-size:clamp(30px,3.4vw,44px);letter-spacing:-.04em;font-weight:650;line-height:1}
.inv .num span{display:block;margin-top:8px;font-size:14px;color:var(--ink3)}
.inv .num div:first-child{grid-column:span 2;background:var(--ink);color:#fff;border:0}
.inv .num div:first-child span{color:rgba(255,255,255,.7)}
@media(max-width:860px){.inv .w{grid-template-columns:1fr}}

/* sobre mí corto */
.yo{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(28px,5vw,64px);align-items:center}
.yo img{width:100%;border-radius:20px;aspect-ratio:3/4;object-fit:cover;display:block}
.yo blockquote{max-width:28ch;margin:0 0 22px}
.yo p{color:var(--ink2);max-width:56ch}
.yo p+p{margin-top:14px}
@media(max-width:860px){.yo{grid-template-columns:1fr}.yo img{max-width:420px;aspect-ratio:4/5}}
.faq-inicio .faq{margin-top:0}
