/* Grey Alien Films · concepto "Revelado". Tokens del manual v1.1. */
@font-face{font-family:"Jost";src:url("../fonts/Jost-Variable.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:optional}
@font-face{font-family:"Newsreader";src:url("../fonts/Newsreader-Variable.woff2") format("woff2");font-weight:200 800;font-style:normal;font-display:optional}
@font-face{font-family:"Newsreader";src:url("../fonts/Newsreader-Italic-Variable.woff2") format("woff2");font-weight:200 800;font-style:italic;font-display:optional}
@font-face{font-family:"IBM Plex Mono";src:url("../fonts/IBMPlexMono-Regular.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("../fonts/IBMPlexMono-Medium.woff2") format("woff2");font-weight:500;font-display:swap}

:root{--sala:#0F0F0E;--grafito:#1E1E1C;--linea:#34342F;--plata:#8C8C87;--alien:#BABBBA;--papel:#EEEDEA;--tinta:#141413;--tung:#D9A65E;--tung-claro:#8F6126;--gris-papel:#4A4A46;
 --display:"Jost",Futura,"Helvetica Neue",sans-serif;--serif:"Newsreader",Georgia,serif;--mono:"IBM Plex Mono",ui-monospace,monospace;--ease:cubic-bezier(.2,.7,.2,1)}

/* base */
body.gaf{margin:0;background:var(--sala);color:var(--papel);font:400 18px/1.6 var(--serif);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.gaf *,.gaf *::before,.gaf *::after{box-sizing:border-box}
.gaf img{max-width:100%;height:auto;display:block}
.gaf a{color:var(--papel);text-decoration:none;transition:color .2s var(--ease)}
.gaf a:hover{color:var(--tung)}
.gaf a:focus-visible,.gaf button:focus-visible{outline:2px solid var(--tung);outline-offset:3px}
.gaf h1,.gaf h2,.gaf h3,.gaf p,.gaf dl,.gaf dd,.gaf figure{margin:0}
.wrap{max-width:1280px;margin:0 auto;padding-left:40px;padding-right:40px}
.mono{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--plata)}
.gaf em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--alien);letter-spacing:-.01em}
.gaf-skip{position:absolute;left:-9999px}.gaf-skip:focus{left:16px;top:16px;z-index:20;background:var(--papel);color:var(--tinta);padding:10px 14px}
.gaf-muted{color:var(--alien)}
.gaf-accent{color:var(--tung)!important}

/* encabezado */
.gaf-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;padding-top:22px;padding-bottom:22px}
.gaf-brand{display:flex;align-items:center;gap:14px}
.gaf-brand{gap:12px}
.gaf-brand-symbol{width:48px;height:48px;max-width:none;flex:none}
.gaf-brand-word{width:150px;height:26px;max-width:none;flex:none}
.gaf-nav{display:flex;flex-wrap:wrap;align-items:center;gap:28px;color:var(--papel)}
.gaf-nav a[aria-current="page"]{color:var(--tung)}
.gaf-lang{color:var(--plata)}.gaf-lang [aria-current]{color:var(--papel)}.gaf-lang a{color:var(--plata)}
.gaf-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--papel);padding:12px 18px;background:none;color:var(--papel);font:inherit;cursor:pointer;transition:border-color .2s var(--ease),color .2s var(--ease)}
.gaf-btn:hover{border-color:var(--tung);color:var(--tung)}
.gaf-btn-dim{border-color:var(--plata);color:var(--alien)}

