/* Earlybird: a sunrise world. Warm orange at the top of the sky, cream at the horizon, plum at night. */
:root{
  color-scheme:light;
  --ink:#1C1410;
  --ink-2:color-mix(in srgb,var(--ink) 74%,transparent);
  --ink-3:color-mix(in srgb,var(--ink) 56%,transparent);
  --ink-4:color-mix(in srgb,var(--ink) 12%,transparent);
  --paper:#FFFBF5;
  --cream:#FFF4E6;
  --sol:#2A1B2E;
  --usdc:#2775CA;          /* USDC's own mark colour, used only on the USDC coin */
  --pass:#FF6B2C;
  --sun:#FFC93C;           /* payout amounts and badges */

  /* the sky: dawn, from warm orange overhead to cream at the horizon */
  --sky-high:#FF8A3D;
  --sky-top:#FF9E4F;
  --sky-mid:#FFB86B;
  --sky-low:#FFD9A0;
  --sky-haze:#FFF0DC;
  --floor-far:#F3C892;
  --floor-near:#C9692F;
  --infield:#A9521F;
  --shadow:#3B1A0E;

  /* page two is night plum, page three warm white */
  --p2-a:#1E1322;
  --p2-b:#2A1B2E;
  --p2-floor:#170E1A;
  --p3-a:#FFF4E6;
  --p3-b:#FFFBF5;
  --p3-floor:#F1DFC6;

  /* the apps: example apps in their own colours (left as they are) */
  --t-white:#FFFBF5;
  --t-white-2:#F1DFC6;
  --t-black:#2A1B2E;
  --t-black-2:#170E1A;
  --t-blue:#FF8A4C;
  --t-blue-2:#E2541A;
  --t-youtube:#FF0033;
  --t-ig-1:#FFD600;
  --t-ig-2:#FF7A00;
  --t-ig-3:#FF0069;
  --t-ig-4:#D300C5;
  --t-ig-5:#7638FA;
  --t-spotify:#1ED760;
  --t-discord:#6A74F7;
  --t-discord-2:#4650E2;
  --t-snap:#FFFC00;
  --t-snap-2:#F2DC00;
  --t-tiktok-cyan:#25F4EE;
  --t-tiktok-red:#FE2C55;
  --t-whatsapp:#4DE680;
  --t-whatsapp-2:#1AAA52;
  --titanium:#E8D9C6;
  --leg:#2A1B2E;
  --tread:#3B1A0E;

  /* the coins */
  --coin-sol:#1E1322;
  --coin-usdc:#2775CA;
  --coin-rim:#F1DFC6;
  --coin-mark:#FFFBF5;

  --ease:cubic-bezier(.16,1,.3,1);
  --font:"Bricolage Grotesque","Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;
  --mono:"Space Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --gutter:clamp(16px,4vw,44px);
}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--sky-high);scroll-behavior:smooth}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:clip}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--font);font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}
h1,h2,h3,p,ul,ol{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit}
img{display:block}
:focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:8px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:-10000px;top:8px;z-index:30;padding:8px 14px;border-radius:999px;background:var(--ink);color:var(--paper);font-size:14px;text-decoration:none}
.skip:focus{left:var(--gutter)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:52px;padding:0 26px;border-radius:999px;font-size:16px;font-weight:600;letter-spacing:-.012em;text-decoration:none;white-space:nowrap;transition:transform .35s var(--ease),background .2s,box-shadow .2s}
.btn svg{width:15px;height:15px;transition:transform .35s var(--ease)}
.btn:hover{transform:translateY(-2px)}
.btn:hover svg{transform:translateX(3px)}
.btn-ink{background:var(--ink);color:var(--paper)}
.btn-paper{background:var(--paper);color:var(--ink);box-shadow:0 10px 26px -14px color-mix(in srgb,var(--shadow) 70%,transparent)}
.btn-sm{height:40px;padding:0 18px;font-size:14px}
.btn-lg{height:60px;padding:0 32px;font-size:18px}

