:root{color-scheme:dark;--bg:#26282b;--ink:#f3efe6;--muted:#bebdb7;--line:#494b4e;--soft:#303236;--accent:#cfc0a5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible,article:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.wrap{max-width:1280px;margin-inline:auto;padding-inline:48px}.header{display:flex;align-items:center;gap:45px;padding-block:30px;border-bottom:1px solid var(--line)}.wordmark{font-size:14px;letter-spacing:3px;font-weight:bold}.wordmark span{display:block;font-size:8px;color:var(--muted);letter-spacing:2px;margin-top:8px}.header nav{display:flex;gap:30px;margin-left:auto;font-size:13px}.header nav a:hover,.text-link:hover{color:var(--accent)}.languages{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--muted)}.languages button{border:0;background:none;padding:6px 0}.languages button[aria-pressed=true]{color:var(--ink);border-bottom:1px solid var(--ink)}.skip{position:fixed;top:-100px;left:20px;z-index:30;background:var(--ink);color:var(--bg);padding:12px}.skip:focus{top:15px}.hero{display:grid;grid-template-columns:.85fr 1.25fr;gap:55px;align-items:center;padding-block:65px 75px}.eyebrow{text-transform:uppercase;letter-spacing:2.1px;font-size:10px;line-height:1.6;color:var(--muted);margin:0 0 22px}h1{font-size:clamp(64px,7.8vw,112px);line-height:.89;letter-spacing:-6px;margin:0 0 30px;font-weight:600}.dot{color:var(--accent)}.hero-line{font-family:Georgia,serif;font-size:30px;line-height:1.2;font-style:italic;margin:0 0 24px}.intro{color:var(--muted);font-size:14px;line-height:1.7;max-width:300px}.actions{display:flex;gap:26px;align-items:center;margin-top:32px}.button{display:inline-block;border:1px solid var(--muted);padding:14px 20px;font-size:12px;transition:background .2s,color .2s}.button:hover{background:var(--ink);color:var(--bg)}.text-link{font-size:13px;border-bottom:1px solid var(--line);padding-block:8px}.hero-art{margin:0}.hero-art .crop{height:460px}.hero-art figcaption{display:flex;justify-content:space-between;gap:15px;font-size:9px;margin-top:14px;color:var(--muted)}.hero-art figcaption span:first-child{letter-spacing:2px;color:var(--ink)}.crop{position:relative;overflow:hidden;background:#1f2022;width:100%}.crop svg{display:block;width:100%;height:100%;transition:transform .65s ease}.project:hover .crop svg{transform:scale(1.035)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:36px}.section-head .eyebrow{margin-bottom:10px}h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(34px,4vw,53px);line-height:1.1;letter-spacing:-1.1px;margin:0}.section-note{font-size:12px;line-height:1.65;color:var(--muted);margin:0}.work{padding-block:30px 80px}.project{position:relative;border-top:1px solid var(--line);display:grid;grid-template-columns:36px 1.1fr 1fr;gap:25px;padding-block:27px;align-items:center}.index{font-size:11px;color:var(--muted);align-self:start;margin-top:8px}.project .crop{height:265px}.project-copy{padding-inline:12px}.meta{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:1px;line-height:1.5}.project h3{font-family:Georgia,serif;font-size:35px;font-weight:400;line-height:1.1;margin:16px 0 11px}.role{font-size:12px;letter-spacing:.6px;margin:0 0 8px}.studio{font-size:10px;color:var(--muted);margin:0;line-height:1.5}.project-description{color:var(--muted);font-size:13px;line-height:1.6;margin:17px 0}.project-link{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;border-bottom:1px solid var(--line);padding-bottom:6px}.project.featured{display:block;padding:0;border:0;margin-bottom:35px}.featured .crop{height:470px}.featured .project-copy{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:end;padding:42px;width:58%;background:linear-gradient(90deg,rgba(14,18,24,.91),rgba(14,18,24,.55),transparent);pointer-events:none}.featured .project-copy a,.featured .project-copy button{pointer-events:auto}.featured h3{font-size:51px;margin-top:12px}.featured .project-description{color:#deded7}.featured .project-link{align-self:start}.badge{display:inline-block;font-size:9px;letter-spacing:1px;text-transform:uppercase;border:1px solid #88877f;padding:6px 9px;align-self:start}.detail-trigger{background:none;border:0;border-bottom:1px solid var(--line);padding:8px 0;font-size:11px;margin-left:15px}.featured .detail-trigger{align-self:start;margin:14px 0 0}.details{display:none;position:absolute;z-index:4;right:0;top:calc(100% - 25px);width:min(480px,95%);padding:25px;background:#181b1e;box-shadow:0 15px 50px #0006;border:1px solid #696960;line-height:1.6}.details h4{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;margin:0 0 12px}.details ul{padding-left:18px;margin:0}.details li,.details p{font-size:12px;color:#d1d0c9}.details a{border-bottom:1px solid #696960}.details .award-note{font-size:10px;color:var(--muted);margin-top:15px}.project:focus-within .details,.project.is-open .details{display:block}.doc-card:focus-within .details,.doc-card.is-open .details{display:block}@media(hover:hover){.project:hover .details,.doc-card:hover .details{display:block}}.beyond{border-top:1px solid var(--line);padding-block:65px 75px}.amp{font-style:italic;color:var(--accent)}.doc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.doc-card{position:relative}.doc-card .doc-image{height:200px;width:100%;overflow:hidden;background:var(--soft)}.doc-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.doc-card:hover img{transform:scale(1.04)}.doc-card h3{font-family:Georgia,serif;font-weight:400;font-size:22px;margin:16px 0 10px}.doc-card .details{top:100%;width:360px;right:auto;left:0}.doc-card:last-child .details{right:0;left:auto}.doc-card .detail-trigger{margin:14px 0 0}.about{border-top:1px solid var(--line);padding-block:75px;display:grid;grid-template-columns:.8fr 1.3fr;gap:80px;align-items:center}.portrait{margin:0}.portrait .crop{height:475px}.about-copy h2{font-size:43px;margin-bottom:27px}.about-copy p:not(.eyebrow){font-size:14px;line-height:1.85;color:var(--muted);max-width:560px}.about-copy .text-link{display:inline-block;margin-top:14px}.reel{display:flex;align-items:center;gap:30px;border-top:1px solid var(--line);padding-block:27px}.reel .eyebrow{margin:0}.reel p{font-size:12px;color:var(--muted)}.reel-line{height:1px;background:var(--line);flex:1}.contact{border-top:1px solid var(--line);padding-block:75px}.contact h2{font-size:clamp(45px,6vw,78px);margin-bottom:35px}.email{font-size:clamp(15px,2.3vw,27px);display:block;margin-bottom:20px;width:fit-content;border-bottom:1px solid var(--line);padding-bottom:14px}.email span{margin-left:30px;color:var(--accent)}.footer{border-top:1px solid var(--line);padding-block:25px;display:flex;gap:20px;justify-content:space-between;font-size:9px;color:var(--muted);line-height:1.5}.footer button{border:0;background:none;padding:0;font-size:9px;text-decoration:underline}.sources{padding-block:25px 50px;color:var(--muted);font-size:12px;line-height:1.7}.sources h2{font-size:25px;margin-bottom:20px}.sources a{text-decoration:underline}.sources li{margin-bottom:8px}.sources[hidden]{display:none}.fallback-label{display:flex;align-items:center;justify-content:center;height:100%;font-family:Georgia,serif;color:var(--muted);font-size:24px;text-align:center;padding:20px}.doc-image img.failed{display:none}@media(max-width:850px){.wrap{padding-inline:25px}.header{gap:20px}.wordmark span{display:none}.header nav{gap:17px;font-size:11px}.hero{gap:25px}.hero-art .crop{height:390px}h1{letter-spacing:-3px}.hero-line{font-size:25px}.actions{gap:15px}.project{grid-template-columns:22px 1fr 1fr;gap:15px}.project .crop{height:230px}.project h3{font-size:28px}.featured h3{font-size:43px}.about{gap:35px}.about-copy h2{font-size:35px}.doc-card .doc-image{height:170px}.doc-card h3{font-size:20px}.doc-card .details{width:300px}.hero-art figcaption{font-size:8px}.footer{flex-wrap:wrap}}@media(max-width:600px){html{scroll-padding-top:25px}.wrap{padding-inline:22px}.header{padding-block:22px;flex-wrap:wrap;justify-content:space-between;gap:20px}.header nav{order:3;width:100%;margin:0;justify-content:space-between}.wordmark{font-size:12px}.hero{grid-template-columns:1fr;padding-block:42px;gap:35px}h1{font-size:80px}.hero-line{font-size:28px}.hero-art .crop{height:330px}.hero-art figcaption{flex-direction:column;gap:5px}.intro{max-width:100%}.section-head{display:block}.section-note{margin-top:22px}.work{padding-bottom:45px}.featured .crop{height:420px}.featured .project-copy{width:100%;padding:25px;background:linear-gradient(0deg,rgba(14,18,24,.93),rgba(14,18,24,.35),transparent)}.featured h3{font-size:36px}.featured .project-description{max-width:90%}.project{grid-template-columns:23px 1fr;gap:15px;padding-block:24px}.project .crop{height:210px}.project-copy{grid-column:2;padding:0}.project h3{font-size:31px}.project .details,.doc-card .details{position:relative;top:auto!important;left:auto!important;right:auto!important;width:100%;box-shadow:none;padding:20px}.project .details{grid-column:2;margin-top:10px}.featured .details{position:absolute;bottom:0;top:auto!important;max-height:90%;overflow:auto;width:100%}.doc-grid{grid-template-columns:1fr;gap:35px}.doc-card .doc-image{height:230px}.doc-card h3{font-size:26px}.beyond{padding-block:45px}.about{grid-template-columns:1fr;padding-block:45px;gap:35px}.portrait .crop{height:390px;max-width:350px}.about-copy h2{font-size:37px}.reel{gap:16px}.reel p{line-height:1.7}.contact{padding-block:45px}.contact h2{font-size:47px}.email span{margin-left:10px}.footer{gap:12px}.footer span:nth-child(2){width:100%;order:3}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.recognition-strip{font-size:9px;letter-spacing:1.1px;color:var(--accent);line-height:1.7;margin:14px 0 0}

/* Revisión: jerarquía editorial, encuadres y paneles animados. */
:root{--bg:#232528;--soft:#2c2f33;--muted:#cbc9c2}
.wordmark{font-size:18px}.wordmark span{font-size:11px}.header nav{font-size:16px}.languages{font-size:14px}
.eyebrow{font-size:13px;letter-spacing:1.8px}.intro{font-size:18px;max-width:380px}.button,.text-link{font-size:16px}.hero-line{font-size:34px}
.hero-art .crop{height:auto;aspect-ratio:1.63}.hero-art figcaption{font-size:12px;line-height:1.6}
.section-note{font-size:16px}.index{font-size:14px}.meta{font-size:12px;letter-spacing:.8px}.project h3{font-size:clamp(34px,3.5vw,46px)}
.role{font-size:18px;font-weight:600;line-height:1.5}.studio{font-size:14px;line-height:1.65}.project-description{font-size:17px;line-height:1.7}.project-link{font-size:13px;line-height:1.7}.detail-trigger{font-size:15px;line-height:1.6}.recognition-strip{font-size:13px;line-height:1.7}.badge{font-size:12px}
.project .crop{height:auto;aspect-ratio:1.65}.crop svg{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.project.featured{display:grid;grid-template-columns:1fr 1.05fr;gap:35px;padding:32px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.featured .crop{height:auto;aspect-ratio:1.55;grid-column:2;grid-row:1}.featured .project-copy{position:static;grid-column:1;grid-row:1;width:auto;background:none;padding:0;pointer-events:auto}.featured h3{font-size:clamp(38px,4vw,54px)}.featured .project-description{color:var(--muted)}
.details{display:block;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(14px);transition:opacity .28s ease,transform .35s cubic-bezier(.2,.7,.2,1),visibility 0s linear .35s;width:min(560px,95%);padding:28px;background:#191c20;border-color:#66665f}
.details h4{font-size:14px;line-height:1.6}.details li,.details p{font-size:16px;line-height:1.75}.details li{margin-bottom:12px}.details .award-note{font-size:13px}
.project:focus-within .details,.project.is-open .details,.doc-card:focus-within .details,.doc-card.is-open .details{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0);transition-delay:0s}
@media(hover:hover){.project:hover .details,.doc-card:hover .details{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0);transition-delay:0s}}
.doc-card .doc-image{height:280px;background:#1b1e21}.doc-image img{object-fit:contain;padding:10px}.doc-card[data-id=abrazo] .doc-image img{object-fit:cover;padding:0}.doc-card h3{font-size:29px;line-height:1.2}.doc-card .details{width:min(480px,90vw)}
.about-copy p:not(.eyebrow){font-size:18px;line-height:1.8}.reel p{font-size:16px}.footer,.footer button{font-size:12px}.sources{font-size:16px}
@media(max-width:850px){.header{gap:22px}.header nav{font-size:14px;gap:16px}.project{grid-template-columns:24px 1fr 1fr}.project-copy{padding-inline:0}.project h3{font-size:34px}.project-description{font-size:16px}.doc-card .doc-image{height:240px}.doc-card h3{font-size:25px}.hero-line{font-size:29px}}
@media(max-width:600px){.hero-art .crop{height:auto;aspect-ratio:1.63}.project .crop{height:auto;aspect-ratio:1.65}.project.featured{grid-template-columns:1fr;gap:25px}.featured .crop{grid-column:1;grid-row:1;aspect-ratio:1.76}.featured .project-copy{grid-column:1;grid-row:2;padding:0}.featured .project-description{max-width:100%}.project h3{font-size:36px}.project-copy>div:last-child{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.detail-trigger{margin-left:0}.doc-card .doc-image{height:320px}.doc-card h3{font-size:30px}.details,.project .details,.doc-card .details,.featured .details{position:relative;inset:auto!important;max-height:0;overflow:hidden;padding:0 20px;margin-top:0;border-width:0;width:100%;transition:max-height .45s ease,opacity .3s ease,transform .35s ease,padding .35s ease,visibility 0s linear .45s}.featured .details{grid-column:1}.project:focus-within .details,.project.is-open .details,.doc-card:focus-within .details,.doc-card.is-open .details{max-height:1400px;padding:24px 20px;border-width:1px;margin-top:12px;transition-delay:0s}.about-copy p:not(.eyebrow){font-size:18px}.hero-art figcaption{font-size:12px}.header nav{font-size:16px}.portrait .crop{height:auto;aspect-ratio:.92}}
@media(prefers-reduced-motion:reduce){.details,.crop svg{transition:none!important;transform:none!important}}

/* Cabecera de fotogramas y ficha principal a sangre. */
.hero{display:block;position:relative;padding-block:46px 34px;min-height:0}
.hero-copy{display:grid;grid-template-columns:1fr auto;grid-template-areas:'eyebrow eyebrow' 'name line' 'intro line' 'actions actions';align-items:end;column-gap:35px;position:relative;z-index:2;padding:0 0 28px}
.hero-copy>.eyebrow{grid-area:eyebrow;margin-bottom:14px}.hero-copy h1{grid-area:name;font-size:clamp(62px,8vw,102px);margin:0}.hero-copy .hero-line{grid-area:line;font-size:clamp(25px,3vw,37px);margin:0 0 6px}.hero-copy .intro{grid-area:intro;margin:15px 0 0}.hero-copy .actions{grid-area:actions;margin:22px 0 0}
.hero-art{position:relative;width:100%;margin:0;overflow:hidden;background:#151719}.hero-art #hero-image{position:relative;height:clamp(240px,33vw,440px)}
.hero-strip{display:grid;grid-template-columns:repeat(6,1fr);height:100%;overflow:hidden}.hero-frame{height:100%;overflow:hidden;border-right:2px solid #232528}.hero-frame .crop{height:100%;aspect-ratio:auto}.hero-frame svg{filter:brightness(.82);transition:filter .45s,transform .8s cubic-bezier(.2,.7,.2,1)}.hero-art:hover .hero-frame svg{filter:brightness(1)}.hero-frame:hover svg{transform:scale(1.07)}
.hero-strip-caption{position:absolute;inset:auto 0 0;display:flex;gap:18px;align-items:baseline;padding:65px 30px 20px;background:linear-gradient(transparent,rgba(15,17,19,.92));pointer-events:none}.hero-strip-caption strong{font-size:clamp(24px,3.2vw,42px);letter-spacing:.03em}.hero-strip-caption span{font-size:13px;letter-spacing:.16em;color:#dfddd6}
.hero-art figcaption{font-size:13px;margin-top:11px}.hero-art figcaption span:first-child{font-size:15px}
.project.featured{position:relative;display:block;margin:0 0 34px;padding:0;border:0;overflow:visible}.featured .crop{height:clamp(330px,47vw,590px);aspect-ratio:auto}.featured .project-copy{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;width:100%;padding:clamp(24px,5vw,64px);background:linear-gradient(0deg,rgba(11,14,17,.94),rgba(11,14,17,.53) 40%,transparent 78%);pointer-events:none}.featured h3{font-family:Arial,Helvetica,sans-serif;font-weight:700;text-transform:uppercase;font-size:clamp(40px,7vw,86px);letter-spacing:-.04em;margin:14px 0 8px}.featured .role{font-size:18px}.featured .studio{font-size:15px}.featured .project-description{font-size:18px;max-width:720px}.featured .project-actions{pointer-events:auto;display:flex;gap:12px;align-items:center;margin-top:14px}.featured .detail-trigger{margin:0;align-self:auto}
.project-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px}.project-actions .project-link,.project-actions .detail-trigger,.doc-card>.project-link,.doc-card>.detail-trigger{display:inline-flex;align-items:center;justify-content:center;min-height:48px;margin:0;padding:11px 19px;border:1px solid rgba(148,177,207,.55);border-radius:14px;background:rgba(30,60,88,.35);color:#f4f3ee;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;line-height:1.3;transition:transform .24s cubic-bezier(.2,.7,.2,1),background .24s,border-color .24s,box-shadow .24s}
.project-actions .detail-trigger,.doc-card>.detail-trigger{font-family:inherit}.project-actions .project-link:hover,.project-actions .detail-trigger:hover,.doc-card>.project-link:hover,.doc-card>.detail-trigger:hover{transform:translateY(-2px);background:rgba(57,93,127,.65);border-color:rgba(193,216,239,.85);box-shadow:0 8px 24px rgba(0,0,0,.22)}.project-actions .project-link:active,.project-actions .detail-trigger:active,.doc-card>.project-link:active,.doc-card>.detail-trigger:active{transform:translateY(1px) scale(.98)}.project-actions .detail-trigger{align-self:auto}#project-list .project{grid-template-columns:1fr 1.05fr;gap:35px}#project-list .project-copy{grid-column:1;grid-row:1;padding:12px}#project-list .crop{grid-column:2;grid-row:1}
.doc-card>.project-link,.doc-card>.detail-trigger{margin-top:16px;margin-right:9px}.doc-card .doc-image{height:340px;background:#191c1f}.doc-card[data-id=abrazo] .doc-image img,.doc-card[data-id=mestra] .doc-image img,.doc-card[data-id=sobreviure] .doc-image img{object-fit:contain;padding:8px}.doc-card .role{margin:6px 0}.doc-card .details{top:calc(100% + 10px)}
@media(max-width:850px){.hero{padding-block:36px 27px}.hero-copy{column-gap:20px}#project-list .project{grid-template-columns:.9fr 1fr;gap:20px}.doc-card .doc-image{height:290px}}
@media(max-width:600px){.hero{padding-block:34px 25px}.hero-copy{display:block;padding-bottom:22px}.hero-copy h1{font-size:70px}.hero-copy .hero-line{font-size:30px;margin-top:20px}.hero-copy .intro{font-size:17px;margin-top:14px}.hero-copy .actions{margin-top:20px}.hero-art #hero-image{height:250px}.hero-strip{grid-template-columns:repeat(6,minmax(75px,1fr));overflow:hidden}.hero-strip-caption{padding:48px 15px 13px;gap:10px}.hero-strip-caption strong{font-size:22px}.hero-strip-caption span{font-size:10px}.project.featured{display:block}.featured .crop{height:390px}.featured .project-copy{padding:24px}.featured h3{font-size:42px}.featured .role{font-size:16px}.featured .studio{font-size:13px}.featured .project-description{font-size:16px}#project-list .project{grid-template-columns:1fr;gap:16px}#project-list .project .crop{grid-column:1;grid-row:1;aspect-ratio:1.65}#project-list .project .project-copy{grid-column:1;grid-row:2;padding:0}.project-actions{gap:9px}.project-actions .project-link,.project-actions .detail-trigger,.doc-card>.project-link,.doc-card>.detail-trigger{min-height:46px;padding:10px 13px;font-size:12px}.doc-card .doc-image{height:360px}.doc-card>.project-link,.doc-card>.detail-trigger{display:flex;width:fit-content}}

.portrait-card{height:100%;min-height:420px;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(28px,5vw,58px);background:radial-gradient(ellipse at 80% 20%,#46505a,#25282d 55%,#17191c);border:1px solid #41464a}.portrait-card span{font-size:12px;letter-spacing:.18em;color:#c7c6c0}.portrait-card strong{font-size:clamp(56px,8vw,100px);line-height:.84;letter-spacing:-.06em}.portrait-card a{font-size:15px;width:max-content;padding:13px 18px;border:1px solid rgba(148,177,207,.6);border-radius:14px;background:rgba(30,60,88,.4)}
@media(max-width:600px){.portrait-card{min-height:300px}}

/* Cabecera limpia: el proyecto destacado vuelve a ser la primera imagen grande. */
.hero{display:block;padding-block:54px 42px;min-height:0}
.hero-copy{display:grid;grid-template-columns:1fr auto;grid-template-areas:'eyebrow eyebrow' 'name line' 'intro line' 'actions actions';align-items:end;column-gap:36px;padding:0}
.hero-copy>.eyebrow{grid-area:eyebrow}.hero-copy h1{grid-area:name}.hero-copy .hero-line{grid-area:line}.hero-copy .intro{grid-area:intro}.hero-copy .actions{grid-area:actions}
.hero-art,.hero-strip,.hero-strip-caption{display:none!important}
.crop .remote-still{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.project:hover .crop .remote-still{transform:scale(1.035)}
.crop .remote-still.failed{display:none}
/* La ficha es deliberada: no se abre al hover ni al foco del teclado. */
.project>.details,.doc-card>.details{display:block!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;transform:translateY(14px)!important;transition:opacity .28s ease,transform .35s cubic-bezier(.2,.7,.2,1),visibility 0s linear .35s!important}
.project.is-open>.details,.doc-card.is-open>.details{visibility:visible!important;opacity:1!important;pointer-events:auto!important;transform:translateY(0)!important;transition-delay:0s!important}
.project:focus-within:not(.is-open)>.details,.doc-card:focus-within:not(.is-open)>.details{visibility:hidden!important;opacity:0!important;pointer-events:none!important;transform:translateY(14px)!important}
.portrait-link{display:block;color:inherit}.portrait-cta{display:inline-block;font-size:15px;width:max-content;padding:13px 18px;border:1px solid rgba(148,177,207,.6);border-radius:14px;background:rgba(30,60,88,.4)}
@media(max-width:600px){.hero{padding-block:38px 30px}.hero-copy{display:block}.hero-copy h1{font-size:70px}.hero-copy .hero-line{margin-top:20px}.project>.details,.doc-card>.details{max-height:0!important;overflow:hidden!important;padding:0 20px!important;margin-top:0!important;border-width:0!important;transition:max-height .45s ease,opacity .3s ease,transform .35s ease,padding .35s ease,visibility 0s linear .45s!important}.project.is-open>.details,.doc-card.is-open>.details{max-height:1400px!important;padding:24px 20px!important;margin-top:12px!important;border-width:1px!important}.project:focus-within:not(.is-open)>.details,.doc-card:focus-within:not(.is-open)>.details{max-height:0!important;padding:0 20px!important;margin-top:0!important;border-width:0!important}}
.laurel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.laurel-grid img{display:block;width:100%;height:auto;object-fit:contain;background:transparent;border:0;border-radius:0;padding:0;box-shadow:none}
.image-pending{display:grid;place-items:center;width:100%;height:100%;min-height:220px;color:var(--muted);font-size:15px;letter-spacing:.04em;text-align:center;padding:20px;border:1px dashed #696b6e}
@media(max-width:600px){.laurel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.image-pending{min-height:200px}}
/* Encuadres finales: cartel completo de Klaus y figura de Mr. Birchum dentro del plano. */
.project[data-id="klaus"] .crop{height:auto;aspect-ratio:1.65;background:#141619}
.project[data-id="klaus"] .poster-image{display:block;width:100%;height:100%;object-fit:contain}
#featured .project[data-id="superthings"] .crop svg{transform:scaleX(-1)}
#featured .project[data-id="superthings"]:hover .crop svg{transform:scaleX(-1) scale(1.035)}
#featured .project[data-id="superthings"] h3{font-size:clamp(34px,5vw,66px);letter-spacing:-.025em}
#project-list .project[data-id="birchum"] .crop{aspect-ratio:1.64}
@media(max-width:600px){.project[data-id="klaus"] .crop{height:410px;aspect-ratio:auto}.project[data-id="klaus"] .poster-image{object-fit:contain}#featured .project[data-id="superthings"] h3{font-size:clamp(34px,9vw,48px)}}
/* Nueva composición: primera pieza más panorámica y títulos alineados. */
.hero{padding-bottom:22px}.work{padding-top:8px}.work .section-head{margin-bottom:22px}.work .section-head h2{display:none}
.crop,.doc-card .doc-image img{border-radius:14px}
#featured .project[data-id="superthings"] .crop{height:auto;aspect-ratio:21/9;max-height:590px}
#featured .project[data-id="superthings"] h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;text-transform:none;letter-spacing:-.035em;font-size:clamp(38px,5.1vw,68px);line-height:.96;margin:12px 0 6px}
#featured .project[data-id="superthings"] .project-subtitle{display:block;font-family:Arial,Helvetica,sans-serif;font-size:clamp(14px,1.6vw,21px);font-weight:500;letter-spacing:.14em;text-transform:uppercase;line-height:1.4;margin-top:10px;color:#e2dfd8}
.project[data-id="klaus"] .crop{height:auto;aspect-ratio:1.65;background:#141619}
.project[data-id="klaus"] .poster-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center 49%;border-radius:14px}
/* Posters de documental: se muestra el propio papel, sin una caja negra detrás. */
.doc-grid{align-items:start}
.doc-card .doc-image{height:auto;width:100%;min-height:0;aspect-ratio:auto;display:flex;align-items:flex-start;justify-content:flex-start;overflow:visible;background:transparent}
.doc-card .doc-image img{display:block;width:auto;height:auto;max-width:100%;max-height:520px;object-fit:contain;padding:0;background:transparent}
.doc-card .doc-image .image-pending{background:transparent;border-radius:12px;max-width:100%;min-height:300px}
.doc-card h3{margin-top:17px}
.doc-card[data-id="sobreviure"] .doc-image img{max-height:520px}
/* Entrada discreta al desplazarse; el contenido sigue disponible sin movimiento reducido. */
body.has-reveal #featured .project,body.has-reveal #project-list .project,body.has-reveal .doc-card{opacity:0;transform:translateY(18px);transition:opacity .55s ease var(--reveal-delay,0ms),transform .65s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms)}
body.has-reveal #featured .project.is-visible,body.has-reveal #project-list .project.is-visible,body.has-reveal .doc-card.is-visible{opacity:1;transform:translateY(0)}
@media(max-width:600px){#featured .project[data-id="superthings"] .crop{aspect-ratio:16/9;max-height:none}.project[data-id="klaus"] .crop{height:auto;aspect-ratio:1.65}.doc-card .doc-image img{max-height:460px}.doc-card .doc-image{justify-content:center}}
@media(prefers-reduced-motion:reduce){body.has-reveal #featured .project,body.has-reveal #project-list .project,body.has-reveal .doc-card{opacity:1;transform:none;transition:none}}

/* Panels de premios: se deslizan sobre el fotograma, a petición del usuario. */
#project-list .project,#featured .project,.doc-card{position:relative;isolation:isolate}
#project-list .project.is-open,#featured .project.is-open,.doc-card.is-open{z-index:30}
.project>.details,.doc-card>.details{
  position:absolute!important;z-index:25;display:block!important;box-sizing:border-box;
  inset:24px 0 24px auto!important;width:calc(51.2% - 16px)!important;max-height:none!important;
  overflow:auto!important;margin:0!important;padding:clamp(24px,3vw,42px)!important;
  border:1px solid rgba(207,196,170,.48)!important;border-radius:18px;background:rgba(22,24,27,.97)!important;
  box-shadow:0 24px 80px rgba(0,0,0,.52);backdrop-filter:blur(14px);
  transform:translateX(28px)!important;transition:transform .42s cubic-bezier(.2,.75,.2,1),opacity .3s ease,visibility 0s linear .42s!important;
}
.project.is-open>.details{inset:24px 0 24px auto!important}
.project.is-open>.details,.doc-card.is-open>.details{transform:translateX(0)!important}
#featured .project>.details{left:50%!important;right:20px!important;width:auto!important;inset-block:20px!important}
.details-close{position:sticky;top:0;float:right;z-index:2;display:grid;place-items:center;width:42px;height:42px;margin:-12px -12px 10px 12px;border:1px solid rgba(207,196,170,.5);border-radius:50%;background:#292c30;color:#f4f3ee;font-size:27px;cursor:pointer}
.details-close:hover{background:#3a3e43;transform:rotate(90deg);transition:transform .25s ease,background .25s ease}
.doc-card .doc-image{height:clamp(360px,32vw,460px)!important;min-height:0!important;display:flex!important;align-items:center!important;justify-content:center!important;background:transparent!important;overflow:hidden!important}
.doc-card .doc-image img{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;padding:0!important;border-radius:14px!important;background:transparent!important}
.doc-card>.details{left:0!important;right:0!important;top:0!important;bottom:auto!important;width:100%!important;height:clamp(360px,32vw,460px)!important}
.doc-card[data-id="sobreviure"] .doc-image img{object-fit:contain!important}
.hero-copy{grid-template-areas:'eyebrow eyebrow' 'name line' 'intro line' 'actions line'!important}
.hero-copy .hero-line{align-self:end!important;margin-bottom:0!important}
#featured .project[data-id="superthings"] h3{font-family:Georgia,"Times New Roman",serif!important;font-weight:400!important;text-transform:none!important}
#featured .project[data-id="superthings"] .project-subtitle{text-transform:lowercase!important}
@media(max-width:850px){
 .project>.details{inset:16px 0 16px auto!important;width:calc(51.2% - 10px)!important}
 #featured .project>.details{left:50%!important;right:14px!important;inset-block:14px!important}
 .doc-card .doc-image,.doc-card>.details{height:360px!important}
}
@media(max-width:600px){
 .hero-copy{display:grid!important;grid-template-columns:1fr!important;grid-template-areas:'eyebrow' 'name' 'intro' 'actions' 'line'!important;align-items:start!important}
 .hero-copy .hero-line{margin-top:18px!important;font-size:27px!important}
 .project>.details,.project.is-open>.details{left:0!important;right:0!important;top:0!important;bottom:auto!important;width:100%!important;height:clamp(220px,61vw,320px)!important;inset:auto 0 auto 0!important;padding:20px!important;border-radius:14px!important;transform:translateY(16px)!important}
 .project.is-open>.details{transform:translateY(0)!important}
 #featured .project>.details,#featured .project.is-open>.details{left:0!important;right:0!important;top:0!important;bottom:auto!important;height:56.25vw!important;inset:auto 0 auto 0!important}
 .doc-card .doc-image{height:360px!important}
 .doc-card>.details,.doc-card.is-open>.details{left:0!important;right:0!important;top:0!important;bottom:auto!important;width:100%!important;height:360px!important;inset:auto 0 auto 0!important;padding:20px!important;transform:translateY(16px)!important}
 .doc-card.is-open>.details{transform:translateY(0)!important}
 .details h4{font-size:13px}.details li,.details p{font-size:15px}
}
@media(prefers-reduced-motion:reduce){.project>.details,.doc-card>.details{transition:none!important}.details-close:hover{transform:none}}
.project>.details,.doc-card>.details{transform:translateX(28px)!important;max-height:none!important}
.project.is-open>.details,.doc-card.is-open>.details{transform:translateX(0)!important;max-height:none!important}
@media(max-width:600px){.project>.details,.doc-card>.details{transform:translateY(16px)!important;max-height:none!important}.project.is-open>.details,.doc-card.is-open>.details{transform:translateY(0)!important;max-height:none!important}}

/* Dirección visual inspirada en la referencia: tipografía redondeada, luz ambiental y cristal. */
:root{--bg:#202226;--soft:#292d32;--line:rgba(226,231,239,.12);--muted:#c4c6ca;--accent:#d4c7ac;--accent-blue:#9cbaf2;--glass:rgba(41,48,60,.56)}
body{font-family:"DM Sans",sans-serif;background:radial-gradient(ellipse at 88% 22%,rgba(71,93,132,.095),transparent 35%),var(--bg)}
h1,h2,h3,.wordmark,.badge,.meta,.platform-card strong{font-family:"Outfit","DM Sans",sans-serif}
.hero-copy .hero-line{font-family:"Playfair Display",Georgia,serif;font-style:italic}
.header{background:rgba(29,31,35,.82);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom-color:rgba(234,238,244,.09)}
.button,.project-actions .project-link,.project-actions .detail-trigger,.doc-card>.project-link,.doc-card>.detail-trigger,.glass-button{position:relative;overflow:hidden;border:1px solid rgba(178,201,238,.34)!important;border-radius:16px!important;background:linear-gradient(135deg,rgba(108,142,194,.24),rgba(42,58,83,.28) 55%,rgba(186,207,238,.08))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 8px 28px rgba(1,7,18,.17);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transition:transform .28s cubic-bezier(.2,.75,.2,1),box-shadow .3s,border-color .3s,background .3s}
.button:before,.project-actions .project-link:before,.project-actions .detail-trigger:before,.doc-card>.project-link:before,.doc-card>.detail-trigger:before,.glass-button:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 25%,rgba(255,255,255,.15) 46%,transparent 63%);transform:translateX(-130%);transition:transform .6s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.button:hover,.project-actions .project-link:hover,.project-actions .detail-trigger:hover,.doc-card>.project-link:hover,.doc-card>.detail-trigger:hover,.glass-button:hover{transform:translateY(-3px);border-color:rgba(205,222,250,.64)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 12px 32px rgba(4,10,22,.34),0 0 24px rgba(122,158,225,.12)}
.button:hover:before,.project-actions .project-link:hover:before,.project-actions .detail-trigger:hover:before,.doc-card>.project-link:hover:before,.doc-card>.detail-trigger:hover:before,.glass-button:hover:before{transform:translateX(130%)}
.project .crop,.featured .crop{filter:drop-shadow(0 0 18px rgba(116,150,220,.13)) drop-shadow(0 0 32px rgba(218,158,110,.08));transition:filter .4s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
.project:hover .crop{filter:drop-shadow(0 0 24px rgba(116,150,220,.23)) drop-shadow(0 0 42px rgba(218,158,110,.15))}
.crop svg,.crop img,.doc-image img{border-radius:16px}
.project h3{font-family:"Outfit",sans-serif;font-size:clamp(37px,3.7vw,52px);font-weight:500;letter-spacing:-.035em}
.project .role{font-family:"Outfit",sans-serif;font-weight:600;letter-spacing:.015em}
.contact-float{position:fixed;z-index:100;right:clamp(16px,3vw,40px);bottom:clamp(16px,3vw,32px);display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.contact-popover{width:min(400px,calc(100vw - 32px));max-height:min(82vh,710px);overflow:auto;padding:26px;border:1px solid rgba(208,221,244,.19);border-radius:24px;background:linear-gradient(145deg,rgba(49,56,68,.91),rgba(28,31,37,.94));box-shadow:0 24px 80px rgba(0,0,0,.55),0 0 40px rgba(105,136,194,.11);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);transform-origin:bottom right;animation:contact-in .32s cubic-bezier(.2,.8,.2,1) both}
.contact-popover[hidden]{display:none!important}
@keyframes contact-in{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
.contact-popover-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.contact-popover-head .eyebrow{font-size:10px;margin-bottom:8px}.contact-popover-head h2{font-size:25px;line-height:1.12;letter-spacing:-.025em}
.contact-close{flex:none;width:35px;height:35px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:rgba(255,255,255,.06);font-size:22px;line-height:1}
.contact-hint{color:var(--muted);font-size:13px;line-height:1.6;margin:13px 0 18px}
#contact-compose{display:grid;gap:11px}#contact-compose label{display:grid;gap:5px;color:#dddde0;font-size:11px;letter-spacing:.035em}#contact-compose input,#contact-compose textarea{width:100%;padding:11px 12px;border:1px solid rgba(222,231,245,.15);border-radius:12px;background:rgba(11,14,19,.35);color:var(--ink);font:inherit;font-size:14px;outline:none;resize:vertical;transition:border-color .2s,box-shadow .2s}
#contact-compose input:focus,#contact-compose textarea:focus{border-color:rgba(166,192,237,.62);box-shadow:0 0 0 3px rgba(119,157,219,.13)}
.glass-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 18px;color:var(--ink);font-weight:600;cursor:pointer}
.contact-send{width:100%;margin-top:4px;font-size:13px}
.contact-direct-email{display:block;width:max-content;max-width:100%;margin:16px auto 0;color:#d5d9e2;font-size:12px;opacity:.8}
.contact-launcher{min-height:54px;padding:0 20px;border-radius:999px!important;font-size:14px;letter-spacing:.015em}
.chat-pulse{width:8px;height:8px;border-radius:50%;background:#b5d2ff;box-shadow:0 0 0 4px rgba(147,181,239,.13),0 0 16px rgba(147,181,239,.66)}
@media(max-width:600px){.contact-float{right:14px;bottom:14px}.contact-popover{padding:21px}.contact-launcher{min-height:49px;padding-inline:17px}}
@media(prefers-reduced-motion:reduce){.platform-card,.platform-logo,.contact-popover,.button,.glass-button{animation:none!important;transition:none!important}}
[hidden]{display:none!important}

/* Reel futura y marcas en una banda superpuesta al borde inferior. */
.hero-reel{padding-top:4px;padding-bottom:34px}
.hero-reel-stage{position:relative;isolation:isolate;aspect-ratio:2.02;min-height:370px;max-height:690px;overflow:hidden;border:1px solid rgba(220,229,243,.13);border-radius:23px;background:radial-gradient(ellipse at 72% 34%,rgba(58,78,115,.2),transparent 38%),radial-gradient(ellipse at 18% 82%,rgba(82,66,119,.16),transparent 42%),linear-gradient(145deg,#16181d,#20242c 52%,#14161a);box-shadow:0 0 34px rgba(105,131,190,.07),0 20px 65px rgba(0,0,0,.2)}
.hero-reel-stage:before{content:"";position:absolute;inset:-15%;z-index:-1;background:radial-gradient(ellipse at 50% 55%,rgba(126,157,218,.12),transparent 48%);filter:blur(35px);pointer-events:none}
.reel-placeholder{position:absolute;left:clamp(22px,4vw,54px);top:clamp(22px,4vw,48px);display:flex;align-items:center;gap:10px;color:rgba(239,241,246,.59);font-size:11px;letter-spacing:.2em}
.reel-live-dot{width:7px;height:7px;border-radius:50%;background:#aec7f5;box-shadow:0 0 13px rgba(160,194,255,.8)}
.reel-platforms{position:absolute;inset:auto 0 0;min-height:clamp(91px,10vw,132px);display:flex;align-items:center;justify-content:center;gap:clamp(34px,7vw,112px);padding:18px clamp(24px,5vw,70px);background:linear-gradient(0deg,rgba(7,9,13,.73),rgba(7,9,13,.07));border-top:1px solid rgba(241,244,249,.065)}
.reel-platform-logo{display:block;width:auto;max-width:clamp(78px,12vw,156px);max-height:clamp(24px,3vw,38px);object-fit:contain;filter:brightness(0) invert(1);opacity:.72;transition:opacity .25s ease,transform .3s cubic-bezier(.2,.75,.2,1),filter .25s ease}
.reel-platform-logo:hover{opacity:.98;transform:translateY(-2px);filter:brightness(0) invert(1) drop-shadow(0 0 12px rgba(181,205,249,.28))}
.reel-platform-logo.netflix-logo{max-width:clamp(82px,12vw,160px)}
.reel-platform-logo.hbo-logo{max-width:clamp(78px,11vw,142px)}
.reel-platform-logo.dailywire-logo{max-width:clamp(92px,14vw,178px)}
.reel-platform-logo.rtve-logo{max-width:clamp(54px,8vw,90px)}
@media(max-width:850px){.hero-reel-stage{min-height:320px}.reel-platforms{gap:clamp(24px,6vw,56px)}}
@media(max-width:600px){.hero-reel{padding-bottom:24px}.hero-reel-stage{aspect-ratio:1.3;min-height:330px;border-radius:18px}.reel-placeholder{font-size:9px;letter-spacing:.15em}.reel-platforms{min-height:90px;gap:20px;padding-inline:16px}.reel-platform-logo{max-width:19vw!important;max-height:24px!important}.reel-platform-logo.dailywire-logo{max-width:22vw!important}.reel-platform-logo.rtve-logo{max-width:15vw!important}}
@media(prefers-reduced-motion:reduce){.reel-platform-logo{transition:none}}

/* CTA de contacto en cabecera: visible al inicio, sin quedarse fijado al hacer scroll. */
.header{position:relative;z-index:40}
.header-contact{position:relative;display:flex;align-items:center;flex:none}
.contact-launcher{position:relative;display:inline-flex;align-items:center;gap:10px;padding:9px 4px 12px;border:0;background:transparent;color:var(--ink);font:600 15px "Outfit","DM Sans",sans-serif;letter-spacing:.01em;cursor:pointer}
.contact-launcher:before{content:"";position:absolute;left:0;right:0;bottom:4px;height:2px;border-radius:2px;background:linear-gradient(90deg,#9cbaf2,#d4c7ac 55%,#9cbaf2);transform:scaleX(.42);transform-origin:left;opacity:.72;transition:transform .35s cubic-bezier(.2,.75,.2,1),opacity .25s,box-shadow .25s}
.contact-launcher:hover:before,.contact-launcher[aria-expanded="true"]:before{transform:scaleX(1);opacity:1;box-shadow:0 0 12px rgba(156,186,242,.46)}
.contact-launcher .chat-pulse{width:7px;height:7px}
.header-contact .contact-popover{position:absolute;top:calc(100% + 15px);right:0;z-index:60}
.contact-float{display:none!important}
.button{padding:11px 16px;font-size:14px}
.project-actions .project-link,.project-actions .detail-trigger,.doc-card>.project-link,.doc-card>.detail-trigger{padding:10px 14px;font-size:13px}
.detail-trigger{margin-left:10px}
@media(max-width:850px){.header{gap:22px}.contact-launcher{font-size:14px}}
@media(max-width:600px){.header-contact{margin-left:auto}.header-contact .contact-popover{right:-48px;top:calc(100% + 12px)}.contact-launcher{font-size:13px;padding-inline:2px}.button{padding:10px 14px;font-size:13px}}
@media(prefers-reduced-motion:reduce){.contact-launcher:before{transition:none}}

/* Cabecera cinematográfica: navegación, mensaje y CTA viven dentro del marco de showreel. */
.hero-reel{padding-top:0;padding-bottom:42px}
.hero-reel-stage{aspect-ratio:2.08;min-height:550px;max-height:780px;border-radius:26px;background:radial-gradient(ellipse at 76% 46%,rgba(76,91,122,.22),transparent 42%),radial-gradient(ellipse at 18% 80%,rgba(63,56,91,.18),transparent 42%),linear-gradient(135deg,#15171b,#25282e 50%,#17191e)}
.hero-reel-stage:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,10,14,.72),rgba(8,10,14,.2) 65%,rgba(8,10,14,.12));pointer-events:none}
.header{position:absolute;inset:0 0 auto;z-index:5;display:flex;align-items:center;gap:clamp(20px,3vw,48px);padding:28px clamp(26px,4vw,58px);border:0;background:linear-gradient(180deg,rgba(8,10,14,.53),transparent);backdrop-filter:none;-webkit-backdrop-filter:none}
.wordmark{font-family:"Outfit","DM Sans",sans-serif;font-size:16px;letter-spacing:.17em;white-space:nowrap}
.header nav{display:flex;align-items:center;gap:clamp(18px,3vw,42px);margin-left:auto;font-size:12px;text-transform:uppercase;letter-spacing:.13em}
.header nav a{color:rgba(246,246,247,.84);transition:color .2s ease}.header nav a:hover{color:white}
.header-contact{margin-left:clamp(14px,3vw,42px)}
.contact-launcher{min-height:48px;padding:0 23px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(15,17,22,.62);font-size:14px;letter-spacing:.01em;box-shadow:0 8px 26px rgba(0,0,0,.22);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);overflow:hidden}
.contact-launcher:before{inset:-2px;border:1px solid transparent;border-radius:inherit;height:auto;background:linear-gradient(110deg,transparent 20%,rgba(165,192,244,.12) 36%,rgba(226,213,186,.9) 49%,rgba(165,192,244,.15) 58%,transparent 73%);background-size:240% 100%;transform:translateX(-80%);transform-origin:center;opacity:.68;box-shadow:none}
.contact-launcher:hover:before,.contact-launcher[aria-expanded="true"]:before{transform:translateX(65%);opacity:1;box-shadow:0 0 18px rgba(157,185,242,.3);animation:chat-sheen 1.15s cubic-bezier(.2,.75,.2,1) both}
@keyframes chat-sheen{to{background-position:100% 0}}
.contact-launcher .chat-pulse{display:none}
.languages{color:rgba(255,255,255,.68);font-size:11px}
.hero-copy{position:absolute;z-index:2;left:clamp(30px,7.5vw,105px);top:31%;display:block;width:min(740px,72%);padding:0}
.hero-copy>.eyebrow{font-size:12px;letter-spacing:.22em;margin-bottom:22px;color:rgba(246,246,247,.75)}
.hero-copy h1{font-family:"Outfit","DM Sans",sans-serif;font-size:clamp(48px,6.5vw,88px);font-weight:500;line-height:1.06;letter-spacing:-.055em;margin:0 0 20px}
.hero-copy .intro{font-size:clamp(16px,1.5vw,20px);max-width:530px;color:rgba(243,239,230,.8);line-height:1.6;margin:0}
.hero-copy .actions{display:flex;gap:14px;margin-top:28px}
.hero-copy .button{min-height:50px;padding:0 23px;border-radius:999px!important;font-size:13px;letter-spacing:.02em}
.hero-copy .watch-button{display:inline-flex;align-items:center;gap:12px;background:rgba(14,16,20,.22)!important;border-color:rgba(230,234,244,.25)!important;color:rgba(250,250,252,.95)}
.hero-copy .watch-button span:first-child{font-size:12px}
.hero-copy .watch-button:disabled{opacity:.82;cursor:default}
.hero-copy .watch-button:disabled:hover{transform:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 8px 28px rgba(1,7,18,.17)}
.reel-placeholder{z-index:1;left:clamp(30px,7.5vw,105px);top:auto;bottom:clamp(112px,12vw,154px);font-size:9px;letter-spacing:.17em;opacity:.7}
.reel-platforms{z-index:2;min-height:clamp(86px,8vw,112px);border-radius:0 0 26px 26px;background:linear-gradient(0deg,rgba(5,7,10,.68),rgba(5,7,10,.02))}
@media(max-width:850px){.hero-reel-stage{aspect-ratio:1.55;min-height:570px}.header{padding:25px 28px;flex-wrap:wrap}.header nav{order:4;width:100%;justify-content:center;margin:0}.header-contact{margin-left:auto}.hero-copy{top:32%;width:78%}.hero-copy h1{font-size:clamp(46px,8vw,70px)}.reel-placeholder{bottom:120px}}
@media(max-width:600px){.hero-reel{padding-inline:14px;padding-bottom:30px}.hero-reel-stage{aspect-ratio:auto;min-height:680px;border-radius:20px}.header{padding:20px 18px;gap:12px}.wordmark{font-size:12px;letter-spacing:.13em}.header-contact{margin-left:auto}.contact-launcher{min-height:42px;padding-inline:15px;font-size:12px}.languages{font-size:10px;gap:6px}.header nav{order:5;justify-content:flex-start;gap:18px;overflow:auto;padding:9px 0 12px;font-size:9px;letter-spacing:.1em}.hero-copy{left:24px;right:24px;top:31%;width:auto}.hero-copy>.eyebrow{font-size:10px;letter-spacing:.14em;margin-bottom:17px}.hero-copy h1{font-size:clamp(42px,11.5vw,62px);line-height:1.08;letter-spacing:-.05em;margin-bottom:15px}.hero-copy .intro{font-size:15px;max-width:360px}.hero-copy .actions{gap:10px;flex-wrap:wrap;margin-top:22px}.hero-copy .button{min-height:46px;padding-inline:17px;font-size:11px}.reel-placeholder{left:24px;bottom:120px;font-size:8px}.reel-platforms{min-height:94px;gap:16px;padding:15px 12px;border-radius:0 0 20px 20px}}
@media(prefers-reduced-motion:reduce){.contact-launcher:hover:before,.contact-launcher[aria-expanded="true"]:before{animation:none}}

/* Cabecera a sangre: jerarquía abierta como en la referencia, sin amontonar elementos. */
.hero-reel{width:100%;max-width:none;margin:0;padding:0 0 58px}
.hero-reel-stage{width:100%;height:min(100svh,980px);min-height:660px;max-height:none;aspect-ratio:auto;border:0;border-radius:0;background:radial-gradient(ellipse at 78% 40%,rgba(76,91,122,.22),transparent 42%),radial-gradient(ellipse at 16% 83%,rgba(63,56,91,.2),transparent 42%),linear-gradient(135deg,#15171b,#25282e 50%,#17191e)}
.hero-reel-stage:after{z-index:0;background:linear-gradient(90deg,rgba(8,10,14,.61),rgba(8,10,14,.17) 68%,rgba(8,10,14,.14))}
.header{padding:32px clamp(30px,7.5vw,128px);gap:clamp(18px,3vw,46px)}
.wordmark{font-size:17px;letter-spacing:.16em}
.wordmark span{display:block;margin-top:7px;font-size:11px;font-weight:400;letter-spacing:.05em;color:rgba(244,244,245,.72)}
.header nav{gap:clamp(20px,3vw,48px)}
.hero-copy{left:clamp(32px,7.7vw,132px);top:36%;width:min(760px,70%)}
.hero-copy h1{font-size:clamp(46px,4.7vw,84px);line-height:1.08;letter-spacing:-.045em;font-weight:500;margin:0}
.hero-copy .actions{margin-top:27px;gap:14px}
.hero-copy .button{min-height:50px;padding-inline:24px;font-size:13px}
.reel-placeholder{left:clamp(32px,7.7vw,132px);bottom:clamp(116px,12vw,154px)}
.reel-platforms{border-radius:0;min-height:clamp(88px,8vw,116px);gap:clamp(38px,7vw,116px)}
.contact-card{position:relative;width:min(650px,100%);max-height:none;margin-top:38px;padding:30px;background:linear-gradient(145deg,rgba(49,56,68,.82),rgba(28,31,37,.9));transform-origin:top left}
.contact-card[hidden]{display:none!important}
.back-to-top{display:inline-flex;margin-top:38px;padding:10px 0;color:var(--muted);font-size:13px;border-bottom:1px solid var(--line);transition:color .2s,border-color .2s}
.back-to-top:hover{color:var(--ink);border-color:var(--accent)}
@media(max-width:850px){.hero-reel-stage{height:min(100svh,900px);min-height:650px}.header{padding:27px 34px}.hero-copy{top:37%;width:78%}.hero-copy h1{font-size:clamp(44px,6vw,68px)}.reel-placeholder{bottom:120px}}
@media(max-width:600px){.hero-reel{padding:0 0 40px}.hero-reel-stage{height:100svh;min-height:670px;max-height:820px;border-radius:0}.header{padding:20px 22px;gap:13px}.wordmark{font-size:12px;letter-spacing:.12em}.wordmark span{font-size:9px;margin-top:5px;letter-spacing:0}.header nav{gap:17px;padding-top:8px;font-size:9px}.contact-launcher{min-height:42px;padding-inline:15px;font-size:12px}.hero-copy{left:26px;right:26px;top:37%;width:auto}.hero-copy h1{font-size:clamp(40px,10vw,57px);line-height:1.12;letter-spacing:-.04em}.hero-copy .actions{gap:10px;margin-top:22px}.hero-copy .button{min-height:46px;padding-inline:17px;font-size:11px}.reel-placeholder{left:26px;bottom:113px}.reel-platforms{min-height:90px;gap:clamp(12px,4vw,22px);padding:12px 15px}.contact-card{padding:23px;margin-top:28px}.back-to-top{margin-top:28px}}

/* Ajustes de jerarquía solicitados para la firma y títulos de proyectos. */
.wordmark{font-size:clamp(20px,1.55vw,26px);letter-spacing:.14em}
.wordmark span{font-size:clamp(12px,.95vw,15px);letter-spacing:.015em;margin-top:8px;color:rgba(244,244,245,.83)}
#featured .project[data-id="superthings"] h3{font-family:"Outfit","DM Sans",sans-serif!important;font-weight:500!important;font-size:clamp(37px,3.7vw,52px)!important;letter-spacing:-.035em!important;text-transform:none!important}
#featured .project[data-id="superthings"] .project-subtitle{font-family:"Outfit","DM Sans",sans-serif!important;font-size:.62em!important;font-weight:400!important;letter-spacing:-.015em!important;text-transform:none!important;margin-top:3px!important}
.project[data-id="superthings"] .project-subtitle{display:block!important;text-transform:none!important}

/* Los CTA del hero comparten el sistema tipográfico y las medidas de las fichas. */
.hero-copy .button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:11px 19px!important;font-family:inherit;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;line-height:1.3;border-radius:16px!important}
.hero-copy .watch-button{gap:10px;background:linear-gradient(135deg,rgba(108,142,194,.24),rgba(42,58,83,.28) 55%,rgba(186,207,238,.08))!important;border-color:rgba(178,201,238,.34)!important;color:var(--ink)}
.hero-copy .watch-button:disabled{opacity:1;cursor:default}
.hero-copy .watch-button:disabled:hover{transform:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 8px 28px rgba(1,7,18,.17)}
@media(max-width:600px){.hero-copy .button{min-height:46px;padding:10px 13px!important;font-size:12px}}

/* Cabecera sin fotogramas: una textura abstracta que evoca una línea de montaje. */
.reel-motion{position:absolute;z-index:1;inset:17% 0 12%;overflow:hidden;pointer-events:none;opacity:.56;mask-image:linear-gradient(90deg,transparent 2%,#000 18%,#000 82%,transparent 98%)}
.reel-motion:before{content:"";position:absolute;inset:-32%;background:radial-gradient(ellipse at 50% 48%,rgba(134,157,205,.13),transparent 31%),radial-gradient(ellipse at 72% 62%,rgba(183,164,132,.09),transparent 24%);filter:blur(25px);animation:reel-bloom 18s ease-in-out infinite alternate}
.reel-motion:after{content:"";position:absolute;top:8%;bottom:8%;left:0;width:1px;background:linear-gradient(transparent,rgba(193,210,243,.68),transparent);box-shadow:0 0 20px 2px rgba(140,172,225,.2);animation:reel-playhead 16s cubic-bezier(.45,0,.55,1) infinite}
.reel-motion-track{position:absolute;left:-12%;right:-12%;top:24%;height:48%;transform:rotate(-8deg);background:repeating-linear-gradient(90deg,transparent 0 7.7%,rgba(204,216,238,.026) 7.7% 7.82%,transparent 7.82% 15.4%);border-block:1px solid rgba(204,216,238,.045)}
.reel-motion-track:before,.reel-motion-track:after{content:"";position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(205,220,246,.18),transparent)}
.reel-motion-track:before{top:28%}.reel-motion-track:after{bottom:28%}
@keyframes reel-playhead{0%,8%{left:8%;opacity:0}15%{opacity:.65}88%{opacity:.65}100%{left:92%;opacity:0}}
@keyframes reel-bloom{from{transform:translate3d(-4%,2%,0) scale(.94)}to{transform:translate3d(5%,-2%,0) scale(1.08)}}
.wordmark{font-size:18px}
.wordmark span{font-size:11px;letter-spacing:.055em;margin-top:7px;text-transform:none}
.social-button{display:inline-flex;align-items:center;gap:10px;margin-top:17px;padding:11px 16px;border:1px solid rgba(178,201,238,.34);border-radius:15px;background:linear-gradient(135deg,rgba(108,142,194,.24),rgba(42,58,83,.28) 55%,rgba(186,207,238,.08));box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 8px 28px rgba(1,7,18,.17);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);font-size:12px;font-weight:600;letter-spacing:.09em;color:var(--ink);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.social-button:hover{transform:translateY(-2px);border-color:rgba(205,222,250,.64);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 12px 32px rgba(4,10,22,.34),0 0 24px rgba(122,158,225,.12)}
.linkedin-mark{width:18px;height:18px;fill:currentColor;opacity:.9}
.email{display:flex;align-items:center;gap:11px;width:max-content;max-width:100%;font-size:clamp(14px,1.4vw,19px);border:0;padding:0;color:var(--muted);transition:color .2s ease}
.email:hover{color:var(--ink)}
.email-mark{width:19px;height:19px;flex:none;fill:currentColor;opacity:.75}
.contact-launcher-bottom{margin-top:6px}
@media(max-width:850px){.wordmark{font-size:16px}.wordmark span{display:block;font-size:10px}.hero-copy{z-index:2}}
@media(max-width:600px){.wordmark{font-size:14px}.wordmark span{font-size:9px;letter-spacing:.025em}.reel-motion{inset:20% 0 14%;opacity:.45}.contact .email{font-size:14px}.social-button{font-size:11px}}
@media(prefers-reduced-motion:reduce){.reel-motion:before,.reel-motion:after{animation:none}.social-button{transition:none}}

/* Unifica la tipografía de los documentales con las fichas de animación. */
.doc-card,.doc-card p,.doc-card a,.doc-card button{font-family:"DM Sans","Outfit",sans-serif}
.doc-card h3{font-family:"Outfit","DM Sans",sans-serif!important;font-size:clamp(23px,2vw,29px);font-weight:500;letter-spacing:-.025em;line-height:1.12}
.doc-card .role{font-family:"DM Sans","Outfit",sans-serif;font-size:13px;font-weight:600;letter-spacing:.025em}
.doc-card .studio{font-family:"DM Sans","Outfit",sans-serif;font-size:12px;letter-spacing:.01em;color:var(--muted)}
.doc-card .recognition-strip,.doc-card .project-link,.doc-card .detail-trigger{font-family:"DM Sans","Outfit",sans-serif}

/* Back-to-top moves with the contact state: centered over the hero, then over the footer. */
.hero-reel-stage>.back-to-top{position:absolute;z-index:5;left:50%;bottom:clamp(122px,11vw,150px);transform:translateX(-50%);margin:0;padding:8px 0;border:0;color:rgba(243,239,230,.68);font-size:11px;letter-spacing:.13em;text-transform:uppercase;white-space:nowrap}
.hero-reel-stage>.back-to-top:hover{color:var(--ink)}
.footer{position:relative}
.footer>.back-to-top{position:absolute;left:50%;top:-38px;transform:translateX(-50%);margin:0;padding:0;border:0;color:var(--muted);font-size:11px;letter-spacing:.13em;text-transform:uppercase;white-space:nowrap}
.footer>.back-to-top:hover{color:var(--ink)}
@media(max-width:600px){.hero-reel-stage>.back-to-top{bottom:108px;font-size:10px}.footer>.back-to-top{top:-34px;font-size:10px}}

/* El estado provisional de la reel aparece bajo demanda, junto a su botón. */
.showreel-notice{width:max-content;max-width:100%;margin:13px 0 0 4px;color:rgba(243,239,230,.7);font-size:13px;letter-spacing:.045em;opacity:0;transform:translateY(-7px);transition:opacity .32s ease,transform .32s cubic-bezier(.2,.75,.2,1)}
.showreel-notice:not([hidden]){opacity:1;transform:translateY(0)}
.hero-copy .watch-button{cursor:pointer}
.hero-copy .watch-button[aria-expanded="true"]{border-color:rgba(205,222,250,.62)!important;box-shadow:0 0 22px rgba(122,158,225,.16)}
.reel-placeholder{display:none!important}
.filmin-logo{max-width:clamp(72px,10vw,130px)}
@media(max-width:600px){.reel-platforms{gap:clamp(8px,2.5vw,13px);padding-inline:10px}.reel-platform-logo{max-width:15vw!important;max-height:22px!important}.reel-platform-logo.dailywire-logo{max-width:18vw!important}.reel-platform-logo.rtve-logo{max-width:13vw!important}.reel-platform-logo.filmin-logo{max-width:16vw!important}.showreel-notice{font-size:12px;margin-top:11px}}
@media(prefers-reduced-motion:reduce){.showreel-notice{transition:none}}
.showreel-notice.is-visible{opacity:1;transform:translateY(0)}

/* Corrección final de escala de la firma y su especialidad. */
.header .wordmark{font-size:23px!important;letter-spacing:.12em!important}
.header .wordmark span{font-size:13px!important;letter-spacing:.025em!important}
@media(max-width:850px){.header .wordmark{font-size:21px!important}.header .wordmark span{font-size:12px!important}}
@media(max-width:600px){.header .wordmark{font-size:18px!important;letter-spacing:.08em!important}.header .wordmark span{font-size:11px!important;letter-spacing:0!important}}
/* El logotipo Filmin carga junto a los otros logos del primer pantallazo. */
.reel-platform-logo.filmin-logo{display:block!important;visibility:visible!important;opacity:.76;filter:brightness(0) invert(1);max-width:clamp(82px,10vw,132px)}
.footer>.back-to-top{top:-30px!important}
@media(max-width:600px){.footer>.back-to-top{top:-27px!important}}

/* Volver al inicio queda en Contacto, centrado sobre la línea del pie, también con Hablemos abierto. */
.contact{position:relative;padding-bottom:108px!important}
.contact>.back-to-top{position:absolute;z-index:3;left:50%;bottom:-7px;transform:translate(-50%,50%);margin:0;padding:8px 16px;background:var(--bg);color:var(--muted);font-size:11px;letter-spacing:.13em;text-transform:uppercase;white-space:nowrap;border:0}
.contact>.back-to-top:hover{color:var(--ink)}
.footer>.back-to-top{display:none!important}
.hero-reel-stage>.back-to-top{display:none!important}

@media(max-width:600px){.contact{padding-bottom:92px!important}.contact>.back-to-top{bottom:-7px;font-size:10px}}

/* La nota queda en la columna del botón de reel, no bajo el CTA de proyectos. */
.hero-copy .actions{align-items:flex-start}
.watch-action{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.watch-action .showreel-notice{margin:13px 0 0 4px}
.header .wordmark span{font-size:15px!important;letter-spacing:.075em!important;color:var(--accent)!important;text-transform:uppercase!important}
@media(max-width:850px){.header .wordmark span{font-size:13px!important;letter-spacing:.06em!important}}
@media(max-width:600px){.header .wordmark span{font-size:12px!important;letter-spacing:.04em!important}}
/* Ajuste óptico: Filmin acompaña la banda sin competir con las plataformas principales. */
.reel-platform-logo.filmin-logo{max-width:clamp(66px,7.5vw,98px)!important;max-height:26px!important}
@media(max-width:600px){.reel-platform-logo.filmin-logo{max-width:13vw!important;max-height:19px!important}}
/* Firma: más legible, con más aire y sin competir con el nombre. */
.header .wordmark span{font-size:15px!important;letter-spacing:.12em!important;line-height:1.5!important;color:var(--accent)!important;text-transform:uppercase!important}
@media(max-width:850px){.header .wordmark span{font-size:13px!important;letter-spacing:.09em!important}}
@media(max-width:600px){.header .wordmark span{font-size:11px!important;letter-spacing:.065em!important}}
/* Filmin, un punto menor para equilibrar el peso visual de la fila. */
.reel-platform-logo.filmin-logo{max-width:clamp(60px,6.5vw,84px)!important;max-height:22px!important}
@media(max-width:600px){.reel-platform-logo.filmin-logo{max-width:11vw!important;max-height:17px!important}}

/* Sitúa «Volver al inicio» enteramente sobre la divisoria de Contacto. */
.contact>.back-to-top{bottom:0!important;transform:translate(-50%,-8px)!important;padding:4px 16px!important;background:var(--bg)!important}
@media(max-width:600px){.contact>.back-to-top{transform:translate(-50%,-7px)!important}}
/* Restituye la proporción de la especialidad y el espacio de la navegación. */
.header .wordmark span{font-size:13px!important;letter-spacing:.045em!important;line-height:1.25!important;color:var(--accent)!important;text-transform:uppercase!important}
@media(max-width:850px){.header .wordmark span{font-size:11px!important;letter-spacing:.035em!important}}
@media(max-width:600px){.header .wordmark span{font-size:10px!important;letter-spacing:.03em!important}}
/* Filmin conserva el mismo brillo al pasar el cursor que el resto de plataformas. */
.reel-platform-logo.filmin-logo:hover,.reel-platform-logo.filmin-logo:focus-visible{opacity:.98;transform:translateY(-2px);filter:brightness(0) invert(1) drop-shadow(0 0 12px rgba(181,205,249,.28))}
@media(prefers-reduced-motion:reduce){.reel-platform-logo.filmin-logo{transition:none}}
/* Filmin: aumenta unos puntos tras la última reducción, conservando su jerarquía. */
.reel-platform-logo.filmin-logo{max-width:clamp(63px,7vw,89px)!important;max-height:24px!important}
@media(max-width:600px){.reel-platform-logo.filmin-logo{max-width:12vw!important;max-height:18px!important}}

/* Los dos tráileres de SuperThings quedan en unidades separadas con sus datos debajo. */
.featured .project-actions{align-items:flex-start!important}

.project-action-unit{display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-width:0}
.project-action-caption{font-size:11px;line-height:1.35;letter-spacing:.035em;color:var(--muted)}
.project-platforms-mini{display:flex;align-items:center;gap:14px;min-height:21px}
.project-platforms-mini img{display:block;width:auto;max-width:68px;height:18px;object-fit:contain;filter:brightness(0) invert(1);opacity:.76;transition:opacity .22s ease,transform .22s ease,filter .22s ease}

.project-platforms-mini img:hover{opacity:1;transform:translateY(-1px);filter:brightness(0) invert(1) drop-shadow(0 0 8px rgba(181,205,249,.3))}
@media(max-width:600px){.project-action-unit{gap:6px}.project-action-caption{font-size:10px}.project-platforms-mini{gap:11px}.project-platforms-mini img{max-width:59px;height:16px}}

/* Ajuste de pies de tráiler y botones directos a las plataformas. */
.featured .project-actions{gap:20px!important}
.project-action-unit{gap:0!important}
.project-action-caption{margin-top:14px;font-size:13px;line-height:1.5}
.project-action-unit:nth-child(2){align-items:center;text-align:center}
.project-action-unit:nth-child(2) .project-platforms-mini{justify-content:center;margin-top:8px}
.project-platforms-mini a{display:inline-flex;align-items:center;justify-content:center;min-height:24px}
.project-platforms-mini a:hover img{opacity:1;transform:translateY(-1px);filter:brightness(0) invert(1) drop-shadow(0 0 8px rgba(181,205,249,.3))}
.doc-card>.project-link,.doc-card>.detail-trigger{margin-top:12px}
@media(max-width:600px){.project-action-caption{margin-top:12px;font-size:12px}.featured .project-actions{gap:14px!important}.doc-card>.project-link,.doc-card>.detail-trigger{margin-top:10px}}

/* Logos de servicio integrados en los CTA de cada ficha, sin repetir el botón de Mr. Birchum. */
.project-actions .platform-link{gap:10px}
.platform-button-logo{display:inline-block;width:auto;max-width:75px;height:17px;object-fit:contain;filter:brightness(0) invert(1);opacity:.88;vertical-align:middle}
.dailywire-button-logo{height:24px;max-width:124px;transform:translateY(-1px)}
.project-actions .dailywire-button-logo{margin-left:-4px}
.project-actions .platform-link:hover .platform-button-logo,.doc-card>.platform-link:hover .platform-button-logo{opacity:1;filter:brightness(0) invert(1) drop-shadow(0 0 7px rgba(181,205,249,.28))}
.doc-card>.platform-link{display:flex;align-items:center;gap:10px;width:max-content;max-width:100%}
@media(max-width:600px){.platform-button-logo{max-width:66px;height:15px}.dailywire-button-logo{max-width:108px;height:21px;transform:translateY(-1px)}}

/* Ambilight cromático por obra: halos contenidos que acompañan la paleta de cada imagen. */
#featured .project[data-id="superthings"] .crop{--image-glow:rgba(255,143,38,.3);--image-glow-secondary:rgba(31,190,231,.22)}
#project-list .project[data-id="klaus"] .crop{--image-glow:rgba(244,190,91,.28);--image-glow-secondary:rgba(105,175,220,.18)}
#project-list .project[data-id="ember"] .crop{--image-glow:rgba(224,137,48,.3);--image-glow-secondary:rgba(184,95,47,.18)}
#project-list .project[data-id="animal"] .crop{--image-glow:rgba(215,79,54,.28);--image-glow-secondary:rgba(245,171,54,.17)}
#project-list .project[data-id="eds"] .crop{--image-glow:rgba(92,129,214,.28);--image-glow-secondary:rgba(155,100,195,.17)}
#project-list .project[data-id="birchum"] .crop{--image-glow:rgba(79,187,224,.26);--image-glow-secondary:rgba(204,140,84,.17)}
.project .crop{border-radius:19px;isolation:isolate;box-shadow:0 0 42px -20px var(--image-glow,rgba(126,150,185,.18)),0 0 72px -38px var(--image-glow-secondary,rgba(90,112,155,.12));transition:box-shadow .45s ease,border-radius .35s ease}
.project .crop:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.055)}
.project:hover .crop{box-shadow:0 0 54px -18px var(--image-glow,rgba(126,150,185,.22)),0 0 84px -32px var(--image-glow-secondary,rgba(90,112,155,.16))}
.doc-card .doc-image{position:relative;isolation:isolate;overflow:visible!important;border-radius:10px;background:transparent;box-shadow:0 0 34px -20px var(--doc-glow,rgba(182,131,91,.23)),0 0 54px -34px var(--doc-glow-secondary,rgba(99,120,160,.12));transition:box-shadow .4s ease,border-radius .3s ease}
.doc-card .doc-image:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;border:1px solid rgba(255,255,255,.07);border-radius:inherit}
.doc-card .doc-image img{border-radius:10px}
.doc-card[data-id="abrazo"] .doc-image{--doc-glow:rgba(220,159,106,.25);--doc-glow-secondary:rgba(157,94,72,.16)}
.doc-card[data-id="sobreviure"] .doc-image{--doc-glow:rgba(243,119,67,.29);--doc-glow-secondary:rgba(178,57,55,.18)}
.doc-card[data-id="mestra"] .doc-image{--doc-glow:rgba(185,155,100,.25);--doc-glow-secondary:rgba(114,147,128,.16)}
.doc-card:hover .doc-image{box-shadow:0 0 42px -17px var(--doc-glow,rgba(182,131,91,.3)),0 0 66px -30px var(--doc-glow-secondary,rgba(99,120,160,.18))}
/* En documentales el halo y el bisel siguen el borde real del póster, no la caja del grid. */
.doc-card .doc-image{overflow:visible!important;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important}
.doc-card .doc-image:after{content:none!important}
.doc-card .doc-image img{display:block;width:auto!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;padding:0!important;border-radius:8px!important;background:transparent!important;box-shadow:0 0 28px -12px var(--doc-glow,rgba(182,131,91,.25)),0 0 48px -24px var(--doc-glow-secondary,rgba(99,120,160,.18));transition:transform .45s ease,box-shadow .4s ease}
.doc-card:hover .doc-image img{transform:translateY(-2px);box-shadow:0 0 38px -12px var(--doc-glow,rgba(182,131,91,.32)),0 0 62px -24px var(--doc-glow-secondary,rgba(99,120,160,.22))}
.doc-card[data-id="abrazo"] .doc-image img{--doc-glow:rgba(220,159,106,.25);--doc-glow-secondary:rgba(157,94,72,.17);box-shadow:0 0 28px -10px var(--doc-glow),0 0 42px -23px var(--doc-glow-secondary)}
.doc-card[data-id="sobreviure"] .doc-image img{--doc-glow:rgba(243,119,67,.14);--doc-glow-secondary:rgba(178,57,55,.09);box-shadow:0 0 24px -12px var(--doc-glow),0 0 36px -25px var(--doc-glow-secondary)}
.doc-card[data-id="mestra"] .doc-image img{--doc-glow:rgba(185,155,100,.25);--doc-glow-secondary:rgba(114,147,128,.17);box-shadow:0 0 28px -10px var(--doc-glow),0 0 42px -23px var(--doc-glow-secondary)}
.doc-card[data-id="abrazo"]:hover .doc-image img,.doc-card[data-id="sobreviure"]:hover .doc-image img,.doc-card[data-id="mestra"]:hover .doc-image img{box-shadow:0 0 34px -9px var(--doc-glow),0 0 50px -21px var(--doc-glow-secondary)}
.image-detail-trigger{cursor:pointer}
.image-detail-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.doc-card.is-open{z-index:6}
.doc-card .doc-image{position:relative!important;width:min(100%,300px)!important;height:auto!important;aspect-ratio:3/4!important;min-height:0!important;margin:0 auto!important;overflow:hidden!important;border-radius:9px!important;background:transparent!important;box-shadow:0 0 0 1px rgba(231,225,211,.2),0 0 22px -13px var(--doc-glow,rgba(182,131,91,.22))!important}
.doc-card .doc-image:after{content:""!important;position:absolute;inset:0;z-index:6;pointer-events:none;border:1px solid rgba(231,225,211,.22);border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(12,14,17,.14)}
.doc-card .doc-poster-trigger{display:block;width:100%;height:100%;padding:0;border:0;border-radius:8px;background:transparent;overflow:hidden;cursor:pointer}
.doc-card .doc-poster-trigger img{display:block;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:contain!important;object-position:center!important;border-radius:8px!important;padding:0!important;box-shadow:0 0 28px -10px var(--doc-glow,rgba(182,131,91,.25)),0 0 42px -23px var(--doc-glow-secondary,rgba(99,120,160,.17))}
.doc-card .doc-image .details{position:absolute!important;inset:0!important;z-index:4;width:100%!important;height:100%!important;max-height:none!important;overflow:auto!important;margin:0!important;padding:22px 18px!important;border:1px solid rgba(193,216,239,.32)!important;border-radius:8px!important;background:rgba(25,28,32,.97)!important;box-shadow:0 12px 32px rgba(0,0,0,.32)!important;transform:translateX(14px)!important}
.doc-card.is-open .doc-image .details{visibility:visible!important;opacity:1!important;pointer-events:auto!important;transform:translateX(0)!important}
.doc-card:not(.is-open) .doc-image .details{visibility:hidden!important;opacity:0!important;pointer-events:none!important;transform:translateX(14px)!important}
.doc-card .doc-image .details h4{font-size:12px;margin-bottom:9px}
.doc-card .doc-image .details li,.doc-card .doc-image .details p{font-size:13px;line-height:1.55}
.doc-card .doc-image{width:auto!important;height:auto!important;aspect-ratio:auto!important;max-width:100%!important;box-shadow:0 0 0 1px rgba(231,225,211,.2),0 0 24px -12px var(--doc-glow,rgba(182,131,91,.2)),0 0 44px -26px var(--doc-glow-secondary,rgba(99,120,160,.13))!important}
.doc-card[data-id="abrazo"] .doc-image{--doc-glow:rgba(220,159,106,.25);--doc-glow-secondary:rgba(157,94,72,.16)}
.doc-card[data-id="sobreviure"] .doc-image{--doc-glow:rgba(243,119,67,.14);--doc-glow-secondary:rgba(178,57,55,.09)}
.doc-card[data-id="mestra"] .doc-image{--doc-glow:rgba(185,155,100,.25);--doc-glow-secondary:rgba(114,147,128,.16)}
.doc-card .doc-image{box-shadow:0 0 22px -13px var(--doc-glow,rgba(182,131,91,.18)),0 0 40px -27px var(--doc-glow-secondary,rgba(99,120,160,.1))!important}
.doc-card .doc-image:after{content:none!important}

/* Subtítulo editorial de la sección documental, alineado con el dorado de los reconocimientos. */
.beyond .section-note{max-width:410px;margin:0 0 3px;padding-left:17px;border-left:1px solid rgba(212,199,172,.52);color:var(--accent);font-family:"DM Sans","Outfit",sans-serif;font-size:clamp(12px,1.12vw,15px);font-weight:500;line-height:1.8;letter-spacing:.12em;text-transform:uppercase}
@media(max-width:850px){.beyond .section-note{font-size:13px;letter-spacing:.1em}}
@media(max-width:600px){.beyond .section-note{margin-top:20px;font-size:12px;letter-spacing:.09em}}

/* Doble chevrón discreto y dorado para señalar la navegación de vuelta al inicio. */
.contact>.back-to-top{display:inline-flex;align-items:center;gap:8px;color:var(--accent)!important}
.contact>.back-to-top:hover{color:var(--ink)!important}
.back-to-top-mark{display:block;width:14px;height:14px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.footer-email{color:var(--muted);text-decoration:none;transition:color .2s ease}
.footer-email:hover{color:var(--accent)}
@media(max-width:600px){.footer-email{order:4;width:100%}}

/* Estreno y disponibilidad de SuperThings: datos en líneas separadas y plataformas centradas. */
.featured .project-action-subcaption{margin-top:2px;color:rgba(243,239,230,.82);font-size:12px;line-height:1.45;letter-spacing:.035em}
.featured .project-action-unit:nth-child(2) .project-action-caption{margin-top:14px}
.featured .project-action-unit:nth-child(2) .project-platforms-mini{justify-content:center;margin-top:9px}
@media(max-width:600px){.featured .project-action-subcaption{font-size:11px}}

/* SuperThings: captions centered, closer to their CTA and highlighted with a pale gold. */
.featured .project-action-unit:first-child{align-items:center;text-align:center}
.featured .project-action-unit:first-child .project-action-caption{margin-top:10px;color:#eadbbd;font-size:13px;line-height:1.4;letter-spacing:.04em}
.featured .project-action-unit:first-child .project-action-subcaption{margin-top:2px;color:#eadbbd;font-size:13px;line-height:1.4;letter-spacing:.025em}
.featured .project-action-unit:nth-child(2) .project-action-caption{margin-top:10px;color:#eadbbd;font-size:13px;line-height:1.4;letter-spacing:.04em}
.featured .project-platforms-mini{display:flex;justify-content:center;align-items:center;gap:15px}
.featured .project-platforms-mini a{display:flex;width:76px;height:26px;align-items:center;justify-content:center}
.featured .project-platforms-mini img{width:100%;height:19px;max-width:none;object-fit:contain}
.featured .project-platforms-mini img[alt="RTVE"]{transform:scale(1.35)}
.featured 
@media(max-width:600px){.featured .project-action-unit:first-child .project-action-caption,.featured .project-action-unit:first-child .project-action-subcaption,.featured .project-action-unit:nth-child(2) .project-action-caption{font-size:12px}.featured .project-platforms-mini{gap:10px}.featured .project-platforms-mini a{width:68px;height:24px}}
/* Compensación óptica mínima: el logo de Clan sube dos píxeles respecto a Netflix. */
.featured 

/* Sistema tipográfico final: DM Sans para lectura y Outfit para títulos/créditos. */
body{font-family:"DM Sans",sans-serif}
h1,h2,h3,.wordmark,.badge,.meta,.hero-copy .hero-line,.project .role,.doc-card .role,.fallback-label{font-family:"Outfit","DM Sans",sans-serif}
.hero-copy .hero-line{font-style:normal}
#featured .project[data-id="superthings"] h3,#featured .project[data-id="superthings"] .project-subtitle{font-family:"Outfit","DM Sans",sans-serif!important}
#featured .project[data-id="superthings"] .project-subtitle{text-align:left!important}

/* Portrait supplied by Ximo for the About section. */
.portrait{position:relative;isolation:isolate;overflow:visible;min-height:420px;border:0;border-radius:12px;background:transparent;box-shadow:none}
.portrait::before{content:"";position:absolute;z-index:-1;left:3%;right:3%;bottom:-9%;height:48%;border-radius:50%;background:radial-gradient(ellipse,rgba(105,174,116,.34) 0%,rgba(89,157,101,.22) 34%,rgba(73,133,86,.11) 59%,rgba(73,133,86,0) 79%);filter:blur(30px);pointer-events:none}
.portrait .profile-photo{position:relative;z-index:0;display:block;width:100%;height:100%;min-height:420px;object-fit:cover;object-position:58% 39%;border-radius:12px;box-shadow:0 0 0 1px rgba(231,225,211,.12),0 16px 42px rgba(0,0,0,.16);transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s ease;filter:saturate(.9)}
.portrait:hover .profile-photo{transform:scale(1.025);filter:saturate(1)}
@media(max-width:600px){.portrait{min-height:0;max-width:350px}.portrait .profile-photo{min-height:0;aspect-ratio:.92;object-position:58% 39%}}

/* Equilibra el peso visual de Netflix con los demás logotipos de la cabecera. */
.reel-platform-logo.netflix-logo{max-width:clamp(68px,9.8vw,130px)!important;max-height:clamp(21px,2.5vw,31px)!important}
@media(max-width:600px){.reel-platform-logo.netflix-logo{max-width:13vw!important;max-height:19px!important}}
.reel-platform-logo.filmax-logo{max-width:clamp(102px,12vw,150px)!important;max-height:40px!important;transform:scale(1.28)}
.reel-platform-logo.filmax-logo:hover,.reel-platform-logo.filmax-logo:focus-visible{transform:translateY(-2px) scale(1.28)}
@media(max-width:600px){.reel-platform-logo.filmax-logo{max-width:clamp(64px,18vw,84px)!important;max-height:28px!important;transform:scale(1.22)}}
@media(max-width:600px){.reel-platform-logo.filmax-logo:hover,.reel-platform-logo.filmax-logo:focus-visible{transform:translateY(-2px) scale(1.22)}}

/* Safari/iOS/Android: filtro idéntico en reposo y hover; el glow es constante.
   Solo cambian opacidad y posición, así no hay interpolación ni salto a negro. */
.reel-platform-logo{-webkit-tap-highlight-color:transparent;-webkit-transition:opacity .25s ease,-webkit-transform .3s cubic-bezier(.2,.75,.2,1);transition:opacity .25s ease,transform .3s cubic-bezier(.2,.75,.2,1);-webkit-filter:brightness(0) invert(1) drop-shadow(0 0 12px rgba(181,205,249,.28))!important;filter:brightness(0) invert(1) drop-shadow(0 0 12px rgba(181,205,249,.28))!important}
.reel-platform-logo:hover,.reel-platform-logo:focus-visible{opacity:.98;transform:translateY(-2px)}
.project-platforms-mini img{-webkit-tap-highlight-color:transparent;-webkit-transition:opacity .22s ease,-webkit-transform .22s ease;transition:opacity .22s ease,transform .22s ease;-webkit-filter:brightness(0) invert(1) drop-shadow(0 0 8px rgba(181,205,249,.3))!important;filter:brightness(0) invert(1) drop-shadow(0 0 8px rgba(181,205,249,.3))!important}
.project-platforms-mini a:hover img,.project-platforms-mini a:focus-visible img,.project-platforms-mini img:hover{opacity:1;transform:translateY(-1px)}
.platform-button-logo{-webkit-tap-highlight-color:transparent;-webkit-transition:opacity .22s ease,-webkit-transform .22s ease;transition:opacity .22s ease,transform .22s ease;-webkit-filter:brightness(0) invert(1) drop-shadow(0 0 7px rgba(181,205,249,.28))!important;filter:brightness(0) invert(1) drop-shadow(0 0 7px rgba(181,205,249,.28))!important}
.project-actions .platform-link:hover .platform-button-logo,.doc-card>.platform-link:hover .platform-button-logo{opacity:1}

/* La cabecera solo cubre la portada; las anclas deben alinear cada sección arriba. */
html{scroll-padding-top:0}
.about,.contact{scroll-margin-top:0}

/* Cabecera temporal: fondo carbón con guías finas hasta que Ximo tenga su showreel. */
@media(min-width:601px){.hero-reel-stage{height:auto!important;aspect-ratio:16/9!important;min-height:0!important;max-height:none!important}}
@media(max-width:600px){.hero-reel-stage{height:100svh!important;min-height:670px!important;max-height:820px!important;aspect-ratio:auto!important}}
.hero-reel-stage{background:#242629!important;box-shadow:0 20px 65px rgba(0,0,0,.2)!important}
.hero-reel-stage::before{inset:0!important;z-index:0!important;background:radial-gradient(ellipse at 70% 56%,rgba(130,139,154,.075),transparent 55%),linear-gradient(135deg,rgba(255,255,255,.018),transparent 48%,rgba(0,0,0,.055))!important;filter:none!important}
.hero-reel-stage::after{display:none!important}
.hero-reel-stage>.header,.hero-reel-stage>.hero-copy,.hero-reel-stage>.reel-platforms{z-index:4}
.hero-copy .actions{align-items:flex-start!important;flex-direction:row!important;flex-wrap:wrap;gap:13px!important}
.watch-action{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.hero-copy .watch-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;cursor:pointer}
.watch-play{width:10px;height:12px;fill:currentColor;transition:transform .25s ease}
.watch-button:hover .watch-play{transform:translateX(2px)}
.hero-copy .watch-button[aria-expanded="true"]{border-color:rgba(205,222,250,.62)!important;box-shadow:0 0 22px rgba(122,158,225,.16)}
.watch-action .showreel-notice{width:max-content;max-width:min(260px,80vw);max-height:0;margin:0 0 0 4px;overflow:hidden;color:rgba(216,197,159,.9);font-size:12px;letter-spacing:.07em;line-height:1.45;opacity:0;visibility:hidden;transform:translateY(-5px);transition:max-height .32s ease,margin-top .32s ease,opacity .28s ease,transform .32s ease,visibility .32s}
.watch-action .showreel-notice.is-visible{max-height:42px;margin-top:11px;opacity:1;visibility:visible;transform:translateY(0)}
@media(max-width:600px){.reel-motion{inset:20% 0 14%;opacity:.45}.hero-copy .actions{gap:10px!important}.watch-action .showreel-notice{font-size:11px}}
@media(prefers-reduced-motion:reduce){.reel-motion:before,.reel-motion:after{animation:none}.watch-play,.watch-action .showreel-notice{transition:none}}

/* Cabecera: azul eléctrico y verde suave, conservando el viñeteado y el encuadre. */
.hero-reel-stage{background:radial-gradient(ellipse at 72% 52%,rgba(28,113,205,.2),transparent 42%),radial-gradient(ellipse at 27% 68%,rgba(28,145,112,.13),transparent 40%),linear-gradient(135deg,#191f26,#20252a 54%,#151a20)!important}
.hero-reel-stage::before{background:radial-gradient(ellipse at 70% 54%,rgba(42,150,255,.2),transparent 49%),radial-gradient(ellipse at 31% 66%,rgba(41,190,143,.12),transparent 46%),linear-gradient(135deg,rgba(255,255,255,.018),transparent 48%,rgba(0,0,0,.055))!important}
.hero-reel-stage::after{display:block!important;position:absolute;inset:0;z-index:2;content:"";pointer-events:none;background:radial-gradient(ellipse at center,transparent 43%,rgba(4,8,15,.16) 74%,rgba(3,6,12,.42) 100%)}
.reel-motion{opacity:.68}
.reel-motion::before{background:radial-gradient(ellipse at 47% 45%,rgba(46,143,255,.23),transparent 34%),radial-gradient(ellipse at 73% 65%,rgba(46,213,166,.15),transparent 28%);filter:blur(30px)}
.reel-motion::after{background:linear-gradient(transparent,rgba(105,190,255,.72),rgba(83,232,192,.66),transparent);box-shadow:0 0 19px 2px rgba(57,158,255,.26)}
.reel-motion-track{background:repeating-linear-gradient(90deg,transparent 0 7.7%,rgba(111,174,226,.035) 7.7% 7.82%,transparent 7.82% 15.4%);border-color:rgba(112,180,231,.075)}
.reel-motion-track:before,.reel-motion-track:after{background:linear-gradient(90deg,transparent,rgba(109,184,240,.24),transparent)}

/* La tira de proyectos aporta color a la cabecera sin competir con el texto. */
.hero-reel-backdrop{position:absolute;z-index:0;inset:-2%;background:url("assets/hero-strip-bg.jpg") center 48%/cover no-repeat;opacity:.23;filter:blur(8px) saturate(.88);transform:scale(1.035);pointer-events:none}

/* Mantiene la tira panorámica en proporción y suaviza apenas sus extremos. */
.hero-reel-backdrop{inset:0;background-size:100% auto;background-position:center center;opacity:.23;filter:blur(2px) saturate(.9);transform:none;mask-image:linear-gradient(to bottom,transparent 0%,#000 17%,#000 82%,transparent 100%)}

/* Más presencia en la portada y una máscara de capa suave, sin desenfoque. */
.hero-reel-backdrop{background-size:110% auto;filter:saturate(.9);transform:none;mask-image:linear-gradient(to bottom,transparent 0%,#000 28%,#000 72%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 28%,#000 72%,transparent 100%)}

/* La máscara ocupa más altura para fundir claramente los bordes de la imagen. */
.hero-reel-backdrop{background-size:125% auto;mask-image:linear-gradient(to bottom,transparent 0%,transparent 8%,rgba(0,0,0,.18) 23%,rgba(0,0,0,.62) 38%,#000 49%,#000 51%,rgba(0,0,0,.62) 62%,rgba(0,0,0,.18) 77%,transparent 92%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,transparent 8%,rgba(0,0,0,.18) 23%,rgba(0,0,0,.62) 38%,#000 49%,#000 51%,rgba(0,0,0,.62) 62%,rgba(0,0,0,.18) 77%,transparent 92%,transparent 100%)}

/* Paleta cálida y oscura: azul profundo con reflejo rojo, sin verde. */
.hero-reel-stage{background:radial-gradient(ellipse at 72% 52%,rgba(39,94,163,.17),transparent 43%),radial-gradient(ellipse at 27% 66%,rgba(142,54,67,.13),transparent 41%),linear-gradient(135deg,#171b22,#202027 54%,#14171c)!important}
.hero-reel-stage::before{background:radial-gradient(ellipse at 70% 54%,rgba(61,128,201,.17),transparent 49%),radial-gradient(ellipse at 31% 66%,rgba(177,73,80,.13),transparent 46%),linear-gradient(135deg,rgba(255,255,255,.018),transparent 48%,rgba(0,0,0,.075))!important}
.hero-reel-stage::after{background:linear-gradient(to bottom,transparent 46%,rgba(5,7,12,.18) 70%,rgba(4,6,11,.78) 100%),radial-gradient(ellipse at center,transparent 38%,rgba(4,8,15,.2) 74%,rgba(3,6,12,.5) 100%)}
.reel-motion::before{background:radial-gradient(ellipse at 47% 45%,rgba(57,132,211,.2),transparent 34%),radial-gradient(ellipse at 73% 65%,rgba(184,67,79,.15),transparent 29%);filter:blur(30px)}
.reel-motion::after{background:linear-gradient(transparent,rgba(113,177,236,.72),rgba(227,130,128,.66),transparent);box-shadow:0 0 19px 2px rgba(71,135,202,.24)}
.reel-motion-track{background:repeating-linear-gradient(90deg,transparent 0 7.7%,rgba(130,170,214,.035) 7.7% 7.82%,transparent 7.82% 15.4%);border-color:rgba(129,170,218,.075)}
.reel-motion-track:before,.reel-motion-track:after{background:linear-gradient(90deg,transparent,rgba(169,143,167,.23),transparent)}
.hero-reel-backdrop{filter:contrast(1.14) saturate(.88)}

/* Refuerza la paleta azul-roja: más saturada y luminosa sobre una base oscura. */
.hero-reel-stage{background:radial-gradient(ellipse at 72% 52%,rgba(29,88,178,.27),transparent 43%),radial-gradient(ellipse at 27% 66%,rgba(169,35,58,.22),transparent 41%),linear-gradient(135deg,#111720,#1c1b24 54%,#10141a)!important}
.hero-reel-stage::before{background:radial-gradient(ellipse at 70% 54%,rgba(38,112,211,.26),transparent 49%),radial-gradient(ellipse at 31% 66%,rgba(204,39,62,.21),transparent 46%),linear-gradient(135deg,rgba(255,255,255,.018),transparent 48%,rgba(0,0,0,.075))!important}
.reel-motion::before{background:radial-gradient(ellipse at 47% 45%,rgba(35,119,226,.29),transparent 34%),radial-gradient(ellipse at 73% 65%,rgba(205,37,62,.23),transparent 29%);filter:blur(30px)}
.reel-motion::after{background:linear-gradient(transparent,rgba(94,165,244,.82),rgba(239,94,105,.76),transparent);box-shadow:0 0 22px 3px rgba(53,125,226,.32)}

/* Vuelve a la intensidad cromática anterior y elimina el corte sobre los logos. */
.hero-reel-stage{background:radial-gradient(ellipse at 72% 52%,rgba(39,94,163,.17),transparent 43%),radial-gradient(ellipse at 27% 66%,rgba(142,54,67,.13),transparent 41%),linear-gradient(135deg,#171b22,#202027 54%,#14171c)!important}
.hero-reel-stage::before{background:radial-gradient(ellipse at 70% 54%,rgba(61,128,201,.17),transparent 49%),radial-gradient(ellipse at 31% 66%,rgba(177,73,80,.13),transparent 46%),linear-gradient(135deg,rgba(255,255,255,.018),transparent 48%,rgba(0,0,0,.075))!important}
.reel-motion::before{background:radial-gradient(ellipse at 47% 45%,rgba(57,132,211,.2),transparent 34%),radial-gradient(ellipse at 73% 65%,rgba(184,67,79,.15),transparent 29%);filter:blur(30px)}
.reel-motion::after{background:linear-gradient(transparent,rgba(113,177,236,.72),rgba(227,130,128,.66),transparent);box-shadow:0 0 19px 2px rgba(71,135,202,.24)}
.reel-platforms{border-top:0!important;background:linear-gradient(to bottom,transparent 0%,rgba(5,8,14,.16) 18%,rgba(5,8,14,.52) 58%,rgba(5,8,14,.72) 100%)!important}

/* Mobile: apilar hero y proyecto destacado para evitar cualquier solapamiento. */
@media(max-width:850px){
  .hero-reel{padding:0 0 30px!important}
  .hero-reel-stage{display:flex!important;flex-direction:column!important;justify-content:flex-start!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;border-radius:0!important;overflow:hidden}
  .hero-reel-stage>.header{position:relative!important;inset:auto!important;flex:0 0 auto;width:100%;padding:24px clamp(22px,5vw,40px)!important;background:linear-gradient(180deg,rgba(8,10,14,.48),transparent)!important}
  .hero-reel-stage>.hero-copy{position:relative!important;inset:auto!important;left:auto!important;right:auto!important;top:auto!important;width:auto!important;max-width:820px;margin:auto 0!important;padding:clamp(64px,12vh,112px) clamp(24px,7vw,72px) clamp(68px,12vh,110px)!important}
  .hero-reel-stage>.reel-platforms{position:relative!important;inset:auto!important;flex:0 0 auto;width:100%;min-height:90px!important;flex-wrap:wrap;gap:clamp(18px,4vw,34px)!important;padding:21px 24px!important;background:linear-gradient(0deg,rgba(5,7,10,.68),rgba(5,7,10,.06))!important}
  .hero-reel-backdrop{background-size:auto 100%!important;opacity:.2;mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.35) 16%,#000 38%,#000 66%,rgba(0,0,0,.35) 86%,transparent 100%)!important;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.35) 16%,#000 38%,#000 66%,rgba(0,0,0,.35) 86%,transparent 100%)!important}
  .hero-copy h1{max-width:13ch}
  .reel-placeholder{left:clamp(24px,7vw,72px)!important;bottom:calc(90px + 21px)!important}
  .featured .crop{height:auto!important;aspect-ratio:1.55!important}
  .featured .project-copy{position:relative!important;inset:auto!important;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;width:100%!important;padding:24px clamp(20px,5vw,34px)!important;background:linear-gradient(145deg,rgba(32,35,41,.96),rgba(24,26,30,.98))!important;pointer-events:auto!important}
  .featured .project-actions{width:100%;display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-start!important;gap:20px!important;margin-top:18px}
  .featured .project-action-unit{flex:1 1 190px;align-items:center!important;text-align:center!important;gap:0!important}
  .featured .project-action-unit .project-link{align-self:center;max-width:100%;text-align:center}
  .featured .project-action-unit:first-child .project-action-caption,.featured .project-action-unit:first-child .project-action-subcaption,.featured .project-action-unit:nth-child(2) .project-action-caption{margin-top:7px!important}
  .featured .project-platforms-mini{margin-top:6px!important}
}
@media(max-width:600px){
  .hero-reel-stage{min-height:100svh!important}
  .hero-reel-stage>.header{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"brand contact language" "nav nav nav";align-items:center;gap:11px 10px!important;padding:17px 18px 12px!important}
  .header .wordmark{grid-area:brand;min-width:0;font-size:16px!important;letter-spacing:.08em!important;white-space:normal;line-height:1.1}
  .header .wordmark span{font-size:10px!important;line-height:1.35;letter-spacing:.035em!important;margin-top:5px!important}
  .header nav{grid-area:nav;display:flex!important;justify-content:space-between!important;gap:12px!important;width:100%;margin:0!important;padding:8px 0 2px!important;overflow:visible!important;font-size:9px!important;letter-spacing:.08em!important;white-space:nowrap}
  .header-contact{grid-area:contact;margin:0!important}
  .header .contact-launcher{min-height:38px;padding-inline:12px!important;font-size:11px!important}
  .header .languages{grid-area:language;gap:5px;font-size:9px!important}
  .hero-reel-stage>.hero-copy{padding:clamp(55px,9vh,82px) 22px clamp(58px,9vh,82px)!important}
  .hero-copy h1{font-size:clamp(40px,10.7vw,54px)!important;line-height:1.08!important;letter-spacing:-.045em!important;margin-bottom:0!important}
  .hero-copy .actions{display:flex!important;align-items:flex-start!important;gap:10px!important;margin-top:25px!important}
  .hero-copy .button{min-height:44px!important;padding:9px 12px!important;font-size:10px!important;letter-spacing:.045em!important}
  .hero-copy .watch-action{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
  .showreel-notice{max-width:145px;margin:9px 0 0!important;font-size:10px!important;line-height:1.35}
  .hero-reel-stage>.reel-platforms{min-height:92px!important;gap:clamp(13px,4vw,20px)!important;padding:18px 16px!important}
  .reel-platform-logo{max-width:clamp(43px,14vw,64px)!important;max-height:21px!important}
  .reel-platform-logo.netflix-logo{max-width:clamp(48px,14.5vw,68px)!important;max-height:20px!important}
  .reel-platform-logo.dailywire-logo{max-width:clamp(60px,18vw,80px)!important}
  .reel-platform-logo.rtve-logo{max-width:clamp(37px,12vw,52px)!important}
  .reel-platform-logo.filmin-logo{max-width:clamp(43px,13vw,58px)!important}
  .reel-platform-logo.filmax-logo{max-width:clamp(64px,18vw,84px)!important;max-height:28px!important;transform:scale(1.22)}
  .reel-platform-logo.filmax-logo:hover,.reel-platform-logo.filmax-logo:focus-visible{transform:translateY(-2px) scale(1.22)}
  .reel-placeholder{bottom:calc(92px + 18px)!important}
  .work{padding-inline:16px!important;padding-top:22px!important}
  .work .section-head{margin-bottom:22px}
  .featured .crop{aspect-ratio:1.22!important}
  .featured .project-copy{padding:22px 19px!important}
  .featured h3{font-size:clamp(34px,9vw,43px)!important;line-height:1.02;margin:12px 0 8px!important}
  .featured h3 .project-subtitle{font-size:.62em!important}
  .featured .role{font-size:15px!important;margin-bottom:7px}
  .featured .studio{font-size:12px!important;line-height:1.5}
  .featured .project-description{font-size:14px!important;line-height:1.55;margin:14px 0 0!important}
  .featured .project-actions{flex-direction:column!important;align-items:stretch!important;gap:17px!important;margin-top:19px!important}
  .featured .project-action-unit{flex:0 1 auto;width:100%;align-items:center!important}
  .featured .project-action-unit .project-link{width:fit-content}
  .featured .project-action-caption,.featured .project-action-subcaption{font-size:11px!important}
  .featured .project-platforms-mini a{width:68px;height:25px}
  .featured .project-platforms-mini img{height:18px}
  .doc-grid{gap:30px}
  .doc-card .doc-image{height:auto!important;aspect-ratio:1.1}
  .about{gap:27px}
  .portrait .crop,.portrait .profile-photo{height:auto!important;aspect-ratio:.92;object-fit:cover}
  .contact h2{font-size:clamp(38px,10vw,47px)!important;line-height:1.1}
  .contact .email{font-size:clamp(13px,3.7vw,16px)!important;gap:8px}
}

/* Premios de películas anclados al propio marco, no a la cuadrícula de la tarjeta. */
.awards-image{position:relative!important;isolation:isolate;overflow:hidden!important}
.awards-image-trigger{position:absolute!important;z-index:3;inset:0;width:100%;height:100%;padding:0!important;border:0!important;border-radius:inherit;background:transparent!important;box-shadow:none!important;cursor:pointer}
.awards-image-trigger:focus-visible{outline:2px solid var(--accent)!important;outline-offset:-4px}
.awards-image>.details{position:absolute!important;z-index:5;inset:0!important;width:100%!important;height:100%!important;max-height:none!important;box-sizing:border-box!important;display:block!important;overflow:auto!important;overscroll-behavior:contain;margin:0!important;padding:clamp(14px,2.2vw,26px)!important;border:1px solid rgba(193,216,239,.34)!important;border-radius:inherit!important;background:rgba(25,28,32,.97)!important;box-shadow:0 12px 32px rgba(0,0,0,.32)!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;transform:translateY(12px)!important;transition:opacity .28s ease,transform .35s cubic-bezier(.2,.7,.2,1),visibility 0s linear .35s!important}
.project.is-open .awards-image>.details{visibility:visible!important;opacity:1!important;pointer-events:auto!important;transform:translateY(0)!important;transition-delay:0s!important}
.awards-image>.details h4{font-size:clamp(11px,1.3vw,14px)!important;margin:0 0 8px!important}
.awards-image>.details li,.awards-image>.details p{font-size:clamp(12px,1.2vw,14px)!important;line-height:1.5!important}
@media(max-width:600px){.awards-image>.details{padding:14px!important}.awards-image>.details h4{font-size:12px!important}.awards-image>.details li,.awards-image>.details p{font-size:12px!important;line-height:1.42!important}.awards-image .details-close{width:34px;height:34px;font-size:22px;margin:-5px -5px 6px 8px}}


/* Todos los logos de plataformas: color y opacidad fijos; al interactuar solo crecen un poco. */
.reel-platform-logo,.project-platforms-mini img,.platform-button-logo{-webkit-tap-highlight-color:transparent;-webkit-filter:brightness(0) invert(1)!important;filter:brightness(0) invert(1)!important;-webkit-transition:-webkit-transform .2s ease!important;transition:transform .2s ease!important}
.reel-platform-logo:hover,.reel-platform-logo:focus-visible,.reel-platform-logo:active{opacity:.72!important;-webkit-filter:brightness(0) invert(1)!important;filter:brightness(0) invert(1)!important;transform:scale(1.06)!important}
.reel-platform-logo.filmin-logo:hover,.reel-platform-logo.filmin-logo:focus-visible,.reel-platform-logo.filmin-logo:active{opacity:.76!important;transform:scale(1.06)!important}
.reel-platform-logo.filmax-logo:hover,.reel-platform-logo.filmax-logo:focus-visible,.reel-platform-logo.filmax-logo:active{opacity:.72!important;transform:scale(1.34)!important}
.project-platforms-mini img:hover,.project-platforms-mini a:hover img,.project-platforms-mini a:focus-visible img,.project-platforms-mini a:active img{opacity:.76!important;-webkit-filter:brightness(0) invert(1)!important;filter:brightness(0) invert(1)!important;transform:scale(1.06)!important}

.platform-button-logo:hover,.platform-link:focus-visible .platform-button-logo,.platform-link:active .platform-button-logo{opacity:.88!important;-webkit-filter:brightness(0) invert(1)!important;filter:brightness(0) invert(1)!important;transform:scale(1.06)!important}
.dailywire-button-logo:hover,.platform-link:focus-visible .dailywire-button-logo,.platform-link:active .dailywire-button-logo{transform:translateY(-1px) scale(1.06)!important}
@media(max-width:600px){.reel-platform-logo.filmax-logo:hover,.reel-platform-logo.filmax-logo:focus-visible,.reel-platform-logo.filmax-logo:active{transform:scale(1.28)!important}}
@media(prefers-reduced-motion:reduce){.reel-platform-logo,.project-platforms-mini img,.platform-button-logo{-webkit-transition:none!important;transition:none!important}}

/* Tablet y móvil: seis logos en una línea con huecos visuales repartidos por igual. */
@media(max-width:850px){
  .hero-reel-stage>.reel-platforms{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:space-between!important;gap:clamp(3px,1vw,9px)!important;padding-inline:clamp(12px,3vw,26px)!important}
  .hero-reel-stage>.reel-platforms>.reel-platform-logo{display:block;flex:0 1 auto!important;width:auto!important;min-width:0!important;max-width:clamp(36px,10vw,78px)!important;max-height:23px!important;object-fit:contain!important}
  .hero-reel-stage>.reel-platforms>.reel-platform-logo.filmax-logo{transform:scale(1.12)!important}
  .hero-reel-stage>.reel-platforms>.reel-platform-logo.filmax-logo:hover,.hero-reel-stage>.reel-platforms>.reel-platform-logo.filmax-logo:focus-visible,.hero-reel-stage>.reel-platforms>.reel-platform-logo.filmax-logo:active{transform:scale(1.18)!important}
}
@media(max-width:600px){
  .hero-reel-stage>.reel-platforms>.reel-platform-logo{max-height:17px!important}
  .hero-reel-stage>.reel-platforms>.reel-platform-logo.netflix-logo{max-width:clamp(40px,14vw,56px)!important}
  .hero-reel-stage>.reel-platforms>.reel-platform-logo.hbo-logo{max-width:clamp(38px,13vw,52px)!important}
  .hero-reel-stage>.reel-platforms>.reel-platform-logo.filmin-logo{max-width:clamp(38px,13vw,52px)!important}
  .hero-reel-stage>.reel-platforms>.reel-platform-logo.filmax-logo{max-width:clamp(44px,15vw,60px)!important;max-height:20px!important;transform:scale(1.12)!important}
  .hero-reel-stage>.reel-platforms>.reel-platform-logo.dailywire-logo{max-width:clamp(48px,17vw,68px)!important}
  .hero-reel-stage>.reel-platforms>.reel-platform-logo.rtve-logo{max-width:clamp(36px,12vw,48px)!important}
  .hero-reel-stage>.reel-platforms>.reel-platform-logo.filmax-logo:hover,.hero-reel-stage>.reel-platforms>.reel-platform-logo.filmax-logo:focus-visible,.hero-reel-stage>.reel-platforms>.reel-platform-logo.filmax-logo:active{transform:scale(1.18)!important}
}


/* Contacto: llamada principal bajo el titular y datos alineados en una sola fila. */
.contact h2{margin-bottom:22px!important}
.contact>.contact-launcher-bottom{display:flex;align-items:center;justify-content:center;width:max-content;min-width:clamp(187.5px,19.5vw,247.5px);min-height:clamp(51px,4.5vw,61.5px);margin:0;padding:0 27px!important;font-size:clamp(13.5px,1.2375vw,15.75px)!important;letter-spacing:.08em!important}
.contact-actions-row{display:flex;align-items:center;justify-content:space-between;gap:24px;width:min(780px,100%);margin-top:44px;padding-top:20px;border-top:1px solid var(--line)}
.contact-actions-row>.email{display:inline-flex;align-items:center;gap:5px;width:auto;height:24px;margin:0!important;padding:0!important;border:0!important;font-size:clamp(13px,1.25vw,16px);line-height:1.2}.contact-actions-row>.email span{margin-left:0!important}
.contact-actions-row>.email .email-mark{width:16px;height:16px}
.contact-actions-row>.back-to-top{position:static!important;left:auto!important;bottom:auto!important;transform:translateY(-3px)!important;display:inline-flex;align-items:center;gap:7px;flex:none;margin:0!important;padding:0!important;border:0!important;background:transparent!important;color:var(--accent)!important;font-size:11px;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.contact-actions-row>.back-to-top:hover{color:var(--ink)!important}
@media(max-width:600px){
 .contact>.contact-launcher-bottom{min-width:172.5px;min-height:46.5px;padding-inline:21px!important;font-size:12px!important}
 .contact-actions-row{flex-wrap:wrap;gap:14px 20px;margin-top:32px;padding-top:17px}
 .contact-actions-row>.email{font-size:13px!important}
 .contact-actions-row>.back-to-top{font-size:10px}
}