/* tipografía de títulos: colores explícitos para que ningún CSS heredado los apague */
body.gaf h1,body.gaf h2,body.gaf h3{color:var(--papel);padding:0;margin:0;font-family:var(--display);font-weight:700}
body.gaf .gaf-paper h1,body.gaf .gaf-paper h2,body.gaf .gaf-paper h3{color:var(--tinta)}
body.gaf h1 em,body.gaf h2 em{color:var(--alien)}
body.gaf .gaf-paper h1 em,body.gaf .gaf-paper h2 em{color:var(--gris-papel)}
body.gaf p{padding:0}
body.gaf .gaf-card-title,body.gaf .gaf-row-title,body.gaf .gaf-person-name{margin:0}
body.gaf h3.gaf-card-title{font-size:30px;line-height:1.1;letter-spacing:-.015em}
body.gaf h3.gaf-person-name{font-size:21px;line-height:1.15;margin-top:6px}
body.gaf .gaf-paper .gaf-card-title{color:var(--tinta)}
/* tipografía de títulos */
.gaf-display{font-family:var(--display);font-weight:700;font-size:clamp(48px,7.4vw,120px);line-height:.98;letter-spacing:-.025em;max-width:14ch}
.gaf-hero .gaf-display{font-size:clamp(56px,8.4vw,132px);max-width:12ch}
.gaf-display-s{font-size:clamp(48px,6.6vw,104px)}
.gaf-h2{font-family:var(--display);font-weight:700;font-size:clamp(34px,4.4vw,60px);letter-spacing:-.02em;line-height:1.02}
.gaf h3{font-family:var(--display);font-weight:700;font-size:23px;line-height:1.2}
.gaf-lead{font-size:22px;line-height:1.5;color:var(--alien);max-width:640px}
.gaf-lead p+p{margin-top:1em}
.gaf-lead-s{font-size:20px;max-width:58ch}
.gaf-tagline{font-style:italic;font-size:21px;color:var(--alien)}

/* hero e intro */
.gaf-hero{display:flex;flex-direction:column;gap:32px;padding-top:56px;padding-bottom:40px}
.gaf-kicker{display:flex;align-items:center;gap:10px}
.gaf-rec{width:8px;height:8px;border-radius:50%;background:var(--tung);display:inline-block}
.gaf-hero-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:28px}
.gaf-ctas{display:flex;flex-wrap:wrap;gap:14px}
.gaf-intro{display:flex;flex-direction:column;gap:26px;padding-top:56px;padding-bottom:44px}
.gaf-crumbs a{color:var(--plata)}.gaf-crumbs span{color:var(--alien)}

/* visor de cámara */
.gaf-viewfinder{display:block;position:relative;border:1px solid var(--linea);padding:16px}
.gaf-viewfinder::before,.gaf-viewfinder::after{content:"";position:absolute;width:28px;height:28px;pointer-events:none}
.gaf-viewfinder::before{top:-1px;left:-1px;border-top:1px solid var(--alien);border-left:1px solid var(--alien)}
.gaf-viewfinder::after{bottom:-1px;right:-1px;border-bottom:1px solid var(--alien);border-right:1px solid var(--alien)}
.gaf-cine{width:100%;aspect-ratio:2.39/1;object-fit:cover;object-position:50% 38%}
.gaf-vf-cap{display:flex;justify-content:space-between;gap:12px;padding-top:12px;font-size:11px}

/* foto principal con crédito de Instagram */
.gaf-vf-link{display:block}
.gaf-ig{position:absolute;top:32px;right:32px;display:inline-flex;align-items:center;gap:8px;background:rgba(15,15,14,.72);color:var(--papel)!important;padding:10px 14px;font-size:11px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.gaf-ig:hover{color:var(--tung)!important}
/* mosaico de rostros */
.gaf-faces{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:6px;aspect-ratio:3/2}
.gaf-faces img{width:100%;height:100%;object-fit:cover}
/* personas */
.gaf-people{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:40px 20px}
.gaf-person{display:flex;flex-direction:column;gap:8px}
.gaf-person img{transition:opacity .3s var(--ease)}
.gaf-person:hover img{opacity:.88}
.gaf-person-name{font-family:var(--display);font-weight:700;font-size:21px;line-height:1.15;margin-top:6px}
.gaf-person-role{color:var(--alien);font-size:16px;line-height:1.4}
.gaf-person .mono{font-size:10px}
.gaf-person-ph{display:flex;align-items:center;justify-content:center;border:1px dashed var(--linea)}
/* secciones */
.gaf-sec{padding-top:110px;padding-bottom:110px}
.gaf-sec-bottom{padding-bottom:96px}
.gaf-sec-bottom-s{padding-bottom:48px}
.gaf-paper{background:var(--papel);color:var(--tinta)}
.gaf-paper a{color:var(--tinta)}
.gaf-paper .mono{color:var(--gris-papel)}
.gaf-paper em{color:var(--gris-papel)}
.gaf-paper .gaf-lead{color:#2A2A28}
.gaf-paper .gaf-accent{color:var(--tung-claro)!important}
.gaf-sec-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;border-bottom:1px solid var(--tinta);padding-bottom:18px;margin-bottom:40px}
.gaf-sec-head-dark{border-color:var(--linea)}

/* tarjetas */
.gaf-cards{display:grid;gap:48px 32px}
.gaf-cards-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,520px),1fr))}
.gaf-cards-3{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:56px 28px}
.gaf-card{display:flex;flex-direction:column;gap:12px}
.gaf-card img{transition:opacity .3s var(--ease)}
.gaf-card:hover img{opacity:.88}
.gaf-card-title{font-family:var(--display);font-weight:700;font-size:30px;letter-spacing:-.015em;line-height:1.1}
.gaf-card-line{color:var(--gris-papel)}
.gaf-cards-3 .gaf-card-title{font-size:28px}
body.gaf:not(.x) .gaf-sec-bottom .gaf-card-line{color:var(--alien)}
.gaf-ratio-32{width:100%;aspect-ratio:3/2;object-fit:cover}
.gaf-ratio-43{width:100%;aspect-ratio:4/3;object-fit:cover}
.gaf-ratio-34{width:100%;aspect-ratio:3/4;object-fit:cover}
.gaf-ratio-11{width:100%;aspect-ratio:1/1;object-fit:cover}
.gaf-ratio-45{width:100%;aspect-ratio:4/5;object-fit:cover}
.gaf-ratio-1610{width:100%;aspect-ratio:16/10;object-fit:cover}

