/* systems -- Adia Grid Insights. Built by build/build_systems.py. */

:root{
  --void:#08090A;
  --void-2:#101214;
  --bone:#F4F4EF;
  --lime:#C8F02E;
  --lime-2:#A8CC26;
  --ink:#0A0B0C;
  --ink-2:#4A4F51;
  --chalk:#F4F4EF;
  --chalk-2:#9AA1A4;
  --chalk-3:#7C8486;
  --brand:#2E6CBD;

  --rule:rgba(244,244,239,.14);
  --rule-2:rgba(244,244,239,.42);
  --rule-ink:rgba(10,11,12,.16);
  --rule-ink-2:rgba(10,11,12,.52);

  --ground:var(--void);
  --text:var(--chalk);
  --text-2:var(--chalk-2);
  --text-3:var(--chalk-3);
  --hair:var(--rule);
  --hair-2:var(--rule-2);
  --focus:var(--lime);

  --font-display:"Bebas Neue","Arial Narrow",Haettenschweiler,"Franklin Gothic Medium",sans-serif;
  --font-cond:"Barlow Condensed","Arial Narrow",ui-sans-serif,system-ui,sans-serif;
  --font-body:"Barlow",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;

  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px;
  --s7:48px; --s8:64px; --s9:96px; --s10:128px;

  --edge:20px;
  --maxw:1320px;
  --track:.18em;

  --ease-out:cubic-bezier(.22,.61,.36,1);
  --ease-in:cubic-bezier(.55,.06,.68,.19);
  --ease-in-out:cubic-bezier(.65,.05,.36,1);
  --dur-1:120ms; --dur-2:220ms; --dur-3:420ms;
}

@media (min-width:720px){ :root{ --edge:40px } }
@media (min-width:1120px){ :root{ --edge:56px } }

*,*::before,*::after{ box-sizing:border-box }

html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth }
html,body{ overflow-x:clip }

body{
  margin:0;
  background:var(--void);
  color:var(--chalk);
  font-family:var(--font-body);
  font-size:17px;
  font-weight:400;
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
}

img,svg{ max-width:100%; height:auto; display:block }
h1,h2,h3,h4{ margin:0; font-weight:400 }
p,ul,ol,dl,dd,figure,blockquote{ margin:0 }
ul,ol{ padding:0; list-style:none }
a{ color:inherit }

:focus-visible{
  outline:3px solid var(--focus);
  outline-offset:2px;
}

::selection{ background:var(--lime); color:var(--ink) }

.skip{
  position:absolute; left:var(--s4); top:-200px; z-index:90;
  background:var(--lime); color:var(--ink);
  font-family:var(--font-cond); font-weight:600;
  text-transform:uppercase; letter-spacing:var(--track);
  font-size:13px; padding:var(--s3) var(--s5); text-decoration:none;
}
.skip:focus{ top:var(--s4) }

.vh{
  position:absolute!important; width:1px; height:1px; overflow:hidden;
  clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap;
}

/* ------------------------------------------------------------- masthead --- */

