@charset "UTF-8";

:root{
  --black:#050505;
  --ink:#111;
  --panel:#181818;
  --panel2:#222;
  --paper:#e5e4df;
  --paper2:#d6d5d0;
  --silver:#c9cccd;
  --muted:#858585;
  --acid:#b8ff2c;
  --cyan:#2fffee;
  --violet:#8b5cff;
  --pink:#ff3fd5;
  --white:#f5f4ef;
  --line:rgba(255,255,255,.13);
  --line-dark:rgba(0,0,0,.14);
  --ease:cubic-bezier(.19,1,.22,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--black)}
body{
  margin:0;
  font-family:"Inter","Noto Sans JP",sans-serif;
  color:var(--ink);
  background:var(--paper);
  overflow-x:hidden;
  cursor:none;
}
body.is-lock{overflow:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
::selection{background:var(--ink);color:var(--white)}

.grain{
  position:fixed;
  inset:0;
  z-index:500;
  opacity:.055;
  pointer-events:none;
  mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence baseFrequency='.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
}
.cursor{
  position:fixed;
  z-index:1000;
  top:0;
  left:0;
  width:28px;
  height:28px;
  border:1px solid var(--acid);
  border-radius:50%;
  pointer-events:none;
  transform:translate(-50%,-50%);
  box-shadow:0 0 24px rgba(184,255,44,.45);
  transition:width .35s var(--ease),height .35s var(--ease),border-color .35s,background .35s,box-shadow .35s;
}
.cursor span{
  position:absolute;
  left:50%;
  top:50%;
  width:4px;
  height:4px;
  background:var(--cyan);
  border-radius:50%;
  transform:translate(-50%,-50%);
}
.cursor.is-active{
  width:92px;
  height:92px;
  border-color:var(--pink);
  background:rgba(255,63,213,.08);
  box-shadow:0 0 40px rgba(255,63,213,.38);
}
.cursor.on-light{
  border-color:var(--pink);
  background:rgba(255,63,213,.06);
  box-shadow:0 0 30px rgba(255,63,213,.42);
}
.cursor.on-light span{
  background:var(--violet);
}
.cursor.on-light.is-active{
  border-color:var(--acid);
  background:rgba(184,255,44,.14);
  box-shadow:0 0 42px rgba(184,255,44,.46), 0 0 0 1px rgba(0,0,0,.18);
}
.cursor.on-light.is-active span{
  background:var(--black);
}
.orb{
  position:fixed;
  z-index:1;
  width:38vw;
  height:38vw;
  border-radius:50%;
  pointer-events:none;
  filter:blur(85px);
  opacity:.11;
  background:radial-gradient(circle,rgba(226,230,232,.9),transparent 68%);
  transform:translate(-50%,-50%);
}
.page-progress{
  position:fixed;
  z-index:900;
  right:22px;
  top:50%;
  width:1px;
  height:36vh;
  background:rgba(255,255,255,.25);
  transform:translateY(-50%);
  mix-blend-mode:difference;
}
.page-progress span{
  display:block;
  width:100%;
  height:100%;
  background:white;
  transform:scaleY(0);
  transform-origin:top;
}

.loader{
  position:fixed;
  inset:0;
  z-index:1300;
  display:grid;
  place-items:center;
  color:var(--white);
  background:#020202;
  transition:clip-path 1.1s var(--ease);
  clip-path:polygon(0 0,100% 0,100% 100%,0 100%);
}

.loader.is-skipped{
  display:none!important;
}
.loader.is-hide{
  clip-path:polygon(0 0,100% 0,100% 0,0 0);
}
.loader__logo{
  width:min(330px,62vw);
  filter:brightness(0) invert(1);
  animation:logoPulse 1.4s ease-in-out infinite alternate;
}
.loader__logo img{
  display:block;
  width:100%;
}
.loader__bar{
  position:absolute;
  left:36px;
  right:36px;
  bottom:58px;
  height:64px;
  background:transparent;
  overflow:hidden;
}
.loader__bar span{
  display:block;
}

.loader__bar--triple{
  display:grid;
  align-content:center;
  gap:12px;
}
.rainbow-line{
  position:relative;
  width:100%;
  height:2px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  overflow:hidden;
}
.rainbow-line--middle{
  height:3px;
}
.rainbow-line::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:38%;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,var(--acid),var(--cyan),var(--violet),var(--pink),transparent);
  box-shadow:
    0 0 12px rgba(184,255,44,.62),
    0 0 24px rgba(47,255,238,.36),
    0 0 36px rgba(255,63,213,.32);
  transform:translateX(-130%);
  opacity:0;
  animation:rainbowSweep 1.8s cubic-bezier(.19,1,.22,1) infinite;
}
.rainbow-line--middle::before{
  width:46%;
  animation-delay:.18s;
}
.rainbow-line--bottom::before{
  animation-delay:.36s;
}
@keyframes rainbowSweep{
  0%{transform:translateX(-130%);opacity:0;}
  10%{opacity:1;}
  72%{opacity:1;}
  100%{transform:translateX(285%);opacity:0;}
}
.loader p{
  position:absolute;
  left:36px;
  right:36px;
  bottom:28px;
  display:flex;
  justify-content:space-between;
  margin:0;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.22em;
}
.loader b{
  font-weight:400;
}
@keyframes logoPulse{
  to{
    filter:brightness(0) invert(1) drop-shadow(0 0 18px rgba(184,255,44,.35));
  }
}

