:root{
  --af-ink:#050505;
  --af-black:#000000;
  --af-paper:#f3f0e9;
  --af-white:#ffffff;
  --af-muted:#97948e;
  --af-faint:#55534f;
  --af-line:rgba(243,240,233,.13);
  --af-line-strong:rgba(243,240,233,.28);
  --af-coral:#ff725e;
  --af-gold:#f1d36f;
  --af-mint:#88e7c1;
  --af-blue:#78aef2;
  --af-violet:#b693e8;
  --af-spectrum:linear-gradient(90deg,var(--af-coral),var(--af-gold) 26%,var(--af-mint) 50%,var(--af-blue) 74%,var(--af-violet));
  --af-ease:cubic-bezier(.16,1,.3,1);
}

*{
  box-sizing:border-box;
  margin:0;
  padding:0;
}

html{
  background:var(--af-ink);
  color:var(--af-paper);
  scroll-behavior:smooth;
  scrollbar-width:none;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar{
  display:none;
}

body{
  min-width:320px;
  overflow-x:hidden;
  background:var(--af-ink);
  color:var(--af-paper);
  font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

::selection{
  color:var(--af-black);
  background:var(--af-mint);
}

a{
  color:inherit;
  text-decoration:none;
}

button,
input,
textarea,
select{
  color:inherit;
  font:inherit;
}

button,
a{
  -webkit-tap-highlight-color:transparent;
}

:focus-visible{
  outline:1px solid var(--af-paper);
  outline-offset:5px;
}

.af-sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

.af-skip{
  position:fixed;
  top:12px;
  left:12px;
  z-index:1000;
  padding:12px 16px;
  color:var(--af-black);
  background:var(--af-paper);
  font:500 11px/1 'JetBrains Mono',monospace;
  letter-spacing:.08em;
  transform:translateY(-160%);
  transition:transform .2s ease;
}

.af-skip:focus{
  transform:translateY(0);
}

/* Boot sequence: five independent threads become one fabric. */
.af-loader{
  position:fixed;
  inset:0;
  z-index:900;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:28px;
  background:#020202;
  transition:opacity .7s var(--af-ease),visibility .7s;
}

.af-loader.is-gone{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}

.af-loader p{
  color:#77736d;
  font:500 9px/1 'JetBrains Mono',monospace;
  letter-spacing:.32em;
}

.af-loader-mark{
  position:relative;
  width:106px;
  height:44px;
}

.af-loader-mark span{
  position:absolute;
  left:0;
  width:100%;
  height:1px;
  background:var(--af-paper);
  transform-origin:center;
  animation:af-loader-weave 1.15s var(--af-ease) infinite alternate;
}

.af-loader-mark span:nth-child(1){top:2px;animation-delay:0ms}
.af-loader-mark span:nth-child(2){top:12px;animation-delay:70ms}
.af-loader-mark span:nth-child(3){top:22px;animation-delay:140ms}
.af-loader-mark span:nth-child(4){top:32px;animation-delay:210ms}
.af-loader-mark span:nth-child(5){top:42px;animation-delay:280ms}

@keyframes af-loader-weave{
  0%{transform:scaleX(.12) translateX(-120%);opacity:.15}
  70%{opacity:1}
  100%{transform:scaleX(1) translateX(0);opacity:.85}
}

#af-field{
  position:fixed;
  inset:0;
  z-index:0;
  width:100vw;
  height:100vh;
  pointer-events:none;
}

.af-vignette{
  position:fixed;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 42%,transparent 0,rgba(5,5,5,.07) 48%,rgba(5,5,5,.82) 115%),
    linear-gradient(180deg,rgba(5,5,5,.04),rgba(5,5,5,.28));
}

.af-grain{
  position:fixed;
  inset:-60%;
  z-index:2;
  width:220%;
  height:220%;
  pointer-events:none;
  opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E");
  animation:af-grain .23s steps(2) infinite;
}

@keyframes af-grain{
  0%{transform:translate3d(0,0,0)}
  25%{transform:translate3d(2%,-3%,0)}
  50%{transform:translate3d(-4%,2%,0)}
  75%{transform:translate3d(3%,4%,0)}
  100%{transform:translate3d(-2%,-3%,0)}
}

/* Navigation is a technical instrument panel, not a floating SaaS pill. */
.af-nav{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:100;
  display:flex;
  align-items:center;
  height:72px;
  padding:0 32px;
  border-bottom:1px solid transparent;
  transition:height .45s var(--af-ease),background .35s,border-color .35s,backdrop-filter .35s;
}

.af-nav::after{
  content:"";
  position:absolute;
  right:32px;
  bottom:-1px;
  left:32px;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--af-line),transparent);
  opacity:.65;
}

.af-nav.is-scrolled{
  height:60px;
  background:rgba(5,5,5,.78);
  border-color:var(--af-line);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
}

.af-nav.is-scrolled::after{
  opacity:0;
}

.af-brand{
  display:flex;
  align-items:center;
  flex:none;
  gap:10px;
  font-size:14px;
  font-weight:300;
  letter-spacing:-.02em;
}

.af-brand img{
  display:block;
  width:19px;
  height:19px;
}

.af-brand strong,
.af-product-lockup strong{
  font-weight:600;
}

.af-product-lockup{
  display:flex;
  align-items:center;
  gap:14px;
  margin-left:15px;
  font-size:14px;
  font-weight:300;
  letter-spacing:-.02em;
}

.af-slash{
  color:#55534f;
  font-weight:300;
}

.af-nav-links{
  display:flex;
  align-items:center;
  gap:26px;
  margin-left:auto;
}

.af-nav-links>a{
  position:relative;
  color:#8c8983;
  font:500 9.5px/1 'JetBrains Mono',monospace;
  letter-spacing:.13em;
  transition:color .25s ease;
}

.af-nav-links>a:not(.af-nav-cta)::after{
  content:"";
  position:absolute;
  right:0;
  bottom:-7px;
  left:0;
  height:1px;
  background:var(--af-paper);
  transform:scaleX(0);
  transform-origin:right;
  transition:transform .35s var(--af-ease);
}

.af-nav-links>a:hover,
.af-nav-links>a:focus-visible{
  color:var(--af-paper);
}

.af-nav-links>a:not(.af-nav-cta):hover::after{
  transform:scaleX(1);
  transform-origin:left;
}

.af-nav-cta{
  display:flex;
  align-items:center;
  gap:22px;
  min-height:36px;
  padding:0 7px 0 15px;
  border:1px solid var(--af-line-strong);
  color:var(--af-paper)!important;
}

.af-nav-cta span{
  display:grid;
  width:22px;
  height:22px;
  place-items:center;
  color:var(--af-black);
  background:var(--af-paper);
  font-size:11px;
  transition:transform .3s var(--af-ease),background .3s;
}

.af-nav-cta:hover span{
  transform:rotate(45deg);
  background:var(--af-mint);
}

.af-menu-button,
.af-mobile-menu{
  display:none;
}

