/* ============================================================
   We Do Recover landing — base layer
   Design tokens, font faces, reset, typography, motion utilities.
   A warm cream / brand-gold system, rebadged from the source design.
   ============================================================ */

@font-face {
  font-family: Bricolage Grotesque Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url("../fonts/bricolage-grotesque-vietnamese-opsz-normal.D9N6E8K1.woff2") format("woff2-variations");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309,
    U+323, U+329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: Bricolage Grotesque Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url("../fonts/bricolage-grotesque-latin-ext-opsz-normal.IcJDqblK.woff2") format("woff2-variations");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, 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: Bricolage Grotesque Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url("../fonts/bricolage-grotesque-latin-opsz-normal.Cre6nC2_.woff2") format("woff2-variations");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC,
    U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: Instrument Sans Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 400 700;
  src: url("../fonts/instrument-sans-latin-ext-wght-normal.B5bTHO_g.woff2") format("woff2-variations");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, 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: Instrument Sans Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 400 700;
  src: url("../fonts/instrument-sans-latin-wght-normal.BbzFLZTg.woff2") format("woff2-variations");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC,
    U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: Instrument Serif;
  font-style: italic;
  font-display: swap;
  font-weight: 400;
  src:
    url("../fonts/instrument-serif-latin-ext-400-italic.C9HzH3YL.woff2") format("woff2"),
    url("../fonts/instrument-serif-latin-ext-400-italic.D7-lnxEk.woff") format("woff");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, 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: Instrument Serif;
  font-style: italic;
  font-display: swap;
  font-weight: 400;
  src:
    url("../fonts/instrument-serif-latin-400-italic.DKMiL14s.woff2") format("woff2"),
    url("../fonts/instrument-serif-latin-400-italic.u__WvvIK.woff") format("woff");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC,
    U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
html,
body {
  background: #fbf8f0;
  margin: 0;
}
.site {
  --bg: #fbf8f0;
  --surface: #fff;
  --surface-2: #f0ebdc;
  --line: #e3ddc9;
  --ink: #1b1a12;
  --ink-2: #55513c;
  --ink-3: #8a836b;
  --on-ink: #fff;
  --accent: #d99b1f;
  --accent-ink: #8a5f0d;
  --accent-soft: #fbeeca;
  --shadow: 0 12px 32px #1b1a121a;
  --shadow-lg: 0 50px 90px -30px #1b1a126b;
  --band: #fbf8f0;
  --mark-tile: #fffdf6;
  --mark-ground: #f3e9cf;
  --mark-line: #1b1a12;
  --mark-edge: #1b1a121a;
  /* Decorative palette for the confetti and the pricing marquee. These are
     artwork colours, not semantic ones, but they still need to rebrand —
     keeping them as tokens is what makes a palette swap a one-place edit. */
  --cd-1: #b5820f;
  --cd-2: #8a5f0d;
  --cd-3: #5c7a3e;
  --cd-4: #f0c96a;
  --cd-4-ink: #6b4a00;
  --cd-5: #2f6b58;
  --cd-6: #b0522f;
  --cd-7: #7d7454;
  isolation: isolate;
  color: var(--ink);
  background: var(--band);
  -webkit-font-smoothing: antialiased;
  font-family:
    Instrument Sans Variable,
    system-ui,
    sans-serif;
  font-size: 17px;
  line-height: 1.55;
  position: relative;
  container: site/inline-size;
}
.site:before {
  content: "";
  z-index: -1;
  background: var(--band);
  pointer-events: none;
  position: absolute;
  inset: 0;
}
.site main {
  background: var(--band);
}
.site * {
  box-sizing: border-box;
}
.site a {
  color: inherit;
  text-underline-offset: 3px;
  text-decoration-thickness: 1.5px;
}
.site a:focus-visible,
.site summary:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
  border-radius: 10px;
}
.disp {
  letter-spacing: -0.03em;
  font-family:
    Bricolage Grotesque Variable,
    Instrument Sans Variable,
    sans-serif;
}
.ic {
  fill: currentColor;
  flex-shrink: 0;
  overflow: visible;
}
.sr {
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  position: absolute;
  overflow: hidden;
}
.site .s-skip {
  z-index: 60;
  background: var(--ink);
  color: var(--on-ink);
  border-radius: 12px;
  padding: 12px 18px;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  position: absolute;
  top: -80px;
  left: 16px;
}
.site .s-skip:focus {
  top: 16px;
}
.s-wrap {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding-left: 40px;
  padding-right: 40px;
}
.s-eyebrow {
  background: var(--accent-soft);
  color: var(--accent-ink);
  border-radius: 999px;
  align-items: center;
  gap: 8px;
  padding: 7px 14px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  display: inline-flex;
}
.press {
  transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.press:active {
  transform: scale(0.96);
}
.rise {
  animation: 0.7s cubic-bezier(0.2, 0.8, 0.2, 1) backwards rise;
}
.pop {
  animation: 0.55s cubic-bezier(0.34, 1.56, 0.64, 1) backwards pop;
}
.floaty {
  animation: 6s ease-in-out infinite floaty;
}
@keyframes rise {
  0% {
    opacity: 0;
    transform: translateY(18px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes pop {
  0% {
    opacity: 0;
    transform: scale(0.4);
  }
  60% {
    opacity: 1;
    transform: scale(1.1);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes floaty {
  0%,
  to {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}
@media (prefers-reduced-motion: reduce) {
  .site * {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}
@container site (width<=760px) {
  .s-wrap {
    padding-left: 20px;
    padding-right: 20px;
  }
}
