/* Juan Danilo: dirección editorial. Mantiene las fuentes y artes originales.
   Todo el contenido es visible sin JavaScript; sin librerías ni scroll forzado. */
@media screen {
  .hero{padding-block:44px 64px;overflow:hidden;}
  .hero .grid{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:24px 64px;align-items:start;}
  .hero-copy{display:contents;}
  .hero-heading{grid-column:1;grid-row:1;align-self:end;min-width:0;padding-top:22px;}
  .hero-details{grid-column:1;grid-row:2;min-width:0;align-self:start;}
  .hero .loc{font-size:11px;letter-spacing:.18em;margin-bottom:28px;}
  .hero h1{font-size:clamp(80px,9.1vw,126px);line-height:.9;letter-spacing:-.018em;}
  .hero h1 .sur{font-size:.39em;letter-spacing:.025em;margin-top:.28em;line-height:1.08;}
  .hero .roles{margin:26px 0 0;font-size:11px;line-height:1.8;letter-spacing:.11em;}
  .hero .intro{font-family:var(--serif);font-size:clamp(23px,2.4vw,30px);line-height:1.3;max-width:21em;}
  .hero .cta-row{margin-top:25px;align-items:center;gap:14px 24px;}
  .hero .btn-ghost{border:0;border-bottom:1px solid var(--navy);padding:10px 0;border-radius:0;}
  .hero .portrait{grid-column:2;grid-row:1 / span 2;width:100%;max-width:none;justify-self:stretch;margin:0;padding-inline-end:28px;isolation:isolate;}
  .hero .portrait::after{content:"";position:absolute;inset-block:32px -22px;inset-inline-end:0;width:60px;z-index:-1;background:var(--navy) url('/assets/img/trama-color.v3.webp') center/auto 300px;}
  .hero .portrait img{height:560px;max-height:none;object-fit:cover;object-position:center 20%;border-radius:0;box-shadow:none;}
  .hero .portrait .tag{position:relative;inset:auto;background:var(--navy);padding:15px 20px;box-shadow:none;border-radius:0;display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap;}
  .hero .portrait .tag b{font-size:19px;}
  .hero .portrait .tag span{font-size:9px;letter-spacing:.12em;}
  .quote{background:var(--ivory);padding-block:64px;border-top:0;}
  .quote blockquote{display:grid;grid-template-columns:50px minmax(0,1fr);max-width:860px;text-align:start;column-gap:22px;}
  .quote .mark{grid-row:1 / span 2;font-size:92px;padding-top:34px;}
  .quote p{max-width:none;font-size:clamp(25px,3.1vw,36px);margin:0;line-height:1.35;}
  .quote cite{grid-column:2;font-size:10px;letter-spacing:.14em;margin-top:22px;}
  .about{padding-block:88px;}
  .about .figure{padding-inline-start:24px;}
  .about .figure::before{content:"";position:absolute;inset-inline-start:0;inset-block:24px;width:2px;background:var(--magenta);}
  .about .figure img{border-radius:0;box-shadow:none;}
  .about .body>p:first-of-type{font-family:var(--serif);font-size:clamp(23px,2.6vw,30px);line-height:1.4;}
  .about .body .eyebrow+p::first-letter{float:none;font-size:inherit;line-height:inherit;padding:0;color:inherit;}
  .work{background:var(--ivory-2);}
  .work .sec-head{max-width:780px;}
  .work .sec-head h2{font-size:clamp(40px,5.8vw,72px);max-width:12em;}
  .work .item{grid-template-columns:100px minmax(0,1fr) 120px;gap:28px;}
  .work .item.project-featured{padding-block:40px;align-items:start;}
  .work .project-featured .yr{font-size:30px;}
  .work .project-featured .it-main h3{font-size:clamp(30px,3.6vw,46px);max-width:16em;line-height:1.14;}
  .work .project-featured .it-main p{font-size:16px;max-width:38em;margin-top:16px;}
  .work .place{padding-top:8px;white-space:normal;}
  .work .item.has-source .it-main{border:0;padding-inline-start:0;}
  .work .source-link{padding-block:8px;}
  .books{background:var(--ivory);}
  .books .sec-head{max-width:700px;}
  .books .sec-head h2{font-size:clamp(42px,6.5vw,80px);}
  .books .feature{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;}
  .books .cover{padding:46px 36px;background:var(--ivory-2);position:relative;isolation:isolate;}
  .books .cover::before{content:"";position:absolute;inset:0;z-index:-1;background:url('/assets/img/trama.v3.webp') center/auto 80px repeat;opacity:.12;}
  .books .cover img{max-width:330px;border-radius:0;box-shadow:12px 22px 34px -20px rgba(13,31,46,.45);}
  .books .badge{padding:0;border:0;border-radius:0;}
  .books .badge.published{background:none;color:var(--magenta);}
  .books .feature .prev-link{display:inline-block;padding-block:12px;border-bottom:1px solid var(--navy);font-size:13px;font-weight:600;}
  .books .prev{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;}
  .books .prev-cover{grid-column:2;grid-row:1;background:var(--ivory-2);padding:32px;}
  .books .prev .prev-cover img{width:100%;max-width:240px;margin-inline:auto;border-radius:0;}
  .books .prev-copy{grid-column:1;grid-row:1;}
  .books .prev h3{font-family:var(--serif);font-weight:400;font-size:clamp(32px,4vw,50px);}
  .practice{border-top:1px solid var(--line);}
  .practice .sec-head{max-width:780px;}
  .practice .cards{gap:0 60px;}
  .practice .card{background:transparent;padding-block:34px;}
  .practice .card h3{font-size:28px;hyphens:auto;overflow-wrap:anywhere;}
  .cine{padding:0;overflow:hidden;}
  .cine .cine-trama{background-size:auto 100%;min-height:420px;}
  .stats{background:var(--ivory);color:var(--navy);padding-block:64px;border-bottom:1px solid var(--line);}
  .stats .row{gap:32px 36px;}
  .stats .stat,.stats .stat+.stat{border:0;border-top:1px solid var(--line);padding:20px 0 0;}
  .stats .num{color:var(--navy);font-size:40px;}
  .stats .num em{color:var(--magenta);}
  .stats .lab{color:var(--muted);letter-spacing:.06em;font-size:11px;}
  .init{background:var(--ivory);}
  .init .grid[data-init="v2"]{grid-template-columns:minmax(0,1fr);gap:0;}
  .init .org{display:grid;grid-template-columns:140px minmax(0,1fr) minmax(0,1fr);gap:30px;background:none;border:0;border-top:1px solid var(--line);padding:28px 0;border-radius:0;}
  .init .org .role,.init .org p{margin:0;}
  .init .org h3{font-size:26px;}
  .contact{position:relative;overflow:hidden;}
  .contact .grid{grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);align-items:end;}
  .contact h2{font-size:clamp(46px,6.4vw,80px);max-width:10em;}
  .contact .lead{font-size:17px;}
  .contact .card{background:none;border:0;border-inline-start:1px solid rgba(255,255,255,.25);padding:0 0 0 32px;padding-inline:32px 0;}
  .contact .card .name{font-size:32px;}
  @media (hover:hover) and (pointer:fine){
    .hero .btn-ghost:hover{background:none;color:var(--magenta);border-color:var(--magenta);}
    .books .cover img,.books .prev-cover img{transition:transform .4s cubic-bezier(.23,1,.32,1);}
    .books .cover:hover img,.books .prev-cover:hover img{transform:translateY(-5px);}
  }
  @media (max-width:960px){
    .hero{padding-block:28px 48px;}
    .hero .grid{grid-template-columns:minmax(0,1fr);gap:28px;}
    .hero-heading,.hero-details,.hero .portrait{grid-column:1;grid-row:auto;}
    .hero-heading{padding:0;}
    .hero h1{font-size:clamp(66px,13vw,110px);}
    .hero .loc{margin-bottom:22px;}
    .hero .roles{margin-top:20px;}
    .hero .portrait{max-width:620px;justify-self:start;padding-inline-end:18px;}
    .hero .portrait img{height:clamp(330px,65vw,540px);object-position:center 22%;}
    .hero .portrait::after{width:40px;inset-block:20px -12px;}
    .hero .intro{font-size:25px;max-width:28em;}
    .hero-details{margin-top:12px;}
    .about .figure{position:relative;max-width:440px;}
    .work .item{grid-template-columns:80px minmax(0,1fr);gap:20px;}
    .work .place{display:none;}
    .books .feature,.books .prev{gap:34px;}
    .contact .grid{grid-template-columns:minmax(0,1fr);}
    .contact .card{border-inline-start:0;border-top:1px solid rgba(255,255,255,.25);padding:32px 0 0;}
    .init .org{grid-template-columns:100px minmax(0,1fr);gap:14px 24px;}
    .init .org p{grid-column:2;}
  }
  @media (max-width:680px){
    .hero .portrait .tag{padding:14px;gap:8px;}
    .hero .portrait .tag b{font-size:18px;}
    .hero .portrait .tag span{font-size:8px;}
    .hero .intro{font-size:24px;}
    .hero .roles{font-size:10px;letter-spacing:.08em;}
    .hero .roles span{margin-inline:4px;}
    .hero .cta-row{gap:12px 22px;}
    .quote{padding-block:48px;}
    .quote blockquote{grid-template-columns:22px minmax(0,1fr);column-gap:14px;}
    .quote .mark{font-size:58px;padding-top:20px;}
    .quote p{font-size:25px;}
    .quote cite{font-size:9px;letter-spacing:.1em;}
    .about{padding-block:60px;}
    .about .figure{max-width:340px;}
    .work .item,.work .item.project-featured{grid-template-columns:minmax(0,1fr);gap:10px;padding-block:28px;}
    .work .yr,.work .project-featured .yr{font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.06em;}
    .work .project-featured .it-main h3{font-size:32px;}
    .work .project-featured .it-main p{font-size:15px;}
    .books .feature,.books .prev{grid-template-columns:minmax(0,1fr);gap:30px;}
    .books .cover{padding:32px;}
    .books .prev-cover{grid-column:1;grid-row:1;}
    .books .prev-copy{grid-column:1;grid-row:2;}
    .books .prev .prev-cover img{max-width:200px;}
    .cine .cine-trama{min-height:180px;background-size:auto 380px;background-repeat:repeat-x;}
    .stats .row{gap:26px 22px;}
    .stats .num{font-size:34px;}
    .init .org{grid-template-columns:minmax(0,1fr);gap:14px;}
    .init .org p{grid-column:1;}
    .contact .details a{flex-wrap:wrap;gap:8px;}
    .contact .details .v{overflow-wrap:anywhere;}
  }
  @media (prefers-reduced-motion:reduce){
    .books .cover img,.books .prev-cover img{transition:none;transform:none!important;}
  }
  @media (prefers-reduced-motion:no-preference){
    @keyframes jd-trama-entra{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:translateY(0);}}
    .hero .portrait::after{animation:jd-trama-entra .75s .25s both cubic-bezier(.23,1,.32,1);}
  }
}
@media print{
  .hero-copy{display:contents;}
  .hero-heading,.hero-details{grid-column:1;}
  .hero .portrait{grid-column:2;grid-row:1 / span 2;}
}
