@font-face {
  font-family:Wehda Sans;
  src:url('/assets/manrope-regular.ttf') format('truetype');
  font-style:normal;
  font-weight:400;
  font-display:swap;
}

@font-face {
  font-family:Wehda Sans;
  src:url('/assets/manrope-semibold.ttf') format('truetype');
  font-style:normal;
  font-weight:600;
  font-display:swap;
}

:root {
  --ink:#172f27;
  --muted:#5d665e;
  --line:#d9dbcf;
  --green:#153e32;
  --paper:#f5f3eb;
  --soft:#eeeee3;
  --white:#fffefa;
  --gold:#89652e;
  --gold-light:#dbc18d;
  --serif:Georgia,'Times New Roman',serif;
}

* {
  box-sizing:border-box;
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:110px;
}

body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Wehda Sans',Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}

::selection {
  background:#d8b776;
  color:var(--ink);
}

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

button,input {
  font:inherit;
}

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

button {
  cursor:pointer;
}

a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible {
  outline:2px solid var(--gold);
  outline-offset:5px;
}

.together-section :focus-visible {
  outline-color:var(--gold-light);
}

p,h1,h2,h3,h4 {
  margin:0;
}

em {
  font-family:var(--serif);
  font-weight:400;
  letter-spacing:-.065em;
}

.wrap {
  width:calc(100% - 112px);
  max-width:1328px;
  margin-inline:auto;
}

[hidden] {
  display:none!important;
}

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

.skip-link {
  position:fixed;
  top:-100px;
  left:20px;
  padding:14px 20px;
  background:var(--green);
  color:white;
  z-index:20;
}

.skip-link:focus {
  top:12px;
}

.site-header {
  position:sticky;
  top:0;
  z-index:10;
  background:var(--paper);
  border-bottom:1px solid var(--line);
}

.header-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:88px;
  gap:30px;
}

.brand {
  display:inline-flex;
  align-items:center;
  gap:9px;
  flex-shrink:0;
}

.logo-mark {
  position:relative;
  display:block;
  width:33px;
  height:43px;
  overflow:hidden;
  mix-blend-mode:multiply;
  flex-shrink:0;
}

.logo-mark img {
  position:absolute;
  width:49px;
  height:53.4px;
  max-width:none;
  left:-3px;
  top:-5.5px;
}

.wordmark {
  font-size:24px;
  letter-spacing:.07em;
  font-weight:600;
}

nav {
  display:flex;
  gap:34px;
  font-size:13px;
}

nav a {
  padding-block:16px;
  position:relative;
}

nav a:after,.share-email:after {
  content:'';
  height:1px;
  position:absolute;
  left:0;
  right:0;
  bottom:10px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .2s ease;
}

nav a:hover:after,.share-email:hover:after {
  transform:scaleX(1);
}

.launch-note {
  display:inline-flex;
  align-items:center;
  gap:28px;
  font-size:13px;
  font-weight:600;
  border:1px solid var(--green);
  background:var(--green);
  color:var(--white);
  padding:13px 19px;
  border-radius:5px;
  transition:background .2s,color .2s;
}

.launch-note:hover {
  background:#245544;
}

.launch-note span {
  font-size:19px;
  line-height:1;
}

/* Custom linework, never font glyphs or platform-dependent emoji. */
.icon-frame {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  vertical-align:middle;
}

