/* Wildjudi — original code, visual language inspired by the supplied reference site. */
:root{--bg:#fff;--fg:#0a0a0a;--muted:#777;--line:#dedede;--pad:clamp(18px,2.2vw,38px);--sans:Arial,Helvetica,"Helvetica Neue",sans-serif;--ease:cubic-bezier(.22,.61,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:16px;line-height:1.2;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}img,video{display:block;width:100%;height:100%;object-fit:cover}::selection{background:#111;color:#fff}
.site-header{position:fixed;z-index:50;top:0;left:0;width:100%;display:flex;justify-content:space-between;align-items:flex-start;padding:18px var(--pad);mix-blend-mode:difference;color:#fff;pointer-events:none}.site-header a,.site-header button{pointer-events:auto}.brand{font-size:18px;font-weight:700;letter-spacing:-.04em}.site-header nav{display:flex;gap:25px;font-size:15px}.site-header nav a,.site-footer a{position:relative}.site-header nav a:after,.site-footer a:after,.text-link:after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:1px;background:currentColor;transition:right .35s var(--ease)}.site-header nav a:hover:after,.site-footer a:hover:after,.text-link:hover:after{right:0}.menu-toggle{display:none;border:0;background:transparent;color:inherit;padding:0}.page-wipe{position:fixed;z-index:100;inset:0;background:#0a0a0a;transform:translateY(100%);pointer-events:none;transition:transform .55s var(--ease)}body.is-leaving .page-wipe{transform:translateY(0)}
main{min-height:70vh}.hero{min-height:100svh;padding:clamp(110px,15vh,170px) var(--pad) 30px;display:flex;flex-direction:column;justify-content:space-between}.hero h1,.page-hero h1,.contact-hero h1{margin:0;font-size:clamp(52px,8.8vw,154px);font-weight:400;letter-spacing:-.065em;line-height:.86;max-width:15ch}.hero-meta{display:flex;justify-content:space-between;text-transform:uppercase;font-size:11px;letter-spacing:.08em}
.intro-grid{padding:0 var(--pad) clamp(100px,14vw,220px);display:grid;grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr);gap:clamp(24px,8vw,150px);align-items:end}.intro-portrait{aspect-ratio:4/5;max-height:78vh;background:#eee;overflow:hidden}.intro-copy{padding-bottom:4vw}.intro-copy p{font-size:clamp(27px,4vw,67px);letter-spacing:-.05em;line-height:.98;margin:0 0 32px}.text-link{display:inline-block;position:relative;font-size:14px}
.work-section{padding:0 var(--pad) 120px}.section-kicker{display:flex;justify-content:space-between;border-top:1px solid var(--fg);padding:10px 0 28px;text-transform:uppercase;font-size:11px;letter-spacing:.08em}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(40px,7vw,120px) clamp(18px,2vw,34px)}.project-card:nth-child(4n+2){margin-top:9vw}.project-card:nth-child(4n+3){margin-top:-3vw}.project-media{position:relative;overflow:hidden;background:#f0f0f0;aspect-ratio:1.27/1}.project-card:nth-child(3n+2) .project-media{aspect-ratio:.88/1}.project-card:nth-child(5n) .project-media{aspect-ratio:1/1.18}.project-media img,.project-media video{transition:transform .8s var(--ease),filter .5s}.project-card:hover .project-media img,.project-card:hover .project-media video{transform:scale(1.025)}.project-title-row{display:flex;justify-content:space-between;gap:20px;padding-top:10px;font-size:14px}.project-title-row h2{font:inherit;margin:0}.project-title-row span{color:var(--muted);text-align:right}.project-card{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.project-card.is-visible{opacity:1;transform:none}.empty-media{width:100%;height:100%;display:grid;place-items:center;background:#f2f2f2;font-size:clamp(24px,4vw,62px);letter-spacing:-.05em;text-align:center;padding:30px}
.project-page{padding:clamp(110px,14vw,190px) var(--pad) 130px}.project-loading{min-height:70vh;font-size:18px}.project-head{display:grid;grid-template-columns:1.35fr .65fr;gap:5vw;align-items:start;margin-bottom:8vw}.project-head h1{font-size:clamp(55px,9.5vw,165px);font-weight:400;letter-spacing:-.07em;line-height:.82;margin:0}.project-info{padding-top:8px}.project-info p{font-size:clamp(20px,2.2vw,34px);letter-spacing:-.035em;line-height:1.04;margin:0 0 35px}.project-meta{display:grid;grid-template-columns:110px 1fr;font-size:12px;border-top:1px solid #111}.project-meta dt,.project-meta dd{margin:0;padding:8px 0;border-bottom:1px solid var(--line)}.project-meta dt{text-transform:uppercase;color:var(--muted)}.project-gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--pad) 18px}.gallery-item{grid-column:span 12;overflow:hidden;background:#f0f0f0}.gallery-item:nth-child(4n+2),.gallery-item:nth-child(4n+3){grid-column:span 6}.gallery-item img,.gallery-item video{height:auto;min-height:100%}.project-next{border-top:1px solid #111;margin-top:100px;padding-top:12px;display:flex;justify-content:space-between;align-items:end}.project-next a{font-size:clamp(42px,8vw,125px);letter-spacing:-.065em;line-height:.85}.project-next small{text-transform:uppercase;letter-spacing:.08em}
.text-page{padding:clamp(120px,15vw,200px) var(--pad) 120px}.page-hero{min-height:72vh;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:9vw}.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:.08em;margin:0 0 18px}.page-hero h1{max-width:14ch}.bio-block{display:grid;grid-template-columns:.85fr 1.15fr;gap:5vw;align-items:start;margin-bottom:13vw}.bio-image{aspect-ratio:4/5;background:#eee;overflow:hidden}.bio-block h2{font-size:14px;text-transform:uppercase;letter-spacing:.08em;margin:0 0 30px}.bio-block p{font-size:clamp(28px,4.2vw,69px);line-height:.98;letter-spacing:-.05em;margin:0}.timeline{margin-top:5vw}.timeline-row{display:grid;grid-template-columns:1fr 1.2fr 2.2fr;gap:20px;border-top:1px solid var(--line);padding:12px 0 42px}.timeline-row .period{text-transform:uppercase;font-size:11px;letter-spacing:.06em}.timeline-row h3{font-size:clamp(18px,2vw,30px);font-weight:400;margin:0;letter-spacing:-.03em}.timeline-row p{font-size:14px;margin:0;max-width:58ch;color:#333}.education{margin-top:10vw}
.contact-page{padding:clamp(120px,15vw,200px) var(--pad) 120px}.contact-hero{min-height:75vh;display:flex;flex-direction:column;justify-content:flex-end}.contact-hero h1{font-size:clamp(76px,14vw,220px);max-width:8ch;margin-bottom:45px}.big-mail{font-size:clamp(24px,4vw,65px);letter-spacing:-.04em;border-bottom:2px solid #111;align-self:flex-start}.contact-links{margin-top:13vw;border-top:1px solid #111}.contact-link{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:10px 0 18px;font-size:clamp(32px,6vw,90px);letter-spacing:-.055em}.contact-link span{font-size:14px;align-self:center;letter-spacing:0}.site-footer{margin:0 var(--pad);padding:16px 0 24px;border-top:1px solid #111;display:grid;grid-template-columns:repeat(4,max-content) 1fr;gap:20px;font-size:13px}.site-footer span:last-child{text-align:right}
[data-reveal]{opacity:0;transform:translateY(25px);transition:opacity .8s var(--ease),transform .8s var(--ease)}[data-reveal].is-visible{opacity:1;transform:none}.media-shell{position:relative}.media-shell:after{content:"";position:absolute;inset:0;background:#eee;transform-origin:left;transform:scaleX(1);transition:transform 1s var(--ease)}.media-shell.loaded:after{transform:scaleX(0)}
@media(max-width:760px){.site-header{padding-top:14px}.menu-toggle{display:block}.site-header nav{position:fixed;inset:0;background:#0a0a0a;color:#fff;mix-blend-mode:normal;display:flex;flex-direction:column;justify-content:flex-end;gap:0;padding:90px var(--pad) 35px;transform:translateY(-102%);transition:transform .55s var(--ease);z-index:-1}.site-header.menu-open nav{transform:none}.site-header nav a{font-size:clamp(49px,16vw,90px);line-height:.92;letter-spacing:-.06em}.hero{min-height:92svh;padding-top:105px}.hero h1{font-size:clamp(48px,15vw,87px)}.hero-meta{font-size:9px}.intro-grid,.bio-block,.project-head{grid-template-columns:1fr}.intro-grid{gap:32px;padding-bottom:110px}.intro-copy{padding:0}.project-grid{grid-template-columns:1fr;gap:55px}.project-card:nth-child(n){margin-top:0}.project-card:nth-child(even) .project-media{aspect-ratio:.88/1}.project-page{padding-top:115px}.project-head{margin-bottom:70px}.project-head h1{font-size:clamp(62px,20vw,105px)}.project-gallery{gap:16px}.gallery-item:nth-child(n){grid-column:span 12}.page-hero{min-height:62vh}.page-hero h1{font-size:clamp(50px,15vw,86px)}.bio-block{margin-bottom:100px}.timeline-row{grid-template-columns:1fr;gap:8px;padding-bottom:30px}.contact-hero h1{font-size:clamp(70px,24vw,125px)}.site-footer{grid-template-columns:1fr 1fr;gap:10px}.site-footer span:last-child{text-align:left}.project-next{display:block}.project-next small{display:block;margin-bottom:18px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* v3.2 — Home and Work are intentionally separate pages */
.home-intro{padding-bottom:clamp(120px,17vw,260px)}
.home-work-link{display:flex;justify-content:space-between;align-items:center;width:100%;border-top:1px solid currentColor;border-bottom:1px solid currentColor;padding:14px 0 18px;font-size:clamp(28px,4.5vw,72px);letter-spacing:-.05em;line-height:1}
.home-work-link span{font-size:.65em;transition:transform .35s var(--ease)}
.home-work-link:hover span{transform:translate(5px,-5px)}
.work-page{padding-top:clamp(110px,12vw,160px)}
.work-hero{padding:0 var(--pad) clamp(80px,10vw,150px)}
.work-hero h1{margin:0;font-size:clamp(75px,14vw,220px);font-weight:400;letter-spacing:-.07em;line-height:.78;max-width:7ch}
.work-hero-meta{display:flex;justify-content:space-between;align-items:end;margin-top:clamp(45px,7vw,100px);padding-top:10px;border-top:1px solid var(--fg);text-transform:uppercase;font-size:11px;letter-spacing:.08em}
@media(max-width:760px){.home-work-link{font-size:clamp(34px,11vw,60px)}.work-page{padding-top:105px}.work-hero{padding-bottom:80px}.work-hero h1{font-size:clamp(78px,25vw,130px)}}

/* v3.3 — Featured projects on the homepage */
.home-featured{padding-top:0;padding-bottom:clamp(110px,14vw,220px)}
.home-featured .featured-all-link{margin-top:clamp(70px,9vw,140px)}
.home-featured[hidden]{display:none}


/* v3.6 — PDF y páginas personalizadas */
.home-download-wrap{margin-top:14px}.home-download-wrap:empty{display:none}.home-download-link{cursor:pointer}.home-custom-pages{padding:0 var(--pad) clamp(110px,14vw,220px)}.home-custom-pages[hidden]{display:none}.home-page-links{border-top:1px solid #111}.home-page-link{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:12px 0 18px;font-size:clamp(38px,7vw,110px);letter-spacing:-.06em;line-height:.92}.home-page-link span:last-child{font-size:.38em;transition:transform .35s var(--ease)}.home-page-link:hover span:last-child{transform:translate(5px,-5px)}.custom-page{padding-bottom:140px}.custom-page-hero{min-height:auto;padding-top:clamp(34px,4vw,70px);padding-bottom:clamp(65px,7vw,110px)}.custom-page-cover{margin:0 0 clamp(80px,10vw,150px);width:100%;max-height:88vh;overflow:hidden}.custom-page-cover img{width:100%;height:auto;max-height:88vh;object-fit:cover}.custom-page-copy{display:grid;grid-template-columns:1fr 1fr;gap:6vw}.custom-page-intro{font-size:clamp(30px,4.6vw,75px);line-height:.96;letter-spacing:-.055em;margin:0}.custom-page-body{font-size:clamp(18px,1.8vw,28px);line-height:1.25;max-width:36em}.custom-page-body p{margin:0 0 1.1em}
@media(max-width:760px){.custom-page-copy{grid-template-columns:1fr;gap:45px}.home-page-link{font-size:clamp(40px,13vw,68px)}}

/* v3.6.1 — ajustes finales de PDF y páginas */
.home-download-link{margin-top:0}
.home-page-link[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .75s var(--ease),transform .75s var(--ease)}
.home-page-link[data-reveal].is-visible{opacity:1;transform:none}

/* v3.6.3 — PDF bajo Todos los trabajos + páginas personalizadas más compactas */
.custom-page.text-page{padding-top:clamp(90px,8vw,130px)}
.home-featured .home-download-wrap{margin-top:14px}
@media(max-width:760px){.custom-page.text-page{padding-top:90px}.custom-page-hero{padding-top:20px;padding-bottom:55px}}
