/* Dollywood Smoky Mountain Christmas 2026, card 854.
   A holiday sticker book: cream paper, ink outlines, offset shadows, and round crowd stickers.
   Every object carries real data: the day cards, the two season tickets, the sticker sheets,
   the light strand, the thermometer and the price tags. Dark mode turns the paper to pine night. */

.dxc {
    --paper: #fff4e8;
    --paper2: #fde8d4;
    --card: #ffffff;
    --ink: #2a1a1f;
    --ink2: #5b464b;
    --red: #d92b45;
    --red-ink: #b81f37;
    --green: #1d5a43;
    --gold: #f2b632;
    --mint: #7fd1a6;
    --coral: #ff8a5b;
    --line: 3px;
    --shadow: 5px 5px 0 var(--ink);
    --radius: 18px;
    --packed-ink: #ffffff;
    --t-quiet: color-mix(in srgb, var(--mint) 34%, var(--card));
    --t-moderate: color-mix(in srgb, var(--gold) 26%, var(--card));
    --t-busy: color-mix(in srgb, var(--coral) 32%, var(--card));
    --t-packed: color-mix(in srgb, var(--red) 30%, var(--card));
    --lo: #2f6fb8;
    --display: var(--font-display, "Bricolage Grotesque", system-ui, sans-serif);
    --body: var(--font-text, "Hanken Grotesk", system-ui, sans-serif);
    background: var(--paper);
    color: var(--ink);
    font-family: var(--body);
    font-size: 17px;
    line-height: 1.55;
}
@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) .dxc {
        --paper: #10221a; --paper2: #0b1a13; --card: #18322a; --ink: #f6e9d6; --ink2: #cbbda9;
        --red-ink: #ff7b8c; --green: #7fd1a6; --shadow: 5px 5px 0 #040b08, 0 0 0 1px rgba(246,233,214,.12); --red: #ff5b70; --packed-ink: #2a1a1f; --lo: #8cc8ff; --t-quiet: #1f4a3a; --t-moderate: #4a3f1a; --t-busy: #5a2f22; --t-packed: #5a1f2c;
    }
}
:root[data-theme="dark"] .dxc {
    --paper: #10221a; --paper2: #0b1a13; --card: #18322a; --ink: #f6e9d6; --ink2: #cbbda9;
    --red-ink: #ff7b8c; --green: #7fd1a6; --shadow: 5px 5px 0 #040b08, 0 0 0 1px rgba(246,233,214,.12); --red: #ff5b70; --packed-ink: #2a1a1f; --lo: #8cc8ff; --t-quiet: #1f4a3a; --t-moderate: #4a3f1a; --t-busy: #5a2f22; --t-packed: #5a1f2c;
}

