:root{--blue:#0b5cff;--black:#0a0a0a;--white:#fff;--muted:#666;--line:#d8d8d8;--pad:clamp(1.25rem,4vw,4.5rem);font-family:Manrope,Arial,sans-serif;color:var(--black);background:var(--white);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;transition:background .3s,color .3s}a{color:inherit;text-decoration:none}img{display:block;width:100%}.skip-link{position:fixed;left:1rem;top:-5rem;background:var(--blue);color:#fff;padding:.8rem;z-index:99}.skip-link:focus{top:1rem}.site-header{height:88px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:10}.brand{font-size:1.45rem;font-weight:700;letter-spacing:-.06em}.brand-dot{color:var(--blue)}nav{display:flex;gap:clamp(1rem,3vw,2.5rem);font-size:.83rem;font-weight:600}nav a,.site-footer a{transition:color .2s}nav a:hover,.site-footer a:hover{color:var(--blue)}.hero{min-height:65vh;padding:clamp(5rem,12vw,10rem) var(--pad) 4rem;display:grid;grid-template-columns:1fr minmax(14rem,25rem);gap:3rem;align-content:center}.hero h1{font-size:clamp(3.1rem,8vw,8.2rem);line-height:.91;letter-spacing:-.075em;max-width:1100px;margin:.2em 0;grid-column:1/-1;font-weight:600}.eyebrow{font-family:"DM Mono",monospace;text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;margin:0 0 1rem;color:var(--muted)}.hero-note{font-family:"DM Mono",monospace;font-size:.74rem;line-height:1.7;grid-column:2}.project-grid{padding:0 var(--pad) 10vw;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,5vw,6rem) clamp(1.2rem,3vw,3rem)}.project-card:nth-child(3n+1){grid-column:span 2}.card-image{aspect-ratio:16/10;overflow:hidden;background:#e9e9e9}.project-card:not(:nth-child(3n+1)) .card-image{aspect-ratio:1}.project-card img,.project-card .placeholder{transition:transform .55s cubic-bezier(.2,.7,.2,1)}.project-card:hover img,.project-card:hover .placeholder{transform:scale(1.025)}.card-copy{display:flex;justify-content:space-between;gap:2rem;padding-top:1.2rem}.card-copy h2{font-size:clamp(1.25rem,2.2vw,2rem);letter-spacing:-.045em;margin:0}.arrow{font-size:1.5rem;transition:transform .2s}.project-card:hover .arrow{transform:translate(4px,-4px);color:var(--accent)}.placeholder{width:100%;height:100%;min-height:15rem;background:linear-gradient(135deg,#ededed,#dcdcdc);display:grid;place-items:center;overflow:hidden;position:relative;color:#777}.placeholder:before{content:"";position:absolute;width:45%;aspect-ratio:1;border:1px solid currentColor;border-radius:50%;opacity:.25}.placeholder span{font-family:"DM Mono",monospace;text-transform:uppercase;letter-spacing:.08em;font-size:.65rem;padding:1rem;text-align:center;z-index:1}.site-footer{padding:3rem var(--pad);border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:.78rem}.dark{background:#050505;color:#f7f7f7;--line:#2b2b2b;--muted:#9c9c9c}.dark .brand-dot{color:var(--accent,var(--blue))}.case-hero{min-height:58vh;padding:4rem var(--pad);display:flex;flex-direction:column;justify-content:flex-end}.case-hero h1,.page-head h1{font-size:clamp(3.4rem,10vw,10rem);line-height:.88;letter-spacing:-.075em;margin:.12em 0 0;max-width:1400px}.back{font-family:"DM Mono",monospace;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:auto;color:var(--muted)}.case-banner{height:min(72vw,850px)}.case-banner .placeholder{background:linear-gradient(135deg,#101010,#202020);color:#747474}.video-slot{aspect-ratio:16/9;max-width:1180px;margin:clamp(5rem,10vw,10rem) auto;padding:0 var(--pad)}.video-slot iframe{width:100%;height:100%;border:0}.video-slot .placeholder{background:#151515;color:#777}.case-intro{padding:clamp(5rem,12vw,11rem) var(--pad);display:grid;grid-template-columns:repeat(12,1fr)}.case-intro p{grid-column:4/11;font-size:clamp(1.5rem,3.3vw,3rem);line-height:1.3;letter-spacing:-.04em;margin:0}.case-section{padding:clamp(4rem,8vw,8rem) var(--pad);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}.section-number{grid-column:1/2;font-family:"DM Mono",monospace;color:var(--accent);font-size:.7rem}.section-content{grid-column:4/13}.section-content h2{font-size:clamp(2rem,4.5vw,4.5rem);line-height:1;letter-spacing:-.055em;margin:0 0 2rem}.section-content>p{font-size:clamp(1rem,1.5vw,1.3rem);line-height:1.75;max-width:760px;color:#c7c7c7}.wide-media{aspect-ratio:16/8;margin-top:4rem;background:#151515}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:4rem}.gallery .placeholder{aspect-ratio:16/10;background:#151515}.credits{margin:3rem 0 0}.credits div{display:grid;grid-template-columns:1fr 2fr;border-top:1px solid var(--line);padding:1rem 0}.credits dt{color:var(--muted)}.credits dd{margin:0}.next-project{margin:4rem var(--pad) 8rem;padding:2rem 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:clamp(1.5rem,3vw,3rem)}.page-head{padding:clamp(7rem,14vw,13rem) var(--pad) 5rem}.writing-list{padding:0 var(--pad) 8rem}.writing-item{border-top:1px solid var(--line);padding:3rem 0;display:grid;grid-template-columns:2fr 1fr;gap:clamp(2rem,8vw,9rem);align-items:center}.writing-copy h2{font-size:clamp(2rem,5vw,5rem);letter-spacing:-.06em;line-height:.95;margin:.3em 0}.writing-copy>p:not(.eyebrow){color:var(--muted);max-width:38rem;line-height:1.7}.writing-copy a{display:inline-block;margin-top:2rem;color:var(--blue);font-weight:600}.book-cover{aspect-ratio:3/4;min-height:auto}.about{min-height:calc(100vh - 88px);padding:clamp(7rem,15vw,14rem) var(--pad) 5rem}.about h1{font-size:clamp(2.5rem,6.8vw,7rem);letter-spacing:-.065em;line-height:1.02;max-width:1350px;margin:.3em 0 2em}.about-meta{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:1.5rem}.about-meta a{color:var(--blue)}.reveal{animation:rise .7s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--delay,0ms)}@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@media(max-width:700px){.site-header{height:72px}.hero{min-height:72vh;padding-top:5rem;display:block}.hero h1{margin:2rem 0 4rem}.hero-note{margin-left:35%}.project-grid{display:block}.project-card{display:block;margin-bottom:4rem}.project-card:nth-child(n) .card-image{aspect-ratio:4/5}.case-hero{min-height:48vh}.case-intro p,.section-content{grid-column:1/-1}.section-number{grid-column:1/-1;margin-bottom:1.5rem}.gallery{grid-template-columns:1fr}.credits div{grid-template-columns:1fr;gap:.35rem}.writing-item{grid-template-columns:1fr}.book-cover{max-width:60%;grid-row:1}.site-footer,.about-meta{flex-direction:column;gap:1rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.hero{min-height:42vh;padding:clamp(4rem,8vw,7rem) var(--pad);display:flex;flex-direction:column;justify-content:center}.hero h1{font-size:clamp(2.6rem,6vw,6rem);line-height:1;letter-spacing:-.065em;margin:.2em 0}.projects-head{padding:0 var(--pad) 2rem}.case-intro{padding:clamp(4rem,8vw,8rem) var(--pad)}.case-intro>div{grid-column:3/10}.case-intro p{font-size:clamp(1.05rem,1.65vw,1.45rem);line-height:1.65;letter-spacing:-.015em;margin:0 0 1.4em}.section-content{grid-column:3/11}.section-content h2{font-size:clamp(1.8rem,3vw,3.2rem)}.section-content>p{font-size:clamp(.98rem,1.2vw,1.12rem);line-height:1.8;max-width:780px;margin:0 0 1.4em}.writing-copy small{display:block;margin-top:.5rem;color:var(--muted)}
.projects-head .eyebrow{font-family:Manrope,Arial,sans-serif;font-size:clamp(1.8rem,3.5vw,3.5rem);font-weight:600;line-height:1;letter-spacing:-.05em;text-transform:none;color:inherit;margin:0}
.link-list{border-top:1px solid var(--line);margin-top:3rem}.link-list a{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.4rem 0;border-bottom:1px solid var(--line);transition:color .2s}.link-list a:hover{color:var(--accent)}.link-list strong,.link-list small{display:block}.link-list strong{font-size:clamp(1.05rem,1.5vw,1.3rem)}.link-list small{font-size:.76rem;color:var(--muted);margin-top:.3rem}.link-list>a>span:last-child{font-size:1.5rem}.link-help{font-family:"DM Mono",monospace;font-size:.68rem!important;color:var(--muted)!important;margin-top:1.5rem!important}.link-help code{color:var(--accent)}
.social-links{display:inline-flex;align-items:center;gap:.7rem}.social-links a{display:grid;place-items:center;width:1.65rem;height:1.65rem}.social-links svg{width:1.1rem;height:1.1rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.footer-contact{display:flex;align-items:center;gap:1.5rem}
.project-grid .project-card{grid-column:span 1}.project-grid .project-card .card-image{aspect-ratio:1}
@media(max-width:700px){nav{align-items:center}.site-footer{align-items:flex-start}.footer-contact{align-items:flex-start;flex-direction:column;gap:1rem}}
.intro-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(.35rem,.8vw,.8rem);padding:0 var(--pad) clamp(4rem,8vw,8rem)}.intro-strip img,.intro-strip .placeholder{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;min-height:0}
.gallery img,.gallery .placeholder{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;min-height:0}.wide-media{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;min-height:0}.case-banner img{width:100%;height:100%;object-fit:cover}.card-image img{width:100%;height:100%;object-fit:cover}
@media(max-width:700px){.hero{min-height:36vh;padding-top:4rem}.hero h1{margin:1rem 0}.case-intro>div,.section-content{grid-column:1/-1}}
@media(max-width:700px){.intro-strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-right:var(--pad)}.intro-strip img,.intro-strip .placeholder{flex:0 0 72vw;width:72vw;height:auto;aspect-ratio:16/9;scroll-snap-align:start}}