.af-progress{
  position:fixed;
  right:19px;
  top:50%;
  z-index:50;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:9px;
  color:#5f5c57;
  font:500 8px/1 'JetBrains Mono',monospace;
  letter-spacing:.06em;
  transform:translateY(-50%);
}

.af-progress>div{
  position:relative;
  width:1px;
  height:98px;
  overflow:hidden;
  background:rgba(255,255,255,.12);
}

.af-progress i{
  position:absolute;
  top:0;
  left:0;
  width:1px;
  height:100%;
  background:var(--af-paper);
  transform:scaleY(0);
  transform-origin:top;
}

main,
.af-footer{
  position:relative;
  z-index:3;
}

.af-section{
  position:relative;
  min-height:100vh;
  padding:128px clamp(26px,5.7vw,92px) 112px;
  border-top:1px solid rgba(243,240,233,.08);
  overflow:hidden;
}

.af-section:first-child{
  border-top:0;
}

.af-section-index{
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin-bottom:clamp(64px,8vw,124px);
  color:#77736d;
  font:500 9px/1.4 'JetBrains Mono',monospace;
  letter-spacing:.22em;
}

.af-section-index span:last-child{
  text-align:right;
}

.af-js [data-reveal]{
  opacity:0;
  filter:blur(8px);
  transform:translateY(28px);
  transition:
    opacity 1s var(--af-ease),
    filter 1s ease,
    transform 1s var(--af-ease);
  transition-delay:var(--af-delay,0ms);
}

.af-js [data-reveal].is-visible{
  opacity:1;
  filter:none;
  transform:none;
}

.af-overline{
  color:#a19d96;
  font:500 10px/1.4 'JetBrains Mono',monospace;
  letter-spacing:.26em;
}

.af-button{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:34px;
  min-width:284px;
  min-height:58px;
  padding:7px 8px 7px 22px;
  border:1px solid var(--af-paper);
  font:500 10px/1 'JetBrains Mono',monospace;
  letter-spacing:.13em;
  transition:color .35s,background .35s,transform .35s var(--af-ease);
}

.af-button b{
  display:grid;
  width:42px;
  height:42px;
  place-items:center;
  font-size:15px;
  font-weight:400;
  transition:transform .35s var(--af-ease),background .35s;
}

.af-button-primary{
  color:var(--af-black);
  background:var(--af-paper);
}

.af-button-primary b{
  color:var(--af-paper);
  background:var(--af-black);
}

.af-button:hover{
  transform:translateY(-3px);
}

.af-button-primary:hover{
  background:var(--af-mint);
}

.af-button-primary:hover b{
  transform:rotate(45deg);
}

.af-text-link{
  display:inline-flex;
  align-items:center;
  gap:18px;
  padding:14px 0 12px;
  border-bottom:1px solid var(--af-line-strong);
  color:#b7b3ac;
  font:500 9.5px/1 'JetBrains Mono',monospace;
  letter-spacing:.14em;
  transition:color .25s,border-color .25s;
}

.af-text-link span{
  color:var(--af-paper);
  transition:transform .3s var(--af-ease);
}

.af-text-link:hover{
  color:var(--af-paper);
  border-color:var(--af-paper);
}

.af-text-link:hover span{
  transform:translateY(3px);
}

.af-mega{
  max-width:15ch;
  color:var(--af-paper);
  font-size:clamp(49px,7.2vw,118px);
  font-weight:300;
  line-height:.96;
  letter-spacing:-.067em;
}

.af-mega em{
  color:#77736d;
  font-style:normal;
  font-weight:300;
}

/* Hero */
.af-hero{
  display:flex;
  flex-direction:column;
  min-height:100svh;
  padding-top:104px;
  padding-bottom:30px;
  border:0;
}

.af-hero::before{
  content:"";
  position:absolute;
  inset:72px clamp(26px,5.7vw,92px) 30px;
  border:1px solid rgba(243,240,233,.07);
  pointer-events:none;
}

.af-hero::after{
  content:"";
  position:absolute;
  top:72px;
  bottom:30px;
  left:50%;
  width:1px;
  background:linear-gradient(transparent,rgba(243,240,233,.07) 18%,rgba(243,240,233,.07) 82%,transparent);
  pointer-events:none;
}

.af-hero-top{
  position:relative;
  z-index:1;
  display:flex;
  justify-content:space-between;
  padding:0 16px;
  color:#77736d;
  font:500 9px/1 'JetBrains Mono',monospace;
  letter-spacing:.2em;
}

.af-live{
  display:flex;
  align-items:center;
  gap:9px;
}

.af-live i,
.af-panel-bar i{
  display:inline-block;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--af-mint);
  box-shadow:0 0 14px rgba(136,231,193,.7);
  animation:af-live 2s ease-in-out infinite;
}

@keyframes af-live{
  50%{opacity:.35;box-shadow:0 0 2px rgba(136,231,193,.2)}
}

.af-hero-title-wrap{
  position:relative;
  z-index:1;
  display:flex;
  flex:1;
  flex-direction:column;
  justify-content:center;
  padding:5vh 0 3vh;
}

.af-hero-title-wrap>.af-overline{
  margin:0 0 22px clamp(16px,7.3vw,118px);
}

.af-hero h1{
  display:flex;
  flex-direction:column;
  margin:0 -0.045em;
  color:var(--af-paper);
  font-size:clamp(86px,14.7vw,238px);
  font-weight:300;
  line-height:.72;
  letter-spacing:-.091em;
}

.af-hero h1>span:first-child{
  align-self:flex-start;
}

.af-word-fabric{
  position:relative;
  align-self:flex-end;
  padding-right:.08em;
  color:transparent;
  background:var(--af-spectrum);
  background-size:140% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  animation:af-spectrum-drift 8s ease-in-out infinite alternate;
}

.af-word-fabric::after{
  content:"";
  position:absolute;
  right:.08em;
  bottom:-.13em;
  left:.02em;
  height:1px;
  background:var(--af-spectrum);
  opacity:.78;
  transform:scaleX(.8);
  transform-origin:right;
  animation:af-thread-breathe 4s var(--af-ease) infinite alternate;
}

@keyframes af-spectrum-drift{
  to{background-position:100% 0}
}

@keyframes af-thread-breathe{
  to{transform:scaleX(1);opacity:.28}
}

.af-hero-under{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(36px,8vw,130px);
  align-items:end;
  margin-top:clamp(52px,7vh,90px);
  padding:0 clamp(16px,7.3vw,118px);
}

.af-hero-statement{
  max-width:15ch;
  color:#d7d3cb;
  font-size:clamp(22px,2.4vw,38px);
  font-weight:300;
  line-height:1.1;
  letter-spacing:-.045em;
}

.af-hero-intro{
  max-width:570px;
}

.af-hero-copy{
  color:#aaa69e;
  font-size:clamp(14px,1.15vw,17px);
  font-weight:300;
  line-height:1.75;
}

.af-hero-actions{
  display:flex;
  align-items:center;
  gap:30px;
  margin-top:28px;
}