.icon {
  display:block;
  width:1em;
  height:1em;
  flex-shrink:0;
  fill:none;
  stroke:currentColor;
  stroke-width:1.35;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.example-sequence {
  display:inline-flex;
  align-items:center;
  gap:7px;
}

.example-sequence .icon {
  font-size:13px;
}

.eyebrow {
  display:flex;
  align-items:center;
  gap:9px;
  font-size:10px;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  line-height:1.7;
}

.status-dot {
  display:inline-block;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 0 4px #89652e12;
  flex-shrink:0;
}

.hero {
  position:relative;
  display:grid;
  grid-template-columns:1.15fr 1fr;
  align-items:center;
  min-height:756px;
  padding-block:66px 124px;
  column-gap:12px;
}

.hero-copy {
  z-index:2;
}

.hero h1 {
  font-size:clamp(62px,6.3vw,90px);
  letter-spacing:-.06em;
  word-spacing:.03em;
  line-height:1.05;
  font-weight:400;
  margin:27px 0 28px;
}

.hero h1 em {
  color:var(--gold);
  display:block;
  line-height:1.04;
  font-size:1.15em;
  margin-top:-4px;
}

.hero-description {
  font-size:22px;
  line-height:1.5;
  letter-spacing:-.025em;
}

.hero-detail {
  font-size:15px;
  line-height:1.8;
  max-width:411px;
  margin-top:17px;
  color:var(--muted);
}

.hero-actions {
  display:flex;
  align-items:center;
  gap:25px;
  margin-top:29px;
}

.button {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  gap:36px;
  min-height:52px;
  padding:14px 22px;
  border-radius:5px;
  font-size:13px;
  font-weight:600;
  border:1px solid transparent;
  transition:background .2s,transform .2s,box-shadow .2s;
}

.button span {
  font-size:22px;
  line-height:1;
}

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

.button-primary {
  background:var(--green);
  color:var(--white);
}

.button-primary:hover {
  background:#245544;
  box-shadow:0 5px 15px #153e3215;
}

.button-light {
  background:var(--gold-light);
  color:var(--green);
}

.button-light:hover {
  background:#ead3a8;
}

.button-outline {
  border-color:#aab5a8;
  background:transparent;
  color:var(--green);
}

.button-outline:hover {
  background:var(--white);
}

.text-link {
  display:inline-flex;
  align-items:center;
  gap:15px;
  font-size:13px;
  font-weight:600;
  line-height:1.7;
}

.text-link>span {
  font-size:19px;
  transition:transform .2s;
}

.text-link:hover>span {
  transform:translate(2px,2px);
}

.text-link:hover {
  text-decoration:underline;
  text-underline-offset:5px;
}

.launch-context {
  font-size:11px;
  letter-spacing:.015em;
  color:var(--muted);
  margin-top:15px;
}

.hero-art {
  position:relative;
  min-width:0;
  height:555px;
  align-self:center;
  background:var(--paper);
  overflow:clip;
  overflow-clip-margin:20px;
}

.flow-surface {
  position:absolute;
  top:0;
  left:50%;
  width:100%;
  max-width:550px;
  transform:translateX(-50%);
  aspect-ratio:1;
  mix-blend-mode:multiply;
}

.connection-art {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  transition:opacity .7s ease;
}

.flow-canvas {
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  opacity:0;
  transition:opacity .7s ease;
  pointer-events:none;
}

.flow-ready .flow-canvas {
  opacity:1;
}

.flow-ready .connection-art {
  opacity:0;
}

.orbit-outline {
  position:absolute;
  border:1px solid #c4b28b4d;
  border-radius:50%;
  inset:18px 16px 44px;
  transform:rotate(-23deg);
  z-index:0;
}

.orbit-outline-two {
  inset:50px -11px 80px;
  transform:rotate(23deg) scaleY(.66);
}

.art-coordinate {
  position:absolute;
  top:0;
  left:30px;
  font-size:8px;
  letter-spacing:.18em;
  color:var(--muted);
}

.art-label {
  position:absolute;
  display:flex;
  align-items:center;
  gap:8px;
  background:var(--white);
  border:1px solid var(--line);
  box-shadow:0 6px 24px #27392306;
  border-radius:3px;
  padding:13px 16px;
  font-size:11px;
  z-index:2;
}

.art-label-one {
  left:-7px;
  top:150px;
  transform:rotate(-6deg);
}

.art-label-two {
  right:-5px;
  bottom:128px;
  transform:rotate(5deg);
}

.label-dot {
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--green);
}

.gold-dot {
  background:#b18c4e;
}

.art-caption {
  position:absolute;
  z-index:2;
  bottom:-16px;
  width:100%;
  text-align:center;
  font-size:11px;
  color:var(--muted);
  line-height:1.6;
}

.art-caption em {
  font-size:18px;
  color:var(--green);
  letter-spacing:-.02em;
}

.hero-footnote {
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  min-height:76px;
  display:flex;
  align-items:center;
  gap:33px;
  border-top:1px solid var(--line);
  font-size:12px;
}

.hero-footnote>span+span:before {
  content:'';
  display:inline-block;
  width:1px;
  height:10px;
  background:var(--gold);
  opacity:.45;
  vertical-align:-1px;
  margin-right:33px;
}

.hero-footnote em {
  font-size:16px;
  letter-spacing:-.03em;
}

.scroll-cue {
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:25px;
  font-size:10px;
  letter-spacing:.03em;
  color:var(--muted);
}

.scroll-cue span {
  font-size:18px;
}

/* The illustrative product moment makes the concept concrete without implying a live app. */
.idea-section {
  padding:100px 0 108px;
  background:var(--white);
  border-top:1px solid var(--line);
}

.section-intro {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  column-gap:110px;
  align-items:end;
}

.section-intro .eyebrow {
  grid-column:1/-1;
  margin-bottom:23px;
  color:var(--gold);
}

h2 {
  font-size:clamp(42px,4.4vw,62px);
  font-weight:400;
  letter-spacing:-.058em;
  line-height:1.1;
}

h2 em {
  color:var(--gold);
  letter-spacing:-.045em;
}

.section-description {
  font-size:15px;
  color:var(--muted);
  line-height:1.85;
  max-width:410px;
  padding-bottom:2px;
}

.experience-grid {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:92px;
  margin-top:54px;
  align-items:center;
}

.experience-visual {
  background:#edf0e5;
  min-height:526px;
  position:relative;
  padding:27px 36px 23px;
  border-radius:7px;
  overflow:hidden;
}

.example-topline {
  display:flex;
  justify-content:space-between;
  font-size:8px;
  letter-spacing:.12em;
  color:#67725d;
}

