/* 15 Together — production styles
   Mobile-first. One centred content column; section colours run full-bleed. */

/* ---- fonts ---- */
@font-face{font-family:Figtree;font-style:normal;font-weight:300 900;font-display:swap;
  src:url(assets/figtree-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:Figtree;font-style:normal;font-weight:300 900;font-display:swap;
  src:url(assets/figtree-latinext.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;
  src:url(assets/plexmono-400-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;
  src:url(assets/plexmono-400-latinext.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;
  src:url(assets/plexmono-500-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;
  src:url(assets/plexmono-500-latinext.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}

/* ---- tokens ---- */
:root{
  --cream:#F7F2E8;
  --yellow:#F5DE0F;
  --yellow-pale:#FDF3AC;
  --yellow-lift:#F9E85C;
  --green:#294338;
  --green-deep:#1F3429;
  --sage:#A8B39D;
  --sand:#F1EADC;
  --sand-mid:#E9DDCA;
  --sand-deep:#E4D7C0;
  --ink:#292824;
  --ink-muted:#5C5A54;
  --terracotta:#C9795E;
  --olive:#6E6404;
  --col:430px;          /* content column width */
  --gut:24px;           /* horizontal gutter */
  --mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;background:var(--cream);color:var(--ink);
  font-family:Figtree,"Helvetica Neue",Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}
  *{animation-duration:.001ms!important;transition-duration:.001ms!important;}}
img{max-width:100%;display:block;}
h1,h2,h3,p{margin:0;}
a{color:var(--terracotta);text-decoration:none;}
a:hover{color:var(--green);}
:focus-visible{outline:3px solid var(--terracotta);outline-offset:3px;border-radius:6px;}

/* ---- layout ---- */
.band{width:100%;}
.wrap{width:100%;max-width:var(--col);margin:0 auto;padding-left:var(--gut);padding-right:var(--gut);}
.band--cream{background:var(--cream);}
.band--yellow{background:var(--yellow);}
.band--yellow-pale{background:var(--yellow-pale);}
.band--green{background:var(--green);color:var(--cream);}
.band--sand{background:var(--sand);}

/* ---- masthead ---- */
.masthead{padding-top:22px;}
.masthead .wrap{display:flex;align-items:center;justify-content:space-between;}
.mark{display:flex;align-items:center;gap:9px;color:var(--green);}
.mark__dial{
  width:36px;height:36px;border-radius:50%;flex:none;
  background:conic-gradient(var(--yellow) 0turn .25turn,var(--green) .25turn 1turn);
  display:flex;align-items:center;justify-content:center;
}
.mark__face{width:30px;height:30px;border-radius:50%;background:var(--cream);
  display:flex;align-items:center;justify-content:center;}
.mark__num{font-size:14px;font-weight:800;letter-spacing:-.05em;color:var(--green);}
.mark__word{font-size:16px;font-weight:500;letter-spacing:-.02em;}
.masthead__join{font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--green);}

/* ---- hero ---- */
.hero{margin-top:18px;padding-top:28px;padding-bottom:30px;}
.hero h1{font-size:56px;line-height:.92;font-weight:800;letter-spacing:-.05em;color:var(--green);margin-bottom:30px;}
.hero h1 span{display:block;}
.hero__sub{font-size:17px;line-height:1.5;color:var(--green);margin-bottom:22px;}
.hero__sub span{display:block;}
.countdown{margin-bottom:30px;}
.countdown__label{margin-bottom:10px;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--green);}
.countdown__units{display:inline-flex;align-items:baseline;gap:14px;padding:10px 16px;border-radius:12px;background:rgba(41,67,56,.12);}
.cd{display:flex;align-items:baseline;gap:4px;}
.cd__n{font-size:19px;font-weight:800;letter-spacing:-.04em;color:var(--green);font-variant-numeric:tabular-nums;}
.cd__u{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--green);}
.countdown__live{display:flex;align-items:center;gap:12px;}
.countdown__day{flex:none;display:flex;align-items:baseline;gap:5px;padding:10px 14px;border-radius:12px;background:rgba(41,67,56,.12);}
.countdown__day span:first-child{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--green);}
.countdown__note{font-size:14px;font-weight:600;letter-spacing:-.01em;line-height:1.25;color:var(--green);}
[hidden]{display:none!important;}

/* ---- signup form ---- */
.signup{margin:0;}
.signup__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.signup__row{display:flex;flex-direction:column;gap:10px;}
.signup__input{width:100%;height:60px;padding:0 18px;border-radius:16px;border:2px solid var(--green);
  background:var(--cream);color:var(--ink);font-family:inherit;font-size:16px;line-height:1;
  -webkit-appearance:none;appearance:none;}
.signup__input::placeholder{color:rgba(41,40,36,.42);}
.signup__input:focus{outline:3px solid var(--terracotta);outline-offset:2px;}
.signup__btn{width:100%;border:0;cursor:pointer;font-family:inherit;}
.signup__btn[disabled]{opacity:.6;cursor:default;}
.signup__msg{margin-top:12px;font-size:14.5px;line-height:1.45;color:var(--green);font-weight:600;min-height:1px;}
.signup__msg.is-error{color:#9B3B24;}
.signup--done .signup__row{display:none;}

/* ---- buttons ---- */
.btn{display:flex;align-items:center;justify-content:center;height:60px;border-radius:16px;
  font-size:15px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-align:center;
  transition:background-color .18s ease;padding:0 16px;}
.btn--green{background:var(--green);color:var(--cream);}
.btn--green:hover{background:var(--green-deep);color:var(--cream);}
.btn--yellow{background:var(--yellow);color:var(--green);}
.btn--yellow:hover{background:var(--yellow-lift);color:var(--green);}
.btn-note{margin-top:12px;text-align:center;font-size:13.5px;color:var(--green);}
.btn-note--dim{color:rgba(247,242,232,.7);font-size:14px;margin-top:16px;}

/* ---- shared goal ---- */
.goal{padding-top:56px;padding-bottom:52px;}
.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;}
.eyebrow--yellow{color:var(--yellow);margin-bottom:22px;}
.eyebrow--olive{color:var(--olive);}
.goal__num{font-size:62px;font-weight:800;letter-spacing:-.055em;line-height:.86;color:var(--yellow);font-variant-numeric:tabular-nums;}
.goal__unit{margin-top:10px;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--cream);}
.goal h2{margin-top:20px;font-size:30px;line-height:1.08;font-weight:700;letter-spacing:-.035em;text-wrap:pretty;}
.meter{margin-top:30px;}
.meter__track{height:10px;border-radius:99px;background:rgba(247,242,232,.22);overflow:hidden;}
.meter__fill{height:100%;border-radius:99px;background:var(--yellow);width:0;transition:width .6s ease;}
.meter__legend{display:flex;justify-content:space-between;margin-top:10px;font-family:var(--mono);font-size:11.5px;color:var(--cream);}
.goal__math{margin-top:36px;padding-top:30px;border-top:1px solid rgba(247,242,232,.2);}
.goal__math-head{font-size:15px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--yellow);margin-bottom:20px;}
.mathrow{display:flex;align-items:baseline;gap:14px;margin-bottom:16px;}
.mathrow:last-of-type{margin-bottom:0;}
.mathrow__n{font-size:34px;font-weight:800;letter-spacing:-.05em;color:var(--cream);line-height:1;min-width:100px;font-variant-numeric:tabular-nums;}
.mathrow__l{font-size:15.5px;line-height:1.4;color:var(--cream);}
.goal__kicker{margin-top:24px;font-size:19px;font-weight:700;letter-spacing:-.02em;line-height:1.3;color:var(--yellow);}
.goal__kicker-sub{margin-top:6px;font-size:16px;line-height:1.5;color:var(--cream);}
.goal__mission{margin-top:30px;padding-top:24px;border-top:1px solid rgba(247,242,232,.2);}
.goal__mission-label{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--yellow);margin-bottom:10px;}
.goal__mission-body{font-size:18px;line-height:1.4;font-weight:600;letter-spacing:-.02em;color:var(--cream);}

