@font-face{
  font-family:"Barlow Condensed";
  src:url("../fonts/BarlowCondensed-Regular.woff2") format("woff2");
  font-weight:400;
  font-style:normal;
  font-display:block;
}

@font-face{
  font-family:"Barlow Condensed";
  src:url("../fonts/BarlowCondensed-SemiBold.woff2") format("woff2");
  font-weight:600;
  font-style:normal;
  font-display:block;
}

@font-face{
  font-family:"Barlow Condensed";
  src:url("../fonts/BarlowCondensed-Bold.woff2") format("woff2");
  font-weight:700;
  font-style:normal;
  font-display:block;
}

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

:root{
  --c1:#2c323a;
  --c2:#3c4451;
  --c3:#4d596b;
  --bg:#f5f4f1;
  --mobile-equal-tile-height:clamp(14rem,42vw,20rem);
  --gap:0;
  --ease:cubic-bezier(.25,.46,.45,.94);
  --type-scale:1.2;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;
  --serif:ui-serif,Georgia,"Times New Roman",serif;
  --display:"Barlow Condensed",sans-serif;
}

html,body{height:100%;overflow:auto}

body{
  font-family:var(--sans);
  background:var(--c1);
  -webkit-font-smoothing:antialiased;
}

.visually-hidden{
  position:absolute;
  width:1px;
  height:1px;
  margin:-1px;
  padding:0;
  border:0;
  overflow:hidden;
  clip:rect(0,0,0,0);
  clip-path:inset(50%);
  white-space:nowrap;
}

.skip{
  position:absolute;top:-100%;left:1rem;
  background:var(--c1);color:#fff;
  padding:.5rem 1rem;border-radius:4px;
  font-size:calc(.875rem * var(--type-scale));text-decoration:none;z-index:100;
}
.skip:focus{top:1rem}

.wall{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  grid-template-rows:1fr 1fr 36vh;
  grid-template-areas:
    "brand bulkcrop bulkcrop currentsky currentsky"
    "about bulkcrop bulkcrop currentsky currentsky"
    "researched wallapp wp yatc kofi";
  gap:var(--gap);
  width:100%;
  min-height:100vh;
  min-height:100dvh;
}

.tile{
  position:relative;
  overflow:hidden;
  display:block;
  text-decoration:none;
}

.tile-visual{
  position:absolute;
  inset:0;
  z-index:0;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:transform .34s var(--ease);
}

.tile-logo{
  position:absolute;
  inset:0;
  z-index:3;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(.875rem,1.5vw,1.5rem);
  pointer-events:none;
  user-select:none;
  opacity:1;
  transition:transform .34s var(--ease),opacity .28s var(--ease);
}

.tile-visual img{
  width:100%;height:100%;
  object-fit:cover;display:block;
}

a.tile:hover .tile-visual,
a.tile:focus-within .tile-visual,
.tile-static:hover .tile-visual,
.tile-static:focus-within .tile-visual{
  transform:none;
}

.tile-mark{
  display:block;
  font-family:var(--serif);
  font-weight:400;
  line-height:.88;
  letter-spacing:-.04em;
  text-align:center;
  user-select:none;
  pointer-events:none;
}

.tile-info{
  position:absolute;
  inset:0;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  align-items:center;
  text-align:center;
  gap:.5rem;
  padding:clamp(1rem,1.7vw,1.625rem) clamp(1rem,1.7vw,1.625rem) clamp(1.9rem,3vw,2.8rem);
  opacity:.98;
  transform:translateY(92%);
  transition:transform .24s var(--ease),opacity .24s var(--ease);
}

.tile-info::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(44,50,58,.96) 0%,rgba(44,50,58,.65) 45%,rgba(44,50,58,0) 100%);
  z-index:0;
}

.tile-info>*{
  position:relative;
  z-index:1;
}

a.tile:hover .tile-info,
a.tile:focus-within .tile-info,
.tile-static:hover .tile-info,
.tile-static:focus-within .tile-info{
  opacity:1;
  transform:translateY(0);
}

.tile-badge{
  display:inline-block;
  font-size:calc(.6875rem * var(--type-scale));
  letter-spacing:.08em;
  text-transform:uppercase;
  padding:.2rem .5625rem;
  border-radius:2rem;
  margin-bottom:0;
  width:fit-content;
  line-height:1.6;
}

.badge-live,
.badge-soon{
  border:1px solid rgba(255,255,255,.3);
  color:rgba(255,255,255,.6);
  font-weight:400;
}

.badge-live{
  border-color:#4da3ff;
  font-weight:500;
}

.badge-soon{
  color:#fff;
  font-weight:500;
}

.tile-bulkcrop .badge-live{
  color:#fff;
  font-weight:500;
}

.tile-bulkcrop .tile-info,
.tile-currentsky .tile-info{
  gap:.14rem;
  padding:clamp(1.3125rem,calc(1.7vw + .3125rem),1.9375rem) clamp(1.3125rem,calc(1.7vw + .3125rem),1.9375rem) clamp(2.2125rem,calc(3vw + .3125rem),3.1125rem);
}

.tile-bulkcrop .tile-badge,
.tile-currentsky .tile-badge{
  margin-bottom:.44rem;
}

.tile-currentsky .badge-soon{
  border-color:#2d7482;
}