.header{
  position:fixed;
  z-index:850;
  top:0;
  left:0;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  width:100%;
  min-height:82px;
  padding:0 34px;
  color:white;
  mix-blend-mode:difference;
}
.brand{
  display:block;
  width:178px;
  filter:brightness(0) invert(1);
}
.brand img{display:block;width:100%;height:auto}
.header__tag{
  margin:0;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.23em;
}
.menu{
  justify-self:end;
  display:flex;
  align-items:center;
  gap:16px;
  padding:10px 0;
  border:0;
  background:transparent;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.2em;
  cursor:none;
}
.menu i{
  position:relative;
  width:34px;
  height:34px;
  border:1px solid currentColor;
  border-radius:50%;
}
.menu i::before,.menu i::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:14px;
  height:1px;
  background:currentColor;
  transform:translate(-50%,-50%);
  transition:transform .5s var(--ease);
}
.menu i::after{transform:translate(-50%,-50%) rotate(90deg)}
.menu.is-open i::before{transform:translate(-50%,-50%) rotate(45deg)}
.menu.is-open i::after{transform:translate(-50%,-50%) rotate(135deg)}

.overlay{
  position:fixed;
  inset:0;
  z-index:800;
  visibility:hidden;
  color:var(--white);
}
.overlay__blocks{
  position:absolute;
  inset:0;
  display:grid;
  grid-template-columns:repeat(4,1fr);
}
.overlay__blocks span{
  background:var(--black);
  transform:scaleY(0);
  transform-origin:top;
  transition:transform .75s var(--ease);
}
.overlay.is-open{visibility:visible}
.overlay.is-open .overlay__blocks span{transform:scaleY(1)}
.overlay__blocks span:nth-child(2){transition-delay:.04s}
.overlay__blocks span:nth-child(3){transition-delay:.08s}
.overlay__blocks span:nth-child(4){transition-delay:.12s}
.overlay__inner{
  position:relative;
  z-index:2;
  display:grid;
  align-content:center;
  min-height:100%;
  padding:110px 8vw 50px;
  opacity:0;
  transform:translateY(24px);
  transition:opacity .45s ease .25s,transform .8s var(--ease) .25s;
}
.overlay.is-open .overlay__inner{opacity:1;transform:none}
.overlay__inner p{
  margin:0 0 34px;
  color:var(--muted);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.22em;
}
.overlay__inner a{
  position:relative;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  padding:10px 0 14px;
  border-top:1px solid var(--line);
  font-size:clamp(48px,8vw,110px);
  font-weight:300;
  line-height:.92;
  letter-spacing:-.08em;
}
.overlay__inner a::after{
  content:"↗";
  font-size:.38em;
  opacity:.3;
}
.overlay__inner a:last-child{border-bottom:1px solid var(--line)}