/* ---- timeline ---- */
.timeline{padding-top:56px;padding-bottom:50px;}
.timeline h2{margin:14px 0;font-size:36px;line-height:1.02;font-weight:700;letter-spacing:-.04em;color:var(--green);text-wrap:balance;}
.timeline__lede{margin-bottom:32px;font-size:16.5px;line-height:1.55;color:rgba(41,40,36,.8);}
.tl{display:grid;grid-template-columns:78px 13px 1fr;}
.tl__when{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--green);padding-top:4px;}
.tl__rail{display:flex;flex-direction:column;align-items:center;}
.tl__dot{width:11px;height:11px;border-radius:50%;background:var(--yellow);border:2px solid var(--green);flex:none;margin-top:2px;}
.tl__line{width:2px;flex:1;background:var(--yellow);min-height:14px;}
.tl__body{padding:0 0 24px 14px;display:flex;flex-direction:column;gap:3px;}
.tl:last-child .tl__body{padding-bottom:0;}
.tl__body p{font-size:16.5px;font-weight:600;line-height:1.4;letter-spacing:-.015em;color:var(--green);}
.callout{margin-top:34px;padding:20px 18px;border-radius:16px;background:var(--sand);
  font-size:16px;line-height:1.55;color:var(--green);}
.callout strong{font-weight:700;}
.footnote{margin-top:20px;display:flex;gap:11px;align-items:flex-start;}
.footnote__bar{width:3px;align-self:stretch;border-radius:99px;background:var(--yellow);flex:none;}
.footnote p{font-size:13px;line-height:1.6;color:var(--ink-muted);}

