:root{
  --ink:#252320;
  --accent:#8A3A1E;
  --paper:#F4F2EE;
  --pill:#E7E3DC;
  --hair:rgba(37,35,32,.22);
  --cw:min(93.88vw,1860px);
  --g:max(14px,calc((100vw - var(--cw)) / 2));
  --fs-xs:clamp(11px,.844vw,12.4px);
  --fs-s:clamp(13px,1.018vw,15px);
  --fs-m:clamp(16px,1.232vw,18.1px);
  --fs-xl:clamp(27px,3.297vw,48.6px);
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:"Public Sans",-apple-system,"Helvetica Neue",Arial,sans-serif;
  font-size:var(--fs-m);line-height:1.5;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
h2,p,figure,blockquote,ul{margin:0;padding:0}
ul{list-style:none}
img,svg{display:block}
::selection{background:var(--accent);color:#fff}

.hdr{position:absolute;top:0;left:0;right:0;z-index:30;
  display:flex;justify-content:space-between;align-items:flex-start;
  padding:47px var(--g) 0}
.hdr-logo{color:var(--accent);width:36px;height:36px;display:block}
.hdr-logo svg{width:100%;height:100%}
.hdr-talk{font-size:var(--fs-s);line-height:1.5;margin-top:3px}

.pill-wrap{position:fixed;top:37px;left:50%;transform:translateX(-50%);z-index:40}
.pill{
  -webkit-appearance:none;appearance:none;border:0;cursor:pointer;
  display:flex;align-items:center;justify-content:space-between;
  width:398px;height:44px;padding:0 18px;border-radius:4px;
  background:var(--pill);color:var(--ink);
  font:inherit;font-size:var(--fs-s);line-height:1;
  transition:width .45s cubic-bezier(.5,0,0,1),background .35s ease,color .35s ease;
}
.pill.is-small{width:296px}
.pill.is-open{width:420px;background:var(--accent);color:#fff}
.pill-label{pointer-events:none}
.pill-burger{width:60px;height:12px;position:relative;display:block}
.pill-burger i{position:absolute;left:0;width:60px;height:1px;background:currentColor;
  transition:transform .4s cubic-bezier(.5,0,0,1)}
.pill-burger i:nth-child(1){top:4px}
.pill-burger i:nth-child(2){top:10px}
.pill.is-open .pill-burger i:nth-child(1){transform:translateY(3px) rotate(11deg)}
.pill.is-open .pill-burger i:nth-child(2){transform:translateY(-3px) rotate(-11deg)}

.menu{width:420px;background:var(--accent);color:#fff;border-radius:0 0 4px 4px;
  margin-top:-4px;padding:24px 30px 38px;overflow:hidden}
.menu[hidden]{display:none}
.menu ul li a{display:block;font-size:var(--fs-m);line-height:1;padding:28px 0;
  border-bottom:1px solid rgba(255,255,255,.28)}
.menu ul li:first-child a{padding-top:24px}
.menu-line{font-size:var(--fs-s);line-height:1.5;margin-top:16px}
.menu-line:first-of-type{margin-top:32px}
.arr{display:inline-block;font-size:.85em;transform:translateY(-1px)}

.hero{padding:0 var(--g);position:relative}
.hero-intro{margin-left:auto;width:328px;max-width:100%;padding-top:328px;
  font-size:var(--fs-s);line-height:1.5;position:relative}
.hero-intro .sq{position:absolute;left:-20px;top:337px;background:var(--accent)}
.sq{width:8px;height:8px;background:var(--ink);display:inline-block;flex:none}
.wordmark{margin-top:24px}
.wordmark svg{width:100%;height:auto}
.wm-text{font-family:"Big Shoulders Display",Impact,"Arial Narrow",sans-serif;font-weight:700;
  font-size:495px;letter-spacing:-7.2px;fill:var(--accent)}
.hero-meta{display:flex;justify-content:space-between;font-size:var(--fs-s);
  line-height:1.5;margin-top:16px}
.hero-shot{margin:23px calc(var(--g) * -1) 0;padding:0 var(--hx,var(--g));height:100vh}

.grow{height:220vh;position:relative}
.grow-stage{position:sticky;top:0;height:100vh;overflow:hidden}
.grow-box{position:absolute;left:50%;top:50%;width:calc(var(--bu,.2) * 100%);height:calc(var(--bu,.2) * 100%);transform:translate(-50%,-50%);z-index:3;will-change:width,height}
.grow-box .gf{position:absolute;inset:0;opacity:0}
.grow-box .gf:first-child{opacity:1}
.grow-est,.grow-mel{position:absolute;left:0;right:0;text-align:center;
  font-size:var(--fs-s);line-height:1.5;z-index:2}
.grow-est{top:calc(29px + (1 - var(--p,0)) * 150px)}
.grow-mel{bottom:calc(30px + (1 - var(--p,0)) * 150px)}
.grow-word{position:absolute;top:50%;transform:translateY(-50%);
  font-size:var(--fs-xl);line-height:1.2;letter-spacing:-.04em;z-index:2}
.grow-left{left:calc(var(--g) + (1 - var(--p,0)) * 10.42vw)}
.grow-right{right:calc(var(--g) + (1 - var(--p,0)) * 10.42vw)}

.band{padding:0 var(--g);margin-top:191px}
.big{font-size:var(--fs-xl);line-height:1.2;letter-spacing:-.04em;font-weight:400}
.rule{border:0;border-top:1px solid var(--hair);margin:22px 0 0}
.rule-tight{margin:20px 0 0}
.split{display:grid;grid-template-columns:43.05% 48.3%;gap:0;margin-top:24px}
.split-wide{grid-template-columns:34.47% 65.53%;margin-top:0}
.split-wide .col-label{padding-right:9.7%}
.label{font-size:var(--fs-s);line-height:1.5}
.label .sq{margin-right:12px;position:relative;top:-1px}
.body{font-size:var(--fs-m);line-height:1.5}
.body + .body{margin-top:34px}
.ulink{border-bottom:1px solid var(--ink);padding-bottom:5px}
.par{overflow:hidden;position:relative}
.par .ph{position:absolute;left:0;right:0;top:-5%;height:110%;will-change:transform}
.split .col-body > .par{margin-top:89px;aspect-ratio:653/603}

.cards-a{margin-top:70px;padding:0 var(--g)}
.card{display:block;position:relative;overflow:hidden}
.card-1{margin-left:25.9%;width:48.3%;aspect-ratio:653/782}
.card-1 .par,.cards-b .card .par{position:absolute;inset:0}
.cards-b{position:relative;padding-top:104.8%;margin-top:168px}
.cards-b .card{position:absolute}
.card-2{left:3.06%;width:37.29%;top:0;aspect-ratio:537/645}
.card-3{left:51.53%;width:45.35%;top:23.13%;aspect-ratio:653/1013}
.card-4{left:3.06%;width:37.29%;top:57.26%;aspect-ratio:537/645}
.card-cap{position:absolute;left:0;right:0;top:0;z-index:3;
  display:flex;justify-content:space-between;padding:0 23px;
  color:#fff;font-size:var(--fs-m);line-height:1.5;
  opacity:0;transition:opacity .35s ease}
.card-cap b,.card-cap i{font-weight:400;font-style:normal}
.card:hover .card-cap,.card-cap-on{opacity:1}
.card-arrow{position:absolute;width:96px;height:96px;z-index:4;pointer-events:none;
  margin:-48px 0 0 -48px;opacity:0;transition:opacity .3s ease;color:#fff}
.card:hover .card-arrow{opacity:1}
@media (min-width:1025px){
  .card .par::after{content:"";position:absolute;inset:0;z-index:1;background:rgba(24,16,10,.46);opacity:0;transition:opacity .35s ease}
  .card:hover .par::after{opacity:1}
}
.card-arrow svg{width:100%;height:100%}

.collab .col-label .body{margin-top:39px}
.collab .rows{margin-top:51px}
.collab .rows li{display:flex;justify-content:space-between;gap:16px;
  font-size:var(--fs-s);line-height:1.5;padding:8px 0;
  border-bottom:1px solid var(--hair)}
.collab .rows li:first-child{border-top:1px solid var(--hair)}
.slider{overflow:hidden;aspect-ratio:886/697}
.slider-track{display:flex;height:100%;transition:transform .85s cubic-bezier(.5,0,0,1)}
.slide{flex:0 0 100%;height:100%}
.slider-cap{display:flex;justify-content:space-between;margin-top:28px;
  font-size:var(--fs-m);line-height:1.5}

.quote-band{margin-top:180px}
.quote{font-size:var(--fs-xl);line-height:1.2;letter-spacing:-.04em;position:relative}
.quote-band .label{margin-top:46px}

.stories{margin-top:190px}
.story-cap{display:flex;justify-content:space-between;font-size:var(--fs-m);
  line-height:1.5;margin-bottom:1px}
.story{aspect-ratio:886/498;overflow:hidden}
.story + .story-cap{margin-top:52px}

.awards{margin-top:193px}
.award-rows{margin-top:45px}
.award-rows li{display:grid;grid-template-columns:40.6% 1fr auto;gap:16px;
  align-items:baseline;font-size:var(--fs-m);line-height:1.5;padding:12px 0;
  border-bottom:1px solid var(--hair)}
.award-rows li span:last-child{text-align:right}

.foot{background:var(--accent);color:#fff;margin-top:183px;padding:86px var(--g) 20px;
  position:relative;overflow:hidden}
.foot > *{transform:translateY(var(--foff,0px))}
.foot-top{display:flex;justify-content:space-between;align-items:flex-start;gap:40px}
.foot-logo{width:36px;height:36px;display:block;color:#fff}
.foot-logo svg{width:100%;height:100%}
.foot-nav{margin-top:26px}
.foot-nav li a{display:block;font-size:var(--fs-m);line-height:1.5;padding:2px 0}
.foot-right{width:26.78%;min-width:220px}
.foot-social{font-size:var(--fs-m);line-height:1.5;text-align:right}
.foot-social + .foot-social{margin-top:8px}
.foot-right .label{margin-top:65px}
.label-inv .sq{background:#fff}
.foot-card{display:block;position:relative;overflow:hidden;margin-top:15px;
  aspect-ratio:362/202}
.foot-card .card-cap{top:0;bottom:0;align-items:center;padding:0 15px;font-size:var(--fs-s)}
.foot-card figure,.foot-card .ph{position:absolute;inset:0}
.foot-card figure::after{content:"";position:absolute;inset:0;background:rgba(24,16,10,.5)}
.foot-wordmark{margin-top:26px}
.foot-wordmark svg{width:100%;height:auto}
.foot-wordmark .wm-text{fill:#fff}
.foot-base{display:flex;justify-content:space-between;gap:16px;font-size:var(--fs-s);
  line-height:1.5;margin-top:13px}
.foot-base b{font-weight:500;letter-spacing:.02em}

.rise .w{display:inline-block;transform:translateY(.95em);opacity:0}
.rise.is-in .w{transform:none;opacity:1;
  transition:transform .78s cubic-bezier(.22,1,.36,1),opacity .6s ease}
li.rise{transform:translateY(18px);opacity:0;
  transition:transform .7s cubic-bezier(.22,1,.36,1),opacity .55s ease}
li.rise.is-in{transform:none;opacity:1}

.ph{position:relative;width:100%;height:100%;overflow:hidden;background-color:#dcd7cf;
  background-repeat:no-repeat;background-size:cover;background-position:center;display:block}
video.ph{object-fit:cover}

.ph-g0{background-image:url(assets/gf-shell.webp)}
.ph-g1{background-image:url(assets/gf-steel.webp)}
.ph-g2{background-image:url(assets/gf-train.webp)}
.ph-g3{background-image:url(assets/gf-open.webp)}
.ph-method{background-image:url(assets/method.webp)}
.ph-c1{background-image:url(assets/card-dining.webp)}
.ph-c3{background-image:url(assets/card-canteen.webp)}
.ph-c4{background-image:url(assets/card-retail.webp)}
.ph-s1{background-image:url(assets/slide-owners.webp)}
.ph-s2{background-image:url(assets/slide-brokers.webp)}
.ph-s3{background-image:url(assets/slide-retail.webp)}
.ph-s4{background-image:url(assets/slide-restaurant.webp)}
.ph-s5{background-image:url(assets/slide-architects.webp)}

@media (max-width:1024px){
  .hdr{position:fixed;padding-top:34px}
  .hdr-logo{width:24px;height:24px}
  .hdr-talk{display:none}
  .pill-wrap{left:auto;right:var(--g);top:34px;transform:none}
  .pill{width:60px;height:24px;padding:0;background:transparent;justify-content:flex-end}
  .pill.is-small{width:60px}
  .pill.is-open{width:60px;background:transparent;color:var(--ink)}
  .pill-label{display:none}
  .menu{position:fixed;top:0;right:0;width:min(420px,100vw);height:auto;
    margin:0;border-radius:0;padding:81px var(--g) 8px}
  .pill{position:relative;z-index:2}
  .is-menu-open .hdr{z-index:45;pointer-events:none}
  .is-menu-open .hdr-logo{color:#fff;pointer-events:auto}
  .is-menu-open .pill{color:#fff}
  .hero-intro{display:none}
  .wordmark{margin-top:0;padding-top:206px}
  .hero-shot{margin-left:0;margin-right:0}
  .grow-word,.grow-est,.grow-mel{opacity:1}
  .grow-word{left:0;right:0;top:auto;transform:none;text-align:center}
  .grow-left{top:calc(23px + (1 - var(--p,0)) * 50px)}
  .grow-right{bottom:calc(29px + (1 - var(--p,0)) * 50px)}
  .grow-est,.grow-mel{top:50%;bottom:auto;left:auto;right:auto;transform:translateY(-50%);
    writing-mode:sideways-lr;text-align:left}
  .grow-est{left:calc(var(--g) + 22px + (1 - var(--p,0)) * 50px)}
  .grow-mel{right:calc(var(--g) + 22px + (1 - var(--p,0)) * 50px);writing-mode:sideways-rl}
  .split,.split-wide{grid-template-columns:1fr;margin-top:24px}
  .split .col-body{margin-top:34px}
  .split .col-body > .par{margin-top:48px;aspect-ratio:841/1006}
  .band{margin-top:150px}
  .cards-a{margin-top:60px}
  .card-1{margin-left:0;width:100%;aspect-ratio:auto}
  .cards-b{padding:140px var(--g) 0;margin-top:0;display:grid;gap:140px}
  .cards-b .card{position:static;width:100%;aspect-ratio:auto}
  .card{overflow:visible}
  .card .par{position:relative;inset:auto;overflow:hidden;aspect-ratio:841/1006}
  .card-cap{opacity:1;color:var(--ink);position:static;padding:0 0 6px}
  .card-arrow{display:none}
  .collab .rows{margin-top:34px}
  .slider{margin-top:44px}
  .quote-band .label{margin-top:60px}
  .story + .story-cap{margin-top:40px}
  .award-rows li{grid-template-columns:1fr auto;row-gap:2px}
  .award-rows li span:nth-child(2){grid-column:1;text-align:left;opacity:.72}
  .foot-top{flex-direction:column;gap:56px}
  .foot-right{width:100%}
  .foot-social{text-align:left}
  .foot-card{aspect-ratio:347/194}
  .foot-card .card-cap{position:absolute;color:#fff;padding:0 15px}
}
@media (max-width:560px){
  .wordmark{padding-top:485px}
  .hero-shot{margin:23px calc(var(--g) * -1) 0;padding:0}
  .band{margin-top:90px}
  .cards-b{gap:60px;padding-top:60px}
  .menu ul li a{padding:21px 0}
}
@media (prefers-reduced-motion:reduce){
  .rise .w,li.rise{transform:none!important;opacity:1!important}
  .slider-track{transition:none}
}