section{position:relative;z-index:2}
.hero{
  min-height:100svh;
  overflow:hidden;
  color:var(--white);
  background:var(--black);
}
.matrix{
  position:absolute;
  inset:0;
  z-index:0;
  display:grid;
  grid-template-columns:1.1fr .9fr 1fr;
  grid-template-rows:1fr 1fr;
  gap:1px;
  background:var(--line);
}
.matrix__cell{
  background:
    linear-gradient(135deg,rgba(255,255,255,.055),transparent 48%),
    #080808;
}
.matrix__cell--a{grid-row:1/3}
.matrix__cell--b{background:#121212}
.matrix__cell--c{background:#0d0d0d}
.matrix__cell--d{grid-column:2/4;background:#151515}
.matrix__cell--b::after,
.matrix__cell--d::after{
  content:"";
  display:block;
  width:100%;
  height:100%;
  background:repeating-linear-gradient(90deg,transparent 0 18px,rgba(255,255,255,.045) 18px 19px);
  opacity:.65;
}
.hero__panel{
  position:absolute;
  z-index:4;
  display:flex;
  justify-content:space-between;
  width:260px;
  padding:18px;
  border:1px solid var(--line);
  color:var(--silver);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.13em;
  background:rgba(255,255,255,.035);
  backdrop-filter:blur(8px);
}
.hero__panel span{color:var(--muted)}
.hero__panel p{margin:0}
.hero__panel--left{left:34px;bottom:34px}
.hero__panel--right{right:34px;top:110px}
.hero__main{
  position:relative;
  z-index:3;
  display:grid;
  min-height:100svh;
  align-content:center;
  padding:110px 34px 120px;
}
.hero__label{
  margin:0 0 26px;
  color:var(--silver);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.24em;
}
.split-title{
  margin:0;
  max-width:1500px;
  font-size:clamp(58px,12.8vw,210px);
  font-weight:700;
  line-height:.76;
  letter-spacing:-.105em;
}
.split-title span{
  position:relative;
  display:block;
  width:max-content;
  max-width:100%;
  color:transparent;
  -webkit-text-stroke:1px rgba(255,255,255,.78);
  overflow:hidden;
}
.split-title span::after{
  content:attr(data-row);
  position:absolute;
  inset:0;
  color:var(--white);
  clip-path:inset(0 100% 0 0);
  transition:clip-path 1.4s var(--ease);
}
.split-title.is-on span::after{clip-path:inset(0 0 0 0)}
.split-title span:nth-child(2){
  margin-left:auto;
  -webkit-text-stroke-color:rgba(255,255,255,.38);
}
.hero__statement{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:40px;
  margin-top:48px;
}
.hero__statement p{
  max-width:620px;
  margin:0;
  color:var(--silver);
  font-size:14px;
  line-height:2;
  letter-spacing:.06em;
}
.chip{
  display:inline-flex;
  min-width:158px;
  min-height:48px;
  align-items:center;
  justify-content:center;
  border:1px solid var(--line);
  border-radius:999px;
  color:var(--white);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.16em;
  background:rgba(255,255,255,.035);
}
.ticker{
  position:absolute;
  z-index:5;
  left:0;
  right:0;
  bottom:0;
  height:42px;
  border-top:1px solid var(--line);
  background:rgba(0,0,0,.35);
  overflow:hidden;
  display:flex;
  align-items:center;
}
.ticker__track{
  display:flex;
  width:max-content;
  min-width:max-content;
  white-space:nowrap;
  will-change:transform;
  animation:tickerLoop 30s linear infinite;
}
.ticker__group{
  display:flex;
  flex:none;
  align-items:center;
  justify-content:space-around;
  width:max(100vw,1100px);
  gap:0;
  padding:0 18px;
  white-space:nowrap;
}
.ticker span,.ticker i{
  flex:none;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.18em;
  color:var(--silver);
  white-space:nowrap;
}
.ticker i{
  font-style:normal;
  color:var(--muted);
}
@keyframes tickerLoop{
  from{transform:translate3d(0,0,0);}
  to{transform:translate3d(-50%,0,0);}
}

.index-label{
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-top:1px solid var(--line-dark);
  padding-top:18px;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.2em;
}
.index-label span{color:var(--muted)}
.index-label b{font-weight:400;color:var(--muted)}
.index-label--light{border-color:var(--line);color:var(--white)}

.manifest{
  padding:130px 34px 150px;
  background:var(--paper);
}
.manifest__grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:8vw;
  margin-top:88px;
}
.overline{
  margin:0 0 22px;
  color:var(--muted);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.2em;
}
.manifest__copy h2{
  margin:0;
  font-size:clamp(42px,6.6vw,104px);
  font-weight:500;
  line-height:1.2;
  letter-spacing:-.07em;
}
.manifest__text{
  align-self:end;
  display:grid;
  gap:24px;
}
.manifest__text p{
  margin:0;
  color:#565656;
  font-size:14px;
  line-height:2.15;
}
.cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  margin-top:100px;
  background:var(--line-dark);
}
.data-card{
  min-height:310px;
  padding:28px;
  background:var(--paper2);
  transition:background .5s var(--ease),color .5s var(--ease),transform .5s var(--ease);
}
.data-card:hover{
  color:var(--white);
  background:var(--ink);
  transform:translateY(-10px);
}
.data-card span{
  display:block;
  color:var(--muted);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.2em;
}
.data-card h3{
  margin:84px 0 24px;
  font-size:clamp(48px,7vw,90px);
  font-weight:400;
  line-height:1;
  letter-spacing:-.08em;
}
.data-card p{
  margin:0;
  color:#666;
  font-size:14px;
  line-height:1.8;
}
.data-card:hover p{color:var(--silver)}

.system{
  padding:130px 34px 150px;
  color:var(--white);
  background:
    linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),
    #080808;
  background-size:70px 70px;
}
.system__layout{
  display:grid;
  grid-template-columns:1fr .82fr;
  gap:6vw;
  align-items:center;
  margin-top:88px;
}
.system__screen{
  perspective:1100px;
}
.terminal{
  min-height:520px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.045);
  backdrop-filter:blur(8px);
  box-shadow:0 45px 120px rgba(0,0,0,.35);
  transform:rotateX(7deg) rotateY(-7deg);
  transition:transform .8s var(--ease);
}
.terminal:hover{transform:rotateX(0) rotateY(0)}
.terminal__head{
  display:flex;
  align-items:center;
  gap:8px;
  height:48px;
  padding:0 18px;
  border-bottom:1px solid var(--line);
}
.terminal__head i{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--muted);
}
.terminal__head span{
  margin-left:14px;
  color:var(--muted);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.18em;
}
.terminal__body{
  padding:34px;
}
.terminal__body p{
  display:grid;
  grid-template-columns:145px 1fr;
  gap:30px;
  margin:0;
  padding:24px 0;
  border-bottom:1px solid var(--line);
  font-size:13px;
  line-height:1.7;
}
.terminal__body b{
  color:var(--muted);
  font-weight:400;
  text-transform:uppercase;
  letter-spacing:.16em;
}
.terminal__body span{color:var(--silver)}
.system__copy h2{
  margin:0 0 34px;
  font-size:clamp(42px,5.8vw,88px);
  font-weight:500;
  line-height:1.2;
  letter-spacing:-.07em;
}
.system__copy p:not(.overline){
  margin:0 0 22px;
  color:var(--silver);
  font-size:14px;
  line-height:2.15;
}