.tile-bulkcrop .tile-name,
.tile-currentsky .tile-name{
  margin-bottom:.64rem;
}

.tile-name{
  font-size:clamp(calc(.9375rem * var(--type-scale)),calc(1.6vw * var(--type-scale)),calc(1.1875rem * var(--type-scale)));
  font-weight:600;
  letter-spacing:-.02em;
  color:#fff;
  margin-bottom:.26rem;
  line-height:1.2;
}

.tile-name-prefix{opacity:.48}

.tile-desc{
  font-size:clamp(calc(.625rem * var(--type-scale)),calc(.95vw * var(--type-scale)),calc(.8125rem * var(--type-scale)));
  color:rgba(255,255,255,.75);
  line-height:1.52;
}

.soon-pip{
  position:absolute;
  top:.8125rem;
  right:.8125rem;
  width:6px;height:6px;
  border-radius:50%;
  background:rgba(255,255,255,.2);
  z-index:4;
  pointer-events:none;
  transition:opacity .2s;
}

.tile-static:hover .soon-pip{opacity:0}
.tile-static:focus-within .soon-pip{opacity:0}

a.tile:focus-visible{
  outline:2px solid rgba(255,255,255,.75);
  outline-offset:-2px;
  z-index:10;
}

.tile-static:focus-visible{
  outline:2px solid rgba(255,255,255,.75);
  outline-offset:-2px;
  z-index:10;
}

.tile-bulkcrop{
  grid-area:bulkcrop;
  container-type:inline-size;
}
.tile-currentsky{grid-area:currentsky}
.tile-brand{grid-area:brand}
.tile-about{grid-area:about}
.tile-researched{grid-area:researched}
.tile-yatc{grid-area:yatc}
.tile-wallapp{grid-area:wallapp}
.tile-wp{grid-area:wp}
.tile-kofi{grid-area:kofi}

.tile-researched,
.tile-yatc,
.tile-wallapp,
.tile-wp,
.tile-kofi{
  --tile-logo-lift:0px;
}

.tile-static{cursor:default}

.tile-summary{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:4;
  display:none;
  flex-direction:column;
  align-items:flex-start;
  gap:.32rem;
  padding:1.1rem 1rem .95rem;
  background:linear-gradient(to top,rgba(44,50,58,.94) 0%,rgba(44,50,58,.72) 54%,rgba(44,50,58,0) 100%);
  pointer-events:none;
  opacity:1;
  transform:translateY(0);
  transition:opacity .2s var(--ease),transform .2s var(--ease);
}

.tile-summary-name{
  font-size:clamp(calc(.8rem * var(--type-scale)),calc(1.25vw * var(--type-scale)),calc(.98rem * var(--type-scale)));
  font-weight:600;
  letter-spacing:-.01em;
  color:#fff;
  line-height:1.2;
}

.tile-bulkcrop .tile-logo{
  padding:clamp(1.8125rem,calc(1.5vw + .9375rem),2.4375rem);
}

