:root{--paper:#e5e0d4;--ink:#242522;--line:#a4a196}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,summary,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit}button,a,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #b82b25;outline-offset:6px}.skip{position:fixed;top:-80px;left:20px;z-index:100;background:var(--ink);color:white;padding:15px}.skip:focus{top:10px}header{position:fixed;inset:0 0 auto;z-index:20;background:var(--paper)}nav{display:flex;justify-content:space-between;align-items:center;padding:25px 4vw;gap:15px}nav a{font-family:Arial Black,Arial,sans-serif;font-size:clamp(14px,1.35vw,21px);font-weight:950;letter-spacing:-.055em;text-transform:uppercase;position:relative;white-space:nowrap}nav a:before{content:'';display:inline-block;width:.5em;height:.5em;border-radius:50%;background:currentColor;margin-right:.4em;opacity:0}nav a.active:before{opacity:1}.hero{padding:110px 4vw 30px;min-height:100svh;position:relative;display:flex;align-items:center;flex-direction:column}.hero h1{margin:0;position:absolute;left:3.2vw;right:3.2vw;top:110px;font-family:Impact,'Arial Narrow',sans-serif;line-height:.79;font-size:24vw;font-weight:900;text-align:center;letter-spacing:-.045em;pointer-events:none}.hero h1>span:first-child{display:block;transform:scaleX(1.08)}.hero h1 .surname{position:relative;display:block;font-size:9vw;letter-spacing:-.035em;top:clamp(350px,42vw,660px)}.hero-photo{position:relative;width:min(53vw,740px);height:clamp(480px,65vw,810px);max-height:78svh;object-fit:cover;object-position:center 54%;border-radius:9vw;z-index:1}.hero-caption{display:flex;justify-content:space-between;width:100%;margin-top:95px;padding-bottom:24px;border-bottom:1px solid var(--ink);font-size:14px;text-transform:uppercase;letter-spacing:.035em}.hero-caption a{font-weight:bold}.section{padding:80px 6vw 40px;scroll-margin-top:15px}.section-label{display:flex;justify-content:space-between;gap:20px;font-size:14px;text-transform:uppercase;margin-bottom:32px;letter-spacing:.025em}.section-label h3{font:inherit;margin:0}h2{font-family:Impact,'Arial Narrow',sans-serif;font-weight:900;font-size:clamp(75px,13vw,200px);line-height:.86;letter-spacing:-.035em;margin:0 0 50px}.credits details{border-bottom:1px solid var(--ink)}summary{list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}.credits summary{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:30px 0;font-family:Arial Black,Arial,sans-serif;font-size:clamp(25px,4.1vw,65px);font-weight:950;letter-spacing:-.055em;line-height:1.04;text-transform:uppercase}.credits summary:after{content:'+';font-family:Arial;font-size:30px;font-weight:400;letter-spacing:0}.credits details[open] summary:after{content:'−'}.credits summary>span:first-child{flex:1}.credits small{font-size:.5em;vertical-align:middle}.credit-year{font-family:Arial,sans-serif;font-weight:400;font-size:14px;letter-spacing:0;max-width:125px;line-height:1.4}.credit-info{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 0 24px;font-size:16px;line-height:1.6}.credit-info p{margin:0}.credits summary:hover{color:#8e2925}.videobook{padding-top:90px;scroll-margin-top:80px}.video-wrap{position:relative;aspect-ratio:16/9;background:#191919;border-radius:25px;overflow:hidden}.video-wrap iframe{width:100%;height:100%;border:0}.gallery-section{padding-top:110px}.gallery-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:40px}.gallery-heading h2{margin:0}.filters{display:flex;gap:20px;padding-bottom:7px}.filters button{border:0;background:none;padding:10px 0;text-transform:uppercase;font-size:14px;cursor:pointer;border-bottom:2px solid transparent}.filters button[aria-pressed=true]{border-color:var(--ink);font-weight:bold}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.gallery button{padding:0;border:0;background:transparent;cursor:zoom-in;overflow:hidden;border-radius:36px;aspect-ratio:3/4}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery button:hover img{transform:scale(1.04)}.load-more{display:block;margin:35px auto 0;background:transparent;border:1px solid var(--ink);border-radius:50px;padding:16px 30px;cursor:pointer}.load-more:hover{background:var(--ink);color:var(--paper)}.photo-credit{font-size:13px;text-align:center;margin:25px 0}.about{padding-top:110px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:9vw}.about-grid>img{width:100%;max-height:740px;object-fit:cover;border-radius:70px}.about-copy{font-size:18px;line-height:1.65}.about-copy .intro{font-weight:800;font-size:clamp(28px,3vw,45px);letter-spacing:-.04em;line-height:1.1;margin:0 0 30px}.about-copy>p{margin-bottom:25px}.about-copy details{border-bottom:1px solid var(--line)}.about-copy summary{padding:19px 0;font-size:16px;display:flex;justify-content:space-between}.about-copy summary:after{content:'+'}.about-copy details[open] summary:after{content:'−'}.detail-body{font-size:16px}footer{padding:110px 6vw 30px}.email{display:block;font-size:clamp(20px,5.1vw,80px);font-weight:800;letter-spacing:-.055em;border-bottom:1px solid var(--ink);padding:10px 0 35px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:25px;font-size:14px}.footer-bottom>div{display:flex;gap:25px}dialog{border:0;padding:60px;background:#151515;color:white;max-width:100vw;max-height:100svh;width:100vw;height:100svh}dialog[open]{display:flex;align-items:center;justify-content:center}dialog::backdrop{background:#151515}dialog img{max-width:85vw;max-height:82svh;object-fit:contain}dialog button{position:absolute;background:none;border:0;color:white;cursor:pointer;padding:15px}.lightbox-close{right:20px;top:15px;font-size:16px}.previous,.next{top:45%;font-size:45px}.previous{left:10px}.next{right:10px}#photo-count{position:absolute;bottom:8px;left:0;right:0;text-align:center;font-size:14px}body.modal-open{overflow:hidden}@media(min-width:1500px){.hero{padding-top:130px}.hero h1{top:125px}.hero h1 .surname{top:590px}.hero-caption{margin-top:125px}}@media(max-width:700px){nav{padding:22px 4vw;gap:8px}nav a{font-size:13px;letter-spacing:-.05em}.hero{padding-top:112px;min-height:auto}.hero h1{top:112px;font-size:24vw}.hero-photo{width:77vw;height:105vw;max-height:none;min-height:0;border-radius:15vw}.hero h1 .surname{top:90vw;font-size:16vw}.hero-caption{margin-top:95px;font-size:12px}.hero-caption>span:last-child{display:none}.section{padding:65px 5vw 20px}h2{font-size:20vw;margin-bottom:30px}.section-label{font-size:12px;gap:10px}.credits summary{font-size:7vw;padding:24px 0;gap:12px}.credit-year{font-size:12px;max-width:78px}.credits summary:after{font-size:24px}.credit-info{grid-template-columns:1fr;font-size:15px}.videobook{padding-top:55px}.video-wrap{border-radius:16px}.gallery-heading{display:block}.filters{margin-top:25px}.gallery{grid-template-columns:repeat(2,1fr);gap:14px}.gallery button{border-radius:23px}.about-grid{grid-template-columns:1fr;gap:35px}.about-grid>img{max-height:560px;border-radius:45px}.about-copy{font-size:17px}.about-copy .intro{font-size:35px}footer{padding:75px 5vw 25px}.footer-bottom{flex-direction:column;gap:20px;font-size:13px}.footer-bottom>div{justify-content:space-between;gap:12px}dialog{padding:45px 30px}dialog img{max-width:85vw}.previous{left:0}.next{right:0}dialog button.previous,dialog button.next{padding:5px} }@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.hero h1{display:contents}.hero h1>span:first-child{position:absolute;top:110px;left:4vw;right:4vw;font-family:Impact,'Arial Narrow',sans-serif;font-size:24vw;font-weight:900;line-height:.79;letter-spacing:-.045em;text-align:center}.hero h1 .surname{position:static;order:2;margin-top:26px;font-family:Impact,'Arial Narrow',sans-serif;font-weight:900;font-size:9vw;line-height:.8;letter-spacing:-.035em}.hero-photo{order:1}.hero-caption{order:3;margin-top:32px}button[hidden]{display:none}@media(max-width:700px){.hero h1>span:first-child{top:112px}.hero h1 .surname{font-size:16vw;margin-top:22px}.hero-caption{margin-top:30px}}@media(min-width:1500px){.hero h1>span:first-child{top:130px}}

.video-poster{display:block;width:100%;height:100%;position:relative}.video-poster img{width:100%;height:100%;object-fit:cover}.play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--paper);color:var(--ink);border-radius:50px;padding:20px 28px;font-size:16px;white-space:nowrap}.play>span{margin-right:10px}.video-poster:hover .play{background:white}