.checkout-card {
  position:relative;
  z-index:1;
  max-width:402px;
  margin:24px auto 17px;
  background:var(--white);
  border:1px solid #dbdfd2;
  border-radius:5px;
  padding:22px 24px 16px;
  box-shadow:0 16px 34px #263c2210;
  transform:rotate(-3deg);
}

.example-brand {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:7px;
  font-size:10px;
  font-weight:600;
  letter-spacing:.16em;
}

.example-brand svg {
  width:24px;
  height:24px;
  fill:none;
  stroke:var(--green);
  stroke-width:1.5;
}

.order-check {
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border:1px solid #b3c3a5;
  border-radius:50%;
  margin:17px auto 11px;
  font-size:15px;
  color:var(--green);
}

.checkout-card h3 {
  font-family:var(--serif);
  font-size:21px;
  font-weight:400;
  letter-spacing:-.02em;
  text-align:center;
}

.checkout-card>p {
  text-align:center;
  font-size:10px;
  color:var(--muted);
  margin-top:8px;
}

.order-rule {
  height:1px;
  background:var(--line);
  margin:20px 0 15px;
}

.checkout-card .recommendation-label {
  font-size:7px;
  letter-spacing:.1em;
  margin:0 0 12px;
}

.partner-offer {
  display:grid;
  grid-template-columns:.85fr 1fr;
  gap:16px;
  padding:15px;
  background:#f0e9dd;
  border:1px solid #e6decf;
  border-radius:3px;
  align-items:center;
}

.ceramic-art {
  background:#e7d8c2;
  border-radius:70px 70px 3px 3px;
  min-width:0;
}

.ceramic-art svg {
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:1;
  object-fit:contain;
}

.offer-brand {
  font-size:7px;
  letter-spacing:.12em;
  color:#675638;
}

.partner-offer h4 {
  font-family:var(--serif);
  font-size:19px;
  font-weight:400;
  line-height:1.05;
  margin:7px 0;
  color:#4f3f2e;
}

.partner-offer p {
  font-size:8px;
  color:#756551;
  line-height:1.5;
}

.example-offer-link {
  display:inline-block;
  font-size:8px;
  font-weight:600;
  border-bottom:1px solid #857357;
  padding:11px 0 4px;
  color:#4f3f2e;
}

.example-offer-link span {
  margin-left:4px;
}

.powered-by {
  text-align:center;
  font-size:7px;
  color:var(--muted);
  margin-top:16px;
}

.powered-by strong {
  font-size:8px;
  letter-spacing:.07em;
}

.example-disclaimer {
  text-align:center;
  font-size:9px;
  color:var(--muted);
  position:relative;
  z-index:1;
  line-height:1.6;
  margin-top:26px;
}

.discovery-stamp {
  position:absolute;
  right:13px;
  top:43px;
  z-index:2;
  background:var(--gold-light);
  width:99px;
  height:99px;
  border-radius:50%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  text-align:center;
  font-size:9px;
  line-height:1.8;
  letter-spacing:.04em;
  transform:rotate(12deg);
  border:1px solid #b59b66;
  box-shadow:0 0 0 5px var(--gold-light);
}

.discovery-stamp span {
  font-family:var(--serif);
  font-style:italic;
  font-size:17px;
  letter-spacing:-.02em;
}

.steps {
  padding-block:8px;
}

.step {
  display:grid;
  grid-template-columns:34px 1fr;
  gap:15px;
  padding:26px 0;
  border-bottom:1px solid var(--line);
}

.step:first-child {
  padding-top:0;
}

.step-number {
  width:29px;
  height:29px;
  border:1px solid #b1b9a9;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:10px;
  color:var(--gold);
}

h3 {
  font-size:20px;
  line-height:1.4;
  letter-spacing:-.035em;
  font-weight:600;
}

.step p {
  font-size:15px;
  color:var(--muted);
  line-height:1.85;
  margin-top:11px;
  max-width:340px;
}

.steps>.text-link {
  margin-top:24px;
}

/* A high-contrast change of pace gives the reciprocal model its own visual weight. */
.together-section {
  padding:65px 0 76px;
  background:var(--green);
  color:var(--paper);
  position:relative;
  overflow:hidden;
}

.together-heading {
  display:flex;
  justify-content:space-between;
  align-items:center;
}

.together-heading .eyebrow {
  color:var(--gold-light);
}

.together-note {
  font-family:var(--serif);
  font-style:italic;
  font-size:15px;
  line-height:1.5;
  color:#cad4bd;
  text-align:right;
}

.together-inner {
  display:grid;
  grid-template-columns:1.35fr 1fr;
  gap:95px;
  align-items:center;
  margin-top:40px;
}

.together-section h2 {
  font-size:clamp(52px,5.6vw,80px);
  line-height:1.12;
}

.together-section h2 em {
  color:var(--gold-light);
}

.together-copy p {
  font-size:14px;
  line-height:1.9;
  color:#d4ddce;
}

