@font-face{font-family:'Archivo';font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/archivo-ext-300.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Archivo';font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/archivo-latin-300.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Archivo';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/archivo-ext-300.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Archivo';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/archivo-latin-300.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Archivo';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/archivo-ext-300.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Archivo';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/archivo-latin-300.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Archivo';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/archivo-ext-300.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Archivo';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/archivo-latin-300.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ibm-plex-mono-ext-400.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ibm-plex-mono-latin-400.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/ibm-plex-mono-ext-500.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/ibm-plex-mono-latin-500.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/ibm-plex-mono-ext-600.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/ibm-plex-mono-latin-600.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ibm-plex-sans-ext-400.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ibm-plex-sans-latin-400.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/ibm-plex-sans-ext-400.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/ibm-plex-sans-latin-400.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/ibm-plex-sans-ext-400.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/ibm-plex-sans-latin-400.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

:root{
  --ink:        #17191D;
  --ink-2:      #20242A;
  --ink-3:      #2C3138;
  --screen:     #0D0F12;
  --paper:      #F2EFE8;
  --paper-2:    #EAE6DC;
  --paper-3:    #FFFFFF;
  --line:       #D2CCBE;
  --line-dk:    #33383F;
  --muted:      #6B6559;
  --muted-dk:   #8A8578;
  --body-dk:    #B7B3A8;
  --lede-dk:    #CFCBC0;
  --nav-link:   #D6D2C8;
  --tungsten:      #E26336;
  --tungsten-deep: #CC542F;
  --tungsten-ink:  #A83F22;
  --tungsten-lift: #EC7A50;
  --link:       var(--ink);
  --link-hover: var(--tungsten-ink);
  --font-display: "Archivo", system-ui, sans-serif;
  --font-body:    "IBM Plex Sans", system-ui, sans-serif;
  --font-mono:    "IBM Plex Mono", ui-monospace, monospace;
  --wt-head: 300;
  --wrap-max:   1120px;
  --wrap-pad:   34px;
  --nav-h-max:  108px;
  --nav-h-min:   60px;
  --nav-h:      var(--nav-h-max);
  --logo-h:     100px;
  --logo-top:     4px;
  --logo-h-ft:   56px;
  --radius:     3px;
  --radius-lg:  6px;
  --rail-top:  128px;
  --hero-bg: var(--ink);
  --hero-scrim-l: .90;
  --hero-scrim-r: .40;
  --hero-video-w:      74%;
  --hero-video-top:  -26px;
  --hero-video-right:  -7%;
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:auto;}
html.is-settled{scroll-behavior:smooth;}
body{
  font-family:var(--font-body);
  background:var(--paper);
  color:var(--ink);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none;}
p a:not(.btn){color:var(--link);text-decoration:underline;text-underline-offset:2px;}
p a:not(.btn):hover,p a:not(.btn):focus-visible{color:var(--link-hover);}

img{max-width:100%;display:block;}
:focus-visible{outline:2px solid var(--tungsten);outline-offset:3px;}
::selection{background:var(--tungsten);color:var(--ink);}
::-moz-selection{background:var(--tungsten);color:var(--ink);}

.wrap{max-width:var(--wrap-max);margin:0 auto;padding:0 var(--wrap-pad);}
section[id]{scroll-margin-top:calc(var(--nav-h-min) + 12px);}
section.dark, footer.dark, header.dark{background:var(--ink);color:var(--paper);}
.dark{--link:var(--paper);--link-hover:var(--tungsten);}

.mono{font-family:var(--font-mono);}

.eyebrow{
  font-family:var(--font-mono);font-size:11px;letter-spacing:.24em;
  text-transform:uppercase;color:var(--tungsten-ink);
  display:inline-flex;align-items:center;gap:10px;margin-bottom:20px;
}
.eyebrow::before{content:"";width:22px;height:1.5px;background:var(--tungsten);}
.dark .eyebrow{color:var(--tungsten);}
h1 em, h2 em{font-style:normal;color:var(--tungsten-deep);}
.dark h1 em, .dark h2 em{color:var(--tungsten);}

.btn{
  display:inline-block;font-family:var(--font-display);font-weight:600;font-size:13px;
  background:var(--tungsten);color:var(--ink);
  border:1px solid var(--tungsten);border-radius:var(--radius);
  padding:11px 20px;cursor:pointer;
  transition:transform .15s, background .2s, border-color .2s, color .2s;
}
.btn:hover{background:var(--tungsten-lift);border-color:var(--tungsten-lift);transform:translateY(-1px);}

.btn.ghost{background:transparent;color:var(--paper);border-color:var(--line-dk);}
.btn.ghost:hover{background:transparent;border-color:var(--tungsten);color:var(--tungsten);}

.btn.dark{background:var(--ink);color:var(--paper);border-color:var(--ink);}
.btn.dark:hover{background:var(--ink-3);border-color:var(--ink-3);}
header.nav{
  position:fixed;top:0;left:0;right:0;z-index:50;
  padding-right:var(--sbw, 0px);
  background:rgba(23,25,29,.92);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line-dk);color:var(--paper);
}
header.nav.compact{--nav-h:var(--nav-h-min);}
html.is-settling .nav .wrap,
html.is-settling .brand-logo,
html.is-settling .reveal{transition:none !important;}