/* Nav: one compact glass pill, see-through over the sky and frosted white once you scroll */
.brand{display:inline-flex;align-items:baseline;text-decoration:none;font-weight:600;font-size:23px;letter-spacing:-.045em;line-height:1}
.brand img{position:relative;top:3px;width:30px;height:30px;flex:none;margin:-4px -1px -3px 0}
.brand .on-light,.nav.solid .brand .on-dark{display:none}
.nav.solid .brand .on-light{display:block}
.nav{position:fixed;z-index:20;top:14px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 2*var(--gutter));display:flex;align-items:center;gap:4px;padding:6px;border-radius:999px;color:var(--ink);background:color-mix(in srgb,var(--paper) 38%,transparent);border:1px solid color-mix(in srgb,var(--paper) 60%,transparent);-webkit-backdrop-filter:blur(16px) saturate(1.5);backdrop-filter:blur(16px) saturate(1.5);transition:background .35s,border-color .35s,color .35s,box-shadow .35s}
.nav.solid{color:var(--ink);background:color-mix(in srgb,var(--paper) 80%,transparent);border-color:color-mix(in srgb,var(--ink) 7%,transparent);box-shadow:0 16px 40px -24px color-mix(in srgb,var(--shadow) 55%,transparent)}
.links{display:flex;gap:2px;margin:0 4px;font-size:14.5px;font-weight:500;letter-spacing:-.01em}
.links a{padding:9px 14px;border-radius:999px;text-decoration:none;opacity:.86;transition:background .25s,opacity .25s}
.links a:hover,.links a[aria-current="true"]{opacity:1;background:color-mix(in srgb,currentColor 10%,transparent)}
.nav-x{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:50%;transition:background .25s}
.nav-x:hover{background:color-mix(in srgb,currentColor 10%,transparent)}
.nav-x svg{width:15px;height:15px;fill:currentColor}
.nav .btn-sm{height:40px;padding:0 18px}
@media (max-width:780px){.links{display:none}}

/* The story: the opening, until the 3D world takes over */
.story{position:relative}
.mark{position:absolute;left:0;width:1px;height:1px}
.stage{position:relative}
.world{display:none}
.chips{display:none}
.p{position:relative}
.p1{padding:120px var(--gutter) 110px;color:var(--ink);background:linear-gradient(180deg,var(--sky-high),var(--sky-mid) 45%,var(--sky-low) 75%,var(--sky-haze))}
.cue{display:none}

.pin .story{height:100vh;height:100svh}
.pin .stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:var(--sky-top)}
.pin .world{display:block;position:absolute;inset:0;width:100%;height:100%}
.pin .chips{display:block;position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.pin .p{position:absolute;inset:0;padding:0;background:none;z-index:2}
.pin .p1{color:var(--ink)}
.pin .cue{display:flex}

.chip{position:absolute;left:0;top:0;padding:5px 11px;border-radius:999px;background:var(--paper);color:var(--ink);font-family:var(--mono);font-size:12.5px;font-weight:500;letter-spacing:-.01em;font-variant-numeric:tabular-nums;white-space:nowrap;opacity:0;will-change:transform,opacity;box-shadow:0 8px 20px -10px color-mix(in srgb,var(--shadow) 60%,transparent)}

/* Page one */
.copy{display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center;gap:14px;max-width:1100px;margin:0 auto}
.pin .copy{position:absolute;left:0;right:0;top:clamp(82px,12vh,128px);padding:0 var(--gutter);overflow:visible}
.title{position:relative;margin:-4px 0 -2px;font-size:clamp(54px,min(10vw,14vh),148px);font-weight:800;line-height:.94;letter-spacing:-.045em}
.sub{font-size:clamp(16.5px,1.45vw,19px);line-height:1.45;max-width:35em;text-wrap:pretty;letter-spacing:-.008em}
.cta{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:4px}
.cue{position:absolute;left:50%;bottom:clamp(8px,2vh,18px);transform:translateX(-50%);z-index:3;flex-direction:column;align-items:center;gap:5px;color:var(--ink);font-size:12.5px;font-weight:600;letter-spacing:.01em}
.cue span{width:2px;height:16px;border-radius:2px;background:currentColor;animation:cue 1.8s var(--ease) infinite;transform-origin:top}
@keyframes cue{0%{transform:scaleY(0)}55%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1) translateY(8px);opacity:0}}
@media (max-width:640px){.title{font-size:clamp(48px,17vw,92px)}.pin .copy{gap:10px}.cue{display:none!important}}
@media (max-height:720px) and (min-width:641px){.title{font-size:clamp(48px,min(8vw,12vh),110px)}.pin .copy{top:74px;gap:9px}.btn{height:46px}}