.field{
  padding:130px 34px 150px;
  background:var(--paper);
}
.field__head{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:6vw;
  align-items:end;
  margin-top:88px;
}
.field__head h2{
  margin:0;
  font-size:clamp(54px,8vw,126px);
  font-weight:500;
  line-height:.89;
  letter-spacing:-.085em;
}
.field__head p{
  margin:0 0 10px;
  color:#5d5d5d;
  font-size:14px;
  line-height:2;
}
.business-mosaic{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  grid-auto-rows:minmax(210px,auto);
  gap:1px;
  margin-top:95px;
  background:var(--line-dark);
}
.mosaic-item{
  position:relative;
  padding:28px;
  background:var(--paper2);
  overflow:hidden;
  transition:background .6s var(--ease),color .6s var(--ease);
}
.mosaic-item::before{
  content:"";
  position:absolute;
  right:-70px;
  bottom:-70px;
  width:180px;
  height:180px;
  border:1px solid var(--line-dark);
  border-radius:50%;
  transition:transform .8s var(--ease);
}
.mosaic-item:hover::before{transform:scale(1.35)}
.mosaic-item:hover{
  color:var(--white);
  background:var(--ink);
}
.mosaic-item--wide{grid-column:span 2}
.mosaic-item--dark{
  color:var(--white);
  background:var(--ink);
}
.mosaic-item span{
  display:block;
  color:var(--muted);
  font-size:10px;
  letter-spacing:.18em;
}
.mosaic-item h3{
  position:relative;
  z-index:2;
  margin:88px 0 18px;
  font-size:clamp(22px,2.5vw,36px);
  font-weight:400;
  line-height:1.25;
  letter-spacing:-.045em;
}
.mosaic-item p{
  position:relative;
  z-index:2;
  margin:0;
  color:#666;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.16em;
}
.mosaic-item:hover p,.mosaic-item--dark p{color:var(--silver)}