.mast{
  position:sticky; top:0; z-index:60;
  background:var(--void);
  border-bottom:1px solid var(--rule);
}
.mast__in{
  max-width:var(--maxw); margin:0 auto;
  padding:0 var(--edge);
  min-height:62px;
  display:flex; align-items:center; flex-wrap:wrap; gap:var(--s5);
}
.wm{
  display:flex; align-items:center; gap:var(--s3);
  text-decoration:none; margin-right:auto;
  font-family:var(--font-display);
  font-size:20px; line-height:1; letter-spacing:.045em;
  color:var(--chalk); white-space:nowrap;
}
.wm{ text-transform:uppercase }
.wm__mark{
  display:block; width:26px; height:20px; overflow:hidden; flex:0 0 26px;
}
.wm__mark img{ width:26px; height:29px; max-width:none }
.wm__t{ display:block }
.wm__hl{
  background:var(--lime); color:var(--ink);
  padding:2px var(--s2) 1px;
}
.nav__list{ display:flex; align-items:center; gap:var(--s5); flex-wrap:wrap }
.nav__list a{
  font-family:var(--font-cond); font-weight:500;
  text-transform:uppercase; letter-spacing:var(--track); font-size:12px;
  color:var(--chalk-2); text-decoration:none;
  padding:var(--s2) 0;
  transition:color var(--dur-1) var(--ease-out);
}
.nav__list a:hover{ color:var(--chalk) }
.mast__cta{ flex:0 0 auto }
.burger{
  display:none; align-items:center; gap:var(--s2);
  background:none; border:1px solid var(--rule-2); color:var(--chalk);
  font-family:var(--font-cond); font-weight:600; font-size:12px;
  text-transform:uppercase; letter-spacing:var(--track);
  padding:var(--s2) var(--s3); cursor:pointer;
}
.burger__bars{ display:block; width:16px; height:9px; position:relative }
.burger__bars::before,.burger__bars::after{
  content:""; position:absolute; left:0; right:0; height:1px;
  background:currentColor;
}
.burger__bars::before{ top:0 } .burger__bars::after{ bottom:0 }

/* --------------------------------------------------------- reading rail --- */

.prog{
  position:fixed; inset:0 0 auto 0; height:2px; z-index:70;
  background:transparent; pointer-events:none;
}
.prog__bar{
  height:100%; background:var(--lime);
  transform:scaleX(0); transform-origin:0 50%;
}

.totop{
  position:fixed; right:var(--s4); bottom:var(--s4); z-index:65;
  display:flex; flex-direction:column; align-items:center; gap:2px;
  background:var(--void-2); color:var(--chalk);
  border:1px solid var(--rule-2);
  padding:var(--s3) var(--s3) var(--s2);
  text-decoration:none;
  font-family:var(--font-cond); font-weight:600; font-size:11px;
  letter-spacing:.12em;
  transition:background var(--dur-1) var(--ease-out),
             opacity var(--dur-2) var(--ease-out);
}
.totop:hover{ background:var(--lime); color:var(--ink); border-color:var(--lime) }
.totop__arrow{ font-size:15px; line-height:1 }
.totop__c{
  display:none; font-variant-numeric:tabular-nums; letter-spacing:.08em;
}
.js .totop__c{ display:block }
.js .totop{ opacity:0; pointer-events:none }
.js .totop.on{ opacity:1; pointer-events:auto }

/* ------------------------------------------------------------- surfaces --- */

.slab{
  background:var(--ground); color:var(--text);
  border-top:1px solid var(--hair);
  padding:var(--s9) 0;
}
.slab--bone{
  --ground:var(--bone);
  --text:var(--ink);
  --text-2:var(--ink-2);
  --text-3:var(--ink-2);
  --hair:var(--rule-ink);
  --hair-2:var(--rule-ink-2);
  --focus:var(--ink);
}
.slab--raised{ --ground:var(--void-2) }
.wrap{ max-width:var(--maxw); margin:0 auto; padding:0 var(--edge) }

.kicker{
  font-family:var(--font-cond); font-weight:600; font-size:12px;
  text-transform:uppercase; letter-spacing:var(--track);
  color:var(--text-2); margin:0 0 var(--s5);
  display:flex; align-items:center; flex-wrap:wrap; gap:var(--s3);
}
.kicker__n{
  background:var(--lime); color:var(--ink); padding:2px var(--s2) 1px;
  font-variant-numeric:tabular-nums;
}
.kicker__r{ flex:1 1 auto; height:1px; background:var(--hair) }

.h2{
  font-family:var(--font-display);
  font-size:clamp(38px,6.4vw,74px); line-height:.94;
  letter-spacing:.012em; text-transform:uppercase;
  max-width:20ch;
}
.head__b{
  margin-top:var(--s5); max-width:62ch;
  color:var(--text-2); font-size:17px;
}

/* ---------------------------------------------------------------- cover --- */