.tile-bulkcrop .tile-visual{
  align-items:center;
  justify-content:center;
  background:linear-gradient(160deg,#090b12 0%,#0f1113 72%,#101723 100%);
  padding:clamp(1.0625rem,calc(1.5vw + .3125rem),1.8125rem);
}

.bulkcrop-lockup{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(.65rem,1.6vw,1.15rem);
  gap:clamp(.65rem,1.6cqi,1.15rem);
  width:min(90%,42rem);
  width:min(90cqi,42rem);
  max-width:100%;
  margin:0 auto;
  user-select:none;
  pointer-events:none;
  transform:scale(1);
  transition:transform .28s var(--ease);
}

.bulkcrop-lockup .bulkcrop-lockup-icon{
  width:clamp(4rem,15vw,6.75rem);
  width:clamp(4rem,15cqi,6.75rem);
  height:auto;
  object-fit:contain;
  flex-shrink:0;
}

.bulkcrop-lockup-wordmark{
  display:inline-flex;
  align-items:baseline;
  font-family:var(--display);
  font-size:clamp(calc(1.9rem * var(--type-scale)),calc(9.4vw * var(--type-scale)),calc(4.55rem * var(--type-scale)));
  font-size:clamp(calc(1.9rem * var(--type-scale)),calc(9.4cqi * var(--type-scale)),calc(4.55rem * var(--type-scale)));
  font-weight:700;
  letter-spacing:.14em;
  line-height:.92;
  text-transform:uppercase;
  white-space:nowrap;
  color:#f0f3f6;
}

.bulkcrop-lockup-wordmark em{
  font-style:normal;
  color:#4da3ff;
}

.tile-currentsky .tile-visual{
  background:
    radial-gradient(
      ellipse at 50% 50%,
      rgba(8,31,37,.08) 0%,
      rgba(8,31,37,.16) 34%,
      rgba(8,31,37,.44) 68%,
      rgba(8,31,37,.78) 100%
    ),
    url("../img/photo-of-currentskyapp-bg.webp") center/cover no-repeat;
  transform:scale(1.06) translate3d(0,0,0);
  transform-origin:50% 54%;
  filter:saturate(1.02) contrast(1.01);
  transition:transform 1.68s var(--ease),filter 1.68s var(--ease);
}

@media(hover:hover) and (pointer:fine){
  .tile-currentsky:hover .tile-visual{
    transform:scale(1.09) translate3d(-1.2%,-1%,0);
    filter:saturate(1.06) contrast(1.03);
  }
}

.tile-currentsky:focus-within .tile-visual{
  transform:scale(1.09) translate3d(-1.2%,-1%,0);
  filter:saturate(1.06) contrast(1.03);
}
.tile-bulkcrop .tile-info::before{
  background:linear-gradient(to top,rgba(14,19,28,.96) 0%,rgba(14,19,28,.65) 45%,rgba(14,19,28,0) 100%);
}
.tile-currentsky .tile-info::before{
  background:linear-gradient(to top,rgba(14,23,27,.96) 0%,rgba(14,23,27,.65) 45%,rgba(14,23,27,0) 100%);
}
.tile-currentsky .tile-logo{
  padding:clamp(2.1875rem,calc(2.5vw + .9375rem),3.1875rem);
}
.currentsky-logo{
  display:block;
  width:min(78%,31rem);
  max-width:100%;
  height:auto;
  opacity:.96;
  filter:drop-shadow(0 10px 28px rgba(0,0,0,.22));
  transform:scale(1);
  transition:transform .28s var(--ease);
}

.tile-bulkcrop:hover .bulkcrop-lockup,
.tile-bulkcrop:focus .bulkcrop-lockup,
.tile-bulkcrop:focus-within .bulkcrop-lockup,
.tile-currentsky:hover .currentsky-logo,
.tile-currentsky:focus .currentsky-logo,
.tile-currentsky:focus-within .currentsky-logo{
  transform:scale(1.04);
}

.tile-researched .tile-visual{background:var(--c2)}

.tile-yatc .tile-visual{
  background:linear-gradient(210deg,var(--c2) 0%,var(--c3) 100%);
}

.tile-wallapp .tile-visual{
  background:var(--c3);
}
.tile-wallapp .tile-mark{
  letter-spacing:-.03em;
  white-space:nowrap;
}

.tile-wp .tile-visual{
  background:linear-gradient(150deg,var(--c1) 0%,var(--c2) 100%);
}

.tile-kofi .tile-visual{
  background:linear-gradient(210deg,var(--c2) 0%,var(--c3) 100%);
}

.tile-researched .tile-mark,
.tile-yatc .tile-mark,
.tile-wallapp .tile-mark,
.tile-wp .tile-mark,
.tile-kofi .tile-mark{
  font-size:clamp(calc(1.12rem * var(--type-scale)),calc(2.35vw * var(--type-scale)),calc(2.55rem * var(--type-scale)));
  color:#fff;
}

@media(min-width:1121px){
  .tile-researched .tile-logo,
  .tile-yatc .tile-logo,
  .tile-wallapp .tile-logo,
  .tile-wp .tile-logo,
  .tile-kofi .tile-logo{
    transform:translateY(calc(var(--tile-logo-lift) * -1));
  }
}

.tile-brand{
  background:var(--bg);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.75rem;
  padding:clamp(1rem,1.4vw,1.45rem);
  text-align:center;
}

.brand-logo{
  width:clamp(83.6px,10.26vw,148.2px);
  height:auto;
  display:block;
}

.brand-name{
  font-size:clamp(calc(.98rem * var(--type-scale)),calc(1.51vw * var(--type-scale)),calc(1.19rem * var(--type-scale)));
  font-weight:600;
  letter-spacing:-.02em;
  color:var(--c1);
  text-align:center;
}

.brand-line{
  font-size:clamp(calc(.78rem * var(--type-scale)),calc(1.12vw * var(--type-scale)),calc(.98rem * var(--type-scale)));
  color:var(--c3);
  text-align:center;
  line-height:1.55;
}

.brand-blurb{
  max-width:21rem;
  font-size:clamp(calc(.62rem * var(--type-scale)),calc(.86vw * var(--type-scale)),calc(.82rem * var(--type-scale)));
  color:var(--c2);
  text-align:center;
  line-height:1.6;
}

.tile-about{
  background:var(--c1);
  display:flex;
  align-items:stretch;
  justify-content:center;
  padding:clamp(1rem,1.35vw,1.4rem);
  border-top:0;
}

.about-inner{
  position:relative;
  width:100%;
  max-width:24rem;
  min-width:0;
  min-height:100%;
  flex:1;
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  align-items:stretch;
  justify-items:center;
  margin:0 auto;
  text-align:center;
}

.about-main{
  position:static;
  width:100%;
  max-width:24rem;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:0;
  align-self:center;
  justify-self:center;
  grid-row:1;
  color:inherit;
  text-decoration:none;
  padding-bottom:0;
}

.about-callout{
  margin:0;
  font-size:clamp(calc(.9rem * var(--type-scale)),calc(1.2vw * var(--type-scale)),calc(1.15rem * var(--type-scale)));
  font-weight:600;
  letter-spacing:-.01em;
  color:rgba(255,255,255,.88);
  line-height:1.15;
}

.about-blurb{
  margin-top:.75rem;
  max-width:24rem;
  font-size:clamp(calc(.62rem * var(--type-scale)),calc(.88vw * var(--type-scale)),calc(.82rem * var(--type-scale)));
  color:rgba(255,255,255,.72);
  line-height:1.6;
}

.about-kofi{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto;
  height:auto;
  transition:opacity .15s,transform .2s var(--ease);
}

.about-kofi:hover,
.about-kofi:focus{opacity:.92}

.about-kofi:focus-visible{
  opacity:1;
  outline:2px solid rgba(255,255,255,.76);
  outline-offset:6px;
  border-radius:999px;
}

.about-kofi-logo{
  display:block;
  width:clamp(3rem,5vw,4rem);
  height:auto;
  transform:scale(1);
  transition:transform .36s var(--ease);
}

.about-kofi:hover .about-kofi-logo,
.about-kofi:focus .about-kofi-logo,
.about-kofi:focus-visible .about-kofi-logo{
  transform:scale(1.1);
}

.tile-researched .tile-name,
.tile-yatc .tile-name,
.tile-wallapp .tile-name,
.tile-wp .tile-name,
.tile-kofi .tile-name{
  display:none;
}

.about-footer{
  position:static;
  width:100%;
  grid-row:2;
  align-self:end;
}

.about-links{
  display:flex;
  justify-content:center;
  gap:.35rem .75rem;
  flex-wrap:wrap;
  width:100%;
  min-width:0;
  align-items:center;
}

.about-links a{
  font-size:clamp(calc(.68rem * var(--type-scale)),calc(.9vw * var(--type-scale)),calc(.82rem * var(--type-scale)));
  color:rgba(255,255,255,.68);
  text-decoration:none;
  transition:color .15s;
  white-space:nowrap;
  line-height:1.4;
}

.about-smallprint{
  font-size:clamp(calc(.68rem * var(--type-scale)),calc(.9vw * var(--type-scale)),calc(.82rem * var(--type-scale)));
  color:rgba(255,255,255,.68);
  white-space:nowrap;
  line-height:1.4;
}

.about-links a:hover{color:#fff}

.about-links a:focus-visible{
  color:#fff;
  outline:2px solid rgba(255,255,255,.76);
  outline-offset:4px;
  border-radius:4px;
}

.modal-open{overflow:hidden}

.legal-modal{
  position:fixed;
  inset:0;
  z-index:60;
  display:grid;
  place-items:center;
  padding:clamp(1rem,2.5vw,1.75rem);
  opacity:1;
  pointer-events:auto;
}

.legal-modal[aria-hidden="true"]{
  pointer-events:none;
}

.legal-modal-backdrop{
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 50% 42%,rgba(24,28,34,.84) 0%,rgba(17,21,27,.78) 56%,rgba(10,13,18,.72) 100%);
  -webkit-backdrop-filter:blur(13px);
  backdrop-filter:blur(13px);
  opacity:1;
  transition:opacity .2s var(--ease);
  will-change:opacity,backdrop-filter;
}

.legal-modal-card{
  position:relative;
  z-index:1;
  width:min(100%,42rem);
  max-height:min(80vh,44rem);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  padding-left:35px;
  padding-bottom:22px;
  opacity:1;
  transform:translateY(0);
  transition:opacity .2s var(--ease),transform .2s var(--ease);
}

.legal-modal[aria-hidden="true"] .legal-modal-backdrop{opacity:0}

.legal-modal[aria-hidden="true"] .legal-modal-card{
  opacity:0;
  transform:translateY(6px);
}

.legal-modal-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:35px;
  border-left:1px solid rgba(255,255,255,.7);
  border-top:1px solid rgba(255,255,255,.7);
  border-bottom:1px solid rgba(255,255,255,.7);
  border-top-left-radius:18px;
  border-bottom-left-radius:18px;
  pointer-events:none;
}