.farm-site-link{
  position:relative;
  display:grid;
  grid-template-columns:minmax(250px,.8fr) minmax(320px,1.2fr) auto;
  gap:34px;
  align-items:center;
  min-height:132px;
  margin-top:28px;
  padding:28px;
  border:1px solid var(--line-dark);
  background:var(--paper2);
  overflow:hidden;
  transition:color .55s var(--ease),background .55s var(--ease),transform .55s var(--ease);
}
.farm-site-link::before{
  content:"";
  position:absolute;
  right:-70px;
  bottom:-100px;
  width:230px;
  height:230px;
  border:1px solid var(--line-dark);
  border-radius:50%;
  transition:transform .8s var(--ease),border-color .55s var(--ease);
}
.farm-site-link:hover{
  color:var(--white);
  background:var(--ink);
  transform:translateY(-6px);
}
.farm-site-link:hover::before{
  border-color:var(--line);
  transform:scale(1.22);
}
.farm-site-link__meta,
.farm-site-link__description,
.farm-site-link>i{
  position:relative;
  z-index:2;
}
.farm-site-link__meta{
  display:grid;
  gap:12px;
}
.farm-site-link__meta small{
  color:var(--muted);
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.2em;
}
.farm-site-link__meta b{
  font-size:clamp(22px,2.5vw,36px);
  font-weight:400;
  letter-spacing:-.045em;
}
.farm-site-link__description{
  color:#666;
  font-size:13px;
  line-height:1.9;
}
.farm-site-link>i{
  color:var(--muted);
  font-size:clamp(28px,3.5vw,52px);
  font-style:normal;
  transition:color .55s var(--ease),transform .55s var(--ease);
}
.farm-site-link:hover .farm-site-link__description,
.farm-site-link:hover>i{
  color:var(--silver);
}
.farm-site-link:hover>i{
  transform:translate(8px,-8px);
}
.proof{
  min-height:90svh;
  display:grid;
  place-items:center;
  padding:120px 34px;
  color:var(--white);
  background:
    radial-gradient(circle at 50% 50%,rgba(255,255,255,.16),transparent 38%),
    linear-gradient(135deg,#050505,#171717);
}
.proof__inner{
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:7vw;
  align-items:center;
  width:min(1200px,100%);
}
.proof__number{
  font-size:clamp(180px,33vw,440px);
  font-weight:700;
  line-height:.75;
  letter-spacing:-.12em;
  color:transparent;
  -webkit-text-stroke:1px rgba(255,255,255,.55);
}
.proof h2{
  margin:0 0 30px;
  font-size:clamp(42px,6vw,94px);
  font-weight:500;
  line-height:1.2;
  letter-spacing:-.07em;
}
.proof p:not(.overline){
  margin:0;
  color:var(--silver);
  font-size:14px;
  line-height:2.2;
}

.contact{
  padding:130px 34px 34px;
  background:var(--paper);
}
.contact__inner{
  padding:110px 0 150px;
}
.contact__inner>p{
  margin:0 0 24px;
  color:#606060;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.2em;
}
.contact__link{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  border-top:2px solid var(--ink);
  border-bottom:2px solid var(--ink);
  padding:18px 0 34px;
}
.contact__link span{
  font-size:clamp(62px,13vw,200px);
  font-weight:700;
  line-height:.9;
  letter-spacing:-.1em;
}
.contact__link i{
  font-size:clamp(34px,6vw,84px);
  font-style:normal;
  transition:transform .6s var(--ease);
}
.contact__link:hover i{transform:translate(18px,-18px)}
.footer{
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:70px;
  align-items:end;
  padding-top:28px;
  border-top:1px solid var(--line-dark);
}
.footer img{
  display:block;
  width:185px;
  filter:brightness(0);
}
.footer p{
  margin:0;
  color:#606060;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.16em;
}

.reveal{
  opacity:0;
  transform:translateY(46px);
  transition:opacity .95s ease,transform 1.1s var(--ease);
}
.reveal.is-visible{opacity:1;transform:none}

@media(max-width:900px){
  body{cursor:auto}
  .cursor,.orb{display:none}
  .page-progress{display:none}
  .header{
    grid-template-columns:1fr auto;
    min-height:72px;
    padding:0 22px;
  }
  .brand{width:150px}
  .header__tag{display:none}
  .hero__panel{display:none}
  .hero__main{padding:95px 22px 100px}
  .split-title{
    font-size:clamp(56px,18vw,160px);
  }
  .hero__statement{
    display:block;
  }
  .chip{margin-top:34px}
  .manifest,.system,.field,.proof,.contact{
    padding-left:22px;
    padding-right:22px;
  }
  .manifest__grid,.system__layout,.field__head,.proof__inner{
    grid-template-columns:1fr;
  }
  .cards{
    grid-template-columns:1fr;
  }
  .data-card{min-height:240px}
  .terminal{
    min-height:auto;
    transform:none;
  }
  .business-mosaic{
    grid-template-columns:1fr 1fr;
  }
  .mosaic-item--wide{grid-column:span 2}
  .footer{
    grid-template-columns:1fr;
    gap:26px;
  }
}
@media(max-width:560px){
  .loader__bar,
  .loader p{
    left:22px;
    right:22px;
  }
  .loader__bar{
    bottom:54px;
    height:58px;
  }
  .matrix{
    grid-template-columns:1fr;
    grid-template-rows:repeat(4,1fr);
  }
  .matrix__cell--a,.matrix__cell--d{
    grid-column:auto;
    grid-row:auto;
  }
  .hero__label{line-height:1.7}
  .split-title{
    font-size:clamp(48px,16vw,100px);
    letter-spacing:-.075em;
  }
  .split-title span:nth-child(2){margin-left:0}
  .hero__statement p br{display:none}
  .manifest,.system,.field{
    padding-top:105px;
    padding-bottom:110px;
  }
  .manifest__copy h2 br{display:none}
  .terminal__body{padding:20px}
  .terminal__body p{
    grid-template-columns:1fr;
    gap:8px;
  }
  .business-mosaic{
    grid-template-columns:1fr;
  }
  .mosaic-item--wide{grid-column:auto}
  .mosaic-item{min-height:220px}
  .proof__number{font-size:42vw}
}

@media(max-width:900px){
  .farm-site-link{
    grid-template-columns:1fr auto;
    gap:18px;
  }
  .farm-site-link__description{
    grid-column:1 / -1;
    grid-row:2;
  }
  .farm-site-link>i{
    grid-column:2;
    grid-row:1;
  }
}
@media(max-width:560px){
  .ticker__track{
    animation-duration:24s;
  }
  .ticker__group{
    width:max(100vw,860px);
    padding:0 12px;
  }
  .ticker span,.ticker i{
    font-size:9px;
    letter-spacing:.15em;
  }
  .farm-site-link{
    min-height:auto;
    padding:24px;
  }
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
  }
  .ticker__track{animation-play-state:paused!important}
  .reveal{opacity:1;transform:none}
}