.cover{
  position:relative; overflow:hidden;
  border-top:0;
  padding:clamp(56px,9vw,110px) 0 clamp(40px,6vw,72px);
  min-height:calc(100svh - 62px);
  display:flex; align-items:center;
}
.field{
  position:absolute; inset:0; width:100%; height:100%;
  color:var(--chalk); opacity:.44; z-index:0;
  -webkit-mask-image:linear-gradient(103deg,transparent 0%,transparent 30%,#000 72%);
          mask-image:linear-gradient(103deg,transparent 0%,transparent 30%,#000 72%);
}
.field .lit{ fill:var(--lime); fill-opacity:1 }
.cover__in{ position:relative; z-index:1; width:100% }

.display__a{ display:block }
.display,.h2,.closer__h,.svc__t,.pillar__t,.fact__d,.chan__v,.panel__t{
  overflow-wrap:break-word; min-width:0;
}
.display{
  font-family:var(--font-display);
  font-size:clamp(52px,10.6vw,138px);
  line-height:.9; letter-spacing:.008em;
  text-transform:uppercase;
  margin:0 0 var(--s6);
}
.display__b{
  display:block;
  font-family:var(--font-cond); font-weight:300; font-style:italic;
  text-transform:none; letter-spacing:-.012em;
  font-size:.68em; line-height:1.0;
  color:var(--lime);
}
.lede{ max-width:60ch; color:var(--chalk-2); font-size:clamp(16px,1.4vw,19px) }

.pills{
  display:flex; flex-wrap:wrap; gap:var(--s2);
  margin-top:var(--s6);
}
.pills li{
  border:1px solid var(--rule-2);
  padding:var(--s2) var(--s4);
  font-family:var(--font-cond); font-weight:500; font-size:12px;
  text-transform:uppercase; letter-spacing:.1em;
  color:var(--chalk);
}
.acts{ display:flex; flex-wrap:wrap; gap:var(--s3); margin-top:var(--s7) }

.btn{
  display:inline-flex; align-items:center; gap:var(--s2);
  font-family:var(--font-cond); font-weight:700; font-size:13px;
  text-transform:uppercase; letter-spacing:var(--track);
  padding:var(--s4) var(--s6); text-decoration:none;
  border:1px solid transparent; cursor:pointer;
  transition:background var(--dur-2) var(--ease-out),
             color var(--dur-2) var(--ease-out),
             border-color var(--dur-2) var(--ease-out);
}
.btn--fill{ background:var(--lime); color:var(--ink); border-color:var(--lime) }
.btn--fill:hover{ background:var(--lime-2); border-color:var(--lime-2) }
.btn--fill:active{ background:var(--lime-2) }
.btn--ghost{ background:transparent; color:var(--text); border-color:var(--hair-2) }
.btn--ghost:hover{ background:var(--lime); color:var(--ink); border-color:var(--lime) }
.btn--sm{ padding:var(--s3) var(--s4); font-size:12px }
.btn[aria-disabled="true"]{ opacity:.5; pointer-events:none }

/* ------------------------------------------------------------ stat band --- */

.band{ border-top:1px solid var(--rule); background:var(--void) }
.band__list{
  max-width:var(--maxw); margin:0 auto; padding:0 var(--edge);
  display:grid; grid-template-columns:1fr; 
}
.band__i{
  padding:var(--s7) 0 var(--s6);
  border-top:1px solid var(--rule);
  display:flex; flex-direction:column; justify-content:space-between;
  gap:var(--s5);
}
.band__i:first-child{ border-top:0 }
.band__v{
  display:block;
  font-family:var(--font-display);
  font-size:clamp(46px,7.4vw,92px); line-height:.86;
  letter-spacing:.006em; color:var(--lime);
  font-variant-numeric:tabular-nums;
}
.band__k{
  display:block; margin-top:auto;
  font-family:var(--font-cond); font-weight:500; font-size:12px;
  text-transform:uppercase; letter-spacing:var(--track);
  color:var(--chalk-2); max-width:26ch;
}

/* --------------------------------------------------------------- ticker --- */

.ticker{
  border-top:1px solid var(--rule); border-bottom:1px solid var(--rule);
  background:var(--void-2);
  overflow:hidden; padding:var(--s4) 0;
}
.ticker__track{
  display:flex; width:max-content;
  animation:rail 46s linear infinite;
}
.ticker__run{
  display:flex; align-items:center; flex:0 0 auto;
  font-family:var(--font-cond); font-weight:500; font-size:13px;
  text-transform:uppercase; letter-spacing:var(--track);
  color:var(--chalk-2);
}
.ticker__run > *{ padding:0 var(--s5) }
.ticker__sep{ color:var(--lime) }
@keyframes rail{ from{ transform:translate3d(0,0,0) }
                 to{ transform:translate3d(-50%,0,0) } }

/* -------------------------------------------------------------- pillars --- */

.pillars{
  margin-top:var(--s8);
  display:grid; grid-template-columns:1fr; gap:0;
  border-top:1px solid var(--hair);
}
.pillar{
  padding:var(--s6) 0;
  border-bottom:1px solid var(--hair);
}
.pillar__n{
  display:block;
  font-family:var(--font-display); font-size:34px; line-height:1;
  color:var(--lime); font-variant-numeric:tabular-nums;
  margin-bottom:var(--s4);
}
.pillar__t{
  font-family:var(--font-cond); font-weight:600;
  font-size:clamp(21px,2.3vw,27px); line-height:1.14;
  text-transform:uppercase; letter-spacing:.02em;
}
.pillar__b{ margin-top:var(--s3); color:var(--text-2); font-size:16px }

/* ------------------------------------------------------------- services --- */

.svcs{ margin-top:var(--s8); border-top:1px solid var(--hair) }
.svc{
  display:grid; grid-template-columns:1fr; gap:var(--s4);
  padding:var(--s7) 0;
  border-bottom:1px solid var(--hair);
}
.svc__n{
  align-self:start;
  background:var(--lime); color:var(--ink);
  font-family:var(--font-display); font-size:26px; line-height:1;
  padding:var(--s2) var(--s3) var(--s1);
  justify-self:start; font-variant-numeric:tabular-nums;
}
.svc__t{
  font-family:var(--font-cond); font-weight:600;
  font-size:clamp(23px,2.7vw,34px); line-height:1.06;
  text-transform:uppercase; letter-spacing:.012em;
  max-width:22ch;
}
.svc__s{
  margin-top:var(--s3);
  font-family:var(--font-cond); font-weight:500; font-size:12px;
  text-transform:uppercase; letter-spacing:var(--track);
  color:var(--text-3);
}
.svc__b{ margin-top:var(--s5); color:var(--text-2); font-size:16px; max-width:56ch }
.svc__pts{ margin-top:var(--s5); display:grid; gap:var(--s4) }
.svc__pt{
  display:grid; grid-template-columns:auto 1fr; gap:var(--s4);
  padding-top:var(--s4); border-top:1px solid var(--hair);
  font-size:15px; color:var(--text);
}
.svc__i{
  font-family:var(--font-cond); font-weight:700; font-size:12px;
  letter-spacing:.1em; color:var(--text-3);
  font-variant-numeric:tabular-nums; padding-top:2px;
}

/* ----------------------------------------------------------- engagement --- */

.fig{ display:flex; flex-wrap:wrap; align-items:baseline; gap:var(--s4) }
.fig__n{
  font-family:var(--font-display);
  font-size:clamp(56px,10vw,124px); line-height:.86;
  color:var(--lime); letter-spacing:.006em;
}
.fig__s{
  font-family:var(--font-cond); font-weight:500; font-size:14px;
  text-transform:uppercase; letter-spacing:var(--track);
  color:var(--chalk-2);
}
.facts{
  margin-top:var(--s8); display:grid; grid-template-columns:1fr;
  border-top:1px solid var(--hair);
}
.fact{ padding:var(--s5) 0; border-bottom:1px solid var(--hair) }
.fact__t{
  font-family:var(--font-cond); font-weight:600; font-size:12px;
  text-transform:uppercase; letter-spacing:var(--track);
  color:var(--text-3);
}
.fact__d{
  margin-top:var(--s3);
  font-family:var(--font-cond); font-weight:600;
  font-size:clamp(20px,2.2vw,26px); line-height:1.1;
  text-transform:uppercase; letter-spacing:.02em;
}
.fact__s{
  display:block; margin-top:var(--s2);
  font-family:var(--font-body); font-weight:400; font-size:14px;
  text-transform:none; letter-spacing:0; color:var(--text-2);
}

/* ---------------------------------------------------------- testimonials --- */

.quotes{ margin-top:var(--s8); display:grid; grid-template-columns:1fr; gap:0;
         border-top:1px solid var(--hair) }
.quote{ padding:var(--s6) 0; border-bottom:1px solid var(--hair) }
.quote__t{
  font-family:var(--font-cond); font-weight:300;
  font-size:clamp(19px,2.1vw,24px); line-height:1.34;
  color:var(--text);
}
.quote__who{
  display:block; margin-top:var(--s5);
  font-family:var(--font-cond); font-weight:600; font-size:15px;
  text-transform:uppercase; letter-spacing:.1em;
  font-style:normal;
}
.quote__role{
  display:block; margin-top:var(--s1);
  font-size:14px; color:var(--text-2);
}

/* ------------------------------------------------------------------ faq --- */

.qa{ margin-top:var(--s8); border-top:1px solid var(--hair) }
.qa__i{ border-bottom:1px solid var(--hair) }
.qa__i summary{
  list-style:none; cursor:pointer;
  display:grid; grid-template-columns:1fr auto; gap:var(--s4);
  align-items:start;
  padding:var(--s5) 0;
  font-family:var(--font-cond); font-weight:600;
  font-size:clamp(17px,1.9vw,21px); line-height:1.24;
  text-transform:uppercase; letter-spacing:.014em;
}
.qa__i summary::-webkit-details-marker{ display:none }
.qa__i summary::marker{ content:"" }
.qa__m{
  width:22px; height:22px; position:relative; flex:0 0 22px;
  border:1px solid var(--hair-2); margin-top:2px;
}
.qa__m::before,.qa__m::after{
  content:""; position:absolute; background:currentColor;
  left:50%; top:50%;
}
.qa__m::before{ width:10px; height:1px; transform:translate(-50%,-50%) }
.qa__m::after{ width:1px; height:10px; transform:translate(-50%,-50%);
               transition:transform var(--dur-2) var(--ease-out) }
.qa__i[open] .qa__m::after{ transform:translate(-50%,-50%) scaleY(0) }
.qa__i[open] .qa__m{ background:var(--lime); color:var(--ink); border-color:var(--lime) }
.qa__a{ padding:0 0 var(--s6); max-width:74ch; color:var(--text-2); font-size:16px }

/* -------------------------------------------------------------- contact --- */

.chans{ margin-top:var(--s7); display:grid; grid-template-columns:1fr;
        border-top:1px solid var(--hair) }
.chan{ padding:var(--s5) 0; border-bottom:1px solid var(--hair) }
.chan__k{
  font-family:var(--font-cond); font-weight:600; font-size:12px;
  text-transform:uppercase; letter-spacing:var(--track); color:var(--text-3);
}
.chan__v{
  display:block; margin-top:var(--s2);
  font-family:var(--font-cond); font-weight:600;
  font-size:clamp(19px,2.4vw,28px); line-height:1.1;
  text-decoration:none; color:var(--text);
  border-bottom:1px solid transparent;
  transition:color var(--dur-1) var(--ease-out),
             border-color var(--dur-1) var(--ease-out);
}
a.chan__v:hover{ color:var(--lime); border-color:var(--lime) }

.panel{
  margin-top:var(--s8); border:1px solid var(--hair);
  background:var(--void-2); padding:var(--s6);
}
.panel__t{
  font-family:var(--font-display); font-size:30px; line-height:1;
  text-transform:uppercase; letter-spacing:.02em;
}
.panel__b{ margin-top:var(--s3); color:var(--text-2); font-size:15px }
.form{ margin-top:var(--s6); display:grid; gap:var(--s4) }
.row{ display:grid; gap:var(--s2) }
.row label{
  font-family:var(--font-cond); font-weight:600; font-size:12px;
  text-transform:uppercase; letter-spacing:var(--track); color:var(--chalk-2);
}
.row input,.row textarea{
  font-family:var(--font-body); font-size:16px; color:var(--chalk);
  background:var(--void); border:1px solid var(--rule-2);
  padding:var(--s3) var(--s4); width:100%;
  transition:border-color var(--dur-1) var(--ease-out);
}
.row textarea{ min-height:132px; resize:vertical }
.row input::placeholder,.row textarea::placeholder{ color:var(--chalk-3) }
.row input:hover,.row textarea:hover{ border-color:var(--chalk-3) }
.note{ margin-top:var(--s5); font-size:14px; color:var(--chalk-2); max-width:56ch }

/* --------------------------------------------------------------- closer --- */

.closer{ text-align:left }
.closer__h{
  font-family:var(--font-display);
  font-size:clamp(46px,8.6vw,112px); line-height:.9;
  text-transform:uppercase; letter-spacing:.008em;
  max-width:15ch; text-wrap:balance;
}
.closer__h b{
  display:inline-block; margin-top:.06em;
  background:var(--lime); color:var(--ink); font-weight:400;
  line-height:.82; padding:.12em var(--s3) .08em;
}

/* --------------------------------------------------------------- footer --- */

.foot{
  background:var(--void); border-top:1px solid var(--rule);
  padding:var(--s8) 0 var(--s6);
}
.foot__top{ display:grid; grid-template-columns:1fr; gap:var(--s6) }
.plate{
  display:inline-block; background:var(--bone);
  border:1px solid var(--brand);
  padding:var(--s4) var(--s5); text-decoration:none;
}
.plate img{ width:82px; height:auto }
.foot__blurb{ color:var(--chalk-2); font-size:15px; max-width:56ch;
              margin-top:var(--s5) }
.foot__nav{ display:flex; flex-wrap:wrap; gap:var(--s5) }
.foot__nav a{
  font-family:var(--font-cond); font-weight:500; font-size:12px;
  text-transform:uppercase; letter-spacing:var(--track);
  color:var(--chalk-2); text-decoration:none;
}
.foot__nav a:hover{ color:var(--lime) }
.foot__meta{
  margin-top:var(--s8); padding-top:var(--s5);
  border-top:1px solid var(--rule);
  display:flex; flex-wrap:wrap; gap:var(--s4) var(--s6);
  align-items:baseline;
  font-family:var(--font-cond); font-size:12px;
  text-transform:uppercase; letter-spacing:var(--track);
  color:var(--chalk-3);
}
.foot__meta a{ color:var(--chalk-2); text-decoration:none }
.foot__meta a:hover{ color:var(--lime) }

/* ---------------------------------------------------------- wide layout --- */

@media (min-width:720px){
  .band__list{ grid-template-columns:repeat(2,minmax(0,1fr)) }
  .band__i{ padding:var(--s7) var(--s5); border-left:1px solid var(--rule) }
  .band__i:nth-child(-n+2){ border-top:0 }
  .band__i:nth-child(odd){ border-left:0; padding-left:0 }
  .facts{ grid-template-columns:repeat(2,minmax(0,1fr)) }
  .fact{ padding:var(--s5) var(--s5) var(--s5) 0 }
  .foot__top{ grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) }
}

@media (min-width:960px){
  .slab{ padding:var(--s10) 0 }
  .band__list{ grid-template-columns:repeat(4,minmax(0,1fr)) }
  .band__i{ border-top:0!important; padding:var(--s8) var(--s6) }
  .band__i:nth-child(odd){ border-left:1px solid var(--rule); padding-left:var(--s6) }
  .band__i:first-child{ border-left:0; padding-left:0 }
  .pillars{ grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:0 }
  .pillar{ padding:var(--s7) var(--s7) }
  .pillar:nth-child(odd){ padding-left:0 }
  .pillar:nth-child(even){ border-left:1px solid var(--hair); padding-right:0 }
  .quotes{ grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:var(--s7) }
  .quote{ padding:var(--s6) 0 var(--s7) }
  .svc{
    grid-template-columns:auto minmax(0,7fr) minmax(0,9fr);
    column-gap:var(--s7);
  }
  .svc__head{ grid-column:2 }
  .svc__body{ grid-column:3 }
  .svc__b{ margin-top:0 }
  .chans{ grid-template-columns:repeat(3,minmax(0,1fr)) }
  .chan{ padding:var(--s5) var(--s5) var(--s5) 0 }
  .contact__grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr);
                  gap:var(--s8) }
  .panel{ margin-top:0 }
}