.legal-modal-head{
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:flex-end;
  gap:.35rem;
  padding:0 clamp(.4rem,1vw,.7rem) .55rem;
  border-bottom:0;
}

.legal-modal-close{
  border:0;
  background:none;
  color:rgba(255,255,255,.94);
  padding:0;
  font-size:clamp(calc(.64rem * var(--type-scale)),calc(.82vw * var(--type-scale)),calc(.74rem * var(--type-scale)));
  font-weight:700;
  letter-spacing:.03em;
  line-height:1;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:.35rem;
}

.legal-modal-close:hover{
  color:#fff;
}

.legal-modal-close-sep{
  color:rgba(255,255,255,.14);
}

.legal-modal-esc-key{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-left:.35rem;
  min-width:2rem;
  padding:.12rem .38rem;
  border:1px solid rgba(255,255,255,.3);
  border-radius:5px;
  font-size:.86em;
  font-weight:600;
  letter-spacing:.04em;
  color:rgba(255,255,255,.88);
  background:rgba(255,255,255,.04);
}

.legal-modal-body{
  display:flex;
  flex-direction:column;
  gap:.85rem;
  max-height:calc(min(80vh,44rem) - 2.6rem);
  overflow:auto;
  overscroll-behavior:contain;
  padding:0 clamp(.4rem,1vw,.7rem) .2rem 0;
  scrollbar-gutter:stable;
}

.legal-modal-section{
  padding:0;
}

.legal-modal-section h3{
  margin:0 0 .34rem;
  font-size:clamp(calc(.78rem * var(--type-scale)),calc(1.05vw * var(--type-scale)),calc(.92rem * var(--type-scale)));
  font-weight:600;
  color:rgba(255,255,255,.98);
}

