:root{--ink:#090909;--paper:#f4f4f0;--muted:#9b9b96;--line:#292929;--pad:clamp(1.25rem,3vw,3.75rem);--display:'Arial Narrow','Helvetica Neue Condensed',Impact,sans-serif;--body:'Helvetica Neue',Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--body);font-size:16px;line-height:1.45}
body.light{background:var(--paper);color:var(--ink)}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:auto;background:#202020}
.wrap{padding-inline:var(--pad)}
.site-header{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:1.4rem var(--pad);border-bottom:1px solid var(--line);text-transform:uppercase;font-size:.76rem;letter-spacing:.12em}
.brand{font-weight:800}
.nav{display:flex;gap:clamp(1rem,2.5vw,2.5rem)}
.nav a,.footer a,.text-link{position:relative}
.nav a:after,.footer a:after,.text-link:after{content:'';position:absolute;left:0;right:100%;bottom:-.25rem;height:1px;background:currentColor;transition:right .25s}
.nav a:hover:after,.nav a[aria-current=page]:after,.footer a:hover:after,.text-link:hover:after{right:0}
.menu-btn{display:none;background:none;border:0;color:inherit;font:inherit;text-transform:uppercase;letter-spacing:.1em}
.hero{min-height:calc(100svh - 66px);display:grid;grid-template-rows:auto 1fr}
.hero-copy{padding:clamp(2rem,5vw,5rem) var(--pad) 1.5rem}
.mega{font-family:var(--display);font-weight:900;font-stretch:condensed;font-size:clamp(4rem,15.4vw,15rem);line-height:.74;letter-spacing:-.065em;margin:0;text-transform:uppercase;white-space:nowrap}
.hero-meta,.page-kicker{display:flex;justify-content:space-between;gap:1rem;margin-top:2rem;text-transform:uppercase;font-size:.76rem;letter-spacing:.14em}
.hero-image{position:relative;min-height:44vh;overflow:hidden}
.hero-image img{height:100%;object-fit:cover;filter:grayscale(1)}
.hero-index{position:absolute;right:var(--pad);bottom:1rem;font-size:.7rem;letter-spacing:.16em}
.section{padding:clamp(5rem,10vw,10rem) var(--pad)}
.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:clamp(2rem,5vw,5rem);border-bottom:1px solid var(--line);padding-bottom:1rem}
.section-title,.page-title{font-family:var(--display);font-weight:900;text-transform:uppercase;letter-spacing:-.045em;line-height:.88;margin:0}
.section-title{font-size:clamp(3rem,8vw,8rem)}
.page-title{font-size:clamp(4.5rem,13vw,12rem)}
.eyebrow,.meta{text-transform:uppercase;font-size:.7rem;letter-spacing:.14em}
.work-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(1rem,2vw,2rem);align-items:start}
.work-tile{grid-column:span 7;margin-bottom:clamp(3rem,8vw,8rem)}
.work-tile:nth-child(even){grid-column:6/span 7}
.work-tile:nth-child(3n){grid-column:2/span 8}
.work-tile img{aspect-ratio:16/10;object-fit:cover;filter:grayscale(1);transition:filter .35s,transform .5s}
.work-tile:nth-child(even) img{aspect-ratio:4/5}
.work-tile:hover img{filter:grayscale(0);transform:scale(1.006)}
.tile-label{display:flex;justify-content:space-between;margin-top:.75rem;text-transform:uppercase;font-size:.75rem;letter-spacing:.12em}
.stories-list{border-top:1px solid var(--line)}
.story-row{display:grid;grid-template-columns:7rem 1fr 2fr auto;gap:2rem;align-items:center;padding:1.4rem 0;border-bottom:1px solid var(--line)}
.story-row img{aspect-ratio:4/3;object-fit:cover;filter:grayscale(1)}
.story-row h3{font-family:var(--display);font-size:clamp(2rem,4vw,4.5rem);line-height:.9;text-transform:uppercase;margin:0;letter-spacing:-.03em}
.story-row p{max-width:32rem;color:var(--muted)}
.footer{display:grid;grid-template-columns:2fr 1fr 1fr;padding:4rem var(--pad);border-top:1px solid var(--line);gap:2rem}
.footer-title{font-family:var(--display);font-size:clamp(2.5rem,6vw,6rem);font-weight:900;line-height:.8;letter-spacing:-.04em}
.footer-small{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;display:flex;flex-direction:column;gap:.7rem}
.page-hero{padding:clamp(4rem,9vw,9rem) var(--pad);border-bottom:1px solid var(--line)}
.portfolio{columns:3;column-gap:clamp(.75rem,1.6vw,1.5rem);padding:var(--pad)}
.portfolio figure{break-inside:avoid;margin:0 0 clamp(.75rem,1.6vw,1.5rem);cursor:zoom-in}
.portfolio img{filter:grayscale(1);transition:filter .3s}
.portfolio figure:hover img{filter:grayscale(0)}
.portfolio figure:nth-child(4n+1) img{aspect-ratio:3/2;object-fit:cover}
.portfolio figure:nth-child(4n+2) img{aspect-ratio:4/5;object-fit:cover}
.portfolio figure:nth-child(4n+3) img{aspect-ratio:1/1;object-fit:cover}
.portfolio figure:nth-child(4n) img{aspect-ratio:2/3;object-fit:cover}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.96);z-index:100;display:none;align-items:center;justify-content:center;padding:3rem}
.lightbox.open{display:flex}
.lightbox img{width:auto;max-width:92vw;max-height:88vh;background:none}
.lightbox button{position:absolute;background:none;border:0;color:#fff;font-size:2rem;cursor:pointer}
.lightbox-close{right:1.5rem;top:1rem}
.lightbox-prev{left:1rem}
.lightbox-next{right:1rem}
.story-cards{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(2rem,4vw,5rem)}
.story-card{grid-column:span 7;margin-bottom:5rem}
.story-card:nth-child(even){grid-column:6/span 7}
.story-card img{aspect-ratio:16/10;object-fit:cover;filter:grayscale(1)}
.story-card h2{font-family:var(--display);font-size:clamp(3rem,6vw,6rem);text-transform:uppercase;line-height:.85;margin:1rem 0;letter-spacing:-.04em}
.story-card p{max-width:38rem;color:var(--muted)}
.article-hero img{height:min(70vw,82vh);object-fit:cover;filter:grayscale(1)}
.article-body{max-width:52rem;margin:auto;padding:clamp(4rem,10vw,10rem) var(--pad);font-family:Georgia,serif;font-size:clamp(1.1rem,1.8vw,1.35rem);line-height:1.75}
.article-body .lead{font-size:1.35em}
.article-image{width:100%;margin:5rem 0}
.caption{font-family:var(--body);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-top:.75rem}
.pullquote{font-family:var(--display);font-size:clamp(2.5rem,5vw,5rem);font-weight:900;line-height:.95;text-transform:uppercase;margin:5rem -12vw}
.info-grid{display:grid;grid-template-columns:1fr 2fr;gap:clamp(3rem,10vw,12rem);padding:clamp(5rem,10vw,10rem) var(--pad);border-bottom:1px solid var(--line)}
.info-grid h2{font-family:var(--display);font-size:clamp(2.5rem,6vw,6rem);line-height:.85;margin:0;text-transform:uppercase}
.info-copy{max-width:48rem}
.info-copy p{font-size:clamp(1.25rem,2vw,2rem);line-height:1.35;margin-top:0}
.fact-list{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:4rem;padding-top:1.5rem;border-top:1px solid var(--line)}
.contact-list{padding:clamp(4rem,8vw,8rem) var(--pad)}
.contact-item{display:grid;grid-template-columns:1fr 2fr auto;border-top:1px solid var(--line);padding:1.5rem 0;align-items:center}
.contact-item:last-child{border-bottom:1px solid var(--line)}
.contact-item h2{font-family:var(--display);font-size:clamp(2rem,4vw,4rem);text-transform:uppercase;margin:0}
.contact-email{font-family:var(--display);font-size:clamp(2.5rem,7vw,7rem);font-weight:900;letter-spacing:-.045em;line-height:.9;display:inline-block;margin-top:5rem;word-break:break-all}
@media(max-width:800px){.nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--ink);padding:2rem var(--pad);flex-direction:column;border-bottom:1px solid var(--line)}
.nav.open{display:flex}
.menu-btn{display:block}
.mega{font-size:20vw;line-height:.78;white-space:normal}
.hero-meta{flex-direction:column}
.work-tile,.work-tile:nth-child(even),.work-tile:nth-child(3n),.story-card,.story-card:nth-child(even){grid-column:1/-1}
.story-row{grid-template-columns:5rem 1fr auto}
.story-row p{display:none}
.footer{grid-template-columns:1fr 1fr}
.footer-title{grid-column:1/-1}
.portfolio{columns:2}
.info-grid{grid-template-columns:1fr}
.fact-list{grid-template-columns:1fr}
.contact-item{grid-template-columns:1fr auto}
.contact-item p{display:none}
.pullquote{margin-inline:0}
}
@media(max-width:520px){.portfolio{columns:1}
.story-row{grid-template-columns:1fr auto}
.story-row img{display:none}
.footer{grid-template-columns:1fr}
.page-title{font-size:20vw}
.section{padding-inline:1.25rem}
.lightbox{padding:1rem}
.article-body{padding-inline:1.25rem}
}