/* ---- how it works ---- */
.how{padding-top:48px;padding-bottom:56px;}
.how__head{padding-bottom:32px;}
.how h2{margin-bottom:8px;font-size:34px;line-height:1.04;font-weight:700;letter-spacing:-.03em;color:var(--green);}
.how__lede{font-size:16px;line-height:1.5;color:rgba(41,40,36,.7);}
.steps{display:flex;flex-direction:column;gap:24px;}
.step{display:flex;gap:18px;align-items:flex-start;}
.step__n{width:40px;height:40px;border-radius:50%;background:var(--sage);color:var(--green);
  font-size:18px;font-weight:800;display:flex;align-items:center;justify-content:center;flex:none;}
.step__t{font-size:19px;font-weight:600;letter-spacing:-.01em;margin-bottom:5px;color:var(--ink);}
.step__d{font-size:15.5px;line-height:1.55;color:rgba(41,40,36,.7);}
.photos{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:32px;}
.photos figure{margin:0;aspect-ratio:1;border-radius:16px;overflow:hidden;background:var(--sand-deep);}
.photos img{width:100%;height:100%;object-fit:cover;}
.photos img.pos-a{object-position:62% 50%;}
.photos img.pos-b{object-position:58% 45%;}
.how__app{padding-top:36px;}
.how__app .eyebrow{margin-bottom:10px;}
.how__app h3{margin-bottom:6px;font-size:22px;font-weight:700;letter-spacing:-.025em;color:var(--green);}
.how__app p{font-size:15.5px;line-height:1.5;color:rgba(41,40,36,.7);}

.rail__note{max-width:var(--col);margin:0 auto;padding:0 var(--gut);font-family:var(--mono);font-size:11px;
  letter-spacing:.14em;text-transform:uppercase;color:rgba(41,40,36,.5);}

/* ---- phone rail ---- */
.rail{display:flex;gap:16px;overflow-x:auto;padding:12px var(--gut) 8px;
  scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;}