/* Headline letters: real text, one bouncy letter at a time */
.letters{display:block}
.ln{display:block;white-space:nowrap}
.sp{display:inline-block;width:.24em}
.l{position:relative;display:inline-block}
.l-push,.l-bob{position:relative;display:block}
.l-push{transition:translate .55s cubic-bezier(.2,.8,.2,1)}
.l-bob{transform-origin:50% 85%;animation:l-bob var(--beat,4s) ease-in-out var(--lag,0s) infinite}
.l-face{position:relative;display:block;color:var(--ink);text-shadow:0 .045em 0 color-mix(in srgb,var(--shadow) 22%,transparent);transform-origin:50% 78%;pointer-events:none}
.early .l-face{color:var(--pass);-webkit-text-stroke:.075em var(--paper);paint-order:stroke fill;text-shadow:0 .05em 0 color-mix(in srgb,var(--infield) 45%,transparent)}
.l-face.squish{animation:l-squish .8s cubic-bezier(.3,1.4,.5,1)}
@keyframes l-bob{0%,100%{transform:translateY(0) rotate(-2.2deg)}50%{transform:translateY(-4.5%) rotate(2.2deg)}}
@keyframes l-squish{0%{transform:scale(1)}22%{transform:scale(1.16,.84)}42%{transform:scale(.88,1.14)}62%{transform:scale(1.06,.95)}82%{transform:scale(.98,1.02)}100%{transform:scale(1)}}
@keyframes l-in{0%{opacity:0;transform:translateY(16%) scale(.5)}60%{opacity:1}100%{opacity:1;transform:none}}
.js .l{opacity:0}
.js.in .l{animation:l-in .95s cubic-bezier(.3,1.5,.45,1) calc(var(--i,0)*34ms) both}

/* The landing: a plain page once the dive comes out above the clouds */
.land{position:relative;z-index:3;background:var(--paper);color:var(--ink)}
.wrap{width:100%;max-width:calc(1180px + 2*var(--gutter));margin:0 auto;padding:0 var(--gutter)}
.eye{display:block;font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.08em;line-height:1;text-transform:uppercase}
.lh{font-size:clamp(36px,4.6vw,62px);font-weight:560;line-height:1.02;letter-spacing:-.045em;text-wrap:balance}
.lh.xl{font-size:clamp(46px,7.2vw,104px);line-height:.95;letter-spacing:-.055em}
.lede{font-size:clamp(17px,1.4vw,19px);line-height:1.45;letter-spacing:-.01em;max-width:33em;text-wrap:pretty}
.num{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.02em}
.drift{will-change:transform}

.reveal{transition:opacity .9s var(--ease),transform 1.1s var(--ease);transition-delay:calc(var(--d,0)*90ms)}
.js .reveal{opacity:0;transform:translateY(22px)}
.js .reveal.seen{opacity:1;transform:none}

/* Glass cards that sit on the sky pictures */
.glass,.ticket,.wallet{position:relative;width:100%;border-radius:18px;background:color-mix(in srgb,var(--paper) 56%,transparent);-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4);color:var(--ink)}
.glass{max-width:300px;padding:10px}
.g-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px;border-radius:10px;font-size:14px;letter-spacing:-.01em}
.g-row+.g-row{box-shadow:0 -1px 0 color-mix(in srgb,var(--ink) 8%,transparent)}
.g-row span{display:flex;align-items:center;gap:9px}
.g-ico{width:24px;height:24px;margin:-3px 0}
.g-row b{font-family:var(--mono);font-size:12.5px;font-weight:500;white-space:nowrap}
.g-row.on{font-weight:600}
.g-row.on b{padding:3px 8px;border-radius:999px;background:var(--sun);color:var(--ink)}
.tag{font-family:var(--mono);font-size:12px;letter-spacing:-.01em}