.nav .wrap{
  display:flex;align-items:center;justify-content:space-between;
  height:var(--nav-h);transition:height .3s ease;
}
.nav-spacer{height:var(--nav-h-max);background:var(--ink);}
.brand-logo{
  display:flex;align-items:flex-start;flex-shrink:0;
  height:var(--nav-h);overflow:hidden;
  transition:height .3s ease;
}
.brand-logo img{
  height:var(--logo-h);width:auto;display:block;
  margin-top:var(--logo-top);
}
.burger{
  --bar-w:42px; --bar-h:2px; --bar-gap:16px;
  position:relative;flex-shrink:0;
  width:60px;height:60px;padding:0;
  background:none;border:0;cursor:pointer;
}
.burger span{
  position:absolute;left:calc(50% - var(--bar-w) / 2);
  width:var(--bar-w);height:var(--bar-h);
  background:var(--paper);border-radius:1px;
  transform:rotate(0deg);
  transition:top .2s .2s, transform .2s;
}
.burger span:nth-child(1){top:calc(50% - var(--bar-gap) / 2 - var(--bar-h));}
.burger span:nth-child(2){top:calc(50% + var(--bar-gap) / 2);}

.burger.is-active span{
  top:calc(50% - var(--bar-h) / 2);
  transition:top .2s .4s, transform .2s .6s;
}
.burger.is-active span:nth-child(1){transform:rotate(45deg);}
.burger.is-active span:nth-child(2){transform:rotate(-45deg);}

.burger:hover span{background:var(--tungsten);}
.menu{
  position:fixed;inset:0;z-index:45;
  padding-right:var(--sbw, 0px);
  background:var(--ink);
  display:flex;align-items:center;
  overflow-y:auto;overscroll-behavior:contain;
  transform:translateY(-100%);
  transition:transform .4s ease, visibility 0s linear .4s;
  visibility:hidden;
}
.menu.is-open{
  transform:translateY(0);
  visibility:visible;
  transition:transform .4s ease, visibility 0s;
}

.menu__inner{width:100%;padding-top:var(--nav-h-max);padding-bottom:40px;}
.menu__list{list-style:none;text-align:right;}
.menu__list li + li{margin-top:6px;}
.menu__list a{
  display:inline-block;
  font-family:var(--font-display);font-weight:var(--wt-head);
  font-size:clamp(38px,7vw,78px);line-height:1.08;letter-spacing:-.025em;
  color:var(--paper);transition:color .2s ease;
}
.menu__list a:hover,
.menu__list a[aria-current="page"]{color:var(--tungsten);}
.menu__list li{
  opacity:0;transform:translateY(14px);
  transition:opacity .3s ease, transform .3s ease;
}
.menu.is-open .menu__list li{opacity:1;transform:none;}
.menu.is-open .menu__list li:nth-child(1){transition-delay:.22s;}
.menu.is-open .menu__list li:nth-child(2){transition-delay:.28s;}
.menu.is-open .menu__list li:nth-child(3){transition-delay:.34s;}
.menu.is-open .menu__list li:nth-child(4){transition-delay:.40s;}

.spine{position:fixed;left:26px;top:0;bottom:0;width:2px;z-index:40;display:none;}
.spine .rail{position:absolute;top:var(--rail-top);bottom:70px;left:0;width:2px;background:var(--line);}
.spine.dk .rail{background:var(--line-dk);}
.spine .head{
  position:absolute;left:-4px;top:var(--rail-top);width:10px;height:10px;border-radius:50%;
  background:var(--tungsten);box-shadow:0 0 0 4px rgba(226,99,54,.18);
  transition:top .1s linear;
}

