


:root,
[data-theme="light"] {
  --display:"New York","Iowan Old Style",Georgia,"Times New Roman",serif;
  --bg:#faf9f5; --bg-2:#f1efe7; --surface:#ffffff;
  --text:#141413; --text-soft:#6b6358;
  --accent:#b07a3c; --accent-2:#c79256; --accent-ink:#ffffff;
  --accent-text:#8a5a28;                 
  --line:#e6e0d4;
  --verified:#5a7a3c; --caution:#b07d22; --caution-text:#8a6014;
  --halo: radial-gradient(58% 55% at 80% -10%,
            color-mix(in oklab, var(--accent) 16%, transparent), transparent 70%);
}


[data-theme="dark"] {
  --display:"New York","Iowan Old Style",Georgia,"Times New Roman",serif;
  --bg:#1a1614; --bg-2:#221d19; --surface:#2a2420;
  --text:#efeeec; --text-soft:#a89e90;
  --accent:#c99655; --accent-2:#d6a868; --accent-ink:#1a1410;
  --accent-text:#d6a868;                 
  --line:#332b24;
  --verified:#9bbd7a; --caution:#d9b36a; --caution-text:#e0bd79;
  --chip-bg:#2a2420;
  --halo: radial-gradient(58% 55% at 80% -10%,
            color-mix(in oklab, var(--accent) 22%, transparent), transparent 72%);
}


@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
    --display:"New York","Iowan Old Style",Georgia,"Times New Roman",serif;
    --bg:#1a1614; --bg-2:#221d19; --surface:#2a2420;
    --text:#efeeec; --text-soft:#a89e90;
    --accent:#c99655; --accent-2:#d6a868; --accent-ink:#1a1410;
    --accent-text:#d6a868;
    --line:#332b24;
    --verified:#9bbd7a; --caution:#d9b36a; --caution-text:#e0bd79;
    --chip-bg:#2a2420;
    --halo: radial-gradient(58% 55% at 80% -10%,
              color-mix(in oklab, var(--accent) 22%, transparent), transparent 72%);
  }
}


.fd-page{ max-width:46rem; margin:0 auto; padding:0 clamp(1.2rem,5vw,2rem); }
.fd-page .section .wrap{ padding-inline:0; }


.fd-eyebrow{ display:inline-flex; align-items:center; gap:.7rem; font-size:11px; font-weight:750;
  letter-spacing:.09em; text-transform:uppercase; color:var(--accent-text); }
.fd-eyebrow::before{ content:""; width:1.6rem; height:2px; background:var(--accent); border-radius:2px; }


.fd-hero{ position:relative; display:grid; justify-items:center; text-align:center; gap:1.4rem;
  padding:clamp(3.4rem,8vw,6rem) 0 clamp(2.4rem,5vw,3.6rem); }
.fd-hero::before{ content:""; position:absolute; inset:-2rem 0 0; background:var(--halo);
  pointer-events:none; z-index:-1; }
.fd-hero h1{ font-family:var(--display); font-size:clamp(2.5rem,6vw,4.2rem); font-weight:500;
  line-height:1.05; letter-spacing:-.015em; margin:0; max-width:14ch; text-wrap:balance; }
.fd-lede{ font-family:var(--serif); font-size:clamp(1.1rem,1.6vw,1.3rem); line-height:1.6;
  color:var(--text-soft); max-width:30rem; margin:0; }
.fd-hero-art{ width:min(34rem,100%); height:auto; border-radius:14px; }
.fd-hero-cta{ margin-top:.4rem; }
.fd-hero-cta .launch-live, .fd-hero-cta .launch-prelaunch{ display:flex; gap:.9rem; flex-wrap:wrap;
  align-items:center; justify-content:center; }

[data-launch="prelaunch"] .launch-live{ display:none; }
[data-launch="live"] .launch-prelaunch{ display:none; }

[data-store-badge="prelaunch"], [data-store-badge="absent"]{ display:none !important; }
.fd-store{ display:inline-flex; align-items:center; gap:.7rem; text-align:left; padding:.6rem 1.15rem;
  border-radius:12px; background:var(--text); color:var(--bg); text-decoration:none;
  transition:transform .15s ease; }