.together-copy p:first-child {
  font-size:17px;
  letter-spacing:-.025em;
  color:var(--paper);
  margin-bottom:13px;
}

.together-copy .button {
  margin-top:24px;
}

.benefits {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:56px;
  margin-top:62px;
}

.benefit {
  border-top:1px solid #5a7160;
  padding-top:23px;
}

.benefit-symbol {
  display:block;
  font-size:34px;
  font-weight:400;
  line-height:1;
  margin-bottom:23px;
  color:var(--gold-light);
}

.benefit h3 {
  font-size:18px;
  margin-bottom:12px;
}

.benefit p {
  font-size:14px;
  line-height:1.85;
  color:#c3d0bf;
  max-width:310px;
}

.questions-section {
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:100px;
  padding-block:99px;
}

.questions-intro .eyebrow {
  color:var(--gold);
  margin-bottom:23px;
}

.questions-intro h2 {
  font-size:45px;
}

.questions-intro>p:last-child {
  font-size:12px;
  color:var(--muted);
  line-height:1.8;
  margin-top:25px;
}

.questions-intro .text-link {
  margin-top:6px;
  color:var(--green);
}

.questions-list {
  padding-top:1px;
}

details {
  border-bottom:1px solid #cdd2c3;
}

details:first-child {
  border-top:1px solid #cdd2c3;
}

summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  cursor:pointer;
  padding:23px 0;
  font-size:14px;
  line-height:1.6;
  font-weight:600;
  list-style:none;
}

summary::-webkit-details-marker {
  display:none;
}

summary>span {
  font-size:24px;
  font-weight:400;
  line-height:1;
  color:var(--gold);
  transition:transform .2s;
}

details[open] summary>span {
  transform:rotate(45deg);
}

details p {
  font-size:14px;
  line-height:1.9;
  color:var(--muted);
  padding:0 32px 23px 0;
}

summary:hover {
  color:var(--gold);
}

/* One native form and a truthful post-success state; no modal, forced sharing, or tracking. */
.closing {
  background:#e9eddf;
  border-top:1px solid #d4dbca;
  padding-top:86px;
}

.closing-grid {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:110px;
  align-items:start;
}

.closing-copy {
  padding-top:19px;
}

.closing-copy .eyebrow {
  margin-bottom:29px;
}

.closing h2 {
  font-size:clamp(44px,4.1vw,59px);
  line-height:1.14;
}

.closing-copy>p:not(.eyebrow) {
  font-size:15px;
  line-height:1.85;
  margin-top:25px;
  color:var(--muted);
  max-width:380px;
}

.signup-expectations {
  display:flex;
  flex-direction:column;
  gap:13px;
  font-size:11px;
  margin-top:28px;
}

.signup-expectations>span {
  display:flex;
  gap:10px;
  align-items:center;
}

.signup-expectations>span>span {
  font-size:13px;
  color:var(--gold);
}

.closing-signature {
  display:block;
  font-family:var(--serif);
  font-size:28px;
  font-style:italic;
  color:#587052;
  line-height:1.1;
  letter-spacing:-.04em;
  transform:rotate(-8deg);
  margin:48px 0 0 9px;
}

.waitlist-form {
  padding:30px 34px 27px;
  background:var(--white);
  border:1px solid #c7cfbc;
  box-shadow:0 14px 42px #2f4d3010;
  border-radius:6px;
  text-align:left;
  min-width:0;
}

.form-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:var(--gold);
  margin-bottom:16px;
}

.form-heading .eyebrow {
  font-size:8px;
  letter-spacing:.13em;
}

.form-heading>span:last-child {
  font-size:26px;
}

.waitlist-form h3 {
  font-size:24px;
  font-weight:400;
  letter-spacing:-.045em;
  line-height:1.25;
}

.form-description {
  font-size:12px;
  line-height:1.7;
  color:var(--muted);
  margin-top:9px;
  margin-bottom:24px;
}

.waitlist-form fieldset {
  border:0;
  padding:0;
  margin:0;
  min-width:0;
}

.waitlist-form label {
  display:block;
  font-size:12px;
  line-height:1.6;
  margin:17px 0 8px;
}

.waitlist-form input:not([type=checkbox]),.share-fallback input {
  display:block;
  width:100%;
  min-width:0;
  min-height:48px;
  padding:12px 14px;
  background:var(--white);
  color:var(--ink);
  border:1px solid #75836e;
  border-radius:4px;
  font:inherit;
  font-size:16px;
}

.waitlist-form input::placeholder {
  font-size:13px;
  color:#72766a;
}

.waitlist-form input[aria-invalid=true] {
  border-color:#a03524;
}

.waitlist-form .waitlist-choice {
  display:flex;
  align-items:center;
  gap:10px;
  margin:12px 0 19px;
  min-height:36px;
  cursor:pointer;
}

.waitlist-choice input {
  width:18px;
  height:18px;
  accent-color:var(--green);
  flex-shrink:0;
  margin:0;
}