.ticks{position:fixed;left:44px;top:0;bottom:0;z-index:40;display:none;}
.ticks a{
  position:absolute;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;
  color:var(--muted);white-space:nowrap;transition:color .2s;
}
.ticks.dk a{color:var(--muted-dk);}
.ticks a.active{color:var(--tungsten-ink);}
.ticks.dk a.active{color:var(--tungsten);}
.ticks a::before{
  content:"";position:absolute;left:-18px;top:6px;width:9px;height:1px;
  background:currentColor;opacity:.5;
}

@media (min-width:1240px){.spine,.ticks{display:block;}}

.section{padding:78px 0;position:relative;}
.section.alt{background:var(--paper-2);}

.s-head{max-width:60ch;margin-bottom:40px;}
.s-head h2{
  font-family:var(--font-display);font-weight:var(--wt-head);font-size:clamp(24px,3vw,34px);
  letter-spacing:-.02em;line-height:1.1;
}
.s-head p{margin-top:12px;color:var(--muted);font-size:15px;}
.dark .s-head p{color:var(--body-dk);}
section.hero{background:var(--hero-bg);color:var(--paper);padding:70px 0 44px;position:relative;overflow:hidden;}
.hero + .section{padding-top:24px;}
.hero .wrap{position:relative;z-index:1;}
.hero .grid{display:grid;grid-template-columns:1fr;gap:44px;}
.hero-art{
  position:absolute;top:0;right:0;z-index:0;
  width:min(62vw,900px);height:100%;
  pointer-events:none;user-select:none;
}
.hero-art__shapes{
  position:absolute;top:85px;right:-3.2%;
  width:81%;height:auto;
  z-index:1;
}
.hero-art__frame{
  position:absolute;top:80px;right:18%;
  width:66%;height:auto;
  overflow:visible;
}
.hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;}
.hero-bg__video{
  position:absolute;
  top:var(--hero-video-top);
  right:var(--hero-video-right);
  width:var(--hero-video-w);
  height:auto;
  display:block;
  opacity:0;
}
.hero-bg__video.is-active{opacity:1;}
.hero-bg__scrim{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,
      rgba(23,25,29,var(--hero-scrim-l)) 0%,
      rgba(23,25,29,.78) 34%,
      rgba(23,25,29,.52) 64%,
      rgba(23,25,29,var(--hero-scrim-r)) 100%),
    linear-gradient(180deg, rgba(23,25,29,.55) 0%, rgba(23,25,29,.15) 40%, rgba(23,25,29,.55) 100%);
}
@media (pointer: coarse), (max-width: 1200px){
  .hero-bg{background:var(--ink);}

  .hero-bg__video{
    top:0;right:0;
    width:100%;height:100%;
    object-fit:cover;object-position:center;
    mix-blend-mode:screen;
  }
  .hero-bg__scrim{
    background:linear-gradient(180deg,
      rgba(23,25,29,.70) 0%,
      rgba(23,25,29,.80) 45%,
      rgba(23,25,29,.90) 100%);
  }
}
@media (max-width:900px){ .hero-art{display:none;} }

@media (prefers-reduced-motion: reduce){
  .hero-bg__video{animation:none;}
}
.hero h1{
  font-family:var(--font-display);font-weight:var(--wt-head);font-size:clamp(34px,5.2vw,62px);
  line-height:1.02;letter-spacing:-.025em;max-width:14ch;
}
.hero .lede{margin-top:22px;font-size:clamp(15px,1.6vw,18px);color:var(--lede-dk);max-width:52ch;}
.hero .actions{margin-top:30px;display:flex;gap:14px;flex-wrap:wrap;}
.reel__video{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;display:block;
  background:var(--screen);
}
.reel .osd.bot,.reel .tag,.reel .play{transition:opacity .25s ease;}
.reel.engaged .osd.bot,
.reel.engaged .tag{opacity:0;}
.reel.engaged .play{opacity:0;pointer-events:none;}
.reel{
  position:relative;border-radius:var(--radius-lg);overflow:hidden;
  background:var(--screen);aspect-ratio:16/9;border:1px solid var(--line-dk);
  box-shadow:0 30px 70px rgba(0,0,0,.45);
}
.reel .scan{position:absolute;inset:0;pointer-events:none;mix-blend-mode:overlay;
  background:repeating-linear-gradient(0deg, rgba(255,255,255,.035) 0 1px, transparent 1px 3px);}
