/* ---------- News features (/news-features) and the reusable packages band (src/partials/pr-band.html,
   placed with {{pr_band}}). Classes start with news-. Quote builder logic in src/js/news-features.js.
   The hero article is an illustration: its paper stays light in both themes, like a printout; the
   annotations around it follow the theme. Motion runs once on load, only with html.motion. */

/* Hero */
.news-hero .display em { font-style: normal; color: #b23c0a; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .news-hero .display em { color: var(--sun); } }
:root[data-theme="dark"] .news-hero .display em { color: var(--sun); }
.news-hero__trust { margin-top: 4px; }

.news-vis { margin: 0; display: grid; gap: 12px; justify-items: center; min-width: 0; }
.news-art { position: relative; width: 100%; max-width: 520px; aspect-ratio: 1 / 1.08; container-type: inline-size; }
.news-art__sheet, .news-art__paper { position: absolute; border-radius: 16px; }
.news-art__sheet { inset: 4% 5% 15% 15%; transform: rotate(4.5deg); background: #ece8dd; box-shadow: 0 14px 34px rgba(22, 24, 29, 0.14); }
.news-art__paper { inset: 5% 12% auto 6%; transform: rotate(-2deg); display: grid; align-content: start; gap: 2.6cqw; padding: 6cqw 6cqw 5cqw; background: #fff; color: #16181d;
  box-shadow: 0 0 0 1px rgba(22, 24, 29, 0.06), 0 26px 60px rgba(22, 24, 29, 0.22); }
.news-art__top { display: flex; align-items: center; justify-content: space-between; gap: 2cqw; padding-bottom: 2.4cqw; border-bottom: 1px solid #eceef2; }
.news-art__kicker { display: inline-flex; align-items: center; gap: 1.6cqw; font: 700 2.5cqw/1 var(--font-body); letter-spacing: 0.16em; text-transform: uppercase; color: #8a5a26; }
.news-art__kicker::before { content: ""; width: 4.6cqw; height: 0.5cqw; border-radius: 2px; background: linear-gradient(135deg, #f7e1a6, #d4a648); }
.news-art__meta { padding: 1cqw 1.8cqw; border-radius: 9999px; background: #f1f2f4; color: #4b505a; font: 600 2.3cqw/1 var(--font-body); }
.news-art__h { font: 700 6.3cqw/1.08 var(--font-body); letter-spacing: -0.035em; color: #16181d; max-width: 92%; text-wrap: balance; }
.news-art__by { display: flex; align-items: center; gap: 1.6cqw; }
.news-art__by i { display: block; height: 1.5cqw; width: 20%; border-radius: 9999px; background: #dfe2e7; }
.news-art__by i:first-child { width: 4.6cqw; height: 4.6cqw; border-radius: 50%; background: linear-gradient(135deg, #f7e1a6, #d4a648); }
.news-art__photo { display: grid; place-items: center; aspect-ratio: 16 / 6.4; border-radius: 2.4cqw; background: radial-gradient(70% 90% at 25% 20%, #f7efdc, transparent 70%), linear-gradient(135deg, #ead39a, #f4c766 55%, #e3b15a); }
.news-art__photo svg { width: 10cqw; height: 10cqw; fill: none; stroke: rgba(74, 45, 6, 0.55); stroke-width: 1.6; stroke-linejoin: round; }
.news-art__text { display: grid; gap: 1.9cqw; padding-top: 0.6cqw; }
.news-art__text i, .news-art__ref i { display: block; height: 1.5cqw; width: var(--w, 100%); border-radius: 9999px; background: #e6e8ec; }
.news-art__ref { display: flex; align-items: center; gap: 1.4cqw; }
.news-art__ref em { flex: none; padding: 0.5cqw 1.2cqw; border-radius: 1cqw; font: 600 2.6cqw/1 var(--font-body); font-style: normal; color: #2f39b8; text-decoration: underline; text-underline-offset: 0.5cqw;
  background: linear-gradient(#e6f6ea, #e6f6ea) left / 100% 100% no-repeat; box-shadow: inset 0 0 0 1px rgba(13, 127, 55, 0.35); }

.news-art__pin { position: absolute; z-index: 2; display: inline-flex; align-items: center; gap: 7px; padding: 9px 13px; border-radius: 9999px; background: var(--panel); color: var(--ink);
  font: 600 13px/1 var(--font-body); white-space: nowrap; box-shadow: 0 0 0 1px var(--line), 0 10px 26px rgba(22, 24, 29, 0.18); }
.news-art__pin .psg-ic { font-size: 16px; }
.news-art__pin--pub { top: 0; right: 0; }
.news-art__pin--pub .psg-ic { color: var(--accent-text); }
.news-art__pin--link { top: 69%; right: 0; }
.news-art__pin--link .psg-ic { color: var(--trust); }
.news-art__ai { position: absolute; z-index: 2; left: 0; bottom: 0; width: 56%; display: grid; gap: 8px; padding: 14px 16px; border-radius: 16px; background: var(--panel);
  box-shadow: 0 0 0 1px var(--line), 0 16px 36px rgba(22, 24, 29, 0.2); }
.news-art__ai-h { display: inline-flex; align-items: center; gap: 7px; font: 700 12px/1 var(--font-body); letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink); }
.news-art__ai-h svg { width: 15px; height: 15px; fill: #9b6cf6; }
.news-art__ai i { display: block; height: 8px; width: var(--w, 100%); border-radius: 9999px; background: var(--line-2); }
.news-art__src { justify-self: start; margin-top: 2px; padding: 5px 9px; border-radius: 9999px; background: var(--gold-soft); color: var(--accent-text); font: 700 11.5px/1 var(--font-body); box-shadow: inset 0 0 0 1px var(--gold-line); }
@media (max-width: 520px) {
  .news-art { aspect-ratio: 1 / 1.2; }
  .news-art__pin { padding: 7px 10px; font-size: 12px; }
  .news-art__pin--link { top: 67.5%; }
  .news-art__ref > i:first-child { width: 10%; }
  .news-art__ai { width: 60%; padding: 11px 12px; gap: 6px; }
}

/* Hero motion: the paper settles, the lines write in, the backlink lights up, then the notes pop in. */
html.motion .news-art__sheet { animation: news-sheet 0.9s cubic-bezier(.2, .7, .2, 1) both; }
html.motion .news-art__paper { animation: news-paper 0.9s 0.08s cubic-bezier(.2, .7, .2, 1) both; }
html.motion .news-art__text i, html.motion .news-art__by i:last-child { transform-origin: 0 50%; animation: news-line 0.55s cubic-bezier(.3, .7, .2, 1) both; animation-delay: calc(0.55s + var(--k, 0) * 0.09s); }
.news-art__ref i:first-child { --k: 1; } .news-art__ref i:last-child { --k: 2; } .news-art__text > :nth-child(3) { --k: 3; }
.news-art__text > :nth-child(4) { --k: 4; } .news-art__text > :nth-child(5) { --k: 5; }
html.motion .news-art__ref em { animation: news-mark 0.7s 0.95s cubic-bezier(.3, .7, .2, 1) both; }
html.motion .news-art__pin, html.motion .news-art__ai { animation: news-pop 0.55s cubic-bezier(.2, .9, .3, 1.25) both; }
html.motion .news-art__pin--pub { animation-delay: 0.85s; }
html.motion .news-art__pin--link { animation-delay: 1.45s; }
html.motion .news-art__ai { animation-delay: 1.9s; }
@keyframes news-sheet { from { opacity: 0; transform: rotate(9deg) translateY(30px); } }
@keyframes news-paper { from { opacity: 0; transform: rotate(-6deg) translateY(36px); } }
@keyframes news-line { from { transform: scaleX(0); } }
@keyframes news-mark { from { background-size: 0% 100%; box-shadow: inset 0 0 0 1px transparent; } }
@keyframes news-pop { from { opacity: 0; transform: translateY(12px) scale(0.9); } }

/* Why cards */
.news-why .card { align-content: start; }

/* ---------- Package cards */
.news-pkgs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(16px, 2.2vw, 28px); max-width: 1000px; margin-inline: auto; }
.news-pkg { position: relative; display: flex; flex-direction: column; gap: 8px; padding: 10px; border-radius: var(--radius-card); background: var(--panel); min-width: 0; }
.news-pkg--pick { box-shadow: inset 0 0 0 2px var(--gold-line), 0 18px 44px rgba(181, 138, 53, 0.18); }
.news-pkg__flag { position: absolute; top: -12px; right: 18px; z-index: 2; padding: 6px 9px; font-size: 12.5px; box-shadow: 0 4px 12px rgba(74, 45, 6, 0.14); }
.news-pkg .psg-tier { padding: 16px 18px; gap: 16px; }
.news-pkg .psg-tier__badge { width: auto; min-width: 54px; }
.news-pkg .psg-tier__big { font-size: 34px; letter-spacing: -0.04em; }
.news-pkg .psg-tier__name { margin: 0; font: 700 19px/1.2 var(--font-body); letter-spacing: -0.02em; }
.news-pkg .psg-tier__note { font-size: 13.5px; }
.news-pkg__body { flex: 1; display: flex; flex-direction: column; gap: 20px; padding: 14px 16px 16px; }
.news-price { display: grid; gap: 12px; }
.news-price__now { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; }
.news-price__now .psg-price { font-size: clamp(40px, 4.4vw, 52px); }
.news-price__gst { font: 600 15px/1 var(--font-body); color: var(--ink-2); }
.news-price__now .psg-was { font-size: 16px; font-weight: 500; }
.news-price .psg-save { justify-self: start; }
.news-pkg .checks { gap: 10px; }
.news-pkg .checks li { font: 500 15px/1.45 var(--font-body); color: var(--ink); }
.news-pkg .checks li.news-time { color: var(--ink-2); }
.news-pkg .checks li.news-time .psg-ic { color: var(--accent-text); }
.news-pkg__note { display: grid; gap: 10px; padding: 16px 16px 18px; border-radius: var(--radius-ticket); background: var(--teal-wash); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--teal) 35%, transparent); }
.news-pkg__note-h { font: 700 11.5px/1 var(--font-body); letter-spacing: 0.14em; text-transform: uppercase; color: var(--teal); }
.news-pkg__note ul { margin: 0; padding-left: 18px; display: grid; gap: 8px; font: 500 14.5px/1.45 var(--font-body); color: var(--ink); }
.news-pkg__note li::marker { color: var(--teal); }
.news-pkg__ex { display: grid; gap: 12px; padding: 16px 16px 18px; border-radius: var(--radius-ticket); background: var(--gold-soft); box-shadow: inset 0 0 0 1px var(--gold-line); }
.news-pkg__ex-h { font: 700 11.5px/1 var(--font-body); letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent-text); }
.news-pkg__ex .checks li { font-size: 14.5px; }
.news-pkg__ex .checks .psg-ic { color: var(--accent-text); }
.news-pkg__btn { margin-top: auto; }
.news-note { margin-top: 18px; text-align: center; }
@media (max-width: 860px) { .news-pkgs { grid-template-columns: minmax(0, 1fr); max-width: 560px; gap: 28px; } }

/* ---------- Comparison table (a real table; on phones each row stacks its label over the two values) */
.news-cmp { border-radius: var(--radius-card); background: var(--panel); overflow: hidden; }
.news-cmp table { width: 100%; border-collapse: collapse; }
.news-cmp th, .news-cmp td { padding: 16px 22px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); font: 500 15px/1.5 var(--font-body); color: var(--ink-2); }
.news-cmp thead th { padding-block: 22px 16px; vertical-align: bottom; font: 700 18px/1.25 var(--font-body); letter-spacing: -0.015em; color: var(--ink); }
.news-cmp thead th .psg-tag { margin-left: 6px; vertical-align: 2px; }
.news-cmp tbody th { width: 30%; font-weight: 600; color: var(--ink); }
.news-cmp tbody tr:last-child > * { border-bottom: 0; }
.news-cmp .news-cmp__g { background: var(--gold-soft); box-shadow: inset 2px 0 0 var(--gold-line), inset -2px 0 0 var(--gold-line); }
.news-cmp thead .news-cmp__g { box-shadow: inset 2px 0 0 var(--gold-line), inset -2px 0 0 var(--gold-line), inset 0 2px 0 var(--gold-line); border-top-left-radius: 14px; border-top-right-radius: 14px; }
.news-cmp tbody tr:last-child .news-cmp__g { box-shadow: inset 2px 0 0 var(--gold-line), inset -2px 0 0 var(--gold-line), inset 0 -2px 0 var(--gold-line); }
.news-cmp__p { font: 700 18px/1.2 var(--font-num); color: var(--ink); font-variant-numeric: tabular-nums; }
.news-cmp td s { margin-left: 6px; color: var(--muted); white-space: nowrap; }
.news-cmp .news-cmp__yes { color: var(--trust); font-weight: 700; }
.news-cmp__yes .psg-ic { font-size: 18px; margin-right: 6px; vertical-align: -3px; }
.news-cmp .news-cmp__no { color: var(--muted); font-weight: 700; }
@media (max-width: 720px) {
  .news-cmp table, .news-cmp thead, .news-cmp tbody { display: block; }
  .news-cmp tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-bottom: 1px solid var(--line); }
  .news-cmp tbody tr:last-child { border-bottom: 0; }
  .news-cmp thead td { display: none; }
  .news-cmp th, .news-cmp td { border-bottom: 0; padding: 4px 14px 14px; font-size: 14.5px; }
  .news-cmp thead th { padding: 18px 14px 14px; font-size: 16px; }
  .news-cmp thead th .psg-tag { display: table; margin: 8px 0 0; }
  .news-cmp tbody th { grid-column: 1 / -1; width: auto; padding: 14px 14px 6px; font-size: 13px; letter-spacing: 0.04em; text-transform: uppercase; color: var(--muted); }
  .news-cmp .news-cmp__g, .news-cmp thead .news-cmp__g, .news-cmp tbody tr:last-child .news-cmp__g { box-shadow: none; border-radius: 0; }
  .news-cmp thead .news-cmp__g { border-top-left-radius: 0; }
  .news-cmp__p { font-size: 16px; }
  .news-cmp td s { display: block; margin: 2px 0 0; }
}

/* ---------- Process */
.news-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(14px, 1.8vw, 22px); }
.news-step { position: relative; display: grid; gap: 10px; align-content: start; padding: clamp(22px, 2.4vw, 28px); border-radius: var(--radius-card); background: var(--panel); }
.news-step__n { display: grid; place-items: center; width: 42px; height: 42px; margin-bottom: 6px; border-radius: 50%; background: var(--gold-grad); color: var(--gold-ink); font: 700 16px/1 var(--font-body); }
.news-step h3 { font: 700 19px/1.25 var(--font-body); letter-spacing: -0.015em; color: var(--ink); }
.news-step p { font: 500 15px/1.55 var(--font-body); color: var(--ink-2); }
.news-step .psg-status { justify-self: start; margin-top: 4px; letter-spacing: 0.04em; text-transform: uppercase; }
.news-step:not(:last-child)::after { content: ""; position: absolute; z-index: 1; top: calc(clamp(22px, 2.4vw, 28px) + 20px); left: 100%; width: clamp(14px, 1.8vw, 22px); height: 2px; background: var(--gold-line); }
@media (max-width: 1000px) { .news-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } .news-step::after { display: none; } }
@media (max-width: 560px) { .news-steps { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Add-ons (coupon tickets sit on a panel card, so their notches match) and the upgrade path */
.news-extra { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr); gap: clamp(16px, 2.2vw, 28px); }
.news-addons, .news-up { display: grid; gap: 18px; align-content: start; padding: clamp(22px, 2.8vw, 34px); border-radius: var(--radius-card); background: var(--panel); min-width: 0; }
.news-addon { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: clamp(16px, 2vw, 24px); align-items: center; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.news-addon:last-of-type { padding-bottom: 0; border-bottom: 0; }
.news-tk.psg-ticket { width: 150px; flex: none; }
.news-tk.psg-ticket::before, .news-tk.psg-ticket::after { top: 57%; width: 14px; height: 14px; }
.news-tk.psg-ticket::before { left: -7px; }
.news-tk.psg-ticket::after { right: -7px; }
.news-tk .psg-ticket__top { padding: 22px 6px 12px; gap: 6px; }
.news-tk .psg-ticket__top .psg-price { font-size: 30px; }
.news-tk .psg-ticket__top small { font-size: 12.5px; }
.news-tk .psg-ticket__bot { padding: 11px 6px 10px; gap: 8px; font-size: 12.5px; }
.news-tk .psg-ticket__pill { font-size: 12.5px; }
.news-tk .psg-ticket__corner { font-size: 10.5px; padding: 4px 7px; }
.news-addon__copy { display: grid; gap: 8px; }
.news-addon__copy h3 { font: 700 19px/1.25 var(--font-body); letter-spacing: -0.015em; color: var(--ink); }
.news-addon__copy p, .news-addon__list { margin: 0; font: 500 15px/1.5 var(--font-body); color: var(--ink-2); }
.news-addon__list { padding-left: 18px; display: grid; gap: 4px; }
.news-addon__list li::marker { color: var(--accent-text); }
.news-up > .psg-chip { justify-self: start; }
.news-up h3 { font: 700 22px/1.25 var(--font-body); letter-spacing: -0.02em; color: var(--ink); }
.news-up__bill { margin: 0; padding: 4px 18px; border-radius: var(--radius-ticket); background: var(--bg); }
.news-up__bill > div { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 14px 0; border-bottom: 1px dashed var(--line-2); }
.news-up__bill > div:last-child { border-bottom: 0; }
.news-up__bill dt { display: inline-flex; align-items: center; gap: 10px; font: 500 15px/1.35 var(--font-body); color: var(--ink-2); }
.news-up__bill dd { margin: 0; font: 700 17px/1 var(--font-num); color: var(--ink); white-space: nowrap; font-variant-numeric: tabular-nums; }
.news-up__bill .news-up__sum { border-top: 1.5px solid var(--ink-2); }
.news-up__sum dt { font-weight: 700; color: var(--ink); }
.news-up__sum dd { font-size: 24px; letter-spacing: -0.02em; }
.news-dot { flex: none; width: 12px; height: 12px; border-radius: 4px; }
.news-dot--chrome { background: linear-gradient(135deg, var(--chrome-1), var(--chrome-2)); }
.news-dot--top { background: var(--line-2); }
.news-dot--sun { background: linear-gradient(135deg, var(--sun), var(--sun-deep)); }
.news-up__tip { margin: 0; padding: 12px 14px; border-radius: var(--radius-field); background: var(--teal-wash); color: var(--teal); font: 600 14px/1.45 var(--font-body); }
@media (max-width: 960px) { .news-extra { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 440px) {
  .news-addon { grid-template-columns: 124px minmax(0, 1fr); gap: 14px; }
  .news-tk.psg-ticket { width: 124px; }
  .news-tk .psg-ticket__top .psg-price { font-size: 25px; }
  .news-up__bill { padding-inline: 14px; }
}

/* ---------- Quote builder */
.news-qb { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(320px, 1fr); gap: clamp(24px, 4vw, 52px); align-items: start; padding: clamp(22px, 3.6vw, 44px); border-radius: var(--radius-card); background: var(--panel); }
.news-qb__in { display: grid; gap: 30px; min-width: 0; }
.news-qb__grp { margin: 0; padding: 0; border: 0; min-width: 0; display: grid; gap: 12px; }
.news-qb__grp legend { display: flex; align-items: center; gap: 10px; padding: 0; margin-bottom: 14px; font: 700 17px/1.2 var(--font-body); letter-spacing: -0.01em; color: var(--ink); }
.news-qb__grp legend b { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--gold-grad); color: var(--gold-ink); font: 700 13px/1 var(--font-body); }
.news-qb__grp legend i { font: 500 13.5px/1 var(--font-body); font-style: normal; color: var(--muted); }
.news-qb__opts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.news-opt { position: relative; display: block; cursor: pointer; }
.news-opt input { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.news-opt__c { position: relative; display: grid; gap: 5px; height: 100%; padding: 15px 16px 15px 48px; border-radius: 14px; background: var(--bg); box-shadow: inset 0 0 0 1.5px var(--line-2); transition: box-shadow 0.15s, background 0.15s; }
.news-opt__c::before { content: ""; position: absolute; left: 17px; top: 17px; width: 18px; height: 18px; border-radius: 50%; background: var(--panel); box-shadow: inset 0 0 0 2px var(--ink-2); transition: box-shadow 0.15s, background 0.15s; }
.news-opt--check .news-opt__c::before { border-radius: 5px; }
.news-opt:hover .news-opt__c { box-shadow: inset 0 0 0 1.5px var(--gold-line); }
.news-opt input:checked + .news-opt__c { background: var(--sun-wash); box-shadow: inset 0 0 0 2px var(--sun-deep); }
.news-opt input[type="radio"]:checked + .news-opt__c::before { box-shadow: inset 0 0 0 5.5px var(--sun-deep); }
.news-opt--check input:checked + .news-opt__c::before { background: var(--sun-deep); box-shadow: none; }
.news-opt--check input:checked + .news-opt__c::after { content: ""; position: absolute; left: 23.5px; top: 20px; width: 5px; height: 10px; border: solid var(--on-sun); border-width: 0 2.2px 2.2px 0; transform: rotate(45deg); }
.news-opt input:focus-visible + .news-opt__c { outline: 2px solid var(--link); outline-offset: 2px; }
.news-opt__name { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; font: 700 16px/1.25 var(--font-body); color: var(--ink); }
.news-opt__name .psg-tag { font-size: 11.5px; }
.news-opt__meta { font: 500 13.5px/1.4 var(--font-body); color: var(--muted); }
.news-opt__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; margin-top: 4px; }
.news-opt__price b { font: 700 18px/1.1 var(--font-num); color: var(--ink); font-variant-numeric: tabular-nums; }
.news-opt__price s { font: 500 13.5px/1 var(--font-body); color: var(--muted); }
.news-opt.is-off { cursor: not-allowed; }
.news-opt.is-off input { cursor: not-allowed; }
.news-opt.is-off .news-opt__c { background: transparent; box-shadow: inset 0 0 0 1.5px var(--line); }
.news-opt.is-off .news-opt__c::before { opacity: 0.4; }
.news-opt.is-off .news-opt__name, .news-opt.is-off .news-opt__price b { color: var(--muted); }
.news-opt.is-off [data-st-note] { color: var(--accent-text); font-weight: 600; }
.news-qb__area { margin-bottom: 4px; }
.news-qb__area span { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; font-size: 14.5px; }
.news-qb__sum { position: sticky; top: calc(var(--head-h) + 24px); display: grid; gap: 16px; padding: clamp(20px, 2.4vw, 28px); border-radius: 16px; background: var(--bg); box-shadow: inset 0 0 0 1.5px var(--gold-line); }
.news-qb__lines { list-style: none; margin: 0; padding: 0 0 16px; display: grid; gap: 10px; border-bottom: 1px dashed var(--line-2); }
.news-qb__lines li { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font: 500 15px/1.35 var(--font-body); color: var(--ink-2); }
.news-qb__lines b { font: 600 15px/1.35 var(--font-num); color: var(--ink); white-space: nowrap; font-variant-numeric: tabular-nums; }
.news-qb__tot { margin: 0; display: grid; gap: 10px; }
.news-qb__tot > div { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.news-qb__tot dt { font: 500 15px/1.3 var(--font-body); color: var(--ink-2); }
.news-qb__tot dd { margin: 0; font: 600 16px/1.2 var(--font-num); color: var(--ink); white-space: nowrap; font-variant-numeric: tabular-nums; }
.news-qb__tot .news-qb__grand { flex-wrap: wrap; margin-top: 4px; padding-top: 16px; border-top: 1px solid var(--line-2); }
.news-qb__grand dt { font-weight: 700; color: var(--ink); }
.news-qb__grand .psg-price { font-size: clamp(38px, 3.6vw, 46px); }
.news-qb__sum .psg-save { font-size: 13.5px; }
@media (max-width: 960px) { .news-qb { grid-template-columns: minmax(0, 1fr); } .news-qb__sum { position: static; } }
@media (max-width: 560px) { .news-qb__opts { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Who it is for */
.news-who .card .more { margin-top: auto; }

/* ---------- Packages band partial ({{pr_band}}): self-contained, works on any page in both themes */
.news-band__in { position: relative; isolation: isolate; overflow: hidden; display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.3fr); gap: clamp(24px, 4vw, 56px); align-items: center;
  padding: clamp(24px, 4vw, 52px); border-radius: var(--radius-card); background: var(--panel); }
.news-band__in::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(55% 75% at 100% 0%, rgba(212, 166, 72, 0.16), transparent 70%); }
.news-band__copy { display: grid; gap: 16px; justify-items: start; min-width: 0; }
.news-band__copy > .eyebrow { display: inline-flex; align-items: center; gap: 10px; }
.news-band__copy > .eyebrow::before { content: ""; width: 22px; height: 2px; border-radius: 2px; background: var(--gold-grad); }
.news-band__copy .body-2 { max-width: 48ch; }
.news-band__copy .more { margin-top: 4px; }
.news-band__pkgs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; min-width: 0; }
.news-band__pkg { position: relative; display: grid; gap: 16px; align-content: start; padding: 8px 8px 18px; border-radius: 16px; background: var(--bg); min-width: 0; }
.news-band__pkg--pick { box-shadow: inset 0 0 0 2px var(--gold-line); }
.news-band__flag { position: absolute; top: -11px; right: 14px; z-index: 2; padding: 5px 8px; font-size: 12px; box-shadow: 0 4px 12px rgba(74, 45, 6, 0.14); }
.news-band__pkg .psg-tier { min-height: 84px; padding: 13px 14px; gap: 12px; }
.news-band__pkg .psg-tier__badge { width: auto; min-width: 46px; }
.news-band__pkg .psg-tier__big { font-size: 28px; letter-spacing: -0.04em; }
.news-band__pkg .psg-tier__name { font-size: 16px; letter-spacing: -0.015em; }
.news-band__price { display: grid; gap: 8px; justify-items: start; padding: 0 10px; }
.news-band__eb { padding: 5px 8px; border-radius: var(--radius-chip); background: var(--peach); color: var(--price-text); font: 700 11.5px/1 var(--font-body); letter-spacing: 0.06em; text-transform: uppercase; }
.news-band__now { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; }
.news-band__now .psg-price { font-size: clamp(28px, 2.6vw, 34px); }
.news-band__gst { font: 600 14px/1 var(--font-body); color: var(--ink-2); }
.news-band__price .psg-was { font-size: 14px; font-weight: 500; }
@media (max-width: 960px) { .news-band__in { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 560px) { .news-band__pkgs { grid-template-columns: minmax(0, 1fr); gap: 22px; } }

/* ---------- Light theme: hairline cards like the rest of the site */
:root[data-theme="light"] .news-pkg, :root[data-theme="light"] .news-cmp, :root[data-theme="light"] .news-step, :root[data-theme="light"] .news-addons,
:root[data-theme="light"] .news-up, :root[data-theme="light"] .news-qb, :root[data-theme="light"] .news-band__in { box-shadow: 0 0 0 1px var(--line), 0 1px 2px rgba(60, 50, 20, 0.04); }
:root[data-theme="light"] .news-pkg--pick { box-shadow: 0 0 0 2px var(--gold-line), 0 18px 44px rgba(181, 138, 53, 0.18); }
:root[data-theme="light"] .news-qb__sum { background: #faf9f6; }
:root[data-theme="light"] .news-band__pkg { background: #f8f7f3; box-shadow: inset 0 0 0 1px var(--line); }
:root[data-theme="light"] .news-band__pkg--pick { box-shadow: inset 0 0 0 2px var(--gold-line); }

/* Dark theme: the printout casts a softer, warmer glow on the dark band. */
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .news-art__paper { box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.1), 0 30px 70px rgba(0, 0, 0, 0.5); } :root:not([data-theme="light"]) .news-art__sheet { background: #d8d3c6; opacity: 0.9; } }
:root[data-theme="dark"] .news-art__paper { box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.1), 0 30px 70px rgba(0, 0, 0, 0.5); }
:root[data-theme="dark"] .news-art__sheet { background: #d8d3c6; opacity: 0.9; }

@media (prefers-reduced-motion: reduce) { .news-opt__c, .news-opt__c::before { transition: none; } }