.legal-modal-section p{
  margin:.22rem 0;
  font-size:clamp(calc(.72rem * var(--type-scale)),calc(.92vw * var(--type-scale)),calc(.84rem * var(--type-scale)));
  color:rgba(255,255,255,.9);
  line-height:1.55;
}

.legal-modal-divider{
  border:0;
  border-top:1px solid rgba(255,255,255,.14);
  margin:.1rem 0;
}

.legal-modal-section a{
  color:#fff;
  text-decoration:none;
}

.legal-modal-section a:hover{color:rgba(255,255,255,.84)}

.legal-copy-email{
  border:0;
  background:none;
  padding:0;
  margin:0;
  color:#fff;
  font:inherit;
  letter-spacing:inherit;
  line-height:inherit;
  cursor:pointer;
  text-decoration:underline;
  text-decoration-color:rgba(255,255,255,.42);
  text-decoration-thickness:1px;
  text-underline-offset:.12em;
}

.legal-copy-email:hover{
  color:rgba(255,255,255,.84);
  text-decoration-color:rgba(255,255,255,.62);
}

.legal-reveal-email{
  margin-left:.34rem;
  border:1px solid rgba(255,255,255,.34);
  background:rgba(255,255,255,.06);
  color:rgba(255,255,255,.96);
  border-radius:999px;
  padding:.26rem .62rem;
  font-family:var(--display);
  font-size:clamp(calc(.62rem * var(--type-scale)),calc(.82vw * var(--type-scale)),calc(.72rem * var(--type-scale)));
  font-weight:600;
  letter-spacing:.04em;
  line-height:1.1;
  cursor:pointer;
  transition:border-color .15s,background .15s,color .15s,transform .15s;
}

.legal-reveal-email:hover{
  border-color:rgba(255,255,255,.6);
  background:rgba(255,255,255,.14);
  color:#fff;
  transform:translateY(-1px);
}

[data-copy-contact-email]{
  position:relative;
  display:inline-block;
}

[data-copy-contact-email].copied::after{
  content:"Address copied";
  position:absolute;
  left:50%;
  bottom:calc(100% + 8px);
  transform:translateX(-50%);
  border:1px solid rgba(255,255,255,.34);
  background:rgba(44,50,58,.96);
  color:#fff;
  border-radius:999px;
  padding:.22rem .52rem;
  font-family:var(--display);
  font-size:clamp(calc(.54rem * var(--type-scale)),calc(.72vw * var(--type-scale)),calc(.62rem * var(--type-scale)));
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  white-space:nowrap;
  box-shadow:0 6px 18px rgba(0,0,0,.28);
  pointer-events:none;
  z-index:2;
}

.legal-copy-fallback{
  color:rgba(255,255,255,.78);
}

.legal-revealed-email{
  color:#fff;
  font-family:var(--display);
  letter-spacing:.03em;
  word-break:break-all;
}

.legal-copy-status{
  position:absolute;
  width:1px;
  height:1px;
  margin:-1px;
  padding:0;
  border:0;
  overflow:hidden;
  clip:rect(0,0,0,0);
  clip-path:inset(50%);
  white-space:nowrap;
}

.confetti-host{
  position:fixed;
  inset:0;
  z-index:80;
  pointer-events:none;
  overflow:hidden;
}

.confetti-piece{
  --dx:0px;
  --dy:0px;
  --rot:0deg;
  --hue:#fff;
  position:absolute;
  width:12px;
  height:18px;
  border-radius:2px;
  background:var(--hue);
  opacity:0;
  transform:translate3d(0,0,0) rotate(0deg);
  animation:confetti-pop 1.95s cubic-bezier(.12,.72,.2,1) forwards;
}

@keyframes confetti-pop{
  0%{
    opacity:0;
    transform:translate3d(0,0,0) rotate(0deg) scale(.72);
  }
  12%{
    opacity:1;
  }
  100%{
    opacity:0;
    transform:translate3d(var(--dx),var(--dy),0) rotate(var(--rot)) scale(1.12);
  }
}

.legal-modal-close:focus-visible,
.legal-modal-section a:focus-visible,
.legal-copy-email:focus-visible,
.legal-reveal-email:focus-visible{
  outline:2px solid rgba(255,255,255,.7);
  outline-offset:2px;
}

.error-body{
  min-height:100%;
  background:var(--bg);
}

.error-page{
  min-height:100vh;
  min-height:100dvh;
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
}

.error-hero{
  position:relative;
  overflow:hidden;
  display:grid;
  place-items:center;
  padding:clamp(2rem,4vw,3.5rem) clamp(1.25rem,3vw,2rem);
  background:
    radial-gradient(circle at 50% 18%,rgba(77,89,107,.12) 0%,rgba(77,89,107,0) 42%),
    radial-gradient(circle at 50% 100%,rgba(44,50,58,.08) 0%,rgba(44,50,58,0) 46%),
    var(--bg);
}

.error-hero::after{
  content:"";
  position:absolute;
  inset:auto 50% -7rem;
  width:min(38rem,82vw);
  aspect-ratio:1;
  transform:translateX(-50%);
  border-radius:50%;
  background:radial-gradient(circle,rgba(60,68,81,.1) 0%,rgba(60,68,81,0) 72%);
  pointer-events:none;
}