.af-hero-rail{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:14px;
  width:100%;
  padding:20px 16px 0;
  border-top:1px solid var(--af-line);
}

.af-hero-rail span{
  display:flex;
  align-items:center;
  gap:9px;
  flex:none;
  color:#77736d;
  font:500 8.5px/1 'JetBrains Mono',monospace;
  letter-spacing:.16em;
}

.af-hero-rail b{
  color:#a9a59e;
  font-weight:500;
}

.af-hero-rail i{
  position:relative;
  flex:1;
  height:1px;
  overflow:hidden;
  background:var(--af-line);
}

.af-hero-rail i::after{
  content:"";
  position:absolute;
  top:0;
  left:-35%;
  width:35%;
  height:100%;
  background:var(--af-spectrum);
  animation:af-rail-travel 3.8s linear infinite;
}

.af-hero-rail i:nth-of-type(2)::after{animation-delay:1.1s}
.af-hero-rail i:nth-of-type(3)::after{animation-delay:2.2s}

@keyframes af-rail-travel{
  to{left:110%}
}

/* System manifesto */
.af-manifesto{
  background:linear-gradient(180deg,rgba(5,5,5,.84),rgba(5,5,5,.96));
}

.af-manifesto-grid{
  display:grid;
  grid-template-columns:minmax(130px,.28fr) 1fr;
  gap:clamp(40px,8vw,140px);
  align-items:start;
}

.af-side-note{
  padding-top:8px;
  color:#5f5c57;
  font:500 9px/1.8 'JetBrains Mono',monospace;
  letter-spacing:.16em;
}

.af-manifesto-copy{
  max-width:54ch;
  margin:48px 0 0 auto;
  color:#aaa69e;
  font-size:clamp(17px,1.65vw,25px);
  font-weight:300;
  line-height:1.58;
  letter-spacing:-.022em;
}

.af-system-map{
  margin-top:clamp(80px,12vw,190px);
  border-top:1px solid var(--af-line);
  border-bottom:1px solid var(--af-line);
}

.af-map-caption,
.af-map-outcomes{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:50px;
  color:#686560;
  font:500 8.5px/1 'JetBrains Mono',monospace;
  letter-spacing:.18em;
}

.af-map-stage{
  position:relative;
  height:clamp(390px,51vw,650px);
  overflow:hidden;
  border-top:1px solid var(--af-line);
  border-bottom:1px solid var(--af-line);
  background:
    linear-gradient(rgba(243,240,233,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(243,240,233,.035) 1px,transparent 1px);
  background-size:52px 52px;
}

.af-map-stage::after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.045),transparent 44%);
}

.af-map-stage svg{
  position:absolute;
  inset:7% 3%;
  z-index:1;
  width:94%;
  height:86%;
  overflow:visible;
}

.af-map-stage path{
  fill:none;
  stroke:rgba(243,240,233,.17);
  stroke-width:1;
  vector-effect:non-scaling-stroke;
  stroke-dasharray:4 8;
  animation:af-dash 18s linear infinite;
}

.af-map-stage path:nth-child(2){animation-direction:reverse;animation-duration:21s}
.af-map-stage path:nth-child(3){stroke:rgba(136,231,193,.24);animation-duration:12s}
.af-map-stage path:nth-child(4){animation-direction:reverse;animation-duration:16s}
.af-map-stage path:nth-child(5){animation-duration:24s}

@keyframes af-dash{
  to{stroke-dashoffset:-240}
}

.af-map-core{
  position:absolute;
  top:50%;
  left:50%;
  z-index:4;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:clamp(138px,17vw,230px);
  aspect-ratio:1;
  border:1px solid rgba(243,240,233,.35);
  border-radius:50%;
  background:rgba(5,5,5,.92);
  box-shadow:0 0 0 18px rgba(5,5,5,.65),0 0 90px rgba(120,174,242,.11);
  transform:translate(-50%,-50%);
}

.af-map-core::before,
.af-map-core::after{
  content:"";
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(243,240,233,.11);
}

.af-map-core::before{
  inset:-30px;
  animation:af-orbit-pulse 3.4s ease-in-out infinite;
}

.af-map-core::after{
  inset:-59px;
  animation:af-orbit-pulse 3.4s ease-in-out 1.2s infinite;
}

@keyframes af-orbit-pulse{
  50%{opacity:.25;transform:scale(1.05)}
}

.af-map-core span,
.af-map-core strong{
  font-size:clamp(17px,2vw,28px);
  line-height:.9;
  letter-spacing:-.065em;
}

.af-map-core span{
  font-weight:300;
}

.af-map-core strong{
  font-weight:600;
}

.af-map-core i{
  position:absolute;
  top:10%;
  right:12%;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--af-mint);
  box-shadow:0 0 12px var(--af-mint);
}

.af-map-node{
  position:absolute;
  z-index:3;
  display:flex;
  align-items:center;
  gap:9px;
  padding:8px 10px;
  color:#aaa69e;
  background:rgba(5,5,5,.78);
  font:500 8.5px/1 'JetBrains Mono',monospace;
  letter-spacing:.15em;
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
}

.af-map-node i{
  width:6px;
  height:6px;
  border:1px solid #8d8982;
  border-radius:50%;
}

.af-map-node.n1{top:15%;left:5%}
.af-map-node.n2{top:13%;right:5%}
.af-map-node.n3{top:48%;left:2%}
.af-map-node.n4{right:2%;bottom:15%}
.af-map-node.n5{bottom:12%;left:11%}

.af-map-outcomes{
  justify-content:flex-start;
  gap:0;
}

.af-map-outcomes span{
  flex:1;
  text-align:center;
}

.af-map-outcomes span+span{
  border-left:1px solid var(--af-line);
}

/* Work trace */
.af-work-section{
  background:rgba(5,5,5,.74);
}

.af-work-head{
  display:grid;
  grid-template-columns:1.35fr .65fr;
  gap:clamp(60px,10vw,170px);
  align-items:end;
}

.af-work-head>p,
.af-authority-copy>p,
.af-architecture-head>p{
  max-width:45ch;
  color:#aaa69e;
  font-size:clamp(15px,1.3vw,19px);
  font-weight:300;
  line-height:1.7;
}

.af-scenario{
  display:grid;
  grid-template-columns:minmax(210px,.28fr) 1fr;
  margin-top:clamp(74px,10vw,150px);
  border:1px solid var(--af-line-strong);
  background:rgba(3,3,3,.88);
  box-shadow:0 38px 120px rgba(0,0,0,.4);
}

.af-scenario-tabs{
  display:flex;
  flex-direction:column;
  border-right:1px solid var(--af-line);
}

.af-scenario-tabs button{
  position:relative;
  display:grid;
  grid-template-columns:34px 1fr;
  gap:2px 10px;
  flex:1;
  min-height:120px;
  padding:24px 20px;
  border:0;
  border-bottom:1px solid var(--af-line);
  color:#77736d;
  background:transparent;
  text-align:left;
  cursor:pointer;
  transition:color .3s,background .3s;
}