.dxc *, .dxc *::before, .dxc *::after { box-sizing: border-box; }
.dxc-wrap { max-width: 1160px; margin-inline: auto; padding-inline: 16px; }
.dxc h1, .dxc h2, .dxc h3 { font-family: var(--display); letter-spacing: -.02em; }
.dxc h3 { line-height: 1.12; }
.dxc :where(a) { color: var(--red-ink); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.dxc :where(a):focus-visible, .dxc button:focus-visible, .dxc summary:focus-visible { outline: 3px solid var(--ink); outline-offset: 2px; box-shadow: 0 0 0 7px var(--gold); border-radius: 8px; }

/* Hero */
.dxc-hero { padding: 48px 0 18px; }
.dxc-hero-in { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr); gap: 32px; align-items: center; }
.dxc-kick { display: inline-block; margin: 0; background: var(--green); color: var(--paper); font-weight: 700; font-size: 15px; padding: 6px 14px; border-radius: 10px; transform: rotate(-2deg); }
.dxc h1 { font-size: clamp(40px, 6.4vw, 84px); line-height: .94; margin: 18px 0; color: var(--red); font-weight: 800; }
.dxc h1 span { display: block; color: var(--green); font-size: .46em; letter-spacing: -.01em; margin-top: 12px; line-height: 1.1; }
.dxc-answer { margin: 0; font-size: 18.5px; max-width: 640px; background: var(--card); border: var(--line) solid var(--ink); border-radius: var(--radius); padding: 18px 20px; box-shadow: var(--shadow); }
.dxc-by { margin: 18px 0 0; font-size: 14.5px; color: var(--ink2); }
.dxc-stickers { position: relative; height: 380px; }
.dxc-st { position: absolute; display: grid; place-content: center; text-align: center; border-radius: 50%; font-weight: 800; border: var(--line) solid var(--ink); box-shadow: var(--shadow); font-family: var(--display); color: #2a1a1f; }
.dxc-st b { display: block; line-height: 1; }
.dxc-st small { font-size: 12.5px; letter-spacing: .07em; text-transform: uppercase; font-family: var(--body); margin-top: 4px; }
.dxc-st-a { width: 200px; height: 200px; background: var(--red); color: #fff; top: 0; left: 10px; transform: rotate(-8deg); }
.dxc-st-a b { font-size: 70px; }
.dxc-st-b { width: 150px; height: 150px; background: var(--gold); top: 30px; left: 220px; transform: rotate(7deg); }
.dxc-st-b b { font-size: 42px; }
.dxc-st-c { width: 160px; height: 160px; background: var(--mint); top: 200px; left: 60px; transform: rotate(5deg); }
.dxc-st-c b { font-size: 34px; }
.dxc-st-d { width: 120px; height: 120px; background: #fff; top: 210px; left: 240px; transform: rotate(-10deg); }
.dxc-st-d b { font-size: 40px; }
.dxc-tabs { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 30px; padding-bottom: 6px; }
.dxc-tabs a { color: var(--ink); text-decoration: none; font-weight: 700; font-size: 14.5px; padding: 8px 14px; border: 2px solid var(--ink); border-radius: 999px; background: var(--card); }
.dxc-tabs a:hover { background: var(--gold); color: #2a1a1f; }

/* Sections */
.dxc-sec { padding: 64px 0; }
.dxc-alt { background: var(--paper2); }
.dxc h2 { font-size: clamp(30px, 4vw, 46px); color: var(--green); margin: 0 0 10px; line-height: 1.05; font-weight: 800; max-width: 900px; }
.dxc-lede { margin: 0 0 24px; max-width: 760px; color: var(--ink2); font-size: 18px; }
.dxc-src { margin: 22px 0 0; font-size: 15px; color: var(--ink2); max-width: 820px; }

/* Day calendar */
.dxc-legend { list-style: none; padding: 0; margin: 0 0 22px; display: flex; flex-wrap: wrap; gap: 8px; }
.dxc-legend li { padding: 5px 12px; border-radius: 999px; border: 2px solid var(--ink); font-weight: 700; font-size: 14px; color: #2a1a1f; }
.dxc-legend .quiet { background: var(--mint); } .dxc-legend .moderate { background: var(--gold); } .dxc-legend .busy { background: var(--coral); } .dxc-legend .packed { background: var(--red); color: var(--packed-ink); }
.dxc-legend .long { background: var(--card); color: var(--ink); display: inline-flex; align-items: center; gap: 8px; }
.dxc-legend .long::before { content: ""; width: 22px; height: 6px; border-radius: 3px; background: var(--green); }
.dxc-tools { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 24px; align-items: center; margin-bottom: 18px; }
.dxc-tools .dxc-legend { margin: 0; }
.dxc-filters { display: flex; flex-wrap: wrap; gap: 8px; }
.dxc-filters button { font: inherit; font-weight: 700; font-size: 14px; padding: 6px 13px; border-radius: 10px; border: 2px dashed var(--ink); background: transparent; color: var(--ink); cursor: pointer; }
.dxc-filters button[aria-pressed="true"] { border-style: solid; background: var(--ink); color: var(--paper); }
.dxc-month { font-size: 22px; margin: 28px 0 10px; color: var(--red-ink); }
.dxc-cal { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 12px; }
.dxc-dow { font-weight: 800; text-transform: uppercase; font-size: 12px; letter-spacing: .08em; text-align: center; color: var(--ink2); }
.dxc-day { position: relative; min-height: 104px; }
.dxc-day button { all: unset; box-sizing: border-box; display: flex; flex-direction: column; width: 100%; height: 100%; min-height: 104px; padding: 10px 10px 12px; background: var(--card); color: var(--ink); border: var(--line) solid var(--ink); border-radius: 16px; cursor: pointer; transition: transform .15s ease, box-shadow .15s ease; }
.dxc-day button:hover { transform: translate(-2px, -2px); box-shadow: var(--shadow); }
.dxc-day button[aria-pressed="true"] { box-shadow: var(--shadow); background: var(--gold); color: #2a1a1f; transform: translate(-2px, -2px); }
.dxc-day.is-long button { box-shadow: inset 0 -6px 0 var(--green); }
.dxc-day.is-long button[aria-pressed="true"], .dxc-day.is-long button:hover { box-shadow: inset 0 -6px 0 var(--green), var(--shadow); }
.dxc-d { font-family: var(--display); font-size: 30px; font-weight: 800; line-height: 1; }
.dxc-h { font-size: 13px; font-weight: 600; margin-top: 8px; }
.dxc-p { font-size: 12.5px; font-weight: 700; color: var(--red-ink); }
.dxc-day button[aria-pressed="true"] .dxc-p { color: #8a1428; }
.dxc-s { position: absolute; top: -10px; right: -8px; width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; font-weight: 800; border: var(--line) solid var(--ink); transform: rotate(8deg); background: #fff; color: #2a1a1f; font-family: var(--display); }
.dxc-day.quiet button { background: var(--t-quiet); }
.dxc-day.moderate button { background: var(--t-moderate); }
.dxc-day.busy button { background: var(--t-busy); }
.dxc-day.packed button { background: var(--t-packed); }
.dxc-day.is-past { opacity: .42; }
.dxc-day.is-dim { opacity: .22; pointer-events: none; }
.dxc-fcount { margin: 0; font-weight: 700; font-size: 14px; color: var(--ink2); min-height: 1em; width: 100%; text-align: right; }
.dxc-month-note { display: none; margin: -4px 0 10px; font-size: 13.5px; font-weight: 700; color: var(--ink2); }
.dxc-fclear { font: inherit; font-size: 14px; font-weight: 700; margin-left: 8px; padding: 3px 10px; border-radius: 8px; border: 2px solid var(--ink); background: var(--card); color: var(--ink); cursor: pointer; }
.dxc-label { display: inline-block; margin: 0 0 12px; background: var(--gold); color: #2a1a1f; font-weight: 800; font-size: 14px; padding: 4px 12px; border: 2px solid var(--ink); border-radius: 8px; transform: rotate(-1.5deg); }
.dxc-range .lo.is-near { transform: translateY(12px); }
.dxc-day.is-today button { outline: 3px dashed var(--ink); outline-offset: 3px; }
.dxc-today, .dxc-step { position: absolute; left: 8px; bottom: -11px; font-size: 11px; font-weight: 800; padding: 2px 7px; border-radius: 999px; border: 2px solid var(--ink); background: var(--card); color: var(--ink); white-space: nowrap; transform: rotate(-3deg); }
.dxc-step { background: var(--gold); color: #2a1a1f; }
.dxc-day.quiet .dxc-s { background: var(--mint); } .dxc-day.moderate .dxc-s { background: var(--gold); } .dxc-day.busy .dxc-s { background: var(--coral); } .dxc-day.packed .dxc-s { background: var(--red); color: var(--packed-ink); }
.dxc-day.is-closed { display: flex; flex-direction: column; padding: 10px; border: var(--line) solid var(--ink); border-radius: 16px; color: #fff; overflow: hidden;
    background: linear-gradient(90deg, transparent 44%, var(--gold) 44% 56%, transparent 56%), linear-gradient(0deg, transparent 44%, var(--gold) 44% 56%, transparent 56%), var(--red); }
.dxc-day.is-closed .dxc-d { position: relative; z-index: 1; align-self: flex-start; background: #2a1a1f; color: #fff; padding: 0 6px 2px; border-radius: 6px; }
.dxc-why { align-self: flex-start; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; margin-top: auto; line-height: 1.2; background: #2a1a1f; color: #fff; padding: 3px 6px; border-radius: 6px; }
.dxc-pad { min-height: 0; }

.dxc-detail { display: grid; grid-template-columns: minmax(0, 1fr) 110px; background: var(--card); color: var(--ink); border: var(--line) solid var(--ink); border-radius: var(--radius); box-shadow: var(--shadow); margin: 0 0 18px; position: sticky; top: 76px; z-index: 3; overflow: hidden; }
.dxc-detail.is-empty { box-shadow: none; border-style: dashed; position: static; }
.dxc-detail.is-empty dl, .dxc-detail.is-empty .dxc-detail-act, .dxc-detail.is-empty .dxc-detail-x { display: none; }
.dxc-detail.is-empty .dxc-detail-stub { background: var(--paper2); color: var(--ink2); }
.dxc-detail-act { margin: 8px 0 0 !important; font-size: 14px; }
.dxc-detail-x { position: absolute; top: 6px; right: 118px; width: 34px; height: 34px; border-radius: 50%; border: 2px solid var(--ink); background: var(--card); color: var(--ink); font-size: 22px; line-height: 1; cursor: pointer; }
.dxc-detail-main { padding: 16px 20px; border-right: 3px dashed var(--ink2); }
.dxc-detail-main small { color: var(--red-ink); font-weight: 800; letter-spacing: .12em; text-transform: uppercase; font-size: 12px; }
.dxc-detail h3 { margin: 4px 0 10px; font-size: 24px; }
.dxc-detail dl { display: flex; flex-wrap: wrap; gap: 8px 26px; margin: 0; }
.dxc-detail dt { font-size: 13px; color: var(--ink2); }
.dxc-detail dd { margin: 0; font-weight: 800; font-size: 17px; }
.dxc-detail p { margin: 10px 0 0; font-size: 15px; color: var(--ink2); }
.dxc-detail-stub { display: grid; place-content: center; text-align: center; background: var(--gold); color: #2a1a1f; }
.dxc-detail-stub b { font-family: var(--display); font-size: 46px; line-height: 1; }
.dxc-detail-stub small { font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }

/* Season tickets */
.dxc-tix { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.dxc-tk { display: grid; grid-template-columns: minmax(0, 1fr) 118px; background: var(--card); border: var(--line) solid var(--ink); border-radius: var(--radius); box-shadow: var(--shadow); overflow: hidden; position: relative; }
.dxc-tk::before, .dxc-tk::after { content: ""; position: absolute; right: 108px; width: 20px; height: 20px; border-radius: 50%; background: var(--paper2); border: var(--line) solid var(--ink); }
.dxc-tk::before { top: -12px; } .dxc-tk::after { bottom: -12px; }
.dxc-tk-main { padding: 20px 22px; border-right: 3px dashed var(--ink2); }
.dxc-tk-main small { font-weight: 800; letter-spacing: .12em; text-transform: uppercase; font-size: 12px; color: var(--red-ink); }
.dxc-tk h3 { margin: 4px 0 12px; font-size: 30px; }
.dxc-tk ul { margin: 0; padding-left: 18px; }
.dxc-tk li { margin: 4px 0; }
.dxc-tk-stub { display: grid; place-content: center; text-align: center; background: var(--mint); color: #2a1a1f; padding: 8px; }
.dxc-tk.is-peak .dxc-tk-stub { background: var(--coral); }
.dxc-tk-stub b { font-family: var(--display); font-size: 44px; line-height: 1; }
.dxc-tk-stub small { font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }

/* Sticker sheets */
.dxc-sheets { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.dxc-sheet { background: var(--card); border: var(--line) solid var(--ink); border-radius: var(--radius); padding: 18px 20px 20px; box-shadow: var(--shadow); }
.dxc-sheet h3 { margin: 0 0 12px; font-size: 24px; }
.dxc-sheet.is-go h3 { color: var(--green); } .dxc-sheet.is-skip h3 { color: var(--red-ink); }
.dxc-sheet ol { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.dxc-sheet li { display: grid; grid-template-columns: 46px minmax(0, 1fr); column-gap: 10px; align-items: center; }
.dxc-sheet li b { font-size: 16px; }
.dxc-sheet li small { grid-column: 2; font-size: 13px; color: var(--ink2); }
.dxc-dot { grid-row: span 2; width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; font-family: var(--display); font-weight: 800; font-size: 20px; border: var(--line) solid var(--ink); background: #fff; color: #2a1a1f; }
.dxc-sheet .quiet .dxc-dot { background: var(--mint); } .dxc-sheet .moderate .dxc-dot { background: var(--gold); } .dxc-sheet .busy .dxc-dot { background: var(--coral); } .dxc-sheet .packed .dxc-dot { background: var(--red); color: var(--packed-ink); }
.dxc-sheet li:nth-child(odd) .dxc-dot { transform: rotate(-6deg); } .dxc-sheet li:nth-child(even) .dxc-dot { transform: rotate(5deg); }

/* Playbills */
.dxc-bills { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 18px; }
.dxc-bill { background: var(--card); border: var(--line) solid var(--ink); border-radius: 14px 14px 40px 14px; padding: 18px 18px 22px; box-shadow: var(--shadow); }
.dxc-bill small { display: inline-block; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; font-size: 11.5px; background: var(--green); color: var(--paper); padding: 4px 10px; border-radius: 999px; }
.dxc-bill h3 { margin: 12px 0 8px; font-size: 22px; line-height: 1.1; color: var(--red-ink); }
.dxc-bill p { margin: 0; font-size: 15.5px; color: var(--ink2); }

/* Lights, always night */
.dxc-night { background: #081610; color: #f6e9d6; --ink2: #cbbda9; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .dxc-night { background: #040a07; border-block: 3px solid #1c3329; } }
:root[data-theme="dark"] .dxc-night { background: #040a07; border-block: 3px solid #1c3329; }
.dxc-night h2 { color: #ffd77a; }
.dxc-strand { position: relative; height: 120px; margin: 4px 0 0; }
.dxc-strand svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.dxc-sag { position: absolute; left: var(--x); top: 0; width: 0; }
.dxc-sag i { position: absolute; left: calc(var(--o) * 34px - 8px); top: calc(46px - (var(--o) * var(--o)) * 7px); width: 16px; height: 22px; border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
    background: radial-gradient(circle at 35% 30%, rgba(255,255,255,.85) 0 18%, transparent 19%), var(--b); animation: dxc-twinkle 2.6s ease-in-out infinite; }
.dxc-sag i::before { content: ""; position: absolute; left: 4px; right: 4px; top: -6px; height: 7px; border-radius: 2px; background: #6d7a70; }
.dxc-sag i:nth-child(2) { animation-delay: .6s; } .dxc-sag i:nth-child(3) { animation-delay: 1.2s; } .dxc-sag i:nth-child(4) { animation-delay: 1.8s; }
.dxc-lights .dxc-bulbs { display: none; }
.dxc-src-night { color: #cbbda9; } .dxc-src-night :where(a) { color: #ffd77a; }
.dxc-lights { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--n, 4), minmax(0, 1fr)); gap: 16px; }
.dxc-lights li { position: relative; background: #12271f; border: 2px solid #2d4a40; border-radius: 16px; padding: 16px 16px 18px; }
.dxc-lights li::before { content: ""; position: absolute; left: 50%; top: -36px; height: 36px; border-left: 2px solid #4a5a50; }
.dxc-bulbs { display: flex; gap: 10px; margin-bottom: 12px; }
.dxc-bulbs i { position: relative; width: 16px; height: 22px; border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%; background: radial-gradient(circle at 35% 30%, rgba(255,255,255,.85) 0 18%, transparent 19%), var(--b); animation: dxc-twinkle 2.6s ease-in-out infinite; }
.dxc-bulbs i::before { content: ""; position: absolute; left: 4px; right: 4px; top: -6px; height: 7px; border-radius: 2px; background: #6d7a70; }
.dxc-bulbs i:nth-child(2) { animation-delay: .6s; } .dxc-bulbs i:nth-child(3) { animation-delay: 1.2s; } .dxc-bulbs i:nth-child(4) { animation-delay: 1.8s; }
@keyframes dxc-twinkle { 0%, 100% { opacity: 1; } 50% { opacity: .55; } }
.dxc-lights h3 { margin: 0 0 6px; font-size: 20px; color: #fff; }
.dxc-lights p { margin: 0; font-size: 15px; color: #cbbda9; }
.dxc-lights p b { color: #f6e9d6; }

/* Cold */
.dxc-cold { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; align-items: start; }
.dxc-coldcard { background: var(--card); border: var(--line) solid var(--ink); border-radius: var(--radius); box-shadow: var(--shadow); padding: 22px 20px; }
.dxc-therm { position: relative; display: grid; grid-template-columns: 40px repeat(3, minmax(0, 1fr)); gap: 0 14px; height: 300px; padding-bottom: 28px; }
.dxc-scale { position: relative; }
.dxc-scale span { position: absolute; left: 0; top: calc((70 - var(--t)) / 50 * 100%); transform: translateY(-50%); font-size: 12.5px; font-weight: 800; color: var(--ink2); }
.dxc-col { position: relative; display: flex; flex-direction: column; align-items: center; }
.dxc-track { position: relative; width: 34px; height: 100%; border: var(--line) solid var(--ink); border-radius: 999px; background: var(--paper2); }
.dxc-range { position: absolute; left: 3px; right: 3px; top: calc((70 - var(--hi)) / 50 * 100%); bottom: calc((var(--lo) - 20) / 50 * 100%); border-radius: 999px; background: linear-gradient(to bottom, var(--coral), var(--gold) 45%, #7cc4ff); }
.dxc-range b { position: absolute; left: calc(100% + 10px); font-family: var(--display); font-size: 15px; white-space: nowrap; }
.dxc-range .hi { top: -4px; color: var(--red-ink); }
.dxc-range .lo { bottom: -4px; color: var(--lo); }
.dxc-mon { position: absolute; bottom: -26px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; font-size: 13px; }
.dxc-freeze { position: absolute; left: 44px; right: 0; top: calc((70 - 32) / 50 * (100% - 28px)); border-top: 3px dashed var(--ink); pointer-events: none; }
.dxc-therm-key { margin: 14px 0 0; font-size: 13.5px; color: var(--ink2); }
.dxc-ladder-h { margin: 30px 0 10px; font-size: 20px; color: var(--green); }
.dxc-ladder { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.dxc-ladder li { display: grid; grid-template-columns: 58px minmax(0, 1fr); gap: 12px; align-items: center; font-size: 15px; }
.dxc-deg { display: grid; place-items: center; height: 34px; border-radius: 999px; border: 2px solid var(--ink); font-family: var(--display); font-weight: 800; color: #2a1a1f;
    background: color-mix(in srgb, #7cc4ff calc((40 - var(--t)) / 35 * 100%), var(--gold)); }
.dxc-wear { display: grid; gap: 16px; }
.dxc-wear-card { background: var(--card); border: var(--line) solid var(--ink); border-radius: 16px; padding: 14px 18px; }
.dxc-wear-card h3 { margin: 0 0 4px; font-size: 21px; color: var(--green); }
.dxc-wear-card p { margin: 4px 0; font-size: 15.5px; }
.dxc-temps b { font-family: var(--display); font-size: 22px; }
.dxc-pack { color: var(--ink2); }
.dxc-wear-card.is-note { background: var(--paper2); }
.dxc-wear-card.is-note h3 + p { margin-bottom: 10px; }

/* Price tags */
.dxc-tags { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.dxc-tags li { position: relative; background: var(--card); border: var(--line) solid var(--ink); border-radius: 12px 40px 40px 12px; padding: 16px 44px 16px 20px; box-shadow: var(--shadow); }
.dxc-tags li::after { content: ""; position: absolute; right: 18px; top: 50%; width: 14px; height: 14px; margin-top: -7px; border-radius: 50%; border: var(--line) solid var(--ink); background: var(--paper2); }
.dxc-tags small { display: block; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; font-size: 12px; color: var(--red-ink); }
.dxc-tags b { display: block; font-family: var(--display); font-size: 36px; line-height: 1.05; margin: 4px 0; }
.dxc-tags span { font-size: 14.5px; color: var(--ink2); }
.dxc-notes { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 24px; }
.dxc-notes p { margin: 0; background: var(--card); border: 2px solid var(--ink); border-radius: 14px; padding: 14px 16px; font-size: 15.5px; }

/* Dolly */
.dxc-dolly { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 36px; align-items: center; }
.dxc-dolly figure { margin: 0; }
.dxc-photo { background: #fff; padding: 12px 12px 14px; border: var(--line) solid var(--ink); border-radius: 14px; box-shadow: var(--shadow); transform: rotate(-2deg); }
.dxc-dolly img { width: 100%; height: auto; display: block; border-radius: 6px; }
.dxc-photo figcaption { color: #5b464b !important; }
.dxc-photo figcaption :where(a) { color: #b81f37; }
.dxc-dolly figcaption { font-size: 12.5px; color: var(--ink2); margin-top: 10px; }
.dxc-dolly p { font-size: 18px; max-width: 620px; }

/* FAQ */
.dxc-faq { display: grid; gap: 12px; max-width: 900px; margin-top: 22px; }
.dxc-faq details { background: var(--card); border: var(--line) solid var(--ink); border-radius: 14px; }
.dxc-faq summary { cursor: pointer; list-style: none; padding: 14px 48px 14px 18px; position: relative; }
.dxc-faq summary::-webkit-details-marker { display: none; }
.dxc-faq summary::after { content: "+"; position: absolute; right: 16px; top: 50%; transform: translateY(-50%); font-weight: 800; font-size: 26px; color: var(--red-ink); }
.dxc-faq details[open] summary::after { content: "\2212"; }
.dxc-faq h3 { margin: 0; font-size: 19px; }
.dxc-faq p { margin: 0; padding: 0 18px 16px; color: var(--ink2); }

/* Plan */
.dxc-plan { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.dxc-plan a { display: block; text-decoration: none; color: var(--ink); background: var(--card); border: var(--line) solid var(--ink); border-radius: 14px; padding: 14px 16px; transition: transform .15s ease, box-shadow .15s ease; }
.dxc-plan a:hover { transform: translate(-2px, -2px); box-shadow: var(--shadow); }
.dxc-plan b { display: block; color: var(--red-ink); font-size: 16px; }
.dxc-plan span { font-size: 14px; color: var(--ink2); }

@media (max-width: 960px) {
    .dxc-hero-in { grid-template-columns: 1fr; }
    .dxc-stickers { height: auto; display: flex; flex-wrap: wrap; gap: 10px; margin-top: 8px; }
    .dxc-stickers { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); justify-items: center; }
    .dxc-st { position: static; width: 74px !important; height: 74px !important; border-width: 2px; box-shadow: 3px 3px 0 var(--ink); }
    .dxc-st b { font-size: 21px !important; }
    .dxc-st small { font-size: 10px; letter-spacing: 0; line-height: 1.1; padding: 0 6px; text-transform: none; }
    .dxc-tabs { flex-wrap: nowrap; overflow-x: auto; margin-inline: -16px; padding-inline: 16px; scrollbar-width: none; }
    .dxc-tabs a { flex: none; }
    .dxc-lights { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .dxc-strand { display: none; }
    .dxc-lights li::before { display: none; }
    .dxc-lights .dxc-bulbs { display: flex; }
    .dxc-cold, .dxc-dolly { grid-template-columns: 1fr; }
    .dxc-tags, .dxc-plan { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
    .dxc { font-size: 16px; }
    .dxc-hero { padding-top: 32px; }
    .dxc-answer { font-size: 17px; }
    .dxc-sec { padding: 48px 0; }
    .dxc-tix, .dxc-sheets, .dxc-notes { grid-template-columns: 1fr; }
    .dxc-cal { gap: 5px; }
    .dxc-day, .dxc-day button { min-height: 58px; }
    .dxc-day button { padding: 5px; border-width: 2px; border-radius: 10px; }
    .dxc-day.is-closed { padding: 5px; border-width: 2px; border-radius: 10px; }
    .dxc-d { font-size: 16px; }
    .dxc-h, .dxc-p, .dxc-for { display: none; }
    .dxc-why { margin-top: auto; font-size: 9px; padding: 1px 3px; letter-spacing: 0; }
    .dxc-step { display: none; }
    .dxc-month-note { display: block; }
    .dxc-detail { position: static; }
    .dxc-detail-main { padding: 12px 14px; }
    .dxc-detail p[data-d-note] { display: none; }
    .dxc-tabs { -webkit-mask-image: linear-gradient(90deg, #000 85%, transparent); mask-image: linear-gradient(90deg, #000 85%, transparent); }
    .dxc-today { font-size: 9px; padding: 1px 4px; left: 2px; bottom: -9px; }
    .dxc-detail-x { right: 92px; }
    .dxc-strand { display: none; }
    .dxc-lights li::before { display: none; }
    .dxc-lights .dxc-bulbs { display: flex; }
    .dxc-tools { flex-direction: column; align-items: flex-start; }
    .dxc-s { width: 24px; height: 24px; font-size: 12px; top: auto; bottom: 3px; right: 3px; border-width: 2px; transform: none; }
    .dxc-day.is-long button { box-shadow: inset 0 -6px 0 var(--green); }
    .dxc-fcount { text-align: left; }
    .dxc-therm { padding-right: 22px; }
    .dxc-range b { font-size: 13px; left: calc(100% + 5px); }
    .dxc-detail { grid-template-columns: minmax(0, 1fr) 84px; top: 64px; }
    .dxc-detail h3 { font-size: 20px; }
    .dxc-tk { grid-template-columns: minmax(0, 1fr) 92px; }
    .dxc-tk::before, .dxc-tk::after { right: 82px; }
    .dxc-therm { grid-template-columns: 34px repeat(3, minmax(0, 1fr)); gap: 0 8px; height: 260px; }
    .dxc-track { width: 26px; }
    .dxc-tags, .dxc-plan { grid-template-columns: 1fr; }
    .dxc-sheet ol { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
    .dxc-bulbs i, .dxc-sag i { animation: none; }
    .dxc-day button, .dxc-plan a { transition: none; }
}
@media (max-width: 400px) {
    .dxc-stickers { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; justify-items: center; }
    .dxc-lights { grid-template-columns: 1fr !important; }
    .dxc-st { width: 92px !important; height: 92px !important; }
}