.waitlist-form button {
  width:100%;
  min-height:52px;
  border:0;
  border-radius:4px;
  background:var(--green);
  color:white;
  font:inherit;
  font-size:13px;
  font-weight:600;
  cursor:pointer;
  padding:14px 18px;
  transition:background .2s;
}

.waitlist-form button:hover:not(:disabled) {
  background:#245544;
}

.waitlist-form button:disabled,.waitlist-form input:disabled {
  opacity:.55;
  cursor:not-allowed;
}

.waitlist-notice {
  font-size:11px;
  line-height:1.85;
  margin-top:16px;
  color:var(--muted);
}

.waitlist-status {
  font-size:13px;
  line-height:1.7;
  margin-top:12px;
  color:var(--green);
}

.waitlist-status:empty {
  margin-top:0;
}

.field-error {
  display:block;
  color:#a03524;
  font-size:12px;
  line-height:1.5;
  margin-top:5px;
}

.field-error:empty {
  display:none;
}

.waitlist-success {
  border-top:1px solid var(--line);
  padding-top:21px;
  margin-top:19px;
}

.success-check {
  font-size:17px;
  display:grid;
  place-items:center;
  width:33px;
  height:33px;
  border-radius:50%;
  background:#e7eddc;
  margin-bottom:11px;
  color:var(--green);
}

.waitlist-success h4 {
  font-family:var(--serif);
  font-weight:400;
  font-size:23px;
  line-height:1.2;
  letter-spacing:-.025em;
}

.waitlist-success p {
  font-size:12px;
  line-height:1.8;
  color:var(--muted);
  margin:10px 0;
}

.waitlist-success .text-link {
  font-size:12px;
}

.is-success #waitlist-submit {
  opacity:1;
  background:#dce6d1;
  color:var(--green);
}

.spread {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:50px;
  align-items:center;
  border-top:1px solid #c9d1bc;
  margin-top:73px;
  padding-block:36px 42px;
}

.spread .eyebrow {
  font-size:8px;
  color:var(--gold);
  margin-bottom:11px;
}

.spread h3 {
  font-size:21px;
  font-weight:400;
  letter-spacing:-.025em;
}

.spread>div>p:last-child {
  font-size:12px;
  color:var(--muted);
  margin-top:8px;
}

.share-controls {
  justify-self:end;
  max-width:100%;
  min-width:0;
}

.share-buttons {
  display:flex;
  flex-wrap:wrap;
  gap:11px;
  align-items:center;
}

.share-buttons .button {
  min-height:45px;
  padding:11px 15px;
  font-size:11px;
  gap:17px;
}

.share-buttons .button span {
  font-size:17px;
}

.share-email {
  position:relative;
  font-size:11px;
  padding:15px 0;
  margin-left:7px;
  white-space:nowrap;
}

.share-email>span {
  margin-left:9px;
}

.share-status {
  font-size:11px;
  line-height:1.7;
  margin-top:8px;
  color:var(--green);
}

.share-status:empty {
  margin-top:0;
}

.share-fallback {
  margin-top:12px;
}

.share-fallback label {
  display:block;
  font-size:11px;
  line-height:1.6;
  margin-bottom:8px;
}

.share-fallback input {
  font-size:14px;
}

.site-footer {
  padding:30px 0 23px;
}

.footer-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  padding-bottom:26px;
  border-bottom:1px solid var(--line);
}

.footer-inner .wordmark {
  font-size:22px;
}

.footer-inner>p {
  font-family:var(--serif);
  font-style:italic;
  font-size:18px;
  letter-spacing:-.02em;
  color:var(--muted);
}

.back-top {
  font-size:11px;
  display:flex;
  align-items:center;
  gap:18px;
  min-height:44px;
}

.back-top>span {
  font-size:19px;
}

.footer-legal {
  display:flex;
  justify-content:space-between;
  font-size:9px;
  line-height:1.7;
  color:var(--muted);
  padding-top:18px;
}

@media(min-width:1500px) {
  .hero {
    min-height:820px;
  }
  .hero-art {
    height:600px;
  }
  .flow-surface {
    top:2px;
  }
}

@media(max-width:1150px) {
  .wrap {
    width:calc(100% - 72px);
  }
  .hero {
    grid-template-columns:1.1fr 1fr;
    min-height:720px;
  }
  .hero h1 {
    font-size:68px;
  }
  .hero-art {
    height:495px;
  }
  .flow-surface {
    top:50px;
  }
  .art-label-one {
    top:135px;
  }
  .art-label-two {
    bottom:125px;
  }
  .hero-actions {
    gap:20px;
  }
  .button {
    gap:24px;
    padding-inline:18px;
  }
  .hero-description {
    font-size:21px;
  }
  .hero-detail {
    max-width:365px;
  }
  .section-intro {
    column-gap:60px;
  }
  .experience-grid {
    gap:50px;
    grid-template-columns:1.15fr 1fr;
  }
  .experience-visual {
    padding-inline:23px;
    min-height:500px;
  }
  .checkout-card {
    padding-inline:18px;
  }
  .discovery-stamp {
    width:82px;
    height:82px;
    right:8px;
    top:49px;
    font-size:8px;
  }
  .discovery-stamp span {
    font-size:15px;
  }
  .together-inner {
    gap:55px;
  }
  .benefits {
    gap:35px;
  }
  .questions-section {
    gap:60px;
  }
  .questions-intro h2 {
    font-size:41px;
  }
  .closing-grid {
    gap:60px;
  }
  .closing h2 {
    font-size:47px;
  }
  .waitlist-form {
    padding-inline:27px;
  }
  .spread {
    gap:35px;
  }
  .share-buttons {
    gap:8px;
  }
  .share-buttons .button {
    padding-inline:12px;
    gap:12px;
  }
  .share-email {
    margin-left:0;
  }
}