.af-scenario-tabs button:last-child{
  border-bottom:0;
}

.af-scenario-tabs button::after{
  content:"";
  position:absolute;
  top:0;
  right:-1px;
  bottom:0;
  width:2px;
  background:var(--af-spectrum);
  transform:scaleY(0);
  transition:transform .5s var(--af-ease);
}

.af-scenario-tabs button[aria-selected="true"]{
  color:var(--af-paper);
  background:rgba(255,255,255,.035);
}

.af-scenario-tabs button[aria-selected="true"]::after{
  transform:scaleY(1);
}

.af-scenario-tabs button:hover{
  color:var(--af-paper);
  background:rgba(255,255,255,.025);
}

.af-scenario-tabs span{
  grid-row:1/3;
  padding-top:2px;
  color:#5f5c57;
  font:500 9px/1 'JetBrains Mono',monospace;
}

.af-scenario-tabs b{
  font:500 11px/1.2 'JetBrains Mono',monospace;
  letter-spacing:.13em;
}

.af-scenario-tabs small{
  color:#686560;
  font-size:11px;
  font-weight:400;
}

.af-weave-panel{
  min-width:0;
}

.af-panel-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:48px;
  padding:0 20px;
  border-bottom:1px solid var(--af-line);
  color:#686560;
  font:500 8.5px/1 'JetBrains Mono',monospace;
  letter-spacing:.15em;
}

.af-panel-bar span:last-child{
  display:flex;
  align-items:center;
  gap:8px;
  text-align:right;
}

.af-request{
  padding:clamp(26px,3vw,44px);
  border-bottom:1px solid var(--af-line);
}

.af-request>span{
  color:#686560;
  font:500 8px/1 'JetBrains Mono',monospace;
  letter-spacing:.15em;
}

.af-request p{
  max-width:27ch;
  margin:18px 0;
  color:var(--af-paper);
  font-size:clamp(24px,3vw,46px);
  font-weight:300;
  line-height:1.14;
  letter-spacing:-.045em;
  transition:opacity .2s,transform .35s var(--af-ease);
}

.af-weave-panel.is-changing .af-request p,
.af-weave-panel.is-changing .af-result p{
  opacity:0;
  transform:translateY(8px);
}

.af-trace{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  min-height:178px;
  padding:34px clamp(20px,3vw,44px);
  border-bottom:1px solid var(--af-line);
}

.af-trace-line{
  position:absolute;
  top:65px;
  right:calc(12.5% + 30px);
  left:calc(12.5% + 30px);
  display:flex;
  gap:5px;
}

.af-trace-line i{
  position:relative;
  flex:1;
  height:1px;
  overflow:hidden;
  background:rgba(243,240,233,.13);
}

.af-trace-line i::after{
  content:"";
  position:absolute;
  inset:0;
  background:var(--af-spectrum);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .7s var(--af-ease);
}

.af-trace[data-stage="1"] .af-trace-line i:nth-child(1)::after,
.af-trace[data-stage="2"] .af-trace-line i:nth-child(-n+2)::after,
.af-trace[data-stage="3"] .af-trace-line i::after{
  transform:scaleX(1);
}

.af-trace-step{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  text-align:center;
  opacity:.35;
  transition:opacity .4s,transform .5s var(--af-ease);
}

.af-trace-step::before{
  content:"";
  order:2;
  width:12px;
  height:12px;
  margin:5px 0 6px;
  border:1px solid #6e6a64;
  border-radius:50%;
  background:#030303;
  box-shadow:0 0 0 7px #030303;
  transition:background .3s,border-color .3s,box-shadow .4s,transform .4s var(--af-ease);
}

.af-trace-step span{
  order:1;
  color:#686560;
  font:500 8px/1 'JetBrains Mono',monospace;
}

.af-trace-step b{
  order:3;
  font:500 9px/1 'JetBrains Mono',monospace;
  letter-spacing:.12em;
}

.af-trace-step small{
  order:4;
  max-width:17ch;
  color:#77736d;
  font-size:10.5px;
  line-height:1.45;
}

.af-trace-step.is-active,
.af-trace-step.is-complete{
  opacity:1;
  transform:translateY(-2px);
}

.af-trace-step.is-complete::before{
  border-color:var(--af-paper);
  background:var(--af-paper);
}

.af-trace-step.is-active::before{
  border-color:var(--af-mint);
  background:var(--af-mint);
  box-shadow:0 0 0 7px #030303,0 0 22px rgba(136,231,193,.7);
  animation:af-trace-pulse 1.7s ease-in-out infinite;
}

@keyframes af-trace-pulse{
  50%{box-shadow:0 0 0 7px #030303,0 0 8px rgba(136,231,193,.25)}
}

.af-result{
  display:grid;
  grid-template-columns:1fr auto;
  gap:36px;
  align-items:end;
  min-height:150px;
  padding:clamp(26px,3vw,44px);
}

.af-result>div:first-child>span{
  color:#686560;
  font:500 8px/1 'JetBrains Mono',monospace;
  letter-spacing:.15em;
}

.af-result p{
  max-width:55ch;
  margin-top:13px;
  color:#c4c0b8;
  font-size:14px;
  font-weight:300;
  line-height:1.65;
  transition:opacity .2s,transform .35s var(--af-ease);
}

.af-result-state{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border:1px solid rgba(241,211,111,.27);
  color:var(--af-gold);
  white-space:nowrap;
  font:500 8px/1 'JetBrains Mono',monospace;
  letter-spacing:.12em;
}

.af-result-state i{
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--af-gold);
  box-shadow:0 0 10px rgba(241,211,111,.55);
}

/* Four powers are editorial bands, deliberately not feature cards. */
.af-powers{
  padding-right:0;
  padding-left:0;
  background:rgba(4,4,4,.94);
}

.af-powers>.af-section-index,
.af-powers-intro{
  margin-right:clamp(26px,5.7vw,92px);
  margin-left:clamp(26px,5.7vw,92px);
}

.af-powers-intro{
  margin-bottom:clamp(90px,12vw,180px);
}

.af-power-list{
  border-top:1px solid var(--af-line);
}

.af-power{
  position:relative;
  display:grid;
  grid-template-columns:.12fr .32fr 1fr;
  gap:clamp(24px,5vw,90px);
  align-items:start;
  min-height:230px;
  padding:50px clamp(26px,5.7vw,92px);
  border-bottom:1px solid var(--af-line);
  overflow:hidden;
  isolation:isolate;
}

.af-power::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg,rgba(255,255,255,.04),transparent 62%);
  opacity:0;
  transform:translateX(-16%);
  transition:opacity .4s,transform .75s var(--af-ease);
}

.af-power::after{
  content:"";
  position:absolute;
  top:-1px;
  left:0;
  width:0;
  height:1px;
  background:var(--af-spectrum);
  transition:width 1s var(--af-ease);
}

.af-power:hover::before{
  opacity:1;
  transform:none;
}

.af-power:hover::after{
  width:100%;
}