.rail::-webkit-scrollbar{height:6px;}
.rail::-webkit-scrollbar-thumb{background:rgba(41,67,56,.22);border-radius:99px;}
.railcard{flex:none;width:172px;scroll-snap-align:start;}
.phone{width:172px;height:373px;border-radius:26px;background:var(--ink);padding:5px;
  box-shadow:0 12px 28px -12px rgba(41,67,56,.4);}
.phone__screen{width:100%;height:100%;min-height:0;border-radius:22px;background:var(--cream);
  overflow:hidden;display:flex;flex-direction:column;padding:18px 14px 12px;}
.railcard__cap{margin-top:10px;text-align:center;font-family:var(--mono);font-size:10px;color:rgba(41,40,36,.55);}
.minimark{display:flex;align-items:center;gap:4px;color:var(--green);justify-content:center;}
.minimark__dial{width:17px;height:17px;border-radius:50%;flex:none;
  background:conic-gradient(var(--yellow) 0turn .25turn,var(--green) .25turn 1turn);
  display:flex;align-items:center;justify-content:center;}
.minimark__face{width:14px;height:14px;border-radius:50%;background:var(--cream);
  display:flex;align-items:center;justify-content:center;}
.minimark__num{font-size:7px;font-weight:800;letter-spacing:-.05em;color:var(--green);}
.minimark__word{font-size:9px;font-weight:500;}
.ph-home{flex:1;display:flex;flex-direction:column;justify-content:center;gap:16px;}
.ph-start{height:44px;border-radius:12px;background:var(--yellow);color:var(--green);
  font-size:9px;font-weight:700;letter-spacing:.12em;display:flex;align-items:center;justify-content:center;}
.ph-stats{display:flex;gap:6px;}
.ph-stat{flex:1;min-width:0;padding:9px 8px;border-radius:10px;background:var(--sand-mid);}
.ph-stat__l{font-size:7px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:rgba(41,67,56,.6);}
.ph-stat__v{font-size:14px;font-weight:800;letter-spacing:-.04em;color:var(--green);}
.ph-tabs{display:flex;gap:14px;justify-content:center;font-size:8px;font-weight:600;color:rgba(41,40,36,.45);}
.ph-tabs .on{color:var(--green);}
.phone__screen--session{background:var(--green);align-items:center;justify-content:center;gap:10px;color:var(--cream);}
.ph-kid{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(247,242,232,.65);}
.ph-time{font-size:38px;font-weight:800;letter-spacing:-.05em;font-variant-numeric:tabular-nums;}
.ph-hint{font-size:10px;color:rgba(247,242,232,.7);}
.phone__screen--done{justify-content:center;gap:14px;}
.ph-done-h{font-size:19px;font-weight:700;letter-spacing:-.03em;line-height:1.1;color:var(--green);}
.ph-done-s{font-size:10px;font-weight:600;color:var(--terracotta);}
.ph-card{padding:10px;border-radius:10px;background:var(--sand-mid);}
.phone__screen--activity{gap:12px;padding:22px 14px;}
.ph-act-h{font-size:16px;font-weight:700;letter-spacing:-.03em;color:var(--green);}
.ph-act-day{font-size:7.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(41,40,36,.45);}
.ph-act-row{display:flex;justify-content:space-between;font-size:10px;font-weight:600;color:var(--ink);}
.ph-act-media{margin-top:6px;aspect-ratio:3/2;border-radius:8px;background-color:var(--sand-deep);
  background-image:repeating-linear-gradient(135deg,rgba(41,67,56,.08) 0 1px,transparent 1px 7px);}

/* ---- september ---- */
.sept{padding-top:52px;padding-bottom:56px;}
.sept__eyebrow{font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--green);}
.sept h2{margin:12px 0 16px;font-size:44px;line-height:.95;font-weight:800;letter-spacing:-.045em;color:var(--green);}
.sept p{margin-bottom:14px;font-size:17px;line-height:1.5;color:var(--green);}
.sept p.strong{font-weight:600;margin-bottom:26px;}

