/* A deeper shade of the clinic red, with warm ivory text. */
:root {
  --brand: #d71920;
  --paper: #681015;
  --ink: #f7ece4;
  --muted: #ddc1bb;
  --line: #a65d60;
  --wine: #e6c7be;
}
.wordmark-dot { background: #ee8588; }
.reply-section { background: #590e13; }
.section-intro > p:last-child,
.message-meta,
.privacy-note,
.preview-caption,
.card-hint,
.card-result > p,
.dialog-description { color: var(--muted); }
.reply-form input { border-color: #b67476; }
textarea { background: #4d0d11; color: var(--ink); border-color: #ad696b; }
textarea::placeholder, input::placeholder { color: #d5b0aa; }
.examples button, .button, .button.subtle { border-color: #b67476; }
.privacy-note svg { stroke: var(--muted); }
.button:hover { background: #7d1b22; }
.button.primary { background: #8e252c; border-color: #c67e80; color: var(--ink); }
.button.primary:hover { background: #a6323a; }
.form-error { color: #ffd6b9; }
.card-stage { background: #4d0d11; }
.card-result { border-color: var(--line); }
.phone-preview { color: #393534; }
.toast { background: #440b0f; color: var(--ink); border: 1px solid #b67476; }

/* Small seasonal details leave the letter itself in the foreground. */
:root { --season-gold: #d7b889; }
.hero-copy > .winter-sprig { position: absolute; width: 105px; height: 62px; top: -72px; left: 28px; opacity: .85; }
.season-label { color: var(--season-gold); }
.chapter .chapter-kicker { margin: 0 0 21px; color: var(--season-gold); font-size: 10px; letter-spacing: .14em; line-height: 2; }
.closing-letter > .closing-sprig { width: 120px; height: auto; margin: 0 auto 40px; opacity: .8; }
.winter-star { display: block; color: var(--season-gold); font-size: 21px; margin-bottom: 30px; }
.about-card { width: min(1050px, 88%); margin: auto; padding: 135px 0 80px; display: grid; grid-template-columns: 51% 39%; gap: 55px 10%; align-items: center; }
.about-card h2 { font-size: 30px; letter-spacing: .1em; line-height: 2; margin: 27px 0 31px; }
.about-card-copy > p:not(.eyebrow) { font-size: 13px; line-height: 2.5; letter-spacing: .035em; margin-top: 24px; }
.about-card-art img { width: 100%; height: auto; aspect-ratio: .88; object-fit: cover; object-position: 37% center; border-radius: 48% 48% 0 0; }
.about-card-art figcaption { color: var(--muted); text-align: center; font-size: 10px; letter-spacing: .07em; line-height: 2; margin-top: 23px; }
.card-journey { grid-column: 1 / -1; list-style: none; margin: 20px 0 0; padding: 36px 0 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 38px; border-top: 1px solid #a65d6066; }
.card-journey > li > span { color: var(--season-gold); font-size: 11px; font-family: var(--serif); }
.card-journey h3 { font-size: 20px; letter-spacing: .08em; line-height: 2; margin: 15px 0 14px; }
.card-journey p { font-size: 12px; letter-spacing: .02em; line-height: 2.3; color: var(--muted); }
.card-purchase { grid-column: 1 / -1; text-align: center; padding-top: 15px; }
.card-search { font-size: 11px; color: var(--muted); letter-spacing: .1em; margin-bottom: 24px; }
.card-purchase .button { min-width: 320px; gap: 35px; border-color: #c6a67a; }
.purchase-preview-note { margin-top: 14px; font-size: 10px; color: var(--muted); }
footer nav { display: flex; gap: 27px; align-items: center; font-size: 10px; letter-spacing: .04em; color: var(--muted); }
footer nav a { display: inline-block; padding: 10px 0; }
footer nav a span { margin-left: 8px; }
.purchase-photo { width: 100%; height: auto; max-height: 255px; object-fit: cover; object-position: center 70%; margin: 25px 0; }
.purchase-description { font-family: var(--serif); font-size: 15px; letter-spacing: .05em; line-height: 2.2; }
@container gift-page (max-width: 1000px) {
  .hero-copy > .winter-sprig { left: 0; }
  .about-card { grid-template-columns: 52% 40%; gap: 45px 8%; }
  .about-card h2 { font-size: 27px; }
  .about-card-copy > p:not(.eyebrow) { font-size: 12px; }
}
@container gift-page (max-width: 700px) {
  .hero { margin-top: 80px; }
  .hero-copy > .winter-sprig { width: 80px; height: 47px; top: -57px; left: 38px; }
  .hero-copy .season-label { font-size: 9px; letter-spacing: .09em; }
  .chapter .chapter-kicker { font-size: 9px; margin-bottom: 19px; }
  .closing-letter > .closing-sprig { width: 95px; margin-bottom: 30px; }
  .about-card { width: auto; margin: 0 32px; padding: 80px 0 25px; grid-template-columns: 1fr; gap: 40px; }
  .about-card h2 { font-size: 25px; margin: 24px 0; }
  .about-card-copy > p:not(.eyebrow) { font-size: 12px; letter-spacing: .01em; }
  .about-card-art { width: 80%; margin: auto; }
  .about-card-art img { aspect-ratio: .95; }
  .about-card-art figcaption { font-size: 9px; }
  .card-journey { grid-template-columns: 1fr; gap: 29px; margin-top: 12px; padding-top: 30px; }
  .card-journey li { display: grid; grid-template-columns: 25px 1fr; column-gap: 12px; }
  .card-journey > li > span { grid-row: 1 / 3; padding-top: 10px; }
  .card-journey h3 { margin: 0 0 8px; font-size: 19px; }
  .card-journey p { grid-column: 2; font-size: 11px; }
  .card-purchase { padding-top: 0; }
  .card-search { font-size: 10px; letter-spacing: .04em; }
  .card-purchase .button { width: 100%; min-width: 0; gap: 20px; padding-left: 10px; padding-right: 10px; font-size: 11px; }
  footer nav { width: 100%; gap: 22px; font-size: 9px; flex-wrap: wrap; }
  .purchase-description { font-size: 13px; }
}
@container gift-page (max-width: 360px) {
  .hero-copy > .winter-sprig { left: 30px; }
  .about-card { margin-left: 26px; margin-right: 26px; }
  .about-card-copy > p:not(.eyebrow) { font-size: 11px; }
}