.fd-store:hover{ color:var(--bg); transform:translateY(-1px); }
.fd-store small{ display:block; font-size:10px; font-weight:500; letter-spacing:.03em; line-height:1.15; }
.fd-store b{ display:block; font-size:16px; font-weight:650; line-height:1.15; }
.fd-coming{ font-family:var(--serif); font-style:italic; font-size:1.12rem; color:var(--text); }
.fd-ghost{ display:inline-flex; align-items:center; padding:.6rem 1.25rem; border-radius:var(--radius-pill);
  border:1px solid var(--line); color:var(--text); font-size:.95rem; font-weight:600; text-decoration:none; }
.fd-ghost:hover{ color:var(--accent-text); }
.fd-hero-note{ font-size:.92rem; color:var(--text-soft); margin:0; }
.fd-hero-note b{ color:var(--text); }
.fd-hero .app-langs{ justify-content:center; margin-top:.2rem; }


.fd-still{ display:grid; justify-items:center; gap:1.1rem; margin:0; padding:0 0 clamp(2.4rem,5vw,3.6rem); }
.fd-still .device.dv-iphone{ --dv-scale:.7; --rot:0deg; }
.fd-still figcaption{ font-family:var(--serif); font-style:italic; font-size:.95rem;
  color:var(--text-soft); text-align:center; max-width:32rem; }


.fd-rows{ border-top:1px solid var(--line); }
.fd-row{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); gap:clamp(1.2rem,4vw,2.6rem);
  align-items:start; padding:clamp(1.8rem,4vw,2.8rem) 0; border-bottom:1px solid var(--line); }
.fd-row h2{ font-family:var(--display); font-size:clamp(1.5rem,2.6vw,1.9rem); font-weight:500;
  line-height:1.15; letter-spacing:-.01em; margin:0; text-wrap:balance; }
.fd-row p{ margin:0; color:var(--text-soft); line-height:1.65; font-size:1.02rem; }


.fd-price{ display:grid; justify-items:center; text-align:center; gap:.5rem;
  padding:clamp(3rem,7vw,4.8rem) 0; border-bottom:1px solid var(--line); }
.fd-amount{ font-family:var(--display); font-size:clamp(3.2rem,8vw,4.6rem); font-weight:500;
  line-height:1; letter-spacing:-.02em; margin:.4rem 0 0; }
.fd-cadence{ color:var(--text-soft); margin:0; }
.fd-price-copy{ color:var(--text-soft); max-width:30rem; margin:.6rem 0 1rem; line-height:1.6; }
.fd-cta{ display:inline-flex; padding:.8rem 1.7rem; border-radius:var(--radius-pill); background:var(--accent);
  color:var(--accent-ink); font-weight:650; text-decoration:none; transition:transform .15s ease; }
.fd-cta:hover{ color:var(--accent-ink); transform:translateY(-1px); }


.fd-faq{ padding:clamp(2.4rem,5vw,3.6rem) 0 clamp(2rem,4vw,3rem); }
.fd-faq h2{ font-family:var(--display); font-size:clamp(1.6rem,2.8vw,2.1rem); font-weight:500;
  margin:0 0 .6rem; }
.fd-faq details{ border-bottom:1px solid var(--line); padding:1.1rem 0; }
.fd-faq summary{ list-style:none; cursor:pointer; display:flex; justify-content:space-between;
  align-items:baseline; gap:1rem; font-family:var(--display); font-size:1.18rem; color:var(--text); }
.fd-faq summary::-webkit-details-marker{ display:none; }
.fd-faq summary .pl{ color:var(--accent-text); font-weight:700; transition:transform .2s ease; flex:none; }
.fd-faq details[open] summary .pl{ transform:rotate(45deg); }
.fd-faq details p{ margin:.8rem 0 0; color:var(--text-soft); line-height:1.65; font-size:.98rem; }
.fd-more{ margin:1.4rem 0 0; }
.fd-more a{ color:var(--accent-text); font-weight:600; text-decoration:none; }
.fd-more a:hover{ color:var(--accent); }


@media (max-width:640px){
  .fd-row{ grid-template-columns:minmax(0,1fr); gap:.6rem; }
}
@media (max-width:428px){
  .fd-still .device.dv-iphone{ --dv-scale:.62; }
}
@media (max-width:380px){
  .fd-still .device.dv-iphone{ --dv-scale:.53; }
  .fd-hero h1{ font-size:2.2rem; }
}
@media (prefers-reduced-motion: reduce){
  .fd-store, .fd-cta{ transition:none; }
}


