/* core/countdown/003_gilded_numbers — comments: docs/inv06_css_notes.md (moved out for the before-tap budget, A1489) */
.cd003 {
  --cd003-spray: min(56vw, 220px);
  --cd003-fs: min(calc((100vw - 84px) / (var(--cd003-digits, 2) * .52 + .25)), 21svh, 10rem);
  position: relative; isolation: isolate; overflow-x: clip; padding: 30px 14px 88px; text-align: center; touch-action: pan-y;
  background: var(--k-light-ground); color: var(--k-ink);
}
.cd003__thread { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; max-width: none; overflow: visible; pointer-events: none; }
.cd003__thread-x { position: absolute; top: 0; left: var(--k-thread-x); width: 0; height: 0; visibility: hidden; }
.cd003__card { position: relative; max-width: 420px; margin: 0 auto; padding: 46px 26px 74px; }
.cd003__frame { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; max-width: none; overflow: visible; pointer-events: none; filter: drop-shadow(4px 7px 9px rgb(47 42 36 / .12)); }
.cd003__paper { fill: var(--k-card); }
.cd003__rim { fill: none; stroke: var(--k-foil); stroke-width: 1.3px; vector-effect: non-scaling-stroke; }
.cd003__rim--in { stroke-width: 1px; opacity: .55; }
.cd003__inner { position: relative; z-index: 2; }
.cd003__kicker { color: var(--k-ink-soft); }
.cd003__hair { display: block; width: 150px; height: 10px; margin: 14px auto 0; overflow: visible; }
.cd003__hair path { fill: none; stroke: var(--k-foil); stroke-width: 1.2px; vector-effect: non-scaling-stroke; stroke-linecap: round; }
.cd003__hair--bot { margin-top: 22px; }
.cd003__fig { margin-top: 10px; }
.cd003__num {
  display: block; margin: 0 auto; font: 300 var(--cd003-fs)/.92 var(--k-font-display); letter-spacing: 0;
  font-variant-numeric: lining-nums; font-kerning: normal; white-space: nowrap;
}
.cd003__togo { margin-top: 2px; font: 400 clamp(2rem, 8vw, 2.6rem)/1.1 var(--k-font-script); color: var(--c-primary); }
.cd003__count { margin-top: 14px; }
.cd003 .kjy-countdown__label { font: 600 .7rem/1.5 var(--k-font-body); letter-spacing: .18em; text-transform: uppercase; color: var(--k-ink-soft); }
.cd003 .kjy-countdown__units { display: flex; justify-content: center; gap: 30px; margin-top: 10px; }
.cd003 .kjy-unit:first-child { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.cd003 .kjy-unit { position: relative; display: grid; row-gap: 5px; min-width: 44px; }
.cd003 .kjy-unit + .kjy-unit + .kjy-unit::before { content: "\00B7"; position: absolute; left: -19px; top: 0; width: 8px; font: 400 1.5rem/1 var(--k-font-display); color: var(--k-foil); }
.cd003 .kjy-unit__n { font: 400 1.5rem/1 var(--k-font-display); color: var(--k-ink); font-variant-numeric: lining-nums tabular-nums; }
.cd003 .kjy-unit__l { font: 600 .58rem/1 var(--k-font-body); letter-spacing: .2em; text-transform: uppercase; color: var(--k-ink-soft); }
.cd003 .kjy-countdown__done { margin-top: 8px; font: 400 clamp(2.2rem, 9vw, 3.2rem)/1.2 var(--k-font-script); color: var(--c-primary); }
.cd003__spray { z-index: 4; width: var(--cd003-spray); left: -14px; bottom: -58px; }
.cd003__spray .k-spray__base { -webkit-touch-callout: none; -webkit-user-select: none; user-select: none; }
.cd003.is-near .cd003__spray--bl .k-spray__tint--petal, .js.motion-reduce .cd003 .cd003__spray--bl .k-spray__tint--petal { -webkit-mask-image: url("assets/sprig-r2-day-petal.webp"), url("assets/sprig-r2-day.webp"); -webkit-mask-composite: source-in; mask-image: url("assets/sprig-r2-day-petal.webp"), url("assets/sprig-r2-day.webp"); mask-composite: intersect; }
.cd003.is-near .cd003__spray--bl :is(.k-spray__tint--boost, .k-spray__tint--deep), .js.motion-reduce .cd003 .cd003__spray--bl :is(.k-spray__tint--boost, .k-spray__tint--deep) { -webkit-mask-image: url("assets/sprig-r2-day-petal.webp"), url("assets/sprig-r2-day.webp"); -webkit-mask-composite: source-in; mask-image: url("assets/sprig-r2-day-petal.webp"), url("assets/sprig-r2-day.webp"); mask-composite: intersect; }
.cd003.is-near .cd003__spray--bl .k-spray__tint--leaf, .js.motion-reduce .cd003 .cd003__spray--bl .k-spray__tint--leaf { -webkit-mask-image: url("assets/sprig-r2-day-leaf.webp"), url("assets/sprig-r2-day.webp"); -webkit-mask-composite: source-in; mask-image: url("assets/sprig-r2-day-leaf.webp"), url("assets/sprig-r2-day.webp"); mask-composite: intersect; }
.cd003.is-near .cd003__spray--bl .k-spray__tint--gold, .js.motion-reduce .cd003 .cd003__spray--bl .k-spray__tint--gold { -webkit-mask-image: url("assets/sprig-r2-day-gold.webp"), url("assets/sprig-r2-day.webp"); -webkit-mask-composite: source-in; mask-image: url("assets/sprig-r2-day-gold.webp"), url("assets/sprig-r2-day.webp"); mask-composite: intersect; }
.cd003__stage { position: absolute; z-index: 3; inset: 0; pointer-events: none; }
@media (min-width: 768px) {
  .cd003 {
    --cd003-spray: 300px; --cd003-fs: min(calc(440px / (var(--cd003-digits, 2) * .52 + .25)), 24svh, 12rem);
    padding: 56px var(--k-gutter) 110px;
  }
  .cd003__card { max-width: 520px; padding: 52px 40px 84px; }
  .cd003__hair { width: 190px; }
  .cd003__spray { left: -150px; bottom: -64px; }
  .cd003 .kjy-countdown__units { gap: 40px; }
  .cd003 .kjy-unit + .kjy-unit + .kjy-unit::before { left: -24px; }
  .cd003 .kjy-unit__n { font-size: 1.8rem; }
}
@media (min-width: 1200px) {
  .cd003 { --cd003-spray: 512px; --cd003-fs: min(calc(600px / (var(--cd003-digits, 2) * .52 + .25)), 30svh, 15rem); padding: 72px var(--k-gutter) 120px; }
  .cd003__card { max-width: 680px; padding: 64px 56px 104px; }
  .cd003__spray { left: -300px; bottom: -100px; }
  .cd003__kicker { font-size: .9rem; }
  .cd003__hair { width: 240px; }
  .cd003__togo { font-size: 3.3rem; }
  .cd003 .kjy-countdown__label { font-size: .82rem; }
  .cd003 .kjy-countdown__units { gap: 52px; margin-top: 14px; }
  .cd003 .kjy-unit + .kjy-unit + .kjy-unit::before { left: -30px; font-size: 1.9rem; }
  .cd003 .kjy-unit__n { font-size: 2.3rem; }
  .cd003 .kjy-unit__l { font-size: .68rem; }
}
@media (max-width: 374px) {
  .cd003 { --cd003-spray: 190px; padding: 26px 10px 72px; }
  .cd003__card { padding: 30px 16px 62px; }
  .cd003 .kjy-countdown__units { gap: 24px; }
  .cd003 .kjy-unit + .kjy-unit + .kjy-unit::before { left: -16px; }
}