/* How it works: out of the cloud, over a sea of it */
.l-how{position:relative;padding:clamp(124px,17vh,180px) 0 clamp(80px,11vh,140px);overflow:hidden}
.l-sky{position:absolute;inset:0 0 auto;height:clamp(560px,72vh,820px);overflow:hidden;background:var(--sky-low)}
.l-sky img{position:absolute;inset:-4% 0;width:100%;height:108%;object-fit:cover;object-position:50% 100%}
.l-sky::after{content:"";position:absolute;inset:auto 0 0;height:58%;background:linear-gradient(180deg,transparent,var(--paper) 62%)}
.l-head{position:relative;display:grid;justify-items:center;gap:20px;text-align:center}
.l-head .lede{margin-top:4px}
.ways{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:clamp(56px,10vh,120px)}
.way{display:flex;flex-direction:column;gap:22px}
.way-top{display:grid;gap:7px}
.way-top .num{margin-bottom:4px}
.way h3{font-size:clamp(21px,1.8vw,25px);font-weight:600;line-height:1.1;letter-spacing:-.03em}
.way p{font-size:15.5px;line-height:1.42}
.shot{position:relative;margin-top:auto;aspect-ratio:5/4;border-radius:16px;overflow:hidden;display:grid;place-items:center;padding:18px}
.shot>img{position:absolute;inset:-6% 0;width:100%;height:112%;object-fit:cover}
.shot .tasks{gap:2px}
.shot .tasks li{padding:8px 6px;font-size:14px}
.paid{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:14px}
.paid p{font-size:13px}
.paid b{display:inline-block;margin-top:3px;padding:2px 10px;border-radius:999px;background:var(--sun);font-family:var(--mono);font-size:19px;font-weight:700;letter-spacing:-.03em;color:var(--ink)}
.paid .paid-foot{grid-column:1/-1;font-size:12.5px}
.seal{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--pass)}
.seal::after{content:"";width:8px;height:14px;margin-top:-3px;border:solid var(--paper);border-width:0 2.5px 2.5px 0;border-radius:1px;transform:rotate(42deg)}

/* Feature rows: words on one side, a sky picture with the product on it on the other */
.l-row{padding:clamp(80px,12vh,150px) 0}
.row-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(32px,6vw,96px);align-items:center}
.flip .row-text{order:2}
.row-text{display:grid;gap:20px;justify-items:start}
.points{width:100%;margin-top:12px;border-top:1px solid var(--ink-4)}
.points li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:14px;padding:19px 0;border-bottom:1px solid var(--ink-4)}
.points svg{width:18px;height:18px;margin-top:2px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.points h3{font-size:17px;font-weight:600;line-height:1.3;letter-spacing:-.015em}
.points p{max-width:30em;margin-top:3px;font-size:15.5px;line-height:1.45}
.panel{position:relative;display:grid;place-items:center;min-height:clamp(420px,42vw,560px);padding:clamp(22px,4vw,56px);border-radius:28px}
.panel-sky{position:absolute;inset:0;border-radius:inherit;overflow:hidden}
.panel-sky img{position:absolute;inset:-6% 0;width:100%;height:112%;object-fit:cover}

.ticket{max-width:440px;display:grid;gap:16px;padding:clamp(18px,2vw,24px)}
.ticket-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center}
.ticket-top h3{font-size:21px;font-weight:650;letter-spacing:-.03em}
.ticket-top p{font-size:14px}
.app-icon{display:block;width:56px;height:56px;margin:-4px}
.pay{padding:4px 12px;border-radius:999px;background:var(--sun);font-family:var(--mono);font-size:clamp(16px,1.6vw,21px);font-weight:700;letter-spacing:-.03em;color:var(--ink);white-space:nowrap}
.pay span{font-size:.62em}
.tasks{display:grid;gap:10px}
.tasks li{display:flex;align-items:center;gap:11px;font-size:clamp(15px,1.2vw,16.5px);letter-spacing:-.01em}
.tasks i{flex:none;width:20px;height:20px;border-radius:50%;border:2px solid color-mix(in srgb,var(--ink) 22%,transparent);transition:background .3s,border-color .3s}
.tasks i::after{content:"";display:block;width:6px;height:10px;margin:1px 0 0 5px;border:solid var(--paper);border-width:0 2px 2px 0;transform:rotate(42deg) scale(0);transition:transform .4s cubic-bezier(.3,1.7,.45,1)}
.tasks li.done i{background:var(--pass);border-color:var(--pass)}
.tasks li.done i::after{transform:rotate(42deg) scale(1)}
.ticket-foot{display:flex;justify-content:space-between;font-size:13.5px}