@media (max-width:859px){
  .mast__in{ padding-top:var(--s3); padding-bottom:var(--s3); gap:var(--s4) }
  .js .mast__cta{ display:none }
  .js .burger{ display:inline-flex }
  .nav__list{ gap:var(--s4) }
  .js .nav{
    position:fixed; left:0; right:0; top:62px; z-index:59;
    background:var(--void-2); border-bottom:1px solid var(--rule);
    padding:var(--s5) var(--edge) var(--s6);
    transform:translateY(-12px); opacity:0; visibility:hidden;
    transition:transform var(--dur-2) var(--ease-out),
               opacity var(--dur-2) var(--ease-out),
               visibility 0s linear var(--dur-2);
  }
  .js .nav.on{ transform:none; opacity:1; visibility:visible;
               transition-delay:0s,0s,0s }
  .js .nav__list{ flex-direction:column; align-items:flex-start; gap:var(--s2) }
  .js .nav__list a{ font-size:15px; padding:var(--s3) 0 }
}

@media (max-width:1119px){
  .field{
    opacity:.32;
    -webkit-mask-image:linear-gradient(103deg,transparent 0%,transparent 46%,#000 86%);
            mask-image:linear-gradient(103deg,transparent 0%,transparent 46%,#000 86%);
  }
}

@media (max-width:719px){
  .field{ opacity:.24 }
}

@media (max-width:479px){
  :root{ --edge:16px }
  .wm{ font-size:17px; gap:var(--s2) }
  .btn{ padding:var(--s3) var(--s5); font-size:12px }
  .acts{ gap:var(--s2) }
  .acts .btn{ flex:1 1 100% ; justify-content:center }
  .totop{ right:var(--s3); bottom:var(--s3) }
}

/* --------------------------------------------------------- reduced motion --- */

@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto }
  *,*::before,*::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
    scroll-behavior:auto!important;
  }
  .ticker__track{ animation:none; transform:none }
}

/* ------------------------------------------------------------------ print --- */

@media print{
  html,body{ background:#FFFFFF; color:#000000 }
  .mast,.prog,.totop,.ticker,.field,.burger,.skip{ display:none!important }
  .slab,.slab--bone,.slab--raised{
    background:#FFFFFF; color:#000000; border-top:1px solid #000000;
    padding:18pt 0; break-inside:avoid;
  }
  .band__v,.fig__n,.pillar__n,.kicker__n,.svc__n,.closer__h b{
    color:#000000; background:transparent;
  }
  .qa__a{ display:block }
  .qa__i{ break-inside:avoid }
  a[href^="http"]::after,a[href^="mailto"]::after,a[href^="tel"]::after{
    content:" (" attr(href) ")"; font-size:9pt;
  }
}