/* filas de Stories */
.gaf-rows{display:flex;flex-direction:column;padding-bottom:40px}
.gaf-row{display:flex;flex-wrap:wrap;gap:40px;align-items:center;padding:48px 0;border-top:1px solid var(--linea)}
.gaf-row>img{flex:1 1 560px;min-width:0;max-width:100%}
.gaf-row-rev{flex-direction:row-reverse}
.gaf-row-text{flex:1 1 360px;min-width:0;display:flex;flex-direction:column;gap:14px}
.gaf-row-title{font-family:var(--display);font-weight:700;font-size:44px;letter-spacing:-.02em;line-height:1.05}
.gaf-row-col{flex-direction:column;align-items:stretch;gap:24px}
.gaf-row-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px}
.gaf-row-head .gaf-row-text{max-width:640px;flex:0 1 640px}
.gaf-thumbs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:12px}

/* tira de retratos */
.gaf-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}

/* columnas */
.gaf-cols4,.gaf-cols3{display:grid;gap:0 32px;margin-top:48px}
.gaf-cols4{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.gaf-cols3{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.gaf-cols4>div,.gaf-cols3>div{border-top:1px solid var(--papel);padding:20px 0 28px;display:flex;flex-direction:column;gap:10px}
.gaf-cols4 p{color:var(--alien)}

/* clientes */
.gaf-clients{border-top:1px solid var(--linea);border-bottom:1px solid var(--linea)}
.gaf-clients-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:32px;padding-top:48px;padding-bottom:48px}
.gaf-logos{display:flex;flex-wrap:wrap;align-items:center;gap:64px}
.gaf-logos img{height:48px;width:auto}

/* estudio y contacto */
.gaf-studio{display:flex;flex-wrap:wrap;gap:56px;align-items:center}
.gaf-studio>img{flex:1 1 380px;min-width:0;max-width:100%}
.gaf-studio>div{flex:999 1 460px;min-width:0;display:flex;flex-direction:column;gap:22px}
.gaf-contact{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:48px}
.gaf-contact>div{flex:999 1 520px;min-width:0;display:flex;flex-direction:column;gap:20px}
.gaf-contact-list{flex:1 1 320px;min-width:0}
.gaf-contact-list div{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid #D6D5D1}
.gaf-contact-list div:first-child{border-top-color:var(--tinta)}
.gaf-contact-list div:last-child{border-bottom:1px solid #D6D5D1}
.gaf-contact-list dt{font-size:11px}

/* ficha */
.gaf-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:0 28px}
.gaf-facts>div{border-top:1px solid var(--papel);padding:14px 0}
.gaf-facts dt{font-size:11px}
.gaf-facts dd{margin-top:4px}

/* historia */
.gaf-story{display:flex;flex-wrap:wrap;gap:56px;padding-top:100px;padding-bottom:100px}
.gaf-story>.gaf-h2{flex:1 1 320px;min-width:0;font-size:clamp(34px,4vw,54px);line-height:1.04}
.gaf-story-text{flex:999 1 520px;min-width:0;display:flex;flex-direction:column;gap:20px;font-size:21px;line-height:1.6}
.gaf-story-text p+p{color:#2A2A28}
.gaf-embed{position:relative;aspect-ratio:16/9;background:#000}
.gaf-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.gaf-films{display:grid;gap:48px 32px;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr))}
.gaf-films figure{margin:0;display:flex;flex-direction:column;gap:14px}

/* fotos protegidas: sin menú de guardar ni arrastre */
body.gaf img{-webkit-touch-callout:none;-webkit-user-drag:none;user-select:none;-webkit-user-select:none}

/* galerías */
.gaf-gallery{columns:3 300px;column-gap:16px}
.gaf-gallery figure{break-inside:avoid;margin:0 0 24px;display:flex;flex-direction:column;gap:8px}
.gaf-zoom{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}
.gaf-zoom img{width:100%;height:auto;transition:opacity .3s var(--ease)}
.gaf-zoom:hover img{opacity:.88}
.gaf-gallery figcaption{display:flex;flex-direction:column;gap:2px}
.gaf-gallery figcaption .mono{font-size:10px}
.gaf-gallery figcaption .gaf-cap{font-size:15px;color:var(--alien)}
.gaf-copy-line{font-size:10px;color:var(--plata);letter-spacing:.04em}
.gaf-gallery figcaption .gaf-copy-line{margin-top:2px}
.gaf-vf-copy{display:block;text-align:right;padding-top:10px}

/* Portraits */
.gaf-index{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:0 28px;padding-top:16px}
.gaf-index a{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--linea)}
.gaf-chapter{padding-top:72px;padding-bottom:24px;display:flex;flex-direction:column;gap:28px;scroll-margin-top:24px}
.gaf-chapter-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;border-top:1px solid var(--papel);padding-top:20px}
.gaf-chapter-head>div{display:flex;flex-direction:column;gap:8px}
.gaf-chapter-head .gaf-h2{font-size:clamp(34px,4vw,52px)}
.gaf-credit{color:var(--alien);text-transform:none;letter-spacing:.04em}