.reel .grain{position:absolute;inset:0;opacity:.06;pointer-events:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");}
.reel .brk{position:absolute;width:22px;height:22px;border:2px solid rgba(242,239,232,.65);z-index:3;}
.reel .brk.tl{top:16px;left:16px;border-right:0;border-bottom:0;}
.reel .brk.tr{top:16px;right:16px;border-left:0;border-bottom:0;}
.reel .brk.bl{bottom:16px;left:16px;border-right:0;border-top:0;}
.reel .brk.br{bottom:16px;right:16px;border-left:0;border-top:0;}
.reel .osd{position:absolute;left:22px;right:22px;display:flex;justify-content:space-between;
  font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:rgba(242,239,232,.82);z-index:3;}
.reel .osd.top{top:22px;}
.reel .osd.bot{bottom:22px;}
.reel .rec{display:inline-flex;align-items:center;gap:7px;color:#E6693F;}
.reel .rec .dot{width:8px;height:8px;border-radius:50%;background:#E6693F;animation:blink 1.4s steps(1) infinite;}
.reel .tag{position:absolute;left:22px;bottom:52px;z-index:3;
  font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(242,239,232,.55);}

.reel .play{
  position:absolute;inset:0;margin:auto;width:74px;height:74px;border-radius:50%;
  background:rgba(23,25,29,.5);border:1.5px solid rgba(242,239,232,.8);color:var(--paper);
  display:flex;align-items:center;justify-content:center;z-index:4;cursor:pointer;
  backdrop-filter:blur(3px);transition:transform .18s, background .2s, opacity .2s;
}
.reel .play:hover{transform:scale(1.06);background:rgba(226,99,54,.85);border-color:var(--tungsten);color:var(--ink);}
.reel .play svg{width:24px;height:24px;margin-left:3px;}
.reel.playing .play{opacity:0;pointer-events:none;}

@keyframes blink{50%{opacity:.25;}}

.phero{background:var(--ink);color:var(--paper);padding:66px 0 60px;}
.phero .top{display:grid;grid-template-columns:1.25fr 1fr;gap:48px;align-items:end;}
.phero h1{
  font-family:var(--font-display);font-weight:var(--wt-head);font-size:clamp(32px,4.6vw,54px);
  line-height:1.03;letter-spacing:-.025em;
}
.phero .lede{margin-top:20px;color:var(--lede-dk);font-size:16px;max-width:48ch;}
.phero--band{padding-bottom:0;}
.phero__band{display:block;width:100%;margin-top:44px;font-size:0;}
.phero__band img{display:block;width:100%;height:auto;}

.runline{margin-top:22px;font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;color:var(--muted-dk);}
.runline b{color:var(--tungsten);font-weight:500;}
.index{border-top:1px solid var(--line-dk);}
.index a{
  display:flex;align-items:baseline;gap:14px;padding:12px 0;
  border-bottom:1px solid var(--line-dk);transition:padding-left .2s, color .2s;
}
.index a:hover{padding-left:8px;color:var(--tungsten);}
.index .num{font-family:var(--font-mono);font-size:12px;color:var(--tungsten);width:26px;}
.index .nm{font-family:var(--font-display);font-weight:600;font-size:15px;}
.index .tc{margin-left:auto;font-family:var(--font-mono);font-size:10.5px;color:var(--muted-dk);}
.trusted{
  display:flex;align-items:center;gap:26px;flex-wrap:wrap;
  padding:26px 0;border-top:1px solid var(--line-dk);border-bottom:1px solid var(--line-dk);
}
.trusted.rule-top{border-bottom:0;margin-top:28px;padding:24px 0 0;}
.trusted .lab{font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--muted-dk);}
.trusted .row{
  display:flex;align-items:center;flex-wrap:nowrap;
  flex:1 0 auto;justify-content:space-between;
  gap:24px;
}
.tlogo{
  position:relative;display:block;overflow:hidden;
  height:var(--h);
  width:calc(var(--h) * var(--iw) / var(--ih));
  opacity:.82;transition:opacity .2s ease;
}
.tlogo:hover{opacity:1;}
.tlogo img{
  position:absolute;max-width:none;
  width:calc(var(--h) * var(--vw) / var(--ih));
  left:calc(var(--h) * var(--ix) / var(--ih) * -1);
  top:calc(var(--h) * var(--iy) / var(--ih) * -1);
}
.tlogo--pg img{height:auto;}
.tlogo--ms      {--h:24px;--vw:482; --ix:72;     --iy:72;     --iw:337.6;  --ih:72;}
.tlogo--pg      {--h:40px;--vw:848; --ix:0;      --iy:0;      --iw:848;    --ih:880;}
.tlogo--quantum {--h:21px;--vw:200; --ix:1.5;    --iy:9.13;   --iw:196.5;  --ih:33.5;}
.tlogo--danlaw  {--h:25px;--vw:640; --ix:168.33; --iy:204.23; --iw:303.35; --ih:71.45;}
.tlogo--bitbrew {--h:29px;--vw:640; --ix:145.48; --iy:188.08; --iw:349.04; --ih:103.84;}
.tlogo--kanerika{--h:31px;--vw:640; --ix:210.86; --iy:199.98; --iw:218.5;  --ih:79.66;}
@media (max-width:1000px){
  .trusted .row{
    flex:1 1 100%;flex-wrap:wrap;
    justify-content:flex-start;
    gap:32px;row-gap:20px;
  }
}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:5px;overflow:hidden;}
.svc-cell{background:var(--paper);padding:26px 24px;transition:background .2s;}
.section.alt .svc-cell{background:var(--paper-2);}
.svc-cell:hover{background:var(--paper-3);}
.svc-cell .n{font-family:var(--font-mono);font-size:11px;color:var(--tungsten-ink);letter-spacing:.14em;}
.svc-cell h3{font-family:var(--font-display);font-weight:600;font-size:17px;margin:12px 0 7px;}
.svc-cell p{font-size:13.5px;color:var(--muted);}
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.case{border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:var(--paper);
  transition:transform .18s, box-shadow .2s;position:relative;}
.case:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(23,25,29,.14);}
.case__link{color:inherit;text-decoration:none;}
.case__link::after{content:"";position:absolute;inset:0;z-index:4;}
.case:hover .case__link{color:var(--tungsten-ink);}
.case__more{
  margin-top:14px;display:inline-flex;align-items:center;gap:8px;
  font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink);
}
.case__more span{color:var(--tungsten);display:inline-block;transition:transform .18s ease;}
.case:hover .case__more span{transform:translateX(4px);}
@media (prefers-reduced-motion: reduce){
  .case__more span{transition:none;}
}

