@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');
:root{--bg:#090909;--fg:#f2f1ed;--muted:#9a9a9a;--line:#252525;--max:1440px;--pad:clamp(1.25rem,4vw,4.5rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{margin:0;background:var(--bg);color:var(--fg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto}button{font:inherit}.shell{width:min(100%,var(--max));margin:0 auto;padding-inline:var(--pad)}
.site-header{position:fixed;inset:0 0 auto;z-index:50;transition:background .5s,backdrop-filter .5s,border-color .5s;border-bottom:1px solid transparent}.site-header.scrolled,.site-header.menu-open{background:rgba(9,9,9,.9);backdrop-filter:blur(10px);border-color:var(--line)}.nav{height:5.25rem;display:flex;align-items:center;justify-content:space-between}.brand{font-size:.9rem;font-weight:700;letter-spacing:.08em}.nav-links{display:flex;gap:2.25rem;font-size:.76rem;letter-spacing:.15em}.nav-links a,.text-link{transition:color .25s}.nav-links a:hover,.nav-links a:focus-visible,.text-link:hover,.text-link:focus-visible{color:#fff}.menu-button{display:none;border:0;background:none;color:var(--fg);width:2.75rem;height:2.75rem;padding:0;cursor:pointer}.menu-button span{display:block;width:1.35rem;height:1px;background:currentColor;margin:.35rem auto;transition:transform .3s,opacity .3s}.menu-button[aria-expanded="true"] span:first-child{transform:translateY(.175rem) rotate(45deg)}.menu-button[aria-expanded="true"] span:last-child{transform:translateY(-.175rem) rotate(-45deg)}
.nav-links{margin-left:auto}.language-toggle{border:0;background:none;color:var(--muted);padding:0;margin-left:2.25rem;cursor:pointer;font-size:.72rem;letter-spacing:.12em}.language-toggle span{transition:color .2s}.language-toggle .lang-en,html[lang="es"] .language-toggle .lang-es{color:var(--fg)}html[lang="es"] .language-toggle .lang-en{color:var(--muted)}.language-toggle:focus-visible{outline:1px solid var(--fg);outline-offset:.4rem}
.home-hero{min-height:96svh;display:flex;align-items:center;padding-top:5rem}.home-hero h1{font-size:clamp(3rem,8vw,8.2rem);line-height:.9;letter-spacing:-.065em;margin:0;max-width:11ch}.role{margin:1.8rem 0 .4rem;font-size:.82rem;letter-spacing:.18em}.hero-statement{font-size:clamp(1.15rem,2vw,1.65rem);color:var(--muted);max-width:38rem;margin:0}.scroll-mark{position:absolute;bottom:2rem;font-size:.67rem;color:var(--muted);letter-spacing:.2em;writing-mode:vertical-rl}
.section{padding-block:clamp(5rem,10vw,9rem);border-top:1px solid var(--line)}.eyebrow{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:0 0 2rem}.work{padding-top:3rem}.project-block{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(17rem,.7fr);gap:clamp(2rem,5vw,6rem);align-items:end;padding-block:clamp(3rem,7vw,7rem);border-top:1px solid var(--line)}.project-block:first-of-type{border-top:0}.project-image{overflow:hidden;background:#111}.project-image img{aspect-ratio:16/9;object-fit:cover;transition:transform .7s ease}.project-block:hover .project-image img{transform:scale(1.015)}.count{font-size:.72rem;color:var(--muted);letter-spacing:.18em}.project-copy h2{font-size:clamp(2rem,4vw,4.3rem);line-height:.96;letter-spacing:-.045em;margin:1rem 0}.meta{color:var(--muted);font-size:.9rem}.tagline{font-size:clamp(1.05rem,1.7vw,1.35rem);max-width:25rem;margin:1.6rem 0 2rem}.text-link{display:inline-block;font-size:.76rem;letter-spacing:.17em;border-bottom:1px solid #666;padding-bottom:.35rem}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,10vw,10rem);align-items:start}.split h2,.contact-banner h2{font-size:clamp(2.7rem,6vw,6.5rem);line-height:.92;letter-spacing:-.055em;margin:0}.lead{font-size:clamp(1.2rem,2vw,1.65rem);line-height:1.45;max-width:38rem;margin:0 0 2rem}.recognition-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4rem}.recognition h3{font-size:1.25rem;margin:0 0 2rem}.award{border-top:1px solid var(--line);padding:1.25rem 0}.award p{margin:0}.award span{color:var(--muted);font-size:.86rem}.contact-banner{display:flex;justify-content:space-between;align-items:end;gap:3rem}.contact-copy{max-width:34rem}.contact-copy p{color:var(--muted);margin:1.5rem 0 2rem}.signature{margin-top:4rem;font-size:.85rem}.signature span{display:block;color:var(--muted)}
.project-hero{min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;padding-top:8rem}.project-hero-image{width:100%;height:min(59vw,72vh);min-height:28rem;object-fit:cover}.project-title{padding-block:clamp(2rem,4vw,4rem);display:grid;grid-template-columns:1.5fr .7fr;gap:2rem;align-items:end}.project-title h1{font-size:clamp(2.8rem,7vw,7.5rem);line-height:.88;letter-spacing:-.06em;margin:0}.project-title .tagline{margin:1rem 0 0}.content-grid{display:grid;grid-template-columns:minmax(10rem,.55fr) minmax(0,1.45fr);gap:clamp(3rem,9vw,9rem)}.prose{max-width:48rem}.prose p{font-size:clamp(1.05rem,1.5vw,1.25rem);margin:0 0 1.5rem}.logline{font-size:clamp(1.65rem,3vw,3rem)!important;line-height:1.3;letter-spacing:-.025em}.rules{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}.rule{background:var(--bg);padding:clamp(2rem,5vw,5rem)}.rule strong{display:block;font-size:clamp(2rem,4vw,4.5rem);line-height:1;letter-spacing:-.04em;margin-top:3rem}.rule span{color:var(--muted);font-size:.8rem}.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(.8rem,2vw,2rem)}.gallery figure{margin:0;grid-column:span 7}.gallery figure:nth-child(even){grid-column:6/span 7}.gallery img{aspect-ratio:16/9;object-fit:cover}.gallery figure.portraitish img{aspect-ratio:3/2}.big-statement{font-size:clamp(2.8rem,7vw,7rem);line-height:.98;letter-spacing:-.055em;margin:0;max-width:11ch}.characters{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line)}.character{background:var(--bg);padding:2rem}.character h3{font-size:1.4rem;margin:0 0 .5rem}.character p{color:var(--muted);margin:0}.status{display:flex;justify-content:space-between;gap:3rem;align-items:end}.status p{max-width:38rem;font-size:1.15rem}.cta-email{font-size:clamp(1.6rem,4vw,4rem);line-height:1.1;border-bottom:1px solid currentColor;padding-bottom:.2rem}.about-photo{min-height:34rem;border:1px solid var(--line);overflow:hidden;background:#0d0d0d}.about-page{padding-top:10rem}.about-heading h1{font-size:clamp(3.2rem,8vw,8rem);line-height:.9;letter-spacing:-.06em;margin:0}.about-heading p{color:var(--muted);letter-spacing:.16em}.bio p{font-size:clamp(1.05rem,1.45vw,1.22rem);margin:0 0 1.4rem}.contact-page{min-height:100svh;display:flex;align-items:center;padding-top:8rem}.contact-page h1{font-size:clamp(4rem,11vw,11rem);line-height:.8;letter-spacing:-.07em;margin:0 0 4rem}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:4rem}.contact-details p{margin:0;color:var(--muted)}.email-big{font-size:clamp(1.5rem,3.8vw,3.8rem);border-bottom:1px solid currentColor;word-break:break-word}.footer{border-top:1px solid var(--line);padding:2rem 0;color:var(--muted);font-size:.75rem}.footer .shell{display:flex;justify-content:space-between;gap:2rem}
.reveal{opacity:0;transform:translateY(12px);transition:opacity .6s ease,transform .6s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:800px){.nav{height:4.5rem}.nav-links{position:absolute;top:4.5rem;left:0;right:0;display:none;flex-direction:column;padding:2rem var(--pad) 2.5rem;background:rgba(9,9,9,.97);border-top:1px solid var(--line);gap:1.4rem}.nav-links.open{display:flex}.menu-button{display:block}.home-hero{min-height:92svh}.scroll-mark{display:none}.project-block{grid-template-columns:1fr}.project-copy{padding-right:1rem}.split,.recognition-grid,.project-title,.content-grid,.contact-details{grid-template-columns:1fr}.contact-banner,.status{align-items:flex-start;flex-direction:column}.project-hero{min-height:auto}.project-hero-image{height:60svh;min-height:24rem}.project-title{padding-bottom:4rem}.rules{grid-template-columns:1fr}.gallery{display:block}.gallery figure{margin-bottom:1rem}.characters{grid-template-columns:1fr 1fr}.about-photo{min-height:26rem;order:-1}.contact-page{padding-block:9rem 5rem}.footer .shell{flex-direction:column;gap:.5rem}}
@media(max-width:480px){.characters{grid-template-columns:1fr}.project-hero-image{height:52svh}.home-hero h1{font-size:3.55rem}.section{padding-block:4.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.project-image img{transition:none}}

/* Final editorial refinements */
.contact-banner h2{font-size:clamp(2.7rem,5.4vw,5.5rem)}
.contact-page h1{font-size:clamp(4rem,7.4vw,7rem)}

/* Contact form */
.contact-page{align-items:flex-start;padding-block:clamp(9rem,14vw,12rem) clamp(5rem,10vw,9rem)}.contact-details{align-items:start}.contact-form{display:grid;gap:2rem}.form-field{position:relative}.form-field label{display:block;margin-bottom:.55rem;color:var(--muted);font-size:.7rem;letter-spacing:.17em;text-transform:uppercase}.form-field label span{letter-spacing:.08em}.form-field input,.form-field select,.form-field textarea{display:block;width:100%;border:0;border-bottom:1px solid #4a4a4a;border-radius:0;padding:.55rem 0 .8rem;background:transparent;color:var(--fg);font:inherit;outline:none;transition:border-color .2s}.form-field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 10px) 50%,calc(100% - 5px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:1.5rem}.form-field select option{background:#111;color:var(--fg)}.form-field textarea{resize:vertical;min-height:9rem}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--fg)}.form-field [aria-invalid="true"]{border-color:#d76a6a}.field-error{display:block;min-height:1.2rem;padding-top:.35rem;color:#e58a8a;font-size:.75rem}.form-honeypot{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important;white-space:nowrap!important}.contact-filter{font-size:.8rem!important;line-height:1.55;color:var(--muted);max-width:42rem}.form-submit{justify-self:start;border:0;border-bottom:1px solid #666;border-radius:0;padding:0 0 .35rem;background:none;color:var(--fg);font-size:.76rem;letter-spacing:.17em;cursor:pointer}.form-submit:disabled{cursor:wait;opacity:.55}.form-status{border-top:1px solid var(--line);padding-top:1.2rem}.form-status strong,.form-status span{display:block}.form-status strong{letter-spacing:.12em}.form-status span{margin-top:.35rem;color:var(--muted)}.form-status.error{color:#e58a8a}@media(max-width:800px){.contact-details{gap:4.5rem}.contact-form{gap:1.6rem}}
.gallery figure.repair-inset{grid-column:2/span 5;max-width:487px;justify-self:start}
.gallery figure.repair-inset img{aspect-ratio:487/274}
.poster-concept{display:grid;grid-template-columns:minmax(10rem,.55fr) minmax(0,1.45fr);gap:clamp(3rem,9vw,9rem);align-items:start}
.poster-concept-frame{width:min(100%,32rem);margin:0;justify-self:start}
.poster-open{display:block;width:100%;padding:0;border:0;background:none;color:inherit;cursor:zoom-in}
.poster-open img{display:block;width:100%;height:auto;object-fit:contain;box-shadow:0 1.5rem 4rem rgba(0,0,0,.28);transition:transform .35s ease,box-shadow .35s ease}
.poster-open:hover img,.poster-open:focus-visible img{transform:translateY(-.25rem);box-shadow:0 2rem 5rem rgba(0,0,0,.42)}
.poster-open:focus-visible{outline:1px solid var(--fg);outline-offset:.5rem}
.poster-dialog{width:min(92vw,58rem);max-width:none;height:min(94vh,82rem);max-height:none;padding:0;border:0;background:transparent;color:var(--fg);overflow:visible}
.poster-dialog::backdrop{background:rgba(0,0,0,.92);backdrop-filter:blur(6px)}
.poster-expanded{display:block;width:100%;height:100%;object-fit:contain}
.poster-close{position:fixed;top:1.25rem;right:1.25rem;width:2.75rem;height:2.75rem;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:rgba(0,0,0,.65);color:#fff;font:300 1.5rem/1 Arial,sans-serif;cursor:pointer;z-index:2}
.materials-section{padding-top:0}.materials-section .status{border-top:1px solid var(--line);padding-top:clamp(2rem,4vw,4rem)}
@media(max-width:800px){.gallery figure.repair-inset{max-width:487px}.poster-concept{grid-template-columns:1fr}.poster-concept-frame{width:min(100%,30rem)}}

/* Refined editorial scale */
.nav-links{font-size:.84rem}
.eyebrow{font-size:.8rem}
.project-title h1{font-size:clamp(2.85rem,6.15vw,5.75rem)}
.logline{font-size:clamp(1.55rem,2.55vw,2.375rem)!important}
.prose p{font-size:clamp(1.05rem,1.4vw,1.25rem)}
.contact-page h1{font-size:clamp(4rem,8.5vw,8.5rem)}
main:not(.home-page):not(.about-page):not(.contact-page) .section{padding-block:clamp(6.25rem,7.5vw,7rem)}
.project-block .project-copy{min-width:20rem}
.project-block:first-of-type .project-copy h2{font-size:clamp(1.9rem,3.45vw,3.85rem)}
.about-photo img{object-fit:contain;background:#090909}

/* Genpets facts — compact editorial rows */
.genpets-facts-section{padding-block:5rem!important}
.genpets-facts{border-bottom:1px solid var(--line)}
.genpets-fact{display:grid;grid-template-columns:clamp(4.5rem,8vw,7.5rem) minmax(0,1fr);align-items:center;min-height:6rem;border-top:1px solid var(--line)}
.genpets-fact span{color:var(--muted);font-size:.8rem;letter-spacing:.18em}
.genpets-fact strong{font-size:clamp(3rem,4vw,3.75rem);font-weight:600;line-height:1;letter-spacing:-.04em;white-space:nowrap}

@media(max-width:1100px){
  .genpets-fact{min-height:5.5rem}
  .genpets-fact strong{font-size:clamp(2.375rem,4.2vw,2.875rem)}
}

@media(max-width:800px){
  .language-toggle{margin-left:auto;margin-right:.4rem}
  .nav-links{font-size:.88rem}
  .eyebrow{font-size:.8rem}
  .project-title h1{font-size:clamp(2.75rem,12vw,3rem)}
  .logline{font-size:clamp(1.5rem,6.5vw,1.625rem)!important}
  .prose p{font-size:1.0625rem}
  main:not(.home-page):not(.about-page):not(.contact-page) .section{padding-block:clamp(4.5rem,12vw,5.5rem)}
  .project-block .project-copy{min-width:0}
  .genpets-facts-section{padding-block:4.5rem!important}
  .genpets-fact{grid-template-columns:3.25rem minmax(0,1fr);min-height:4.75rem}
  .genpets-fact strong{font-size:clamp(1.75rem,7.5vw,2.125rem);white-space:normal}
}

.contact-banner h2{font-size:clamp(2.7rem,5.4vw,5.5rem)}
.contact-page h1{font-size:clamp(4rem,7.4vw,7rem)}