.af-power-number{
  padding-top:8px;
  color:#5f5c57;
  font:500 9px/1 'JetBrains Mono',monospace;
}

.af-power h3{
  color:var(--af-paper);
  font-size:clamp(34px,4vw,66px);
  font-weight:300;
  line-height:1;
  letter-spacing:-.06em;
}

.af-power p{
  position:relative;
  z-index:2;
  max-width:56ch;
  padding-top:6px;
  color:#aaa69e;
  font-size:clamp(15px,1.32vw,19px);
  font-weight:300;
  line-height:1.7;
}

.af-power-word{
  position:absolute;
  right:-.03em;
  bottom:-.28em;
  z-index:0;
  color:transparent;
  font-size:clamp(110px,18vw,290px);
  font-weight:600;
  line-height:1;
  letter-spacing:-.09em;
  -webkit-text-stroke:1px rgba(243,240,233,.055);
  transition:color .5s,-webkit-text-stroke .5s,transform .8s var(--af-ease);
}

.af-power:hover .af-power-word{
  color:rgba(243,240,233,.025);
  -webkit-text-stroke-color:rgba(243,240,233,.1);
  transform:translateX(-.04em);
}

/* Authority */
.af-authority{
  background:
    radial-gradient(circle at 85% 48%,rgba(241,211,111,.055),transparent 30%),
    rgba(5,5,5,.92);
}

.af-authority-grid{
  display:grid;
  grid-template-columns:.78fr 1.22fr;
  gap:clamp(70px,10vw,160px);
  align-items:center;
}

.af-authority-copy .af-mega{
  max-width:12ch;
  font-size:clamp(46px,6vw,92px);
}

.af-authority-copy>p{
  margin-top:40px;
}

.af-approval{
  border:1px solid var(--af-line-strong);
  background:rgba(2,2,2,.88);
  box-shadow:0 50px 140px rgba(0,0,0,.55);
}

.af-approval-flow{
  display:flex;
  align-items:center;
  padding:28px 24px;
  border-bottom:1px solid var(--af-line);
}

.af-approval-flow span{
  display:grid;
  flex:none;
  width:72px;
  height:72px;
  place-items:center;
  border:1px solid var(--af-line);
  border-radius:50%;
  color:#77736d;
  background:#030303;
  font:500 8px/1 'JetBrains Mono',monospace;
  letter-spacing:.1em;
  transition:color .4s,border-color .4s,background .4s,box-shadow .4s;
}

.af-approval-flow span.is-done{
  border-color:#65615b;
  color:#b7b3ac;
}

.af-approval-flow .af-human-node{
  border-color:var(--af-gold);
  color:var(--af-black);
  background:var(--af-gold);
  box-shadow:0 0 28px rgba(241,211,111,.16);
}

.af-approval-flow i{
  position:relative;
  flex:1;
  height:1px;
  overflow:hidden;
  background:var(--af-line);
}

.af-approval-flow i::after{
  content:"";
  position:absolute;
  inset:0;
  background:var(--af-paper);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .7s var(--af-ease);
}

.af-approval-flow i.is-done::after{
  transform:scaleX(1);
}

.af-approval.is-authorised #af-approval-wire::after{
  background:var(--af-spectrum);
  transform:scaleX(1);
}

.af-approval.is-authorised #af-action-node{
  border-color:var(--af-mint);
  color:var(--af-black);
  background:var(--af-mint);
  box-shadow:0 0 28px rgba(136,231,193,.25);
}

.af-decision{
  display:grid;
  grid-template-columns:1fr auto;
  gap:30px;
  align-items:end;
  padding:clamp(26px,3vw,42px);
}

.af-decision>div>span{
  color:#77736d;
  font:500 8px/1 'JetBrains Mono',monospace;
  letter-spacing:.15em;
}

.af-decision h3{
  max-width:17ch;
  margin-top:12px;
  color:var(--af-paper);
  font-size:clamp(24px,2.6vw,41px);
  font-weight:300;
  line-height:1.12;
  letter-spacing:-.045em;
}

.af-decision dl{
  display:grid;
  gap:9px;
  margin-top:30px;
}

.af-decision dl>div{
  display:grid;
  grid-template-columns:104px 1fr;
  gap:14px;
}

.af-decision dt{
  color:#5f5c57;
  font:500 8px/1.4 'JetBrains Mono',monospace;
  letter-spacing:.12em;
}

.af-decision dd{
  color:#aaa69e;
  font-size:12px;
  line-height:1.4;
}

#af-approve-button{
  width:148px;
  padding:0;
  border:1px solid rgba(241,211,111,.45);
  color:var(--af-gold);
  background:transparent;
  cursor:pointer;
  transition:color .3s,background .3s,border-color .3s,transform .3s var(--af-ease);
}

#af-approve-button>span{
  display:block;
  padding:15px 8px 12px;
  font:500 7.5px/1 'JetBrains Mono',monospace;
  letter-spacing:.1em;
}

#af-approve-button>i{
  display:block;
  height:5px;
  margin:0 8px 8px;
  overflow:hidden;
  background:rgba(241,211,111,.16);
}

#af-approve-button b{
  display:block;
  width:0;
  height:100%;
  background:var(--af-gold);
}

#af-approve-button:hover{
  transform:translateY(-2px);
  background:rgba(241,211,111,.06);
}

#af-approve-button.is-holding b{
  width:100%;
  transition:width 1.1s linear;
}

.af-approval.is-authorised #af-approve-button{
  border-color:var(--af-mint);
  color:var(--af-black);
  background:var(--af-mint);
}

.af-approval.is-authorised #af-approve-button>i{
  opacity:0;
}

.af-ledger{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:16px;
  align-items:center;
  min-height:50px;
  padding:0 20px;
  border-top:1px solid var(--af-line);
  color:#686560;
  font:500 8px/1.4 'JetBrains Mono',monospace;
  letter-spacing:.08em;
}

.af-ledger strong{
  color:var(--af-gold);
  font-weight:500;
  letter-spacing:.12em;
}

.af-approval.is-authorised .af-ledger strong{
  color:var(--af-mint);
}

/* Architecture */
.af-architecture{
  background:rgba(4,4,4,.86);
}

.af-architecture-head{
  display:grid;
  grid-template-columns:1.35fr .65fr;
  gap:clamp(60px,10vw,170px);
  align-items:end;
}

.af-architecture-diagram{
  position:relative;
  display:grid;
  grid-template-columns:1fr minmax(300px,1.15fr) 1fr;
  margin-top:clamp(90px,12vw,180px);
  border:1px solid var(--af-line-strong);
  background:rgba(2,2,2,.91);
}

.af-arch-side{
  position:relative;
  z-index:2;
}

.af-arch-inputs{
  border-right:1px solid var(--af-line);
}

.af-arch-outputs{
  border-left:1px solid var(--af-line);
}

.af-arch-label{
  display:flex;
  align-items:center;
  min-height:48px;
  padding:0 22px;
  border-bottom:1px solid var(--af-line);
  color:#686560;
  font:500 8.5px/1 'JetBrains Mono',monospace;
  letter-spacing:.15em;
}