/* Transparent portrait floats in front of both lines of the name. */
.hero-cutout { isolation: isolate; overflow: clip; padding-top: 100px; }
.hero-cutout h1 > span:first-child { top: 145px; z-index: 0; }
.hero-cutout h1 .surname { position: absolute; top: clamp(330px, 31vw, 535px); left: 4vw; right: 4vw; margin: 0; font-size: 18vw; line-height: .85; text-align: center; z-index: 0; }
.hero-figure { position: relative; order: 1; width: 100%; height: clamp(510px, 76svh, 850px); z-index: 1; pointer-events: none; }
.hero-cutout-image { position: absolute; bottom: 0; left: 50%; width: auto; height: 127%; max-width: none; object-fit: contain; transform-origin: 50% 90%; animation: portrait-sway 7s ease-in-out infinite; }
.hero-cutout .hero-caption { position: relative; z-index: 2; margin-top: 22px; }
@keyframes portrait-sway {
  0%, 100% { transform: translateX(-50%) translateY(0) rotate(-.45deg); }
  50% { transform: translateX(calc(-50% + 5px)) translateY(-7px) rotate(.45deg); }
}
@media(max-width:700px) {
  .hero-cutout { padding-top: 96px; }
  .hero-cutout h1 > span:first-child { top: 155px; }
  .hero-cutout h1 .surname { top: 275px; font-size: 21vw; }
  .hero-figure { height: clamp(460px, 66svh, 650px); }
  .hero-cutout-image { height: 126%; }
}
@media(prefers-reduced-motion:reduce) {
  .hero-cutout-image { animation: none; transform: translateX(-50%); }
}
@media(max-width:420px) {
  nav { gap: 8px; }
  nav a { font-size: 12px; }
  nav a:before { position: absolute; left: -.65em; top: .32em; margin: 0; }
}
/* Let the portrait break through the caption rule. */
.hero-cutout { padding-bottom: 110px; }
.hero-figure { z-index: 3; }
.hero-cutout-image { height: 148%; bottom: -105px; }
@media(max-width:700px) {
  .hero-cutout-image { height: 146%; bottom: -105px; }
}
/* Anchor the cutout's lower edge exactly to the caption rule. */
.hero-cutout .hero-caption { height: 44px; line-height: 19px; margin-top: 22px; padding-bottom: 24px; }
.hero-cutout .hero-cutout-image { bottom: -65px; transform-origin: 50% 100%; }
@keyframes portrait-sway {
  0%, 100% { transform: translateX(-50%) skewX(-.4deg); }
  50% { transform: translateX(calc(-50% + 4px)) skewX(.4deg); }
}
/* Jost editorial typography. Keep navigation and gallery tabs emphasized. */
@font-face{font-family:Jost;font-style:normal;font-weight:200;font-display:swap;src:url('/assets/fonts/jost-light.ttf') format('truetype')}
@font-face{font-family:Jost;font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/jost-regular.ttf') format('truetype')}
@font-face{font-family:Jost;font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/jost-semibold.ttf') format('truetype')}
body{font-family:Jost,sans-serif;font-weight:400}
nav{gap:20px}nav a{font-family:Jost,sans-serif;font-weight:600;font-size:clamp(14px,1.2vw,19px);letter-spacing:.06em}nav a:before{position:absolute;left:-.7em;top:.4em;margin:0}
.language-switch{display:flex;align-items:center;gap:8px;font-size:14px}.language-switch a{font-size:14px}.language-switch a:before{display:none}.language-switch a[aria-current=page]{text-decoration:underline;text-underline-offset:5px}
.hero h1>span:first-child,.hero h1 .surname,.hero-cutout h1 .surname,h2{font-family:Jost,sans-serif;font-weight:200;letter-spacing:.2em;text-transform:uppercase}
.hero h1>span:first-child{font-size:14vw;transform:none;line-height:1.05}
.hero-cutout h1 .surname{font-size:12vw;line-height:1.1;top:clamp(295px,30vw,490px)}
h2{font-size:clamp(48px,9vw,135px);line-height:1.15;margin-bottom:35px}
.credits summary{font-family:Jost,sans-serif;font-weight:200;letter-spacing:.08em;font-size:clamp(25px,3.8vw,57px);line-height:1.3}.credit-year{font-family:Jost,sans-serif;letter-spacing:.03em;font-size:14px}
.filters button{font-weight:600;letter-spacing:.1em}.filters button[aria-pressed=true]{font-weight:600}.section-label,.hero-caption{letter-spacing:.1em}.about-copy .intro{font-weight:200;letter-spacing:.03em;line-height:1.25}.email{font-weight:200;letter-spacing:.03em;font-size:clamp(20px,4.5vw,70px)}
.cv-downloads{padding-top:25px}.cv-downloads>p{font-size:14px;text-transform:uppercase;letter-spacing:.12em}.cv-downloads a{display:inline-block;font-size:16px;padding:10px 17px;border:1px solid currentColor;border-radius:30px;margin:0 8px 10px 0}.cv-downloads a:hover{background:var(--ink);color:var(--paper)}
.gallery button{position:relative}.gallery .season{position:absolute;bottom:0;left:0;right:0;background:rgba(0,0,0,.65);color:white;padding:14px;font-size:14px;opacity:0;transition:opacity .2s}.gallery button:hover .season,.gallery button:focus-visible .season{opacity:1}
@media(max-width:700px){nav{padding:18px 4vw;gap:8px;flex-wrap:wrap}nav>a{font-size:12px;letter-spacing:.015em}.language-switch{width:100%;justify-content:flex-end;font-size:12px}.language-switch a{font-size:12px}.hero-cutout{padding-top:112px}.hero h1>span:first-child{font-size:13.8vw;top:178px}.hero-cutout h1 .surname{font-size:12vw;top:285px}h2{font-size:10.5vw;letter-spacing:.14em}.credits summary{font-size:6vw;letter-spacing:.06em}.credit-year{font-size:13px}.gallery-heading{display:block}.filters{margin-top:20px}.gallery .season{opacity:1}.section-label{letter-spacing:.045em}.email{font-size:5vw;letter-spacing:.02em}}
/* Keep caption links readable where the cutout crosses their row on phones. */
.hero-cutout .hero-caption { z-index: 4; }

/* Quieter editorial hierarchy and a smaller mobile portrait. */
h2 { font-size: clamp(48px, 8vw, 115px); }
.credits summary { font-size: clamp(25px, 3.3vw, 48px); }
.gallery button { border-radius: 4px; }
@media(max-width:700px) {
  .hero-figure { height: clamp(380px, 56svh, 520px); }
  .hero-cutout .hero-cutout-image { height: 112%; left: 55%; }
  h2 { font-size: 10.5vw; }
  .credits summary { font-size: 6vw; }
}
/* Authorial direction across the whole portfolio: quiet hierarchy, generous
   space and unframed photography, while retaining the one-page structure. */
.section { padding-top: 100px; }
h2 { font-size: clamp(44px, 6.5vw, 92px); line-height: 1.25; }
.credits summary { font-size: clamp(24px, 2.7vw, 42px); padding: 28px 0; }
.credits details { border-color: var(--line); }
.gallery { gap: 36px; align-items: start; }
.gallery button { border-radius: 0; }
.gallery button:nth-child(3n + 2) { margin-top: 48px; }
.about-grid > img { border-radius: 0; }
.video-wrap { border-radius: 0; }
.email { font-size: clamp(20px, 3.5vw, 54px); }
@media(min-width:701px) {
  .hero h1 > span:first-child { font-size: 11.8vw; top: 175px; }
  .hero-cutout h1 .surname { font-size: 10vw; }
}
@media(max-width:700px) {
  .section { padding-top: 70px; }
  h2 { font-size: 10.5vw; }
  .credits summary { font-size: 6vw; padding: 24px 0; }
  .gallery { gap: 18px; }
  .gallery button:nth-child(3n + 2) { margin-top: 0; }
  .gallery button:nth-child(even) { margin-top: 32px; }
  .email { font-size: 5vw; }
}

/* Portada: foto horizontal con el nombre encima, sobre la pared (arriba a la izquierda).
   Para mover el nombre: cambia top / left de .hero-name; para el tamaño, font-size (cqw = % del ancho de la foto). */
.hero.hero-wall{min-height:auto;display:block;padding:100px 4vw 30px;overflow:visible}
.hero-wall .hero-frame{position:relative;container-type:inline-size;border-radius:25px;overflow:hidden;background:#d8d2c6}
.hero-wall .hero-photo-full{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.hero.hero-wall .hero-name{display:flex;flex-direction:column;position:absolute;top:9%;left:5.5%;right:auto;margin:0;pointer-events:none;color:var(--ink)}
.hero.hero-wall .hero-name>span,.hero.hero-wall .hero-name>span:first-child{position:static;display:block;top:auto;left:auto;right:auto;margin:0;transform:none;text-align:left;font-family:Jost,sans-serif;font-weight:200;letter-spacing:.2em;text-transform:uppercase;font-size:5.3cqw;line-height:1.15;white-space:nowrap}
.hero.hero-wall .hero-caption{position:relative;margin-top:22px;height:auto}
@media(max-width:700px){.hero.hero-wall{padding-top:112px}.hero-wall .hero-frame{border-radius:16px}.hero.hero-wall .hero-name>span,.hero.hero-wall .hero-name>span:first-child{font-weight:400;letter-spacing:.16em}}


/* Sobre mí sin foto: el texto ocupa una sola columna. */
.about-grid{grid-template-columns:1fr;max-width:900px}

/* Próximo rodaje: título en granate oscuro para distinguirlo de forma sutil. */
.credits summary .upcoming{color:#6e2430}

/* «Galería» con el mismo tamaño que la etiqueta «Cine · Televisión · Teatro». */
.gallery-heading h2{font-size:14px;font-weight:400;letter-spacing:.1em;line-height:normal}
/* Títulos de la trayectoria más pequeños. */
.credits summary{font-size:clamp(20px,2.8vw,42px);padding:22px 0}
@media(max-width:700px){.gallery-heading h2{font-size:12px;letter-spacing:.045em}.credits summary{font-size:4.8vw;padding:18px 0}}
