/* Giveario: shared foundations, components and responsive layouts. */
:root {
  --bg:#f7f4f1; --surface:#fff; --surface-subtle:#f0ece8; --surface-accent:#f6e9ee;
  --text:#171416; --text-secondary:#51494d; --text-muted:#6b6266;
  --border:#ded6d8; --border-strong:#c8bdc1; --accent:#841d45; --accent-hover:#681334; --accent-contrast:#fff;
  --success:#27624b; --success-bg:#e9f3ee; --warning:#7a5312; --warning-bg:#f9f0da;
  --ended:#6c6467; --ended-bg:#eee9e7; --focus:#1f5fbf;
  --shadow-sm:0 2px 8px rgba(36,19,25,.045); --shadow-md:0 8px 24px rgba(36,19,25,.08);
  --container:1160px; --content:760px; --header-h:68px;
  --radius-sm:10px; --radius-md:16px; --radius-lg:20px;
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px; --s7:48px; --s8:64px; --s9:88px;
  --page-gutter:32px; --section-space:48px; --panel-space:28px; --card-space:24px;
  --transition:160ms ease; --font-sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
html[data-theme="dark"] {
  --bg:#141113; --surface:#1e191c; --surface-subtle:#2a2227; --surface-accent:#38222d;
  --text:#f7f1f4; --text-secondary:#d8cfd2; --text-muted:#b8adb1;
  --border:#483b42; --border-strong:#68545f; --accent:#ff95bd; --accent-hover:#ffc0d6; --accent-contrast:#2a0f1b;
  --success:#9bd6b9; --success-bg:#193428; --warning:#f0c978; --warning-bg:#392c16;
  --ended:#c4b8bc; --ended-bg:#2c2729; --focus:#8ab4ff;
  --shadow-sm:0 2px 8px rgba(0,0,0,.14); --shadow-md:0 8px 24px rgba(0,0,0,.22);
  color-scheme:dark;
}
* {box-sizing:border-box}
html {background:var(--bg);color-scheme:light;scroll-padding-top:calc(var(--header-h) + 20px)}
body {margin:0;min-width:320px;background:var(--bg);color:var(--text);font:17px/1.65 var(--font-sans);-webkit-font-smoothing:antialiased}
img {display:block;max-width:100%;height:auto}
figure {margin:0}
a {color:var(--accent);text-underline-offset:.2em;text-decoration-thickness:.075em}
a:hover {color:var(--accent-hover)}
button,input,select,textarea {font:inherit;color:inherit}
button {cursor:pointer}
button:disabled {cursor:default;opacity:.6}
:focus-visible {outline:3px solid var(--focus);outline-offset:3px}
[hidden] {display:none!important}
::selection {background:var(--surface-accent);color:var(--text)}
h1,h2,h3 {margin:0;color:var(--text);letter-spacing:-.025em;overflow-wrap:break-word}
h1 {font-size:clamp(2rem,4vw,3.2rem);line-height:1.12;font-weight:800;max-width:900px;text-wrap:pretty}
h2 {font-size:clamp(1.35rem,2.2vw,1.9rem);line-height:1.22;font-weight:760}
h3 {font-size:1.13rem;line-height:1.3;font-weight:750}
p {margin:0 0 1em;color:var(--text-secondary)}
p,li,dd,figcaption {overflow-wrap:anywhere}
ul,ol,dl {color:var(--text-secondary)}
summary {cursor:pointer;min-height:44px}
main:not(.language-main):not(.error-main) {width:min(var(--container),calc(100% - var(--page-gutter)*2));margin:0 auto;padding-bottom:var(--s8)}
.visually-hidden {position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip-link {position:fixed;top:10px;left:16px;z-index:1000;transform:translateY(-180%);padding:10px 16px;background:var(--text);color:var(--bg);border-radius:8px;font-size:14px;font-weight:700;text-decoration:none}
.skip-link:focus {transform:none}
/* Navigation. The dropdown is a non-modal disclosure. */
.site-head,.language-header {position:sticky;top:0;z-index:100;background:var(--bg);border-bottom:1px solid var(--border)}
.head-inner,.language-header__inner {width:min(var(--container),calc(100% - var(--page-gutter)*2));min-height:var(--header-h);margin:auto;display:flex;align-items:center;gap:12px}
.wordmark {display:inline-flex;align-items:center;min-height:44px;text-decoration:none;flex-shrink:0}
.wordmark__image,.wordmark img {height:32px;width:auto;max-width:150px}
html[data-theme="dark"] .wordmark__image {filter:brightness(2.15) saturate(.7)}
.primary-nav {display:flex;align-items:center;gap:6px;margin-left:auto}
.primary-nav a,.lang-link {display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:8px 13px;border-radius:9px;color:var(--text-secondary);font-size:14px;font-weight:650;text-decoration:none}
.primary-nav a:hover,.primary-nav a[aria-current] {background:var(--surface-accent);color:var(--accent)}
.lang-link {border:1px solid var(--border);flex-direction:column;gap:0;padding:4px 10px;color:var(--accent);font-size:13px}
.lang-link__hint {font-size:10px;line-height:1.1;color:var(--text-secondary)}
.saved-count {display:inline-grid;place-items:center;min-width:23px;height:23px;padding:0 5px;border-radius:999px;background:var(--surface-accent);color:var(--accent);font-size:12px}
.theme-toggle,.menu-button {display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid transparent;border-radius:9px;background:transparent;flex-shrink:0;color:var(--text-secondary)}
.theme-toggle:hover,.menu-button:hover {background:var(--surface-subtle)}
.theme-toggle__track {position:relative;display:block;width:24px;height:24px}
.theme-toggle__icon {position:absolute;inset:0;display:grid;place-items:center;font-size:21px}
.theme-toggle__icon--moon {display:none}
html[data-theme="dark"] .theme-toggle__icon--sun {display:none}
html[data-theme="dark"] .theme-toggle__icon--moon {display:grid}
.menu-button {display:none;width:auto;min-width:44px;gap:8px;padding:0 10px}
.menu-lines {display:grid;gap:5px;width:19px}
.menu-lines span {display:block;height:2px;background:currentColor;border-radius:2px;transition:transform var(--transition)}
.menu-button[aria-expanded="true"] .menu-lines span:first-child {transform:translateY(3.5px) rotate(45deg)}
.menu-button[aria-expanded="true"] .menu-lines span:last-child {transform:translateY(-3.5px) rotate(-45deg)}
.menu-text {font-size:13px;font-weight:700}
/* Buttons and shared small text. */
.button {display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:44px;max-width:100%;min-height:44px;padding:10px 16px;border:1px solid transparent;border-radius:9px;text-decoration:none;text-align:center;overflow-wrap:anywhere;font-size:14px;line-height:1.3;font-weight:720;transition:background var(--transition),border-color var(--transition)}
.button--primary {background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}
.button--primary:hover {background:var(--accent-hover);color:var(--accent-contrast);border-color:var(--accent-hover)}
.button--secondary,.button--ghost {background:var(--surface);border-color:var(--border-strong);color:var(--text-secondary)}
.button--secondary:hover,.button--ghost:hover {border-color:var(--accent);color:var(--accent)}
.button--internal::after {content:"→";margin-left:3px}
.button--external::after {content:"↗";margin-left:3px}
.button-row {display:flex;flex-wrap:wrap;gap:10px}
.micro {color:var(--accent);font-size:12px;font-weight:760;letter-spacing:.09em;text-transform:uppercase;margin:0 0 10px}
.hero,.page-hero {padding:48px 0 32px}
.page-hero {max-width:var(--content);margin:auto}
.hero-lede {max-width:740px;font-size:17px;line-height:1.55;margin:14px 0 0}
.crumbs {font-size:13px;margin:0 0 20px}
.crumbs ol {display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.crumbs li {display:inline-flex;align-items:center;gap:8px}
.crumbs li+li::before {content:"/";color:var(--text-muted)}
.crumbs a {color:var(--text-muted);text-decoration:none;min-height:24px}
/* Discovery. Core controls stay visible; optional filters are disclosed. */
.catalog-hero {padding:40px 0 32px}
.catalog-hero h1 {font-size:clamp(2rem,3.4vw,3rem)}
.catalog-hero--pagination {padding-top:22px}
.catalog-hero--pagination .hero-lede {display:none}
.discovery-form {margin:0 0 20px}
.discovery-primary {display:flex;gap:12px;align-items:flex-end}
.discovery-form label {display:flex;flex-direction:column;gap:6px;min-width:0;font-size:13px;font-weight:650}
.search-field {flex:1 1 320px}
.country-field {flex:0 1 235px}
.discovery-form input,.discovery-form select,.error-search input {width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--border-strong);border-radius:9px;background:var(--surface);color:var(--text);font-size:16px;line-height:1.3}
.discovery-form input::placeholder {color:var(--text-muted)}
.filter-toggle,.search-submit {min-height:48px;white-space:nowrap}
.discovery-filters {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px;margin-top:14px}
.active-filters {display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}
.active-filters:empty,.catalog-loading:empty {display:none}
.filter-chip {display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:6px 11px;border:1px solid var(--border);border-radius:999px;background:var(--surface-accent);color:var(--accent);font-size:13px;font-weight:650}
.catalog-loading {font-size:14px;margin-top:10px}
.catalog-noscript-countries {font-size:13px;margin:0 0 12px}
.js .catalog-noscript-countries {display:none}
.listing-section {padding-top:0}
.catalog-results-header {display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:16px 0 24px;scroll-margin-top:90px}
.catalog-results-header h2 {font-size:18px}
.catalog-results-count,.catalog-results-header p {font-size:14px;margin:0;color:var(--text-muted)}
/* Cards: consistent content, visible decisive requirements. */
.records-grid,.saved-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0;padding:0}
.record {display:flex;flex-direction:column;min-width:0;border:1px solid var(--border);border-radius:14px;background:var(--surface);overflow:hidden;box-shadow:var(--shadow-sm)}
.record-media {position:relative;display:block;aspect-ratio:16/9;max-height:210px;background:var(--surface-subtle);border-bottom:1px solid var(--border);overflow:hidden}
.record-media img {width:100%;height:100%;object-fit:contain;object-position:center}
.record-body {display:flex;flex-direction:column;flex:1;min-width:0;padding:var(--card-space)}
.record-status-row {display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:0 0 12px}
.record-status-pill,.promotion-status {display:inline-flex;align-items:center;gap:6px;min-height:27px;padding:4px 9px;border-radius:999px;background:var(--success-bg);color:var(--success);font-size:13px;font-weight:750;line-height:1.3}
.record-status-pill::before,.promotion-status::before {content:"";width:6px;height:6px;flex-shrink:0;border-radius:50%;background:currentColor}
.record-status-pill--upcoming,.promotion-status--upcoming {background:var(--warning-bg);color:var(--warning)}
.record-status-pill--expired,.promotion-status--expired,.promotion-status--ended {background:var(--ended-bg);color:var(--ended)}
.record-deadline {font-size:13px;font-weight:620;color:var(--text-muted)}
.record h3 {margin:0 0 12px}
.record h3 a {color:var(--text);text-decoration:none}
.record h3 a:hover {color:var(--accent)}
.record-field-label {display:block;font-size:13px;letter-spacing:.025em;color:var(--text-muted);font-weight:650;margin-bottom:4px}
.record-prize {font-size:15px;line-height:1.5;color:var(--text);margin:0 0 12px}
.record-facts {display:flex;flex-wrap:wrap;gap:6px;margin:0 0 9px}
.requirement-pill {display:inline-flex;align-items:center;min-height:28px;border:1px solid var(--border);border-radius:6px;padding:4px 7px;font-size:13px;line-height:1.3;font-weight:650;color:var(--text-secondary);background:var(--surface-subtle)}
.requirement-pill--free {background:var(--success-bg);border-color:transparent;color:var(--success)}
.record-territory {font-size:13px;line-height:1.45;margin:0 0 8px;color:var(--text-secondary);font-weight:600}
.record-requirements {margin:0 0 10px;border-top:1px solid var(--border);font-size:13px}
.record-requirements summary {display:list-item;padding:10px 0;color:var(--text-muted);font-weight:650}
.record-requirements p {font-size:14px;line-height:1.55;margin:0 0 12px}
.requirement-list {display:grid;gap:14px;padding:0;margin:8px 0 18px;list-style:none;font-size:14px;line-height:1.6}
.requirement-list li {min-width:0;margin:0;overflow-wrap:anywhere}
.requirement-list li+li {padding-top:14px;border-top:1px solid var(--border)}
.requirement-list strong,.requirement-list span {display:block}
.requirement-list strong {margin-bottom:4px;color:var(--text);font-weight:650}
.record-requirements[open] {margin-bottom:18px}
.record-actions {display:flex;gap:12px;align-items:center;margin-top:auto;padding-top:16px}
.record-actions>.button {flex:1}
.save-button {display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;min-width:44px;padding:8px 10px;border:1px solid var(--border-strong);border-radius:9px;color:var(--accent);background:var(--surface);font-size:14px;font-weight:650;line-height:1.3}
.save-button>span[aria-hidden] {font-size:24px;line-height:1}
.save-button[aria-pressed="true"] {background:var(--surface-accent);border-color:var(--accent)}
.record .save-button__label {display:none}
/* Pagination keeps real links as a no-JavaScript fallback. */
.pagination {display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin-top:36px;padding-top:28px;border-top:1px solid var(--border)}
.pagination__numbers {display:flex;align-items:center;justify-content:center;gap:5px}
.pagination__page {display:inline-grid;place-items:center;min-width:44px;height:44px;padding:0 7px;border-radius:9px;color:var(--text-secondary);font-size:14px;font-weight:700;text-decoration:none}
.pagination__page:hover {background:var(--surface-subtle)}
.pagination__page.is-current {background:var(--accent);color:var(--accent-contrast)}
.pagination__ellipsis {padding:0 5px;color:var(--text-muted)}
.pagination__control {display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 12px;border:1px solid var(--border-strong);border-radius:9px;background:var(--surface);color:var(--text);font-size:14px;font-weight:650;line-height:1.3;text-decoration:none}
.pagination__control--next {justify-self:end}
.pagination__control.is-disabled {opacity:.45}
.pagination__status {display:none;font-size:13px;color:var(--text-muted)}
.pagination__jump {grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:10px;font-size:13px;margin-top:8px}
.pagination__jump select {min-height:44px;background:var(--surface);border:1px solid var(--border-strong);border-radius:8px;padding:7px 12px;color:var(--text)}
/* Promotion pages: decision and official action precede the image and long copy. */
main[data-promotion-page="true"] {max-width:var(--content)}
.promotion-hero {max-width:var(--content);padding:36px 0 28px}
.promotion-hero h1 {max-width:850px;font-size:clamp(2rem,3.3vw,2.7rem);line-height:1.15}
.promotion-hero .hero-lede {max-width:780px;font-size:16px}
.promotion-statusbar {display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:13px}
.promotion-reviewed {font-size:13px;color:var(--text-muted)}
.promotion-state-note {margin-top:18px;padding:16px 18px;border-left:3px solid var(--warning);border-radius:0 9px 9px 0;background:var(--warning-bg);font-size:15px;color:var(--warning)}
.promotion-state-note p {margin:6px 0 0;color:inherit}
.promotion-essentials {width:100%;padding:var(--panel-space);border:1px solid var(--border);border-radius:16px;background:var(--surface)}
.promotion-essentials h2 {font-size:16px;color:var(--text-muted);margin-bottom:12px}
.promotion-prize-summary {font-size:21px;line-height:1.4;font-weight:720;color:var(--text);margin-bottom:18px}
.facts-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 20px;margin:0}
.fact-item {min-width:0;padding:0}
.fact-item dt,.promotion-extra-details dt {font-size:13px;color:var(--text-muted);margin:0 0 5px;font-weight:620}
.fact-item dd {margin:0;font-size:15px;line-height:1.45;font-weight:620;color:var(--text);overflow-wrap:anywhere}
.promotion-actions {display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px;margin:28px 0 0;padding:0}
.promotion-actions .button {min-height:48px;font-size:15px}
.promotion-actions__note {flex-basis:100%;font-size:13px;line-height:1.6;margin:4px 0 0;color:var(--text-muted)}
.promotion-decision .promotion-actions {margin:22px 0 16px}
.promotion-save {display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:13px;color:var(--text-muted);padding-top:18px;border-top:1px solid var(--border)}
.promotion-visual {position:relative;max-width:760px;margin:32px auto 0;background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden}
.promotion-visual img {width:100%;max-height:425px;object-fit:contain}
.promotion-extra-details {max-width:760px;margin:20px auto 0;border-bottom:1px solid var(--border);font-size:15px}
.promotion-extra-details summary {padding:12px 0;font-weight:650;color:var(--text-secondary)}
.promotion-extra-details dl {margin:0 0 20px;display:grid;gap:16px}
.promotion-extra-details dd {margin:0;color:var(--text-secondary);font-size:15px}
.guide-section,.text-flow {max-width:var(--content);margin:var(--section-space) auto 0}
.guide-section h2,.text-flow h2 {margin:0 0 18px}
.guide-section h3,.text-flow h3 {margin:22px 0 12px}
.guide-section p,.text-flow p {line-height:1.75}
.guide-section a,.text-flow a {overflow-wrap:anywhere}
.guide-section>:last-child,.text-flow>:last-child {margin-bottom:0}
.text-flow>h2:not(:first-child) {margin-top:40px}
.text-flow>ul,.text-flow>ol {margin-block:20px 24px;padding-left:24px}
.text-flow li+li {margin-top:8px}
.text-flow>section+section {margin-top:var(--section-space)}
main>.page-hero+.text-flow,main>.page-hero+.guide-section {margin-top:24px}
.guide-section .button-row,.text-flow .button-row {margin-top:24px}
.guide-section li {margin-bottom:9px}
.guide-section ol,.guide-section ul {padding-left:24px}
.promotion-explore {border-top:1px solid var(--border);padding-top:28px}
.promotion-explore__actions {display:flex;flex-wrap:wrap;gap:10px}
.promotion-archive {padding:20px;border:1px solid var(--border);border-radius:12px;background:var(--surface-subtle)}
.promotion-archive p,.promotion-archive li {font-size:14px}
/* Optional check: no gating or transmission of personal answers. */
.eligibility-checker {max-width:var(--content);margin:32px auto 0;padding:var(--panel-space);background:var(--surface);border:1px solid var(--border);border-radius:14px}
.eligibility-checker h2 {font-size:20px;margin-bottom:12px}
.eligibility-checker>p {font-size:15px}
.eligibility-intro {margin:0;line-height:1.6}
.eligibility-overview {margin:20px 0}
.eligibility-checklist {padding:0;margin:20px 0 24px;list-style:none}
.eligibility-checklist li {margin:0;border-top:1px solid var(--border)}
.eligibility-checklist li:first-child {border-top:0}
.eligibility-checklist label {display:flex;align-items:flex-start;gap:12px;min-height:48px;padding:16px 0;cursor:pointer;font-size:15px;line-height:1.6}
.eligibility-checklist input {width:20px;height:20px;flex-shrink:0;margin:2px 0 0;accent-color:var(--accent)}
.eligibility-checklist__content {display:grid;gap:4px;min-width:0;overflow-wrap:anywhere}
.eligibility-checklist__content strong {display:block;font-weight:650;color:var(--text)}
.eligibility-result {border-radius:9px;background:var(--surface-subtle);padding:13px 15px;margin:0;font-size:14px;line-height:1.6}
.eligibility-result.is-complete {background:var(--success-bg);color:var(--success)}
.eligibility-result.is-partial {background:var(--warning-bg);color:var(--warning)}
.eligibility-note {font-size:13px!important;line-height:1.6;margin:16px 0 0;color:var(--text-muted)}
.eligibility-reset {margin-top:20px;font-size:13px}
/* Related cards use the same card component. */
.related-promotions {margin-top:var(--section-space)}
.related-promotions__header {margin-bottom:24px}
.related-promotions__header h2 {font-size:24px;margin-bottom:12px}
.related-promotions__header>:last-child {margin-bottom:0}
.related-promotions__grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.related-promotions .record-body {padding:var(--card-space)}
.related-promotions .record h3 {font-size:16px}
.related-promotions .record-prize {font-size:14px}
.promotion-country-badge {position:absolute;top:9px;right:9px;width:30px;height:30px;padding:0;border:2px solid var(--surface);border-radius:50%;overflow:hidden;background:var(--surface)}
.promotion-country-badge__flag {width:100%;height:100%;object-fit:cover}
.promotion-deadline-badge {position:absolute;top:9px;left:9px;padding:6px 9px;border-radius:6px;font-size:12px;font-weight:700;background:var(--warning-bg);color:var(--warning)}
/* Directories and explicit recovery states. */
.directory {max-width:none;margin-top:0}
.directory-grid {display:block}
.directory-group {margin-bottom:40px}
.directory-group>h2 {font-size:18px;margin-bottom:16px}
.directory-group__cards {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.directory-card {display:flex;align-items:center;gap:16px;min-height:100px;padding:20px;border:1px solid var(--border);border-radius:12px;background:var(--surface);text-decoration:none;color:var(--text)}
.directory-card::after {content:"→";margin-left:auto;flex-shrink:0;color:var(--accent)}
.directory-card:hover {border-color:var(--accent)}
.directory-card__flag {display:block;flex-shrink:0;width:36px;height:26px;overflow:hidden;border:1px solid var(--border);border-radius:5px}
.directory-card__flag img {width:100%;height:100%;object-fit:cover}
.directory-card>div {min-width:0}
.directory-card h2 {font-size:16px;line-height:1.3;margin:0 0 3px}
.directory-card p {font-size:13px;line-height:1.4;margin:0;color:var(--text-muted)}
.empty-state {width:100%;padding:32px 24px;background:var(--surface);border:1px dashed var(--border-strong);border-radius:14px;margin:8px 0 24px;text-align:center}
.empty-state h2 {font-size:22px;max-width:600px;margin:12px auto}
.empty-state p {max-width:570px;margin:0 auto 20px;font-size:15px}
.empty-state .button-row {justify-content:center}
.empty-state__icon {font-size:34px;line-height:1;color:var(--accent)}
.saved-grid:empty {display:none}
/* Editorial, legal and footer layouts. */
.faq-list {max-width:760px;margin:30px auto}
.faq-list details {padding:12px 0;border-bottom:1px solid var(--border)}
.faq-list summary {font-weight:700;padding:10px 0}
.clean-list {padding-left:24px}
.site-foot {border-top:1px solid var(--border);background:var(--surface)}
.foot-inner {max-width:1160px;width:calc(100% - var(--page-gutter)*2);margin:auto;padding:44px 0;display:grid;grid-template-columns:1fr 1fr;gap:64px}
.foot-brand p {font-size:14px;max-width:370px;margin:12px 0 0}
.footer-navs {display:grid;grid-template-columns:1fr 1fr;gap:24px}
.footer-nav {display:flex;flex-direction:column;gap:8px}
.footer-nav__label {font-size:12px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;margin:0 0 5px}
.footer-nav a {font-size:14px;display:inline-flex;align-items:center;min-height:32px;color:var(--text-secondary);text-decoration:none}
.footer-nav a:hover {color:var(--accent)}
.legal-line {width:min(1160px,calc(100% - var(--page-gutter)*2));margin:0 auto;padding:22px 0;border-top:1px solid var(--border);font-size:12px;color:var(--text-muted)}
/* Language selection and 404. */
.language-main {width:min(820px,calc(100% - var(--page-gutter)*2));margin:auto;padding:64px 0 48px}
.language-hero h1 span {display:block}
.language-hero h1 span[lang="en"] {font-size:.6em;color:var(--text-muted);margin-top:6px}
.language-intro {font-size:17px;margin:18px 0 24px}
.language-intro span {display:block}
.language-options {display:grid;grid-template-columns:1fr 1fr;gap:24px}
.language-card {display:flex;align-items:center;flex-wrap:wrap;gap:16px;padding:24px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);text-decoration:none}
.language-card:hover {border-color:var(--accent)}
.language-card__identity {display:flex;align-items:center;gap:14px}
.language-code {display:grid;place-items:center;width:44px;height:44px;border-radius:10px;background:var(--surface-accent);color:var(--accent);font-weight:760}
.language-card__text {display:flex;flex-direction:column}
.language-card__title {font-size:19px}
.language-card__action {font-size:13px;color:var(--text-muted)}
.language-card__arrow {margin-left:auto;color:var(--accent)}
.language-card__recommended {font-size:11px;color:var(--accent);font-weight:700}
.language-note {font-size:13px;color:var(--text-muted);margin:18px 0 0}
.language-about {margin-top:48px;padding-top:32px;border-top:1px solid var(--border)}
.language-about h2 {font-size:21px;margin-bottom:18px}
.language-about__grid {display:grid;grid-template-columns:1fr 1fr;gap:28px;font-size:14px}
.language-about__grid h3 {font-size:17px;margin-bottom:12px}
.language-footer {width:min(820px,calc(100% - var(--page-gutter)*2));margin:auto;display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;border-top:1px solid var(--border);padding:24px 0;font-size:13px}
.language-footer nav {display:flex;flex-wrap:wrap;gap:12px}
.error-main {width:min(640px,calc(100% - var(--page-gutter)*2));margin:64px auto}
.error-card {background:var(--surface);padding:40px;border:1px solid var(--border);border-radius:16px}
.error-card h1 {font-size:30px;margin:22px 0 16px}
.error-card h1 span {display:block;font-size:22px;color:var(--text-muted);margin-top:8px}
.error-actions {display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.error-actions>a {display:inline-flex;align-items:center;min-height:44px;padding:10px 18px;border:1px solid var(--border);border-radius:9px;text-decoration:none}
.error-search {width:100%;display:grid;gap:12px;margin-top:24px}
.error-search label {font-size:14px}
.error-page>.footer-action {display:block;width:fit-content;max-width:calc(100% - var(--page-gutter)*2);min-height:44px;margin:0 auto 32px}
.site-status {position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:120;width:max-content;max-width:calc(100% - 32px);padding:12px 18px;border-radius:10px;background:var(--text);color:var(--bg);box-shadow:var(--shadow-md);font-size:14px}
@media (min-width:700px) and (max-width:1199px) {
  .records-grid,.saved-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .directory-group__cards {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px) {
  :root {--header-h:64px;--page-gutter:24px}
  .head-inner {gap:8px}
  .primary-nav {gap:3px}
  .js .primary-nav {position:absolute;left:16px;right:16px;top:72px;display:none;flex-direction:column;align-items:stretch;margin:0;padding:8px;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:var(--shadow-md)}
  .js .primary-nav.is-open {display:flex}
  .js .primary-nav a {justify-content:flex-start;min-height:48px}
  .js .menu-button {display:inline-flex}
  .head-inner>.lang-link {margin-left:auto}
  .discovery-primary {flex-wrap:wrap;gap:10px}
  .search-field {flex-basis:100%}
  .country-field {flex:1 1 190px}
  .discovery-filters {grid-template-columns:repeat(2,minmax(0,1fr))}
  .related-promotions__grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .related-promotions__grid>.record:last-child:nth-child(odd) {grid-column:1/-1;max-width:430px}
}
@media (max-width:699px) {
  :root {--page-gutter:20px;--section-space:36px;--panel-space:22px;--card-space:20px}
  body {font-size:16px}
  main:not(.language-main):not(.error-main) {padding-bottom:48px}
  .wordmark__image,.wordmark img {height:29px;max-width:112px}
  .head-inner {gap:5px}
  .lang-link {padding-inline:8px}
  .menu-text {display:none}
  .menu-button {width:44px;padding:0}
  .hero,.page-hero {padding:32px 0 24px}
  .catalog-hero h1 {font-size:31px;line-height:1.15}
  .catalog-hero .micro {font-size:11px;margin-bottom:8px}
  .hero-lede {font-size:16px;margin-top:11px;line-height:1.5}
  .catalog-hero--pagination {padding-top:18px}
  .catalog-hero--pagination h1 {font-size:25px}
  .search-field {flex-basis:100%}
  .country-field {flex:1 1 140px}
  .filter-toggle {padding:10px 12px}
  .search-submit {padding:10px 13px}
  .discovery-primary label {font-size:13px}
  .discovery-filters {padding:14px;gap:14px}
  .catalog-results-header {padding:14px 0 16px;gap:6px}
  .catalog-results-header h2 {font-size:17px}
  .catalog-results-header p {font-size:13px}
  .records-grid,.saved-grid {grid-template-columns:1fr;gap:20px}
  .record-media {max-height:190px}
  .record-body {padding:var(--card-space)}
  .record h3 {font-size:19px}
  .record-status-row {margin-bottom:10px}
  .record-prize {font-size:15px}
  .requirement-pill {font-size:13px}
  .record-territory {font-size:13px}
  .pagination {grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px}
  .pagination__numbers {display:none}
  .pagination__status {display:block;white-space:nowrap}
  .pagination__control {font-size:13px;padding:10px 8px;gap:5px}
  .pagination__control--next {justify-self:stretch}
  .facts-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}
  .promotion-hero {padding:28px 0 24px}
  .promotion-hero h1 {font-size:30px;line-height:1.17}
  .promotion-hero .crumbs {margin-bottom:16px}
  .promotion-hero .hero-lede {font-size:15px}
  .promotion-statusbar {gap:8px;margin-bottom:12px}
  .promotion-reviewed {font-size:13px}
  .promotion-essentials {padding:var(--panel-space)}
  .promotion-prize-summary {font-size:19px}
  .fact-item dd {font-size:14px}
  .promotion-actions {flex-direction:column}
  .promotion-actions .button {width:100%;min-height:48px;font-size:14px}
  .promotion-actions__note {font-size:13px;line-height:1.5}
  .promotion-save {align-items:flex-start;gap:8px}
  .promotion-save>span {font-size:12px;align-self:center;max-width:160px}
  .promotion-visual {margin-top:24px}
  .guide-section,.text-flow {margin-top:var(--section-space)}
  .text-flow>h2:not(:first-child) {margin-top:32px}
  .guide-section h2,.text-flow h2 {font-size:23px}
  .eligibility-checker {margin-top:24px;padding:var(--panel-space)}
  .eligibility-checker h2 {font-size:20px}
  .related-promotions__grid {grid-template-columns:1fr}
  .related-promotions__grid>.record:last-child:nth-child(odd) {grid-column:auto;max-width:none}
  .related-promotions__header h2 {font-size:24px}
  .directory-group__cards {grid-template-columns:1fr}
  .directory-card {min-height:92px;padding:18px}
  .directory-card p {font-size:13px}
  .empty-state {padding:25px 18px}
  .empty-state h2 {font-size:21px}
  .empty-state .button-row {flex-direction:column}
  .promotion-explore__actions {flex-direction:column}
  .foot-inner {grid-template-columns:1fr;gap:32px;padding:36px 0}
  .footer-navs {gap:24px}
  .language-main {padding:36px 0}
  .language-options {grid-template-columns:1fr}
  .language-card {padding:20px}
  .language-about__grid {grid-template-columns:1fr;gap:24px}
  .language-note span[aria-hidden] {display:none}
  .language-note span {display:block}
  .language-footer {flex-direction:column;gap:16px}
  .language-hero h1 {font-size:36px}
  .error-card {padding:24px}
  .error-main {margin-block:36px}
}
@media (max-width:360px) {
  :root {--page-gutter:16px;--panel-space:20px;--card-space:18px}
  .catalog-hero h1 {font-size:28px}
  .discovery-primary {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
  .search-field,.search-submit {grid-column:1/-1}
  .discovery-filters {grid-template-columns:1fr}
  .promotion-hero h1 {font-size:27px}
  .pagination {gap:5px}
  .pagination__status {font-size:12px}
  .pagination__control {font-size:12px;padding-inline:6px}
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after {scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
@media (forced-colors:active) {
  .button,.record,.save-button,.promotion-essentials,.requirement-pill,.record-status-pill,.promotion-status,.empty-state,.directory-card {border:1px solid CanvasText}
  .pagination__page.is-current {outline:2px solid Highlight;outline-offset:2px}
}

/* GIVEARIO APP EXPERIENCE v1 — 2026-10-11
   Shared visual system. Keep content, sources and SEO separate from decoration. */
:root {
  --bg:#fdfbfd; --surface:#ffffff; --surface-subtle:#fbf7f9; --surface-accent:#fce9f1;
  --text:#141424; --text-secondary:#52566a; --text-muted:#696d80;
  --border:#efe5eb; --border-strong:#e7d9e1;
  --accent:#ad0750; --accent-hover:#87043e; --accent-contrast:#ffffff;
  --success:#12653b; --success-bg:#e9f9f0;
  --shadow-sm:0 5px 20px rgba(89,31,58,.045);
  --shadow-md:0 14px 36px rgba(89,31,58,.11);
  --container:1380px; --content:830px; --header-h:68px;
  --radius-sm:12px; --radius-md:18px; --radius-lg:24px;
  --page-gutter:32px; --section-space:48px; --panel-space:26px; --card-space:18px;
}
html[data-theme="dark"] {
  --bg:#151019; --surface:#211b26; --surface-subtle:#2a222d; --surface-accent:#402233;
  --text:#fff8fb; --text-secondary:#e6dbe2; --text-muted:#c5b3bf;
  --border:#493342; --border-strong:#65445a;
  --accent:#ffa8cc; --accent-hover:#ffd1e3; --accent-contrast:#2a0920;
  --success:#a0eac0; --success-bg:#19392a;
  --shadow-sm:0 7px 24px rgba(0,0,0,.14);
  --shadow-md:0 17px 40px rgba(0,0,0,.25);
}
body {line-height:1.58;letter-spacing:-.006em}
h1,h2,h3 {letter-spacing:-.037em;text-wrap:pretty}
h1 {line-height:1.09}
h2 {line-height:1.17}
p {line-height:1.65}
.site-head {background:color-mix(in srgb,var(--surface) 95%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-color:var(--border)}
.head-inner {gap:16px}
.wordmark__image,.wordmark img {height:38px;max-width:174px}
.primary-nav {margin-left:auto;margin-right:auto;gap:7px}
.primary-nav a {border-radius:11px;min-height:48px;padding-inline:15px;font-size:14px;font-weight:720}
.primary-nav a[aria-current] {background:transparent;box-shadow:inset 0 -3px 0 var(--accent);border-radius:0;color:var(--accent)}
.primary-nav a:hover {background:var(--surface-accent)}
.primary-nav a:nth-child(1)::before {content:'⌕';font-size:25px;font-weight:500;line-height:16px}
.primary-nav a:nth-child(2)::before {content:'◎';font-size:18px;line-height:16px}
.primary-nav a:nth-child(3)::before {content:'▤';font-size:19px;line-height:16px}
.lang-link {border-radius:999px;min-width:52px;padding-inline:14px;background:var(--surface);box-shadow:var(--shadow-sm);font-size:14px;font-weight:750}
.theme-toggle {background:var(--surface-subtle);border-color:var(--border);border-radius:50%}
.button {border-radius:999px;padding-inline:20px;letter-spacing:-.005em}
.button--secondary,.button--ghost {background:var(--surface);border-color:var(--border-strong)}
.button--primary {box-shadow:0 5px 14px rgba(150,0,72,.10)}
.micro {font-size:11px;letter-spacing:.21em;font-weight:820}
/* Main discover/search region: full-bleed soft-pink arc with genuine decorative artwork. */
.app-discovery-shell {position:relative;isolation:isolate;margin-inline:calc(50% - 50vw);padding:46px max(var(--page-gutter),calc((100vw - var(--container))/2)) 33px;overflow:hidden;background:radial-gradient(ellipse 48% 95% at 83% 6%,#fce0e9 0%,transparent 75%),radial-gradient(ellipse 45% 60% at 3% 12%,#fff0f3 0%,transparent 95%),linear-gradient(180deg,#fff5f8 0%,#fffafd 92%);border-bottom:1px solid var(--border)}
.app-discovery-shell::before {content:'';pointer-events:none;position:absolute;z-index:-1;width:860px;height:440px;right:-265px;top:-185px;border-radius:50%;background:rgba(255,213,227,.48);transform:rotate(-17deg)}
.app-discovery-shell::after {content:'';pointer-events:none;position:absolute;z-index:-1;right:max(1%,calc((100vw - var(--container))/2));top:42px;width:min(46vw,660px);height:284px;background-image:url('/assets/img/giveario-app-gifts.webp');background-repeat:no-repeat;background-position:center bottom;background-size:contain}
html[data-theme="dark"] .app-discovery-shell {background:radial-gradient(ellipse 55% 70% at 83% 7%,#50223c 0%,transparent 88%),linear-gradient(180deg,#291a29,#19131d)}
html[data-theme="dark"] .app-discovery-shell::before {background:rgba(109,31,74,.25)}
html[data-theme="dark"] .app-discovery-shell::after {opacity:.58}
.app-discovery-inner {position:relative;max-width:var(--container);margin-inline:auto}
.app-discovery-inner .catalog-hero {width:min(620px,61%);padding:0 0 21px;min-height:198px}
.app-discovery-inner .catalog-hero h1 {font-size:clamp(36px,3.65vw,55px);line-height:1.04;max-width:580px;font-weight:850}
.app-discovery-inner .catalog-hero h1 .app-hero-highlight {color:var(--accent);display:block}
.app-discovery-inner .catalog-hero .hero-lede {margin-top:13px;max-width:550px;font-size:17px;line-height:1.45}
.app-discovery-inner .discovery-form {position:relative;margin:0}
.app-discovery-inner .discovery-primary {width:min(1050px,100%);align-items:center;gap:10px}
.app-discovery-inner .discovery-primary label {gap:0}
.app-discovery-inner .discovery-primary label>span {position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}
.app-discovery-inner .discovery-primary input,.app-discovery-inner .discovery-primary select {height:52px;min-height:52px;border-color:#f0dee8;background:var(--surface);border-radius:999px;box-shadow:var(--shadow-sm);padding-inline:22px}
.app-discovery-inner .search-field {flex:1 1 390px}
.app-discovery-inner .country-field {flex:0 1 240px}
.app-discovery-inner .search-submit {min-width:166px;min-height:52px}
.app-discovery-inner .filter-toggle {display:none}
.app-discovery-inner .discovery-filters {margin-top:65px;border-radius:18px;box-shadow:var(--shadow-sm)}
.app-quick-filters {display:flex;align-items:center;gap:9px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;padding:14px 52px 7px 0;margin:0;list-style:none}
.app-quick-filters::-webkit-scrollbar {display:none}
.app-quick-filters :is(button,a) {min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:7px;flex-shrink:0;padding:7px 16px;border:1px solid var(--border-strong);border-radius:999px;background:color-mix(in srgb,var(--surface) 88%,transparent);box-shadow:0 3px 10px rgba(130,34,80,.05);color:var(--text-secondary);font-size:13px;line-height:1.1;font-weight:720;white-space:nowrap;text-decoration:none}
.app-quick-filters :is(button,a)[data-active="true"],.app-quick-filters :is(button,a)[aria-pressed="true"] {border-color:var(--accent);background:var(--accent);color:var(--accent-contrast)}
.app-quick-filters :is(button,a):hover {border-color:var(--accent)}
.app-quick-filters :is(button,a) .app-chip-icon {font-size:17px;line-height:1}
.app-discovery-inner .active-filters {padding-bottom:4px}
.app-discovery-inner .catalog-noscript-countries {margin:0}
/* Cards: 4-column product discovery, clear date, compact metadata, generous padding. */
.catalog-results-header {padding:35px 0 18px;gap:12px}
.catalog-results-header h2 {font-size:clamp(25px,2.4vw,33px);font-weight:820}
.catalog-results-count {font-size:13px!important;min-width:0}
.records-grid,.saved-grid {grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}
.record {position:relative;border-color:var(--border);border-radius:18px;box-shadow:var(--shadow-sm);transition:transform .18s ease,box-shadow .18s ease}
.record:hover {transform:translateY(-2px);box-shadow:var(--shadow-md)}
.record-media {aspect-ratio:1.83;max-height:none;background:var(--surface-subtle);border:0}
.record-media img {object-fit:contain;image-rendering:auto}
.record-body {padding:16px 17px 17px}
.record-status-row {margin:0 0 10px;min-height:22px;align-items:flex-start}
.record-status-pill {position:absolute;top:11px;left:11px;z-index:2;min-height:27px;padding:5px 10px;font-size:12px;border:1px solid #fff9;box-shadow:0 3px 10px #16101b18}
.record-deadline {font-weight:650;font-size:12px;color:var(--text-muted)}
.record-deadline::before {content:'▣';margin-right:5px;color:var(--accent)}
.record h3 {font-size:16px;line-height:1.29;font-weight:800;margin-bottom:7px}
.record-prize {color:var(--text-secondary);font-size:13px;line-height:1.46;margin-bottom:9px}
.record-field-label {display:none}
.record-facts {gap:5px;margin:0 0 8px}
.requirement-pill {border-radius:999px;font-size:11px;min-height:24px;padding:3px 8px;background:var(--surface-accent);color:var(--accent);border-color:transparent}
.requirement-pill--free {background:var(--surface-accent);color:var(--accent)}
.record-territory {font-size:12px;color:var(--text-muted);font-weight:600;margin-bottom:5px}
.record-territory::before {content:'⌾';font-size:15px;margin-right:5px;color:var(--accent)}
.records-grid .record-requirements,.related-promotions .record-requirements,.saved-grid .record-requirements {display:none}
.record-actions {gap:0;margin-top:auto;padding-top:12px}
.record-actions>.button {font-size:13px;font-weight:800;min-height:39px;padding:8px 12px;border:0;border-radius:10px;background:var(--surface-accent);color:var(--accent);box-shadow:none}
.record-actions>.button:hover {background:var(--accent);color:var(--accent-contrast)}
.record .save-button {position:absolute;top:4px;right:4px;z-index:3;padding:0;min-width:44px;min-height:44px;border-radius:50%;background:color-mix(in srgb,var(--surface) 90%,transparent);border-color:var(--border);box-shadow:0 2px 9px #0002}
.record .save-button>span[aria-hidden] {font-size:25px}
/* Panels beneath the listings. "Soon" data is rendered from the live local catalog. */
.app-dashboard {display:grid;grid-column:1/-1;grid-template-columns:1.35fr 1fr 1fr;gap:16px;margin-top:4px;margin-bottom:4px}
.app-panel {min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:17px;box-shadow:var(--shadow-sm)}
.app-panel__head {display:flex;align-items:center;gap:8px;justify-content:space-between;margin-bottom:15px}
.app-panel h2 {display:flex;align-items:center;gap:7px;font-size:17px;line-height:1.25;font-weight:800}
.app-panel h2 span {font-size:21px;color:var(--accent)}
.app-panel__link {text-decoration:none;font-size:12px;font-weight:760;white-space:nowrap}
.app-soon-list {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.app-soon-item {min-width:0;display:grid;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:9px;text-decoration:none;color:var(--text);font-weight:700;font-size:11px;line-height:1.34}
.app-soon-item img {width:56px;height:57px;object-fit:contain;border-radius:9px;background:var(--surface-subtle)}
.app-soon-item b {display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-weight:740}
.app-soon-item small {display:block;font-size:11px;color:var(--text-muted);margin-top:3px}
.app-country-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.app-country-link {min-width:0;text-align:center;text-decoration:none;font-size:11px;line-height:1.24;color:var(--text);font-weight:710}
.app-country-link img {display:block;width:42px;height:30px;object-fit:cover;margin:0 auto 7px;border-radius:7px;box-shadow:0 2px 10px #0001}
.app-guide-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.app-guide-link {display:flex;min-height:90px;flex-direction:column;gap:8px;padding:12px 10px;background:var(--surface-accent);border-radius:12px;text-decoration:none;color:var(--text);font-size:11px;line-height:1.33;font-weight:780}
.app-guide-link span {color:var(--accent);font-size:23px;line-height:1}
.app-soon-placeholder {font-size:13px;margin:3px 0}
.app-dashboard+.editorial-reading {display:none}
/* Hub directories, countries, guides and articles retain their source text. */
.page-hero.compact {max-width:none;padding:34px 0 24px}
.page-hero.compact h1 {font-size:clamp(27px,3vw,40px)}
.directory-group__cards {grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.directory-card {border-color:var(--border);border-radius:18px;padding:16px;min-height:91px;box-shadow:var(--shadow-sm);gap:12px}
.directory-card:hover {background:var(--surface-subtle)}
.directory-card__flag {width:42px;height:31px;border-radius:8px}
.directory-card h2 {font-size:15px}
.guide-card {border-radius:18px}
.guide-section:not(.country-guide) {scroll-margin-top:94px}
/* Promotion detail: app-style image and information panels without changing source facts. */
main[data-promotion-page="true"] {max-width:var(--content)}
.promotion-hero {padding:28px 0 24px}
.promotion-hero h1 {font-size:clamp(28px,3.15vw,43px);line-height:1.13}
.promotion-statusbar {margin-bottom:14px}
.promotion-essentials {border-color:var(--border);border-radius:21px;background:linear-gradient(145deg,var(--surface-accent),var(--surface) 72%);box-shadow:var(--shadow-sm)}
.promotion-essentials h2 {color:var(--text);font-size:19px;margin-bottom:13px}
.promotion-prize-summary {font-size:19px;font-weight:780}
.facts-grid {gap:20px 18px}
.fact-item dt {color:var(--text-muted);font-size:12px}
.fact-item dd {font-size:14px}
.promotion-visual {border-color:var(--border);border-radius:21px;box-shadow:var(--shadow-sm);margin-top:23px}
.promotion-visual img {max-height:450px;background:var(--surface-subtle)}
.eligibility-checker {border-color:var(--border);border-radius:20px;box-shadow:var(--shadow-sm)}
.promotion-entry,.promotion-prize,.promotion-official {padding:23px 25px;border:1px solid var(--border);border-radius:20px;background:var(--surface);box-shadow:var(--shadow-sm)}
.promotion-entry>ol {padding-left:27px}
.promotion-entry>ol li::marker {color:var(--accent);font-weight:800}
.promotion-actions .button--primary {background:var(--accent)}
.related-promotions__grid {gap:17px}
.related-promotions .record {max-width:none}
.related-promotions__header {margin-bottom:24px}
/* Mobile bottom navigation is progressive enhancement; existing menu remains fallback. */
.app-bottom-nav {display:none}
@media (min-width:1100px) and (max-width:1350px) {
  .records-grid,.saved-grid {grid-template-columns:repeat(3,minmax(0,1fr))}
  .app-dashboard {grid-template-columns:1.2fr 1fr}
  .app-panel--guides {grid-column:1/-1}
}
@media (min-width:700px) and (max-width:1099px) {
  .app-discovery-inner .discovery-primary {display:grid;grid-template-columns:minmax(0,1.55fr) minmax(160px,.85fr) 120px;gap:10px}
  .app-discovery-inner .search-field,.app-discovery-inner .country-field {width:100%;min-width:0}
  .app-discovery-inner .search-submit {min-width:0;width:120px}
  .records-grid,.saved-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .directory-group__cards {grid-template-columns:repeat(3,minmax(0,1fr))}
  .app-dashboard {grid-template-columns:1fr 1fr}
  .app-panel--guides {grid-column:1/-1}
  .app-discovery-shell::after {width:43vw;opacity:.65;right:1%;top:31px}
  .app-discovery-inner .catalog-hero {width:66%;min-height:190px}
}
@media (max-width:900px) {
  :root {--header-h:64px;--page-gutter:24px}
  .primary-nav {margin-right:0}
  .js .primary-nav {top:calc(var(--header-h) + 4px);border-radius:18px;padding:10px}
  .js .primary-nav a[aria-current] {box-shadow:none;border-radius:10px;background:var(--surface-accent)}
  .head-inner>.lang-link {margin-left:auto}
  .app-discovery-inner .discovery-primary {flex-wrap:wrap}
}
@media (max-width:699px) {
  :root {--page-gutter:19px;--card-space:16px;--section-space:36px;--panel-space:20px}
  body {font-size:15px}
  .site-head {height:62px}
  .head-inner {height:62px;min-height:62px;gap:8px}
  .wordmark__image,.wordmark img {height:35px;max-width:145px}
  .lang-link {padding:4px 11px;min-width:48px;font-size:13px;min-height:44px}
  .theme-toggle {width:44px;height:44px}
  .menu-button {width:44px;min-width:44px}
  main:not(.language-main):not(.error-main) {padding-bottom:70px}
  .app-discovery-shell {padding:29px var(--page-gutter) 18px;background:radial-gradient(ellipse 93% 100% at 94% 22%,#ffeff6 0%,transparent 75%),linear-gradient(180deg,#fff6f9,#fffafd)}
  .app-discovery-shell::after,.app-discovery-shell::before {display:none}
  .app-discovery-inner .catalog-hero {min-height:0;width:100%;padding:0 0 19px}
  .app-discovery-inner .catalog-hero h1 {max-width:340px;font-size:clamp(29px,7.7vw,36px);line-height:1.06}
  .app-discovery-inner .catalog-hero .hero-lede {font-size:14px;line-height:1.48;margin-top:10px;max-width:335px}
  .app-discovery-inner .catalog-hero .micro {font-size:10px;letter-spacing:.16em;margin-bottom:10px}
  .app-discovery-inner .discovery-primary {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}
  .app-discovery-inner .search-field {grid-column:1/-1}
  .app-discovery-inner .country-field {grid-column:1;min-width:0}
  .app-discovery-inner .search-submit {grid-column:2;min-width:100px;padding:8px 13px}
  .app-discovery-inner .discovery-primary input,.app-discovery-inner .discovery-primary select {min-height:46px;height:46px;font-size:14px;padding-inline:17px}
  .app-discovery-inner .search-submit {min-height:46px;font-size:13px}
  .app-discovery-inner .discovery-filters {margin-top:13px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px}
  .app-quick-filters {margin-right:calc(-1 * var(--page-gutter));margin-top:2px;padding:10px var(--page-gutter) 7px 0;gap:7px}
  .app-quick-filters :is(button,a) {min-height:44px;padding:9px 12px;font-size:12px}
  .catalog-results-header {padding:23px 0 14px;align-items:baseline}
  .catalog-results-header h2 {font-size:23px}
  .catalog-results-header p {font-size:12px!important}
  .records-grid,.saved-grid {grid-template-columns:1fr;gap:16px}
  .record-media {aspect-ratio:1.88;max-height:205px}
  .record h3 {font-size:16px;line-height:1.32}
  .record-body {padding:14px 15px 15px}
  .record-prize {font-size:13px}
  .record-actions>.button {min-height:44px}
  .app-dashboard {grid-template-columns:1fr;gap:12px;margin-top:22px}
  .app-panel {padding:17px}
  .app-panel--soon .app-soon-list {grid-template-columns:repeat(3,minmax(0,1fr))}
  .app-soon-item {display:flex;flex-direction:column;align-items:stretch;gap:5px}
  .app-soon-item img {width:100%;height:76px}
  .app-country-grid {grid-template-columns:repeat(4,minmax(0,1fr))}
  .app-guide-link {min-height:97px}
  .directory-group__cards {grid-template-columns:1fr;gap:10px}
  .directory-card {min-height:78px;padding:13px 16px}
  .page-hero.compact {padding-top:25px}
  .page-hero.compact h1 {font-size:28px}
  .promotion-hero {padding:20px 0 15px}
  .promotion-hero h1 {font-size:26px;line-height:1.16}
  .promotion-hero .hero-lede {font-size:14px}
  main[data-promotion-page="true"] {display:flex;flex-direction:column}
  main[data-promotion-page="true"]>.promotion-visual {order:-1;width:100%;margin:18px 0 0}
  main[data-promotion-page="true"]>.promotion-visual img {width:100%;max-height:305px;object-fit:contain}
  .promotion-essentials {padding:18px;border-radius:18px}
  .promotion-essentials h2 {font-size:17px}
  .promotion-prize-summary {font-size:17px}
  .facts-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 11px}
  .fact-item dt {font-size:11px}
  .fact-item dd {font-size:13px}
  .promotion-entry,.promotion-prize,.promotion-official {padding:18px 19px;border-radius:18px}
  .guide-section h2,.text-flow h2 {font-size:21px}
  .related-promotions__grid {gap:15px}
}
@media (max-width:360px) {
  :root {--page-gutter:15px}
  .wordmark__image,.wordmark img {height:31px;max-width:132px}
  .head-inner {gap:3px}
  .lang-link {padding-inline:8px}
  .app-discovery-inner .catalog-hero h1 {font-size:28px}
  .app-discovery-inner .search-submit {min-width:89px}
  .app-panel--soon .app-soon-list {grid-template-columns:1fr}
  .app-soon-item {display:grid;grid-template-columns:56px minmax(0,1fr)}
  .app-soon-item img {width:56px;height:55px}
  .app-country-grid {grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (prefers-reduced-motion:reduce) {.record {transition:none}}
@media (forced-colors:active) {.app-quick-filters button,.app-panel,.app-bottom-nav a {border:1px solid CanvasText}}


/* Giveario app UI v2 — purposeful hierarchy, consistent card rhythm and 6/4 home composition. */
:root {--font-sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
body {font-size:16px;line-height:1.6;font-kerning:normal;text-rendering:optimizeLegibility}
h1,h2,h3 {letter-spacing:-.034em;text-wrap:pretty}
h1 {line-height:1.085}
h2 {line-height:1.21}
h3 {line-height:1.32}
:where(p,li,dd) {line-height:1.62}
/* The first six form two even rows of three; the four following the panels form one row. */
.records-grid.app-home-grid {grid-template-columns:repeat(12,minmax(0,1fr));gap:20px}
.app-home-grid>.record {grid-column:span 4}
.app-home-grid>.app-dashboard {grid-column:1/-1}
.app-home-grid>.app-dashboard~.record {grid-column:span 3}
/* Gentle elevation and readable line lengths; real promotional images keep their full artwork. */
.record {border-radius:19px;border-color:var(--border);box-shadow:0 6px 22px rgba(66,25,47,.055)}
.record-media {aspect-ratio:1.88;max-height:none}
.record-body {padding:17px 18px 18px}
.record h3 {font-size:17px;line-height:1.33;letter-spacing:-.025em;font-weight:780;margin-bottom:8px}
.record h3 a {text-decoration:none}
.record-prize {font-size:13.5px;line-height:1.5;margin-bottom:10px}
.record-deadline {font-size:12.5px;letter-spacing:0}
.record-status-pill {font-size:12px;font-weight:760}
.record-facts {gap:6px;margin-bottom:9px}
.record .requirement-pill {font-size:12px;line-height:1.35;padding:5px 9px;border-radius:999px}
.record-territory {font-size:12.5px;margin:0 0 5px}
.record-actions {padding-top:14px}
.record-actions>.button {min-height:44px;font-size:13.5px;font-weight:770;border-radius:11px}
.catalog-results-header {gap:16px;padding-block:29px 17px}
.catalog-results-header h2 {font-size:clamp(24px,2.5vw,30px);line-height:1.16;letter-spacing:-.04em}
.catalog-results-header p {font-size:13px;line-height:1.45}
.app-dashboard {gap:18px;margin-block:9px 13px}
.app-panel {padding:20px;border-radius:21px}
.app-panel__head {gap:9px 14px;flex-wrap:wrap;margin-bottom:16px}
.app-panel h2 {font-size:16px;line-height:1.25;letter-spacing:-.026em}
.app-panel__link {font-size:12.5px;line-height:1.4}
.app-soon-item {font-size:12px;line-height:1.36}
.app-soon-item small {font-size:11.5px;line-height:1.4}
.app-country-link {font-size:11.75px;line-height:1.35}
.app-guide-link {font-size:12px;line-height:1.4}
.app-quick-filters {gap:9px}
.app-quick-filters :is(button,a) {font-size:13px;font-weight:700;min-height:44px}
.app-discovery-inner .catalog-hero .hero-lede {font-size:16px;line-height:1.53}
/* Promotion details: remove the enlargement strip; keep image and information balanced. */
.promotion-visual {border-radius:20px;overflow:hidden;line-height:0}
.promotion-visual img {margin:0 auto;max-height:460px;object-fit:contain}
.promotion-hero h1 {letter-spacing:-.044em;line-height:1.13}
.promotion-hero .hero-lede {line-height:1.59}
.promotion-essentials {padding:26px;border-radius:21px}
.promotion-essentials h2 {font-size:20px}
.promotion-prize-summary {line-height:1.45}
.fact-item dt {font-size:12.5px;line-height:1.45;margin-bottom:5px}
.fact-item dd {font-size:14.5px;line-height:1.52}
.promotion-entry,.promotion-prize,.promotion-official {padding:25px 27px}
.guide-section h2,.text-flow h2 {line-height:1.22}
.related-promotions__grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}
.related-promotions__header {margin-bottom:24px}
.related-promotions__header h2 {font-size:25px;line-height:1.2}
.related-promotions .record h3 {font-size:16.5px}
.related-promotions .record-prize {font-size:13.5px}
@media (min-width:700px) and (max-width:1050px) {
  .records-grid.app-home-grid {gap:16px}
  .app-home-grid>.record,.app-home-grid>.app-dashboard~.record {grid-column:span 6}
}
@media (max-width:699px) {
  body {font-size:16px}
  .records-grid.app-home-grid {gap:16px}
  .app-home-grid>.record,.app-home-grid>.app-dashboard~.record {grid-column:1/-1}
  .record-body {padding:16px 17px 18px}
  .record h3 {font-size:17px;line-height:1.34}
  .record-prize {font-size:14px;line-height:1.48}
  .record-deadline {font-size:12.5px}
  .catalog-results-header {padding:24px 0 16px}
  .catalog-results-header h2 {font-size:24px}
  .app-dashboard {margin-block:13px 10px;gap:13px}
  .app-panel {padding:18px}
  .app-panel h2 {font-size:16px}
  .app-soon-item {font-size:11.5px}
  .app-discovery-inner .catalog-hero .hero-lede {font-size:14.5px;line-height:1.53}
  .promotion-visual {margin-top:19px}
  .promotion-essentials {padding:20px}
  .promotion-prize-summary {font-size:17px}
  .fact-item dt {font-size:12px}
  .fact-item dd {font-size:14px}
  .promotion-entry,.promotion-prize,.promotion-official {padding:20px}
  .related-promotions__grid {grid-template-columns:1fr;gap:15px}
  .related-promotions__header h2 {font-size:22px}
}
@media (max-width:360px) {
  .record-body {padding:14px 15px 17px}
  .app-panel {padding:16px}
  .app-quick-filters :is(button,a) {font-size:12px}
}
@media (prefers-reduced-motion:reduce) {
  .record {transition:none;transform:none}
}
/* Fallback navigation stays usable without JavaScript, including at 320px. */
@media (max-width:900px) {
  html:not(.js) .head-inner {height:auto;min-height:var(--header-h);flex-wrap:wrap;gap:4px 9px;padding-block:7px}
  html:not(.js) .head-inner>.wordmark {margin-right:auto}
  html:not(.js) .head-inner>.lang-link {margin-left:0}
  html:not(.js) .primary-nav {flex:0 0 100%;order:9;display:flex;flex-wrap:wrap;gap:2px 4px;justify-content:flex-start;margin:0;padding:0}
  html:not(.js) .primary-nav a {min-height:40px;padding:7px 10px;font-size:12.5px;border-radius:9px}
}

/* =====================================================================
   Giveario Editorial App — V3. A coherent responsive presentation layer.
   Data, source images, content, links and semantic order stay untouched.
   The first six homepage entries get a magazine-like editorial hierarchy.
   ===================================================================== */
:root {
  --bg:#fbfafb;
  --surface:#ffffff;
  --surface-subtle:#f6f2f5;
  --surface-accent:#faeaf1;
  --text:#211b27;
  --text-secondary:#504956;
  --text-muted:#686273;
  --border:#eee7ed;
  --border-strong:#dcd0da;
  --accent:#a50c50;
  --accent-hover:#7f093e;
  --shadow-sm:0 5px 22px rgba(42,19,37,.035);
  --shadow-md:0 18px 45px rgba(54,15,39,.085);
  --container:1280px;
  --content:850px;
  --section-space:60px;
  --page-gutter:32px;
  --panel-space:28px;
  --card-space:20px;
  --editorial-tracking:-.045em;
}
html[data-theme="dark"] {
  --bg:#18131b;
  --surface:#251d29;
  --surface-subtle:#2f2532;
  --surface-accent:#462436;
  --text:#fcf6fb;
  --text-secondary:#e1d5df;
  --text-muted:#beadbc;
  --border:#443445;
  --border-strong:#6b5164;
  --accent:#ffa8ce;
  --accent-hover:#ffd2e5;
  --shadow-sm:0 8px 28px rgba(0,0,0,.12);
  --shadow-md:0 16px 40px rgba(0,0,0,.23);
}
html {scroll-behavior:smooth}
body {
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-size:16px;line-height:1.58;letter-spacing:-.009em;
  font-feature-settings:"kern" 1,"liga" 1;
}
:where(h1,h2,h3){font-weight:780;letter-spacing:var(--editorial-tracking);text-wrap:balance}
:where(p,li,dd){line-height:1.62}
:where(h1,h2,h3,p){overflow-wrap:break-word}
:where(a,button,input,select,summary):focus-visible{outline:3px solid var(--focus);outline-offset:4px}
.site-head{box-shadow:0 1px 0 color-mix(in srgb,var(--border) 65%,transparent);background:color-mix(in srgb,var(--surface) 95%,transparent)}
.head-inner {min-height:72px}
.primary-nav a {font-size:14px;letter-spacing:-.012em;font-weight:710}
.primary-nav a[aria-current] {box-shadow:inset 0 -2px 0 var(--accent)}
.button,.app-quick-filters :is(a,button),.lang-link {transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}
.button {font-weight:740}
.button--primary {box-shadow:0 8px 21px color-mix(in srgb,var(--accent) 14%,transparent)}
/* Editorial hero: calm typography, airy form, and art that never occludes input. */
.app-discovery-shell {
  padding-top:59px;padding-bottom:32px;border-bottom:0;
  background:radial-gradient(ellipse 62% 85% at 98% 7%,color-mix(in srgb,var(--surface-accent) 96%,transparent),transparent 85%),
    linear-gradient(180deg,color-mix(in srgb,var(--surface-accent) 41%,var(--surface)),var(--bg));
}
.app-discovery-shell::before {width:680px;height:350px;right:-240px;top:-150px;opacity:.43}
.app-discovery-shell::after {right:max(2%,calc((100vw - var(--container))/2));width:min(41vw,535px);height:295px;top:33px}
.app-discovery-inner .catalog-hero {min-height:230px;width:min(650px,60%);padding-bottom:25px}
.app-discovery-inner .catalog-hero .micro {font-size:11px;letter-spacing:.2em;margin-bottom:15px}
.app-discovery-inner .catalog-hero h1 {font-size:clamp(39px,4vw,60px);letter-spacing:-.065em;line-height:1.025;max-width:635px;font-weight:820}
.app-discovery-inner .catalog-hero .hero-lede {max-width:475px;font-size:16px;line-height:1.6;margin-top:19px}
.app-discovery-inner .discovery-primary {gap:12px;width:min(1010px,100%)}
.app-discovery-inner .discovery-primary input,.app-discovery-inner .discovery-primary select {border-radius:16px;border-color:var(--border);min-height:55px;height:55px;box-shadow:0 6px 22px rgba(54,15,39,.045)}
.app-discovery-inner .search-submit {min-height:55px;border-radius:16px;min-width:146px}
.app-quick-filters {gap:9px;padding-top:22px;padding-bottom:9px}
.app-quick-filters :is(button,a) {background:var(--surface);border-color:var(--border);box-shadow:none;border-radius:14px;font-size:12.5px;min-height:43px}
.app-quick-filters :is(button,a):hover {background:var(--surface-accent)}
.app-quick-filters :is(button,a)[data-active="true"] {background:var(--accent)}
/* Section headers and catalogue rhythm. */
.catalog-results-header {align-items:end;padding:47px 0 24px;gap:8px 20px}
.catalog-results-header h2 {font-size:clamp(27px,2.65vw,37px);line-height:1.09;letter-spacing:-.055em;font-weight:790}
.catalog-results-header .catalog-results-count {color:var(--text-muted);padding-bottom:3px}
.listing-section {min-width:0}
.records-grid,.saved-grid {gap:29px 26px;grid-template-columns:repeat(2,minmax(0,1fr))}
.record {position:relative;display:flex;flex-direction:column;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible;transform:none!important;transition:none}
.record:hover {box-shadow:none}
.record-media {flex-shrink:0;display:block;aspect-ratio:1.66;max-height:none;border:0;border-radius:19px;overflow:hidden;background:var(--surface-subtle)}
.record-media img {width:100%;height:100%;object-fit:contain;object-position:center}
.record-body {padding:16px 2px 0;flex:1;display:flex;flex-direction:column;min-width:0}
.record-status-row {min-height:0;gap:7px;margin:0 0 10px;flex-wrap:wrap;align-items:center}
.record-status-pill {top:12px;left:12px;box-shadow:none;border-color:color-mix(in srgb,var(--surface) 80%,transparent);font-size:11px;letter-spacing:.01em}
.record-deadline {font-size:12.5px;font-weight:660;color:var(--text-muted)}
.record h3 {font-size:18px;line-height:1.3;letter-spacing:-.035em;font-weight:780;margin:0 0 9px}
.record h3 a {text-decoration:none;text-decoration-thickness:1px;text-underline-offset:4px}
.record h3 a:hover {text-decoration:underline}
.record-prize {font-size:14px;line-height:1.54;color:var(--text-secondary);margin:0 0 11px}
.record-facts {gap:7px;margin-bottom:10px}
.record .requirement-pill {background:var(--surface-accent);border-color:transparent;border-radius:9px;font-size:11.5px;padding:5px 9px;min-height:26px;line-height:1.35}
.record-territory {font-size:12.5px;letter-spacing:0;color:var(--text-muted);margin-bottom:4px}
.record-actions {padding-top:13px;align-items:end;gap:9px}
.record-actions>.button {background:transparent;box-shadow:none;color:var(--accent);border:0;border-radius:0;padding:7px 0;min-height:44px;flex:0 1 auto;font-size:13px;font-weight:780;justify-content:flex-start}
.record-actions>.button:hover {background:transparent;color:var(--accent-hover);text-decoration:underline}
.record .save-button {top:8px;right:8px;background:color-mix(in srgb,var(--surface) 94%,transparent);border-color:color-mix(in srgb,var(--border) 85%,transparent);box-shadow:0 3px 13px rgba(42,17,34,.08)}
.record .save-button:hover {background:var(--surface-accent)}
/* Home: a large lead, a pair of split-format stories, then three neat discoveries.
   The dashboard is still inserted after exactly six promotions. */
.records-grid.app-home-grid {display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:25px;row-gap:30px;align-items:stretch}
.app-home-grid>.record {grid-column:span 4}
.app-home-grid>.record:nth-of-type(1) {grid-column:span 7;grid-row:span 2;padding:14px;background:linear-gradient(147deg,var(--surface-accent),color-mix(in srgb,var(--surface) 86%,var(--surface-accent)));border-radius:25px}
.app-home-grid>.record:nth-of-type(1) .record-media {aspect-ratio:1.72;min-height:0;background:var(--surface);border-radius:17px}
.app-home-grid>.record:nth-of-type(1) .record-body {padding:21px 15px 14px}
.app-home-grid>.record:nth-of-type(1) h3 {font-size:clamp(23px,2.15vw,31px);line-height:1.18;letter-spacing:-.053em;max-width:590px}
.app-home-grid>.record:nth-of-type(1) .record-prize {font-size:15.5px;line-height:1.53;max-width:520px}
.app-home-grid>.record:nth-of-type(1) .record-actions>.button {background:var(--accent);color:var(--accent-contrast);border-radius:13px;padding-inline:17px;min-width:148px;justify-content:center}
.app-home-grid>.record:nth-of-type(1) .record-actions>.button:hover {background:var(--accent-hover);text-decoration:none}
.app-home-grid>.record:nth-of-type(2),.app-home-grid>.record:nth-of-type(3) {
  grid-column:span 5;display:grid;grid-template-columns:minmax(0,40%) minmax(0,1fr);gap:17px;
  align-items:stretch;padding:0 0 19px;border-bottom:1px solid var(--border);
}
.app-home-grid>.record:nth-of-type(2) .record-media,.app-home-grid>.record:nth-of-type(3) .record-media {height:100%;min-height:210px;aspect-ratio:auto;border-radius:17px}
.app-home-grid>.record:nth-of-type(2) .record-body,.app-home-grid>.record:nth-of-type(3) .record-body {padding:1px 0 0}
.app-home-grid>.record:nth-of-type(2) h3,.app-home-grid>.record:nth-of-type(3) h3 {font-size:17px;line-height:1.31}
.app-home-grid>.record:nth-of-type(2) .record-prize,.app-home-grid>.record:nth-of-type(3) .record-prize {display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.app-home-grid>.record:nth-of-type(2) .requirement-pill:nth-child(n+2),.app-home-grid>.record:nth-of-type(3) .requirement-pill:nth-child(n+2) {display:none}
.app-home-grid>.record:nth-of-type(n+4):nth-of-type(-n+6) {grid-column:span 4;min-width:0}
.app-home-grid>.record:nth-of-type(n+4):nth-of-type(-n+6) .record-media {aspect-ratio:1.9}
.app-home-grid>.record:nth-of-type(n+7) {grid-column:span 3}
.app-home-grid>.record:nth-of-type(n+7) .record-media {aspect-ratio:1.7}
.app-home-grid>.record:nth-of-type(n+7) h3 {font-size:16.5px}
.app-home-grid>.app-dashboard {grid-column:1/-1}
/* Country/saved/catalogue results are elegant editorial rows rather than tiles. */
.records-grid:not(.app-home-grid)>.record,.saved-grid>.record {
  display:grid;grid-template-columns:minmax(130px,39%) minmax(0,1fr);gap:19px;
  padding-bottom:23px;border-bottom:1px solid var(--border);align-items:stretch;
}
.records-grid:not(.app-home-grid)>.record .record-media,.saved-grid>.record .record-media {height:100%;aspect-ratio:auto;min-height:220px;border-radius:17px}
.records-grid:not(.app-home-grid)>.record .record-body,.saved-grid>.record .record-body {padding:1px 0 0}
.records-grid:not(.app-home-grid)>.record h3,.saved-grid>.record h3 {font-size:17px}
.records-grid:not(.app-home-grid)>.record .record-prize,.saved-grid>.record .record-prize {display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
/* Dashboard as a magazine rail; the sections, not individual mini-cards, define rhythm. */
.app-dashboard {grid-template-columns:1.24fr 1fr 1fr;gap:27px;margin:13px 0 18px;padding:25px 27px;background:var(--surface);border:1px solid var(--border);border-radius:26px;box-shadow:0 8px 37px rgba(54,15,39,.034)}
.app-panel {border:0;border-radius:0;box-shadow:none;padding:0;background:transparent;min-width:0}
.app-panel + .app-panel {padding-left:24px;border-left:1px solid var(--border)}
.app-panel__head {margin-bottom:18px;gap:12px}
.app-panel h2 {font-size:16px;letter-spacing:-.035em}
.app-panel__link {font-size:12px}
.app-soon-list {grid-template-columns:1fr;gap:0}
.app-soon-item {display:grid;grid-template-columns:60px minmax(0,1fr);gap:12px;font-size:12.5px;line-height:1.38;padding:8px 0;min-height:72px}
.app-soon-item+.app-soon-item {border-top:1px solid var(--border)}
.app-soon-item img {width:60px;height:56px;border-radius:11px}
.app-soon-item b {font-size:12.5px;-webkit-line-clamp:2}
.app-soon-item small {font-size:11.5px}
.app-country-grid {gap:16px 10px}
.app-country-link {font-size:12px}
.app-country-link img {width:46px;height:32px;border-radius:9px;margin-bottom:9px}
.app-guide-grid {grid-template-columns:1fr;gap:0}
.app-guide-link {display:grid;grid-template-columns:29px minmax(0,1fr);gap:12px;align-items:center;min-height:66px;padding:9px 0;background:transparent;border-radius:0;font-size:12.5px}
.app-guide-link+.app-guide-link {border-top:1px solid var(--border)}
.app-guide-link span {font-size:21px}
/* Curated directories and guides share a refined typographic system. */
.page-hero.compact {padding:50px 0 28px}
.page-hero.compact h1 {font-size:clamp(31px,3.35vw,47px);line-height:1.11}
.page-hero .hero-lede {font-size:16px;line-height:1.68;max-width:700px}
.directory-group {margin-top:34px}
.directory-group__cards {grid-template-columns:repeat(3,minmax(0,1fr));gap:11px 26px}
.directory-card {min-height:88px;box-shadow:none;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent;padding:14px 3px 18px}
.directory-card:hover {background:transparent;border-bottom-color:var(--accent)}
.directory-card__flag {border-radius:9px}
.directory-card h2 {font-size:16px;font-weight:770}
.guide-grid {gap:20px}
.guide-card {border:0;border-radius:0;background:transparent;box-shadow:none;border-top:1px solid var(--border);padding:21px 3px 23px;transition:none}
.guide-card:hover {background:transparent;box-shadow:none;border-top-color:var(--accent)}
.guide-card h3 {font-size:18px;line-height:1.25;margin-bottom:12px}
.guide-card p {font-size:14px;line-height:1.65}
.guide-section:not(.country-guide) {margin-top:58px}
/* Article detail: a composed decision area, with content led by typesetting, not boxes. */
main[data-promotion-page="true"] {max-width:850px}
.promotion-hero {padding:47px 0 24px;max-width:850px}
.promotion-hero h1 {max-width:820px;font-size:clamp(32px,3.45vw,49px);line-height:1.12;letter-spacing:-.055em}
.promotion-hero .hero-lede {font-size:16.5px;line-height:1.65;margin-top:20px}
.promotion-statusbar {margin-bottom:18px}
.promotion-essentials {padding:34px 38px;border:0;border-radius:23px;background:linear-gradient(133deg,var(--surface-accent),color-mix(in srgb,var(--surface) 77%,var(--surface-accent)));box-shadow:none}
.promotion-essentials h2 {font-size:20px;margin-bottom:19px}
.promotion-prize-summary {font-size:clamp(18px,2vw,23px);line-height:1.43;font-weight:765;margin-bottom:24px}
.facts-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
.fact-item {padding:15px 17px 16px 0;border-top:1px solid color-mix(in srgb,var(--border-strong) 58%,transparent)}
.fact-item:nth-child(2n) {padding-left:20px}
.fact-item dt {margin:0 0 7px;font-size:12px;letter-spacing:.012em}
.fact-item dd {font-size:14px;line-height:1.57;font-weight:675}
.promotion-decision .promotion-actions {margin-top:25px}
.promotion-visual {max-width:760px;margin:36px auto 0;border:0;border-radius:21px;box-shadow:none;background:var(--surface-subtle)}
.promotion-visual img {max-height:470px}
.promotion-extra-details {margin-top:22px}
.eligibility-checker {border:1px solid var(--border);border-radius:22px;box-shadow:none;background:var(--surface)}
.promotion-entry,.promotion-prize,.promotion-official {background:transparent;border:0;border-radius:0;box-shadow:none;padding:12px 0 27px;border-bottom:1px solid var(--border)}
.promotion-entry h2,.promotion-prize h2,.promotion-official h2 {font-size:clamp(22px,2.5vw,28px);letter-spacing:-.045em}
.guide-section h2,.text-flow h2 {font-size:clamp(22px,2.45vw,29px);line-height:1.19}
main[data-promotion-page="true"] .text-flow {max-width:760px}
.text-flow>p,.guide-section>p {font-size:15.5px;line-height:1.76}
/* Related: readable media-led rows and a quiet internal action. */
.related-promotions__header {margin-bottom:25px}
.related-promotions__grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 25px}
.related-promotions__grid>.record {display:grid;grid-template-columns:36% minmax(0,1fr);gap:15px;border-bottom:1px solid var(--border);padding:0 0 19px}
.related-promotions__grid .record-media {height:100%;min-height:186px;aspect-ratio:auto;border-radius:15px}
.related-promotions__grid .record-body {padding:0}
.related-promotions__grid .record h3 {font-size:15.5px;line-height:1.31}
.related-promotions__grid .record-prize {font-size:12.5px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.related-promotions__grid .requirement-pill:nth-child(n+2) {display:none}
.related-promotions__grid .record-actions>.button {font-size:12.5px}
/* Buttons, pagination, footers: quieter edges and consistent touch affordances. */
.pagination {margin-top:44px;border-top-color:var(--border);padding-top:23px}
.pagination__page {border-radius:13px}
.pagination__control {border-color:var(--border);border-radius:12px}
.site-foot {margin-top:58px}
/* Mid-sized screens: avoid squashing image and copy beside one another. */
@media (min-width:1061px) and (max-width:1279px) {
 .app-home-grid>.record:nth-of-type(2),.app-home-grid>.record:nth-of-type(3) {grid-template-columns:minmax(0,37%) minmax(0,1fr);gap:12px}
 .app-dashboard {gap:20px;padding:23px}
 .app-panel+.app-panel {padding-left:19px}
}
@media (min-width:761px) and (max-width:1060px) {
  :root {--page-gutter:26px;--section-space:53px}
  .app-discovery-inner .catalog-hero {width:64%;min-height:218px}
  .app-discovery-shell::after {width:41vw;opacity:.74}
  .records-grid.app-home-grid {gap:23px 20px}
  .app-home-grid>.record:nth-of-type(1) {grid-column:span 7;grid-row:span 2}
  .app-home-grid>.record:nth-of-type(2),.app-home-grid>.record:nth-of-type(3) {grid-column:span 5;grid-template-columns:1fr;gap:10px;padding-bottom:13px}
  .app-home-grid>.record:nth-of-type(2) .record-media,.app-home-grid>.record:nth-of-type(3) .record-media {height:125px;min-height:0;aspect-ratio:1.85}
  .app-home-grid>.record:nth-of-type(2) .record-prize,.app-home-grid>.record:nth-of-type(3) .record-prize {display:none}
  .app-home-grid>.record:nth-of-type(2) .record-body,.app-home-grid>.record:nth-of-type(3) .record-body {padding-top:0}
  .app-home-grid>.record:nth-of-type(n+4):nth-of-type(-n+6) {grid-column:span 4}
  .app-home-grid>.record:nth-of-type(n+7) {grid-column:span 6}
  .app-dashboard {grid-template-columns:1fr 1fr;padding:24px;gap:22px}
  .app-panel--guides {grid-column:1/-1;padding-top:20px!important;padding-left:0!important;border-left:0!important;border-top:1px solid var(--border)}
  .app-guide-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
  .app-guide-link+.app-guide-link {border-top:0}
  .records-grid:not(.app-home-grid)>.record {grid-template-columns:minmax(115px,36%) minmax(0,1fr);gap:14px}
  .directory-group__cards {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:601px) and (max-width:760px) {
  :root {--page-gutter:24px}
  .app-discovery-shell::after {display:none}
  .app-discovery-inner .catalog-hero {min-height:0;width:100%}
  .app-discovery-inner .catalog-hero h1 {font-size:44px}
  .app-home-grid>.record:nth-of-type(1) {grid-column:1/-1;grid-row:auto}
  .app-home-grid>.record:nth-of-type(2),.app-home-grid>.record:nth-of-type(3) {grid-column:span 6;display:flex;flex-direction:column;gap:0}
  .app-home-grid>.record:nth-of-type(2) .record-media,.app-home-grid>.record:nth-of-type(3) .record-media {height:auto;min-height:0;aspect-ratio:1.76}
  .app-home-grid>.record:nth-of-type(n+4):nth-of-type(-n+6),.app-home-grid>.record:nth-of-type(n+7) {grid-column:span 6}
  .records-grid:not(.app-home-grid)>.record,.saved-grid>.record {grid-template-columns:36% minmax(0,1fr)}
  .app-dashboard {grid-template-columns:1fr 1fr;padding:22px;gap:17px}
  .app-panel--guides {grid-column:1/-1;border-top:1px solid var(--border);border-left:0!important;padding:17px 0 0!important}
  .related-promotions__grid {grid-template-columns:1fr 1fr}
  .related-promotions__grid>.record {grid-template-columns:1fr}
  .related-promotions__grid .record-media {aspect-ratio:1.7;min-height:0;height:auto}
  .directory-group__cards {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:600px) {
  :root {--page-gutter:19px;--section-space:43px;--panel-space:20px}
  body {font-size:15.5px}
  .site-head {height:auto;min-height:62px}
  .head-inner {min-height:62px}
  .app-discovery-shell {padding:32px var(--page-gutter) 16px}
  .app-discovery-shell::after,.app-discovery-shell::before {display:none}
  .app-discovery-inner .catalog-hero {min-height:0;width:100%;padding-bottom:20px}
  .app-discovery-inner .catalog-hero .micro {font-size:10px;margin-bottom:11px}
  .app-discovery-inner .catalog-hero h1 {font-size:clamp(32px,8vw,40px);line-height:1.06;letter-spacing:-.058em}
  .app-discovery-inner .catalog-hero .hero-lede {font-size:14.5px;line-height:1.58;margin-top:14px}
  .app-discovery-inner .discovery-primary {gap:9px}
  .app-discovery-inner .discovery-primary input,.app-discovery-inner .discovery-primary select {min-height:48px;height:48px;border-radius:13px}
  .app-discovery-inner .search-submit {min-height:48px;border-radius:13px;min-width:106px}
  .app-quick-filters {padding-top:17px;gap:7px}
  .app-quick-filters :is(a,button) {border-radius:12px;min-height:44px}
  .catalog-results-header {padding:29px 0 19px;align-items:start}
  .catalog-results-header h2 {font-size:27px}
  .catalog-results-header .catalog-results-count {font-size:12px!important}
  .records-grid.app-home-grid {grid-template-columns:minmax(0,1fr);gap:22px}
  .app-home-grid>.record,.app-home-grid>.record:nth-of-type(1),.app-home-grid>.record:nth-of-type(2),.app-home-grid>.record:nth-of-type(3),.app-home-grid>.record:nth-of-type(n+4):nth-of-type(-n+6),.app-home-grid>.record:nth-of-type(n+7) {grid-column:1/-1;grid-row:auto}
  .app-home-grid>.record:nth-of-type(1) {padding:11px;border-radius:22px}
  .app-home-grid>.record:nth-of-type(1) .record-media {aspect-ratio:1.67;border-radius:15px}
  .app-home-grid>.record:nth-of-type(1) .record-body {padding:19px 10px 13px}
  .app-home-grid>.record:nth-of-type(1) h3 {font-size:22px;line-height:1.23}
  .app-home-grid>.record:nth-of-type(1) .record-prize {font-size:14.5px}

  /* Mobile promo cards: image-led, premium, closer to the featured card. */
  .app-home-grid>.record:nth-of-type(n+2),
  .records-grid:not(.app-home-grid)>.record,
  .saved-grid>.record,
  .related-promotions__grid>.record {
    display:flex;
    flex-direction:column;
    gap:0;
    padding:10px;
    background:var(--surface);
    border:1px solid color-mix(in srgb,var(--border) 92%, transparent);
    border-radius:20px;
    box-shadow:0 10px 28px rgba(53,16,37,.06);
    overflow:hidden;
  }
  .app-home-grid>.record:nth-of-type(n+2) .record-media,
  .records-grid:not(.app-home-grid)>.record .record-media,
  .saved-grid>.record .record-media,
  .related-promotions__grid>.record .record-media {
    height:auto;
    min-height:0;
    aspect-ratio:1.74;
    border-radius:14px;
    background:var(--surface-subtle);
  }
  .app-home-grid>.record:nth-of-type(n+2) .record-body,
  .records-grid:not(.app-home-grid)>.record .record-body,
  .saved-grid>.record .record-body,
  .related-promotions__grid>.record .record-body {
    padding:15px 7px 8px;
  }
  .app-home-grid>.record:nth-of-type(2) h3,
  .app-home-grid>.record:nth-of-type(3) h3,
  .app-home-grid>.record:nth-of-type(n+4):nth-of-type(-n+6) h3,
  .records-grid:not(.app-home-grid)>.record h3,
  .saved-grid>.record h3 {
    font-size:17px;
    line-height:1.28;
    margin-bottom:8px;
  }
  .related-promotions__grid .record h3 {
    font-size:16px;
    line-height:1.3;
    margin-bottom:7px;
  }
  .app-home-grid>.record:nth-of-type(n+2) .record-prize,
  .records-grid:not(.app-home-grid)>.record .record-prize,
  .saved-grid>.record .record-prize {
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    overflow:hidden;
  }
  .app-home-grid>.record:nth-of-type(n+2) .record-territory,
  .related-promotions__grid .record-territory {display:none}
  .app-home-grid>.record:nth-of-type(n+2) .record-facts,
  .records-grid:not(.app-home-grid)>.record .record-facts,
  .saved-grid>.record .record-facts,
  .related-promotions__grid .record-facts {margin-bottom:7px}
  .app-home-grid>.record:nth-of-type(n+2) .record-actions,
  .records-grid:not(.app-home-grid)>.record .record-actions,
  .saved-grid>.record .record-actions,
  .related-promotions__grid .record-actions {padding-top:10px}
  .app-home-grid>.record:nth-of-type(n+2) .record-actions>.button,
  .records-grid:not(.app-home-grid)>.record .record-actions>.button,
  .saved-grid>.record .record-actions>.button,
  .related-promotions__grid .record-actions>.button {
    min-height:46px;
    flex:1;
    background:var(--surface-accent);
    color:var(--accent);
    border-radius:12px;
    justify-content:center;
    padding-inline:14px;
  }
  .app-home-grid>.record:nth-of-type(n+2) .record-actions>.button:hover,
  .records-grid:not(.app-home-grid)>.record .record-actions>.button:hover,
  .saved-grid>.record .record-actions>.button:hover,
  .related-promotions__grid .record-actions>.button:hover {
    background:var(--accent);
    color:var(--accent-contrast);
    text-decoration:none;
  }
  /* Soft visual variation, so cards don't feel cloned. */
  .records-grid:not(.app-home-grid)>.record:nth-child(3n+1),
  .saved-grid>.record:nth-child(3n+1),
  .app-home-grid>.record:nth-of-type(3n+1):not(:first-child),
  .related-promotions__grid>.record:nth-child(odd) {
    background:linear-gradient(180deg,color-mix(in srgb,var(--surface-accent) 36%, var(--surface)) 0%, var(--surface) 100%);
  }
  .records-grid:not(.app-home-grid)>.record:nth-child(even) .record-media,
  .saved-grid>.record:nth-child(even) .record-media,
  .app-home-grid>.record:nth-of-type(even):not(:first-child) .record-media,
  .related-promotions__grid>.record:nth-child(even) .record-media {aspect-ratio:1.66}
  .records-grid:not(.app-home-grid)>.record:nth-child(3n) .record-actions>.button,
  .saved-grid>.record:nth-child(3n) .record-actions>.button,
  .app-home-grid>.record:nth-of-type(3n) .record-actions>.button,
  .related-promotions__grid>.record:nth-child(3n) .record-actions>.button {
    background:var(--accent);
    color:var(--accent-contrast);
  }
  .records-grid:not(.app-home-grid)>.record:nth-child(3n) .record-actions>.button:hover,
  .saved-grid>.record:nth-child(3n) .record-actions>.button:hover,
  .app-home-grid>.record:nth-of-type(3n) .record-actions>.button:hover,
  .related-promotions__grid>.record:nth-child(3n) .record-actions>.button:hover {background:var(--accent-hover)}
  .app-home-grid>.record:nth-of-type(n+7) .record-media {aspect-ratio:1.8}

  .app-dashboard {grid-template-columns:1fr;gap:24px;margin:0;padding:24px 21px}
  .app-panel,.app-panel+.app-panel,.app-panel--guides {padding:0!important;border:0!important;grid-column:auto}
  .app-panel+.app-panel {padding-top:23px!important;border-top:1px solid var(--border)!important}
  .app-panel h2 {font-size:17px}
  .app-soon-list {grid-template-columns:1fr;gap:0}
  .app-soon-item {display:grid;grid-template-columns:60px minmax(0,1fr);gap:12px}
  .app-soon-item img {width:60px;height:56px}
  .app-guide-grid {grid-template-columns:1fr}
  .app-guide-link+.app-guide-link {border-top:1px solid var(--border)}
  .records-grid:not(.app-home-grid),.saved-grid {grid-template-columns:1fr;gap:19px}
  .record-prize {font-size:13.5px;line-height:1.53}
  .record .requirement-pill {font-size:11px;padding:4px 8px;min-height:24px}
  .record-facts {gap:5px}
  .record-actions>.button {min-height:44px}
  .directory-group__cards {grid-template-columns:1fr;gap:0}
  .directory-card {min-height:80px;padding:13px 2px 16px}
  .page-hero.compact {padding:33px 0 19px}
  .page-hero.compact h1 {font-size:31px}
  .page-hero .hero-lede {font-size:14.5px}
  .guide-grid {grid-template-columns:1fr;gap:0}
  .guide-card {padding:20px 2px 22px}
  .guide-section:not(.country-guide) {margin-top:41px}
  .promotion-hero {padding:26px 0 18px}
  .promotion-hero h1 {font-size:clamp(29px,7.5vw,36px);line-height:1.14}
  .promotion-hero .hero-lede {font-size:14.5px;line-height:1.64}
  .promotion-essentials {padding:22px 19px;border-radius:20px}
  .promotion-essentials h2 {font-size:19px}
  .promotion-prize-summary {font-size:18px;margin-bottom:18px}
  .facts-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
  .fact-item {padding:14px 9px 14px 0}
  .fact-item:nth-child(2n) {padding-left:13px}
  .fact-item dt {font-size:11px}
  .fact-item dd {font-size:13px;line-height:1.48}
  .promotion-visual {border-radius:17px;margin-top:24px}
  .promotion-entry,.promotion-prize,.promotion-official {padding:12px 0 25px}
  .related-promotions__grid {grid-template-columns:1fr;gap:18px}
  .related-promotions__header h2 {font-size:24px}
  .related-promotions__grid .record-prize {font-size:12.5px}
  .site-foot {margin-top:42px}
}
@media (max-width:360px) {
  :root {--page-gutter:16px}
  .app-discovery-inner .catalog-hero h1 {font-size:30px}
  .app-home-grid>.record:nth-of-type(2),.app-home-grid>.record:nth-of-type(3),.app-home-grid>.record:nth-of-type(n+4):nth-of-type(-n+6) {grid-template-columns:minmax(101px,36%) minmax(0,1fr);gap:11px}
  .record h3 {font-size:15.5px}
  .record-deadline {font-size:11px}
  .app-dashboard {padding:20px 17px}
  .related-promotions__grid>.record {grid-template-columns:35% minmax(0,1fr);gap:10px}
}
@media (prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto}
  .record,.button,.app-quick-filters :is(button,a),.lang-link {transition:none}
}

/* V3 finishing pass: horizontal items must never let save controls cover titles. */
.app-home-grid>.record:nth-of-type(2) .save-button,
.app-home-grid>.record:nth-of-type(3) .save-button,
.records-grid:not(.app-home-grid)>.record .save-button,
.saved-grid>.record .save-button,
.related-promotions__grid>.record .save-button {
  position:static;inset:auto;flex:0 0 44px;box-shadow:none;
  background:var(--surface);border:1px solid var(--border);margin-left:auto;
}
.app-home-grid>.record:nth-of-type(2) .record-actions,
.app-home-grid>.record:nth-of-type(3) .record-actions,
.records-grid:not(.app-home-grid)>.record .record-actions,
.saved-grid>.record .record-actions,
.related-promotions__grid>.record .record-actions {justify-content:space-between;gap:7px}
/* A source screenshot is a landscape visual, not a full-height coloured column. */
.records-grid:not(.app-home-grid)>.record .record-media,
.saved-grid>.record .record-media,
.related-promotions__grid>.record .record-media {
  align-self:start;min-height:0;height:auto;aspect-ratio:1.4;
}
.app-home-grid>.record:nth-of-type(2) .record-media,
.app-home-grid>.record:nth-of-type(3) .record-media {align-self:start;min-height:0;height:auto;aspect-ratio:1.15}
/* The bilingual gateway is a simple choice, not another product-card grid. */
.language-picker {max-width:900px}
.language-hero h1 {font-size:clamp(35px,5vw,53px);line-height:1.09;letter-spacing:-.057em}
.language-hero h1 span+span {color:var(--accent)}
.language-intro {max-width:660px;font-size:16px;line-height:1.67}
.language-options {gap:17px;margin-top:26px}
.language-card {padding:25px 26px;min-height:124px;border-radius:20px;border-color:var(--border);box-shadow:none;background:var(--surface)}
.language-card:hover {border-color:var(--accent);background:color-mix(in srgb,var(--surface-accent) 30%,var(--surface))}
.language-card__title {font-size:23px;letter-spacing:-.035em}
.language-card__action {font-size:13px}
.language-card__arrow {font-size:24px}
.language-about {border-top-color:var(--border);padding-top:34px}
.language-about__grid {gap:45px}
@media (max-width:600px) {
  .language-options {gap:10px}
  .language-card {min-height:104px;padding:18px 20px;border-radius:17px}
  .language-card__title {font-size:20px}
  .records-grid:not(.app-home-grid)>.record .record-media,
  .saved-grid>.record .record-media,
  .related-promotions__grid>.record .record-media {aspect-ratio:1.05}
  .app-home-grid>.record:nth-of-type(2) .record-media,
  .app-home-grid>.record:nth-of-type(3) .record-media,
  .app-home-grid>.record:nth-of-type(n+4):nth-of-type(-n+6) .record-media {
    height:auto;min-height:0;aspect-ratio:1.05;align-self:start;
  }
  .app-home-grid>.record:nth-of-type(n+4):nth-of-type(-n+6) .save-button {position:static;inset:auto;flex:0 0 44px;margin-left:auto;box-shadow:none;background:var(--surface)}
  .app-home-grid>.record:nth-of-type(n+4):nth-of-type(-n+6) .record-actions {justify-content:space-between;gap:7px}
  .record .save-button>span[aria-hidden] {font-size:23px}
}

/* Closing-soon feed: readable, media-led rows on small touch screens. */
@media (max-width:699px) {
  .app-panel--soon {min-width:0}
  .app-panel--soon .app-panel__head {display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
  .app-panel--soon .app-panel__head h2 {min-width:0;font-size:18px;line-height:1.3;letter-spacing:-.03em}
  .app-panel--soon .app-panel__link {flex:0 0 auto;font-size:12.5px;line-height:1.35;text-decoration:none}
  .app-panel--soon .app-soon-list {display:flex;flex-direction:column;gap:0;min-width:0}
  .app-panel--soon .app-soon-item {display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:14px;min-width:0;width:100%;min-height:103px;padding:13px 0;color:var(--text);text-decoration:none}
  .app-panel--soon .app-soon-item+.app-soon-item {border-top:1px solid var(--border)}
  .app-panel--soon .app-soon-item img {display:block;width:88px;height:78px;max-width:100%;object-fit:contain;background:var(--surface-subtle);border:1px solid var(--border);border-radius:13px}
  .app-panel--soon .app-soon-item>span {display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:7px}
  .app-panel--soon .app-soon-item b {display:-webkit-box;max-width:100%;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;font-size:14px;line-height:1.38;letter-spacing:-.012em;font-weight:740;overflow-wrap:anywhere}
  .app-panel--soon .app-soon-item small {display:block;max-width:100%;margin:0;color:var(--accent);font-size:12px;line-height:1.35;font-weight:700}
  .app-panel--soon .app-soon-item--text-only {grid-template-columns:minmax(0,1fr);min-height:80px}
  .app-panel--soon .app-soon-placeholder {font-size:13px;line-height:1.6;margin:3px 0 0}
  .app-panel--soon .app-soon-item:hover b {color:var(--accent)}
}
@media (max-width:360px) {
  .app-panel--soon .app-panel__head h2 {font-size:16.5px}
  .app-panel--soon .app-panel__link {font-size:12px}
  .app-panel--soon .app-soon-item {grid-template-columns:72px minmax(0,1fr);gap:11px;padding:12px 0;min-height:95px}
  .app-panel--soon .app-soon-item img {width:72px;height:72px}
  .app-panel--soon .app-soon-item b {font-size:13.5px}
}

/* Mobile card-width fix — keep every card and its visual on the same full-width axis.
   Earlier editorial-row rules use align-self:start on media; on a column card this
   allows image-free entries to shrink to their intrinsic (sometimes zero) width. */
@media (max-width:699px) {
  .records-grid:not(.app-home-grid),
  .saved-grid,
  .related-promotions__grid {
    grid-template-columns:minmax(0,1fr);
  }
  .records-grid:not(.app-home-grid)>.record,
  .saved-grid>.record,
  .related-promotions__grid>.record {
    display:flex;
    flex-direction:column;
    grid-template-columns:none;
    gap:0;
    padding:10px;
    border:1px solid var(--border);
    border-radius:20px;
    background:var(--surface);
    box-shadow:0 8px 24px rgba(53,16,37,.055);
    overflow:hidden;
  }
  .records-grid>.record,
  .saved-grid>.record,
  .related-promotions__grid>.record {
    width:100%;
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
    justify-self:stretch;
  }
  .records-grid:not(.app-home-grid)>.record .record-body,
  .saved-grid>.record .record-body,
  .related-promotions__grid>.record .record-body {
    padding:15px 7px 8px;
    min-width:0;
  }
  .records-grid:not(.app-home-grid)>.record .record-media,
  .saved-grid>.record .record-media,
  .related-promotions__grid>.record .record-media {
    flex:0 0 auto;
    align-self:stretch;
    width:100%;
    max-width:100%;
    min-width:0;
    height:auto;
    min-height:0;
    aspect-ratio:1.7;
    border-radius:14px;
  }
  .records-grid:not(.app-home-grid)>.record .record-media img,
  .saved-grid>.record .record-media img,
  .related-promotions__grid>.record .record-media img {
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
  }
}
@media (max-width:600px) {
  .app-home-grid>.record {
    width:100%;
    max-width:100%;
    min-width:0;
    justify-self:stretch;
    box-sizing:border-box;
  }
  .app-home-grid>.record:nth-of-type(n+2) .record-media {
    flex:0 0 auto;
    align-self:stretch;
    width:100%;
    max-width:100%;
    min-width:0;
    height:auto;
    min-height:0;
    aspect-ratio:1.7;
  }
  .app-home-grid>.record:nth-of-type(n+2) .record-media img {
    width:100%;height:100%;object-fit:contain;
  }
  /* Cards 4–6 have a more specific legacy portrait ratio; normalize them too. */
  .app-home-grid>.record:nth-of-type(n+4):nth-of-type(-n+6) .record-media {
    aspect-ratio:1.7;
  }
  .app-home-grid>.record:nth-of-type(n+7) .record-media {
    aspect-ratio:1.74;
  }
}


/* Home desktop composition v4: balanced editorial cards, stable dashboard, mobile untouched.
   The featured card no longer spans two rows; supporting cards use their images at full width. */
@media (min-width:761px) {
  .records-grid.app-home-grid {
    grid-template-columns:repeat(12,minmax(0,1fr));
    column-gap:24px;
    row-gap:28px;
    align-items:stretch;
  }
  .app-home-grid>.record {min-width:0}
  .app-home-grid>.record:nth-of-type(1) {
    grid-row:auto;
    align-self:stretch;
    padding:13px;
    border-radius:24px;
  }
  .app-home-grid>.record:nth-of-type(1) .record-body {padding:21px 12px 12px}
  .app-home-grid>.record:nth-of-type(1) .record-media {
    min-height:0;
    aspect-ratio:1.82;
    align-self:stretch;
    width:100%;
  }
  .app-home-grid>.record:nth-of-type(2),
  .app-home-grid>.record:nth-of-type(3) {
    display:flex;
    flex-direction:column;
    gap:0;
    padding:0 0 13px;
    border-bottom:1px solid var(--border);
    min-width:0;
  }
  .app-home-grid>.record:nth-of-type(2) .record-media,
  .app-home-grid>.record:nth-of-type(3) .record-media {
    height:auto;
    min-height:0;
    width:100%;
    max-width:100%;
    align-self:stretch;
    aspect-ratio:1.65;
    border-radius:17px;
  }
  .app-home-grid>.record:nth-of-type(2) .record-body,
  .app-home-grid>.record:nth-of-type(3) .record-body {padding:15px 3px 0}
  .app-home-grid>.record:nth-of-type(2) h3,
  .app-home-grid>.record:nth-of-type(3) h3 {
    font-size:clamp(16px,1.22vw,18px);
    line-height:1.29;
    letter-spacing:-.032em;
  }
  .app-home-grid>.record:nth-of-type(2) .record-prize,
  .app-home-grid>.record:nth-of-type(3) .record-prize {
    font-size:13.5px;
    line-height:1.52;
    -webkit-line-clamp:3;
  }
  .app-home-grid>.record:nth-of-type(n+4):nth-of-type(-n+6) {
    grid-column:span 4;
    padding-bottom:10px;
  }
  .app-home-grid>.record:nth-of-type(n+4):nth-of-type(-n+6) .record-media {
    width:100%;
    aspect-ratio:1.8;
  }
  .app-home-grid>.record:nth-of-type(n+4):nth-of-type(-n+6) .record-body {padding:16px 3px 4px}
  .app-home-grid>.app-dashboard~.record {grid-column:span 3}
  .app-home-grid>.app-dashboard {grid-column:1/-1}
  .app-dashboard {align-items:start}
  .app-panel__head {align-items:center}
  .app-panel__head h2 {min-width:0}
}
@media (min-width:1200px) {
  .app-home-grid>.record:nth-of-type(1) {grid-column:span 6}
  .app-home-grid>.record:nth-of-type(2),
  .app-home-grid>.record:nth-of-type(3) {grid-column:span 3}
  .app-home-grid>.record:nth-of-type(2) .record-media,
  .app-home-grid>.record:nth-of-type(3) .record-media {aspect-ratio:1.5}
  .app-home-grid>.record:nth-of-type(2) h3,
  .app-home-grid>.record:nth-of-type(3) h3 {font-size:17px}
  .app-home-grid>.record:nth-of-type(1) .record-prize {max-width:520px}
  .app-dashboard {
    grid-template-columns:minmax(0,1.18fr) minmax(0,.9fr) minmax(0,.94fr);
    gap:22px;
    padding:26px 27px;
    margin:5px 0 9px;
  }
  .app-dashboard>.app-panel--guides {
    grid-column:auto;
    padding-top:0;
    padding-left:22px;
    border-top:0;
    border-left:1px solid var(--border);
  }
  .app-panel+.app-panel {padding-left:22px;border-left:1px solid var(--border)}
  .app-guide-grid {grid-template-columns:1fr;gap:0}
  .app-guide-link+.app-guide-link {border-top:1px solid var(--border)}
  .app-panel__head {gap:8px}
  .app-panel h2 {font-size:16px}
  .app-panel__link {font-size:12px}
}
@media (min-width:761px) and (max-width:1199px) {
  .app-home-grid>.record:nth-of-type(1) {
    grid-column:1/-1;
    grid-row:auto;
    display:grid;
    grid-template-columns:minmax(0,44%) minmax(0,1fr);
    gap:19px;
    align-items:stretch;
  }
  .app-home-grid>.record:nth-of-type(1) .record-media {
    min-height:270px;
    height:100%;
    aspect-ratio:auto;
  }
  .app-home-grid>.record:nth-of-type(1) .record-body {
    padding:15px 14px 10px 0;
  }
  .app-home-grid>.record:nth-of-type(1) h3 {
    font-size:clamp(23px,2.65vw,29px);
  }
  .app-home-grid>.record:nth-of-type(2),
  .app-home-grid>.record:nth-of-type(3) {grid-column:span 6}
  .app-home-grid>.record:nth-of-type(2) .record-media,
  .app-home-grid>.record:nth-of-type(3) .record-media {
    aspect-ratio:1.8;
    min-height:0;
    height:auto;
  }
  .app-home-grid>.record:nth-of-type(2) .record-prize,
  .app-home-grid>.record:nth-of-type(3) .record-prize {display:-webkit-box}
  .app-dashboard {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:21px;
    margin:5px 0 9px;
    padding:23px 25px;
  }
  .app-dashboard>.app-panel--guides {
    grid-column:1/-1;
    border-top:1px solid var(--border);
    border-left:0;
    padding:19px 0 0;
  }
  .app-guide-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .app-guide-link+.app-guide-link {border-top:0}
}
@media (min-width:761px) and (max-width:850px) {
  .records-grid.app-home-grid {column-gap:17px;row-gap:24px}
  .app-home-grid>.record:nth-of-type(1) {grid-template-columns:minmax(0,40%) minmax(0,1fr);gap:14px}
  .app-home-grid>.record:nth-of-type(1) .record-media {min-height:230px}
  .app-home-grid>.record:nth-of-type(1) .record-body {padding:10px 7px 7px 0}
  .app-home-grid>.record:nth-of-type(n+4):nth-of-type(-n+6) h3 {font-size:16px}
  .app-home-grid>.record:nth-of-type(n+4):nth-of-type(-n+6) .record-prize {font-size:13px}
}

/* Give the four post-dashboard cards comfortable reading width on laptops and tablets. */
@media (min-width:761px) and (max-width:1199px) {
  .app-home-grid>.app-dashboard~.record {grid-column:span 6}
  .app-home-grid>.app-dashboard~.record .record-media {aspect-ratio:1.82}
  .app-home-grid>.app-dashboard~.record h3 {font-size:17px;line-height:1.31}
}
@media (min-width:761px) and (max-width:850px) {
  .records-grid.app-home-grid>.record:nth-of-type(4),
  .records-grid.app-home-grid>.record:nth-of-type(5) {grid-column:span 6}
  .records-grid.app-home-grid>.record:nth-of-type(6) {
    grid-column:1/-1;
    display:grid;
    grid-template-columns:minmax(0,44%) minmax(0,1fr);
    align-items:center;
    gap:19px;
  }
  .app-home-grid>.record:nth-of-type(6) .record-media {
    height:100%;
    min-height:190px;
    aspect-ratio:auto;
  }
  .app-home-grid>.record:nth-of-type(6) .record-body {padding:10px 6px 10px 0}
}

/* Keep the main desktop feature prominent without forcing excessive vertical whitespace. */
@media (min-width:1200px) {
  .app-home-grid>.record:nth-of-type(1) .record-media {aspect-ratio:2.35}
  .app-home-grid>.record:nth-of-type(1) .record-body {padding:17px 12px 10px}
  .app-home-grid>.record:nth-of-type(1) h3 {font-size:clamp(24px,1.95vw,28px)}
  .app-home-grid>.record:nth-of-type(2) .record-media,
  .app-home-grid>.record:nth-of-type(3) .record-media {aspect-ratio:1.72}
}