/* Brand system and distribution platforms */
button{font:inherit}
.site-header{min-height:78px;padding-block:.65rem}
.brand{display:flex;align-items:center;flex:0 0 auto}
.brand-logo{width:auto;height:56px;max-width:74px;object-fit:contain;background:transparent}
.footer{grid-template-columns:1.4fr 1fr 1fr;padding:clamp(4rem,7vw,7rem) var(--pad) 2rem;gap:clamp(3rem,7vw,8rem);background:var(--ink);color:var(--paper)}
.footer-brand{align-self:start;width:clamp(7rem,13vw,12rem)}
.footer-brand:after{display:none}
.footer-logo{width:100%;height:auto;max-height:220px;object-fit:contain;object-position:left top;background:transparent}
.footer-column{display:flex;flex-direction:column;align-items:flex-start}
.footer-label{margin-bottom:1.4rem;color:var(--muted);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase}
.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:.72rem;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase}
.footer-links a,.footer-links button,.contact-platforms a,.contact-platforms button{position:relative;padding:0;border:0;background:none;color:inherit;text-align:left;text-transform:uppercase;letter-spacing:inherit;cursor:pointer}
.footer-links a:after,.footer-links button:after,.contact-platforms a:after,.contact-platforms button:after{content:'';position:absolute;left:0;right:100%;bottom:-.2rem;height:1px;background:currentColor;transition:right .25s}
.footer-links a:hover:after,.footer-links button:hover:after,.contact-platforms a:hover:after,.contact-platforms button:hover:after{right:0}
.footer-links [aria-disabled=true],.contact-platforms [aria-disabled=true]{opacity:.46;cursor:default}
.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:1rem;padding-top:2rem;margin-top:2rem;border-top:1px solid var(--line);font-size:.7rem;letter-spacing:.13em;text-transform:uppercase}
.contact-platforms{display:flex;flex-wrap:wrap;gap:1rem clamp(1.25rem,3vw,3rem);margin-top:2.5rem;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
.wechat-modal{position:fixed;inset:0;z-index:200;display:none;place-items:center;padding:1.25rem;background:rgba(0,0,0,.92)}
.wechat-modal.open{display:grid}
.wechat-panel{position:relative;width:min(92vw,32rem);max-height:calc(100svh - 2.5rem);overflow:auto;padding:clamp(2rem,5vw,4rem);background:var(--paper);color:var(--ink)}
.wechat-panel h2{font-family:var(--display);font-size:clamp(2.8rem,7vw,5rem);line-height:.84;letter-spacing:-.04em;text-transform:uppercase;margin:1.5rem 0 2.5rem}
.wechat-panel img{width:min(100%,22rem);margin:auto;background:#fff}
.wechat-panel p{text-align:center;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;margin:1.25rem 0 0}
.wechat-close{position:absolute;top:1rem;right:1rem;border:0;background:none;color:inherit;text-transform:uppercase;font-size:.7rem;letter-spacing:.12em;cursor:pointer}
@media(max-width:800px){
  .site-header{min-height:68px;padding-block:.45rem}
  .brand-logo{height:48px;max-width:62px}
  .footer{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:1/-1;width:9rem}
  .footer-bottom{flex-direction:column}
  .nav{color:var(--paper)}
}
@media(max-width:520px){
  .footer{grid-template-columns:1fr;gap:3.5rem}
  .footer-brand{grid-column:auto;width:8rem}
}
