/* V5: estilos limitados a los siete servicios desplegables. */
.service-disclosure{border-bottom:1px solid var(--line)}
.service-disclosure>.service-row{list-style:none;border-bottom:0;cursor:pointer}
.service-disclosure>.service-row::-webkit-details-marker{display:none}
.service-disclosure>.service-row::marker{content:""}
.service-disclosure>.service-row:focus-visible{outline:2px solid var(--service-accent);outline-offset:4px}
.service-disclosure[open]>.service-row h3,
.service-disclosure[open]>.service-row .row-arrow{color:var(--service-accent)}
.service-disclosure .row-arrow{transition:transform .2s ease;justify-self:center}
.service-disclosure[open] .row-arrow{transform:rotate(90deg)}
.service-panel{padding:20px 18px 42px}
.service-disclosure[open] .service-panel{animation:panelIn .24s ease both}
@keyframes panelIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.portfolio-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.portfolio-grid.entertainment-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.portfolio-card{display:block;position:relative;min-width:0;aspect-ratio:16/9;overflow:hidden;border:1px solid #282828;background:#090909;color:var(--white)}
.portfolio-card.portrait{aspect-ratio:4/5}
.portfolio-card.book-card{aspect-ratio:9/16}
.portfolio-card img{width:100%;height:100%;object-fit:cover}
.portfolio-card[href] img{filter:grayscale(1);transition:transform .3s ease,filter .3s ease}
.portfolio-card[href]:hover img{transform:scale(1.025);filter:grayscale(.25)}
.portfolio-card[href]:focus-visible{outline:2px solid var(--service-accent);outline-offset:3px}
.portfolio-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08) 10%,rgba(0,0,0,.18) 35%,rgba(0,0,0,.9) 100%);pointer-events:none}
.portfolio-copy{position:absolute;z-index:1;left:14px;right:14px;bottom:14px}
.portfolio-kicker{display:block;margin-bottom:5px;font-family:var(--mono);font-size:10px;line-height:1.45;letter-spacing:.17em;text-transform:uppercase;color:var(--service-accent)}
.portfolio-copy h4{margin:0;font-family:var(--serif);font-size:clamp(18px,1.7vw,25px);font-weight:850;letter-spacing:-.035em;line-height:1.05}
.portfolio-play{position:absolute;z-index:2;left:50%;top:38%;transform:translate(-50%,-50%);display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:var(--service-accent);color:#050505;font-size:20px;line-height:1;padding-left:3px}
.entertainment-grid .portfolio-play{left:auto;right:14px;top:14px;transform:none;width:36px;height:36px;border:1.5px solid var(--service-accent);background:rgba(0,0,0,.35);color:var(--service-accent);font-size:15px}
.entertainment-grid .portfolio-copy{left:18px;right:18px;bottom:18px}
.entertainment-grid .portfolio-copy h4{font-size:clamp(20px,2vw,28px)}
.book-card .portfolio-play{top:50%;width:56px;height:56px;font-size:26px;padding-left:0}
.training-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 26px}
.training-list li{display:flex;align-items:baseline;gap:12px;min-width:0;padding:18px 0;border-bottom:1px solid var(--line)}
.training-list li>span{color:#625d60;font-family:var(--mono);font-size:12px;flex-shrink:0}
.training-list strong{font-family:var(--serif);font-size:clamp(18px,1.7vw,24px);font-weight:800;line-height:1.15;letter-spacing:-.025em}
@media (min-width:701px) and (max-width:1190px){
  .portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .service-disclosure>.service-row{grid-template-columns:66px minmax(0,1.3fr) minmax(0,.75fr) 24px;gap:20px}
  .service-disclosure>.service-row h3{font-size:clamp(39px,5.2vw,57px);overflow-wrap:anywhere}
  .service-disclosure>.service-row p{padding-left:12px}
}
@media (max-width:700px){
  .service-panel{padding:12px 2px 32px}
  .portfolio-grid,.portfolio-grid.entertainment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .training-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px}
  .service-disclosure>.service-row{grid-template-columns:52px minmax(0,1fr) 20px;column-gap:12px}
  .service-disclosure>.service-row h3{font-size:clamp(30px,6.7vw,43px);overflow-wrap:anywhere}
  .service-disclosure>.service-row .row-arrow{grid-column:3;grid-row:1}
  .portfolio-kicker{font-size:8px;letter-spacing:.1em}
  .portfolio-copy,.entertainment-grid .portfolio-copy{left:10px;right:10px;bottom:10px}
  .portfolio-copy h4,.entertainment-grid .portfolio-copy h4{font-size:18px}
  .portfolio-play{width:42px;height:42px;font-size:17px;top:32%}
}
@media (max-width:550px){
  .portfolio-grid,.portfolio-grid.entertainment-grid{grid-template-columns:1fr}
  .training-list{grid-template-columns:1fr}
  .portfolio-card.portrait{max-width:330px}
  .portfolio-card.book-card{width:75%;max-width:250px}
  .portfolio-copy h4,.entertainment-grid .portfolio-copy h4{font-size:23px}
  .portfolio-kicker{font-size:10px}
  .portfolio-play{top:38%}
}
@media (prefers-reduced-motion:reduce){
  .service-disclosure[open] .service-panel{animation:none}
  .service-disclosure .row-arrow,.portfolio-card img{transition:none}
}