@media(max-width:900px) {
  .wrap {
    width:calc(100% - 48px);
  }
  .header-inner {
    min-height:78px;
    gap:16px;
  }
  nav {
    gap:21px;
    font-size:12px;
  }
  .wordmark {
    font-size:21px;
  }
  .launch-note {
    padding:11px 13px;
    font-size:12px;
    gap:16px;
  }
  .hero {
    min-height:704px;
    padding-block:49px 111px;
  }
  .hero h1 {
    font-size:59px;
  }
  .hero .eyebrow {
    font-size:8px;
  }
  .hero-detail {
    font-size:14px;
    max-width:330px;
  }
  .hero-description {
    font-size:19px;
  }
  .hero-actions {
    gap:17px;
  }
  .hero-actions .text-link {
    font-size:11px;
    gap:9px;
  }
  .hero-actions .button {
    font-size:12px;
    gap:17px;
    padding-inline:15px;
  }
  .hero-art {
    height:439px;
  }
  .flow-surface {
    top:25px;
    width:100%;
    left:50%;
    right:auto;
  }
  .art-label {
    font-size:9px;
    padding:10px 11px;
  }
  .art-label-one {
    top:111px;
    left:-4px;
  }
  .art-label-two {
    bottom:120px;
    right:-8px;
  }
  .art-caption {
    bottom:16px;
  }
  .art-coordinate {
    font-size:7px;
    left:19px;
  }
  .orbit-outline {
    inset:12px 2px 57px;
  }
  .orbit-outline-two {
    inset:33px -4px 68px;
  }
  .hero-footnote {
    gap:22px;
    font-size:11px;
  }
  .hero-footnote>span+span:before {
    margin-right:22px;
  }
  .scroll-cue {
    gap:13px;
  }
  .idea-section {
    padding-block:75px;
  }
  .section-intro {
    column-gap:45px;
  }
  h2 {
    font-size:43px;
  }
  .section-description {
    font-size:14px;
  }
  .experience-grid {
    gap:33px;
  }
  .experience-visual {
    padding-inline:15px;
    min-height:486px;
  }
  .checkout-card {
    padding-inline:15px;
  }
  .partner-offer {
    padding:12px;
    gap:10px;
  }
  .partner-offer h4 {
    font-size:16px;
  }
  .example-offer-link {
    font-size:7px;
  }
  .checkout-card h3 {
    font-size:18px;
  }
  .discovery-stamp {
    width:67px;
    height:67px;
    font-size:7px;
    top:46px;
    right:7px;
  }
  .discovery-stamp span {
    font-size:12px;
  }
  .step {
    gap:9px;
    padding-block:20px;
  }
  .step h3 {
    font-size:17px;
  }
  .step p {
    font-size:14px;
    margin-top:9px;
  }
  .together-inner {
    gap:37px;
  }
  .together-section h2 {
    font-size:53px;
  }
  .together-copy p {
    font-size:13px;
  }
  .together-copy p:first-child {
    font-size:15px;
  }
  .benefits {
    gap:26px;
    margin-top:45px;
  }
  .benefit h3 {
    font-size:16px;
  }
  .benefit p {
    font-size:12px;
  }
  .questions-section {
    gap:42px;
    padding-block:77px;
  }
  .questions-intro h2 {
    font-size:37px;
  }
  summary {
    font-size:13px;
    padding-block:20px;
  }
  .closing-grid {
    gap:40px;
  }
  .closing {
    padding-top:65px;
  }
  .closing h2 {
    font-size:40px;
  }
  .closing-copy>p:not(.eyebrow) {
    font-size:13px;
  }
  .closing-copy .eyebrow {
    font-size:8px;
  }
  .waitlist-form {
    padding:24px 22px;
  }
  .waitlist-form h3 {
    font-size:22px;
  }
  .spread {
    grid-template-columns:1fr;
    gap:22px;
    margin-top:53px;
  }
  .share-controls {
    justify-self:start;
  }
  .spread h3 {
    font-size:22px;
  }
  .footer-inner>p {
    font-size:15px;
  }
}