.error-hero-inner{
  position:relative;
  z-index:1;
  width:min(100%,40rem);
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}

.error-brand-logo{
  width:clamp(92px,12vw,156px);
  margin-bottom:1rem;
}

.error-site-name{
  margin-bottom:.4rem;
}

.error-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:4rem;
  margin-bottom:.8rem;
  padding:.28rem .85rem;
  border:1px solid rgba(44,50,58,.18);
  border-radius:999px;
  font-family:var(--display);
  font-size:clamp(calc(.84rem * var(--type-scale)),calc(1.12vw * var(--type-scale)),calc(.96rem * var(--type-scale)));
  font-weight:700;
  letter-spacing:.12em;
  line-height:1;
  color:var(--c1);
}

.error-title{
  max-width:16ch;
  margin:0;
  font-family:var(--display);
  font-size:clamp(calc(2.2rem * var(--type-scale)),calc(5.4vw * var(--type-scale)),calc(4.4rem * var(--type-scale)));
  font-weight:700;
  letter-spacing:-.03em;
  line-height:.92;
  color:var(--c1);
}

.error-brand-line{
  max-width:30rem;
  margin-top:1rem;
}

.error-blurb{
  max-width:34rem;
  margin-top:1rem;
  font-size:clamp(calc(.76rem * var(--type-scale)),calc(1.1vw * var(--type-scale)),calc(.96rem * var(--type-scale)));
  color:var(--c2);
  line-height:1.65;
}

.error-home-link,
.error-footer-home{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:3rem;
  padding:.8rem 1.35rem;
  border-radius:999px;
  font-family:var(--display);
  font-size:clamp(calc(.76rem * var(--type-scale)),calc(1vw * var(--type-scale)),calc(.88rem * var(--type-scale)));
  font-weight:700;
  letter-spacing:.06em;
  line-height:1;
  text-decoration:none;
  text-transform:uppercase;
  transition:transform .2s var(--ease),background-color .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease),box-shadow .2s var(--ease);
}

.error-home-link{
  margin-top:1.5rem;
  background:var(--c1);
  border:1px solid var(--c1);
  color:#fff;
  box-shadow:0 16px 34px rgba(44,50,58,.16);
}

.error-home-link:hover,
.error-home-link:focus-visible{
  transform:translateY(-1px);
  background:#21262d;
  border-color:#21262d;
}

.error-footer{
  background:var(--c1);
  padding:clamp(1.25rem,2.4vw,1.8rem);
}

.error-footer-inner{
  width:min(100%,48rem);
  margin:0 auto;
  display:grid;
  gap:1.2rem;
  justify-items:center;
  text-align:center;
}

.error-footer-main{
  width:100%;
  max-width:30rem;
  display:flex;
  flex-direction:column;
  align-items:center;
}

.error-footer-title{
  max-width:22ch;
}

.error-footer-blurb{
  margin-top:.72rem;
  max-width:28rem;
}

.error-footer-home{
  margin-top:1rem;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(255,255,255,.04);
  color:#fff;
}

.error-footer-home:hover,
.error-footer-home:focus-visible{
  transform:translateY(-1px);
  border-color:rgba(255,255,255,.56);
  background:rgba(255,255,255,.1);
}

.error-footer-links{
  width:100%;
}

.error-home-link:focus-visible,
.error-footer-home:focus-visible{
  outline:2px solid rgba(44,50,58,.3);
  outline-offset:3px;
}

.error-footer-home:focus-visible{
  outline-color:rgba(255,255,255,.7);
}

.error-footer .about-links a:focus-visible{
  outline:2px solid rgba(255,255,255,.7);
  outline-offset:2px;
}

@media(max-height:760px) and (min-width:1121px){
  .wall{
    grid-template-rows:minmax(13rem,1fr) minmax(13rem,1fr) minmax(12rem,36vh);
  }

  .tile-brand,.tile-about{min-height:13rem}
}