/* pie */
.gaf-footer{border-top:1px solid var(--linea);margin-top:40px}
.gaf-footer-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:28px;padding-top:72px;padding-bottom:40px}
.gaf-next{display:flex;flex-direction:column;gap:6px}
.gaf-next-title{font-family:var(--display);font-weight:700;font-size:clamp(28px,3vw,40px);letter-spacing:-.02em}
.gaf-footer-logo{width:150px;height:auto}
.gaf-footer-end{display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.gaf-sign{font-style:italic;font-size:22px;color:var(--alien)}
.gaf-rights{font-size:11px;padding-bottom:8px}
.gaf-copy{padding-bottom:56px;font-size:11px}
.gaf-copy a{text-decoration:underline;text-underline-offset:3px}

/* 404 */
.gaf-404{min-height:60vh;display:flex;flex-direction:column;justify-content:center;gap:28px;padding-top:80px;padding-bottom:80px}
/* visor de fotos */
.gaf-lb{position:fixed;inset:0;z-index:50;background:rgba(15,15,14,.97);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px}
.gaf-lb[hidden]{display:none}
.gaf-lb img{max-width:100%;max-height:80vh;object-fit:contain}
.gaf-lb-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;width:100%;max-width:1100px}
.gaf-lb-bar p{display:flex;flex-direction:column;gap:2px;color:var(--alien);font-size:17px}
.gaf-lb-ctl{display:flex;gap:10px}
body.gaf-noscroll{overflow:hidden}

/* teléfono */
@media (max-width:760px){
 .wrap{padding-left:16px;padding-right:16px}
 .gaf-nav{gap:16px 20px}
 .gaf-sec{padding-top:72px;padding-bottom:72px}
 .gaf-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
 .gaf-row-rev{flex-direction:row}
 .gaf-row-title{font-size:34px}
 .gaf-viewfinder{padding:8px}
 .gaf-ig{top:16px;right:16px;padding:8px 10px}
 .gaf-people{grid-template-columns:repeat(2,minmax(0,1fr))}
 .gaf-cine{aspect-ratio:16/10}
 .gaf-gallery{columns:2 140px;column-gap:10px}
 .gaf-footer-end{align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){.gaf *{transition:none!important;scroll-behavior:auto!important}}
html:has(body.gaf){scroll-behavior:smooth}