@media(max-width:680px) {
  html {
    scroll-padding-top:89px;
  }
  .wrap {
    width:calc(100% - 40px);
  }
  .header-inner {
    min-height:72px;
    gap:12px;
  }
  nav {
    display:none;
  }
  .wordmark {
    font-size:21px;
  }
  .brand {
    gap:6px;
  }
  .logo-mark {
    width:29px;
    height:39px;
  }
  .logo-mark img {
    width:46px;
    height:50px;
    left:-4px;
    top:-5px;
  }
  .launch-note {
    gap:17px;
    font-size:11px;
    padding:11px 13px;
  }
  .hero {
    display:flex;
    flex-direction:column;
    align-items:stretch;
    padding-block:37px 74px;
    min-height:0;
  }
  .hero .eyebrow {
    font-size:8px;
    letter-spacing:.105em;
  }
  .hero h1 {
    font-size:clamp(40px,11.5vw,68px);
    line-height:1.04;
    margin:23px 0 23px;
  }
  .hero h1 em {
    display:inline;
    line-height:1.1;
    font-size:1.09em;
    margin-left:.055em;
  }
  .hero h1 {
    max-width:560px;
  }
  .hero-description {
    font-size:20px;
    line-height:1.5;
  }
  .desktop-break {
    display:none;
  }
  .hero-detail {
    font-size:14px;
    line-height:1.8;
    max-width:470px;
    margin-top:13px;
  }
  .hero-actions {
    gap:24px;
    margin-top:23px;
  }
  .hero-actions .button {
    font-size:12px;
    padding-inline:18px;
    gap:26px;
  }
  .hero-actions .text-link {
    font-size:12px;
    gap:12px;
  }
  .launch-context {
    font-size:10px;
    margin-top:12px;
  }
  .hero-art {
    height:auto;
    aspect-ratio:1.12;
    max-height:440px;
    max-width:520px;
    width:100%;
    margin:23px auto 3px;
  }
  .flow-surface {
    width:91%;
    left:4.5%;
    top:-4%;
    aspect-ratio:1;
    transform:none;
  }
  .orbit-outline {
    inset:7% 9% 7%;
  }
  .orbit-outline-two {
    inset:12% 0 13%;
    transform:rotate(23deg) scaleY(.65);
  }
  .art-coordinate {
    top:7%;
    left:8%;
    font-size:6px;
    letter-spacing:.13em;
  }
  .art-label {
    font-size:9px;
    padding:10px 12px;
  }
  .art-label-one {
    left:1%;
    top:35%;
    transform:rotate(-5deg);
  }
  .art-label-two {
    right:0;
    bottom:29%;
    transform:rotate(5deg);
  }
  .art-caption {
    bottom:-5px;
    font-size:9px;
  }
  .art-caption em {
    font-size:16px;
  }
  .hero-footnote {
    min-height:63px;
    gap:16px;
    font-size:10px;
    justify-content:space-between;
  }
  .hero-footnote>span+span:before {
    margin-right:15px;
    font-size:12px;
  }
  .hero-footnote em {
    font-size:14px;
  }
  .scroll-cue {
    display:none;
  }
  .idea-section {
    padding-block:58px 61px;
  }
  .section-intro {
    display:block;
  }
  .section-intro .eyebrow {
    font-size:8px;
    margin-bottom:20px;
  }
  h2 {
    font-size:40px;
    line-height:1.12;
  }
  .section-description {
    font-size:14px;
    line-height:1.85;
    margin-top:20px;
    max-width:500px;
  }
  .experience-grid {
    display:flex;
    flex-direction:column;
    gap:34px;
    margin-top:32px;
    align-items:stretch;
  }
  .experience-visual {
    min-height:0;
    padding:22px 24px 21px;
  }
  .checkout-card {
    max-width:370px;
    padding:20px 20px 17px;
    margin-top:24px;
  }
  .checkout-card h3 {
    font-size:21px;
  }
  .partner-offer {
    padding:14px;
    gap:15px;
  }
  .partner-offer h4 {
    font-size:20px;
  }
  .offer-brand {
    font-size:7px;
  }
  .partner-offer p {
    font-size:8px;
  }
  .example-offer-link {
    font-size:8px;
  }
  .discovery-stamp {
    width:76px;
    height:76px;
    top:42px;
    right:11px;
    font-size:7px;
  }
  .discovery-stamp span {
    font-size:14px;
  }
  .example-disclaimer {
    font-size:8px;
    margin-top:24px;
  }
  .steps {
    padding:0;
  }
  .step {
    grid-template-columns:34px 1fr;
    gap:14px;
    padding:24px 0;
  }
  .step h3 {
    font-size:19px;
  }
  .step p {
    font-size:14px;
    max-width:450px;
  }
  .steps>.text-link {
    margin-top:22px;
    font-size:13px;
  }
  .together-section {
    padding-block:43px 51px;
  }
  .together-heading .eyebrow {
    font-size:8px;
  }
  .together-note {
    display:none;
  }
  .together-inner {
    grid-template-columns:1fr;
    gap:25px;
    margin-top:26px;
  }
  .together-section h2 {
    font-size:clamp(47px,9.5vw,64px);
  }
  .together-copy p {
    font-size:14px;
    max-width:480px;
    line-height:1.9;
  }
  .together-copy p:first-child {
    font-size:17px;
  }
  .together-copy .button {
    margin-top:24px;
    gap:42px;
  }
  .benefits {
    grid-template-columns:1fr;
    gap:26px;
    margin-top:44px;
  }
  .benefit {
    position:relative;
    padding:24px 0 0 46px;
  }
  .benefit-symbol {
    position:absolute;
    top:23px;
    left:0;
    font-size:28px;
  }
  .benefit h3 {
    font-size:19px;
    margin-bottom:9px;
  }
  .benefit p {
    font-size:14px;
    max-width:430px;
  }
  .questions-section {
    grid-template-columns:1fr;
    gap:30px;
    padding-block:56px 60px;
  }
  .questions-intro h2 {
    font-size:40px;
  }
  .questions-intro .eyebrow {
    font-size:8px;
    margin-bottom:19px;
  }
  .questions-intro>p:last-child {
    margin-top:18px;
  }
  .questions-list summary {
    font-size:14px;
    padding-block:22px;
  }
  .questions-list details p {
    font-size:14px;
    padding-right:16px;
  }
  .closing {
    padding-top:46px;
  }
  .closing-grid {
    grid-template-columns:1fr;
    gap:31px;
  }
  .closing-copy {
    padding-top:0;
  }
  .closing-copy .eyebrow {
    margin-bottom:22px;
  }
  .closing h2 {
    font-size:44px;
  }
  .closing-copy>p:not(.eyebrow) {
    font-size:14px;
    margin-top:20px;
    max-width:430px;
  }
  .signup-expectations {
    gap:11px;
    margin-top:21px;
    font-size:11px;
  }
  .closing-signature {
    display:none;
  }
  .waitlist-form {
    padding:25px 24px;
  }
  .waitlist-form h3 {
    font-size:25px;
  }
  .form-description {
    font-size:12px;
    margin-bottom:23px;
  }
  .waitlist-form label {
    font-size:13px;
  }
  .waitlist-form .waitlist-choice {
    font-size:12px;
  }
  .waitlist-notice {
    font-size:11px;
    line-height:1.8;
  }
  .waitlist-form input:not([type=checkbox]) {
    min-height:51px;
  }
  .spread {
    margin-top:38px;
    padding-block:31px 34px;
    gap:22px;
  }
  .spread h3 {
    font-size:22px;
    line-height:1.4;
    max-width:290px;
  }
  .spread .eyebrow {
    font-size:8px;
  }
  .spread>div>p:last-child {
    font-size:13px;
  }
  .share-buttons {
    gap:10px;
  }
  .share-buttons .button {
    font-size:11px;
    padding-inline:12px;
    gap:10px;
  }
  .share-email {
    font-size:11px;
    margin-left:3px;
  }
  .site-footer {
    padding-block:24px 21px;
  }
  .footer-inner {
    flex-wrap:wrap;
    gap:12px;
    padding-bottom:23px;
  }
  .footer-inner .brand {
    order:0;
  }
  .footer-inner>p {
    order:2;
    width:100%;
    font-size:17px;
    margin-top:4px;
  }
  .back-top {
    order:1;
    margin-left:auto;
    font-size:10px;
  }
  .footer-legal {
    font-size:8px;
    gap:20px;
    padding-top:17px;
  }
}

