:root{--paper:#f7f7f5;--ink:#171717;--muted:#696966;--line:#d8d8d4;--pad:clamp(20px,4vw,64px);--max:1600px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased}a{color:inherit}.skip-link{position:fixed;z-index:200;top:8px;left:8px;padding:10px 14px;background:var(--ink);color:#fff;transform:translateY(-150%)}.skip-link:focus{transform:none}.site-header{position:sticky;z-index:20;top:0;display:flex;justify-content:space-between;align-items:center;min-height:68px;padding:0 var(--pad);border-bottom:1px solid var(--line);background:rgba(247,247,245,.96)}.wordmark{font-size:15px;font-weight:500;text-decoration:none}.site-header nav{display:flex;gap:clamp(18px,2.5vw,38px)}.site-header nav a{font-size:14px;text-decoration:none}.site-header a:hover,.site-header a:focus-visible{text-decoration:underline;text-underline-offset:4px}.hero,.work,.about,.contact,footer{width:min(100%,var(--max));margin:auto;padding-left:var(--pad);padding-right:var(--pad)}.hero{min-height:clamp(510px,72vh,760px);display:flex;flex-direction:column;justify-content:space-between;padding-top:clamp(58px,8vw,120px);padding-bottom:clamp(50px,6vw,86px)}.kicker,.section-label{margin:0;color:var(--muted);font-size:13px}.hero h1{max-width:1180px;margin:28px 0 auto;font-size:clamp(42px,6.2vw,94px);font-weight:400;line-height:1.02;letter-spacing:-.05em}.hero-bottom{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end}.hero-bottom p{max-width:560px;margin:0;font-size:clamp(17px,1.5vw,22px);letter-spacing:-.015em}.hero-bottom a{justify-self:end;font-size:14px;text-decoration:none}.hero-bottom a span{margin-left:8px}.work{padding-top:clamp(74px,9vw,130px);padding-bottom:clamp(100px,12vw,180px);border-top:1px solid var(--line)}.section-intro{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:clamp(46px,6vw,88px)}.section-intro h2{margin:0;font-size:clamp(30px,3vw,48px);font-weight:400;letter-spacing:-.035em}.section-intro p{max-width:400px;margin:8px 0 0;color:var(--muted)}.project-list{display:grid;gap:clamp(78px,10vw,150px)}.project{border:0;padding:0;background:none;color:inherit;text-align:left;cursor:pointer}.project-cover{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#e8e8e4}.project:first-child .project-cover{aspect-ratio:1.85/1}.project-meta{display:grid;grid-template-columns:58px minmax(180px,1fr) 1fr auto;gap:24px;padding-top:16px;border-top:1px solid var(--line)}.project-meta p{margin:0;font-size:13px}.project-name{font-size:clamp(24px,2.4vw,38px)!important;letter-spacing:-.035em}.project-category{color:var(--muted)}.project:hover .project-name,.project:focus-visible .project-name{text-decoration:underline;text-underline-offset:5px}.project:focus-visible{outline:2px solid var(--ink);outline-offset:8px}.about,.contact{display:grid;grid-template-columns:1fr 2fr;gap:40px;padding-top:clamp(85px,10vw,150px);padding-bottom:clamp(85px,10vw,150px);border-top:1px solid var(--line)}.about-content{max-width:920px}.about h2,.contact h2{margin:-8px 0 44px;font-size:clamp(38px,5vw,72px);font-weight:400;line-height:1.06;letter-spacing:-.045em}.about-content>p{max-width:680px;margin:0 0 54px;font-size:clamp(17px,1.5vw,21px)}.about ul{display:grid;grid-template-columns:repeat(2,1fr);margin:0;padding:0;border-top:1px solid var(--line);list-style:none}.about li{padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.about li:nth-child(odd){padding-right:20px}.contact-links{display:flex;gap:32px}.contact-links a{font-size:18px;text-underline-offset:5px}footer{padding-top:28px;padding-bottom:28px;border-top:1px solid var(--line)}footer p{margin:0;font-size:13px}.modal{position:fixed;z-index:100;inset:0;overflow-y:auto;background:#fff}.modal-panel{min-height:100%}.modal-bar{position:sticky;z-index:2;top:0;display:flex;justify-content:flex-end;padding:16px var(--pad);border-bottom:1px solid var(--line);background:rgba(255,255,255,.96)}.modal-close{border:0;padding:7px 0;background:none;color:inherit;font:inherit;font-size:14px;cursor:pointer}.modal-close:hover,.modal-close:focus-visible{text-decoration:underline;text-underline-offset:4px}.modal-content{width:min(100%,var(--max));margin:auto;padding:clamp(54px,7vw,110px) var(--pad)}.case-head{display:grid;grid-template-columns:1fr 2fr;gap:40px;margin-bottom:clamp(70px,9vw,130px)}.case-number{margin:10px 0 0;color:var(--muted);font-size:13px}.case-head h2{margin:0 0 18px;font-size:clamp(48px,7vw,108px);font-weight:400;line-height:.96;letter-spacing:-.055em}.case-sub{margin:0 0 54px;color:var(--muted);font-size:14px}.case-description{max-width:780px;margin:0 0 60px;font-size:clamp(18px,1.65vw,24px)}.case-details{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:780px;padding-top:18px;border-top:1px solid var(--line)}.case-details h3{margin:0 0 8px;color:var(--muted);font-size:12px;font-weight:400;text-transform:uppercase}.case-details p{margin:0;font-size:14px}.gallery{display:grid;gap:clamp(18px,2vw,32px)}.gallery img,.gallery-placeholder{display:block;width:100%;background:#eee}.gallery img{height:auto}.gallery-placeholder{min-height:min(70vw,850px);display:grid;place-items:center;color:#8b8b87;font-size:13px}.gallery-placeholder span{padding:12px 18px;border:1px solid #ccc}.no-scroll{overflow:hidden}
@media(max-width:760px){.site-header{min-height:60px}.site-header nav{gap:15px}.site-header nav a{font-size:13px}.hero{min-height:560px;padding-top:50px}.hero h1{margin-top:22px}.hero-bottom,.section-intro,.about,.contact,.case-head{grid-template-columns:1fr}.hero-bottom{gap:22px}.hero-bottom a{justify-self:start}.project-meta{grid-template-columns:38px 1fr auto;gap:10px}.project-category{grid-column:2/4}.project-year{grid-column:3;grid-row:1}.about,.contact{gap:36px}.about h2,.contact h2{margin:0 0 30px}.about ul{grid-template-columns:1fr}.about li:nth-child(odd){padding-right:0}.case-head{gap:24px}.case-number{margin:0}.case-details{grid-template-columns:1fr}.modal-content{padding-top:44px}.gallery-placeholder{min-height:75vh}}
@media(max-width:430px){.wordmark{font-size:14px}.site-header nav{gap:11px}.hero h1{font-size:39px}.project-cover{aspect-ratio:1.2/1!important}.project-meta{grid-template-columns:32px 1fr}.project-year{grid-column:2;grid-row:auto}.project-category{grid-column:2}.contact-links{flex-direction:column;gap:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.project{width:100%;min-width:0;overflow:hidden}.project-cover{max-width:100%}.project-meta>*{min-width:0}
.site-header nav a,.modal-close{min-height:44px;display:inline-flex;align-items:center}.modal-close{padding:0 8px}.project>picture,.gallery>picture{display:block;width:100%}
@media(max-width:900px){.case-head{grid-template-columns:1fr;gap:24px}.case-number{margin:0}.case-head h2{max-width:18ch}}
@media(max-height:650px){.hero{min-height:auto}.hero-bottom{margin-top:54px}}
.project .gallery-placeholder{min-height:0;aspect-ratio:16/9}.project:first-child .gallery-placeholder{aspect-ratio:1.85/1}@media(max-width:430px){.project .gallery-placeholder,.project:first-child .gallery-placeholder{min-height:0;aspect-ratio:1.2/1}}

/* Compact editorial grid for Selected Work. */
.project-list{grid-template-columns:repeat(12,minmax(0,1fr));gap:32px 24px}
.project{grid-column:span 4}
.project:nth-child(n+4):nth-child(-n+7){grid-column:span 3}
.project:nth-child(n+8){grid-column:span 6}
.project>picture{aspect-ratio:4/3;overflow:hidden}
.project-cover,.project:first-child .project-cover{height:100%;aspect-ratio:auto}
.project .gallery-placeholder,.project:first-child .gallery-placeholder{aspect-ratio:4/3}
.project-meta{display:flex;align-items:baseline;gap:7px;padding-top:9px;border-top:0;font-size:13px;line-height:1.3}
.project-number,.project-year{flex:0 0 auto;color:var(--muted)}
.project-number::after{content:' ·'}
.project-name{min-width:0;font-size:13px!important;letter-spacing:0}
.project-year::before{content:'· '}
.project:hover .project-name,.project:focus-visible .project-name{text-underline-offset:3px}
.project:focus-visible{outline-offset:5px}
@media(max-width:900px){
  .project-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}
  .project,.project:nth-child(n+4):nth-child(-n+7),.project:nth-child(n+8){grid-column:span 1}
}
@media(max-width:430px){
  .project-list{grid-template-columns:1fr;gap:28px}
  .project-cover,.project:first-child .project-cover{height:100%;aspect-ratio:auto!important}
  .project>picture,.project .gallery-placeholder,.project:first-child .gallery-placeholder{aspect-ratio:4/3!important}
  .project-meta{display:flex;gap:7px;font-size:13px}
  .project-year{grid-column:auto;grid-row:auto}
}

/* Collection switcher and equal editorial cover grid. */
.collection-link.is-active{text-decoration:underline;text-underline-offset:4px}
.project-list.collection-communication{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}
.project-list.collection-packaging{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 24px}
.project-list.collection-communication .project,
.project-list.collection-packaging .project{grid-column:auto}
.project>picture{display:block;width:100%;height:auto;aspect-ratio:4/3;overflow:hidden}
.project .gallery-placeholder{display:grid;width:100%;height:auto;aspect-ratio:4/3;place-items:center;overflow:hidden}
.project-cover,.project:first-child .project-cover{width:100%;height:100%;aspect-ratio:auto!important;object-fit:cover}
.project .gallery-placeholder,.project:first-child .gallery-placeholder{aspect-ratio:4/3!important}
.modal-content{padding-top:clamp(36px,4vw,64px)}
.case-head{margin-bottom:clamp(42px,5vw,76px)}
.case-head h2{font-size:clamp(46px,4.5vw,68px);line-height:1;letter-spacing:-.045em}
.case-sub{margin-bottom:34px}
.case-description{margin-bottom:40px}
@media(max-width:900px){
  .project-list.collection-communication,.project-list.collection-packaging{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}
}
@media(max-width:600px){
  .site-header{flex-wrap:wrap;align-content:center;gap:2px;padding-top:7px;padding-bottom:7px}
  .wordmark{width:100%}
  .site-header nav{width:100%;justify-content:space-between;gap:8px}
}
@media(max-width:430px){
  .project-list.collection-communication,.project-list.collection-packaging{grid-template-columns:1fr;gap:28px}
}