.wallet{z-index:1;max-width:420px;padding:14px}
.wallet-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:4px 6px 12px}
.wallet-top b{font-size:16px;font-weight:600;letter-spacing:-.02em}
.wallet .tag{font-size:11px}
.feed{position:relative;height:262px;overflow:hidden;-webkit-mask-image:linear-gradient(180deg,transparent,#000 14%,#000 80%,transparent);mask-image:linear-gradient(180deg,transparent,#000 14%,#000 80%,transparent)}
.feed-track{display:grid;animation:feed 26s linear infinite}
@keyframes feed{to{transform:translateY(-50%)}}
.feed-row{display:flex;justify-content:space-between;gap:12px;padding:12px 6px;border-bottom:1px solid color-mix(in srgb,var(--ink) 8%,transparent);font-size:14.5px}
.feed-row b{font-family:var(--mono);font-weight:500;white-space:nowrap}
.coin{position:absolute;z-index:2;width:clamp(96px,11vw,150px);height:auto;pointer-events:none;animation:coin 7s ease-in-out infinite}
.coin-a{left:-4%;top:-7%;--r:-14deg}
.coin-b{right:-4%;bottom:-8%;--r:12deg;animation-delay:-3.5s}
@keyframes coin{0%,100%{transform:rotate(var(--r)) translateY(0)}50%{transform:rotate(var(--r)) translateY(-10px)}}

/* For builders: the dark band */
.l-build{position:relative;padding:clamp(80px,12vh,150px) 0}
.l-build .row-text{gap:22px}
.l-build .btn{margin-top:8px}
.report{max-width:360px;padding:12px}
.report-top{display:flex;align-items:center;gap:12px;padding:4px 4px 12px}
.report-top .app-icon{width:44px;height:44px}
.report-top b{display:block;font-size:16px;font-weight:650;letter-spacing:-.02em}
.report-top span{font-family:var(--mono);font-size:11.5px}
.quote{padding:12px 11px 4px;font-size:14px;line-height:1.4}
.trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,40px);margin-top:clamp(64px,10vh,110px)}
.trio li{display:grid;align-content:start;gap:8px;padding-top:20px;border-top:1px solid var(--ink-4)}
.trio .num{margin-bottom:6px}
.trio h3{font-size:clamp(20px,1.7vw,24px);font-weight:600;letter-spacing:-.03em}
.trio p{font-size:15.5px;line-height:1.45}

/* Questions */
.l-faq{padding:clamp(90px,13vh,160px) 0}
.faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,6vw,96px);align-items:start}
.faq-head{position:sticky;top:120px;display:grid;justify-items:start;gap:18px}
.faq-head p{font-size:16px;line-height:1.5}
.faq-head a{text-underline-offset:3px}
.faq-list{border-top:1px solid var(--ink-4)}
details{border-bottom:1px solid var(--ink-4)}
summary{display:grid;grid-template-columns:44px minmax(0,1fr) 14px;align-items:center;gap:12px;padding:23px 2px;font-size:clamp(18px,1.6vw,21px);font-weight:600;letter-spacing:-.02em;cursor:pointer;list-style:none}
summary::-webkit-details-marker{display:none}
summary::after{content:"";width:14px;height:14px;background:linear-gradient(currentColor,currentColor) center/100% 1.6px no-repeat,linear-gradient(currentColor,currentColor) center/1.6px 100% no-repeat;transition:transform .4s var(--ease)}
details[open] summary::after{transform:rotate(135deg)}
details p{max-width:40em;padding:0 2px 24px 58px;font-size:16.5px;line-height:1.5}

/* The close */
.l-close{padding:clamp(100px,15vh,170px) 0 clamp(64px,9vh,110px);overflow:hidden;text-align:center}
.close-head{display:grid;justify-items:center;gap:20px}
.close-head p:not(.eye){font-size:16px}
.close-head .btn{margin-top:6px}
.skies{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:14px;margin-top:clamp(56px,9vh,100px)}
.sky-card{position:relative;margin:0;aspect-ratio:4/3.2;display:grid;align-items:end;justify-items:start;padding:16px;border-radius:22px;overflow:hidden}
.sky-card.tall{aspect-ratio:4/4.2}
.sky-card img{position:absolute;inset:-6% 0;width:100%;height:112%;object-fit:cover}
.pill{position:relative;display:inline-flex;align-items:center;gap:8px;padding:7px 13px 7px 7px;border-radius:999px;background:color-mix(in srgb,var(--paper) 62%,transparent);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);font-size:13.5px;font-weight:500;letter-spacing:-.01em;white-space:nowrap}
.pill i{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--pass)}
.pill i::after{content:"";width:5px;height:9px;margin-top:-2px;border:solid var(--paper);border-width:0 2px 2px 0;transform:rotate(42deg)}
.pill b{font-family:var(--mono);font-size:12.5px;font-weight:500}

