:root{--paper:#f4f2e9;--ink:#20231e;--olive:#68734d;--muted:#63665c;--column:calc((100% - 30px)/3 + 30px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.7 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--olive);outline-offset:6px}.shell{max-width:1560px;padding:0 6vw;margin:auto}header{display:flex;justify-content:flex-end;padding:26px 0 0;min-height:50px}nav{display:flex;gap:22px;font-size:13px}nav a:hover,nav a[aria-current]{text-decoration:underline;text-underline-offset:7px}.hero{--signature-height:clamp(120px,12vw,166px);padding:30px 0 60px;position:relative}.hero h1{font-family:Georgia,'Times New Roman',serif;font-size:calc(var(--signature-height)/2);font-weight:400;line-height:1;letter-spacing:-.035em;white-space:nowrap;width:var(--column);margin:32px 0 28px;text-align:left}.hero h1 span{display:block}.portrait{position:absolute;right:0;top:62px;width:var(--signature-height);height:var(--signature-height);object-fit:cover;border-radius:50%;filter:grayscale(1)}.motto{margin-top:30px;margin-inline-start:var(--column)}blockquote{margin:0;font:italic 17px/1.7 Georgia,serif;letter-spacing:-.025em}cite{font:14px/1.7 Arial,sans-serif;display:block;margin-top:14px;color:var(--muted)}.section.editorial{display:grid;grid-template-columns:1fr 2fr;gap:30px;padding-bottom:85px}h2,h3{font-size:17px;line-height:1.7;letter-spacing:0}h2{font-weight:500;margin:0;color:var(--olive)}h3{font-weight:700;margin:0 0 6px}p{margin:0 0 20px}.project{display:block;padding:0 0 38px;overflow-wrap:anywhere}.project p{margin:0 0 8px;color:var(--muted)}.project h3:after{content:' ';font-weight:400;color:var(--olive)}.project:hover h3{text-decoration:underline;text-underline-offset:5px}.date{display:block;text-align:start;color:var(--muted)}.ai-section{background:var(--ink);color:var(--paper);padding:55px 6vw!important;margin:0 -6vw 85px}.ai-section h2{color:#c4ceaf}.ai-section h3{margin:0 0 20px}.ai-items{display:grid;gap:17px}.detail{padding:65px 0 80px}.back{display:inline-block;margin-bottom:45px;color:var(--olive)}.back:hover{text-decoration:underline}.detail h1{font-size:34px;line-height:1.25;font-weight:500;max-width:1100px;margin:25px 0 45px;overflow-wrap:anywhere}.eyebrow{color:var(--olive)}.detail-meta{display:grid;grid-template-columns:1fr 2fr;gap:30px;margin-bottom:45px}.detail-meta h2{margin-bottom:10px}.detail-copy{max-width:900px;margin-bottom:55px}.detail-copy p{line-height:1.8}html[dir=rtl] header{direction:ltr}html[dir=rtl] .hero h1{margin-inline-start:0;text-align:right}html[dir=rtl] .portrait{right:auto;left:0}html[dir=rtl] .date{text-align:right}html[dir=rtl] .project h3:after{content:' '}
/* Keep the background bleed and matching padding paired at every desktop width. */
@media(max-width:700px){.shell{padding:0 24px}header{padding-top:20px}.hero{--signature-height:clamp(86px,24vw,120px);padding:30px 0 55px}.hero h1{font-size:calc(var(--signature-height)/2);width:72%;margin:24px 0}.hero .portrait{top:54px}.motto{margin-inline-start:0;margin-top:22px}.section.editorial{grid-template-columns:1fr;gap:25px;padding-bottom:55px}.ai-section{padding:35px 24px!important;margin:0 -24px 85px}.detail{padding-top:35px}.detail h1{font-size:30px}.detail-meta{grid-template-columns:1fr;gap:12px}}
@media(max-width:700px){.project h3:after,html[dir=rtl] .project h3:after{content:none;display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Full-width colour bands, independent of the aligned content grid. */
body{overflow-x:clip}
.ai-section,.shell:has(.hero)>header,.hero{position:relative;isolation:isolate}
.ai-section::before,.shell:has(.hero)>header::before,.hero::before{content:'';position:absolute;z-index:-1;inset-block:0;left:50%;width:100vw;transform:translateX(-50%);background:var(--ink);pointer-events:none}
.shell:has(.hero)>header,.hero{color:var(--paper)}
.shell:has(.hero)>header nav a[aria-current],.hero cite{color:#c4ceaf}
.shell:has(.hero)>header a:focus-visible{outline-color:#c4ceaf}
.hero{margin-bottom:60px}
.project-sub-link{text-decoration:none;text-underline-offset:4px;text-decoration-color:var(--olive)}.project-sub-link:hover{color:var(--olive);text-decoration:underline}
.project h3.project-group-title:after,html[dir=rtl] .project h3.project-group-title:after{content:none;display:none}.project:hover h3.project-group-title{text-decoration:none}
.project-story .project-master img{height:clamp(155px,23vw,300px);aspect-ratio:auto;object-fit:cover;object-position:50% 52%;filter:saturate(.75)}.project-story .kc-master img{object-position:50% 100%}.project-story .project-master{margin-bottom:30px}.project-story .story-lead{margin-bottom:24px}
.project-story{max-width:1240px;margin-inline:auto}.project-story h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(32px,4.2vw,62px);letter-spacing:-.025em;margin-bottom:18px}.story-lead{color:var(--muted);font-size:clamp(18px,2vw,23px);max-width:760px;margin-bottom:38px}.project-master{margin:0 0 45px}.project-master img{display:block;width:100%;height:auto;aspect-ratio:1449/1086;object-fit:contain}.project-master figcaption{font-size:13px;line-height:1.6;color:var(--muted);padding-top:12px;max-width:850px}.project-story .detail-copy{max-width:820px}.story-intro{font-size:20px}.story-section{margin-top:36px}.story-section h2{font-size:20px;font-weight:600;margin-bottom:12px}.story-return{display:flex;flex-wrap:wrap;gap:15px 36px}.story-return .back{margin-bottom:0}@media(max-width:700px){.project-story .back{margin-bottom:28px}.project-master{margin-bottom:30px}.story-intro{font-size:18px}.story-section{margin-top:28px}}