.af-arch-side>div{
  display:grid;
  grid-template-columns:28px 1fr;
  gap:4px 10px;
  min-height:98px;
  padding:22px;
  border-bottom:1px solid var(--af-line);
  transition:background .3s;
}

.af-arch-side>div:last-child{
  border-bottom:0;
}

.af-arch-side>div:hover{
  background:rgba(255,255,255,.035);
}

.af-arch-side i{
  grid-row:1/3;
  color:#55524d;
  font:500 8px/1.4 'JetBrains Mono',monospace;
}

.af-arch-side b{
  color:#c8c4bc;
  font-size:13px;
  font-weight:500;
}

.af-arch-side small{
  color:#686560;
  font-size:10.5px;
  line-height:1.4;
}

.af-arch-core{
  position:relative;
  display:grid;
  min-height:440px;
  place-items:center;
  overflow:hidden;
  background:
    linear-gradient(rgba(243,240,233,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(243,240,233,.025) 1px,transparent 1px);
  background-size:35px 35px;
}

.af-arch-core::before,
.af-arch-core::after{
  content:"";
  position:absolute;
  top:50%;
  width:50%;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--af-line-strong));
}

.af-arch-core::before{
  left:0;
}

.af-arch-core::after{
  right:0;
  transform:rotate(180deg);
}

.af-core-name{
  position:relative;
  z-index:4;
  display:flex;
  flex-direction:column;
  align-items:center;
}

.af-core-name span,
.af-core-name strong{
  font-size:clamp(26px,3vw,46px);
  line-height:.82;
  letter-spacing:-.07em;
}

.af-core-name span{font-weight:300}
.af-core-name strong{font-weight:600}

.af-core-name small{
  margin-top:16px;
  color:#686560;
  font:500 7px/1 'JetBrains Mono',monospace;
  letter-spacing:.17em;
}

.af-orbit{
  position:absolute;
  top:50%;
  left:50%;
  border:1px solid rgba(243,240,233,.16);
  border-radius:50%;
  transform:translate(-50%,-50%);
}

.af-orbit::after{
  content:"";
  position:absolute;
  top:50%;
  left:-3px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--af-paper);
  box-shadow:0 0 9px rgba(255,255,255,.5);
}

.orbit-1{
  width:44%;
  aspect-ratio:1;
  animation:af-spin 17s linear infinite;
}

.orbit-2{
  width:65%;
  aspect-ratio:1;
  border-style:dashed;
  animation:af-spin 27s linear infinite reverse;
}

.orbit-2::after{background:var(--af-mint);box-shadow:0 0 10px rgba(136,231,193,.7)}

.orbit-3{
  width:87%;
  aspect-ratio:1;
  opacity:.55;
  animation:af-spin 36s linear infinite;
}

.orbit-3::after{background:var(--af-violet);box-shadow:0 0 10px rgba(182,147,232,.7)}

@keyframes af-spin{
  to{transform:translate(-50%,-50%) rotate(360deg)}
}

.af-orbit-label{
  position:absolute;
  z-index:3;
  padding:5px 7px;
  color:#77736d;
  background:#030303;
  font:500 7px/1 'JetBrains Mono',monospace;
  letter-spacing:.12em;
}

.af-orbit-label.l1{top:21%;left:18%}
.af-orbit-label.l2{top:31%;right:13%}
.af-orbit-label.l3{right:19%;bottom:21%}
.af-orbit-label.l4{bottom:29%;left:12%}

.af-arch-foundation{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  gap:16px;
  min-height:52px;
  padding:0 22px;
  border-top:1px solid var(--af-line);
  color:#686560;
  font:500 8px/1 'JetBrains Mono',monospace;
  letter-spacing:.14em;
}

.af-arch-foundation i{
  flex:1;
  height:1px;
  background:var(--af-line);
}

/* Final */
.af-final{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:112vh;
  padding-top:170px;
  padding-bottom:90px;
  background:rgba(3,3,3,.6);
}

.af-final::before{
  content:"";
  position:absolute;
  top:20%;
  left:50%;
  width:min(65vw,900px);
  aspect-ratio:1;
  border:1px solid rgba(243,240,233,.07);
  border-radius:50%;
  transform:translate(-50%,-50%);
  box-shadow:
    0 0 0 80px rgba(243,240,233,.018),
    0 0 0 160px rgba(243,240,233,.012),
    0 0 180px rgba(120,174,242,.045);
}

.af-final>.af-overline,
.af-final>h2,
.af-final>p,
.af-final-actions{
  position:relative;
  z-index:2;
}

.af-final>h2{
  max-width:10.5ch;
  margin-top:34px;
  color:var(--af-paper);
  font-size:clamp(66px,10vw,158px);
  font-weight:300;
  line-height:.86;
  letter-spacing:-.08em;
}

.af-final>h2 span{
  color:transparent;
  background:var(--af-spectrum);
  background-size:150% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  animation:af-spectrum-drift 8s ease-in-out infinite alternate;
}

.af-final>p{
  max-width:48ch;
  margin:50px 0 0 auto;
  color:#aaa69e;
  font-size:clamp(16px,1.5vw,22px);
  font-weight:300;
  line-height:1.65;
  letter-spacing:-.018em;
}

.af-final-actions{
  display:flex;
  align-items:center;
  gap:34px;
  margin:44px 0 0 auto;
}

.af-final-signal{
  position:absolute;
  right:-5vw;
  bottom:17%;
  left:-5vw;
  z-index:0;
  display:flex;
  flex-direction:column;
  gap:12px;
  transform:rotate(-6deg);
  opacity:.25;
}

.af-final-signal span{
  display:block;
  width:100%;
  height:1px;
  background:var(--af-spectrum);
  transform-origin:left;
  animation:af-final-thread 6s var(--af-ease) infinite alternate;
}

.af-final-signal span:nth-child(2){animation-delay:-1s;transform-origin:right}
.af-final-signal span:nth-child(3){animation-delay:-2s}
.af-final-signal span:nth-child(4){animation-delay:-3s;transform-origin:right}
.af-final-signal span:nth-child(5){animation-delay:-4s}

@keyframes af-final-thread{
  0%{transform:scaleX(.45)}
  100%{transform:scaleX(1)}
}

.af-final-foot{
  position:absolute;
  right:clamp(26px,5.7vw,92px);
  bottom:34px;
  left:clamp(26px,5.7vw,92px);
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding-top:20px;
  border-top:1px solid var(--af-line);
  color:#55524d;
  font:500 8px/1 'JetBrains Mono',monospace;
  letter-spacing:.14em;
}

/* Crawlable company footer */
.af-footer{
  padding:72px clamp(26px,5.7vw,92px) 44px;
  border-top:1px solid var(--af-line);
  background:#030303;
}

.af-footer nav{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:34px 26px;
  max-width:1480px;
  margin:0 auto;
}

.af-footer .aa-foot-h{
  margin:0 0 17px;
  color:#55524d;
  font:500 8.5px/1 'JetBrains Mono',monospace;
  letter-spacing:.16em;
}