:root{ --lamp:#e9a44c; --crease:#3a352d; }
.app-langs{ margin-top:1.4rem; align-items:center; }
.app-langs-lead{ font:italic 500 1.05rem/1.2 var(--display); color:var(--accent-text); }


.fd-hero::before{ inset:-8rem auto 0 50%; width:100vw; transform:translateX(-50%); background:radial-gradient(34rem 26rem at 78% 8%, color-mix(in srgb,var(--lamp) 26%,transparent), transparent 70%), radial-gradient(30rem 22rem at 6% 30%, color-mix(in srgb,var(--lamp) 10%,transparent), transparent 70%); }
body{ overflow-x:clip; }
.fd-hero h1{ font-size:clamp(2.7rem,6.6vw,4.9rem); line-height:1.02; letter-spacing:-.03em; font-weight:400; }
.fd-fold{ display:flex; overflow:clip; width:min(66rem,calc(100vw - 2*clamp(1.2rem,5vw,2rem))); aspect-ratio:16/8; justify-self:start; position:relative; left:50%; transform:translateX(-50%); perspective:1800px; margin-top:.4rem; filter:drop-shadow(0 30px 30px rgba(60,40,15,.28)); }
.fd-fold i{ position:relative; flex:1 1 0; display:block; background-repeat:no-repeat; border-radius:2px;
  transform:rotateY(0) scaleX(1); transform-origin:calc(50% + var(--k)*50%) 50%; transition:transform 1.5s cubic-bezier(.3,.8,.2,1) calc(var(--i)*70ms), margin 1.5s cubic-bezier(.3,.8,.2,1); }
.fd-fold i::after{ content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(90deg, rgba(50,30,10,calc(.28 - (var(--k) + 1)*.06)) 0, transparent 14%, transparent 86%, rgba(255,250,235,calc(.06 + (var(--k) + 1)*.05)) 100%); }
.fd-fold i:nth-child(odd)::after{ background:linear-gradient(270deg, rgba(50,30,10,.3) 0, transparent 14%, transparent 86%, rgba(255,250,235,.1) 100%); }
.fd-fold.is-folded i{ transform:rotateY(calc(var(--k)*58deg)) scaleX(.8); margin-inline:-.9%; }
.fd-wave{ display:flex; align-items:center; gap:4px; height:3.2rem; justify-self:center; }
.fd-wave i{ display:block; width:4px; height:calc(var(--h)*100%); min-height:4px; border-radius:3px; background:linear-gradient(180deg,var(--lamp),color-mix(in srgb,var(--lamp) 55%,#8a5a28)); opacity:.9; transform-origin:center; }
@media (prefers-reduced-motion:no-preference){
  .fd-wave i{ animation:fd-breathe 2.6s var(--d,0s) ease-in-out infinite; }
  @keyframes fd-breathe{ 50%{ transform:scaleY(.45); opacity:.6; } }
}
.fd-hero-note{ font-size:.92rem; }
.fd-store{ border-radius:999px; }


.fd-still .device{ --rot:-2deg; filter:drop-shadow(0 30px 34px rgba(60,40,15,.32)); }
.fd-still{ position:relative; }
.fd-still::before{ content:""; position:absolute; inset:6% 14%; z-index:-1; border-radius:6px; background:linear-gradient(90deg,transparent 49.8%,#00000012 50%,transparent 50.4%), var(--surface); box-shadow:0 20px 40px -24px #0006; transform:rotate(1.4deg); }


.fd-rows{ counter-reset:fd; }
.fd-row{ counter-increment:fd; position:relative; padding:1.6rem 1.6rem 1.5rem 4.4rem; margin-bottom:1rem; border-radius:6px; background:var(--surface); border:1px solid var(--line);
  box-shadow:0 14px 26px -22px #0007; }
.fd-row::before{ content:counter(fd); position:absolute; left:1.4rem; top:0; width:1.7rem; padding:.7rem 0 1.1rem; text-align:center; font:600 .95rem/1 var(--display); color:#2a1806;
  background:linear-gradient(180deg,#e8a64d,#c98530); clip-path:polygon(0 0,100% 0,100% 100%,50% calc(100% - .5rem),0 100%); }
.fd-row h2{ font-weight:400; }
.fd-price{ border-radius:8px; }
@media (max-width:860px){
  .fd-row{ padding-left:3.4rem; }
}
.fd-hero{ grid-template-columns:minmax(0,1fr); }