.thumb{aspect-ratio:16/10;position:relative;background:var(--screen);overflow:hidden;}
.thumb .fill{position:absolute;inset:0;}
.thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.thumb .g1{background:
  radial-gradient(100% 80% at 25% 20%, rgba(226,99,54,.35), transparent 55%),
  linear-gradient(130deg,#1a1f27,#0d0f12);}
.thumb .g2{background:
  radial-gradient(100% 80% at 75% 30%, rgba(70,110,140,.4), transparent 55%),
  linear-gradient(130deg,#161b22,#0d0f12);}
.thumb .g3{background:repeating-linear-gradient(135deg,#1a1e25 0 14px,#14181e 14px 28px);}
.thumb .lab{position:absolute;left:14px;top:12px;z-index:2;font-family:var(--font-mono);
  font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:rgba(242,239,232,.7);}
.thumb .br{position:absolute;width:16px;height:16px;border:2px solid rgba(242,239,232,.5);z-index:2;}
.thumb .br.tr{top:10px;right:10px;border-left:0;border-bottom:0;}
.thumb .br.br2{bottom:10px;right:10px;border-left:0;border-top:0;}

.case .body{padding:18px 18px 20px;}
.case .body h3{font-family:var(--font-display);font-weight:700;font-size:16px;line-height:1.2;}
.case .body .client{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--tungsten-ink);margin:8px 0;}
.case .body p{font-size:13px;color:var(--muted);}
.case .body p .tbd{color:var(--tungsten-ink);font-weight:600;}

.case.ph{border-style:dashed;display:flex;align-items:center;justify-content:center;text-align:center;padding:30px;}
.case.ph .k{font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted);}
.case.ph h3{font-family:var(--font-display);font-weight:600;font-size:16px;color:var(--ink);margin-top:8px;}
.case.ph p{font-size:12.5px;color:var(--muted);margin-top:6px;}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.step{border-top:2px solid var(--tungsten);padding-top:18px;}
.step .tc{font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--tungsten-ink);}
.dark .step .tc{color:var(--tungsten);}
.step h3{font-family:var(--font-display);font-weight:700;font-size:19px;margin:8px 0;}
.step p{font-size:14px;color:var(--muted);}
.dark .step p{color:var(--body-dk);}
.aud-cards{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.aud-card{border:1px solid var(--line);border-radius:var(--radius-lg);padding:30px 28px;background:var(--paper);}
.section.alt .aud-card{background:var(--paper-3);}
.aud-card .k{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--tungsten-ink);}
.aud-card h3{font-family:var(--font-display);font-weight:700;font-size:21px;margin:12px 0 10px;letter-spacing:-.01em;}
.aud-card p{font-size:14px;color:var(--muted);}

.cap{padding:60px 0;border-bottom:1px solid var(--line);}
.cap.alt{background:var(--paper-2);}
.cap .row{display:grid;grid-template-columns:1fr 1fr;gap:52px;}
.cap .lead .num{font-family:var(--font-mono);font-size:14px;color:var(--tungsten-ink);letter-spacing:.14em;}
.cap .lead h2{font-family:var(--font-display);font-weight:var(--wt-head);font-size:clamp(23px,2.7vw,30px);
  letter-spacing:-.02em;line-height:1.08;margin:12px 0 14px;}
.cap .lead p{color:var(--muted);font-size:15px;max-width:42ch;}

.bestfor{
  margin-top:18px;display:inline-flex;align-items:center;gap:9px;
  font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted);border:1px solid var(--line);border-radius:var(--radius);padding:6px 12px;
}
.bestfor b{color:var(--ink);font-weight:600;}

.deliver .dh{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--tungsten-ink);margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--line);}
.deliver ul{list-style:none;}
.deliver li{display:flex;gap:12px;padding:9px 0;font-size:14.5px;border-bottom:1px dotted var(--line);}
.deliver li:last-child{border-bottom:0;}
.deliver li::before{content:"";flex-shrink:0;width:6px;height:6px;margin-top:8px;
  background:var(--tungsten);transform:rotate(45deg);}