.af-footer a{
  display:block;
  padding:5px 0;
  color:#85817a;
  font-size:12px;
  font-weight:300;
  line-height:1.35;
  transition:color .25s,transform .25s var(--af-ease);
}

.af-footer a:hover,
.af-footer a:focus-visible{
  color:var(--af-paper);
  transform:translateX(3px);
}

.af-footer>p{
  max-width:1480px;
  margin:52px auto 0;
  padding-top:20px;
  border-top:1px solid var(--af-line);
  color:#4e4b47;
  font:500 8px/1 'JetBrains Mono',monospace;
  letter-spacing:.14em;
}

@media(max-width:1200px){
  .af-nav-links{
    gap:16px;
  }

  .af-nav-links>a:not(.af-nav-cta){
    display:none;
  }

  .af-authority-grid{
    grid-template-columns:1fr;
  }

  .af-authority-copy{
    display:grid;
    grid-template-columns:1fr .45fr;
    gap:50px;
    align-items:end;
  }

  .af-authority-copy>p{
    margin:0;
  }

  .af-footer nav{
    grid-template-columns:repeat(3,1fr);
  }
}

@media(max-width:980px){
  .af-section{
    padding-top:110px;
  }

  .af-hero h1{
    font-size:clamp(82px,16vw,156px);
  }

  .af-hero-under{
    gap:50px;
  }

  .af-work-head,
  .af-architecture-head{
    grid-template-columns:1fr;
    gap:36px;
  }

  .af-work-head>p,
  .af-architecture-head>p{
    margin-left:auto;
  }

  .af-scenario{
    grid-template-columns:1fr;
  }

  .af-scenario-tabs{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    border-right:0;
    border-bottom:1px solid var(--af-line);
  }

  .af-scenario-tabs button{
    min-height:102px;
    border-right:1px solid var(--af-line);
    border-bottom:0;
  }

  .af-scenario-tabs button:last-child{
    border-right:0;
  }

  .af-scenario-tabs button::after{
    top:auto;
    right:0;
    bottom:-1px;
    left:0;
    width:auto;
    height:2px;
    transform:scaleX(0);
  }

  .af-scenario-tabs button[aria-selected="true"]::after{
    transform:scaleX(1);
  }

  .af-architecture-diagram{
    grid-template-columns:1fr 1fr;
  }

  .af-arch-core{
    grid-row:1;
    grid-column:1/-1;
    min-height:420px;
    border-bottom:1px solid var(--af-line);
  }

  .af-arch-inputs{
    grid-row:2;
    border-right:1px solid var(--af-line);
  }

  .af-arch-outputs{
    grid-row:2;
    border-left:0;
  }

  .af-arch-foundation{
    grid-row:3;
  }
}