/* Footer */
.foot{position:relative;z-index:3;padding:0 var(--gutter) calc(env(safe-area-inset-bottom,0px) + var(--gutter));background:var(--paper)}
.foot-card{max-width:1180px;margin:0 auto;display:grid;gap:clamp(48px,9vh,100px);padding:clamp(28px,4vw,56px);border-radius:30px;background:var(--p2-a);color:var(--paper)}
.foot-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px}
.foot-line{font-size:clamp(28px,3.2vw,44px);font-weight:560;line-height:1.05;letter-spacing:-.04em}
.foot-cols{display:grid;grid-template-columns:repeat(3,auto);gap:clamp(28px,4.5vw,72px)}
.foot-cols h4{margin:0 0 12px;font-family:var(--mono);font-size:11.5px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--sky-mid)}
.foot-cols a{display:block;padding:4px 0;font-size:14.5px;text-decoration:none}
.foot-cols a:hover,.foot-bottom a:hover{text-decoration:underline;text-underline-offset:3px}
.brand.foot-mark{display:block;width:min(100%,820px);justify-self:start}
.brand.foot-mark img{top:0;width:100%;height:auto;margin:0}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding-top:18px;border-top:1px solid color-mix(in srgb,var(--paper) 16%,transparent);font-size:13px}

@media (max-width:900px){
  .ways,.trio{grid-template-columns:minmax(0,1fr)}
  .row-grid,.faq-grid{grid-template-columns:minmax(0,1fr)}
  .flip .row-text{order:0}
  .faq-head{position:static}
  .foot-top{grid-template-columns:minmax(0,1fr)}
  .skies{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .sky-card,.sky-card.tall{aspect-ratio:3/4.4;padding:10px}
  .pill{padding:6px 10px 6px 6px;font-size:12px}
  .pill b{display:none}
}
@media (max-width:560px){
  .skies{grid-template-columns:minmax(0,1fr)}
  .sky-card,.sky-card.tall{aspect-ratio:16/10;padding:14px}
  .pill b{display:inline}
  .sky-card:not(.tall){display:none}
  .panel{min-height:400px;padding:30px 18px}
  .coin{width:84px}
  .foot-cols{grid-template-columns:repeat(2,auto)}
  summary{grid-template-columns:34px minmax(0,1fr) 14px}
  details p{padding-left:48px}
}

/* Up top: the E icon with the name beside it; on phones only the icon */
.nav .brand{display:inline-flex;align-items:center;gap:8px;flex:none;height:40px;padding:0 12px 0 5px;border-radius:999px;font-weight:800;font-size:19px;letter-spacing:-.035em}
.nav .brand img{top:0;width:30px;height:30px;margin:0;border-radius:8px}
@media (max-width:560px){.nav .brand{padding:0 5px}.nav .brand span{display:none}}
.ex-note{margin-top:10px;font-family:var(--mono);font-size:11.5px;letter-spacing:.01em;color:var(--ink-3)}
.l-how .ex-note{text-align:center}

/* Get the app: one button per phone */
.get{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:6px}
.btn-ghost{background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--ink)}
.btn-ghost[aria-disabled="true"]{pointer-events:none;opacity:.7}
.get-note{font-size:13.5px!important}