/* ---- founder ---- */
.founder{padding-top:52px;padding-bottom:48px;}
.founder__card{background:var(--sand);border-radius:22px;padding:24px 24px 22px;}
.founder__quote{font-size:58px;line-height:.62;font-weight:800;color:var(--yellow);margin-bottom:10px;}
.founder h2{margin-bottom:16px;font-size:23px;line-height:1.16;font-weight:700;letter-spacing:-.03em;color:var(--green);text-wrap:pretty;}
.founder__body{display:flex;flex-direction:column;gap:14px;font-size:16px;line-height:1.6;color:rgba(41,40,36,.8);}
.founder__body p.lead{font-weight:600;color:var(--green);}
.founder__by{margin-top:24px;padding-top:20px;border-top:1px solid rgba(41,67,56,.16);
  display:flex;align-items:center;gap:13px;}
.founder__pic{width:48px;height:48px;border-radius:50%;flex:none;overflow:hidden;background:var(--sand-mid);}
.founder__pic img{width:100%;height:100%;object-fit:cover;object-position:50% 18%;}
.founder__name{font-size:15px;font-weight:700;letter-spacing:-.01em;color:var(--green);}
.founder__role{font-size:13px;color:var(--ink-muted);}

/* ---- join ---- */
.join{padding-top:56px;padding-bottom:56px;scroll-margin-top:8px;}
.join h2{margin-bottom:18px;font-size:34px;line-height:1.04;font-weight:700;letter-spacing:-.035em;color:var(--green);}
.join__body{display:flex;flex-direction:column;gap:14px;margin-bottom:30px;
  font-size:16.5px;line-height:1.6;color:rgba(41,40,36,.8);}
.join__body p.strong{font-weight:600;color:var(--green);}
.price{padding:26px 22px;border-radius:20px;background:var(--cream);}
.price__row{display:flex;align-items:baseline;gap:10px;}
.price__n{font-size:40px;font-weight:800;letter-spacing:-.05em;color:var(--green);line-height:1;}
.price__per{font-size:17px;font-weight:600;color:var(--green);}
.price ul{margin:16px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:11px;}
.price li{display:flex;gap:12px;align-items:flex-start;font-size:15.5px;line-height:1.45;color:var(--green);}
.price li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--sage);flex:none;margin-top:.5em;}
.join .btn{margin-top:24px;}
.join .btn-note{margin-top:14px;}

/* ---- faq ---- */
.faq{padding-top:52px;padding-bottom:48px;}
.faq h2{margin-bottom:26px;font-size:32px;line-height:1.05;font-weight:700;letter-spacing:-.03em;color:var(--green);}
.qa{padding:18px 0;border-top:1px solid rgba(41,67,56,.16);}
.qa__q{font-size:16.5px;font-weight:700;letter-spacing:-.015em;color:var(--green);margin-bottom:6px;}
.qa__a{font-size:15.5px;line-height:1.55;color:rgba(41,40,36,.75);}

/* ---- closing ---- */
.closing{padding-top:64px;padding-bottom:64px;}
.closing h2{font-size:40px;line-height:1;font-weight:700;letter-spacing:-.04em;margin-bottom:14px;}
.closing h2.accent{color:var(--yellow);margin-bottom:34px;}

/* ---- footer ---- */
.foot{padding-top:32px;padding-bottom:36px;}
.foot .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.foot .mark__dial{width:30px;height:30px;}
.foot .mark__face{width:25px;height:25px;}
.foot .mark__num{font-size:12px;}
.foot .mark__word{font-size:14px;}
.foot__links{display:flex;gap:18px;font-size:13px;}
.foot__links a{color:var(--ink-muted);}
.foot__links a:hover{color:var(--green);}

/* ---- 404 ---- */
.oops{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:40px var(--gut);gap:20px;}
.oops h1{font-size:44px;font-weight:800;letter-spacing:-.045em;line-height:.98;color:var(--green);}
.oops p{font-size:17px;line-height:1.5;color:rgba(41,40,36,.75);max-width:26em;}
.oops .btn{width:100%;max-width:320px;}

