@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/inter-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/inter-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/inter-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/inter-latin-700-normal.woff2) format("woff2")}
:root{
  --bg:#111111; --text:#F2F2F0; --muted:#9A9A95; --body:#BDBDB8; --soft:#C9C9C4; --dim:#6A6A66; --line:#2A2A28; --accent:#f15025;
  --pad:20px; --card-h:min(288px,34vh); --card-gap:10px; --hero-gap:30px;
}
@supports (height:1svh){ :root{ --card-h:min(288px,34svh); } }
@media (min-width:1024px){ :root{ --pad:48px; --card-h:clamp(180px,26vh,300px); --card-gap:16px; --hero-gap:44px; } }
*,*::before,*::after{box-sizing:border-box}
html{background:var(--bg);color-scheme:dark;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:"Inter","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
img{max-width:100%}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--text);outline-offset:3px;border-radius:2px}
::selection{background:var(--text);color:var(--bg)}
.wrap{max-width:1440px;margin:0 auto;padding:0 var(--pad)}
.skip{position:absolute;left:-9999px;top:0}
.skip:focus{left:var(--pad);top:12px;z-index:10;background:var(--text);color:var(--bg);padding:10px 14px;font-weight:600}

/* Hero */
.hero{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;gap:var(--hero-gap);overflow:hidden;padding:24px 0}
.marquee{overflow:hidden}
.marquee{touch-action:pan-y pinch-zoom;cursor:grab;user-select:none;-webkit-user-select:none}
.marquee.is-dragging{cursor:grabbing}
.track{list-style:none;margin:0;padding:0;display:flex;width:max-content;will-change:transform}
.marquee img{-webkit-user-drag:none;pointer-events:none}
@keyframes mq-l{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes mq-r{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.no-waapi .marquee[data-dir="1"] .track{animation:mq-l 120s linear infinite}
.no-waapi .marquee[data-dir="-1"] .track{animation:mq-r 120s linear infinite}
.marquee a,.case__toggle,.footer a{-webkit-tap-highlight-color:transparent}
.marquee a{-webkit-touch-callout:none}
.card{position:relative;flex:none;margin-right:var(--card-gap)}
.card a{display:block;color:inherit;border-radius:3px}
.card a:focus-visible{outline-offset:-3px}
.card img{display:block;height:var(--card-h);width:auto;border-radius:3px;filter:grayscale(1);background:#1c1c1b}
@media (min-width:1024px){ .card img{transition:filter .4s ease} }
.card span{position:absolute;left:10px;bottom:8px;font-size:14px;font-weight:600;letter-spacing:-.01em;color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.6)}
@media (min-width:1024px){ .card span{left:12px;bottom:10px;font-size:15px;letter-spacing:-.02em} }
@media (hover:hover){ .card:hover img{filter:none} }
.wordmark{margin:0;padding:0 var(--pad);display:flex;justify-content:center;line-height:0}
.wordmark img{width:min(1000px,72vw);height:auto}
@media (min-width:1024px){ .wordmark img{width:min(1000px,100%)} }

/* About */
.about{padding-top:24px}
.about__title{margin:0;font-weight:600;letter-spacing:-.03em;line-height:1.2;font-size:min(25px,calc((100vw - 40px) / 13.6))}
.about__title span{display:block;white-space:nowrap}
.about__body{margin-top:28px;display:flex;flex-direction:column;gap:16px;font-size:16px;line-height:1.6;color:var(--body)}
.about__body div{display:flex;flex-direction:column;gap:16px}
.about__body p{margin:0}
.about__body strong{font-weight:600;color:var(--text)}
.about__close{margin:16px 0 0;font-size:16px;line-height:1.6;color:var(--body)}
.partners{display:none;list-style:none;margin:88px auto 0;padding:0 var(--pad);max-width:calc(1344px + 2 * var(--pad));grid-template-columns:repeat(8,minmax(0,1fr))}
.partners img{display:block;width:100%;height:auto}
.partner-rows{margin-top:56px;display:flex;flex-direction:column;gap:8px}
.partner-rows .track li{flex:none;width:160px;margin-right:12px}
.partner-rows img{display:block;width:160px;height:auto;opacity:.65}
@media (min-width:1024px){
  .about{padding-top:40px}
  .about__inner{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px}
  .about__content{grid-column:3 / span 10}
  .about__title{font-size:40px;line-height:1.15;text-wrap:balance}
  .about__title span{display:inline;white-space:normal}
  .about__body{margin-top:48px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px;font-size:19px}
  .about__body div{gap:18px}
  .about__close{margin-top:56px;font-size:32px;font-weight:600;line-height:1.25;letter-spacing:-.025em;color:var(--text)}
  .about__close span{display:block;white-space:nowrap}
  .partners{display:grid}
  .partner-rows{display:none}
  .partners img{opacity:.45;transition:opacity .35s ease,transform .35s ease}
  .partners li:hover img{opacity:.9;transform:translateY(-2px)}
}

/* Case studies */
.work{padding-top:64px}
.work__head{margin:0 0 20px}
.work__title{margin:0;font-size:22px;font-weight:600;letter-spacing:-.02em;line-height:1.2}
.cases{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.case{border-bottom:1px solid var(--line)}
.case__heading{margin:0;font:inherit}
.case__toggle{all:unset;box-sizing:border-box;width:100%;min-height:72px;display:flex;align-items:center;gap:14px;cursor:pointer;color:var(--text)}
.case__toggle:focus-visible{outline:2px solid var(--text);outline-offset:4px}
.case__num{width:24px;flex:none;font-size:12px;font-weight:600;color:var(--muted)}
.case__name{flex:1;font-size:30px;font-weight:600;letter-spacing:-.035em;line-height:1.05;color:var(--dim);transition:color .4s ease}
.case.is-open .case__name{color:var(--text)}
@media (hover:hover){ .case__toggle:hover .case__name{color:var(--text)} }
.case__icon{width:44px;height:44px;flex:none;border:1px solid #3A3A38;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:20px;line-height:1}
.case__icon::before{content:"+"}
.case.is-open .case__icon::before{content:"\2212"}
.case__body{display:grid;grid-template-rows:1fr;opacity:1;transition:grid-template-rows .5s cubic-bezier(.25,.8,.25,1),opacity .35s ease}
.js .case__body{grid-template-rows:0fr;opacity:0}
.js .case.is-open .case__body{grid-template-rows:1fr;opacity:1}
.case__inner{overflow:hidden;min-height:0}
.case__grid{display:flex;flex-direction:column;gap:16px;padding:4px 0 28px}
.case__text{margin:0;font-size:16px;line-height:1.6;color:var(--soft)}
.case__media{order:-1;position:relative}
.case__photo{display:block;width:100%;height:auto;aspect-ratio:35/38;object-fit:cover;border-radius:2px}
.case__art{position:absolute;right:12px;bottom:12px;width:110px;height:auto;border-radius:2px;box-shadow:0 12px 30px rgba(0,0,0,.55)}
@media (min-width:1024px){
  .work{padding-top:96px}
  .work__head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:end;margin-bottom:28px}
  .work__title{grid-column:3 / span 8;font-size:24px}
  .case__toggle{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;height:80px;min-height:0}
  .case__num{grid-column:span 2;width:auto;font-size:14px}
  .case__name{grid-column:3 / span 9;font-size:54px;line-height:1}
  .case__icon{grid-column:12;justify-self:end;font-size:22px}
  .case__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:end;padding:4px 0 24px}
  .case__text{grid-column:3 / span 4;align-self:end;font-size:18px}
  .case__media{order:0;grid-column:7 / span 6;min-width:0;display:flex;flex-direction:row-reverse;justify-content:flex-start;align-items:flex-end;gap:16px}
  .case__photo{flex:0 1 392px;min-width:0;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover}
  .case__art{position:static;flex:0 1 244px;min-width:0;width:100%;height:auto;box-shadow:none}
}
.arrow{display:inline-block;width:.8em;height:.8em;vertical-align:-.06em;margin-left:.15em;flex:none}
.arrow--lg{width:.85em;height:.85em;margin-left:0;stroke-width:1.4}
/* Footer */
.footer{padding:88px var(--pad) 28px;max-width:1440px;margin:0 auto;display:flex;flex-direction:column;gap:40px}
.footer__title{margin:0;font-size:30px;font-weight:600;letter-spacing:-.03em;line-height:1.1}
.footer__top{display:flex;flex-direction:column;gap:40px}
.footer__lead{display:flex;flex-direction:column;gap:40px}
.footer__email{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;font-size:21px;font-weight:600;letter-spacing:-.02em;padding:6px 0 8px;border-bottom:2px solid var(--text);transition:color .25s ease,border-color .25s ease}
@media (hover:hover){ .footer__email:hover{color:var(--accent);border-color:var(--accent)} }
.footer__info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;font-size:15px;line-height:1.55}
.footer address{font-style:normal;display:flex;flex-direction:column;gap:8px}
.footer__social{display:flex;flex-direction:column;gap:4px}
.footer__social a,.footer address a{padding:6px 0;align-self:flex-start}
.footer address a{color:#B0B0AB;display:none}
@media (hover:hover){ .footer a:not(.footer__email):hover{color:var(--muted)} }
.footer__label{display:none}
.footer__end{display:flex;flex-direction:column;gap:20px}
.footer__logo{display:block;width:100%;height:auto}
.footer__legal{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:16px}
.footer__legal a{padding:8px 0;white-space:nowrap}
.footer__company{margin:-12px 0 0;font-size:11px;line-height:1.5;color:#7E7E79}
@media (min-width:1024px){
  .footer{padding:96px var(--pad) 32px;gap:72px}
  .footer__top{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:end}
  .footer__lead{grid-column:span 7;gap:32px}
  .footer__title{max-width:700px;font-size:56px;letter-spacing:-.035em;line-height:1}
  .footer__email{font-size:30px;gap:14px;padding:0 0 8px}
  .footer__info{display:contents;font-size:16px}
  .footer address{grid-column:9 / span 2;gap:12px}
  .footer address a{font-size:14px;padding:0;display:inline}
  .footer__social{grid-column:11 / span 2;gap:12px}
  .footer__social a{padding:0}
  .footer__label{display:block;font-size:12px;font-weight:600;color:var(--muted)}
  .footer__end{gap:24px}
  .footer__legal{font-size:13px;padding-top:18px}
  .footer__break{display:none}
}
@media (min-width:1024px) and (max-width:1279px){
  .footer address{grid-column:8 / span 3}
  .footer__lead{grid-column:span 7}
}
@media (prefers-reduced-motion:reduce){
    .card img,.partners img,.case__name,.case__body,.footer__email{transition:none}
  .partners li:hover img{transform:none}
}
