:root { --black:#000; --white:#f7f6f2; --orange:#f26522; --red:#ef4123; --grey:#a7a9ac; --mono:"DM Mono",monospace; --sans:"DM Sans",sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--black); }
body { margin:0; color:var(--black); background:var(--black); font-family:var(--sans); }
a { color:inherit; text-decoration:none; }
h1,h2,p,figure,ul { margin:0; }
img { max-width:100%; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.eyebrow,.header-note,.hero-footer,.word-loop,.contact-grid span,footer { font:500 10px/1.35 var(--mono); letter-spacing:.04em; text-transform:uppercase; }
.noise { position:fixed; z-index:50; inset:0; pointer-events:none; opacity:.05; mix-blend-mode:overlay; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }

.site-header { position:fixed; z-index:20; top:0; right:0; left:0; height:82px; display:grid; grid-template-columns:220px 1fr auto; align-items:center; padding:12px 2.7vw; color:var(--white); border-bottom:1px solid rgba(255,255,255,.24); background:rgba(0,0,0,.72); backdrop-filter:blur(12px); }
.wordmark { display:block; width:172px; padding:8px 9px; line-height:0; background:var(--white); }
.wordmark img { display:block; width:100%; }
.header-note { justify-self:center; color:var(--grey); }
.site-header nav { display:flex; gap:31px; }
.site-header nav a { font:500 10px var(--mono); letter-spacing:.04em; text-transform:uppercase; transition:color .2s; }
.site-header nav a:hover { color:var(--orange); }
.menu-button { display:none; }

.hero { position:relative; min-height:100svh; overflow:hidden; padding:116px 2.7vw 0; color:var(--white); background:var(--black); }
.hero-lines { position:absolute; inset:0; opacity:.42; background-image:linear-gradient(rgba(255,255,255,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.14) 1px,transparent 1px); background-size:16.666vw 16.666vw; mask-image:linear-gradient(165deg,#000 8%,transparent 76%); }
.hero-index { position:relative; color:var(--grey); }
.hero-statement { position:relative; z-index:2; margin-top:clamp(110px,15.3vh,195px); padding-left:clamp(0px,8.35vw,145px); }
.hero-tag { position:absolute; top:12px; left:0; color:var(--orange); font:500 clamp(14px,1.3vw,20px)/.9 var(--sans); letter-spacing:-.06em; text-transform:uppercase; }
.hero h1 { max-width:950px; font-size:clamp(88px,13.2vw,205px); font-weight:500; line-height:.8; letter-spacing:-.055em; text-transform:uppercase; }
.hero h1 strong { color:var(--orange); font-weight:500; }
.hero-visual { position:absolute; z-index:3; right:6.8vw; bottom:83px; width:clamp(300px,28vw,456px); transform:rotate(3deg); box-shadow:18px 18px 0 var(--red); }
.hero-visual img { display:block; width:100%; aspect-ratio:4/5; object-fit:cover; }
.hero-visual p { position:absolute; right:16px; bottom:15px; max-width:120px; color:var(--white); font:500 12px/1.05 var(--mono); text-transform:uppercase; text-align:right; mix-blend-mode:screen; }
.hero-footer { position:absolute; z-index:3; right:2.7vw; bottom:25px; left:2.7vw; display:grid; grid-template-columns:1fr 1fr 1fr; align-items:end; padding-top:11px; border-top:1px solid rgba(255,255,255,.35); }
.hero-footer a { justify-self:center; display:inline-flex; gap:25px; align-items:center; }
.hero-footer b { color:var(--orange); font:400 19px/.5 var(--sans); }
.hero-footer > p:last-child { justify-self:end; }
.word-loop { position:absolute; z-index:2; right:0; bottom:0; left:0; height:43px; overflow:hidden; color:var(--black); background:var(--white); white-space:nowrap; }
.word-loop span { display:block; width:max-content; padding-top:13px; animation:loop 28s linear infinite; }
@keyframes loop { to { transform:translateX(-50%); } }

.statement { position:relative; min-height:88svh; padding:30px 2.7vw 42px; overflow:hidden; color:var(--black); background:var(--white); }
.statement:after { content:"US"; position:absolute; z-index:0; right:-4vw; bottom:-11vw; color:var(--orange); font-size:min(69vw,1050px); font-weight:700; line-height:.7; letter-spacing:-.19em; opacity:.96; }
.statement-copy { position:relative; z-index:1; display:grid; grid-template-columns:39% 1fr; gap:30px; align-items:start; max-width:1330px; margin:clamp(120px,15vw,240px) auto 0; }
.statement-copy > p { font-size:clamp(28px,3.6vw,54px); font-weight:500; line-height:1; letter-spacing:-.035em; text-transform:uppercase; }
.statement-copy > p i { color:var(--red); font-style:normal; }
.statement-copy > div { max-width:630px; }
.statement-copy > div p:first-child { font-size:clamp(53px,7.15vw,110px); font-weight:500; line-height:.9; letter-spacing:-.045em; text-transform:uppercase; }
.statement-copy > div p:first-child i { color:var(--red); font-style:normal; }
.statement-copy > div p + p { max-width:310px; margin:52px 0 0 auto; font-size:16px; line-height:1.55; }
.statement-scroll { position:absolute; z-index:1; right:2.7vw; bottom:42px; font:500 10px var(--mono); text-transform:uppercase; }

.services { padding:0; color:var(--white); background:var(--black); }
.services-header { display:flex; justify-content:space-between; align-items:start; min-height:220px; padding:31px 2.7vw; }
.services-header > p:last-child { font-size:clamp(21px,2.6vw,37px); font-weight:500; line-height:.95; letter-spacing:-.07em; text-transform:uppercase; }
.service { position:relative; display:grid; grid-template-columns:16% 1fr 27%; min-height:max(740px,95svh); overflow:hidden; padding:25px 2.7vw 28px; border-top:1px solid rgba(0,0,0,.65); }
.service-top { position:relative; z-index:2; display:flex; flex-direction:column; justify-content:space-between; grid-column:1; grid-row:1; }
.service-top > p:last-child { writing-mode:vertical-rl; transform:rotate(180deg); }
.service-name { position:relative; z-index:2; grid-column:2; grid-row:1; align-self:center; margin-top:1vh; }
.service h2 { font-size:clamp(70px,10vw,156px); font-weight:500; line-height:.83; letter-spacing:-.05em; text-transform:uppercase; }
.service-name p { margin-top:24px; font-size:15px; }
.service figure { position:absolute; z-index:1; right:12.8vw; bottom:0; width:clamp(330px,34vw,540px); height:88%; margin:0; overflow:hidden; }
.service figure:after { content:""; position:absolute; inset:0; border:1px solid rgba(255,255,255,.22); }
.service figure img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.16,.77,.24,1); }
.service:hover figure img { transform:scale(1.05); }
.service-bottom { position:relative; z-index:2; grid-column:3; grid-row:1; align-self:end; font-size:15px; line-height:1.36; }
.service-bottom > p { max-width:252px; margin-left:auto; }
.service-bottom ul { max-width:252px; padding:0; margin:36px 0 0 auto; list-style:none; border-top:1px solid currentColor; }
.service-bottom li { padding:9px 0; border-bottom:1px solid currentColor; font:500 9px var(--mono); letter-spacing:.03em; text-transform:uppercase; }
.branding { background:var(--black); }
.packaging { color:var(--black); background:var(--orange); }
.social { background:var(--red); }
.print { color:var(--black); background:var(--grey); }
.brochures { background:var(--black); }
.packaging figure { right:9.6vw; width:clamp(355px,37vw,600px); height:86%; }
.social figure { right:12vw; width:clamp(330px,35vw,570px); }
.print figure { right:10.6vw; width:clamp(350px,37vw,590px); height:84%; }
.brochures figure { right:12.5vw; width:clamp(330px,34vw,550px); height:91%; }

.contact { min-height:100svh; padding:31px 2.7vw 22px; color:var(--white); background:var(--red); }
.contact h2 { margin-top:clamp(110px,13vh,180px); font-size:clamp(72px,11.5vw,180px); font-weight:500; line-height:.83; letter-spacing:-.05em; text-transform:uppercase; }
.contact h2 i { color:var(--black); font-style:normal; }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 9vw; max-width:1100px; margin:clamp(105px,15vh,200px) 0 55px auto; }
.contact-grid a,.contact-grid > p { display:block; min-height:135px; padding:17px 0 25px; border-top:1px solid rgba(255,255,255,.65); font-size:clamp(18px,2.2vw,31px); font-weight:500; line-height:1.05; letter-spacing:-.055em; }
.contact-grid a:hover { color:var(--black); }
.contact-grid span { display:block; margin-bottom:21px; color:var(--black); font-size:9px; letter-spacing:.04em; }
.contact footer { display:grid; grid-template-columns:1.1fr 1fr 1fr auto; gap:20px; padding-top:16px; border-top:1px solid rgba(255,255,255,.65); }
.contact footer a:hover { color:var(--black); }

@media (max-width:800px) {
  .site-header { height:70px; grid-template-columns:1fr auto; padding:8px 20px; }
  .wordmark { width:151px; padding:6px 8px; }
  .header-note { display:none; }
  .menu-button { display:block; width:30px; padding:7px 0; border:0; cursor:pointer; background:transparent; }
  .menu-button span { display:block; height:1px; margin:5px 0; background:var(--white); }
  .site-header nav { position:absolute; top:69px; right:0; left:0; display:none; flex-direction:column; gap:20px; padding:20px; border-bottom:1px solid rgba(255,255,255,.24); background:var(--black); }
  .site-header nav.open { display:flex; }
  .hero { min-height:750px; padding:91px 20px 0; }
  .hero-lines { background-size:75px 75px; }
  .hero-statement { margin-top:130px; padding-left:0; }
  .hero-tag { top:-34px; font-size:13px; }
  .hero h1 { font-size:clamp(82px,23vw,140px); line-height:.84; letter-spacing:-.05em; }
  .hero-visual { right:24px; bottom:113px; width:min(48vw,230px); box-shadow:9px 9px 0 var(--red); }
  .hero-visual p { right:9px; bottom:9px; font-size:8px; }
  .hero-footer { right:20px; bottom:50px; left:20px; grid-template-columns:1fr auto; font-size:8px; }
  .hero-footer > p:last-child { display:none; }
  .hero-footer a { justify-self:end; gap:14px; }
  .word-loop { height:37px; }
  .word-loop span { padding-top:12px; font-size:8px; }
  .statement { min-height:630px; padding:24px 20px 32px; }
  .statement-copy { display:block; margin-top:118px; }
  .statement-copy > p { font-size:27px; line-height:1.04; letter-spacing:-.025em; }
  .statement-copy > div { margin-top:51px; }
  .statement-copy > div p:first-child { font-size:clamp(49px,13.2vw,78px); line-height:.94; letter-spacing:-.035em; }
  .statement-copy > div p + p { margin-top:33px; font-size:14px; line-height:1.55; }
  .statement-scroll { right:20px; bottom:26px; font-size:8px; }
  .services-header { display:block; min-height:185px; padding:24px 20px; }
  .services-header > p:last-child { margin-top:52px; font-size:25px; }
  .service { display:block; min-height:710px; padding:18px 20px 24px; }
  .service-top { display:flex; flex-direction:row; }
  .service-top > p:last-child { transform:none; writing-mode:horizontal-tb; }
  .service-name { margin-top:92px; }
  .service h2 { font-size:clamp(66px,18vw,107px); line-height:.87; letter-spacing:-.04em; }
  .service-name p { margin-top:15px; font-size:13px; }
  .service figure,.packaging figure,.social figure,.print figure,.brochures figure { right:16px; bottom:169px; width:min(76vw,340px); height:330px; }
  .service-bottom { position:absolute; right:20px; bottom:25px; left:20px; display:grid; grid-template-columns:1fr 1fr; gap:30px; font-size:12px; }
  .service-bottom > p { max-width:150px; margin:0; }
  .service-bottom ul { max-width:none; margin:0; }
  .service-bottom li { padding:7px 0; font-size:8px; }
  .contact { min-height:735px; padding:24px 20px 20px; }
  .contact h2 { margin-top:128px; font-size:clamp(71px,19vw,112px); line-height:.88; letter-spacing:-.04em; }
  .contact-grid { grid-template-columns:1fr; gap:0; margin:120px 0 34px; }
  .contact-grid a,.contact-grid > p { min-height:0; padding:14px 0 20px; font-size:20px; }
  .contact-grid span { margin-bottom:11px; font-size:8px; }
  .contact footer { grid-template-columns:1fr 1fr; gap:16px; font-size:8px; }
  .contact footer a:nth-of-type(1) { grid-column:1 / -1; grid-row:2; }
  .contact footer a:nth-of-type(2) { grid-column:1 / -1; grid-row:3; }
}
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto}.word-loop span{animation:none}.service figure img{transition:none} }
