:root {
  --paper:#e4ded0; --paper-2:#c2c0be; --ink:#19090a; --muted:#714248;
  --white:#f7f3ea; --acid:#918958; --line:rgba(25,9,10,.24);
  --line-dark:rgba(247,243,234,.3); --gutter:clamp(1rem,3.2vw,3.4rem);
  --sans:Arial,Helvetica,sans-serif; --serif:Georgia,"Times New Roman",serif;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.45 var(--sans);text-rendering:optimizeLegibility} img{display:block;max-width:100%} a{color:inherit} button,summary{font:inherit} ::selection{background:var(--acid);color:var(--ink)}
.skip-link{position:fixed;z-index:200;left:1rem;top:-5rem;padding:.7rem 1rem;background:var(--white);color:var(--ink);border-radius:999px}.skip-link:focus{top:1rem}.section-label,.meta{margin:0;text-transform:uppercase;letter-spacing:.14em;font-size:.73rem}
.site-header{position:fixed;z-index:100;inset:0 0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:1rem var(--gutter);color:var(--white);transition:transform .35s,color .25s,background .25s,backdrop-filter .25s}.site-header.is-hidden{transform:translateY(-110%)}.site-header.is-light{color:var(--ink);background:rgba(243,240,234,.82);backdrop-filter:blur(12px)}.wordmark{text-decoration:none;font-weight:700;letter-spacing:-.035em}.site-header nav{display:flex;gap:clamp(.8rem,2vw,2rem)}.site-header nav a{text-decoration:none;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid transparent}.site-header nav a:hover,.site-header nav a:focus-visible{border-color:currentColor}.header-year{justify-self:end;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}
.hero{position:relative;min-height:100svh;overflow:hidden;background:var(--ink);color:var(--white);padding:6rem var(--gutter) 2rem}.hero-title{position:absolute;z-index:1;inset:5rem var(--gutter) auto;display:flex;justify-content:space-between;font-size:clamp(5rem,15vw,14rem);font-weight:800;line-height:.78;letter-spacing:-.09em;text-transform:uppercase}.hero-media{position:absolute;z-index:2;inset:14vh 12vw 12vh;margin:0;overflow:hidden;background:#332820;clip-path:inset(0 round .15rem)}.hero-media img{width:100%;height:112%;object-fit:cover;object-position:center 48%;transform:translateY(var(--hero-shift,0)) scale(1.02)}.hero-meta{position:absolute;z-index:3;left:var(--gutter);bottom:2rem;display:flex;gap:2rem}.hero-meta p{margin:0;max-width:18rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em}.hero-thesis{position:absolute;z-index:3;right:var(--gutter);bottom:2rem;width:min(29rem,38vw);margin:0;font:clamp(1.1rem,2vw,1.9rem)/1.08 var(--serif)}.scroll-cue{position:absolute;z-index:3;right:var(--gutter);top:50%;writing-mode:vertical-rl;text-decoration:none;text-transform:uppercase;letter-spacing:.13em;font-size:.68rem}
.declaration{padding:clamp(6rem,12vw,12rem) var(--gutter) 3rem}.display-statement{max-width:16ch;margin:4rem 0 8rem;font:clamp(3.2rem,8vw,8.8rem)/.92 var(--sans);font-weight:650;letter-spacing:-.07em}.display-statement em{font-family:var(--serif);font-weight:400}.context-strip{display:flex;justify-content:space-between;gap:1rem;padding-top:1rem;border-top:1px solid var(--line);font-size:.73rem;text-transform:uppercase;letter-spacing:.1em}
.method{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,6vw,8rem);padding:clamp(6rem,10vw,9rem) var(--gutter);background:var(--ink);color:var(--white)}.method-intro{position:sticky;top:8rem;align-self:start}.method-intro h2{margin:1rem 0 2rem;font-size:clamp(3.8rem,7vw,8rem);line-height:.84;letter-spacing:-.075em}.method-intro>p:last-child{max-width:30rem;color:#c8c0b8}.method-steps{margin:0;padding:0;list-style:none}.method-steps li{display:grid;grid-template-columns:3.5rem 1fr;gap:1rem;min-height:28vh;padding:2rem 0;border-top:1px solid var(--line-dark);opacity:.36;transition:opacity .35s}.method-steps li.is-visible{opacity:1}.method-steps li>span{font-size:.75rem}.method-steps h3{margin:0;font:clamp(3rem,7vw,8rem)/.86 var(--serif);font-weight:400;letter-spacing:-.055em}.method-steps p{max-width:27rem;margin:1.2rem 0 0;font-size:1.05rem;color:#d4cec7}
.selected,.explorations,.archive,.profile{padding:clamp(6rem,10vw,9rem) var(--gutter)}.selected-heading h2,.explorations>h2,.archive-head h2,.profile-title h2{margin:1rem 0 4rem;font-size:clamp(3.5rem,8vw,8.5rem);line-height:.86;letter-spacing:-.07em}.selected-layout{display:grid;grid-template-columns:.74fr 1.26fr;gap:clamp(2rem,5vw,5rem);align-items:start}.selected-preview{position:sticky;top:7rem;height:68vh;overflow:hidden;background:var(--ink)}.selected-preview img{width:100%;height:100%;object-fit:cover;transition:opacity .18s,transform .5s}.selected-preview span{position:absolute;left:1rem;bottom:.8rem;color:var(--white);font-size:5rem;font-weight:700;letter-spacing:-.08em}.selected-preview.is-empty{background:var(--acid)}.selected-preview.is-empty::after{content:"EVIDENCIA VISUAL PENDIENTE";position:absolute;inset:1.2rem;display:grid;place-items:center;text-align:center;font-size:clamp(1.2rem,2.2vw,2rem);letter-spacing:.08em}.project-list{border-top:1px solid var(--line)}.project-row{display:grid;grid-template-columns:2.5rem minmax(12rem,1fr) minmax(13rem,.8fr) auto;gap:1rem;align-items:center;min-height:9rem;padding:1rem 0;border-bottom:1px solid var(--line);text-decoration:none}.project-row strong{display:block;font:clamp(2rem,4.2vw,4.9rem)/.9 var(--serif);font-weight:400;letter-spacing:-.05em}.project-row small{display:block;margin-top:.6rem;text-transform:uppercase;letter-spacing:.08em}.project-row em{max-width:24rem;font-style:normal;color:var(--muted)}.project-row .arrow{font-size:1.8rem;transition:transform .2s}.project-row:hover .arrow,.project-row:focus-visible .arrow{transform:translate(4px,-4px)}.project-row.is-active strong{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}
.explorations{background:var(--paper-2)}.exploration-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem;align-items:start}.exploration-card{grid-column:span 4;margin:0}.exploration-card.exploration-wide{grid-column:span 7}.exploration-card.exploration-tall{grid-column:span 5}.exploration-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.exploration-wide img{aspect-ratio:16/9}.exploration-tall img{aspect-ratio:3/4;object-fit:contain;background:#d4cec3}.exploration-card div{display:grid;grid-template-columns:3rem 1fr;gap:.2rem 1rem;padding-top:.8rem}.exploration-card span{grid-row:1/3;font-size:.72rem}.exploration-card h3{margin:0;font:2rem/1 var(--serif);font-weight:400}.exploration-card p{margin:.45rem 0 0;color:var(--muted)}
.archive{background:var(--white)}.archive-head{display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;align-items:end}.archive-head h2{margin-bottom:0}.archive-head>p{max-width:31rem;margin:0 0 .5rem;font:1.35rem/1.25 var(--serif)}.filters{display:flex;gap:.55rem;overflow:auto;padding:3rem 0 1.5rem}.filters button{flex:0 0 auto;padding:.65rem .9rem;border:1px solid var(--ink);border-radius:999px;background:transparent;cursor:pointer}.filters button.is-active{background:var(--ink);color:var(--white)}.archive-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;align-items:start}.archive-card{position:relative;display:block;min-width:0;padding:0;border:0;background:none;color:inherit;text-align:left;text-decoration:none;cursor:pointer}.archive-card[hidden]{display:none}.archive-card img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:saturate(.82);transition:filter .25s,transform .35s}.archive-card:hover img{filter:saturate(1);transform:scale(.988)}.archive-card.tall img{aspect-ratio:3/4;object-fit:contain;background:var(--paper-2)}.archive-card.large{grid-column:span 2}.archive-card.large img,.archive-card.wide img{aspect-ratio:16/9}.archive-card.wide{grid-column:span 2}.archive-card>div{padding:.6rem 0 1.4rem}.archive-card h3{margin:0;font:1.45rem/1.05 var(--serif);font-weight:400}.archive-card p{margin:.3rem 0 0;font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.text-card{min-height:20rem;padding:1rem;border:1px solid var(--line);background:var(--paper)}.text-card>div{display:flex;flex-direction:column;height:100%;padding:0}.text-card span,.text-card small{text-transform:uppercase;letter-spacing:.08em;font-size:.68rem}.text-card h3{margin:auto 0 .5rem;font-size:clamp(2rem,3.4vw,3.7rem)}.text-card small{margin-top:1rem;color:var(--muted)}.accent-card{background:var(--acid)}.archive-count{margin:2rem 0 0;text-align:right;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}
.profile{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,6vw,8rem);background:var(--paper)}.profile-title h2{max-width:8ch}.bio{max-width:28ch;margin:5rem 0;font:clamp(1.7rem,3.2vw,3.5rem)/1.12 var(--serif);letter-spacing:-.025em}.profile-groups{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.profile-groups section{border-top:1px solid var(--line);padding-top:.8rem}.profile-groups h3{margin:0 0 .6rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em}.profile-groups p{margin:0;color:var(--muted)}
.contact{min-height:95svh;display:flex;flex-direction:column;padding:clamp(6rem,10vw,9rem) var(--gutter) 2rem;background:var(--ink);color:var(--white)}.contact h2{margin:2rem 0;font-size:clamp(5rem,15vw,15rem);line-height:.76;letter-spacing:-.09em}.contact>p:not(.section-label){max-width:34rem;font:clamp(1.5rem,2.8vw,3rem)/1.1 var(--serif)}.contact-links{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:3rem}.contact-links a,.contact-links span{padding:.7rem .9rem;border:1px solid var(--line-dark);border-radius:999px;text-decoration:none}.contact footer{display:flex;justify-content:space-between;margin-top:auto;padding-top:6rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}
.project-dialog{width:min(92vw,74rem);max-width:none;padding:0;border:0;background:var(--white);color:var(--ink);box-shadow:0 2rem 8rem rgba(0,0,0,.45)}.project-dialog::backdrop{background:rgba(16,13,12,.78);backdrop-filter:blur(8px)}.dialog-close{position:absolute;z-index:2;right:1rem;top:1rem;width:2.6rem;height:2.6rem;border:1px solid var(--ink);border-radius:50%;background:var(--white);cursor:pointer;font-size:1.5rem}.project-dialog[open]{display:grid;grid-template-columns:1.1fr .9fr}.dialog-media:empty{display:none}.dialog-media img{width:100%;height:min(78vh,50rem);object-fit:contain;background:var(--paper-2)}.dialog-copy{align-self:end;padding:clamp(2rem,4vw,4rem)}.dialog-copy>p:first-child{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}.dialog-copy h2{margin:1rem 0;font:clamp(3rem,6vw,6rem)/.88 var(--serif);font-weight:400;letter-spacing:-.055em}.dialog-copy>p:last-child{font-size:1.08rem}
.experience-dialog{width:min(96vw,92rem);max-width:none;height:min(94vh,72rem);padding:0;border:0;background:var(--ink);color:var(--white);box-shadow:0 2rem 8rem rgba(0,0,0,.55)}.experience-dialog::backdrop{background:rgba(16,13,12,.82);backdrop-filter:blur(8px)}.experience-dialog[open]{display:grid;grid-template-rows:auto 1fr}.experience-toolbar{display:flex;align-items:center;gap:1rem;min-height:3.8rem;padding:.55rem .75rem .55rem 1rem;border-bottom:1px solid var(--line-dark)}.experience-toolbar p{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;text-transform:uppercase;letter-spacing:.1em}.experience-toolbar a{margin-left:auto;color:inherit;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.experience-toolbar button{flex:0 0 auto;width:2.5rem;height:2.5rem;border:1px solid var(--line-dark);border-radius:50%;background:transparent;color:inherit;cursor:pointer;font-size:1.5rem}.experience-dialog iframe{width:100%;height:100%;border:0;background:var(--white)}
/* Case study pages */
.case-body{background:var(--paper)}.case-hero{position:relative;min-height:100svh;display:grid;align-items:end;overflow:hidden;background:var(--ink);color:var(--white)}.case-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.68}.case-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,22,20,.88),rgba(25,22,20,.18) 75%),linear-gradient(0deg,rgba(25,22,20,.65),transparent 50%)}.case-hero-copy{position:relative;z-index:2;max-width:82rem;padding:8rem var(--gutter) 3rem}.back-link{display:inline-flex;margin-bottom:3rem;text-decoration:none;border-bottom:1px solid currentColor}.case-hero h1{margin:.8rem 0 1.5rem;max-width:11ch;font:clamp(4rem,10vw,10rem)/.82 var(--serif);font-weight:400;letter-spacing:-.07em}.case-hero p:last-child{max-width:48rem;font-size:clamp(1.05rem,1.6vw,1.3rem)}.case-section{padding:clamp(5rem,9vw,9rem) var(--gutter);border-bottom:1px solid var(--line)}.case-grid{display:grid;grid-template-columns:.55fr 1.45fr;gap:clamp(2rem,6vw,7rem)}.case-grid h2{margin:0;font-size:clamp(2.8rem,5.5vw,6rem);line-height:.88;letter-spacing:-.06em}.case-text{max-width:48rem;font:clamp(1.35rem,2.4vw,2.5rem)/1.18 var(--serif)}.media-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;margin-top:3rem}.media-grid.three{grid-template-columns:repeat(3,1fr)}.image-button{display:block;width:100%;padding:0;overflow:hidden;border:0;background:transparent;cursor:zoom-in}.image-button img{width:100%;height:100%;min-height:14rem;aspect-ratio:4/3;object-fit:cover;transition:transform .35s}.image-button:hover img{transform:scale(1.018)}.media-grid.portrait img,.media-grid.technical img{object-fit:contain;background:var(--paper-2)}.case-quote{background:var(--ink);color:var(--white)}.case-quote blockquote{max-width:27ch;margin:0;font:clamp(2.1rem,5vw,5.5rem)/1.04 var(--serif)}.next-case{display:flex;justify-content:space-between;align-items:end;gap:1rem;color:inherit;text-decoration:none}.next-case span{font-size:.74rem;text-transform:uppercase;letter-spacing:.12em}.next-case strong{max-width:11ch;text-align:right;font:clamp(2.4rem,5vw,5.5rem)/.9 var(--serif);font-weight:400}.catalog-group+.catalog-group{margin-top:5rem}.catalog-group h3{font:clamp(2rem,3vw,3.5rem)/1 var(--serif);font-weight:400}.catalog-pages{display:grid;grid-template-columns:repeat(4,1fr);gap:.65rem}.catalog-pages img{aspect-ratio:595/842!important;min-height:0!important;object-fit:cover!important;background:#fff}.evidence-note{padding:1rem;border:1px solid currentColor;background:var(--acid);color:var(--ink)}.zoom-dialog{width:min(94vw,92rem);max-width:none;height:min(92vh,70rem);padding:0;border:0;background:rgba(19,12,9,.98);color:var(--white)}.zoom-dialog::backdrop{background:rgba(13,8,6,.78);backdrop-filter:blur(7px)}.zoom-dialog img{width:100%;height:100%;padding:2.7rem 1rem 1rem;object-fit:contain}.zoom-dialog button{position:absolute;z-index:2;top:.7rem;right:.7rem;width:2.4rem;height:2.4rem;border:1px solid var(--line-dark);border-radius:50%;background:var(--ink);color:var(--white);cursor:pointer}
.experience-cover{position:relative;display:block;width:min(100%,48rem);margin:clamp(3rem,7vw,6rem) auto 0;padding:0;overflow:hidden;border:0;background:var(--ink);color:var(--white);cursor:pointer;text-align:left}.experience-cover img{width:100%;object-fit:cover;transition:transform .4s,filter .3s}.experience-cover.portrait-cover{width:min(100%,38rem)}.experience-cover.portrait-cover img{aspect-ratio:2481/3508}.experience-cover.square-cover img{aspect-ratio:1/1;object-fit:contain;background:#fff}.experience-cover span{position:absolute;inset:auto 1rem 1rem;display:flex;justify-content:space-between;align-items:center;padding:.9rem 1rem;background:rgba(25,22,20,.92);font-size:.76rem;text-transform:uppercase;letter-spacing:.1em}.experience-cover b{font-size:1.25rem;font-weight:400}.experience-cover:hover img,.experience-cover:focus-visible img{transform:scale(1.012);filter:brightness(.82)}.viraje-hero>img{object-fit:contain;background:#fff;opacity:1}.viraje-hero::after{background:linear-gradient(90deg,rgba(25,22,20,.9),rgba(25,22,20,.08) 68%),linear-gradient(0deg,rgba(25,22,20,.55),transparent 52%)}
@media (max-width:950px){.site-header{grid-template-columns:1fr auto}.header-year{display:none}.hero-title{font-size:clamp(4rem,17vw,9rem)}.hero-media{inset:18vh 5vw 18vh}.hero-thesis{width:48vw}.method,.selected-layout,.profile{grid-template-columns:1fr}.method-intro,.selected-preview{position:relative;top:auto}.method-intro{padding-bottom:3rem}.selected-preview{height:62vw}.project-row{grid-template-columns:2.5rem 1fr auto}.project-row em{display:none}.archive-grid{grid-template-columns:repeat(3,1fr)}.archive-head{grid-template-columns:1fr}.exploration-card,.exploration-card.exploration-tall{grid-column:span 6}.exploration-card.exploration-wide{grid-column:span 12}.case-grid{grid-template-columns:1fr}.catalog-pages{grid-template-columns:repeat(3,1fr)}}
@media (max-width:650px){.site-header{padding:.85rem 1rem}.wordmark{max-width:6ch;line-height:.9}.site-header nav{gap:.7rem;overflow:auto}.site-header nav a{font-size:.67rem}.hero{padding-inline:1rem}.hero-title{inset:5.5rem 1rem auto;display:block;font-size:20vw}.hero-title span{display:block}.hero-title span:last-child{text-align:right}.hero-media{inset:24vh 1rem 27vh}.hero-meta{left:1rem;right:1rem;bottom:1rem;display:block}.hero-meta p{margin-top:.35rem}.hero-thesis{right:1rem;bottom:6rem;width:calc(100% - 2rem);font-size:1.15rem}.scroll-cue{display:none}.declaration,.method,.selected,.explorations,.archive,.profile,.contact,.case-section{padding-left:1rem;padding-right:1rem}.display-statement{margin:3rem 0 5rem}.context-strip{justify-content:flex-start;overflow:auto}.context-strip span{white-space:nowrap}.method-steps li{min-height:23vh}.selected-preview{height:78vw}.project-row{min-height:7.5rem}.project-row strong{font-size:2rem}.project-row small{font-size:.63rem}.exploration-grid{display:block}.exploration-card{margin-bottom:2rem}.exploration-card img,.exploration-wide img{aspect-ratio:4/3}.archive-grid{grid-template-columns:1fr 1fr}.archive-card.large,.archive-card.wide{grid-column:span 2}.archive-card.large img,.archive-card.wide img{aspect-ratio:4/3}.text-card{min-height:14rem}.profile-groups{grid-template-columns:1fr}.contact footer{flex-direction:column;gap:.6rem}.project-dialog[open]{grid-template-columns:1fr}.dialog-media img{height:42vh}.dialog-copy{padding:1.5rem}.experience-dialog{width:100vw;height:100dvh}.experience-toolbar p{max-width:34vw}.experience-toolbar a{font-size:.62rem}.case-hero-copy{padding-left:1rem;padding-right:1rem}.media-grid,.media-grid.three{grid-template-columns:1fr}.catalog-pages{grid-template-columns:repeat(2,1fr)}.next-case{align-items:start;flex-direction:column}.next-case strong{text-align:left}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}}

/* Palette translated from the supplied graphic references: burgundy, warm grey, ivory and olive. */
.site-header.is-light{background:rgba(228,222,208,.86)}
.hero-media{background:#3b1b1d}
.method-intro>p:last-child{color:#b7b3b1}
.method-steps p{color:#c2c0be}
.exploration-tall img{background:#b7b3b1}
.project-dialog::backdrop{background:rgba(25,9,10,.8)}
.experience-dialog::backdrop{background:rgba(25,9,10,.84)}
.case-hero::after{background:linear-gradient(90deg,rgba(25,9,10,.9),rgba(25,9,10,.2) 75%),linear-gradient(0deg,rgba(25,9,10,.68),transparent 50%)}
.zoom-dialog{background:rgba(25,9,10,.98)}
.zoom-dialog::backdrop{background:rgba(25,9,10,.8)}
.experience-cover span{background:rgba(25,9,10,.94)}
.viraje-hero::after{background:linear-gradient(90deg,rgba(25,9,10,.92),rgba(25,9,10,.09) 68%),linear-gradient(0deg,rgba(25,9,10,.58),transparent 52%)}

/* The full name stays inside the viewport and moves above the image once scrolling begins. */
.hero-title{inset:5rem var(--gutter) auto;font-size:clamp(4.5rem,11.5vw,11rem);transform:translateY(var(--hero-title-shift,0));will-change:transform;color:var(--white);transition:color .25s,text-shadow .25s}
.hero.is-scrolled .hero-title{z-index:4;text-shadow:0 .08em .3em rgba(25,9,10,.78),0 1px 0 rgba(25,9,10,.55)}
@media (max-width:950px){.hero-title{font-size:clamp(4rem,14.5vw,8.5rem)}}
@media (max-width:650px){.hero-title{inset:5.5rem 1rem auto;font-size:18vw}}

/* Project covers: distinct title and description zones keep the image visible. */
.case-hero{display:grid;align-items:stretch}
.case-hero>img{opacity:.76}
.case-hero::after{background:linear-gradient(90deg,rgba(25,9,10,.72),rgba(25,9,10,.08) 62%),linear-gradient(0deg,rgba(25,9,10,.72),transparent 44%)}
.case-hero-copy{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,30rem);grid-template-rows:auto 1fr auto auto;width:100%;max-width:none;min-height:100svh;padding:7rem var(--gutter) 2.5rem;column-gap:clamp(2rem,7vw,8rem)}
.case-hero .back-link{grid-column:1;grid-row:1;justify-self:start;margin:0}
.case-hero .meta{grid-column:1;grid-row:3;align-self:end;margin-bottom:.9rem}
.case-hero h1{grid-column:1;grid-row:4;align-self:end;margin:0;max-width:12ch;font-size:clamp(4rem,7.8vw,8.5rem);line-height:.82}
.case-hero p:last-child{grid-column:2;grid-row:4;align-self:end;max-width:30rem;margin:0;padding-top:1rem;border-top:1px solid var(--line-dark);font-size:clamp(.95rem,1.15vw,1.1rem);line-height:1.45}
@media (max-width:950px){.case-hero-copy{grid-template-columns:minmax(0,1fr) minmax(16rem,23rem)}.case-hero h1{font-size:clamp(4rem,9vw,7rem)}}
@media (max-width:650px){.case-hero-copy{grid-template-columns:1fr;grid-template-rows:auto 1fr auto auto auto;min-height:100svh;padding:6rem 1rem 1.25rem}.case-hero .meta{grid-column:1;grid-row:3;margin-bottom:.65rem}.case-hero h1{grid-column:1;grid-row:4;font-size:clamp(3.6rem,18vw,6rem)}.case-hero p:last-child{grid-column:1;grid-row:5;margin-top:1.1rem;padding-top:.8rem;font-size:.95rem}}

/* Editorial image sequence: full frames that expand as they cross the viewport. */
.case-section .media-grid,.case-section .media-grid.three{display:flex;flex-direction:column;align-items:stretch;gap:clamp(3rem,10vh,7.5rem);margin-top:clamp(4rem,8vw,7rem);overflow:visible}
.case-section .media-grid .image-button{--scroll-scale:.84;width:min(78vw,72rem);transform:scale(var(--scroll-scale));transition:transform .12s linear;will-change:transform}
.case-section .media-grid .image-button:nth-child(odd){align-self:flex-start;transform-origin:left center}
.case-section .media-grid .image-button:nth-child(even){align-self:flex-end;transform-origin:right center}
.case-section .media-grid .image-button img,.case-section .media-grid.portrait .image-button img,.case-section .media-grid.technical .image-button img{width:auto;max-width:100%;height:auto;max-height:84vh;min-height:0;margin:auto;aspect-ratio:auto;object-fit:contain;background:transparent;transform:none}
.case-section .media-grid .image-button:hover img{transform:none}
@media (max-width:650px){.case-section .media-grid,.case-section .media-grid.three{gap:3.5rem;margin-top:3rem}.case-section .media-grid .image-button{width:100%;transform-origin:center}.case-section .media-grid .image-button img,.case-section .media-grid.portrait .image-button img,.case-section .media-grid.technical .image-button img{max-height:none}}
@media (prefers-reduced-motion:reduce){.case-section .media-grid .image-button{--scroll-scale:1;transition:none}}

/* Preserve project artwork and keep exploration captions in a clear text stack. */
.exploration-card img,.exploration-wide img,.exploration-tall img{object-fit:contain;background:var(--paper)}
.exploration-card div{display:block;padding-top:1rem}
.exploration-card h3{margin:0;font:clamp(1.8rem,2.3vw,2.5rem)/1.02 var(--serif);font-weight:400}
.exploration-card p{max-width:38ch;margin:.55rem 0 0;line-height:1.4;color:var(--muted)}
.archive-card img,.archive-card.large img,.archive-card.wide img,.archive-card.tall img{object-fit:contain;background:var(--paper-2)}

/* Editorial mosaic for sections 04 and 05: natural artwork, varied scale and no coloured image frames. */
.exploration-grid,.archive-grid{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;align-items:start;gap:clamp(1.25rem,2vw,2.4rem)}
.exploration-card,.archive-card{align-self:start;background:transparent!important;overflow:visible}
.exploration-card{grid-column:span 5}
.exploration-card.exploration-wide{grid-column:span 7}
.exploration-card.exploration-tall{grid-column:span 5}
.exploration-card:nth-child(4){grid-column:span 7}
.archive-card{grid-column:span 5}
.archive-card.large{grid-column:span 7}
.archive-card.wide{grid-column:span 8}
.archive-card.tall{grid-column:span 4}
.exploration-card img,.exploration-wide img,.exploration-tall img,.archive-card img,.archive-card.large img,.archive-card.wide img,.archive-card.tall img{display:block;width:100%;height:auto;max-height:none;margin:0;aspect-ratio:auto!important;object-fit:contain;background:none!important}
.exploration-card>div,.archive-card>div{background:transparent}
@media (max-width:950px){.exploration-card,.exploration-card.exploration-tall,.exploration-card.exploration-wide,.exploration-card:nth-child(4),.archive-card,.archive-card.large,.archive-card.wide,.archive-card.tall{grid-column:span 6}}
@media (max-width:650px){.exploration-grid{display:block}.exploration-card{margin-bottom:2.5rem}.archive-grid{grid-template-columns:1fr}.archive-card,.archive-card.large,.archive-card.wide,.archive-card.tall{grid-column:span 1}}

/* Homepage field film: reached after the hero and position statement. */
.field-film{min-height:100svh;padding:clamp(5rem,8vw,8rem) var(--gutter) clamp(3rem,6vw,6rem);background:var(--ink);color:var(--white)}
.field-film-head{display:grid;grid-template-columns:minmax(9rem,.42fr) minmax(0,1.58fr);gap:clamp(2rem,6vw,8rem);align-items:start;margin-bottom:clamp(2.5rem,5vw,5rem)}
.field-film-head h2{max-width:12ch;margin:0;font:clamp(3.2rem,7vw,8rem)/.86 var(--serif);font-weight:400;letter-spacing:-.06em}
.field-film-media{display:grid;justify-items:center;margin:0}
.field-film-media video{display:block;width:min(100%,43.8vh);height:auto;max-height:78vh;aspect-ratio:404/720;background:transparent;object-fit:contain}
.field-film-media figcaption{display:flex;width:min(100%,43.8vh);justify-content:flex-start;margin-top:.8rem;color:#c2c0be;font-size:.72rem;text-transform:uppercase;letter-spacing:.11em}
@media (max-width:650px){.field-film{padding-left:1rem;padding-right:1rem}.field-film-head{grid-template-columns:1fr;gap:1.5rem}.field-film-head h2{font-size:clamp(3rem,15vw,5.5rem)}.field-film-media figcaption{justify-content:flex-start;max-width:30rem;line-height:1.5}}

/* Editorial identity inspired by the supplied Jolie Adams reference. */
:root{
  --paper:#d2d2c6;
  --paper-2:#9d9d9d;
  --ink:#151515;
  --muted:#5d603d;
  --white:#eeede6;
  --acid:#757151;
  --wine:#481818;
  --line:rgba(21,21,21,.34);
  --line-dark:rgba(241,239,231,.34);
  --sans:"Helvetica Neue",Helvetica,Arial,sans-serif;
  --serif:"Bodoni 72","Bodoni MT",Didot,"Didot LT STD","Times New Roman",serif;
}
body{background:var(--paper);color:var(--ink);font-family:var(--sans)}
::selection{background:var(--acid);color:var(--white)}
.wordmark{font-family:var(--serif);font-size:1.2rem;font-weight:400;letter-spacing:-.035em}
.section-label,.meta,.site-header nav a,.header-year,.hero-meta p,.context-strip,.filters button,.archive-card p,.experience-toolbar,.contact footer{font-family:var(--sans);font-weight:500;letter-spacing:.12em}
.hero-title,.display-statement,.method-intro h2,.selected-heading h2,.explorations>h2,.archive-head h2,.profile-title h2,.contact h2,.case-grid h2,.case-hero h1,.project-row strong,.exploration-card h3,.archive-card h3,.dialog-copy h2,.next-case strong{font-family:var(--serif);font-weight:400;letter-spacing:-.055em}
.hero-title{font-size:clamp(4.25rem,11vw,10.5rem);line-height:.78;text-transform:uppercase}
.display-statement{font-weight:400;line-height:.9;letter-spacing:-.055em}
.display-statement em{font-style:italic}
.method-intro h2,.selected-heading h2,.explorations>h2,.archive-head h2,.profile-title h2{font-weight:400;letter-spacing:-.06em}
.method,.contact,.case-quote{background:var(--ink);color:var(--white)}
.hero{background:var(--ink);color:var(--white)}
.hero-media{background:var(--acid)}
.site-header.is-light{background:rgba(210,210,198,.9);color:var(--ink)}
.explorations{background:var(--acid);color:var(--ink)}
.explorations .section-label,.exploration-card p{color:var(--ink)}
.archive{background:var(--white)}
.profile,.case-body{background:var(--paper)}
.project-row,.profile-groups section,.case-section{border-color:var(--line)}
.project-row em,.archive-card p,.bio+*,.profile-groups p{color:var(--muted)}
.filters button{border-radius:0;border-color:var(--ink);background:transparent}
.filters button.is-active{background:var(--acid);color:var(--ink)}
.selected-preview.is-empty,.accent-card,.evidence-note{background:var(--acid)}
.project-dialog{background:var(--white)}
.project-dialog::backdrop,.experience-dialog::backdrop,.zoom-dialog::backdrop{background:rgba(27,28,24,.84)}
.zoom-dialog,.experience-dialog{background:var(--ink)}
.experience-cover span{background:rgba(27,28,24,.94)}
.case-hero::after{background:linear-gradient(90deg,rgba(27,28,24,.84),rgba(27,28,24,.12) 68%),linear-gradient(0deg,rgba(27,28,24,.68),transparent 52%)}
.viraje-hero::after{background:linear-gradient(90deg,rgba(27,28,24,.9),rgba(27,28,24,.08) 68%),linear-gradient(0deg,rgba(27,28,24,.58),transparent 52%)}
@media (max-width:950px){.hero-title{font-size:clamp(3.9rem,14vw,8rem)}}
@media (max-width:650px){.hero-title{font-size:17vw}.wordmark{font-size:1.05rem}}

/* Keep the introductory statement in its own dark band below the hero image. */
.hero-media{bottom:clamp(12rem,26vh,17rem)}
.hero-thesis{bottom:2rem;width:min(42rem,55vw);font-size:clamp(1rem,1.65vw,1.5rem);line-height:1.12}
@media (max-width:950px){
  .hero-media{bottom:clamp(13rem,30vh,18rem)}
  .hero-thesis{width:min(34rem,62vw);font-size:clamp(1rem,2.15vw,1.35rem)}
}
@media (max-width:650px){
  .hero-media{bottom:clamp(16rem,38vh,21rem)}
  .hero-thesis{right:1rem;bottom:5.5rem;width:calc(100% - 2rem);font-size:1.05rem;line-height:1.16}
}

/* Burgundy editorial emphasis for the phrases that carry the main idea. */
.display-statement em{color:var(--wine);font-family:var(--serif);font-style:italic;font-weight:400}
.project-row em{max-width:28rem;color:var(--wine);font-family:var(--serif);font-size:clamp(1.1rem,1.65vw,1.55rem);font-style:italic;line-height:1.08;letter-spacing:-.025em}
.case-quote{background:var(--wine)}
.case-quote blockquote{font-style:italic}
.filters button.is-active{background:var(--wine);color:var(--white)}
@media (max-width:950px){.project-row em{display:none}}
