/* ---------- página de servicio ---------- */
.svc-hero{position:relative;min-height:clamp(620px,96svh,960px);display:flex;flex-direction:column;overflow:hidden;background:#000}
.svc-hero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.svc-hero > .wrap{position:relative;z-index:2;flex:1;width:100%;display:flex;flex-direction:column;justify-content:center;padding-block:140px 64px}
.svc-hero .crumbs{font-size:.85rem;color:var(--soft);margin:0 0 22px}
.svc-hero .crumbs a{border-bottom:1px solid rgba(241,239,233,.3)}
.svc-hero h1{font-size:clamp(2.4rem,6.4vw,6.6rem);max-width:10ch}
.svc-hero .lead{color:var(--soft);max-width:44ch;font-size:1.08rem;margin:28px 0 0}
.svc-hero .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.svc-hero .rating{margin-top:40px}
.aud{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,1.2vw,16px)}
.aud article{display:grid;gap:18px;align-content:start}
.aud figure{margin:0;aspect-ratio:4/5;overflow:hidden;background:#000;max-width:100%}
.aud img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.aud article:hover img{transform:scale(1.04)}
.aud h3{font-family:var(--f-display);font-stretch:125%;font-weight:800;text-transform:uppercase;letter-spacing:-.02em;font-size:1.3rem;line-height:1;margin:0}
.aud p{margin:0;color:var(--soft);font-size:.95rem}
.sessions{border-top:1px solid var(--line)}
.session{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,5fr) minmax(0,3fr);gap:32px;align-items:baseline;padding:30px 0;border-bottom:1px solid var(--line)}
.session h3{font-family:var(--f-serif);font-weight:400;font-size:clamp(1.8rem,3vw,2.6rem);line-height:1;margin:0}
.session p{margin:0;color:var(--soft)}
.session .refs{font-size:.85rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:4px 14px}
.session .refs a{color:var(--fg);border-bottom:1px solid var(--line)}
.session .refs a:hover{color:var(--accent);border-color:var(--accent)}
.includes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line)}
.includes div{padding:32px 32px 32px 0;border-bottom:1px solid var(--line)}
.includes h3{margin:0 0 10px;font-size:1.05rem;font-weight:700;display:flex;gap:12px;align-items:baseline}
.includes h3::before{content:"";width:8px;height:8px;background:var(--accent);flex:none;transform:translateY(-2px)}
.includes p{margin:0;color:var(--soft);max-width:36ch}
.quote{background:var(--ink-2)}
.quote blockquote{margin:0;max-width:1100px}
.quote blockquote p{font-family:var(--f-serif);font-size:clamp(2rem,4.4vw,4rem);line-height:1.12;margin:0}
.quote cite{display:flex;align-items:center;gap:12px;margin-top:32px;font-style:normal;color:var(--soft)}
.quote cite svg{width:22px;height:22px}
.guides{border-top:1px solid var(--line);max-width:980px}
.guides a{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding:26px 0;border-bottom:1px solid var(--line);font-size:clamp(1.1rem,1.6vw,1.35rem);font-weight:600;transition:color .2s}
.guides a span{font-size:.8rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.guides a::after{content:"→";color:var(--accent);font-weight:300}
.guides a:hover{color:var(--accent)}
.faq{border-top:1px solid var(--line);max-width:980px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;padding:26px 0;font-size:clamp(1.1rem,1.6vw,1.35rem);font-weight:600}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-weight:300;font-size:1.6rem;line-height:1;color:var(--accent);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin:0 0 26px;color:var(--soft);max-width:70ch}
.todo{display:inline;background:rgba(227,183,121,.12);border:1px dashed rgba(227,183,121,.6);color:var(--accent);padding:1px 6px;font-size:.9em}
@media (max-width:1000px){.aud{grid-template-columns:repeat(2,minmax(0,1fr))}.includes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){
  .svc-hero > .wrap{justify-content:flex-end}
  .svc-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.2) 0%,rgba(0,0,0,0) 30%,rgba(0,0,0,.92) 70%)}
  .session{grid-template-columns:1fr;gap:12px}
  .aud{grid-template-columns:1fr;gap:20px}
  .aud article{grid-template-columns:minmax(0,40%) minmax(0,1fr);column-gap:18px;row-gap:8px}
  .aud figure{grid-row:1 / 3}
  .aud h3{font-size:1.15rem;align-self:end}
  .aud article > p{grid-column:2;align-self:start}
  .includes{grid-template-columns:1fr}
  .includes div{padding-right:0}
}
