/* Botble-specific additions on top of the original lasogaproducciones.pe stylesheet. */
.skip-link{position:fixed;top:-100px;left:20px;z-index:10000;background:#fff;color:#000;padding:12px 20px;font-family:Poppins,sans-serif}
.skip-link:focus{top:15px}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.nav-icon:focus-visible,.close-icon:focus-visible,.uptotop:focus-visible,.down-arrow:focus-visible,a:focus-visible,.site-btn:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #f39200;outline-offset:4px}
.full-menu .site-menu a[aria-current=page]{color:#f39200}
.portfolio .empty-state{color:#fff;padding:60px 15px}
.portfolio .empty-state a{text-decoration:underline}
/* Intro (/), same composition as the original index.html */
.lasoga-intro{position:fixed;inset:0;background:#000}
.lasoga-intro video{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}
.lasoga-intro-skip{position:fixed;right:30px;bottom:25px;color:#777;font:13px Poppins,sans-serif;letter-spacing:1px;text-transform:uppercase}
.lasoga-intro-skip:hover{color:#fff;text-decoration:none}
/* Contact form: server messages, consent and antispam field */
form label.placeholder{display:block;margin:0;cursor:text}
.lasoga-notice{background:#f2f2f2;color:#000;padding:18px 20px;margin-bottom:30px;font-size:15px;line-height:1.6}
.lasoga-notice.is-error{border-left:4px solid #b3261e}
.lasoga-notice ul{margin:8px 0 0 18px;list-style:disc}
.lasoga-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.lasoga-consent{display:flex;gap:12px;align-items:flex-start;width:100%;margin:0 15px 30px;font-size:13px;line-height:1.6;color:#777;cursor:pointer}
.lasoga-consent input{width:18px;height:18px;margin-top:2px;flex-shrink:0;accent-color:#000}
.lasoga-progress{font-size:14px;margin:15px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* Film credits, Plex-style: crew columns + horizontally scrolling cast with avatars */
.plex-credits{margin:28px 0 10px;padding-top:26px;border-top:1px solid rgba(0,0,0,.1);font-family:Poppins,sans-serif;color:#1a1a1a}
.plex-crew{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:22px 24px;margin:0 0 34px}
.plex-crew-item dt{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#8a8a8a;margin-bottom:6px}
.plex-crew-item dd{margin:0;font-size:15px;line-height:1.45;font-weight:600}
.plex-crew-item dd+dd{margin-top:2px}
.plex-cast-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.plex-cast-head h3{font-size:19px;line-height:1.2;font-weight:700;margin:0}
.plex-cast-nav{display:flex;gap:6px}
.plex-cast-nav button{width:34px;height:34px;border-radius:50%;border:1px solid rgba(0,0,0,.15);background:#fff;color:#1a1a1a;display:grid;place-items:center;font-size:12px;transition:background .2s,color .2s,opacity .2s}
.plex-cast-nav button:hover{background:#1a1a1a;color:#fff}
.plex-cast-nav button:disabled{opacity:.3;pointer-events:none}
.plex-cast-list{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;list-style:none;margin:0 0 0;padding:4px 2px 14px;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.25) transparent;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
.plex-cast-list::-webkit-scrollbar{height:4px}.plex-cast-list::-webkit-scrollbar-thumb{background:rgba(0,0,0,.25);border-radius:4px}
.plex-cast-list.is-end{-webkit-mask-image:none;mask-image:none}
.plex-person{flex:0 0 104px;scroll-snap-align:start;text-align:center}
.plex-avatar{display:grid;place-items:center;width:96px;height:96px;margin:0 auto 10px;border-radius:50%;font-size:28px;font-weight:600;letter-spacing:.02em;color:#fff;background:linear-gradient(145deg,hsl(var(--hue) 38% 46%),hsl(calc(var(--hue) + 40) 45% 26%));box-shadow:0 6px 16px rgba(0,0,0,.18);transition:transform .25s ease,box-shadow .25s ease}
.plex-person:hover .plex-avatar{transform:translateY(-3px) scale(1.04);box-shadow:0 10px 22px rgba(0,0,0,.25)}
.plex-name{display:block;font-size:13px;line-height:1.3;font-weight:600}
.plex-role{display:block;font-size:12px;line-height:1.3;color:#8a8a8a;margin-top:3px}
@media(max-width:768px){.plex-avatar{width:80px;height:80px;font-size:24px}.plex-person{flex-basis:88px}.plex-cast-nav{display:none}}
.plex-avatar.has-photo{background:#e5e5e5;overflow:hidden}
.plex-avatar.has-photo img{width:100%;height:100%;object-fit:cover;object-position:center 20%;border-radius:50%}
/* Plex-style meta row under the film title: rating pill · year · genres */
.categories li.plex-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;margin:6px 0 16px;font-family:Poppins,sans-serif;font-size:15px;font-weight:600;line-height:1.4;color:#5a5a5a;list-style:none}
.plex-rating{display:inline-flex;align-items:center;padding:3px 10px;border:1.5px solid rgba(0,0,0,.35);border-radius:8px;font-size:13.5px;font-weight:700;letter-spacing:.03em;color:#1a1a1a;line-height:1.4}

/* No photo: neutral silhouette, like Plex */
.plex-avatar.is-empty{background:#d9d9d9;box-shadow:none;overflow:hidden;align-items:end}
.plex-avatar.is-empty svg{width:100%;height:100%;fill:#bdbdbd;stroke:none;display:block}
.plex-person:hover .plex-avatar.is-empty{box-shadow:none}

/* ===== La Soga shortcode styles (ls-*) ===== */
.ls-section{position:relative;z-index:2;padding:90px 0;font-family:Poppins,sans-serif;color:#1a1a1a}
.ls-section.ls-dark{color:#fff}
.white .ls-section.ls-dark{color:#1a1a1a}
.ls-section-title{font-family:Poppins,sans-serif;font-size:clamp(30px,3.4vw,46px);font-weight:700;line-height:1.15;margin:0 0 28px}
.ls-block-title{margin:40px 0 10px}
.ls-subtitle{font-size:18px;opacity:.75;margin:12px 0 0}
.ls-muted{color:#8a8a8a;font-size:14px;margin:4px 0 10px}
.ls-note{font-size:15px;line-height:1.7;margin-bottom:24px}
.ls-empty{padding:40px 0;opacity:.7}
.ls-clamp{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;font-size:15px;line-height:1.65;margin:0}
.ls-link{display:inline-block;margin-top:12px;font-weight:600;font-size:14px;color:inherit;border-bottom:2px solid #f39200}
.ls-link:hover{text-decoration:none;color:#f39200}
.ls-badge{display:inline-block;padding:3px 10px;border-radius:999px;background:#f39200;color:#fff;font-size:12px;font-weight:600;letter-spacing:.02em}
.ls-eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:12px;font-weight:600;color:#f39200;margin:0 0 14px}
/* Filters (styles 2–3 of the catalog) */
.ls-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 34px}
.ls-filters a{padding:7px 16px;border:1.5px solid currentColor;border-radius:999px;font-size:14px;font-weight:600;opacity:.65;color:inherit;transition:opacity .2s,background .2s}
.ls-filters a:hover{opacity:1;text-decoration:none}
.ls-filters a[aria-current]{opacity:1;background:#f39200;border-color:#f39200;color:#fff}
.ls-more{display:inline-block;text-decoration:none}
/* Banda / título (portada y cabecera) */
.ls-band{position:relative;min-height:62vh;display:flex;align-items:flex-end;padding:140px 0 70px;background:#111 var(--ls-band-image,none) center/cover no-repeat;color:#fff;overflow:hidden}
.ls-band::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15) 0%,rgba(0,0,0,.75) 100%)}
.ls-band-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ls-band-inner{position:relative;z-index:1;width:min(1140px,100% - 60px);margin:0 auto}
.ls-band-title{font-family:Poppins,sans-serif;font-weight:800;font-size:clamp(44px,7vw,110px);line-height:.95;letter-spacing:-.02em;margin:0;color:#fff}
.ls-band-text{font-size:20px;margin:18px 0 0;max-width:40ch;opacity:.9}
.ls-band-page{min-height:46vh}
.ls-title-only{position:relative;z-index:2;padding:200px 30px 110px;text-align:center;color:#fff;background:#000 var(--ls-band-image,none) center/cover}
.ls-title-only.has-image::before{content:'';position:absolute;inset:0;background:rgba(0,0,0,.6)}
.ls-title-only>*{position:relative}
.ls-title-only h1{font-family:Poppins,sans-serif;font-weight:800;font-size:clamp(48px,8vw,120px);line-height:.95;margin:0}
.ls-title-only p{font-size:20px;margin-top:20px}.ls-title-only em{font-style:normal;color:#f39200}
/* Afiches */
.ls-posters{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:34px 22px}
.ls-poster{color:inherit;display:block}.ls-poster:hover{text-decoration:none}
.ls-poster-media{display:block;aspect-ratio:2/3;border-radius:6px;overflow:hidden;background:#222;box-shadow:0 10px 24px rgba(0,0,0,.35)}
.ls-poster-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.16,1,.3,1)}
.ls-poster:hover img{transform:scale(1.05)}
.ls-poster-meta{display:flex;gap:8px;align-items:center;font-size:12px;font-weight:600;opacity:.7;margin:12px 0 4px}
.ls-poster-meta .plex-rating{font-size:11px;padding:1px 6px;color:inherit;border-color:currentColor}
.ls-poster-title{display:block;font-weight:700;font-size:16px;line-height:1.3}
/* Lista */
.ls-list{display:grid;gap:26px}
.ls-list-item{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:28px;align-items:center;padding-bottom:26px;border-bottom:1px solid rgba(127,127,127,.25)}
.ls-list-media{display:block;aspect-ratio:16/10;border-radius:6px;overflow:hidden;background:#222}
.ls-list-media img{width:100%;height:100%;object-fit:cover}
.ls-list-body h3{font-size:24px;font-weight:700;margin:0 0 6px}.ls-list-body h3 a{color:inherit}
.ls-list-body .plex-meta{display:flex;gap:14px;align-items:center;font-size:14px;font-weight:600;opacity:.8;margin:0 0 10px}
.ls-list-body .plex-rating{color:inherit;border-color:currentColor}
/* Tarjetas */
.ls-cards{display:grid;grid-template-columns:repeat(var(--ls-cols,3),minmax(0,1fr));gap:28px}
.ls-card{background:#fff;color:#1a1a1a;border-radius:10px;overflow:hidden;box-shadow:0 12px 30px rgba(0,0,0,.12);display:flex;flex-direction:column}
.ls-card-media{width:100%;aspect-ratio:4/3;object-fit:cover;background:#ddd}
.ls-card-media.ls-portrait{aspect-ratio:4/5;object-position:top}
.ls-card-body{padding:20px 22px 24px}
.ls-card-body h3{font-size:21px;font-weight:700;margin:6px 0 8px}
.ls-card-row{flex-direction:row}.ls-card-row .ls-card-media{width:38%;aspect-ratio:auto;flex-shrink:0}
.ls-more-text{margin-top:12px;font-size:15px;line-height:1.65}
.ls-more-text summary{cursor:pointer;font-weight:600;color:#008aad}
.ls-more-text p{margin:10px 0 0}
/* Retratos circulares */
.ls-circles .ls-person{text-align:center}
.ls-person img{width:min(220px,80%);aspect-ratio:1;object-fit:cover;object-position:top;border-radius:50%;box-shadow:0 12px 30px rgba(0,0,0,.18);margin:0 auto 18px;display:block}
.ls-person h3{font-size:22px;font-weight:700;margin:0 0 8px}
.ls-person p{font-size:15px;line-height:1.6;opacity:.85;margin:0 auto;max-width:34ch}
/* Línea de tiempo */
.ls-timeline{list-style:none;margin:0;padding:0 0 0 34px;border-left:2px solid rgba(127,127,127,.3)}
.ls-timeline li{position:relative;padding:0 0 44px 24px}
.ls-timeline li::before{content:'';position:absolute;left:-43px;top:6px;width:16px;height:16px;border-radius:50%;background:#f39200;box-shadow:0 0 0 5px rgba(243,146,0,.2)}
.ls-timeline-year{font-weight:700;color:#f39200;font-size:15px;letter-spacing:.04em}
.ls-timeline h3{font-size:26px;font-weight:700;margin:4px 0 8px}
.ls-timeline p{font-size:16px;line-height:1.7;max-width:70ch;margin:8px 0 0}
/* Contacto centrado */
.ls-contact-centered{text-align:center;padding-top:190px}
.ls-contact-centered .contact form{max-width:560px;margin:30px auto 0;text-align:left}
.ls-contact-line{margin-top:30px}
@media(max-width:991px){.ls-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.ls-list-item{grid-template-columns:1fr}.ls-card-row{flex-direction:column}.ls-card-row .ls-card-media{width:100%;aspect-ratio:16/10}}
@media(max-width:575px){.ls-cards{grid-template-columns:1fr}.ls-section{padding:60px 0}.ls-posters{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ===== Alianzas (logos) ===== */
.ls-partners{position:relative;z-index:2;padding:30px 0 90px;font-family:Poppins,sans-serif}
.ls-partners-head{text-align:center;max-width:760px;margin:0 auto 36px;padding:0 20px}
.ls-logo{display:flex;align-items:center;justify-content:center}
.ls-logo img{max-width:100%;max-height:100%;object-fit:contain}
.ls-partners-logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:28px 54px;max-width:1200px;margin:0 auto;padding:0 20px}
.ls-partners-logos .ls-logo{height:84px;width:170px;transition:transform .25s ease}
.ls-partners-logos a.ls-logo:hover{transform:scale(1.06)}
.ls-partners-grid{display:grid;grid-template-columns:repeat(var(--ls-cols,5),minmax(0,1fr));gap:18px;max-width:1200px;margin:0 auto;padding:0 20px}
.ls-partners-grid .ls-logo{aspect-ratio:16/9;background:#fff;border-radius:10px;padding:18px 22px;box-shadow:0 6px 18px rgba(0,0,0,.08);transition:box-shadow .25s,transform .25s}
.ls-partners-grid .ls-logo img{filter:grayscale(1);opacity:.65;transition:filter .3s,opacity .3s}
.ls-partners-grid .ls-logo:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(0,0,0,.14)}
.ls-partners-grid .ls-logo:hover img,.ls-partners-grid .ls-logo:focus-visible img{filter:none;opacity:1}
.ls-marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ls-marquee-track{display:flex;width:max-content;animation:ls-marquee var(--ls-marquee-time,40s) linear infinite}
.ls-marquee:hover .ls-marquee-track{animation-play-state:paused}
.ls-marquee-group{display:flex;align-items:center;gap:60px;padding-right:60px}
.ls-marquee-group .ls-logo{height:80px;width:160px}
@keyframes ls-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.ls-marquee-track{animation:none;flex-wrap:wrap;width:auto}.ls-marquee-group[aria-hidden]{display:none}}
@media(max-width:991px){.ls-partners-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:575px){.ls-partners-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ls-partners-logos .ls-logo{width:130px;height:64px}}

/* ===== Historia (hitos) ===== */
.ls-history-title{font-size:24px;font-weight:700;margin:30px 0 10px}
.ls-timeline-history .ls-timeline-year{font-size:22px}
.ls-history-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;max-width:760px}
.ls-history-photos img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:6px}
.ls-chapter{display:grid;grid-template-columns:1fr;gap:30px;align-items:center;padding:34px 0;border-bottom:1px solid rgba(127,127,127,.2)}
.ls-chapter.has-photo{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.ls-chapter.has-photo.is-reversed .ls-chapter-media{order:2}
.ls-chapter-media img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;box-shadow:0 14px 30px rgba(0,0,0,.18)}
.ls-chapter-year{display:block;font-size:clamp(34px,4vw,56px);font-weight:800;line-height:1;color:#f39200;margin-bottom:10px}
.ls-chapter-body h3{font-size:24px;font-weight:700;margin:0 0 10px}
.ls-chapter-body p{font-size:17px;line-height:1.75;margin:0}
@media(max-width:767px){.ls-chapter.has-photo{grid-template-columns:1fr}.ls-chapter.has-photo.is-reversed .ls-chapter-media{order:0}.ls-history-photos{grid-template-columns:1fr}}