@media(max-width:370px) {
  .wrap {
    width:calc(100% - 32px);
  }
  .hero h1 {
    font-size:40px;
  }
  .hero .eyebrow {
    font-size:7px;
  }
  .hero-actions {
    gap:16px;
  }
  .hero-actions .button {
    gap:17px;
    padding-inline:15px;
  }
  .hero-actions .text-link {
    font-size:11px;
    gap:9px;
  }
  .hero-footnote {
    font-size:9px;
    gap:8px;
  }
  .hero-footnote>span+span:before {
    margin-right:9px;
  }
  .hero-footnote em {
    font-size:13px;
  }
  .art-label {
    font-size:8px;
    padding:9px;
  }
  .experience-visual {
    padding-inline:14px;
  }
  .checkout-card {
    padding-inline:14px;
  }
  .partner-offer {
    padding:10px;
    gap:10px;
  }
  .partner-offer h4 {
    font-size:18px;
  }
  .discovery-stamp {
    width:65px;
    height:65px;
    font-size:6px;
    right:5px;
  }
  .discovery-stamp span {
    font-size:12px;
  }
  .closing h2 {
    font-size:39px;
  }
  .waitlist-form {
    padding-inline:20px;
  }
  .waitlist-form h3 {
    font-size:23px;
  }
  .share-buttons {
    gap:8px;
  }
  .share-email {
    margin-left:0;
  }
  .launch-note {
    font-size:10px;
    padding-inline:11px;
    gap:14px;
  }
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,*:before,*:after {
    animation:none!important;
    transition:none!important;
  }
  .button:hover {
    transform:none;
  }
}