.formats{margin-top:18px;display:flex;gap:8px;flex-wrap:wrap;}
.fchip{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;color:var(--muted);
  border:1px solid var(--line);border-radius:2px;padding:4px 9px;}
.toolkit{background:var(--ink);color:var(--paper);padding:56px 0;}
.toolkit h2{font-family:var(--font-display);font-weight:var(--wt-head);font-size:clamp(21px,2.4vw,28px);
  letter-spacing:-.02em;max-width:24ch;}
.toolkit p{color:var(--body-dk);font-size:14.5px;margin-top:12px;max-width:52ch;}
.kit{margin-top:26px;display:flex;gap:10px;flex-wrap:wrap;}
.kit .k{font-family:var(--font-display);font-weight:600;font-size:14px;color:var(--paper);
  border:1px solid var(--line-dk);border-radius:var(--radius);padding:9px 16px;}
.kit .k span{color:var(--muted-dk);font-family:var(--font-mono);font-size:10px;font-weight:400;
  display:block;letter-spacing:.08em;text-transform:uppercase;margin-top:2px;}

.aud{padding:64px 0;border-bottom:1px solid var(--line);}
.aud.alt{background:var(--paper-2);}
.aud-head{max-width:70ch;margin-bottom:34px;}
.aud-head .num{font-family:var(--font-mono);font-size:13px;color:var(--tungsten-ink);letter-spacing:.14em;}
.aud-head .nm{font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--muted);margin-left:10px;}
.aud-head h2{font-family:var(--font-display);font-weight:var(--wt-head);font-size:clamp(24px,3.2vw,36px);
  letter-spacing:-.025em;line-height:1.08;margin-top:14px;}

.aud-row{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;}
.aud-row .situation{font-size:15.5px;color:var(--muted);max-width:46ch;}
.aud-row .situation strong{color:var(--ink);font-weight:600;}

.checklist{margin-top:24px;}
.checklist .h{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--tungsten-ink);margin-bottom:14px;}
.checklist ul{list-style:none;}
.checklist li{display:flex;gap:12px;padding:8px 0;font-size:14.5px;}
.checklist li .mk{flex-shrink:0;width:17px;height:17px;border:1.5px solid var(--tungsten);
  border-radius:var(--radius);display:flex;align-items:center;justify-content:center;margin-top:2px;}
