:root{--ink:#171717;--paper:#fff;--soft:#f4f3ef;--line:#e8e7e3;--accent:#d95537}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}
a{color:inherit}
.top{height:82px;padding:0 3.2vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);z-index:10}
.wordmark{text-decoration:none;font-size:1.05rem;font-weight:700;letter-spacing:-.03em}
.wordmark small{display:block;font-size:.6rem;text-transform:uppercase;letter-spacing:.14em;font-weight:500;margin-top:3px;color:#676767}
.top nav{display:flex;align-items:center;gap:25px}
.top nav a{text-decoration:none;font-size:.72rem;text-transform:uppercase;letter-spacing:.09em}
.lang{border:0;background:var(--soft);border-radius:30px;padding:8px 11px;font-size:.68rem;font-weight:700}
.intro{min-height:56vh;padding:7vw 7vw 6vw;display:flex;flex-direction:column;justify-content:center}
.kicker{text-transform:uppercase;letter-spacing:.18em;font-size:.66rem;font-weight:700;color:#666;margin:0 0 22px}
.intro h1,.project-hero h1{font-size:clamp(3.1rem,6vw,6.5rem);font-weight:500;letter-spacing:-.07em;line-height:.94;margin:0}
.intro-copy{font-size:1rem;line-height:1.6;max-width:470px;margin:35px 0 38px;color:#5d5d5d}
.arrow{text-decoration:none;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}
.story-ribbon{height:clamp(165px,18vw,235px);margin:0 3.2vw 18px;overflow:hidden;background:var(--soft)}
.story-ribbon img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 56%}
.project-index{padding:100px 7vw;display:grid;grid-template-columns:.75fr 1.25fr;gap:9vw;background:var(--soft);position:relative;overflow:hidden}
.project-index>div{position:relative;z-index:1}
.project-mascot{position:absolute;left:1.5vw;bottom:-24px;width:clamp(150px,18vw,290px);height:auto;z-index:0;opacity:.96;pointer-events:none}
.project-index h2{font-size:clamp(2.5rem,4.5vw,4.8rem);line-height:.96;letter-spacing:-.06em;font-weight:500;margin:0}
.project-list{border-top:1px solid var(--ink)}
.project-list>a,.project-list>div{display:grid;grid-template-columns:32px 68px 1fr;align-items:center;gap:18px;padding:16px 0;border-bottom:1px solid #d8d6d0;text-decoration:none}
.project-list>*>span:first-child,.project-list small{font-size:.69rem;color:#777}
.project-list b{font-size:.95rem}
.book-thumb{width:68px;height:88px;display:block;object-fit:contain;background:#fff}
.spread-thumb{object-fit:cover}
.type-cover{padding:9px;background:#c84f39;color:#fff!important;align-content:end;font-weight:700;line-height:1.05;letter-spacing:-.04em}
.type-cover span{font-size:.72rem!important;color:#fff!important}
.project-title{display:grid;gap:7px}
.project-title small{display:block;line-height:1.35}
.work-heading{padding:105px 7vw 35px;display:grid;grid-template-columns:.38fr 1fr;gap:8vw;align-items:end}
.work-heading .kicker{margin:0}
.work-heading h2{font-size:clamp(2.7rem,4.8vw,4.8rem);line-height:.94;letter-spacing:-.065em;font-weight:500;margin:0}
.work-heading>div>p{max-width:520px;margin:25px 0 0;color:#666;line-height:1.6}
.writing-heading{padding-top:150px}
.illustration-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 9px;padding:9px 9px 55px}
.illustration-card{min-width:0;margin:0;text-decoration:none;display:block}
.illustration-card img{display:block;width:100%;aspect-ratio:1;object-fit:cover;background:var(--soft)}
.illustration-meta{display:block;padding:13px 3px 0}
.illustration-meta b{display:block;font-size:.84rem;line-height:1.25}
.illustration-meta small{display:block;margin-top:5px;color:#777;font-size:.67rem;line-height:1.35}
.illustration-card img{transition:opacity .25s ease}
a.illustration-card:hover img{opacity:.9}
.work-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:9px;padding:9px}
.tile{grid-column:span 5;text-decoration:none;position:relative;background:var(--soft);overflow:hidden;min-height:470px}
.tile.hero-tile{grid-column:span 7}
.tile.wide{grid-column:span 12;min-height:520px}
.tile.panorama{grid-column:span 12;min-height:0;aspect-ratio:1779/884;margin:0}
.tile.panorama img{object-fit:cover}
.tile img{width:100%;height:100%;position:absolute;inset:0;object-fit:contain;background:var(--soft);transition:transform .5s}
.tile.book-art img{object-fit:contain;padding:8%;background:#f3f0e9}
.tile:hover img{transform:scale(1.012)}
.tile-meta{position:absolute;left:0;right:0;bottom:0;padding:70px 24px 22px;background:linear-gradient(transparent,rgba(0,0,0,.72));color:#fff}
.tile-meta b{display:block;font-size:1.1rem}
.tile-meta em{display:block;font-size:.72rem;font-style:normal;margin-top:5px;opacity:.8}
.book-strip{padding:130px 7vw;display:grid;grid-template-columns:.85fr 1.15fr;gap:10vw}
.book-strip h2,.about h2,footer h2{font-size:clamp(2.8rem,5vw,5.5rem);line-height:.95;letter-spacing:-.065em;font-weight:500;margin:0}
.book-list{border-top:1px solid var(--ink)}
.book-list a{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:14px;text-decoration:none;padding:25px 0;border-bottom:1px solid var(--line)}
.book-list span,.book-list small{font-size:.69rem;color:#777}
.book-list b{font-size:.95rem}
.image-run{display:grid;grid-template-columns:1.1fr .7fr 1.2fr;gap:9px;padding:9px}
.image-run{align-items:start}
.image-run img{width:100%;height:auto;object-fit:contain}
.about{padding:130px 7vw;display:grid;grid-template-columns:.38fr 1fr;gap:8vw}
.about>div{max-width:770px}
.about>div>p{font-size:1.15rem;line-height:1.7;color:#555;margin-top:35px}
.credentials{font-size:.8rem!important;border-top:1px solid var(--line);padding-top:22px}
footer{background:var(--ink);color:#fff;padding:90px 7vw;display:flex;justify-content:space-between;align-items:end;gap:50px}
footer div{display:grid;gap:10px;text-align:right;font-size:.82rem}
footer a{color:#fff}
[data-es]{display:none}
body.es [data-en]{display:none}
body.es [data-es]{display:initial}
.project-hero{padding:9vw 7vw 6vw}
.project-hero .lead{max-width:620px;color:#5b5b5b;line-height:1.65;margin:30px 0}
.project-cover{width:min(100%,1000px);max-height:720px;object-fit:contain;display:block;margin:0 auto;padding:30px 7vw;background:var(--soft)}
.project-cover.project-spread{width:100%;max-height:none;padding:9px;background:#fff}
.project-body{padding:100px 7vw;display:grid;grid-template-columns:.72fr 1.28fr;gap:10vw}
.facts{border-top:1px solid var(--ink)}
.facts p{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:14px 0;margin:0;font-size:.75rem}
.facts span{color:#777}
.project-copy h2{font-size:clamp(2rem,4vw,4rem);letter-spacing:-.055em;line-height:1;margin:0 0 25px}
.project-copy p{line-height:1.7;color:#555}
.project-gallery{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:9px}
.project-gallery img{width:100%;height:auto;object-fit:contain;background:var(--soft)}
.project-gallery .full{grid-column:span 2;height:auto}
.project-gallery .portrait{grid-column:span 2;width:min(100%,760px);justify-self:center;height:auto;background:#fff}
.project-process{padding:110px 7vw 48px;max-width:920px}
.project-process h2{font-size:clamp(2.2rem,4.8vw,5.2rem);line-height:.96;letter-spacing:-.055em;margin:20px 0 28px}
.project-process>p:last-child{max-width:650px;color:#666;font-size:1.02rem;line-height:1.65}
.sketch-gallery{padding-top:0}
.back{display:inline-block;margin-top:35px;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;text-decoration:none;border-bottom:1px solid}

@media(max-width:800px){.top{height:68px}
.top nav a{display:none}
.intro{min-height:60vh;padding:90px 22px}
.intro h1,.project-hero h1{font-size:3.4rem}
.story-ribbon{height:145px;margin:0 6px 6px}
.story-ribbon img{object-position:center}
.work-grid{display:block;padding:6px}
.work-heading{grid-template-columns:1fr;padding:85px 22px 30px;gap:22px}
.work-heading h2{font-size:3.4rem}
.illustration-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 6px;padding:6px 6px 35px}
.illustration-meta{padding:10px 4px 0}
.illustration-meta b{font-size:.76rem}
.illustration-meta small{font-size:.62rem}
.writing-heading{padding-top:100px}
.project-index{grid-template-columns:1fr;padding:75px 22px;gap:45px}
.project-mascot{width:145px;left:auto;right:-18px;bottom:-12px;opacity:.22}
.project-list>a,.project-list>div{grid-template-columns:24px 58px 1fr;gap:13px}
.book-thumb{width:58px;height:76px}
.project-list small{display:none}
.tile,.tile.hero-tile,.tile.wide{display:block;min-height:430px;margin-bottom:6px}
.tile.panorama{min-height:0;aspect-ratio:1779/884}
.book-strip,.about,.project-body{grid-template-columns:1fr;padding:85px 22px}
.book-list{margin-top:20px}
.book-list a{grid-template-columns:30px 1fr}
.book-list small{display:none}
.image-run{grid-template-columns:1fr}
.image-run img{height:auto}
.about{gap:35px}
footer{display:block;padding:70px 22px}
footer div{text-align:left;margin-top:35px}
.project-hero{padding:90px 22px 55px}
.project-gallery{grid-template-columns:1fr}
.project-gallery img,.project-gallery .full{grid-column:span 1;height:auto}
.project-gallery .portrait{grid-column:span 1;width:100%}
.project-process{padding:78px 22px 35px}
}