@media(max-width:1120px){
  .wall{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:auto;
    grid-template-areas:
      "brand about"
      "bulkcrop bulkcrop"
      "currentsky currentsky"
      "researched wallapp"
      "wp yatc"
      "kofi kofi";
    min-height:100vh;
  }

  .tile{min-height:50vw}
  .tile-brand,.tile-about{min-height:clamp(12rem,28vw,18rem)}
  .tile-summary{display:none}
  .tile-info{
    transform:translateY(0);
    opacity:1;
    gap:.34rem;
    padding:clamp(3.6rem,8.2vw,5.2rem) calc(clamp(.95rem,2.25vw,1.45rem) + 1.125rem) clamp(1.2rem,2.7vw,1.95rem);
  }
  .tile-badge{
    font-size:calc(.64rem * var(--type-scale));
    line-height:1.5;
    padding:.18rem .5rem;
  }
  .tile-name{
    margin-bottom:.42rem;
    font-size:clamp(calc(.9rem * var(--type-scale)),calc(1.85vw * var(--type-scale)),calc(1.11rem * var(--type-scale)));
  }
  .tile-desc{
    font-size:clamp(calc(.6785rem * var(--type-scale)),calc(1.2075vw * var(--type-scale)),calc(.874rem * var(--type-scale)));
    line-height:1.48;
  }
  .about-blurb{
    font-size:clamp(calc(.621rem * var(--type-scale)),calc(.92vw * var(--type-scale)),calc(.828rem * var(--type-scale)));
  }
  .brand-blurb{
    font-size:clamp(calc(.621rem * var(--type-scale)),calc(.897vw * var(--type-scale)),calc(.828rem * var(--type-scale)));
  }
  .soon-pip{display:none}

  .tile .tile-logo{
    align-items:flex-start;
    padding:clamp(.95rem,2.25vw,1.5rem) clamp(.95rem,2.25vw,1.5rem) clamp(6.4rem,14vw,8.9rem);
    transform:none;
  }

  .tile-researched .tile-logo,
  .tile-yatc .tile-logo,
  .tile-wallapp .tile-logo,
  .tile-wp .tile-logo,
  .tile-kofi .tile-logo{
    align-items:center;
    justify-content:center;
    padding:clamp(.95rem,2.25vw,1.5rem) clamp(.95rem,2.25vw,1.5rem) clamp(6.4rem,14vw,8.9rem);
    transform:translateY(.3rem);
  }

  .tile-researched .tile-mark,
  .tile-yatc .tile-mark,
  .tile-wallapp .tile-mark,
  .tile-wp .tile-mark,
  .tile-kofi .tile-mark{
    font-size:clamp(calc(1.4rem * var(--type-scale)),calc(2.9375vw * var(--type-scale)),calc(3.1875rem * var(--type-scale)));
  }

  .tile-researched .tile-info,
  .tile-yatc .tile-info,
  .tile-wallapp .tile-info,
  .tile-wp .tile-info,
  .tile-kofi .tile-info{
    padding-bottom:calc(clamp(1.2rem,2.7vw,1.95rem) + 1.75rem);
  }

  .tile-bulkcrop .tile-logo,
  .tile-currentsky .tile-logo{
    align-items:center;
    justify-content:center;
    padding:clamp(1.8375rem,calc(2.2vw + .9375rem),2.3875rem) clamp(1.8875rem,calc(2.25vw + .9375rem),2.4375rem) clamp(7.9375rem,calc(14.5vw + .9375rem),10.1875rem);
    transform:translateY(.3rem);
  }

  .tile-bulkcrop .tile-info,
  .tile-currentsky .tile-info{
    gap:.24rem;
    padding:clamp(3.9125rem,calc(8.2vw + .3125rem),5.5125rem) calc(clamp(1.2625rem,calc(2.25vw + .3125rem),1.7625rem) + 1.125rem) clamp(1.5125rem,calc(2.7vw + .3125rem),2.2625rem);
  }

  .bulkcrop-lockup{
    width:min(86%,34rem);
    width:min(86cqi,34rem);
  }

  .bulkcrop-lockup .bulkcrop-lockup-icon{
    width:clamp(3rem,10vw,5.2rem);
    width:clamp(3rem,10cqi,5.2rem);
  }

  .bulkcrop-lockup-wordmark{
    font-size:clamp(calc(1.55rem * var(--type-scale)),calc(7.2vw * var(--type-scale)),calc(3.45rem * var(--type-scale)));
    font-size:clamp(calc(1.55rem * var(--type-scale)),calc(7.2cqi * var(--type-scale)),calc(3.45rem * var(--type-scale)));
    letter-spacing:.11em;
  }

  .currentsky-logo{width:min(70%,22.5rem)}

  .brand-logo{width:clamp(68.4px,15.2vw,114px)}
  .about-kofi-logo{width:clamp(2.4rem,4.5vw,3.5rem)}
}