/* ---- the whole idea ---- */
.idea{padding-top:48px;padding-bottom:44px;}
.idea h2{margin:14px 0;font-size:36px;line-height:1.02;font-weight:700;letter-spacing:-.04em;color:var(--green);text-wrap:balance;}
.idea__lede{margin-bottom:26px;font-size:16.5px;line-height:1.55;color:rgba(41,40,36,.8);}
.idea__stat{margin-bottom:26px;font-size:24px;line-height:1.2;font-weight:800;letter-spacing:-.03em;color:var(--green);text-wrap:balance;}
.idea__steps{margin:0;padding:0;list-style:none;border-radius:18px;overflow:hidden;background:var(--sand);}
.idea__steps li{padding:16px 18px;display:flex;align-items:baseline;gap:12px;}
.idea__steps li + li{border-top:1px solid rgba(41,67,56,.1);}
.idea__n{font-family:var(--mono);font-size:12px;color:var(--olive);flex:none;}
.idea__t{font-size:18px;font-weight:700;letter-spacing:-.02em;color:var(--green);}
.idea__floor{margin-top:22px;font-size:16.5px;line-height:1.55;color:var(--green);}
.idea__floor strong{font-weight:700;}

/* ---- goal additions ---- */
.goal__move{margin-top:14px;font-size:16.5px;line-height:1.5;color:var(--yellow);font-weight:600;}
.goal__mission{margin-top:32px;padding:20px 18px;border-top:0;border-radius:16px;
  background:rgba(247,242,232,.08);border:1px solid rgba(247,242,232,.16);}
.goal__mission-body strong{font-weight:700;color:var(--yellow);}

/* ---- membership additions ---- */
.join__h2b{margin-top:-6px;}
.join__punch{font-size:19px;line-height:1.35;font-weight:700;letter-spacing:-.02em;color:var(--green);}

/* ---- closing addition ---- */
.closing__ask{margin-bottom:30px;font-size:17px;line-height:1.5;color:rgba(247,242,232,.85);}
.closing h2.accent{margin-bottom:20px;}

/* ---- desktop ----------------------------------------------------------- */
@media (min-width:768px){
  :root{--col:620px;--gut:40px;}
  .hero{margin-top:26px;padding-top:44px;padding-bottom:44px;}
  .hero h1{font-size:76px;}
  .signup__row{flex-direction:row;}
  .signup__input{flex:1;min-width:0;}
  .signup__btn{width:auto;flex:none;padding:0 30px;}
  .hero__sub{font-size:19px;}
  .idea{padding-top:72px;padding-bottom:68px;}
  .idea h2{font-size:46px;}
  .idea__stat{font-size:30px;}
  .idea__t{font-size:20px;}
  .goal{padding-top:80px;padding-bottom:76px;}
  .goal__num{font-size:84px;}
  .goal h2{font-size:38px;}
  .timeline{padding-top:80px;padding-bottom:74px;}
  .timeline h2{font-size:46px;}
  .tl{grid-template-columns:104px 13px 1fr;}
  .how{padding-top:72px;padding-bottom:80px;}
  .how h2{font-size:42px;}
  .sept{padding-top:76px;padding-bottom:80px;}
  .sept h2{font-size:58px;}
  .founder{padding-top:76px;padding-bottom:72px;}
  .founder__card{padding:34px 34px 30px;}
  .founder h2{font-size:28px;}
  .join{padding-top:80px;padding-bottom:80px;}
  .join h2{font-size:42px;}
  .faq{padding-top:76px;padding-bottom:72px;}
  .faq h2{font-size:40px;}
  .closing{padding-top:96px;padding-bottom:96px;}
  .closing h2{font-size:52px;}
  .rail{max-width:calc(var(--col));margin:0 auto;}
}
@media (min-width:1100px){
  :root{--col:680px;}
  .hero h1{font-size:84px;}
}