/* The contract address: a see-through pill; tap to copy */
.ca{display:inline-flex;align-items:center;gap:10px;max-width:100%;height:38px;padding:0 14px 0 6px;border:0;border-radius:999px;background:color-mix(in srgb,var(--paper) 58%,transparent);-webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3);color:var(--ink);font:500 12.5px/1 var(--mono);letter-spacing:.01em;cursor:pointer;transition:background .2s}
.ca:hover{background:color-mix(in srgb,var(--paper) 78%,transparent)}
.ca:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.ca-k{display:grid;place-items:center;height:26px;padding:0 9px;border-radius:999px;background:var(--ink);color:var(--paper);font-weight:600;letter-spacing:.06em}
.ca-v{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ca-short,.ca-ok{display:none}
.ca-i{flex:none;width:15px;height:15px;opacity:.6}
.ca.copied .ca-v,.ca.copied .ca-i{display:none}
.ca.copied .ca-ok{display:inline}
@media (max-width:560px){.ca-full{display:none}.ca-short{display:inline}}
.ca-dark{justify-self:start;margin-top:22px;background:color-mix(in srgb,var(--paper) 9%,transparent);color:var(--paper)}
.ca-dark:hover{background:color-mix(in srgb,var(--paper) 15%,transparent)}
.ca-dark .ca-k{background:var(--paper);color:var(--ink)}
.ca-dark:focus-visible{outline-color:var(--paper)}
.foot-lead{display:grid;align-content:start}

/* The close: the app's own screens, rising out of the sky pictures */
.sky-card{justify-items:center;padding:0}
.sky-card img.phone{position:relative;inset:auto;align-self:start;width:58%;height:auto;margin-top:12%;object-fit:contain;border:5px solid var(--ink);border-radius:26px;box-shadow:0 30px 60px -34px color-mix(in srgb,var(--shadow) 80%,transparent)}
@media (max-width:900px){.sky-card img.phone{width:72%;border-width:3px;border-radius:14px}}
@media (max-width:560px){.sky-card.tall{aspect-ratio:4/4.4}.sky-card img.phone{width:58%;border-width:4px;border-radius:22px}}

/* The dive's cloud, over the whole page while it plays */
.cloud{position:fixed;inset:0;z-index:15;width:100%;height:100%;pointer-events:none;visibility:hidden}

/* The copy arrives when the opening run ends. */
.js .rise{opacity:0;transform:translateY(14px)}
.js.in .rise{opacity:1;transform:none;transition:opacity .9s var(--ease),transform 1.1s var(--ease);transition-delay:calc(var(--i,0)*80ms)}
.js .cue.rise{transform:translateX(-50%) translateY(14px)}
.js.in .cue.rise{transform:translateX(-50%)}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .rise,.js .reveal,.js .l{opacity:1;transform:none}
  .js.in .l,.l-bob,.l-face.squish,.feed-track,.coin,.cue span{animation:none}
  *,*::before,*::after{transition-duration:.001ms!important;animation-duration:.001ms!important}
}

/* The sky photos, graded to dawn by the #dawn filter in the page: shadows go orange, highlights go cream. */
.l-sky img,.shot>img,.panel-sky img,.sky-card img.drift{filter:url(#dawn)}

/* Coming soon: buttons keep their look and carry a small sun badge; tapping opens a note instead of downloading. */
.soon-badge{display:inline-grid;place-items:center;height:20px;padding:0 8px;border-radius:999px;background:var(--sun);color:var(--ink);font:700 10.5px/1 var(--mono);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}

/* The contract address before there is one */
.ca.soon{cursor:default}
.ca.soon:hover{background:color-mix(in srgb,var(--paper) 58%,transparent)}
.ca-dark.soon:hover{background:color-mix(in srgb,var(--paper) 9%,transparent)}
.ca.soon .ca-i{display:none}

/* Coming soon note, opened by the Android and iPhone buttons */
.soon-dialog{width:min(420px,calc(100vw - 32px));padding:0;border:0;border-radius:24px;background:var(--paper);color:var(--ink);box-shadow:0 40px 80px -30px color-mix(in srgb,var(--shadow) 70%,transparent)}
.soon-dialog::backdrop{background:color-mix(in srgb,var(--p2-a) 45%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.soon-box{display:grid;justify-items:center;gap:14px;padding:30px 26px 26px;text-align:center}
.soon-box img{width:64px;height:64px;border-radius:16px}
.soon-box h2{font-size:26px;font-weight:700;letter-spacing:-.03em}
.soon-box p{font-size:16px;line-height:1.45;color:var(--ink-2)}
.soon-box .btns{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:4px}
.soon-box .btn{height:46px}
.soon-box button.btn{border:0;font:inherit;font-weight:600;font-size:16px;cursor:pointer}