@media(max-width:560px){
  .wall{
    grid-template-columns:1fr;
    grid-template-areas:
      "brand"
      "about"
      "bulkcrop"
      "currentsky"
      "researched"
      "wallapp"
      "wp"
      "yatc"
      "kofi";
  }

  .tile,.tile-brand,.tile-about{min-height:var(--mobile-equal-tile-height)}
  .tile-brand{
    padding:calc(clamp(1rem,1.4vw,1.45rem) + 1.5625rem) clamp(1rem,1.4vw,1.45rem);
  }
  .tile-info{
    gap:.3rem;
    padding:clamp(3.9rem,10vw,5.6rem) 2.075rem clamp(1.15rem,3.8vw,1.7rem);
  }
  .tile .tile-logo{
    align-items:flex-start;
    padding:.95rem .95rem clamp(7.4rem,18vw,10.4rem);
  }

  .tile-researched .tile-logo,
  .tile-yatc .tile-logo,
  .tile-wallapp .tile-logo,
  .tile-wp .tile-logo,
  .tile-kofi .tile-logo{
    align-items:center;
    justify-content:center;
    padding:.95rem .95rem clamp(7.4rem,18vw,10.4rem);
    transform:translateY(.3rem);
  }

  .tile-researched .tile-mark,
  .tile-yatc .tile-mark,
  .tile-wallapp .tile-mark,
  .tile-wp .tile-mark,
  .tile-kofi .tile-mark{
    font-size:clamp(calc(1.575rem * var(--type-scale)),calc(5.375vw * var(--type-scale)),calc(1.825rem * var(--type-scale)));
  }

  .tile-researched .tile-info,
  .tile-yatc .tile-info,
  .tile-wallapp .tile-info,
  .tile-wp .tile-info,
  .tile-kofi .tile-info{
    padding-bottom:calc(clamp(1.15rem,3.8vw,1.7rem) + 1.75rem);
  }

  .tile-bulkcrop .tile-logo,
  .tile-currentsky .tile-logo{
    padding:3.4rem 1.8875rem clamp(8.8375rem,calc(19vw + .9375rem),11.8375rem);
  }
  .tile-bulkcrop .tile-info,
  .tile-currentsky .tile-info{
    padding:clamp(4.2125rem,calc(10vw + .3125rem),5.9125rem) 2.3875rem clamp(3.025rem,calc(3.8vw + 1.875rem),3.575rem);
  }
  .tile-bulkcrop .tile-badge,
  .tile-currentsky .tile-badge{
    margin-bottom:.34rem;
  }
  .tile-name{margin-bottom:.36rem}
  .tile-desc{
    font-size:clamp(calc(.667rem * var(--type-scale)),calc(2.07vw * var(--type-scale)),calc(.828rem * var(--type-scale)));
    line-height:1.45;
  }
  .about-blurb{
    font-size:clamp(calc(.621rem * var(--type-scale)),calc(.92vw * var(--type-scale)),calc(.828rem * var(--type-scale)));
  }
  .brand-blurb{
    font-size:clamp(calc(.621rem * var(--type-scale)),calc(.897vw * var(--type-scale)),calc(.828rem * var(--type-scale)));
  }
  .bulkcrop-lockup{
    width:min(71.2%,16.4rem);
    width:min(71.2cqi,16.4rem);
  }
  .bulkcrop-lockup .bulkcrop-lockup-icon{
    width:clamp(2.08rem,11.2vw,3.2rem);
    width:clamp(2.08rem,11.2cqi,3.2rem);
  }
  .bulkcrop-lockup-wordmark{
    font-size:clamp(calc(1.08rem * var(--type-scale)),calc(7.04vw * var(--type-scale)),calc(2rem * var(--type-scale)));
    font-size:clamp(calc(1.08rem * var(--type-scale)),calc(7.04cqi * var(--type-scale)),calc(2rem * var(--type-scale)));
    letter-spacing:.1em;
  }
  .tile-about{padding:3.0625rem 1.25rem}
  .about-inner{gap:.85rem}
  .about-links{gap:.35rem .6rem}
  .legal-modal{padding:1rem .75rem}
  .legal-modal-card{
    max-height:84vh;
    padding-left:35px;
    padding-bottom:22px;
  }
  .legal-modal-card::before{width:35px}
  .brand-logo{width:clamp(76px,22.8vw,117.8px)}
  .currentsky-logo{width:min(51.2%,13.6rem)}
}

@media(max-width:700px){
  .error-hero{
    padding:2.5rem 1.25rem 2rem;
  }

  .error-title{
    max-width:10ch;
    font-size:clamp(calc(1.95rem * var(--type-scale)),calc(10vw * var(--type-scale)),calc(3rem * var(--type-scale)));
  }

  .error-blurb{
    font-size:clamp(calc(.76rem * var(--type-scale)),calc(3.6vw * var(--type-scale)),calc(.92rem * var(--type-scale)));
  }

  .error-home-link,
  .error-footer-home{
    width:100%;
    max-width:20rem;
  }
}

@media(prefers-reduced-motion:reduce){
  .tile-visual,
  .tile-logo,
  .tile-info,
  .tile-summary,
  .bulkcrop-lockup,
  .currentsky-logo,
  .soon-pip,
  .about-kofi,
  .about-kofi-logo,
  .confetti-piece,
  .error-home-link,
  .error-footer-home,
  .legal-modal-backdrop,
  .legal-modal-card{
    transition-duration:.01ms;
  }

  a.tile:hover .tile-visual,
  a.tile:focus-within .tile-visual,
  .tile-static:hover .tile-visual,
  a.tile:hover .tile-logo,
  a.tile:focus-within .tile-logo,
  .tile-static:hover .tile-summary,
  .tile-static:hover .tile-logo,
  .tile-bulkcrop:hover .bulkcrop-lockup,
  .tile-bulkcrop:focus-within .bulkcrop-lockup,
  .tile-currentsky:hover .currentsky-logo,
  .tile-currentsky:focus-within .currentsky-logo,
  .tile-currentsky:hover .tile-visual,
  .tile-currentsky:focus-within .tile-visual,
  .tile-currentsky .tile-visual,
  .tile-info{
    transform:none;
  }

  .tile-currentsky:hover .tile-visual,
  .tile-currentsky:focus-within .tile-visual,
  .tile-currentsky .tile-visual{
    filter:none;
  }

  .tile-info{opacity:1}
  .confetti-host{display:none}
}

@media(prefers-reduced-motion:reduce) and (min-width:1121px){
  .tile-researched .tile-logo,
  .tile-yatc .tile-logo,
  .tile-wallapp .tile-logo,
  .tile-wp .tile-logo,
  .tile-kofi .tile-logo,
  .tile-researched:hover .tile-logo,
  .tile-yatc:hover .tile-logo,
  .tile-wallapp:hover .tile-logo,
  .tile-wp:hover .tile-logo,
  .tile-kofi:hover .tile-logo{
    transform:translateY(calc(var(--tile-logo-lift) * -1));
  }
}