.checklist li .mk::after{content:"";width:8px;height:4px;
  border-left:2px solid var(--tungsten-deep);border-bottom:2px solid var(--tungsten-deep);
  transform:rotate(-45deg) translate(0,-1px);}
.brief{
  background:var(--ink);color:var(--paper);border-radius:var(--radius-lg);
  padding:26px 26px 22px;align-self:start;box-shadow:0 16px 40px rgba(23,25,29,.18);
}
.brief .bh{
  display:flex;justify-content:space-between;align-items:center;
  font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--muted-dk);padding-bottom:16px;border-bottom:1px solid var(--line-dk);
}
.brief .bh .rec{color:var(--tungsten);}
.brief .field{padding:15px 0;border-bottom:1px solid var(--line-dk);}
.brief .field:last-child{border-bottom:0;padding-bottom:2px;}
.brief .lab{font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted-dk);margin-bottom:8px;}
.brief .val{font-size:14px;color:#E7E3D8;}
.brief .val.big{font-family:var(--font-display);font-weight:600;font-size:15px;color:var(--paper);}
.brief .val.sub{margin-top:6px;color:var(--body-dk);}
.brief .tags{display:flex;gap:7px;flex-wrap:wrap;}
.brief .tags span{font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;color:var(--nav-link);
  border:1px solid var(--line-dk);border-radius:2px;padding:4px 9px;}
.standard{background:var(--ink);color:var(--paper);padding:60px 0;}
.standard h2{font-family:var(--font-display);font-weight:var(--wt-head);font-size:clamp(22px,2.7vw,32px);
  letter-spacing:-.02em;max-width:20ch;}
.standard p{color:var(--body-dk);font-size:15px;margin-top:14px;max-width:56ch;}
.fit{padding:58px 0;border-bottom:1px solid var(--line);}
.fit .inner{max-width:60ch;}
.fit h2{font-family:var(--font-display);font-weight:var(--wt-head);font-size:clamp(20px,2.3vw,26px);letter-spacing:-.02em;}
.fit p{color:var(--muted);font-size:15px;margin-top:14px;}
.fit p b{color:var(--ink);font-weight:600;}

.cta-band{background:var(--ink);color:var(--paper);padding:76px 0;text-align:center;}
.cta-band h2{font-family:var(--font-display);font-weight:var(--wt-head);font-size:clamp(26px,3.6vw,42px);
  letter-spacing:-.025em;line-height:1.05;max-width:20ch;margin:0 auto;}
.cta-band .actions{margin-top:28px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.cta-band .mailto{margin-top:20px;font-family:var(--font-mono);font-size:13px;color:var(--body-dk);}
.cta-band .mailto a{color:var(--tungsten);}

footer.ft{background:var(--ink);color:var(--body-dk);border-top:1px solid var(--line-dk);padding:40px 0;}
.ft .row{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;}
.ft .brand-logo{height:auto;overflow:visible;transition:none;}
.ft .brand-logo img{height:var(--logo-h-ft);margin-top:0;}
.ft .links{display:flex;gap:22px;font-size:13px;flex-wrap:wrap;}
.ft .links a:hover{color:var(--tungsten);}
.ft-right{display:flex;align-items:center;gap:28px;flex-wrap:wrap;}
.social{display:flex;align-items:center;gap:15px;}
.social a{
  display:inline-flex;color:var(--paper-2);
  transition:color .2s, transform .15s;
}
.social a:hover{color:var(--tungsten);transform:translateY(-1px);}
.social svg{width:18px;height:18px;fill:currentColor;display:block;}
.ft .meta{font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;margin-top:16px;color:var(--muted-dk);}
html:not(.ready) .menu,
html:not(.ready) .burger span,
html:not(.ready) .nav .wrap,
html:not(.ready) .brand-logo{transition:none !important;}

.js .reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease, transform .6s ease;}
.js .reveal.in{opacity:1;transform:none;}

.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
a.sr-only:focus{
  position:fixed;top:12px;left:12px;
  width:auto;height:auto;margin:0;padding:11px 18px;
  clip:auto;clip-path:none;overflow:visible;
  z-index:61;
  background:var(--ink);color:var(--paper);
  outline:2px solid var(--tungsten);outline-offset:2px;
  font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;
  text-transform:uppercase;text-decoration:none;
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .js .reveal{opacity:1;transform:none;transition:none;}
  .reel .rec .dot{animation:none;}
  .spine .head{transition:none;}
  .btn:hover,.case:hover,.social a:hover{transform:none;}
  .nav .wrap,.brand-logo{transition:none;}
  .burger span,.burger.is-active span{transition:none;}
  .menu{transition:visibility 0s linear .001s;}
  .menu.is-open{transition:visibility 0s;}
  .menu__list li{transition:none;opacity:1;transform:none;}
}

@media (max-width:900px){
  .svc-grid{grid-template-columns:1fr 1fr;}
  .work-grid{grid-template-columns:1fr;}
  .steps{grid-template-columns:1fr;gap:20px;}
  .aud-cards{grid-template-columns:1fr;}
  .phero .top{grid-template-columns:1fr;gap:34px;}
  .cap .row{grid-template-columns:1fr;gap:26px;}
  .aud-row{grid-template-columns:1fr;gap:28px;}

}

@media (max-width:560px){
  :root{
    --wrap-pad:22px;
    --nav-h-max:76px;--nav-h-min:52px;
    --logo-h:70px;--logo-top:3px;
  }
  .svc-grid{grid-template-columns:1fr;}
}

.problem-art{
  position:absolute;left:0;right:0;bottom:0;
  pointer-events:none;
}
.problem-art .wrap{display:flex;justify-content:flex-end;}
.problem-art img{display:block;width:min(54%,520px);height:auto;}
@media (max-width:900px){
  .section:has(> .problem-art){padding-bottom:0;}
  .problem-art{position:static;margin-top:44px;}
  .problem-art .wrap{justify-content:center;}
  .problem-art img{width:min(86%,420px);}
}
.ft .meta a{color:inherit;text-decoration:underline;text-underline-offset:2px;}
.ft .meta a:hover{color:var(--tungsten);}

.to-top{
  position:fixed;
  right:0;
  bottom:0;
  z-index:44;
  width:48px;
  height:48px;
  padding:0;
  border:0;
  cursor:pointer;
  display:grid;
  place-items:center;

  background:rgba(204,84,47,.9);
  clip-path:polygon(16px 0, 100% 0, 100% calc(100% - 16px), calc(100% - 16px) 100%, 0 100%, 0 16px);
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:opacity .35s ease, transform .35s ease, background-color .25s ease,
             visibility 0s linear .35s;
}

.to-top__mark{
  position:relative;
  width:26px;
  height:26px;
  display:block;
  transition:transform .3s ease;
}
.to-top__mark path{
  fill:none;
  stroke:#EAE6DC;
  stroke-width:2.6;
  stroke-linecap:square;
  stroke-linejoin:miter;
}
.to-top.is-visible{
  opacity:1;
  visibility:visible;
  transform:none;
  transition:opacity .35s ease, transform .35s ease, background-color .25s ease;
}
.to-top:hover{background:rgba(204,84,47,1);}
.to-top:hover .to-top__mark,
.to-top:focus-visible .to-top__mark{transform:translateY(-3px);}
.to-top:active .to-top__mark{transform:translateY(-1px);}
.to-top:focus-visible{
  outline:none;
  background:var(--ink);
}
.to-top:focus-visible::before{
  content:"";
  position:absolute;
  inset:3px;
  background:rgba(204,84,47,1);
  clip-path:polygon(13px 0, 100% 0, 100% calc(100% - 13px), calc(100% - 13px) 100%, 0 100%, 0 13px);
}
body:has(.menu.is-open) .to-top{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
@media (max-width:560px){
  .to-top{
    width:42px;
    height:42px;
    clip-path:polygon(14px 0, 100% 0, 100% calc(100% - 14px), calc(100% - 14px) 100%, 0 100%, 0 14px);
  }
  .to-top:focus-visible::before{
    clip-path:polygon(11px 0, 100% 0, 100% calc(100% - 11px), calc(100% - 11px) 100%, 0 100%, 0 11px);
  }
  .to-top__mark{width:23px;height:23px;}
}
@media (prefers-reduced-motion:reduce){
  .to-top,
  .to-top.is-visible{transform:none;transition:opacity .01s linear, visibility 0s;}
  .to-top__mark{transition:none;}
  .to-top:hover .to-top__mark,
  .to-top:focus-visible .to-top__mark{transform:none;}
}