@media(max-width:760px){
  .af-grain{
    display:none;
  }

  .af-nav{
    height:62px;
    padding:0 18px;
  }

  .af-nav::after{
    right:18px;
    left:18px;
  }

  .af-brand span{
    display:none;
  }

  .af-product-lockup{
    margin-left:11px;
  }

  .af-nav-links{
    display:none;
  }

  .af-menu-button{
    position:relative;
    display:block;
    width:44px;
    height:44px;
    margin-left:auto;
    border:0;
    background:transparent;
  }

  .af-menu-button span{
    position:absolute;
    right:8px;
    left:8px;
    height:1px;
    background:var(--af-paper);
    transition:transform .35s var(--af-ease),top .35s var(--af-ease);
  }

  .af-menu-button span:first-child{top:17px}
  .af-menu-button span:last-child{top:26px}

  .af-menu-button[aria-expanded="true"] span:first-child{
    top:22px;
    transform:rotate(45deg);
  }

  .af-menu-button[aria-expanded="true"] span:last-child{
    top:22px;
    transform:rotate(-45deg);
  }

  .af-mobile-menu{
    position:absolute;
    top:100%;
    right:0;
    left:0;
    display:flex;
    flex-direction:column;
    max-height:0;
    overflow:hidden;
    visibility:hidden;
    background:rgba(5,5,5,.97);
    border-bottom:1px solid var(--af-line);
    opacity:0;
    transition:max-height .4s var(--af-ease),opacity .25s,visibility .4s;
  }

  .af-mobile-menu.is-open{
    max-height:320px;
    visibility:visible;
    opacity:1;
  }

  .af-mobile-menu a{
    margin:0 20px;
    padding:16px 0;
    border-bottom:1px solid var(--af-line);
    color:#b7b3ac;
    font-size:14px;
    font-weight:300;
  }

  .af-mobile-menu a:last-child{
    color:var(--af-paper);
    border-bottom:0;
  }

  .af-progress{
    display:none;
  }

  .af-section{
    min-height:auto;
    padding:96px 22px 82px;
  }

  .af-section-index{
    margin-bottom:66px;
    font-size:7.5px;
    letter-spacing:.14em;
  }

  .af-section-index span:last-child{
    max-width:20ch;
  }

  .af-mega{
    font-size:clamp(43px,13vw,76px);
    line-height:.98;
    letter-spacing:-.06em;
  }

  .af-button{
    width:100%;
    min-width:0;
  }

  .af-hero{
    min-height:100svh;
    padding:80px 18px 19px;
  }

  .af-hero::before{
    inset:62px 18px 19px;
  }

  .af-hero::after{
    top:62px;
    bottom:19px;
    left:58%;
  }

  .af-hero-top{
    padding:0 12px;
    font-size:7px;
    letter-spacing:.12em;
  }

  .af-hero-title-wrap{
    padding:6vh 0 3vh;
  }

  .af-hero-title-wrap>.af-overline{
    margin:0 0 19px 11px;
    font-size:7.5px;
    letter-spacing:.17em;
  }

  .af-hero h1{
    font-size:clamp(72px,25vw,116px);
    line-height:.78;
  }

  .af-hero h1>span:first-child{
    margin-left:0;
  }

  .af-word-fabric{
    align-self:flex-start;
    margin-top:.08em;
    margin-left:.15em;
  }

  .af-hero-under{
    grid-template-columns:1fr;
    gap:26px;
    margin-top:50px;
    padding:0 12px;
  }

  .af-hero-statement{
    font-size:25px;
  }

  .af-hero-copy{
    font-size:14px;
    line-height:1.65;
  }

  .af-hero-actions{
    flex-direction:column;
    align-items:stretch;
    gap:10px;
    margin-top:24px;
  }

  .af-hero-actions .af-text-link{
    align-self:flex-start;
  }

  .af-hero-rail{
    gap:7px;
    padding:15px 12px 0;
  }

  .af-hero-rail span{
    font-size:6.3px;
    letter-spacing:.08em;
  }

  .af-hero-rail span b{
    display:none;
  }

  .af-manifesto-grid{
    grid-template-columns:1fr;
    gap:32px;
  }

  .af-side-note{
    display:none;
  }

  .af-manifesto-copy{
    margin-top:38px;
    font-size:17px;
  }

  .af-system-map{
    margin-top:84px;
  }

  .af-map-caption{
    min-height:44px;
    font-size:7px;
    letter-spacing:.1em;
  }

  .af-map-caption span:last-child{
    display:none;
  }

  .af-map-stage{
    height:430px;
    margin:0 -22px;
  }

  .af-map-stage svg{
    inset:4%;
    width:92%;
    height:92%;
  }

  .af-map-core{
    width:136px;
  }

  .af-map-node{
    font-size:6.5px;
  }

  .af-map-node.n1{top:10%;left:2%}
  .af-map-node.n2{top:9%;right:1%}
  .af-map-node.n3{top:49%;left:0}
  .af-map-node.n4{right:0;bottom:11%}
  .af-map-node.n5{bottom:10%;left:4%}

  .af-map-outcomes{
    display:grid;
    grid-template-columns:1fr 1fr;
    min-height:auto;
    font-size:6.5px;
  }

  .af-map-outcomes span{
    padding:13px 6px;
    border-bottom:1px solid var(--af-line);
  }

  .af-map-outcomes span:nth-child(odd){
    border-left:0;
  }

  .af-map-outcomes span:nth-last-child(-n+2){
    border-bottom:0;
  }

  .af-work-head>p,
  .af-authority-copy>p,
  .af-architecture-head>p{
    margin-left:0;
    font-size:15px;
  }

  .af-scenario{
    margin-top:66px;
  }

  .af-scenario-tabs{
    overflow-x:auto;
    grid-template-columns:repeat(3,minmax(156px,1fr));
    scrollbar-width:none;
  }

  .af-scenario-tabs::-webkit-scrollbar{
    display:none;
  }

  .af-scenario-tabs button{
    min-height:92px;
    padding:19px 14px;
  }

  .af-panel-bar{
    min-height:44px;
    padding:0 13px;
    font-size:6.4px;
    letter-spacing:.1em;
  }

  .af-request{
    padding:27px 20px;
  }

  .af-request p{
    font-size:26px;
  }

  .af-trace{
    grid-template-columns:1fr;
    gap:0;
    min-height:0;
    padding:18px 20px;
  }

  .af-trace-line{
    top:32px;
    bottom:32px;
    left:27px;
    flex-direction:column;
    width:1px;
    height:auto;
  }

  .af-trace-line i{
    width:1px;
  }

  .af-trace-line i::after{
    transform:scaleY(0);
    transform-origin:top;
  }

  .af-trace[data-stage="1"] .af-trace-line i:nth-child(1)::after,
  .af-trace[data-stage="2"] .af-trace-line i:nth-child(-n+2)::after,
  .af-trace[data-stage="3"] .af-trace-line i::after{
    transform:scaleY(1);
  }

  .af-trace-step{
    display:grid;
    grid-template-columns:20px 12px 1fr;
    gap:4px 12px;
    align-items:center;
    min-height:68px;
    text-align:left;
  }

  .af-trace-step::before{
    grid-row:1/3;
    grid-column:2;
    order:initial;
    margin:0;
  }

  .af-trace-step span{
    grid-row:1/3;
    grid-column:1;
    order:initial;
  }

  .af-trace-step b{
    grid-row:1;
    grid-column:3;
    order:initial;
  }

  .af-trace-step small{
    grid-row:2;
    grid-column:3;
    order:initial;
    max-width:none;
  }

  .af-result{
    grid-template-columns:1fr;
    gap:20px;
    padding:27px 20px;
  }

  .af-result-state{
    justify-self:start;
  }

  .af-powers-intro{
    margin-bottom:80px;
  }

  .af-power{
    grid-template-columns:36px 1fr;
    gap:14px;
    min-height:250px;
    padding:35px 22px;
  }

  .af-power h3{
    font-size:45px;
  }

  .af-power p{
    grid-column:2;
    font-size:14.5px;
  }

  .af-power-word{
    font-size:36vw;
  }

  .af-authority-copy{
    display:block;
  }

  .af-authority-copy>p{
    margin-top:32px;
  }

  .af-authority-grid{
    gap:64px;
  }

  .af-approval{
    margin:0 -22px;
  }

  .af-approval-flow{
    padding:20px 13px;
  }

  .af-approval-flow span{
    width:54px;
    height:54px;
    font-size:6px;
  }

  .af-decision{
    grid-template-columns:1fr;
    padding:27px 20px;
  }

  #af-approve-button{
    width:100%;
    min-height:53px;
  }

  .af-ledger{
    grid-template-columns:auto 1fr;
    min-height:67px;
    padding:10px 14px;
  }

  .af-ledger p{
    text-align:right;
  }

  .af-ledger strong{
    grid-column:1/-1;
    text-align:right;
  }

  .af-architecture-diagram{
    grid-template-columns:1fr;
    margin:75px -22px 0;
  }

  .af-arch-core{
    grid-row:1;
    grid-column:1;
    min-height:380px;
  }

  .af-arch-inputs{
    grid-row:2;
    border-right:0;
    border-bottom:1px solid var(--af-line);
  }

  .af-arch-outputs{
    grid-row:3;
  }

  .af-arch-foundation{
    grid-row:4;
    grid-column:1;
    flex-wrap:wrap;
    justify-content:space-between;
    gap:12px 18px;
    padding:18px;
  }

  .af-arch-foundation i{
    display:none;
  }

  .af-final{
    min-height:100svh;
    padding-top:130px;
    padding-bottom:110px;
  }

  .af-final::before{
    top:30%;
    width:100vw;
  }

  .af-final>h2{
    margin-top:25px;
    font-size:clamp(61px,19vw,102px);
    line-height:.9;
  }

  .af-final>p{
    margin:42px 0 0;
    font-size:16px;
  }

  .af-final-actions{
    flex-direction:column;
    align-items:stretch;
    gap:18px;
    width:100%;
    margin:36px 0 0;
  }

  .af-final-actions .af-text-link{
    align-self:flex-start;
  }

  .af-final-foot{
    right:22px;
    bottom:24px;
    left:22px;
    font-size:6.5px;
    line-height:1.4;
  }

  .af-final-foot span:last-child{
    text-align:right;
  }

  .af-footer{
    padding-top:60px;
  }

  .af-footer nav{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:430px){
  .af-live{
    font-size:0;
  }

  .af-live::after{
    content:"ONLINE";
    font-size:7px;
  }

  .af-hero h1{
    font-size:22.8vw;
  }

  .af-hero-rail span{
    font-size:5.6px;
  }

  .af-hero-rail{
    gap:5px;
  }

  .af-footer nav{
    grid-template-columns:1fr;
  }

  .af-footer>p{
    line-height:1.5;
  }
}

@media(prefers-reduced-motion:reduce){
  html{
    scroll-behavior:auto;
  }

  *,
  *::before,
  *::after{
    scroll-behavior:auto!important;
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
  }

  .af-js [data-reveal]{
    opacity:1;
    filter:none;
    transform:none;
  }

  .af-grain{
    display:none;
  }
}
