*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;overflow-x:hidden;background:#0E0E0D;color:#EDEAE3;font-family:Archivo,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:#EDEAE3;text-decoration:none}
a:hover{color:#FF5B1F}
img{display:block}
.wrap{max-width:1400px;margin:0 auto;padding-left:40px;padding-right:40px}
.wide{font-stretch:125%}
.upper{text-transform:uppercase}
.muted{color:#8A867E}

/* header */
.site-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:20px;padding-top:30px;padding-bottom:30px;border-bottom:1px solid #2A2926}
.brand{font-stretch:125%;font-weight:900;font-size:22px;letter-spacing:-.02em;text-transform:uppercase}
.site-head nav{display:flex;flex-wrap:wrap;gap:36px;font-size:15px;font-weight:500}
.tagline{font-size:14px;color:#8A867E}

/* hero */
.hero{padding-top:84px;padding-bottom:40px}
.hero h1{margin:0;font-stretch:125%;font-weight:900;font-size:clamp(48px,10vw,156px);line-height:.86;letter-spacing:-.05em;text-transform:uppercase}
.hero h1 .line{display:block}
.hero h1 .row{display:flex;flex-wrap:wrap;align-items:center;gap:.16em}
.hero h1 .icons{display:inline-flex;gap:.07em}
.hero h1 .icons img{width:.8em;height:.8em;border-radius:.19em}
.hero h1 .accent{color:#FF5B1F}
@keyframes bob{0%,100%{transform:translateY(0) rotate(var(--r,0deg))}50%{transform:translateY(-.08em) rotate(calc(var(--r,0deg) * -1))}}
.bob{animation:bob 3.8s ease-in-out infinite}

.belts{position:relative;height:440px;overflow:hidden}
.belts-inner{position:absolute;left:-10%;right:-10%;top:40px;transform:rotate(-4deg);display:flex;flex-direction:column;gap:16px}
.belt{overflow:hidden}
.track{display:flex;width:max-content;gap:16px}
.track.l{animation:left 48s linear infinite}
.track.r{animation:right 56s linear infinite}
@keyframes left{to{transform:translateX(-50%)}}
@keyframes right{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.track img{width:176px;height:176px;border-radius:40px;flex-shrink:0}
.tile{display:flex;align-items:center;height:176px;padding:0 52px;color:#0E0E0D;font-stretch:125%;font-weight:800;font-size:50px;letter-spacing:-.035em;white-space:nowrap;text-transform:uppercase;flex-shrink:0}
.tile.outline{border:2px solid #EDEAE3;color:#EDEAE3}

.intro{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));gap:40px;align-items:end;padding-top:40px;padding-bottom:140px}
.intro p{margin:0;font-size:24px;line-height:1.45;max-width:600px}
.intro .end{display:flex;justify-content:flex-end}

.tlink{display:inline-flex;align-items:center;gap:10px;min-height:44px;border-bottom:1px solid #EDEAE3;font-weight:500;transition:color .25s,border-color .25s}
.tlink:hover{color:#FF5B1F;border-color:#FF5B1F}
.btn{display:inline-flex;align-items:center;gap:12px;min-height:56px;padding:0 24px 0 18px;border-radius:12px;background:#EDEAE3;color:#0E0E0D;transition:background .25s}
.btn:hover{background:#FF5B1F;color:#0E0E0D}
.btn .small{display:block;font-size:12px;font-weight:500}
.btn .big{display:block;font-stretch:125%;font-size:19px;font-weight:800;letter-spacing:-.02em}
.btn span.txt{display:flex;flex-direction:column;line-height:1.1}

/* work */
.work-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:20px;padding-bottom:32px;border-bottom:1px solid #EDEAE3}
.work-head h2{margin:0;font-stretch:125%;font-weight:900;font-size:clamp(34px,7vw,108px);line-height:.86;letter-spacing:-.05em;text-transform:uppercase}
.case{padding-bottom:150px}
.meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));gap:16px;padding:22px 0;border-bottom:1px solid #2A2926;font-size:14px;color:#8A867E}
.meta .hi{color:#EDEAE3}
.meta .status{text-align:right}
.stage{position:relative;height:760px;margin-top:40px;background:#1A1A18;overflow:hidden}
.stage .lab{position:absolute;top:26px;font-size:14px}
.stage .lab.l{left:36px;font-stretch:125%;font-weight:900;font-size:15px;letter-spacing:.02em;text-transform:uppercase}
.stage .lab.r{right:36px}
.bigword{position:absolute;left:36px;bottom:20px;font-stretch:125%;font-weight:900;font-size:200px;line-height:.8;letter-spacing:-.06em;text-transform:uppercase;white-space:nowrap}
.phone{background:#0B0B0A;box-shadow:0 40px 80px rgba(0,0,0,.35)}
.screen{width:100%;height:100%;background:#262522;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;color:#CFCBC2;font-stretch:125%;font-weight:800;letter-spacing:-.02em;text-transform:uppercase}
.mover{transition:transform .8s cubic-bezier(.2,.7,.1,1)}
.case:hover .mover{transform:translateY(-14px)}
.case-foot{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(480px,100%),1fr));gap:48px;margin-top:48px}
.case-foot h3{margin:0;overflow-wrap:anywhere;font-stretch:125%;font-weight:900;font-size:clamp(34px,5.2vw,78px);line-height:.88;letter-spacing:-.05em;text-transform:uppercase}
.case-foot p{margin:0;font-size:22px;line-height:1.5;color:#CFCBC2;max-width:560px}
.case-foot .actions{display:flex;flex-wrap:wrap;align-items:center;gap:36px;font-size:17px;margin-top:28px}
.next-row{border-top:1px solid #EDEAE3}

/* studio */
.studio{padding-top:180px;padding-bottom:160px}
.studio .top{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:48px}
.studio .statement{grid-column:span 2;margin:0;font-size:clamp(28px,3.6vw,52px);line-height:1.12;letter-spacing:-.025em}
.disciplines{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));margin-top:110px;border-top:1px solid #2A2926}
.disciplines div{padding:24px 24px 0 0;display:flex;flex-direction:column;gap:10px}
.disciplines .t{font-stretch:125%;font-size:24px;font-weight:700;letter-spacing:-.03em;text-transform:uppercase}

/* contact */
.contact{background:#FF5B1F;color:#0E0E0D}
.contact .inner{padding-top:120px;padding-bottom:110px;display:flex;flex-direction:column;gap:56px}
.contact h2{margin:0;font-stretch:125%;font-weight:900;font-size:clamp(60px,12vw,190px);line-height:.82;letter-spacing:-.055em;text-transform:uppercase}
.contact .row{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:28px;border-top:1px solid #0E0E0D;padding-top:28px}
.contact p{margin:0;font-size:20px;line-height:1.5;max-width:440px}
.contact a.mail{font-stretch:125%;font-weight:800;font-size:clamp(24px,3.4vw,50px);letter-spacing:-.04em;color:#0E0E0D;border-bottom:3px solid #0E0E0D;overflow-wrap:anywhere}
.contact a.mail:hover{color:#0E0E0D;opacity:.75}

/* footer */
.site-foot .inner{padding-top:44px;padding-bottom:56px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:32px;font-size:14px;color:#8A867E}
.site-foot .co{display:flex;flex-direction:column;gap:8px;line-height:1.6}
.site-foot .co strong{color:#EDEAE3;font-weight:600}
.site-foot nav{display:flex;flex-wrap:wrap;gap:28px;align-items:start}
.site-foot nav a{color:#CFCBC2}

/* legal pages */
.legal{padding-top:90px;padding-bottom:140px;max-width:860px}
.legal h1{margin:0 0 12px;font-stretch:125%;font-weight:900;font-size:clamp(44px,7vw,92px);line-height:.9;letter-spacing:-.05em;text-transform:uppercase}
.legal .updated{color:#8A867E;font-size:14px;margin:0 0 56px}
.legal h2{font-stretch:125%;font-size:22px;font-weight:800;letter-spacing:-.02em;text-transform:uppercase;margin:48px 0 14px}
.legal p,.legal li{font-size:18px;line-height:1.65;color:#CFCBC2}
.legal ul{padding-left:22px}
.legal a{border-bottom:1px solid #8A867E}
.legal table{width:100%;border-collapse:collapse;font-size:17px;margin-top:24px}
.legal td{padding:18px 0;border-bottom:1px solid #2A2926;vertical-align:top;color:#CFCBC2}
.legal td:first-child{color:#8A867E;width:38%;padding-right:20px}

@media (max-width:700px){
.wrap{padding-left:22px;padding-right:22px}
.belts{height:300px}
.track img{width:120px;height:120px;border-radius:28px}
.tile{height:120px;font-size:34px;padding:0 32px}
.stage{height:560px}
.stage .scale{transform:scale(.62);transform-origin:bottom center}
.bigword{font-size:110px}
.meta .status{text-align:left}
.studio .statement{grid-column:auto}
}
@media (prefers-reduced-motion:reduce){.bob,.track.l,.track.r{animation:none}}
