/* Tokens */
:root{
  --color-ink:#172033;
  --color-detail:#344054;
  --color-copy:#465165;
  --color-muted:#667085;
  --color-canvas:#FFFFFF;
  --color-inverse:#FFFFFF;
  --color-inverse-copy:#D8EBE2;
  --color-frost:#F1F6F3;
  --color-brand-surface:#F9F6F0;
  --color-border:#DDE4E1;
  --color-divider:#9AA6A1;
  --color-control-border:#80918A;
  --color-pine:#0B6B50;
  --color-pine-hover:#07513C;
  --color-pine-bright:#0F7A5A;
  --color-pine-wash:#EAF6F0;
  --color-pine-soft:#D8EBE2;
  --color-pine-border:#B6D8C8;
  --color-pine-border-strong:#86B79F;
  --color-aqua:#2F6F8F;
  --color-aqua-wash:#EDF6FA;
  --color-aqua-border:#B7D4E2;
  /* Warm semantic colors. One red family, one gold family. Every
     semantic color ships text, wash, and border steps, plus a fill
     step where a family needs one. Negative = unfavorable, excluded,
     reduced-value, expired, invalid, failed, or destructive state.
     Caution = caution, timing, or manual intervention, plus the Fair
     score band and MEDIUM priority. Caution-deep is the text step: use
     it for text and icons on white and on the wash. Caution base is
     for fills and band segments. Caution-soft is the pale gold fill
     for aftermath stages. Both warm families are fill-safe at scale.
     Do not add a warm hue without deleting one first. */
  --color-negative:#B42318;
  --color-negative-wash:#FDF1F0;
  --color-negative-border:#E9B5AF;
  --color-caution:#C49A0B;
  --color-caution-deep:#7C6206;
  --color-caution-wash:#FBF6E3;
  --color-caution-border:#E3D29A;
  --color-caution-soft:#E6C87A;
  /* Dark Stacker closer on Ink: light copy, muted labels, divider
     borders, and the trust-list check accent. */
  --color-closer-copy:#C7D2DE;
  --color-closer-muted:#93A5B8;
  --color-closer-border:#2C3A52;
  --color-closer-accent:#7FC7A8;
  /* Shadow colors (color-mix). Geometry stays local per component;
     the color ties the dark to the registry. */
  --shadow-ink-lift:color-mix(in srgb,var(--color-ink) 7%,transparent);
  --shadow-ink-rest:color-mix(in srgb,var(--color-ink) 8%,transparent);
  --shadow-ink-overlay:color-mix(in srgb,var(--color-ink) 14%,transparent);
  --shadow-pine:color-mix(in srgb,var(--color-pine-hover) 22%,transparent);
  --shadow-pine-deep:color-mix(in srgb,var(--color-pine-hover) 27%,transparent);
  --shadow-pine-soft:color-mix(in srgb,var(--color-pine) 12%,transparent);
  --gradient-action-primary:linear-gradient(135deg,var(--color-pine-bright) 0%,var(--color-pine-hover) 100%);
  --font-sans:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  /* Emphasized UI text uses the established 650/700/750/800/850 weight steps. */
  /* Compact-label role (DESIGN.md): dense short-form labels, badges, table headings. Do not add another size between this and --text-xs. */
  --font-size-compact-label:.72rem;
  /* 6-step type scale; body and small text use these tokens, not literals. */
  --text-xs:.75rem;
  --text-sm:.8125rem;
  --text-card:.875rem;
  --text-body:1rem;
  --text-lead:1.125rem;
  --text-h3:1.25rem;
  --touch-target-min:44px;
  --wide-shell-width:1400px;
  --deal-width:940px;
  --article-width:740px;
  --reading-rail-width:240px;
  --reading-rail-gap:40px;
  --reading-workspace-width:calc(var(--deal-width) + var(--reading-rail-width) + var(--reading-rail-gap));
  --radius-sm:6px;
  --radius-icon:8px;
  --radius-md:10px;
  --radius-button:12px;
  --radius-card:14px;
  --radius-field:16px;
  --space-1-5:6px;
  --space-2:8px;
  --space-2-5:10px;
  --space-3:12px;
  --space-3-5:14px;
  --space-4:16px;
  --space-5:20px;
  --space-6:24px;
  --space-8:32px;
  --space-12:48px;
  --space-16:64px;
  /* Fixed Stacker mini-bar clearance: footer padding and scroll
     padding must match the bar height. */
  --stacker-mini-bar-clearance:80px;
  --leading-none:1;
  --leading-tight:1.12;
  /* Display H1 line-height: every h1 rule shares it. */
  --leading-display:1.15;
  --leading-snug:1.25;
  --leading-normal:1.35;
  --leading-relaxed:1.45;
  --leading-loose:1.55;
  --leading-body:1.6;
  --tracking-tight:-.03em;
  --tracking-normal:0;
  --tracking-slight:-.01em;
  --tracking-wide:.025em;
  --tracking-wider:.09em;
}

/* Base */
*{box-sizing:border-box}
/* Hidden state wins over component layout; keep native find-in-page reveal. Reserve rules must also use !important to beat this rule. */
[hidden]:not([hidden="until-found" i]){display:none!important}
html{color-scheme:light;scroll-behavior:smooth;background:var(--color-canvas);scrollbar-color:var(--color-control-border) var(--color-frost)}
body{background:var(--color-canvas);color:var(--color-ink);font:var(--text-body)/var(--leading-body) var(--font-sans);text-rendering:optimizeLegibility}
main{overflow-wrap:break-word}
::selection{background:var(--color-pine-soft);color:var(--color-ink)}
a{color:var(--color-pine);text-decoration:none}
@media(hover:hover) and (pointer:fine){a:hover{color:var(--color-pine-hover)}}
button,input,select,textarea{font:inherit}
code{font-family:inherit}
button{color:inherit}
h1,h2,h3,p{margin-top:0}
h2,h3{line-height:var(--leading-tight);letter-spacing:-.025em}
h1{font-size:clamp(1.75rem,1.2rem + 2.4vw,2.5rem);line-height:var(--leading-display);letter-spacing:var(--tracking-tight);font-weight:800}
h2{font-size:clamp(1.55rem,2.6vw,2.05rem);margin-bottom:var(--space-4)}
h3{font-size:1.15rem}

/* Layout */
.shell{width:min(calc(100% - 32px),var(--reading-workspace-width));margin-inline:auto}
.deal-width{width:min(100%,var(--deal-width))}
.article-width{width:min(100%,var(--article-width))}
.prose{width:min(100%,var(--article-width))}
.prose img{display:block;margin-inline:auto;max-width:100%;height:auto}
.section{padding-block:var(--space-12)}
@media(max-width:720px){.section{padding-block:var(--space-8)}}
@media(max-width:720px){.editorial-page{padding-bottom:var(--space-4)}}
@media(max-width:720px){.home-latest-updates{padding-bottom:var(--space-4)}}
.card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-canvas)}

/* Components */
.button{display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch-target-min);padding:var(--space-2-5) var(--space-4);border:1px solid transparent;border-radius:var(--radius-button);font-weight:750;line-height:var(--leading-normal);text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}
.button-primary{background:var(--color-pine);color:var(--color-inverse)}
.button-focal{background:var(--gradient-action-primary);color:var(--color-inverse);box-shadow:0 7px 18px var(--shadow-pine)}
.button-secondary{background:var(--color-canvas);border-color:var(--color-control-border);color:var(--color-ink)}
@media(hover:hover) and (pointer:fine){
  .button:hover{transform:translateY(-1px)}
  .button-primary:hover{background:var(--color-pine-hover);color:var(--color-inverse)}
  .button-focal:hover{background:var(--gradient-action-primary);color:var(--color-inverse);box-shadow:0 10px 24px var(--shadow-pine-deep)}
  .button-secondary:hover{background:var(--color-pine-soft);border-color:var(--color-pine-hover);color:var(--color-pine-hover)}
}
.button:active{transform:translateY(0)}
.button-primary:active{background:var(--color-pine-hover);color:var(--color-inverse)}
.button-focal:active{background:var(--color-pine-hover);color:var(--color-inverse);box-shadow:0 2px 8px var(--shadow-pine-soft)}
.button-secondary:active{background:var(--color-pine-soft);border-color:var(--color-pine-hover);color:var(--color-pine-hover)}
.text-link,.editorial-content p a,.about-section p a,.faq-list p a{font-weight:750;text-decoration:none}
/* Text-link icons sit on the text baseline, so chevrons read 1 to 2px high. PR 1924 fixed button icons only. */
.text-link svg{vertical-align:-3px}
.text-link .ranked-offer-details-icon svg,.text-link .rent-referral-details-icon svg{transform:translateY(1px)}
.button-row{display:flex;flex-wrap:wrap;gap:var(--space-3)}
.deal-guidance-actions{display:flex;align-items:flex-end;flex-wrap:wrap;gap:var(--space-3);margin:var(--space-6) 0 0}
.deal-guidance-code-copy{display:grid;flex:0 1 320px;max-width:100%;gap:var(--space-1-5)}
.deal-guidance-referral-cta{min-height:48px;padding-inline:22px}

.analytics-consent{position:fixed;right:clamp(12px,2vw,20px);bottom:clamp(12px,2vw,20px);left:auto;z-index:1200;width:min(380px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto;padding:var(--space-3-5);border:1px solid var(--color-pine-border);border-radius:var(--radius-button);background:var(--color-canvas);color:var(--color-ink);box-shadow:0 12px 32px var(--shadow-ink-overlay)}
.analytics-consent-copy{display:flex;flex-wrap:wrap;gap:1px var(--space-2-5);align-items:baseline;min-width:0;padding-right:42px}
.analytics-consent h2{margin:0;font-size:.86rem;line-height:var(--leading-snug)}
.analytics-consent p{flex:0 0 100%;min-width:0;margin:0;color:var(--color-copy);font-size:var(--text-sm);line-height:var(--leading-normal);text-wrap:pretty}
.analytics-consent-close{position:absolute;top:7px;right:7px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:var(--radius-md);background:transparent;color:var(--color-muted);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color .18s ease,color .18s ease}
.analytics-consent-close svg{width:16px;height:16px}
.analytics-consent-close:active{background:var(--color-pine-soft);color:var(--color-pine-hover)}
@media(hover:hover) and (pointer:fine){.analytics-consent-close:hover{background:var(--color-pine-wash);color:var(--color-pine)}}
.analytics-consent-actions{margin-top:var(--space-2-5)}
.analytics-consent-privacy{font-size:var(--text-xs);white-space:nowrap}
.analytics-consent-buttons{display:flex;gap:var(--space-2)}
.analytics-consent-buttons .button{flex:1 1 0;min-width:0;min-height:var(--touch-target-min);margin:0;padding:7px var(--space-2-5);font-size:var(--text-sm);white-space:nowrap}
.prose .analytics-preference-button{width:auto;max-width:100%;min-height:var(--touch-target-min);padding-inline:var(--space-4);font-size:var(--text-card);font-weight:700}
@media(max-width:500px){
  .analytics-consent{right:0;bottom:0;left:0;width:100%;max-height:55vh;padding:var(--space-2) var(--space-4) max(var(--space-2),env(safe-area-inset-bottom));border-right:0;border-bottom:0;border-left:0;border-radius:0;box-shadow:none}
  .analytics-consent-copy{width:100%}
  .analytics-consent h2{font-size:.9rem}
  .analytics-consent p{line-height:var(--leading-snug)}
  .analytics-consent-close{top:6px;right:6px}
  .analytics-consent-close svg{width:18px;height:18px}
  .analytics-consent-actions{margin-top:var(--space-1-5)}
  .analytics-consent-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .analytics-consent-buttons .button{width:100%;height:44px;padding:0 var(--space-2-5);font-size:var(--text-card)}
}

/* Keep focused footer links above the fixed notice without changing consent focus flow. */
@media screen{
  body:has(.analytics-consent:not([hidden])) .site-footer{padding-bottom:260px}
  body:has(.analytics-consent:not([hidden])) .site-footer a{scroll-margin-bottom:220px}
}
@media print{.analytics-consent,.nav-toggle{display:none!important}}

.site-header{position:relative;height:78px;border-bottom:1px solid var(--color-border);background:var(--color-canvas)}
.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);position:relative}
/* Wordmark mark size is duplicated in base.njk critical CSS on purpose: first paint needs 34px before this stylesheet loads. Keep both. */
.wordmark-mark{display:block;width:34px;height:34px;flex:0 0 34px}
.wordmark-mark svg{display:block;width:100%;height:100%}
.wordmark{display:inline-flex;align-items:center;min-height:var(--touch-target-min);gap:var(--space-2-5);font-family:var(--font-sans);font-size:var(--text-lead);line-height:1.1;font-weight:850;color:var(--color-ink);text-decoration:none;letter-spacing:-.025em;white-space:nowrap}
.primary-nav{display:flex;align-items:center;justify-content:flex-end;gap:18px}
.primary-nav a{position:relative;display:inline-flex;align-items:center;min-height:var(--touch-target-min);color:var(--color-ink);text-decoration:none;font-size:var(--text-body);font-weight:650;white-space:nowrap}
.primary-nav-label{position:relative;display:inline-flex;align-items:center;min-height:var(--touch-target-min)}
.primary-nav-icon,.mobile-nav-section-label,.mobile-nav-divider{display:none}
@media(hover:hover) and (pointer:fine){.primary-nav a:hover{color:var(--color-pine)}}
.primary-nav a[aria-current]{color:var(--color-pine);font-weight:750}
.primary-nav a[aria-current]::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:var(--color-pine);border-radius:2px}
.primary-nav a[aria-current]:has(.button)::after{display:none}
.nav-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;background:var(--color-canvas);border:1px solid var(--color-border);border-radius:var(--radius-md);min-height:var(--touch-target-min);padding:0;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease}
@media(hover:hover) and (pointer:fine){.nav-toggle:hover{background:var(--color-pine-wash);border-color:var(--color-pine-border);color:var(--color-pine)}}
.nav-toggle[aria-expanded="true"]{background:var(--color-pine-soft);border-color:var(--color-pine-border);color:var(--color-pine)}
.nav-toggle-icon{display:block;width:22px;height:22px}
.nav-toggle-icon svg{display:block;width:22px;height:22px}
.nav-toggle-icon-close{display:none}
.nav-toggle[aria-expanded="true"] .nav-toggle-icon-menu{display:none}
.nav-toggle[aria-expanded="true"] .nav-toggle-icon-close{display:block}
@media(min-width:1001px){
  .site-header{height:auto;min-height:78px}
  .header-inner{height:auto;min-height:77px;flex-wrap:wrap;row-gap:var(--space-2);padding-block:var(--space-3)}
  .primary-nav{flex-wrap:wrap}
  /* Nav is a direct child of header: put it back in the desktop row. */
  .site-header .primary-nav{position:absolute;right:max(16px,calc((100% - var(--reading-workspace-width))/2));top:50%;transform:translateY(-50%)}
}

/* Footer gap standard: 96px desktop, 48px mobile (structural), body bottom padding +
this margin-top. No other variants. Pages ending in a padded card, link, or details box
carry that component's own bottom interior above it, so the last painted text sits
further from the footer. Rent sets its gap via #sources
padding, see guides.css .rent-guide-section:has(#sources). */
.site-footer{margin-top:var(--space-12);padding-block:40px;border-top:1px solid var(--color-border);background:var(--color-frost)}
.footer-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(var(--space-12),8vw,112px);align-items:start}
.footer-brand{max-width:46ch}
.footer-brand p{color:var(--color-muted);margin:.5rem 0 0;text-wrap:pretty}
.footer-social{display:flex;align-items:center;gap:var(--space-1-5);margin-top:var(--space-4)}
.footer-social-link{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--radius-icon);color:var(--color-detail);text-decoration:none;transition:background-color .18s ease,color .18s ease}
.footer-social-link svg{display:block;width:18px;height:18px}
.footer-social-link:focus-visible{background:var(--color-pine-soft);color:var(--color-pine)}
.footer-nav{display:grid;grid-template-columns:repeat(3,minmax(150px,auto));gap:clamp(var(--space-8),5vw,var(--space-16));align-items:start}
.footer-nav-heading{margin:0 0 var(--space-3);color:var(--color-muted);font-size:var(--text-xs);line-height:var(--leading-normal);font-weight:800;letter-spacing:var(--tracking-wider);text-transform:uppercase}
.footer-nav-links{display:grid;justify-items:start}
.footer-nav-links a{display:inline-flex;align-items:center;min-width:var(--touch-target-min);min-height:var(--touch-target-min);color:var(--color-detail);font-size:var(--text-body);font-weight:650;text-decoration:none}
.footer-nav-links a:visited{color:var(--color-detail)}
.footer-nav-links a:focus-visible{color:var(--color-pine)}
.footer-nav-heading{display:flex;align-items:center;gap:var(--space-2)}.footer-nav-heading-icon{display:grid;place-items:center;width:18px;height:18px;flex:0 0 18px;color:var(--color-muted)}.footer-nav-heading-icon svg{display:block;width:18px;height:18px}.footer-nav-mobile-heading{display:flex;align-items:center;gap:var(--space-2);min-width:0}.footer-nav-mobile-heading-icon{display:grid;place-items:center;width:18px;height:18px;flex:0 0 18px;color:var(--color-muted)}.footer-nav-mobile-heading-icon svg{display:block;width:18px;height:18px}
#footer-compare-heading .footer-nav-heading-icon{transform:translateY(-.5px)}
.footer-nav-mobile{display:none}
.footer-nav-mobile-group{border-bottom:1px solid var(--color-border)}
.footer-nav-mobile-group summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:var(--touch-target-min);cursor:pointer;list-style:none;color:var(--color-muted);font-size:var(--text-xs);line-height:var(--leading-normal);font-weight:800;letter-spacing:var(--tracking-wider);text-transform:uppercase}
.footer-nav-mobile-group summary::-webkit-details-marker{display:none}
.footer-nav-mobile-group summary::marker{content:""}
.footer-nav-mobile-chevron{display:grid;place-items:center;width:20px;height:20px;flex:0 0 20px;color:var(--color-pine);transition:transform .18s ease}
.footer-nav-mobile-chevron svg{display:block;width:20px;height:20px}
.footer-nav-mobile-group[open] .footer-nav-mobile-chevron{transform:rotate(180deg)}
.footer-nav-mobile-group[open] summary{border-bottom:1px solid var(--color-border)}
@media(hover:hover) and (pointer:fine){
  .footer-social-link:hover{background:var(--color-pine-soft);color:var(--color-pine)}
  .footer-nav-links a:hover{color:var(--color-pine)}
}

.breadcrumbs{font-size:var(--text-card);line-height:1.375rem;color:var(--color-muted);margin-bottom:18px}
.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;padding:0;margin:0}
.breadcrumbs li+li::before{content:"/";margin-right:var(--space-2);color:var(--color-divider)}
.breadcrumbs a{color:var(--color-muted)}
@media(max-width:760px){.breadcrumbs{margin-bottom:var(--space-4)}.breadcrumbs li{display:flex;align-items:center}.breadcrumbs a{display:inline-flex;align-items:center;min-width:var(--touch-target-min);min-height:var(--touch-target-min)}}
/* Breadcrumbs are secondary navigation: grow targets with phone width; keep current-page semantics without a redundant visual row. */
@media(max-width:760px){.breadcrumbs li:last-child{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}
@media(max-width:760px){.breadcrumbs li:nth-child(2):last-child{position:static;width:auto;height:auto;overflow:visible;clip-path:none;white-space:normal}}
@media(max-width:620px){.breadcrumbs a{min-width:32px;min-height:32px}}
@media(max-width:390px){.breadcrumbs a{min-width:24px;min-height:24px}}

.brand-lockup{display:inline-flex;align-items:center;min-width:0}
.brand-lockup-logo{display:block;width:auto;height:34px;max-width:200px;object-fit:contain;object-position:left center}
.brand-lockup-fallback{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--color-pine-border);border-radius:var(--radius-md);background:var(--color-pine-wash);color:var(--color-pine);font-weight:850}
.brand-lockup-name{margin-left:var(--space-2-5);color:var(--color-ink);font-weight:800;letter-spacing:var(--tracking-slight)}
.brand-lockup-lg .brand-lockup-logo{height:38px;max-width:240px}
.brand-lockup-lg .brand-lockup-fallback{width:40px;height:40px}
.brand-lockup-lg .brand-lockup-name{font-size:var(--text-body)}
.brand-lockup-sm .brand-lockup-logo{height:30px;max-width:210px}
.brand-lockup-sm .brand-lockup-fallback{width:30px;height:30px;border-radius:8px}
.brand-lockup-sm .brand-lockup-name{font-size:var(--text-body)}

.badge{display:inline-flex;align-items:center;gap:var(--space-1-5);min-width:0;max-width:100%;min-height:28px;padding:4px 9px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-xs);line-height:var(--leading-snug);font-weight:750;text-align:left;text-decoration:none;white-space:normal}
.badge>svg{flex-shrink:0}
.badge-category{background:var(--color-frost);color:var(--color-detail);font-weight:650}
.badge-status{background:var(--color-pine-soft);border-color:var(--color-pine-border);color:var(--color-pine)}
.badge-info{background:var(--color-aqua-wash);border-color:var(--color-aqua-border);color:var(--color-aqua)}
.update-badge .badge-status svg{transform:translateY(1.25px)}

.offer-panel{overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-canvas)}
.offer-panel-band{height:39px;display:flex;align-items:center;justify-content:center;margin:0;background:var(--color-pine);color:var(--color-inverse);font-size:var(--text-xs);font-weight:800;letter-spacing:.065em;text-transform:uppercase}
.offer-panel:not(.offer-panel-expired) .offer-panel-band{background:var(--color-pine-soft);color:var(--color-pine)}
.offer-panel-expired .offer-panel-band{background:var(--color-negative)}
.offer-panel-body{--offer-pad-x:44px;padding:31px var(--offer-pad-x) 0}
.offer-panel-head span{display:block;color:var(--color-detail);font-size:var(--text-card);font-weight:750}
.offer-panel-head strong{display:block;margin-top:5px;color:var(--color-pine);font-size:clamp(3rem,4.5vw,3.9rem);line-height:var(--leading-none);letter-spacing:-.05em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.offer-panel-expired .offer-panel-head strong{color:var(--color-muted)}
.offer-panel-head-custom strong{font-size:clamp(2.05rem,3.4vw,2.8rem);line-height:1.06;letter-spacing:var(--tracking-tight);text-wrap:pretty}
.offer-referral-disclosure{margin:var(--space-3-5) 0 0;color:var(--color-muted);font-size:var(--text-card);line-height:var(--leading-relaxed)}
.offer-code-row,.deal-guidance-code-row,.final-cta-code-row{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:var(--space-2);align-items:end}
.offer-code-row{margin-top:23px}
.referral-code{min-width:0}
.referral-code span,.deal-guidance-code-copy>span{display:block;color:var(--color-ink);font-size:var(--text-card);font-weight:750}
.referral-code code,.deal-guidance-code-row code,.final-cta-code-row code{display:flex;align-items:center;min-width:0;min-height:52px;padding:var(--space-3);border:1px solid var(--color-control-border);border-radius:var(--radius-sm);overflow-wrap:anywhere;background:var(--color-canvas);color:var(--color-ink);font-size:var(--text-body);font-weight:750;line-height:var(--leading-relaxed);font-variant-numeric:tabular-nums}
.referral-code code,.deal-guidance-code-row code,.final-cta-code-row code,.deal-long-form-referral-copy code{-webkit-user-select:all;user-select:all}
.referral-code code{margin-top:var(--space-2)}
.offer-copy-button,.deal-guidance-code-row .button,.final-cta-copy-button{width:112px;min-height:52px;padding:var(--space-3);font-size:var(--text-card);white-space:normal}
.offer-copy-button:not([data-copy-state]),.final-cta-copy-button.button-secondary:not([data-copy-state]){border-color:var(--color-pine);color:var(--color-pine)}
.offer-code-row>.copy-status,.deal-guidance-code-row>.copy-status,.final-cta-code-row>.copy-status{grid-column:1/-1}
.button[data-copy-state="success"]{background:var(--color-pine-soft);border-color:var(--color-pine);color:var(--color-pine)}
.button[data-copy-state="success"]::before{content:"";flex:0 0 auto;width:16px;height:16px;margin-right:7px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B6B50' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat}
.button[data-copy-state="error"]{background:var(--color-canvas);border-color:var(--color-negative);color:var(--color-negative)}
.copy-status{width:100%;min-width:0;overflow-wrap:anywhere;font-size:var(--text-card);font-weight:700;color:var(--color-muted)}
.copy-status:empty{display:none}
.copy-status[data-state="success"]{color:var(--color-pine)}
.copy-status[data-state="error"]{color:var(--color-negative)}
.offer-link-note{display:grid;grid-template-columns:22px 1fr;gap:var(--space-2-5);margin:15px 0 0;padding:var(--space-3-5) var(--space-4);border:1px solid var(--color-pine-border);border-radius:var(--radius-md);background:var(--color-pine-wash);color:var(--color-detail);font-size:var(--text-card);line-height:var(--leading-relaxed)}
.offer-link-note .text-link{display:flex;align-items:center;min-height:var(--touch-target-min)}
.offer-link-note>span:first-child{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--color-pine);color:var(--color-inverse);font-weight:850}
.offer-primary-cta{width:100%;min-height:48px;margin-top:var(--space-4);padding:0 22px;border-radius:var(--radius-button)}
.deal-final-cta{min-height:48px;padding:0 22px}
.offer-unavailable{margin:var(--space-5) 0 0;padding:var(--space-4);border:1px solid var(--color-pine-border);border-radius:var(--radius-sm);color:var(--color-ink);background:var(--color-canvas)}
.offer-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));margin:var(--space-5) calc(var(--offer-pad-x) * -1) 0;background:var(--color-pine-wash);border-top:1px solid var(--color-border)}
.offer-metrics div{min-width:0;padding:17px var(--space-5) var(--space-4)}
.offer-metrics div+div{border-left:1px solid var(--color-border)}
.offer-metrics dt{font-size:var(--text-xs);color:var(--color-muted);font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.offer-metrics dd{margin:4px 0 0;color:var(--color-detail);font-size:var(--text-sm);font-weight:700;line-height:var(--leading-normal);overflow-wrap:anywhere}
.offer-support{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2) var(--space-4);color:var(--color-muted);font-size:var(--text-card)}
.offer-support p{margin:0}

.faq-list details{margin-bottom:var(--space-3);overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-canvas)}
.faq-list details:last-child{margin-bottom:0}
.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:var(--touch-target-min);padding:var(--space-3) var(--space-4);border-radius:0;list-style:none;cursor:pointer;font-weight:750;transition:color .18s ease,background-color .18s ease}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::marker{content:""}
.faq-list .faq-chevron{flex:0 0 auto;display:grid;place-items:center;box-sizing:border-box;width:28px;height:28px;border:1.5px solid var(--color-pine);border-radius:50%;background:var(--color-canvas);color:var(--color-pine)}
.faq-list .faq-chevron svg{display:block;width:18px;height:18px;transition:transform .18s ease}
.faq-list details[open] .faq-chevron svg{transform:rotate(180deg)}
@media(hover:hover) and (pointer:fine){.faq-list details:where(:not(.sources-disclosure):not(.rent-guide-source-disclosure))>summary:hover{background:var(--color-pine-soft);color:var(--color-pine)}}
.faq-list details:where(:not(.sources-disclosure):not(.rent-guide-source-disclosure))[open]>summary{background:var(--color-pine-wash);color:var(--color-pine)}
.faq-list details>summary:focus-visible{outline:2px solid var(--color-pine);outline-offset:-2px}
.deal-sources-summary-title{font-size:var(--text-body);line-height:1.375rem;font-weight:700}
.deal-sources-meta{display:inline-flex;flex-wrap:nowrap;align-items:center;gap:var(--space-1-5) var(--space-2);max-width:100%;margin-left:var(--space-2);vertical-align:middle;font-size:var(--text-sm);line-height:1.125rem}
.deal-sources-chip{display:block;min-height:26px;max-width:100%;padding:4px var(--space-2);border-radius:999px;letter-spacing:var(--tracking-normal)}
.deal-sources-chip-count{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid color-mix(in srgb,var(--color-pine) 28%,transparent);background:color-mix(in srgb,var(--color-pine) 8%,transparent);color:var(--color-pine);font-weight:650}
.deal-sources-chip-date{flex:0 0 auto;max-width:100%;text-overflow:clip;white-space:nowrap;border:1px solid color-mix(in srgb,var(--color-ink) 12%,transparent);background:color-mix(in srgb,var(--color-ink) 3.5%,transparent);color:var(--color-muted);font-weight:400}
.sources-disclosure>.deal-sources-summary{position:relative;display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-start;gap:var(--space-2);padding-right:calc(var(--space-4) + var(--space-2) + 28px);list-style:none}
.sources-disclosure>.deal-sources-summary::-webkit-details-marker{display:none}
.sources-disclosure>.deal-sources-summary::marker{content:""}
.sources-disclosure .deal-sources-meta{margin-left:0}
.sources-disclosure .faq-chevron{position:absolute;top:var(--space-3);right:var(--space-4)}
.sources-disclosure ul.deal-long-form-source-list{margin-top:0;padding-inline:var(--space-4)}
@media(max-width:640px){
  .deal-sources-meta{display:flex;flex-wrap:wrap;align-content:flex-start;justify-content:flex-start}
  .sources-disclosure .deal-sources-chip{font-size:var(--text-xs);padding:3px var(--space-1-5)}
}
.faq-list p{color:var(--color-copy);background:var(--color-canvas);border-top:1px solid var(--color-border);margin:0;padding:var(--space-3) var(--space-4) var(--space-4)}
.faq-list details:not(.sources-disclosure)>p+p{border-top:0;padding-top:0}

.deal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);justify-content:initial}
.deal-card{display:flex;flex-direction:column;min-width:0;min-height:285px;padding:var(--space-6);border-color:var(--color-border);border-radius:var(--radius-card)}
.deal-card-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);color:var(--color-muted);font-size:var(--text-xs)}
.deal-card-category{font-size:var(--text-xs)}
.deal-card-category svg{display:block;width:14px;height:14px}
.deal-card-brand{display:flex;align-items:center;min-height:40px;margin:18px 0 var(--space-3)}
.deal-card-brand a{display:inline-flex;align-items:center;min-width:var(--touch-target-min);min-height:var(--touch-target-min);color:var(--color-ink);text-decoration:none}
.deal-card .brand-lockup-sm .brand-lockup-fallback{width:40px;height:40px;border-radius:var(--radius-md)}
.deal-card .brand-lockup-sm .brand-lockup-name{font-size:var(--text-lead)}
.deal-card-bonus{margin:0;font-size:clamp(1.75rem,2.2vw,2rem);line-height:var(--leading-tight);font-weight:850;letter-spacing:var(--tracking-tight);overflow-wrap:anywhere}
.deal-card-detail{margin:var(--space-2) 0 0;color:var(--color-muted);font-size:var(--text-card);line-height:var(--leading-relaxed);text-wrap:pretty}
.deal-card-actions{margin-top:auto;padding-top:var(--space-3-5)}
.deal-card-direct-cta,.deal-card-details-cta{width:100%;min-height:48px;padding-inline:22px;border-radius:var(--radius-button);text-align:center;line-height:var(--leading-normal);overflow-wrap:anywhere}
/* Button icons sit low on local Chromium: flex centring puts the
   18px box on the line box, not the cap height. No offset here:
   the owner's phone reads centred at 0px, -1px reads 1px high. */
.button-icon{display:grid;place-items:center;width:18px;height:18px;flex:0 0 18px;margin-left:7px}
.button-icon svg{display:block;width:18px;height:18px}
.deal-card-footer{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;min-width:0;min-height:48px;margin-top:var(--space-2);color:var(--color-muted);font-size:var(--text-xs);line-height:var(--leading-normal)}
.deal-card-footer time{white-space:normal}
.deal-card-details-link{min-height:48px;padding:0 22px;font-size:var(--text-body)}
@media(max-width:1199px){
  .deal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .deal-grid{grid-template-columns:minmax(0,1fr)}
  .deal-card{min-height:0;padding:var(--space-4)}
}

.category-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-4)}
.category-card{position:relative;display:flex;min-height:124px;flex-direction:column;padding:18px 42px 18px 18px;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-ink);text-decoration:none;background:var(--color-canvas);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.category-card:active{transform:translateY(0)}
.category-icon{display:grid;place-items:center;width:54px;height:54px;flex:0 0 54px;margin-bottom:var(--space-2-5);border:1px solid var(--color-pine-border);border-radius:50%;background:var(--color-pine-wash);transition:background-color .18s ease,border-color .18s ease}
.category-icon svg{width:24px;height:24px;color:var(--color-pine)}
.category-card-title{display:block;min-height:40px;font-size:var(--text-body);line-height:var(--leading-snug);letter-spacing:var(--tracking-slight);transition:color .18s ease;text-wrap:balance}
.category-card-description{display:block;margin-top:7px;color:var(--color-muted);font-size:var(--text-card);line-height:var(--leading-relaxed)}
.category-card-meta{display:flex;align-items:center;margin-top:auto;padding-top:var(--space-3-5)}
.category-card-count{color:var(--color-detail);font-size:var(--text-sm);font-weight:750;line-height:var(--leading-normal)}
.category-card-directory{min-height:220px}
.category-card-compact{min-height:170px}
.category-card-compact .category-icon{width:44px;height:44px;flex-basis:44px;margin-bottom:9px}
.category-card-compact .category-icon svg{width:21px;height:21px}
.category-card-compact .category-card-description{margin-top:var(--space-1-5)}
.category-chevron{position:absolute;right:18px;top:50%;display:grid;place-items:center;width:20px;height:20px;color:var(--color-pine);transform:translateY(calc(-50% + 2px));transition:color .18s ease,transform .18s ease}
.category-chevron svg{width:18px;height:18px}
.category-directory-header{margin-bottom:var(--space-6)}
.category-directory-header h1{margin-bottom:var(--space-3-5)}
.category-directory-intro{margin:0;color:var(--color-copy);font-size:var(--text-body)}
.category-directory-summary{margin:var(--space-2) 0 0;color:var(--color-muted);font-size:var(--text-card)}
@media(min-width:1101px){
  .category-card-directory{min-height:200px;padding:var(--space-5) 44px 18px var(--space-5)}
  .category-card-directory .category-icon{width:48px;height:48px;flex-basis:48px;margin-bottom:var(--space-3)}
  .category-card-directory .category-icon svg{width:22px;height:22px}
  .category-card-directory .category-chevron{right:18px;top:20px;transform:none}
}
@media(hover:hover) and (pointer:fine){
  .category-card:hover{border-color:var(--color-pine-border-strong);color:var(--color-ink);box-shadow:0 8px 20px var(--shadow-ink-lift);transform:translateY(-2px)}
  .category-card:hover .category-icon{border-color:var(--color-pine-border-strong);background:var(--color-pine-soft)}
  .category-card:hover .category-card-title{color:var(--color-pine)}
  .category-card:hover .category-chevron{color:var(--color-pine-hover);transform:translate(3px,calc(-50% + 2px))}
}
@media(min-width:1101px) and (hover:hover) and (pointer:fine){
  .category-card-directory:hover .category-chevron{transform:translateX(3px)}
}

/* Pages */
.home-hero{background:var(--color-frost);border-bottom:1px solid var(--color-border)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.65fr);gap:clamp(var(--space-8),7vw,80px);align-items:center}
.hero-copy{max-width:760px}
.hero-copy h1{max-width:20ch;margin-bottom:var(--space-5);text-wrap:balance;overflow-wrap:anywhere}
.hero-copy>p{font-size:var(--text-lead);color:var(--color-copy);max-width:62ch}
.home-hero .hero-copy>p{text-wrap:pretty}
.hero-actions{display:flex;align-items:center;gap:var(--space-5);margin-top:28px}
.hero-proof{padding:18px var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-button);background:var(--color-canvas)}
.hero-proof strong{display:block;margin-bottom:var(--space-3)}
.hero-proof ul{margin:0;padding:0;list-style:none;color:var(--color-copy)}
.hero-proof li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:var(--space-2-5);align-items:center;padding:var(--space-2) 0;color:var(--color-detail);font-size:var(--text-card);font-weight:650}
.hero-proof li+li{border-top:1px solid var(--color-border)}
.hero-proof-icon{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--color-aqua-border);border-radius:9px;background:var(--color-aqua-wash);color:var(--color-aqua)}
.hero-proof-icon svg{display:block;width:18px;height:18px}
.hero-trust{margin:var(--space-6) 0 0;color:var(--color-muted);font-size:var(--text-card)}
.hero-categories{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:var(--space-3);font-size:var(--text-card);font-weight:700}
.hero-categories a{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--touch-target-min);padding:var(--space-2-5) var(--space-3-5);border:1px solid var(--color-border);border-radius:var(--radius-button);background:var(--color-canvas);text-decoration:none}
.hero-categories a svg{width:18px;height:18px;flex:none}
.hero-offer-value{display:block;color:var(--color-pine);font-weight:700}
.hero-offer-expiry{display:block;color:var(--color-muted)}
.hero-offers-footer{margin:0;padding-top:var(--space-3);border-top:1px solid var(--color-border)}
.hero-offers{display:none}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:var(--space-6);margin-bottom:var(--space-5)}
.section-heading h2{margin:0}
.referral-listing-intro{margin:calc(var(--space-2) * -1) 0 var(--space-1-5);color:var(--color-copy);font-size:var(--text-body)}
.referral-listing-disclosure{margin:0 0 18px;color:var(--color-muted);font-size:var(--text-card)}
.home-editorial-guides{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1fr);gap:clamp(28px,5vw,56px);align-items:center;margin-top:var(--space-8);padding:clamp(var(--space-6),3vw,var(--space-8));border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-canvas)}
.home-editorial-guides-copy{min-width:0}
.home-editorial-guides-copy h2{margin-bottom:var(--space-2)}
.home-editorial-guides-copy p{margin:0;color:var(--color-detail);text-wrap:pretty}
.home-editorial-guides-copy .text-link{display:inline-block}
.home-editorial-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(28px,3vw,40px)}
.home-editorial-link{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3-5);min-width:0;min-height:56px;padding:13px 0;color:var(--color-ink);font-weight:700;line-height:var(--leading-normal);text-decoration:none;overflow-wrap:anywhere;transition:color .18s ease}
.home-editorial-link:nth-child(-n+4){border-bottom:1px solid var(--color-border)}
.home-editorial-link>span:first-child{min-width:0}
.home-editorial-chevron{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border:1px solid var(--color-pine);border-radius:50%;background:var(--color-pine);color:var(--color-inverse);transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}
.home-editorial-chevron svg{width:18px;height:18px}
.home-editorial-link:focus-visible,.home-editorial-link:active{color:var(--color-pine-hover)}
.home-editorial-link:focus-visible .home-editorial-chevron,.home-editorial-link:active .home-editorial-chevron{background:var(--color-pine-hover);border-color:var(--color-pine-hover);color:var(--color-inverse)}
@media(hover:hover) and (pointer:fine){
  .home-editorial-link:hover{color:var(--color-pine-hover)}
  .home-editorial-link:hover .home-editorial-chevron{background:var(--color-pine-hover);border-color:var(--color-pine-hover);color:var(--color-inverse);transform:translateX(2px)}
}
@media(max-width:800px){
  .home-editorial-guides{grid-template-columns:1fr;gap:var(--space-6)}
}
@media(max-width:620px){
  .home-editorial-guides{padding:var(--space-5)}
  .home-editorial-links{grid-template-columns:1fr;column-gap:0}
  .home-editorial-link{border-bottom:1px solid var(--color-border)}
  .home-editorial-link:last-child{border-bottom:0}
}
.home-discovery-sections{margin-top:var(--space-8);padding:clamp(var(--space-6),3vw,var(--space-8));border-radius:var(--radius-md);background:var(--color-frost)}
@media(max-width:720px){
  .home-discovery-sections{margin-top:var(--space-6)}
}
@media(max-width:620px){.home-discovery-sections{padding:var(--space-4)}}
.editorial-page{max-width:var(--article-width)}
/* Legal pages reuse the Trust rail: 740px prose plus the same 240px rail. */
.editorial-page:has(.trust-method-layout){max-width:calc(var(--article-width) + var(--reading-rail-gap) + var(--reading-rail-width))}
.editorial-page>h1{margin-bottom:var(--space-6)}
.editorial-content>:last-child{margin-bottom:0}
.about-page{padding-bottom:var(--space-12)}
.about-hero{padding-block:clamp(34px,5vw,54px);background:var(--color-frost);border-bottom:1px solid var(--color-border)}
.about-hero-inner,.about-content{max-width:var(--article-width)}
.about-hero h1{margin-bottom:var(--space-3-5)}
.about-lede{max-width:66ch;margin:0;color:var(--color-copy);font-size:var(--text-lead)}
.about-badges{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:18px}
.about-content{padding-top:var(--space-12)}
.about-section{scroll-margin-top:var(--space-8)}
.about-section+.about-section{margin-top:var(--space-6);padding-top:var(--space-8);border-top:1px solid var(--color-border)}
.about-section-heading{display:grid;grid-template-columns:40px minmax(0,1fr);gap:var(--space-3-5);align-items:start}
.about-section-heading h2{margin:2px 0 var(--space-2)}
.about-section-heading p{margin:0;color:var(--color-copy);text-wrap:pretty}
.about-value-surface{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:var(--space-5);overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-canvas)}
.about-value-item{display:grid;grid-template-columns:26px minmax(0,1fr);gap:var(--space-3);align-items:start;padding:var(--space-4) 18px}
.about-value-item:nth-child(odd){border-right:1px solid var(--color-border)}
.about-value-item:nth-child(-n+2){border-bottom:1px solid var(--color-border)}
.about-value-icon{display:grid;place-items:center;width:26px;height:26px;color:var(--color-aqua);line-height:0}
.about-value-icon svg{display:block;width:22px;height:22px;transform:translateY(-2.75px)}
.about-value-item strong,.about-value-item>div>span{display:block}
.about-value-item strong{color:var(--color-ink);line-height:var(--leading-normal)}
.about-value-item>div>span{margin-top:4px;color:var(--color-copy);font-size:var(--text-card);line-height:var(--leading-relaxed)}
.about-principles{display:grid;gap:0}
.about-principle{display:grid;grid-template-columns:26px minmax(0,1fr);gap:var(--space-3-5);align-items:start}
.about-principle+.about-principle{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--color-border)}
.about-principle-icon{display:grid;place-items:center;width:26px;height:26px;color:var(--color-aqua);line-height:0}
.about-principle-icon svg{display:block;width:20px;height:20px}
.about-principle h2{margin:0 0 var(--space-2);font-size:clamp(1.35rem,2vw,1.7rem)}
.about-principle p{margin:0;color:var(--color-copy)}
.about-trust-callout{display:grid;grid-template-columns:40px minmax(0,1fr) 18px;gap:var(--space-3-5);align-items:center;margin-top:var(--space-5);padding:var(--space-3-5) var(--space-4);border:1px solid var(--color-aqua-border);border-radius:var(--radius-md);background:var(--color-aqua-wash);color:var(--color-ink);text-decoration:none;transition:background-color .18s ease,border-color .18s ease}
.about-trust-callout-copy strong,.about-trust-callout-copy small{display:block}
.about-trust-callout-copy strong{color:var(--color-aqua);line-height:var(--leading-normal)}
.about-trust-callout-copy small{margin-top:3px;color:var(--color-copy);font-size:var(--text-card);line-height:var(--leading-relaxed)}
.about-trust-callout-chevron{display:grid;place-items:center;width:18px;height:18px;color:var(--color-aqua);transition:transform .18s ease}
.about-trust-callout-chevron svg{display:block;width:18px;height:18px}
.about-faq>h2{margin-bottom:var(--space-2-5)}
.about-contact-actions{margin-top:18px}
.about-social-links{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin-top:18px;font-size:var(--text-card)}
.about-social-link{display:inline-flex;align-items:center;gap:var(--space-1-5);min-height:var(--touch-target-min);color:var(--color-detail);font-weight:700;text-decoration:none}
.about-social-icon{display:grid;place-items:center;width:18px;height:18px;flex:0 0 18px;line-height:0}
.about-social-icon svg{display:block;width:16px;height:16px}
@media(hover:hover) and (pointer:fine){
  .about-trust-callout:hover{border-color:var(--color-pine-border-strong);background:var(--color-canvas)}
  .about-trust-callout:hover .about-trust-callout-chevron{transform:translateX(2px)}
  .about-social-link:hover{color:var(--color-pine)}
}
@media(max-width:640px){
  .about-hero{padding-block:28px 34px}
  .about-content{padding-top:var(--space-8)}
  .about-section+.about-section{margin-top:var(--space-6);padding-top:var(--space-5)}
  .about-value-surface{grid-template-columns:1fr}
  .about-value-item:nth-child(odd){border-right:0}
  .about-value-item:nth-child(3){border-bottom:1px solid var(--color-border)}
  .about-principle+.about-principle{margin-top:18px;padding-top:18px}
  .about-trust-callout{padding:var(--space-3-5)}
}
.trust-page{padding-bottom:var(--space-12)}
@media(max-width:720px){.about-page,.trust-page{padding-bottom:var(--space-4)}}
.trust-hero{padding-block:28px clamp(38px,5vw,58px);background:var(--color-frost);border-bottom:1px solid var(--color-border)}
.trust-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:clamp(36px,6vw,72px);align-items:start}
.trust-hero h1{max-width:18ch;margin-bottom:18px}
.trust-lede{max-width:62ch;margin:0;color:var(--color-copy);font-size:var(--text-lead)}
.trust-icon-well{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;line-height:0;border:1px solid var(--color-aqua-border);border-radius:var(--radius-md);background:var(--color-aqua-wash);color:var(--color-aqua)}
.trust-icon-well svg{display:block;width:20px;height:20px;place-self:center;overflow:visible}
.trust-icon-well--canvas{background:var(--color-canvas)}
.trust-icon-well--negative{border-color:var(--color-negative-border);background:var(--color-canvas);color:var(--color-negative)}
.trust-proof-panel{overflow:hidden;border:1px solid var(--color-aqua-border);border-radius:var(--radius-md);background:var(--color-canvas)}
.trust-proof-item{display:grid;grid-template-columns:40px minmax(0,1fr);gap:13px;align-items:center;padding:15px var(--space-4)}
.trust-proof-item+.trust-proof-item{border-top:1px solid var(--color-aqua-border)}
.trust-proof-item strong,.trust-proof-item small{display:block}
.trust-proof-item strong{font-size:var(--text-card);line-height:var(--leading-normal)}
.trust-proof-item small{margin-top:3px;color:var(--color-muted);font-size:var(--text-sm);line-height:var(--leading-relaxed)}
.trust-content{padding-top:var(--space-12)}
.trust-method-layout{display:grid;grid-template-columns:minmax(0,1fr) var(--reading-rail-width);gap:var(--reading-rail-gap);align-items:start}
.trust-method-content{min-width:0}
.trust-rail{grid-column:2;grid-row:1;position:sticky;top:var(--space-6)}
.trust-rail>.page-toc{position:static;max-height:none;overflow:visible}
.trust-section{scroll-margin-top:var(--space-8)}
.trust-method-content>.trust-section+.trust-section{margin-top:var(--space-8);padding-top:var(--space-8);border-top:1px solid var(--color-border)}
.trust-section-heading{max-width:var(--article-width)}
.trust-section-heading h2{margin-bottom:var(--space-2-5)}
.trust-section-heading>p:last-child{margin:0;color:var(--color-copy);text-wrap:pretty}
.trust-evidence-list{margin:var(--space-5) 0 0;padding:0;list-style:none}
.trust-evidence-item{display:grid;grid-template-columns:40px minmax(0,1fr);gap:var(--space-3-5);align-items:start;padding:var(--space-4) 0;border-bottom:1px solid var(--color-border)}
.trust-evidence-item:first-child{padding-top:0}
.trust-evidence-item:last-child{border-bottom:0}
.trust-evidence-item strong,.trust-evidence-item>div>span{display:block}
.trust-evidence-item strong{color:var(--color-ink);line-height:var(--leading-normal)}
.trust-evidence-item>div>span{margin-top:4px;color:var(--color-copy)}
.trust-evidence-list--panel{padding:0 18px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-canvas)}
.trust-evidence-list--panel .trust-evidence-item:first-child{padding-top:var(--space-4)}
.trust-correction-empty{display:grid;grid-template-columns:40px minmax(0,1fr);gap:var(--space-3-5);align-items:start;margin-top:var(--space-5);padding:var(--space-4) 18px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-frost)}
.trust-correction-empty strong{display:block;color:var(--color-ink);line-height:var(--leading-normal)}
.trust-correction-empty p{margin:4px 0 0;color:var(--color-copy)}
.trust-report-link{margin:var(--space-4) 0 0}
.trust-policy-list{overflow:hidden;margin-top:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-canvas)}
.trust-policy-row{display:grid;grid-template-columns:minmax(0,1fr) 18px;gap:var(--space-4);align-items:center;min-height:72px;padding:var(--space-3-5) var(--space-4);border-bottom:1px solid var(--color-border);color:var(--color-ink);text-decoration:none;transition:background-color .18s ease,border-color .18s ease}
.trust-policy-row:last-child{border-bottom:0}
.trust-policy-row strong,.trust-policy-row small{display:block}
.trust-policy-row small{margin-top:3px;color:var(--color-copy);font-size:var(--text-card);line-height:var(--leading-relaxed)}
.trust-policy-chevron{display:grid;place-items:center;width:18px;height:18px;color:var(--color-pine);transition:transform .18s ease}
.trust-policy-chevron svg{display:block;width:18px;height:18px}
.trust-register-section>.trust-section-heading{margin-bottom:18px}
.trust-register-key{display:grid;grid-template-columns:40px minmax(0,1fr);gap:var(--space-3-5);align-items:start;margin-bottom:var(--space-4);padding:var(--space-3-5) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-canvas)}
.trust-register-key strong,.trust-register-key>div>span{display:block}
.trust-register-key strong{line-height:var(--leading-normal)}
.trust-register-key>div>span{margin-top:3px;color:var(--color-copy);font-size:var(--text-card)}
.trust-register-wrap{overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-canvas)}
.trust-register-table{width:100%;border-collapse:collapse;font-size:var(--text-card);font-variant-numeric:tabular-nums}
.trust-register-table th,.trust-register-table td{padding:var(--space-3-5) var(--space-4);border-bottom:1px solid var(--color-border);text-align:left;vertical-align:middle}
.trust-register-table thead th{background:var(--color-frost);color:var(--color-muted);font-size:var(--text-xs);font-weight:850;letter-spacing:var(--tracking-wide);text-transform:uppercase}
.trust-register-table tbody tr:last-child td{border-bottom:0}
.trust-register-checked{color:var(--color-detail);font-weight:650}
.trust-register-checked-label{display:none}
@media(min-width:721px){
  .trust-register-offer{width:50%}
  .trust-register-checked{width:27%;white-space:nowrap}
  .trust-register-sources{width:23%}
}
.trust-register-brand{display:inline-flex;align-items:center;gap:var(--space-2-5);min-height:var(--touch-target-min);color:var(--color-ink);font-weight:800;text-decoration:none}
.trust-register-brand-mark{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px}
.trust-register-brand-mark .brand-lockup{display:flex;align-items:center;justify-content:center;width:30px;height:30px}
.trust-register-brand-mark .brand-lockup-fallback{flex:0 0 30px;width:30px;height:30px}
.trust-register-brand-mark .brand-lockup-name{display:none}
.trust-register-brand-name{min-width:0}
.trust-register-source-link{display:inline-flex;align-items:center;gap:var(--space-1-5);min-height:var(--touch-target-min);color:var(--color-aqua);font-weight:750;text-decoration:none}
.trust-register-source-icon{display:grid;place-items:center;width:16px;height:16px;transition:transform .18s ease}
.trust-register-source-icon svg{display:block;width:16px;height:16px}
@media(hover:hover) and (pointer:fine){
  .trust-policy-row:hover{background:var(--color-pine-wash)}
  .trust-policy-row:hover .trust-policy-chevron{transform:translateX(2px)}
  .trust-register-table tbody tr:hover{background:var(--color-aqua-wash)}
  .trust-register-brand:hover{color:var(--color-aqua)}
  .trust-register-source-link:hover{color:var(--color-aqua)}
  .trust-register-source-link:hover .trust-register-source-icon{transform:translateX(2px)}
}
@media(max-width:960px){
  .trust-content{padding-top:var(--space-8)}
  .trust-hero-grid{grid-template-columns:minmax(0,1fr)}
  .trust-proof-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .trust-proof-item+.trust-proof-item{border-top:0;border-left:1px solid var(--color-aqua-border)}
  .trust-method-layout{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-6)}
  .trust-rail{position:static;--toc-desktop-display:none;--toc-mobile-display:block}
}
/* 961-1000px only: the header is sticky here (69px incl. border) while the rail
   keeps its 24px base offset, so the rail would hide 45px under the header.
   Push the rail below the header plus the same 24px gap; no-JS pages keep
   the base offset because their header is static. */
@media(min-width:961px) and (max-width:1000px){
  html.nav-enhanced .trust-rail{top:93px}
}
@media(max-width:720px){
  .trust-hero{padding-top:22px}
  .trust-method-content>.trust-section+.trust-section{margin-top:var(--space-6);padding-top:var(--space-5)}
  .trust-proof-panel{grid-template-columns:1fr}
  .trust-proof-item+.trust-proof-item{border-top:1px solid var(--color-aqua-border);border-left:0}
  .trust-evidence-list--panel{padding-inline:var(--space-3-5)}
  .trust-evidence-item{gap:var(--space-3);padding:15px 0}
  .trust-evidence-list--panel .trust-evidence-item:first-child{padding-top:15px}
  .trust-correction-empty{gap:var(--space-3);padding:15px var(--space-3-5)}
  .trust-policy-row{min-height:0;padding:var(--space-3-5)}
  .trust-register-key{gap:var(--space-3);padding:var(--space-3-5)}
  .trust-register-table,.trust-register-table tbody{display:block;width:100%}
  /* Preserve the table's column headers for assistive technology on mobile. */
  .trust-register-table thead{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .trust-register-table tbody{padding:0 var(--space-4)}
  .trust-register-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--color-border)}
  .trust-register-table tbody tr:last-child{border-bottom:0}
  .trust-register-table td{display:block;padding:0;border:0}
  .trust-register-offer{grid-column:1/-1}
  .trust-register-brand{gap:9px}
  .trust-register-checked{grid-column:1;color:var(--color-muted);font-size:var(--text-sm);white-space:normal}
  .trust-register-checked-label{display:inline;font-weight:650}
  .trust-register-sources{grid-column:2;grid-row:2;text-align:right}
  .trust-register-source-link{margin-block:calc(var(--space-2-5) * -1)}
}
.listing-page{padding-top:28px}
@media(max-width:720px){.listing-page:not(.deals-page){padding-bottom:var(--space-4)}}
.listing-page-header{margin-bottom:var(--space-8)}
.comparison-guide-hero-copy,.bonus-tool-hero-copy,.rent-tool-hero-copy{max-width:880px}
.listing-page-header h1,.comparison-guide-hero h1,.best-bonuses-hero h1,.rent-guide-hero h1,.bonus-tool-hero-copy h1,.rent-tool-hero-copy h1{max-width:820px;margin:0;font-size:clamp(1.75rem,1.2rem + 2.4vw,2.5rem);line-height:var(--leading-display);letter-spacing:var(--tracking-tight);text-wrap:balance}
/* Prevent editorial H1s shrinking when mobile font-size rules stop applying. */
.listing-page-header h1{margin-bottom:var(--space-3-5)}
.listing-page-intro{width:min(100%,var(--article-width))}
.listing-page-intro>p:first-child{margin:0 0 var(--space-3-5);color:var(--color-copy);font-size:var(--text-body);line-height:var(--leading-loose);text-wrap:pretty}
.listing-page-reviewed{display:flex;align-items:center;gap:var(--space-1-5);margin:0 0 9px;color:var(--color-muted);font-size:var(--text-card);line-height:var(--leading-relaxed)}
.listing-page-reviewed-icon,.comparison-guide-meta-icon,.best-bonuses-meta-icon,.brokerage-promotions-meta-icon,.rent-guide-meta-check,.bonus-tool-reviewed-icon,.rent-tool-reviewed-icon{display:inline-grid;place-items:center;width:24px;height:24px;flex:0 0 24px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-canvas);color:var(--color-aqua)}
.listing-page-reviewed-icon svg,.comparison-guide-meta-icon svg,.best-bonuses-meta-icon svg,.brokerage-promotions-meta-icon svg,.rent-guide-meta-check svg,.bonus-tool-reviewed-icon svg,.rent-tool-reviewed-icon svg{display:block;width:14px;height:14px}
.comparison-guide-meta-icon{transform:translateY(-0.25px)}
.listing-page-reviewed-icon{transform:translateY(-0.75px)}
.listing-page .referral-listing-disclosure{margin:0;color:var(--color-muted);font-size:var(--text-card);line-height:var(--leading-relaxed)}

.deals-hero-copy h1{max-width:15ch}
.deals-hero-copy .listing-page-intro{width:min(100%,680px)}
@media(max-width:800px){
  .deals-hero-copy h1{max-width:none}
}
@media(max-width:760px){
  .shell.listing-page{padding-top:var(--space-6)}
  .listing-page-header{margin-bottom:var(--space-6)}
  .listing-page-header h1{max-width:none;margin-bottom:var(--space-2-5);text-wrap:balance}
  .listing-page-intro>p:first-child{margin-bottom:var(--space-2-5);font-size:var(--text-body);line-height:var(--leading-loose)}
  .listing-page-reviewed{margin-bottom:7px}
}
.listing-offers{margin-top:var(--space-8)}
.listing-offers>h2{margin-bottom:var(--space-4)}
.listing-offer-surface{padding:var(--space-3);border-radius:var(--radius-field);background:var(--color-frost)}
.listing-grid{margin-top:0}
.category-guide{margin-top:var(--space-12);padding-top:var(--space-8);border-top:1px solid var(--color-border)}
.category-guide-prose+.category-guide-checks{margin-top:var(--space-12)}
.category-guide-prose h2,.category-guide-faq h2{margin-bottom:var(--space-4)}
.category-guide-prose p{margin-bottom:0;color:var(--color-detail)}
.category-guide-checks>h2{margin-bottom:var(--space-4)}
.category-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}
.category-guide-item{display:grid;grid-template-columns:32px minmax(0,1fr);gap:var(--space-3);align-items:start;padding:18px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-frost)}
.category-guide-item h3{margin-bottom:7px}
.category-guide-item p{margin:0;color:var(--color-copy);font-size:var(--text-card);line-height:var(--leading-loose)}
.category-guide-faq{margin-top:var(--space-12)}
.related-categories{margin-top:var(--space-12);padding-top:var(--space-8);border-top:1px solid var(--color-border)}
.related-categories h2{font-size:1.3rem}
.related-category-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2-5) var(--space-3)}
.related-category-links a{display:grid;grid-template-columns:32px minmax(0,1fr) 18px;gap:11px;align-items:center;min-height:56px;padding:9px var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-canvas);color:var(--color-ink);font-weight:700;line-height:var(--leading-normal);text-decoration:none;transition:background-color .18s ease,border-color .18s ease,color .18s ease}
.related-category-icon{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--color-pine-border);border-radius:var(--radius-icon);background:var(--color-pine-wash);color:var(--color-pine);transition:background-color .18s ease,border-color .18s ease}
.related-category-icon svg{width:18px;height:18px}
.related-category-title{min-width:0}
.related-category-links .category-card-description{font-weight:400}
.related-category-chevron{display:grid;place-items:center;width:18px;height:18px;color:var(--color-pine);transform:translateY(0.25px);transition:color .18s ease,transform .18s ease}
.related-category-chevron svg{width:18px;height:18px}
.related-category-links a:focus-visible,.related-category-links a:active{background:var(--color-frost);border-color:var(--color-pine-border);color:var(--color-ink)}
.related-category-links a:focus-visible .related-category-icon,.related-category-links a:active .related-category-icon{background:var(--color-pine-soft);border-color:var(--color-pine-border-strong)}
@media(hover:hover) and (pointer:fine){
  .related-category-links a:hover{background:var(--color-frost);border-color:var(--color-pine-border);color:var(--color-ink)}
  .related-category-links a:hover .related-category-icon{background:var(--color-pine-soft);border-color:var(--color-pine-border-strong)}
  .related-category-links a:hover .related-category-chevron{color:var(--color-pine-hover);transform:translate(2px,0.25px)}
}
@media(max-width:620px){.related-category-links{grid-template-columns:1fr}}
.empty-state{padding:var(--space-6);border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-muted);background:var(--color-frost)}

/* Referral Finder */
.finder-trust{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2) 22px;padding-bottom:var(--space-4);margin-bottom:var(--space-6);border-bottom:1px solid var(--color-border);color:var(--color-detail);font-size:var(--text-sm);font-weight:750;line-height:var(--leading-normal)}
.finder-trust-item{display:inline-flex;align-items:center;gap:7px;min-width:0}
.finder-trust-icon{display:inline-grid;place-items:center;width:18px;height:18px;flex:0 0 18px}
.finder-trust-icon svg{display:block;width:18px;height:18px}
.finder-trust time{font-variant-numeric:tabular-nums}
[data-referral-finder]{margin-top:clamp(var(--space-6),2.5vw,var(--space-8));padding:clamp(var(--space-6),4vw,var(--space-12));border-radius:var(--radius-md);background:var(--color-frost)}
[data-referral-finder-controls]{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4);align-items:start;margin:var(--space-6) 0 0}
.finder-secondary-filters{min-width:0}
.finder-secondary-filters-toggle{display:none}
.finder-secondary-filters-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);min-width:0}
/* The pre-main navigation enhancement marker reserves Finder space before its deferred module runs. */
html.nav-enhanced [data-referral-finder]:not([data-finder-unavailable]) [data-referral-finder-controls][hidden]{display:grid!important;visibility:hidden}
html.nav-enhanced [data-referral-finder]:not([data-finder-unavailable]) [data-referral-finder-summary][hidden]{display:flex!important;visibility:hidden}

@media(min-width:1200px){[data-referral-finder-controls]{grid-template-columns:minmax(0,2fr) minmax(0,2fr)}}
.finder-control{display:grid;gap:var(--space-2);min-width:0}
.finder-control-label{min-height:1.35em;color:var(--color-ink);font-size:var(--text-card);font-weight:750;line-height:var(--leading-normal)}
.finder-search-shell,.finder-select-shell{position:relative;min-width:0}
.finder-search-icon{position:absolute;top:50%;left:var(--space-3);display:grid;place-items:center;width:20px;height:20px;color:var(--color-muted);transform:translateY(-50%);pointer-events:none}
.finder-search-icon svg{display:block;width:19px;height:19px}
.finder-search-input{width:100%;height:44px;min-height:var(--touch-target-min);padding:var(--space-2-5) var(--space-3) var(--space-2-5) 42px;border:1px solid var(--color-control-border);border-radius:var(--radius-sm);background:var(--color-canvas);color:var(--color-ink);font-weight:650;line-height:var(--leading-normal);caret-color:var(--color-pine)}
.finder-search-input::placeholder{color:var(--color-muted);font-weight:400;opacity:1}
.finder-select-native{appearance:none;width:100%;min-height:var(--touch-target-min);padding:var(--space-2-5) 44px var(--space-2-5) var(--space-3);border:1px solid var(--color-control-border);border-radius:var(--radius-sm);background:var(--color-canvas);color:var(--color-ink);font-weight:650;line-height:var(--leading-normal);cursor:pointer}
.finder-search-input:focus-visible,.finder-select-native:focus-visible{outline:0;border-color:var(--color-pine);box-shadow:inset 0 0 0 1px var(--color-pine)}
.finder-select-chevron{position:absolute;top:50%;right:var(--space-3);display:grid;place-items:center;width:20px;height:20px;color:var(--color-pine);transform:translateY(-50%);transition:transform .14s ease;pointer-events:none}
.finder-select-chevron svg{width:20px;height:20px}
@media(hover:hover) and (pointer:fine){
  .finder-select-native:hover:where(:not(:focus-visible)){border-color:var(--color-pine-border-strong)}
}
@supports (appearance:base-select) and selector(select::picker(select)){
  @media(min-width:721px) and (hover:hover) and (pointer:fine){
    .finder-select-native,.finder-select-native::picker(select){appearance:base-select}
    .finder-select-native::picker-icon{display:none}
    .finder-select-native::picker(select){inline-size:anchor-size(width);max-height:280px;padding:var(--space-1-5);overflow-y:auto;border:1px solid var(--color-pine-border-strong);border-radius:var(--radius-sm);background:var(--color-canvas);box-shadow:0 14px 30px var(--shadow-ink-overlay)}
    .finder-select-native option{display:flex;align-items:center;gap:var(--space-3);white-space:normal;overflow-wrap:break-word;min-height:var(--touch-target-min);padding:9px var(--space-3);border-radius:7px;background:var(--color-canvas);color:var(--color-ink);font:inherit;line-height:var(--leading-normal)}
    .finder-select-native option:hover,.finder-select-native option:focus{background:var(--color-pine-wash);color:var(--color-pine)}
    .finder-select-native option:checked{background:var(--color-pine-soft);color:var(--color-pine);font-weight:800}
    .finder-select-native option::checkmark{order:1;margin-inline-start:auto;display:block;content:"";width:16px;height:16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B6B50' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat}
    .finder-select-native:open{border-color:var(--color-pine);box-shadow:inset 0 0 0 1px var(--color-pine)}
    .finder-select-native:open+.finder-select-chevron{transform:translateY(-50%) rotate(180deg)}
  }
}
.referral-finder-summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:44px;margin:var(--space-4) 0}
[data-referral-finder-status]{display:inline-flex;align-items:center;gap:7px;width:max-content;max-width:100%;min-height:36px;margin:0;padding:7px var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-canvas);color:var(--color-detail);font-size:var(--text-card);font-weight:750;line-height:var(--leading-normal)}
.finder-featured-icon{display:inline-flex;flex:0 0 18px;color:var(--color-pine);transform:translateY(-1.5px)}
.referral-finder-clear{width:auto;min-height:var(--touch-target-min);padding-inline:var(--space-3);white-space:nowrap}
.referral-finder-clear:hover{transform:none}
.referral-finder-clear[disabled]{visibility:hidden;pointer-events:none}

/* Deal Page */
.deal-page{overflow-wrap:anywhere}
.deal-hero-wrap{border-bottom:1px solid var(--color-border)}
.deal-hero-shell{width:min(calc(100% - 96px),var(--wide-shell-width));margin-inline:auto}
.deal-hero-shell>.breadcrumbs{margin:0 auto 18px;padding-top:28px}
.deal-hero{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(490px,548px);grid-template-areas:"intro offer" "details offer";column-gap:clamp(44px,4.4vw,72px);row-gap:0;align-items:stretch;margin-inline:auto;padding:0 0 42px}
.deal-hero-editorial{grid-area:intro;display:flex;min-width:0;flex-direction:column;padding-right:0}
.deal-hero-brand{display:flex;align-items:center;min-height:56px}
.deal-hero-brand .brand-lockup-lg .brand-lockup-fallback{width:48px;height:48px;border-radius:var(--radius-button)}
.deal-hero-brand .brand-lockup-lg .brand-lockup-name{font-size:var(--text-h3)}
.deal-hero-editorial h1{margin:0;max-width:760px;font-size:clamp(1.75rem,1.2rem + 2.4vw,2.5rem);line-height:var(--leading-display);letter-spacing:var(--tracking-tight);font-weight:800;text-wrap:balance}
.deal-hero-details .lede{max-width:690px;margin:var(--space-5) 0 0;color:var(--color-copy);font-size:var(--text-body);line-height:var(--leading-loose)}
.deal-hero-details{grid-area:details;min-width:0}
.deal-hero-offer{grid-area:offer;display:flex;min-width:0;align-items:stretch}
.deal-page-body{padding-top:1px;padding-bottom:var(--space-12)}
.deal-page-body>.deal-width,.deal-page-body>.article-width{margin-inline:auto}
.content-section{margin-top:var(--space-12)}
.section-heading.deal-section-heading{align-items:baseline;margin-bottom:var(--space-4)}
.deal-section-heading a{display:inline-flex;align-items:center;min-height:var(--touch-target-min);font-weight:750}
.content-section ol,.content-section ul{padding-left:1.25rem}
.content-section li+li{margin-top:var(--space-2-5)}
.deal-source{margin-top:var(--space-8);padding-top:var(--space-4);border-top:1px solid var(--color-border);color:var(--color-muted);font-size:var(--text-card);line-height:var(--leading-loose)}
/* Deal byline: visible gap is 14px to disc, 24px to text, not the 8px box gap. */
/* The 44px author row centres the disc and text. Fix 1 needs Sources immediately before the byline in deal.njk. */
.deal-long-form-sources + .deal-source{border-top:0;margin-top:0;padding-top:var(--space-2)}
.content-section.deal-long-form-sources{margin-top:var(--space-8)}
.deal-source p{margin:0;text-wrap:pretty}
.deal-provenance{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"author link" "history history";gap:5px var(--space-4);align-items:center;color:var(--color-detail)}
.deal-provenance-author{grid-area:author;display:flex;align-items:center;gap:var(--space-2);min-width:0;font-size:var(--text-card);line-height:var(--leading-normal)}
.deal-provenance-disc{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;background:var(--color-pine-soft);color:var(--color-pine)}
.deal-provenance-history{grid-area:history;display:flex;flex-wrap:wrap;gap:4px var(--space-3-5);color:var(--color-muted);font-size:var(--text-sm);line-height:var(--leading-relaxed)}
.deal-provenance-link{grid-area:link;display:inline-flex;align-items:center;justify-self:end;gap:3px;min-height:var(--touch-target-min);color:var(--color-pine);font-size:var(--text-card);font-weight:700;text-decoration:none}
.deal-provenance-chevron{display:grid;place-items:center;width:16px;height:16px;flex:0 0 16px;transform:translateY(-0.5px)}
.deal-provenance-chevron svg{display:block}
.gaming-eligibility-panel+.deal-source{margin-top:var(--space-4)}
@media(max-width:760px){
  .deal-hero-shell>.breadcrumbs{padding-top:var(--space-5);margin-bottom:var(--space-3)}
  .deal-provenance{margin-top:var(--space-4);grid-template-columns:minmax(0,1fr);grid-template-areas:"author" "history" "link";row-gap:7px}
  .deal-provenance-link{justify-self:start}
}
.final-cta{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,340px);align-items:center;gap:clamp(28px,4vw,40px);margin-top:var(--space-12);padding:22px;border:1px solid var(--color-pine-border);border-radius:var(--radius-md)}
.final-cta>div:first-child{min-width:0;max-width:58ch}
.final-cta strong{display:block;font-size:var(--text-lead);line-height:var(--leading-relaxed)}
.final-cta p{margin:4px 0 0;color:var(--color-copy);line-height:var(--leading-loose);text-wrap:pretty}
.final-cta-actions{display:grid;align-items:stretch;justify-content:stretch;gap:var(--space-3);width:100%;min-width:0}
.final-cta-actions>.button{width:100%}
.final-cta-code-copy{display:grid;min-width:0;width:100%;gap:var(--space-1-5)}
.final-cta-code-copy>span{color:var(--color-detail);font-size:var(--text-card);font-weight:750;line-height:var(--leading-normal)}
.deal-page .final-cta-inverse{border-color:var(--color-detail);background:var(--color-ink)}
.deal-page .final-cta-inverse strong{color:var(--color-inverse)}
.deal-page .final-cta-inverse p{color:var(--color-inverse-copy)}
.deal-page .final-cta-inverse .gaming-cta-note{margin-top:0}
.deal-page .final-cta-inverse .final-cta-code-copy>span{color:var(--color-inverse-copy)}
.deal-page .final-cta-inverse .final-cta-actions .button-focal{border-color:var(--color-pine-border-strong)}
.deal-page .final-cta-inverse .button:focus-visible{outline-color:var(--color-pine-soft)}
@media(max-width:900px){
  .final-cta{grid-template-columns:1fr;align-items:stretch;gap:var(--space-5)}
  .final-cta>div:first-child{max-width:62ch}
  .final-cta-actions{width:min(100%,420px);justify-self:start}
}

.deal-brand-row{display:flex;align-items:center;gap:13px;min-height:56px;margin-bottom:var(--space-2-5)}
.deal-brand-row .deal-hero-brand{margin-bottom:0}
.offer-panel-body>.deal-brand-row{min-height:30px;gap:var(--space-2-5);margin-bottom:var(--space-5)}
.offer-brand-context{min-height:30px;border-radius:999px}
.deal-hero-checked{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:5px var(--space-2-5);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:800;line-height:var(--leading-snug);white-space:normal}
.deal-hero-checked>span{display:inline-flex;font-size:var(--text-body);font-weight:850}
.deal-hero-checked>span svg{transform:translateY(1.25px)}
.deal-hero-steps{padding-top:28px;border-top:1px solid var(--color-border)}
.deal-hero-steps h2{margin-bottom:18px;font-size:1.08rem;line-height:var(--leading-snug);letter-spacing:var(--tracking-slight)}
.deal-hero-step-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-6);margin:0;padding:0;list-style:none}
.deal-hero-step-grid li{position:relative;min-width:0;padding:62px var(--space-2-5) 0 0}
.deal-hero-step-grid li:not(:last-child)::after{content:"";position:absolute;top:23px;left:54px;right:-2px;border-top:1px dashed var(--color-pine-border-strong)}
.deal-hero-step-marker{position:absolute;top:0;left:0;z-index:1;display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--color-pine-border);border-radius:50%;background:var(--color-pine-wash);color:var(--color-pine)}
.deal-hero-step-content{display:grid;gap:5px}
.deal-hero-step-content strong{color:var(--color-ink);font-size:var(--text-body);line-height:var(--leading-normal)}
.deal-hero-step-content>span{color:var(--color-copy);font-size:var(--text-card);line-height:var(--leading-relaxed)}
.deal-hero-intro{min-width:0}
.deal-update-chip{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2-5);margin:var(--space-4) 0 0;font-size:var(--text-body);color:var(--color-detail)}
.deal-update-chip a{font-weight:750;color:var(--color-pine);white-space:nowrap}
.deal-update-chip a svg{vertical-align:-3px}
@media(min-width:721px){.deal-update-chip .badge svg{transform:translateY(1.25px)}}
.deal-page .offer-panel{width:100%}
.deal-page .offer-panel:not(.offer-panel-expired) .offer-panel-band{height:42px;border-bottom:1px solid var(--color-pine-border);background:var(--color-pine);color:var(--color-inverse);font-size:var(--text-sm);letter-spacing:var(--tracking-wide);text-transform:none}
.deal-page .offer-panel-body{--offer-pad-x:38px;padding:30px var(--offer-pad-x) 0}
.deal-page .offer-panel-head:not(.offer-panel-head-custom) strong{margin-top:7px;font-size:3.65rem}
.deal-page .offer-referral-disclosure{margin-top:13px}
.deal-page .offer-code-row{margin-top:19px}
.deal-page .offer-primary-cta{position:relative;justify-content:center;padding-inline:52px;text-align:center}
.deal-page .offer-primary-cta .button-icon{position:absolute;right:18px;margin-left:0}
@media(max-width:720px){.deal-page .offer-primary-cta{padding-inline:42px}}
.deal-page .offer-metrics{margin:18px calc(var(--offer-pad-x) * -1) 0;background:var(--color-frost)}
.deal-page .offer-metrics div{padding:17px var(--space-5)}
.deal-page .offer-metrics dt{color:var(--color-pine)}
.deal-page .offer-metrics dd{font-size:var(--text-sm);line-height:var(--leading-relaxed)}

.offer-comparison-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:18px 0 var(--space-3-5);padding:var(--space-3-5) 0;border-block:1px solid var(--color-border)}
.offer-comparison-metrics>div{min-width:0;padding-right:18px}
.offer-comparison-metrics>div+div{padding-left:18px;border-left:1px solid var(--color-border)}
.offer-comparison-metrics span{display:block;color:var(--color-muted);font-size:var(--text-xs);font-weight:750;line-height:var(--leading-normal)}
.offer-comparison-metrics strong{display:block;margin-top:4px;color:var(--color-ink);font-size:var(--text-body);line-height:var(--leading-normal)}
.deal-decision-section h2{margin-bottom:18px}
.recovery-status-text{display:grid;grid-template-columns:6px minmax(0,1fr);gap:7px;align-items:start;max-width:22ch;color:var(--color-detail);font-size:var(--text-sm);font-weight:800;line-height:var(--leading-normal);text-wrap:pretty}
.recovery-status-text::before{width:6px;height:6px;margin-top:.45em;border-radius:50%;background:currentColor;content:""}
.recovery-status-text.is-positive{color:var(--color-pine)}
.recovery-status-text.is-warning{color:var(--color-caution-deep)}
.recovery-status-text.is-negative{color:var(--color-negative)}
.deal-recovery-section h2{margin-bottom:var(--space-2-5)}
.deal-recovery-overview{display:grid;gap:7px}
.deal-recovery-overview .recovery-status-text{max-width:none}
.deal-recovery-overview p{max-width:72ch;margin:0;color:var(--color-copy);font-size:var(--text-card);line-height:var(--leading-loose);text-wrap:pretty}
.deal-recovery-overview+.deal-recovery-list{margin-top:18px}
ol.deal-recovery-list,ul.deal-requirements-list{margin:0;padding:0;border-top:1px solid var(--color-border);list-style:none}
ol.deal-recovery-list li,ul.deal-requirements-list li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:var(--space-3-5);align-items:start;margin:0;padding:17px 0;border-bottom:1px solid var(--color-border)}
.deal-decision-icon{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--color-pine-border);border-radius:var(--radius-md);background:var(--color-pine-wash);color:var(--color-pine)}
.deal-decision-icon svg{width:20px;height:20px}

.deal-requirement-check{display:grid;place-items:center;width:32px;height:32px;margin:3px 0 0 3px;border:1px solid var(--color-pine-border);border-radius:50%;background:var(--color-pine-wash);color:var(--color-pine)}
.deal-requirement-check svg{width:18px;height:18px}
.deal-decision-copy{display:grid;gap:3px;min-width:0}
.deal-decision-copy strong{font-size:var(--text-body);line-height:var(--leading-normal)}
.deal-decision-copy>span{color:var(--color-copy);font-size:var(--text-card);line-height:var(--leading-loose)}

.deal-comparison-guide{margin-top:var(--space-8)}
.deal-comparison-guide strong{white-space:normal}
.deal-comparison-guide-card{display:grid;grid-template-columns:48px minmax(0,1fr) 32px;gap:15px;align-items:center;min-height:92px;padding:17px 18px;border:1px solid var(--color-pine-border);border-radius:var(--radius-card);background:var(--color-brand-surface);color:var(--color-ink);text-decoration:none;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.deal-bridge-icon,.related-tool-icon{display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--color-pine-border);border-radius:50%;background:var(--color-pine-wash);color:var(--color-pine)}
.deal-bridge-icon svg,.related-tool-icon svg{width:22px;height:22px}
.deal-bridge-copy{display:grid;gap:2px;min-width:0}
.deal-bridge-eyebrow{color:var(--color-pine);font-size:var(--text-xs);font-weight:850;letter-spacing:.03em;text-transform:uppercase}
.deal-bridge-copy strong{font-size:var(--text-body);line-height:var(--leading-normal)}
.deal-bridge-copy>span:last-child:not(.deal-bridge-eyebrow){margin-top:2px;color:var(--color-detail);font-size:var(--text-card);line-height:var(--leading-relaxed)}

.related-tool-link-decision{margin-top:18px}
.related-tool-link-navigation{margin-top:var(--space-8)}
.related-tool-card{display:grid;grid-template-columns:48px minmax(0,1fr) 30px;gap:15px;align-items:center;width:100%;min-height:92px;padding:17px 18px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-canvas);color:var(--color-ink);text-align:left;text-decoration:none;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.comparison-guide-link-copy{min-width:0}
.related-tool-card .comparison-guide-link-copy strong{display:block;font-size:var(--text-body);line-height:var(--leading-normal)}
.related-tool-card .comparison-guide-link-copy span{display:block;margin-top:3px;color:var(--color-detail);font-size:var(--text-card);line-height:var(--leading-relaxed)}
.related-tool-chevron{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--color-pine-border);border-radius:50%;background:var(--color-pine-wash);color:var(--color-pine);transition:transform .18s ease,background-color .18s ease}
.related-tool-chevron svg{width:16px;height:16px}
.offer-metric-lead{display:block;color:var(--color-ink);font-size:var(--text-body);line-height:var(--leading-snug)}
.offer-metric-note{display:block;margin-top:4px;color:var(--color-detail);font-size:var(--text-xs);font-weight:650;line-height:var(--leading-normal)}

@media(hover:hover) and (pointer:fine){
  .deal-comparison-guide-card:hover{border-color:var(--color-pine-border-strong);box-shadow:0 8px 22px var(--shadow-ink-lift);transform:translateY(-1px)}
  .related-tool-card:hover{border-color:var(--color-pine-border-strong);box-shadow:0 8px 22px var(--shadow-ink-lift);transform:translateY(-1px)}
  .related-tool-card:hover .related-tool-chevron{transform:translateX(2px)}
}
/* Best guide card: solid pine so it reads as the hero card, not a third tan comparison card. */
.deal-comparison-guide-card--best{background:var(--color-pine);border-color:var(--color-pine);color:var(--color-inverse)}
.deal-comparison-guide-card--best .deal-bridge-copy strong{color:var(--color-inverse)}
.deal-comparison-guide-card--best .deal-bridge-copy>span:last-child{color:var(--color-inverse-copy)}
.deal-comparison-guide-card--best .deal-bridge-icon{background:var(--color-inverse);border-color:var(--color-inverse);color:var(--color-pine)}
.deal-comparison-guide-card--best .related-tool-chevron{background:var(--color-inverse);border-color:var(--color-inverse);color:var(--color-pine)}
.deal-comparison-guide-card--best:focus-visible{outline-color:var(--color-inverse)}
@media(hover:hover) and (pointer:fine){.deal-comparison-guide-card--best:hover{border-color:var(--color-pine-hover);box-shadow:0 8px 22px var(--shadow-pine-deep);transform:translateY(-1px)}}
@media(min-width:1200px){
  .deal-page .final-cta{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,340px);column-gap:var(--space-12);align-items:center}
  .deal-page .final-cta>div:first-child{min-width:0}
  .deal-page .final-cta>div:first-child strong{display:block;text-wrap:balance}
  .deal-page .final-cta-actions{display:grid;width:100%;max-width:340px;gap:var(--space-3-5);justify-self:end}
  .deal-page .final-cta-code-copy{min-width:0;width:100%}
  .deal-page .final-cta-actions>.button{width:100%}
  .deal-hero-shell>.breadcrumbs{padding-top:22px}
  .deal-hero{align-items:start;padding-bottom:30px}
  .deal-brand-row{min-height:48px;margin-bottom:var(--space-1-5)}
  .deal-hero-editorial h1{max-width:820px}
  .deal-hero-details .lede{max-width:720px;margin-top:var(--space-3-5);font-size:var(--text-body);line-height:var(--leading-relaxed)}
  .deal-page .deal-hero-steps{margin-top:18px;padding-top:var(--space-4)}
  .deal-page .deal-hero-steps h2{margin-bottom:var(--space-3);font-size:1.08rem}
  .deal-page .deal-hero-step-grid{gap:18px}
  .deal-page .deal-hero-step-grid li{padding-top:50px}
  .deal-page .deal-hero-step-grid li:not(:last-child)::after{top:19px;left:48px}
  .deal-page .deal-hero-step-marker{width:40px;height:40px}
  .deal-page .offer-panel:not(.offer-panel-expired) .offer-panel-band{height:36px}
  .deal-page .offer-panel-body{padding:var(--space-6) var(--space-8) 0}
  .deal-page .offer-panel-head:not(.offer-panel-head-custom) strong{margin-top:5px;font-size:3.15rem}
  .deal-page .offer-referral-disclosure{margin-top:9px;line-height:var(--leading-relaxed)}
  .deal-page .offer-code-row{margin-top:var(--space-3-5)}
  .deal-page .offer-link-note{margin-top:var(--space-2-5);padding:11px 13px;line-height:var(--leading-normal)}
  .deal-page .offer-metrics{margin:13px calc(var(--space-8) * -1) 0}
  .deal-page .offer-metrics div{padding:var(--space-3) var(--space-4)}
  .deal-page .offer-metrics dd{font-size:var(--text-sm);line-height:var(--leading-normal)}

}
@media(min-width:1440px){
  .deal-page .offer-panel-head:not(.offer-panel-head-custom) strong{font-size:3.05rem;line-height:1.04;letter-spacing:-.04em;text-wrap:balance}
}
@media(min-width:1200px){
  .deal-hero{grid-template-columns:minmax(0,1.2fr) minmax(480px,510px);grid-template-rows:max-content 1fr;column-gap:clamp(44px,3.8vw,58px)}
}
@media(max-width:1199px){
  .deal-hero-shell{width:calc(100% - 48px)}
  .deal-hero-shell>.breadcrumbs{max-width:850px}
  .deal-hero{grid-template-columns:1fr;grid-template-areas:"intro" "offer" "details";row-gap:34px;padding-top:0;padding-bottom:34px}
  .deal-hero-editorial{display:contents}
  .deal-hero-intro,.deal-hero-details,.deal-page .deal-hero-steps{width:min(100%,850px);margin-inline:auto}
  .deal-hero-intro{grid-area:intro}
  .deal-page .offer-panel{width:min(100%,620px);margin-inline:auto}
  .deal-hero-details{display:grid;row-gap:inherit}
  .deal-page .deal-hero-steps{margin-top:0;padding-top:0;border-top:0}
  .deal-hero-details .lede{margin-top:0}
}
@media(min-width:1001px) and (max-width:1199px){
  body:has(.deal-page) .analytics-consent{left:12px}
}
@media(max-width:1100px){
  .category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1000px){
  .deal-hero{row-gap:22px}
  html.nav-enhanced{scroll-padding-top:68px}
  .site-header{height:auto;min-height:68px}
  html.nav-enhanced .site-header{position:sticky;top:0;z-index:60}
  .header-inner{min-height:68px}
  .wordmark{min-width:0}
  html:not(.nav-enhanced) .header-inner{flex-wrap:wrap}
  /* Nav is a direct child of header: keep the shell gutter in the no-JS fallback. */
  html:not(.nav-enhanced) .primary-nav{padding-inline:var(--space-4)}
  .primary-nav{flex-wrap:wrap;gap:var(--space-2) var(--space-4)}
  /* Toggle display is duplicated in base.njk critical CSS on purpose: first paint needs it before this stylesheet loads. Keep both. */
  .nav-enhanced .nav-toggle{display:inline-flex;flex-shrink:0}
  .nav-enhanced .primary-nav{display:none;position:absolute;left:0;right:0;top:100%;z-index:50;width:auto;transform:none;flex-direction:column;align-items:stretch;gap:0;padding:18px var(--space-6) var(--space-6);background:var(--color-canvas);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);border-radius:0;box-shadow:0 12px 24px var(--shadow-ink-rest);max-height:calc(100dvh - 100%);overflow-y:auto}
  .nav-enhanced .primary-nav[data-open="true"]{display:flex}
  .nav-enhanced .primary-nav a{min-height:52px;padding:0 var(--space-3);gap:var(--space-3-5);border-radius:8px;font-size:var(--text-body)}
  @media(hover:hover) and (pointer:fine){.nav-enhanced .primary-nav a:hover{background:var(--color-frost)}}
  .primary-nav-label{min-height:0;line-height:var(--leading-snug)}
  .primary-nav-icon{display:grid;place-items:center;width:24px;height:24px;flex:0 0 24px;color:var(--color-pine)}
  .primary-nav-icon svg{width:22px;height:22px}
  .mobile-nav-section-label{display:block;padding:0 var(--space-3) var(--space-2);color:var(--color-muted);font-size:var(--text-xs);font-weight:850;letter-spacing:.07em;text-transform:uppercase}
  .mobile-nav-divider{display:block;height:1px;margin:var(--space-2-5) var(--space-3);background:var(--color-border)}
  .primary-nav a[aria-current]::after{display:none}
  .primary-nav a[aria-current] .primary-nav-label::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--color-pine);border-radius:2px;transform:none}
}
@media(max-width:900px){
  .category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .category-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:899px){
  .deal-page .offer-panel{width:min(100%,600px)}
}
@media(max-width:800px){
  .related-tool-link-decision>.related-tool-card{min-height:88px;padding:15px}
}
@media(max-width:1000px){
  .footer-grid{grid-template-columns:1fr;gap:28px}
}
@media(max-width:720px){
  .nav-enhanced .primary-nav{padding-inline:var(--space-4)}
  .deal-hero-shell{width:calc(100% - 32px)}
  .deal-hero-shell>.breadcrumbs{max-width:none}
  .deal-hero-wrap{border-bottom:0}
  .deal-hero{row-gap:22px;padding-bottom:var(--space-4)}
  .primary-nav{flex-direction:column;align-items:stretch}
  .site-footer{margin-top:var(--space-8)}
  .deal-page-body{padding-bottom:var(--space-4)}
  .footer-nav{display:none}
  .footer-nav-mobile{display:grid;gap:var(--space-6)}
  .footer-social{gap:4px}
  .deal-hero-brand{min-height:54px}
  .offer-panel-body{padding:26px 22px 0}
  .offer-panel-head strong{font-size:3.25rem}
  .offer-panel-head-custom strong{font-size:2.25rem}
  .offer-metrics{grid-template-columns:1fr;margin-inline:-22px}
  .offer-metrics div+div{border-left:0;border-top:1px solid var(--color-border)}
  .section-heading{align-items:flex-start;flex-direction:column;gap:var(--space-2)}
  .final-cta-actions{width:100%;justify-self:stretch}
  .deal-page .final-cta-actions>.button{position:relative;padding-inline:42px;text-align:center}
  .deal-page .final-cta-actions>.button .button-icon{position:absolute;right:14px;margin-left:0}

  .deal-brand-row{align-items:flex-start;flex-wrap:wrap;gap:var(--space-2) var(--space-3);margin-bottom:var(--space-3)}
  .deal-hero-checked{align-self:center;min-height:30px;padding:4px 9px;font-size:var(--text-xs)}
  .deal-page .deal-hero-steps h2{margin-bottom:var(--space-3)}
  .deal-page .deal-hero-step-grid{display:block;border-top:1px solid var(--color-border)}
  .deal-page .deal-hero-step-grid li{display:grid;grid-template-columns:42px minmax(0,1fr);gap:13px;padding:var(--space-4) 0}
  .deal-page .deal-hero-step-grid li+li{border-top:1px solid var(--color-border)}
  .deal-page .deal-hero-step-grid li:not(:last-child)::after{display:none}
  .deal-page .deal-hero-step-marker{position:static;width:40px;height:40px}
  .deal-page .offer-panel-body{padding:var(--space-5) var(--space-5) 0}
  .deal-page .offer-link-note{margin-top:var(--space-2-5);padding:var(--space-2-5) var(--space-3)}
  .deal-page .offer-panel-head:not(.offer-panel-head-custom) strong{font-size:3.2rem}
  .deal-page .offer-metrics{grid-template-columns:1fr;margin-inline:calc(var(--space-5) * -1)}
  .deal-page .offer-metrics div{display:grid;grid-template-columns:92px minmax(0,1fr);column-gap:var(--space-3);align-items:start;padding:var(--space-3) var(--space-5)}
  .deal-page .offer-metrics dd{margin-top:0}
  .deal-comparison-guide-card,.related-tool-link-decision>.related-tool-card{grid-template-columns:44px minmax(0,1fr) 30px;gap:var(--space-3-5);align-items:center;min-height:104px;padding:var(--space-4)}
  .deal-bridge-icon,.related-tool-icon{width:44px;height:44px}
  .offer-comparison-metrics{grid-template-columns:1fr;margin:var(--space-4) 0 var(--space-3)}
  .offer-comparison-metrics>div{padding:var(--space-3) 0;border-top:1px solid var(--color-border)}
  .offer-comparison-metrics>div+div{padding-left:0;border-left:0}
}
@media(max-width:620px){
  .category-grid{grid-template-columns:1fr}
  .category-card-directory,.category-card-compact{min-height:0}
  .deal-card-top{align-items:flex-start;flex-direction:column;gap:3px}
}
@media(max-width:410px){
  .offer-panel-head:not(.offer-panel-head-custom) strong,
  .deal-page .offer-panel-head:not(.offer-panel-head-custom) strong{font-size:3rem}
}
/* Narrow header relief: below 360px the 18px wordmark overflows its box and crowds the nav toggle (3.9px clearance at 320px). Font size only; the mark stays 34px and the gap stays 32px. */
@media(max-width:360px){
  .wordmark{font-size:var(--text-card)}
}

/* The mobile action utility follows the full hero and yields to the final CTA. */
.deal-mobile-actions{display:none}
@media(max-width:720px){
  .deal-mobile-actions:not([hidden]){position:fixed;inset:auto 0 0;z-index:55;display:block;padding:var(--space-2-5) max(var(--space-4),env(safe-area-inset-right)) calc(var(--space-2-5) + env(safe-area-inset-bottom)) max(var(--space-4),env(safe-area-inset-left));border-top:1px solid var(--color-border);background:var(--color-canvas)}
  .deal-mobile-actions-inner{display:flex;flex-wrap:wrap;gap:var(--space-2);max-width:560px;margin-inline:auto}
  .deal-mobile-actions .button{flex:1 1 0;min-width:0;min-height:48px;padding:0 22px;line-height:var(--leading-normal);text-align:center}
  .deal-mobile-actions .copy-status:not(.sr-only){flex:0 0 100%;min-width:0;font-size:var(--text-sm);line-height:var(--leading-relaxed);overflow-wrap:anywhere}
  .deal-mobile-actions .gaming-cta-note{flex:0 0 100%;margin:0;text-align:center}
  html:has(.deal-mobile-actions:not([hidden])){scroll-padding-bottom:110px}
  .deal-page:has(.deal-mobile-actions:not([hidden])) :is(a,button,summary){scroll-margin-bottom:110px}
}
@media print{.deal-mobile-actions{display:none!important}}

/* Homepage Responsive Discovery */
@media(min-width:901px){
  .hero-offers{display:block;padding:var(--space-4) var(--space-5) var(--space-3);border:1px solid var(--color-border);border-top:3px solid var(--color-pine);border-radius:var(--radius-card);background:var(--color-canvas)}
  .hero-offers h2{display:flex;align-items:center;gap:var(--space-2);margin:0 0 var(--space-2);font-size:var(--text-body);line-height:var(--leading-snug)}
  .hero-offers-heading-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:var(--radius-md);background:var(--color-pine-wash);color:var(--color-pine)}
  .hero-offers-heading-icon svg{display:block;transform:translateY(0.75px)}
  .hero-offers ul{margin:0;padding:0;list-style:none}
  .hero-offers li+li{border-top:1px solid var(--color-border)}
  .hero-offer{display:grid;grid-template-columns:140px minmax(0,1fr) 20px;grid-template-areas:"logo reward chevron" "detail detail chevron";gap:var(--space-1-5) var(--space-3);align-items:center;min-height:82px;padding:var(--space-3) 0;color:var(--color-ink);text-decoration:none;overflow-wrap:break-word}
  .hero-offer-logo{grid-area:logo;display:flex;align-items:center;min-width:0}
  .hero-offer-logo .brand-lockup,.hero-offer-logo .brand-lockup-logo{max-width:100%}
  .hero-offer-logo .brand-lockup-logo{width:auto;object-fit:contain;object-position:left center}
  .hero-offer-copy{grid-area:reward;min-width:0}
  .hero-offer-copy strong{display:block;font-size:var(--text-body);line-height:var(--leading-snug)}
  .hero-offer-detail{grid-area:detail;display:block;min-width:0;color:var(--color-copy);font-size:var(--text-sm);line-height:var(--leading-relaxed);text-wrap:pretty}
  .hero-offer-chevron{grid-area:chevron;color:var(--color-pine);transform:translateY(5px)}
  @media(hover:hover) and (pointer:fine){.hero-offer:hover .hero-offer-copy strong{color:var(--color-pine)}}
  .hero-offer:active .hero-offer-copy strong{color:var(--color-pine-hover)}
  .home-hero{padding-block:var(--space-8)}
  .hero-grid{grid-template-columns:minmax(0,1fr) 420px;gap:var(--space-5) 56px;align-items:start}
  .hero-copy{grid-column:1;grid-row:1}
  .hero-offers{grid-column:2;grid-row:1}
  .hero-copy h1{max-width:none;font-size:clamp(1.75rem,1.2rem + 2.4vw,2.5rem);line-height:var(--leading-display);letter-spacing:var(--tracking-tight)}
  .hero-proof strong{margin-bottom:var(--space-2)}
  [data-referral-finder]{padding:var(--space-8) clamp(28px,3vw,40px) 36px}
  .finder-trust{display:inline-flex;gap:var(--space-2) var(--space-5);width:max-content;max-width:100%;padding:var(--space-2-5) var(--space-3-5);margin-bottom:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-canvas)}
  .finder-trust+.section-heading{align-items:baseline;justify-content:flex-start;gap:18px;margin-bottom:var(--space-2-5)}
  .finder-trust+.section-heading .finder-all-link{display:inline-flex;align-items:center;min-height:32px;font-size:var(--text-card);font-weight:700;line-height:var(--leading-normal);white-space:nowrap}
  [data-referral-finder]>.referral-listing-intro{margin:0 0 4px}
  [data-referral-finder]>.referral-listing-disclosure{margin:0}
  [data-referral-finder-controls]{row-gap:var(--space-3-5);column-gap:var(--space-4);margin-top:var(--space-4)}
}
@media(min-width:901px) and (hover:hover) and (pointer:fine){
  .finder-search-input:hover:not(:focus-visible){border-color:var(--color-pine-border-strong)}
}
@media(max-width:900px){
  .home-hero{padding-block:38px 30px}
  .home-hero .hero-grid{grid-template-columns:1fr;gap:28px}
  .home-hero .hero-copy,.home-hero .hero-offers{grid-column:auto;grid-row:auto}
  .home-hero .hero-copy h1{max-width:none;margin-bottom:var(--space-4)}
  .home-hero .hero-copy>p{max-width:60ch;font-size:var(--text-lead);line-height:var(--leading-loose)}
  .home-hero .hero-actions{align-items:center;flex-direction:row;flex-wrap:wrap;gap:var(--space-2-5) var(--space-4);margin-top:22px}
  .home-hero .hero-actions .button{width:auto;min-height:48px}
  .home-hero .hero-actions .text-link{display:inline-flex;align-items:center;min-height:var(--touch-target-min)}

  [data-referral-finder]{margin-top:18px;padding:var(--space-6);border-radius:var(--radius-button)}
  [data-referral-finder] .finder-trust{display:inline-flex;width:max-content;max-width:100%;gap:var(--space-2) var(--space-4);padding:var(--space-2-5) var(--space-3);margin-bottom:18px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-canvas);font-size:var(--text-sm)}
  [data-referral-finder] .finder-trust-item{gap:var(--space-1-5)}
  [data-referral-finder] .section-heading{align-items:flex-start;flex-direction:row;gap:var(--space-6);margin-bottom:var(--space-5)}
  [data-referral-finder] .section-heading h2{font-size:clamp(1.8rem,5vw,2rem);line-height:var(--leading-tight)}
  [data-referral-finder] .finder-all-link{display:inline-flex;align-items:center;min-height:var(--touch-target-min);padding-inline:2px;white-space:nowrap}
  [data-referral-finder] .referral-listing-intro{margin:var(--space-1-5) 0 3px}
  [data-referral-finder] .referral-listing-disclosure{margin:0 0 18px}
  [data-referral-finder-controls]{gap:var(--space-3-5) var(--space-3);margin-top:18px}
  .finder-control{gap:7px}
  .finder-search-input{height:48px}
  .finder-search-input,.finder-select-native{min-height:48px;font-size:var(--text-body)}
  .referral-finder-summary{margin:var(--space-2-5) 0 var(--space-3)}
}

@media(max-width:720px){
  .home-hero{padding-block:var(--space-8) 26px}
  .home-hero .hero-grid{gap:var(--space-6)}
  .home-hero .hero-actions .text-link{justify-content:center}
  [data-referral-finder]{padding:var(--space-5)}
  [data-referral-finder] .finder-trust{display:flex;width:100%;flex-wrap:wrap;justify-content:center;gap:var(--space-2) var(--space-3-5);padding-bottom:var(--space-2-5)}
  [data-referral-finder] .finder-trust-icon{width:16px;height:16px;flex-basis:16px}
  [data-referral-finder] .finder-trust-icon svg{width:16px;height:16px}
  [data-referral-finder] .finder-all-link{font-size:var(--text-card);font-weight:650}
  [data-referral-finder] .deal-card-actions{margin-top:var(--space-4);padding-top:0}
}

@media(max-width:560px){
  .home-hero{padding-block:22px 18px}
  .home-hero .hero-actions{display:none}
  [data-referral-finder] .finder-trust{display:inline-flex;width:max-content;max-width:100%;flex-wrap:nowrap;justify-content:flex-start;padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-canvas)}
  [data-referral-finder] .finder-trust-item:not(:last-child){display:none}
  [data-referral-finder] .section-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-2)}
  [data-referral-finder] .section-heading h2{font-size:clamp(1.45rem,5.8vw,1.7rem)}
  [data-referral-finder] .finder-all-link{margin-top:0}
  [data-referral-finder] .referral-listing-intro{display:none}
  [data-referral-finder] .referral-listing-disclosure{margin-bottom:var(--space-3)}
  [data-referral-finder-controls]{grid-template-columns:1fr;gap:13px}
  .finder-secondary-filters-toggle{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2-5);min-height:48px;padding:0 var(--space-3-5);border:1px solid var(--color-control-border);border-radius:var(--radius-sm);background:var(--color-canvas);color:var(--color-ink);font-weight:750;cursor:pointer;list-style:none}
  .finder-secondary-filters-toggle::-webkit-details-marker{display:none}
  .finder-secondary-filters-state{flex:1 1 auto;min-width:0;margin-left:auto;overflow:hidden;color:var(--color-pine);font-size:var(--text-xs);font-weight:800;text-align:right;text-overflow:ellipsis;white-space:nowrap}
  .finder-secondary-filters[open] .finder-secondary-filters-state{display:none}
  .finder-secondary-filters-chevron{display:grid;place-items:center;width:18px;height:18px;transition:transform .18s ease}
  .finder-secondary-filters[open] .finder-secondary-filters-chevron{transform:rotate(180deg)}
  .finder-secondary-filters-grid{grid-template-columns:1fr;gap:13px;margin-top:13px}
  html.nav-enhanced [data-referral-finder]:not([data-finder-unavailable]) [data-referral-finder-controls][hidden] .finder-secondary-filters-grid{display:none}
  .referral-finder-summary{min-height:40px;margin:var(--space-2) 0 var(--space-2-5)}
}

@media(max-width:430px){
  .home-hero{padding-block:18px var(--space-3-5)}
  .home-hero .hero-grid{gap:22px}
  .home-hero .hero-copy h1{margin-bottom:var(--space-2-5)}
  .home-hero .hero-copy>p{font-size:var(--text-body);line-height:var(--leading-relaxed)}
  .home-hero .hero-actions .button{padding-inline:15px}
  [data-referral-finder]{margin-top:var(--space-2-5);padding:var(--space-4)}
  [data-referral-finder] .finder-trust{font-size:var(--text-xs)}
  [data-referral-finder] .referral-listing-intro{font-size:var(--text-card);line-height:var(--leading-relaxed)}
  [data-referral-finder] .referral-listing-disclosure{font-size:var(--text-xs);line-height:var(--leading-relaxed)}
  [data-referral-finder-controls]{margin-top:var(--space-2-5)}
  .finder-control-label{font-size:var(--text-sm)}
}

@media(min-width:390px) and (max-width:720px){
  .home-hero .hero-actions{flex-wrap:nowrap}
  .home-hero .hero-actions .button{padding-inline:var(--space-3)}
}

@media(max-width:359px){
  [data-referral-finder] .finder-trust{gap:var(--space-2) var(--space-3)}
  [data-referral-finder] .finder-trust-item{font-size:var(--text-xs)}
  [data-referral-finder]{padding:var(--space-4)}
}

@media(orientation:landscape) and (max-height:520px) and (max-width:900px){
  .home-hero{padding-block:var(--space-6)}
  .home-hero .hero-grid{gap:var(--space-5)}
  .home-hero .hero-copy>p{font-size:var(--text-body)}
  .home-hero .hero-actions{margin-top:var(--space-4)}
  [data-referral-finder]{margin-top:var(--space-3-5)}
}

/* Accessibility */
.comparison-table caption,.best-bonuses-table caption,.deal-long-form-table caption,.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.skip-link{position:fixed;left:16px;top:16px;z-index:100;transform:translateY(-200%);background:var(--color-ink);color:var(--color-inverse);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm)}
.skip-link:focus{transform:none;color:var(--color-inverse)}
:focus-visible{outline:3px solid var(--color-pine);outline-offset:3px}


/* Category Decision UX */
.category-guide-index{display:grid;place-items:center;width:32px;height:32px;border-radius:var(--radius-sm);background:var(--color-pine-soft);color:var(--color-pine);font-size:var(--text-xs);font-weight:850;line-height:var(--leading-none)}
.category-guide-copy{min-width:0}
.category-guide-copy h3{margin-bottom:var(--space-1-5)}
.category-guide-cta{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);gap:var(--space-6);align-items:center;margin-top:var(--space-12);padding:22px;border:1px solid var(--color-pine-border);border-radius:var(--radius-md);background:var(--color-pine-wash)}
.category-guide-cta-copy h2{font-size:1.3rem;margin-bottom:var(--space-1-5)}
.category-guide-cta-copy p{margin:0;color:var(--color-copy);text-wrap:pretty}
.category-guide-cta-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2-5)}
.category-guide-cta-actions .button{width:auto;max-width:100%}
.category-guide-cta .category-guide-cta-actions .button{min-height:48px;padding:0 22px}
@media(max-width:620px){
  .category-guide-grid{display:block;border-top:1px solid var(--color-border)}
  .category-guide-item{padding:var(--space-4) 0;border:0;border-bottom:1px solid var(--color-border);border-radius:0;background:transparent}
  .category-guide-cta{grid-template-columns:1fr;padding:18px;gap:var(--space-4)}
  .category-guide-cta-actions{align-items:stretch;flex-direction:column}
  .category-guide-cta-actions .button{width:100%}
}

/* Mobile Discovery */
@media(max-width:800px){
  .related-category-links a{min-height:var(--touch-target-min)}
}
/* Terminal CTA content resilience */
.category-guide>.category-guide-cta{grid-template-columns:repeat(2,minmax(0,1fr))}
.category-guide>.category-guide-cta .category-guide-cta-actions{display:grid;min-width:0;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:var(--space-2-5);width:100%}
.category-guide>.category-guide-cta .category-guide-cta-actions .button{width:100%;min-width:0;overflow-wrap:anywhere}
@media(min-width:901px){
  .category-guide>.category-guide-cta{grid-template-columns:minmax(0,1fr) minmax(320px,340px)}
}

/* Category terminal CTA */
.category-guide>.category-guide-cta{border-color:var(--color-detail);background:var(--color-ink)}
.category-guide>.category-guide-cta .category-guide-cta-copy h2{color:var(--color-inverse)}
.category-guide>.category-guide-cta .category-guide-cta-actions .button{border-color:var(--color-pine-border-strong)}
.category-guide>.category-guide-cta .button:focus-visible{outline-color:var(--color-pine-soft)}
@media(max-width:620px){
  .category-guide>.category-guide-cta{grid-template-columns:1fr}
  .category-guide>.category-guide-cta .category-guide-cta-actions{grid-template-columns:1fr}
}

/* Shared long-form navigation. */
.page-toc{position:sticky;top:var(--space-6);width:100%;min-width:0;max-height:calc(100vh - var(--space-12));overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.page-toc-desktop{display:var(--toc-desktop-display,block);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-canvas)}
.page-toc-desktop>strong{display:flex;align-items:center;gap:var(--space-2);color:var(--color-ink);font-size:var(--text-lead);font-weight:700}
.page-toc-desktop>strong>span{display:grid;place-items:center;flex:none;transform:translateY(-0.25px)}
.page-toc nav{display:grid;gap:2px;margin-top:var(--space-2)}
.page-toc nav a{display:flex;align-items:center;min-width:0;min-height:var(--touch-target-min);padding:var(--space-2) 0;color:var(--color-detail);font-size:var(--text-card);font-weight:650;line-height:var(--leading-normal);white-space:normal;text-decoration:none}
.page-toc-desktop nav a[aria-current="location"]{color:var(--color-pine);font-weight:750}
/* Reading progress: thin pine bar at the top of the sticky TOC box, desktop only. The mobile TOC box is display:none, so the bar never shows there. */
.page-toc-progress{height:3px;margin-bottom:var(--space-2);border-radius:999px;background:var(--color-pine-soft);overflow:hidden}
.page-toc-progress span{display:block;height:100%;width:0%;background:var(--color-pine)}
.page-toc-desktop nav{margin:0;padding:4px 0 0}
.page-toc-desktop nav a{justify-content:space-between;gap:var(--space-3)}
@media(hover:hover) and (pointer:fine){.page-toc nav a:hover{color:var(--color-pine-hover)}}
.page-toc nav a:focus-visible,.deal-long-form-review-link:focus-visible,.page-toc-mobile summary:focus-visible,.update-article-toc summary:focus-visible{outline:2px solid var(--color-pine);outline-offset:3px;border-radius:var(--radius-sm)}
.deal-long-form-review-link{display:inline-flex;align-items:center;min-height:var(--touch-target-min);margin-top:var(--space-2-5);padding-top:var(--space-3);border-top:1px solid var(--color-border);font-size:var(--text-sm);font-weight:750;text-decoration:none}
.page-toc-mobile{display:var(--toc-mobile-display,none);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-frost)}
.page-toc-chevron{display:grid;place-items:center;width:20px;height:20px;flex:0 0 20px;color:var(--color-pine);transition:transform .18s ease}
.page-toc-chevron svg{display:block;width:20px;height:20px}
.page-toc-mobile[open] .page-toc-chevron{transform:rotate(180deg)}
.page-toc-target{scroll-margin-top:var(--space-6)}
/* Not every TOC target carries .page-toc-target; give these layouts the same
   24px so every anchor lands the same distance below the top. */
.comparison-guide-reading-layout :is(h2[id], section[id]),
.brokerage-promotions-reading-layout :is(h2[id], section[id]){scroll-margin-top:var(--space-6)}
.recovery-reading-layout :is(h2[id], section[id]),
.trust-method-layout :is(h2[id], section[id]){scroll-margin-top:var(--space-6)}
.page-toc-mobile summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:var(--touch-target-min);cursor:pointer;list-style:none;color:var(--color-ink);font-size:var(--text-card)}
.page-toc-mobile summary>strong{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-lead);font-weight:700;color:var(--color-ink)}
.page-toc-mobile summary>strong>span{display:grid;place-items:center;flex:none}
.page-toc-mobile[open] summary{border-bottom:1px solid var(--color-border)}
.page-toc-mobile summary::-webkit-details-marker{display:none}
.page-toc-mobile summary::marker{content:""}
.page-toc-mobile nav{margin:0;padding:4px 0 0}
.page-toc-mobile nav a{justify-content:space-between;gap:var(--space-3);padding:0;font-size:var(--text-card);font-weight:650;color:var(--color-detail)}
.page-toc-mobile nav a:hover{color:var(--color-pine-hover)}
.page-toc-link-label{margin-left:28px}
.page-toc-link-chevron{display:grid;place-items:center;flex:none;width:18px;height:18px}

/* Deal Score Strip: compact verdict disclosure on deal pages. Native <details>, no JS. */
.deal-score-strip{background:var(--color-canvas);border:1px solid var(--color-border);border-radius:var(--radius-field);margin:var(--space-6) 0 0;container-type:inline-size;overflow:hidden}
.deal-score-strip-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-top:var(--space-4);align-items:stretch}
@media(max-width:820px){.deal-score-strip-grid{grid-template-columns:1fr}}
/* The strip margin is for deal pages; inside the grid it stacks 24px on the 16px gap (40px total). */
.deal-score-strip-grid .deal-score-strip{margin-top:0}
/* The layout below a strip sits one space-6 below it, matching the gap above the strip. */
.deal-score-strip + .deal-long-form-layout{margin-top:var(--space-6)}
/* Two-column guide strips share a row height, with each note pinned to its strip bottom.
   A closed strip keeps its natural height when a neighbour is open; when none is
   open, closed strips stretch to share the row height so their bottoms align. */
@media(min-width:821px){
  .deal-score-strip-grid .deal-score-strip{display:flex;flex-direction:column}
  .deal-score-strip-grid:has(.deal-score-details[open]) .deal-score-strip:not(:has(.deal-score-details[open])){align-self:start}
  .deal-score-strip-grid .deal-score-scale{margin-bottom:var(--space-2)}
  .deal-score-strip-grid .deal-score-note{margin-top:auto}
}
.deal-score-details > summary{background:var(--color-pine-soft);display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5);min-height:0;text-transform:none;letter-spacing:normal;color:inherit;font-size:inherit;line-height:normal;font-weight:inherit;cursor:pointer;list-style:none;border-bottom:0}
.deal-score-details > summary::-webkit-details-marker{display:none}
.deal-score-details > summary::marker{content:""}
.deal-score-details[open] > summary{border-bottom:1px solid var(--color-border);background:var(--color-pine-soft)}
.deal-score-dial-sm{position:relative;width:64px;height:64px;flex:none}
.deal-score-dial-sm-num{position:absolute;inset:0;display:grid;place-items:center;font-size:1.0625rem;font-weight:850;color:var(--color-ink);letter-spacing:-0.02em;font-variant-numeric:tabular-nums}
.deal-score-dial-ring{animation:dial-draw .6s ease-out forwards}
@keyframes dial-draw{from{stroke-dashoffset:163.36}to{stroke-dashoffset:var(--dial-target)}}
.deal-score-strip-text{display:flex;flex-direction:column;gap:2px;min-width:0}
.deal-score-strip-brand{font-size:var(--text-body);font-weight:700;color:var(--color-detail)}
.deal-score-strip-verdict{font-size:1.0625rem;font-weight:800;color:var(--color-ink);line-height:1.3}
.deal-score-strip-toggle{display:flex;align-items:center;gap:var(--space-2);margin-left:auto;flex:none}
.deal-score-strip-toggle .toggle-label{font-size:var(--text-body);font-weight:700;color:var(--color-pine);white-space:nowrap}
.deal-score-strip .toggle-label-close{display:none}
.deal-score-strip .faq-chevron{flex:0 0 auto;display:grid;place-items:center;box-sizing:border-box;width:28px;height:28px;border:1.5px solid var(--color-pine);border-radius:50%;background:var(--color-canvas);color:var(--color-pine)}
.deal-score-strip .faq-chevron svg{display:block;width:18px;height:18px;transition:transform .2s ease}
.deal-score-details[open] .faq-chevron svg{transform:rotate(180deg)}
.deal-score-details[open] .toggle-label-open{display:none}
.deal-score-details[open] .toggle-label-close{display:inline}
.deal-score-strip-body{padding:var(--space-5) var(--space-5) 0}
.deal-score-rows{display:grid;grid-template-columns:1fr;gap:var(--space-4);align-items:start}
.deal-score-row{display:grid;grid-template-columns:100px minmax(0,1fr) 40px;gap:var(--space-3);align-items:center}
.deal-score-row .s-label{font-size:var(--text-sm);font-weight:700;color:var(--color-detail)}
.deal-score-track{height:8px;border-radius:999px;background:var(--color-border);overflow:hidden}
.deal-score-fill{height:100%;border-radius:999px;background:var(--color-pine);transform:scaleX(0);transform-origin:left}
.deal-score-fill.eight{background:var(--color-aqua)}
.deal-score-fill.seven{background:var(--color-caution)}
.deal-score-fill.low{background:var(--color-negative)}
.deal-score-details[open] .deal-score-fill{animation:bar-fill .4s ease-out forwards}
.deal-score-details[open] .deal-score-row:nth-child(2) .deal-score-fill{animation-delay:80ms}
.deal-score-details[open] .deal-score-row:nth-child(3) .deal-score-fill{animation-delay:160ms}
.deal-score-details[open] .deal-score-row:nth-child(4) .deal-score-fill{animation-delay:240ms}
@keyframes bar-fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.deal-score-row .s-val{font-size:var(--text-body);font-weight:850;color:var(--color-ink);font-variant-numeric:tabular-nums;text-align:right}
.deal-score-basis{grid-column:1 / -1;font-size:var(--text-sm);color:var(--color-copy);margin:2px 0 0}
.deal-score-watch-title{font-size:var(--text-lead);font-weight:800;margin-top:var(--space-8)}
.deal-score-watch-sub{font-size:var(--text-card);margin-top:var(--space-2);max-width:720px;color:var(--color-detail)}
.deal-score-watch-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4);margin-top:var(--space-4)}
.deal-score-watch-card{background:var(--color-canvas);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-4);display:flex;flex-direction:column}
.deal-score-watch-card .m-ic{width:34px;height:34px;border-radius:50%;background:var(--color-aqua-wash);border:1px solid var(--color-aqua-border);display:grid;place-items:center}
.deal-score-watch-card .m-ic.warn{background:var(--color-negative-wash);border:1px solid var(--color-negative-border)}
.deal-score-watch-card .m-ic svg{width:17px;height:17px;stroke:var(--color-aqua);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.deal-score-watch-card .m-ic.warn svg{stroke:var(--color-negative)}
.deal-score-watch-card h3{font-size:.9375rem;font-weight:800;margin:var(--space-3) 0 0}
.deal-score-watch-card p{font-size:var(--text-sm);color:var(--color-copy);margin:var(--space-2) 0 0}
/* Single-column cards put the icon and title on one row: the stacked header
   cost 46px of vertical space (34px icon + 12px gap) for an icon that fits
   beside the title. The h3 margin is zeroed inside the row so the title
   centers on the icon. Wide strips restore the stacked header below. */
.deal-score-watch-head{display:flex;align-items:center;gap:var(--space-3)}
.deal-score-watch-head h3{margin:0}
.prio{margin-top:auto;padding-top:var(--space-3)}
.prio span{display:inline-block;font-size:var(--font-size-compact-label);font-weight:800;letter-spacing:0.04em;text-transform:uppercase;border-radius:999px;padding:3px 9px}
.prio .high{color:var(--color-negative);background:var(--color-negative-wash);border:1px solid var(--color-negative-border)}
.prio .med{color:var(--color-caution-deep);background:var(--color-caution-wash);border:1px solid var(--color-caution-border)}
.deal-score-scale{position:relative;margin-top:var(--space-6);padding-top:var(--space-3)}
.deal-score-scale-marker{position:absolute;top:0;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid var(--color-ink);transform:translateX(-50%)}
.deal-score-scale-bar{display:flex;gap:2px;margin-top:0}
.deal-score-scale-seg{flex:1;height:8px;border-radius:999px;opacity:.35}
.deal-score-scale-seg.current{opacity:1}
.deal-score-scale-seg.seg-exceptional{background:var(--color-pine)}
.deal-score-scale-seg.seg-strong{background:var(--color-aqua)}
.deal-score-scale-seg.seg-fair{background:var(--color-caution)}
.deal-score-scale-seg.seg-weak{background:var(--color-negative)}
.deal-score-scale-labels{display:flex;gap:2px;margin-top:var(--space-2)}
.deal-score-scale-labels span{flex:1;font-size:var(--text-xs);line-height:1.3;color:var(--color-muted);text-align:center}
.deal-score-note{background:var(--color-frost);margin:var(--space-2) 0 0;font-size:var(--text-sm);color:var(--color-muted);border-top:1px solid var(--color-border);padding:var(--space-4) var(--space-5) var(--space-5)}
/* The note lives outside <details> (see the component template), so it hides
   while the breakdown is closed. */
.deal-score-strip:not(:has(.deal-score-details[open])) .deal-score-note{display:none}
/* In the narrow strip-width window (400-405px border-box) the Wealthsimple note
   wraps to four lines while the Questrade note stays at three, so the top
   border rules step by one line (20.8px). Pin the shorter note to the
   four-line height so the tops align. Outside this window the notes are equal
   height already, so no min-height applies. Container queries evaluate the
   content box, and the strip has 1px borders, so the window is 398-403px
   here. 120.2px = 1px border + 16px top padding + 4 lines at the body 1.6
   line-height + 20px bottom padding. */
@container (min-width:398px) and (max-width:403px){
  .deal-score-strip-grid .deal-score-note{min-height:calc(1px + var(--space-4) + 4 * var(--leading-body) * var(--text-sm) + var(--space-5))}
}
/* Hover deepens the pine-soft header to pine-border on hover-capable pointers. */
@media (hover:hover) and (pointer:fine){
  .deal-score-details > summary:hover{background:var(--color-pine-border)}
  .deal-score-details > summary:hover .faq-chevron{background:var(--color-pine-wash)}
}
/* Focus matches the FAQ summary focus ring. The site has no global focus style. */
.deal-score-details > summary:focus-visible{outline:2px solid var(--color-pine);outline-offset:-2px}
/* Narrow strips hide the toggle label and let the chevron carry the affordance,
   the same rule the 560px viewport breakpoint applies. */
@container (max-width:520px){
  .deal-score-strip .deal-score-strip-toggle .toggle-label{display:none}
}
/* Wide strips get the two-column rows and three-column cards. Narrow strips stay single column. */
@container (min-width:720px){
  .deal-score-rows{grid-template-columns:1fr 1fr;gap:var(--space-4) var(--space-8)}
  .deal-score-watch-grid{grid-template-columns:1fr 1fr 1fr}
  .deal-score-watch-head{display:block}
  .deal-score-watch-head h3{margin:var(--space-3) 0 0}
}
@media (max-width:560px){
  .deal-score-details > summary{padding:var(--space-4)}
  .deal-score-strip-body{padding:var(--space-4) var(--space-4) 0}
  .deal-score-strip .deal-score-note{padding-inline:var(--space-4);padding-bottom:var(--space-4)}
  .deal-score-strip .deal-score-strip-toggle .toggle-label{display:none}
  .deal-score-strip-verdict{font-size:var(--text-body)}
}
/* Below 480px the three-column summary starves the middle column: the brand
   breaks mid-word and the verdict wraps to five lines. Restructure to two
   rows: dial, brand, and chevron-only toggle on row one; verdict full width
   on row two. display:contents unwraps the brand/verdict column so the
   verdict can drop to its own row without changing the desktop DOM. */
@container (max-width:480px){
  .deal-score-details > summary{flex-wrap:wrap;row-gap:var(--space-2)}
  .deal-score-strip-text{display:contents}
  .deal-score-strip-brand{word-break:normal;overflow-wrap:normal}
  .deal-score-strip-verdict{flex:1 1 100%;order:1}
}
/* Reduced motion: no animation, the dial and bars render at their final state. */
@media (prefers-reduced-motion:reduce){
  .deal-score-dial-ring{animation:none;stroke-dashoffset:var(--dial-target)}
  .deal-score-details[open] .deal-score-fill{animation:none;transform:scaleX(1)}
}

/* Long-form Deal Page */
.deal-long-form-layout{display:grid;min-width:0;grid-template-columns:1fr;gap:var(--space-6)}
.deal-long-form-rail{min-width:0}
.deal-long-form-rail>.page-toc{position:static;max-height:none;overflow:visible}
.listing-page>.page-toc,.about-content>.page-toc{position:static;margin-bottom:var(--space-4)}
@media(max-width:1199px){.listing-page,.about-content{--toc-desktop-display:none;--toc-mobile-display:block}}
@media(min-width:1200px){.listing-page>.page-toc,.about-content>.page-toc{display:none}}
.deal-long-form-content{min-width:0}
.deal-long-form-content>.content-section:first-child{margin-top:0}
.deal-long-form-content>.article-width{width:min(100%,var(--article-width));margin-inline:auto}
.deal-long-form-section{scroll-margin-top:var(--space-6)}
.deal-long-form-referral-utility{display:none}
.deal-long-form-referral-label{display:flex;align-items:center;gap:5px;margin-bottom:var(--space-2);color:var(--color-pine);font-size:var(--text-xs);font-weight:850;line-height:var(--leading-normal)}.deal-long-form-referral-label>span{display:grid;place-items:center;flex:none}
.deal-long-form-referral-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2);align-items:center}
.deal-long-form-referral-copy code{display:flex;align-items:center;min-width:0;min-height:44px;padding:0 var(--space-2);border:1px solid var(--color-pine-border);border-radius:var(--radius-sm);overflow-wrap:anywhere;background:var(--color-canvas);color:var(--color-ink);font-size:var(--text-card);font-weight:850;font-variant-numeric:tabular-nums}
.deal-long-form-referral-copy .button{width:106px;min-height:var(--touch-target-min);padding:var(--space-2) 9px;font-size:var(--text-card);white-space:nowrap}
.deal-long-form-referral-copy-long{grid-template-columns:1fr}
.deal-long-form-referral-copy-long code{overflow-wrap:normal;white-space:nowrap}
.deal-long-form-referral-copy-long .button{width:100%}
.deal-long-form-referral-copy .button:not([data-copy-state]){border-color:var(--color-pine);background:var(--color-canvas);color:var(--color-pine)}
@media(hover:hover) and (pointer:fine){.deal-long-form-referral-copy .button:not([data-copy-state]):hover{background:var(--color-pine-soft)}}
.deal-long-form-referral-link{width:100%;min-height:48px;margin-top:var(--space-2-5);padding:0 var(--space-2);border-top:1px solid var(--color-pine-border);font-size:var(--text-card)}
.deal-long-form-referral-link-tail{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.deal-long-form-referral-link-tail svg{display:block;width:16px;height:16px;flex:0 0 16px}
.deal-long-form-table-wrap{overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-canvas)}
.deal-long-form-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:var(--text-body);line-height:var(--leading-relaxed)}
.deal-long-form-table th,.deal-long-form-table td{padding:var(--space-3-5) var(--space-4);border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top;overflow-wrap:anywhere}
.deal-long-form-table thead th{background:var(--color-ink);color:var(--color-inverse);font-size:var(--text-xs);font-weight:800;line-height:var(--leading-normal)}
.deal-long-form-table tbody th{width:58%;font-weight:800}
.deal-long-form-table tbody tr:last-child>*{border-bottom:0}
.deal-long-form-table th small{display:block;margin-top:4px;color:var(--color-muted);font-size:var(--text-sm);font-weight:400;line-height:var(--leading-relaxed)}
.deal-long-form-bonus-grid{display:flex;flex-wrap:wrap;gap:1px;margin:0;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-border)}
.deal-long-form-bonus-item{display:grid;grid-template-columns:minmax(0,1fr);row-gap:5px;align-content:start;align-items:start;min-width:0;flex:1 1 calc(50% - 1px);padding:var(--space-4) 18px;background:var(--color-canvas)}
.deal-long-form-bonus-item dt{min-width:0;color:var(--color-detail);font-size:var(--text-sm);font-weight:800;line-height:var(--leading-normal)}
.deal-long-form-bonus-value{min-width:0;margin:0;overflow-wrap:anywhere;text-align:left}
.deal-long-form-bonus-value strong{display:block;color:var(--color-ink);font-size:var(--text-lead);font-weight:850;font-variant-numeric:tabular-nums;line-height:var(--leading-snug)}
.deal-long-form-bonus-requirement{grid-column:1/-1;max-width:65ch;margin:0;color:var(--color-copy);font-size:var(--text-sm);font-weight:400;line-height:var(--leading-relaxed)}
.deal-long-form-bonus-action{grid-column:1/-1;min-width:0;margin:var(--space-2) 0 0}
.deal-long-form-bonus-item-iconic .deal-long-form-bonus-action{grid-area:requirement}
.deal-long-form-bonus-action .button{max-width:100%;min-height:var(--touch-target-min);white-space:normal;text-align:center}
.deal-long-form-bonus-item-iconic{grid-template-columns:54px minmax(0,1fr);grid-template-areas:". label" ". value" ". requirement";column-gap:var(--space-4);row-gap:4px;align-items:start;padding:var(--space-5) 22px}
.deal-long-form-bonus-item-iconic .deal-long-form-bonus-icon{position:absolute;top:-2px;left:calc(-54px - 16px);display:grid;place-items:center;width:52px;height:52px;border:1px solid var(--color-aqua-border);border-radius:50%;background:var(--color-aqua-wash);color:var(--color-aqua)}
.deal-long-form-bonus-item-iconic .deal-long-form-bonus-icon svg{width:26px;height:26px}
.deal-long-form-bonus-item-iconic dt{position:relative;grid-area:label;margin-top:2px;color:var(--color-ink);font-size:var(--text-sm)}
.deal-long-form-bonus-item-iconic .deal-long-form-bonus-value{grid-area:value;text-align:left}
.deal-long-form-bonus-item-iconic .deal-long-form-bonus-value strong{font-size:1.42rem}
.deal-long-form-bonus-item-iconic .deal-long-form-bonus-requirement{grid-area:requirement;margin-top:2px}
.deal-long-form-bonus-item-payout .deal-long-form-bonus-icon{border-color:var(--color-pine-border);background:var(--color-pine-wash);color:var(--color-pine)}
.deal-long-form-bonus-item-total{background:var(--color-frost)}
.deal-long-form-bonus-item-total dt{color:var(--color-ink)}
.deal-long-form-bonus-item-total .deal-long-form-bonus-value strong{color:var(--color-pine)}
.deal-long-form-bonus-item-total .deal-long-form-bonus-icon{border-color:var(--color-pine-border);background:var(--color-pine-wash);color:var(--color-pine)}
@media(max-width:720px){
  .deal-long-form-bonus-item{grid-template-columns:minmax(0,1fr) minmax(88px,40%);gap:4px var(--space-3-5);flex-basis:100%;padding:var(--space-3-5) var(--space-4)}
  .deal-long-form-bonus-item dt{font-size:var(--text-sm)}
  .deal-long-form-bonus-value{text-align:right}
  .deal-long-form-bonus-value strong{font-size:var(--text-body)}
  .deal-long-form-bonus-requirement{font-size:var(--text-sm)}
  .deal-long-form-bonus-grid .deal-long-form-bonus-item-iconic{grid-template-columns:42px minmax(0,1fr);grid-template-areas:". label" ". value" ". requirement";gap:3px var(--space-3)}
  .deal-long-form-bonus-item-iconic .deal-long-form-bonus-icon{left:calc(-42px - 12px);width:40px;height:40px}
  .deal-long-form-bonus-item-iconic .deal-long-form-bonus-icon svg{width:21px;height:21px}
  .deal-long-form-bonus-item-iconic .deal-long-form-bonus-value strong{font-size:var(--text-lead)}
}
.deal-long-form-offer-table .deal-offer-col-product{width:24%}
.deal-long-form-offer-table .deal-offer-col-referral{width:31%}
.deal-long-form-offer-table .deal-offer-col-public{width:45%}
.deal-long-form-offer-table tbody th{background:var(--color-frost);font-weight:700}
.deal-long-form-offer-table td{color:var(--color-detail)}
.deal-offer-facts{display:grid;gap:var(--space-2);min-width:0;margin:0}
.deal-offer-facts>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:var(--space-2);align-items:baseline;min-width:0}
.deal-offer-facts dt{color:var(--color-muted);font-size:var(--text-sm);font-weight:400;line-height:var(--leading-relaxed)}
.deal-offer-facts dd{margin:0;color:var(--color-ink);font-size:var(--text-card);font-weight:400;line-height:var(--leading-relaxed);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.deal-offer-facts>div:first-child dd{font-size:var(--text-body);font-weight:700}
.deal-offer-comparison+.deal-offer-comparison{margin-top:var(--space-6)}
.deal-offer-product{padding:var(--space-4);background:var(--color-frost);border-bottom:1px solid var(--color-border)}
.deal-offer-product h3{margin:0;font-size:1.05rem;font-weight:700}
.deal-offer-product p{margin:5px 0 0;color:var(--color-copy);font-size:var(--text-sm);line-height:var(--leading-relaxed);text-wrap:pretty}
.deal-offer-compare-table .deal-compare-label-col{width:34%}
.deal-offer-compare-table tbody th{width:auto;color:var(--color-copy);font-size:var(--text-sm);font-weight:400}
.deal-offer-compare-table td{color:var(--color-ink);font-size:var(--text-card);font-weight:400;font-variant-numeric:tabular-nums}
.deal-offer-compare-table tbody tr:first-child td{font-size:var(--text-body);font-weight:700}
.deal-compare-label{display:flex;align-items:center;gap:var(--space-2)}
.deal-compare-icon{display:grid;place-items:center;flex:0 0 18px;width:18px;height:18px;color:var(--color-aqua)}
.deal-compare-icon svg{display:block}
.deal-offer-col-heading{display:inline-flex;align-items:center;gap:7px}
.deal-offer-col-icon{display:grid;place-items:center;width:20px;height:20px;flex:0 0 20px}
.deal-offer-col-heading-referral .deal-offer-col-icon{color:var(--color-pine-soft)}
.deal-offer-col-heading-public .deal-offer-col-icon{color:var(--color-aqua-border)}
.deal-offer-col-icon svg,.deal-offer-mobile-icon svg{display:block}
.deal-offer-mobile-label{display:none}
.deal-long-form-stacking,.deal-long-form-timing,.deal-long-form-avoid{margin-top:var(--space-8)}
.deal-long-form-stacking,.deal-long-form-timing{padding:var(--space-6);border:1px solid var(--color-aqua-border);border-radius:var(--radius-card);background:var(--color-aqua-wash)}
.deal-long-form-stacking h2,.deal-long-form-timing>h2,.deal-long-form-avoid>h2{font-size:clamp(1.4rem,2vw,1.75rem);letter-spacing:var(--tracking-slight)}
.deal-long-form-timing>h2,.deal-long-form-avoid>h2{margin-bottom:var(--space-6)}
.deal-long-form-comparison-heading{display:grid;grid-template-columns:40px minmax(0,1fr);gap:var(--space-3);align-items:start}
.deal-long-form-comparison-icon{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--color-aqua-border);border-radius:var(--radius-md);background:var(--color-canvas);color:var(--color-aqua)}
.deal-long-form-comparison-icon svg{display:block}
.deal-long-form-comparison-heading h2{margin:0;text-wrap:pretty}
.deal-long-form-fact-icon svg,.deal-long-form-avoid-icon svg{display:block}
.deal-long-form-status{display:inline-flex;align-items:center;min-height:28px;margin-top:var(--space-2);padding:4px 9px;border:1px solid var(--color-aqua-border);border-radius:var(--radius-sm);background:var(--color-canvas);color:var(--color-aqua);font-size:var(--text-xs);font-weight:800;line-height:var(--leading-snug)}
.deal-long-form-stacking .offer-comparison-metrics{margin:18px 0 0;padding:0;border:1px solid var(--color-aqua-border);border-radius:var(--radius-md);background:var(--color-canvas);overflow:hidden}
.deal-long-form-stacking .offer-comparison-metrics>div{padding:var(--space-3-5) 18px}
.deal-long-form-stacking .offer-comparison-metrics>div+div{padding-left:18px;border-color:var(--color-aqua-border)}
.deal-long-form-stacking .offer-comparison-metrics span{color:var(--color-aqua)}
.deal-long-form-stacking .offer-comparison-metrics strong{font-size:var(--text-lead);font-variant-numeric:tabular-nums}
.deal-long-form-comparison-copy{margin:var(--space-4) 0 0;color:var(--color-detail);line-height:var(--leading-loose)}
.deal-long-form-comparison-caveat{margin:var(--space-2-5) 0 0;color:var(--color-detail);font-size:inherit;line-height:var(--leading-loose)}
.deal-long-form-stacking>.deal-long-form-source-link{margin:var(--space-2) 0 0}
.deal-long-form-source-link a{display:inline-flex;align-items:center;gap:var(--space-1-5);min-height:var(--touch-target-min);font-weight:750}
.deal-long-form-source-link svg{display:block}
.deal-long-form-source-link a svg{transform:translateY(0.25px)}
.deal-long-form-facts,.deal-long-form-avoid-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6);margin:0}
.deal-long-form-facts>div:only-child,.deal-long-form-avoid-list li:only-child{grid-column:1/-1}
.deal-long-form-facts>div{min-width:0;min-height:36px}
.deal-long-form-fact-icon,.deal-long-form-avoid-icon{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--color-pine-border);border-radius:var(--radius-md);background:var(--color-canvas);color:var(--color-pine)}
.deal-long-form-timing .deal-long-form-facts{align-items:start}
.deal-long-form-timing .deal-long-form-fact-icon{border-color:var(--color-aqua-border);background:var(--color-canvas);color:var(--color-aqua)}
.deal-long-form-facts dt{position:relative;padding-left:var(--space-12);color:var(--color-pine);font-size:var(--text-body);font-weight:800;line-height:var(--leading-normal)}
.deal-long-form-fact-icon{position:absolute;top:0;left:0}
.deal-long-form-timing .deal-long-form-facts dt{color:var(--color-aqua)}
.deal-long-form-facts dd{margin:3px 0 0;padding-left:var(--space-12);color:var(--color-detail);font-size:var(--text-card);line-height:var(--leading-loose)}
.deal-long-form-avoid{padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-brand-surface)}
ul.deal-long-form-avoid-list{padding:0;list-style:none}
ul.deal-long-form-avoid-list li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:var(--space-3);align-items:start;margin:0}
.deal-long-form-avoid-list strong{display:block;font-size:var(--text-body);line-height:var(--leading-normal)}
.deal-long-form-avoid-list div>span{display:block;margin-top:3px;color:var(--color-detail);font-size:var(--text-card);line-height:var(--leading-loose)}
ul.deal-long-form-source-list{margin:18px 0 0;padding:0;border-top:1px solid var(--color-border);list-style:none}
ul.deal-long-form-source-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;margin:0;padding:var(--space-3-5) 0;border-bottom:1px solid var(--color-border)}
.deal-long-form-source-list li:last-child{border-bottom:0}
.deal-long-form-source-list li>div>strong{display:block;font-size:var(--text-card)}
.deal-long-form-source-list li>div>span{display:block;margin-top:2px;color:var(--color-muted);font-size:var(--text-sm);line-height:var(--leading-relaxed)}
.deal-long-form-source-list a{display:inline-flex;align-items:center;gap:5px;min-height:var(--touch-target-min);font-size:var(--text-card);font-weight:750;white-space:nowrap;text-decoration:none}
.deal-long-form-source-list a svg{display:block;width:16px;height:16px;flex:0 0 16px}
@media(min-width:1200px){
  .deal-long-form-layout{grid-template-columns:minmax(0,1fr) var(--reading-rail-width);gap:var(--reading-rail-gap);align-items:start;margin-top:var(--space-12)}
  .deal-long-form-sources{width:calc(100% - var(--reading-rail-width) - var(--reading-rail-gap))}
  .deal-long-form-content{grid-column:1;grid-row:1}
  .deal-long-form-rail{grid-column:2;grid-row:1;position:sticky;top:var(--space-6);align-self:start;max-height:calc(100vh - var(--space-12));overflow:auto;scrollbar-width:thin}
  .deal-long-form-referral-utility{display:block;margin-top:var(--space-3);padding:var(--space-3);border:1px solid var(--color-pine-border);border-radius:var(--radius-card);background:var(--color-pine-wash)}
  .deal-page-body>.deal-source,.deal-page-body>.gaming-eligibility-panel{margin-inline:0}
}
@media(max-width:1199px){
  .deal-long-form-layout,.deal-long-form-sources,.deal-score-strip{width:min(100%,var(--deal-width));margin-inline:auto}
  .deal-long-form-rail{width:100%;margin-inline:auto;--toc-desktop-display:none;--toc-mobile-display:block}
  .deal-long-form-rail>.page-toc{margin-top:var(--space-4)}
}
@media(max-width:720px){
  .deal-long-form-table th,.deal-long-form-table td{padding:var(--space-3)}
  .deal-offer-product{padding:var(--space-3-5) var(--space-3)}
  .deal-offer-compare-table .deal-compare-label-col{width:38%}
  .deal-offer-compare-table th,.deal-offer-compare-table td{padding:var(--space-2-5) var(--space-2)}
  .deal-offer-compare-table tbody tr:first-child td{font-size:var(--text-body)}
  .deal-compare-label{gap:var(--space-1-5)}
  .deal-long-form-offer-table{display:block;table-layout:auto}
  .deal-long-form-offer-table colgroup{display:none}
  .deal-long-form-offer-table thead{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .deal-long-form-offer-table tbody,.deal-long-form-offer-table tr,.deal-long-form-offer-table th,.deal-long-form-offer-table td{display:block;width:100%}
  .deal-long-form-offer-table tbody tr{border-bottom:1px solid var(--color-border)}
  .deal-long-form-offer-table tbody tr:last-child{border-bottom:0}
  .deal-long-form-offer-table tbody th{width:100%;padding:var(--space-3-5) var(--space-4);border-bottom:1px solid var(--color-border);font-size:var(--text-body);line-height:var(--leading-normal)}
  .deal-long-form-offer-table tbody th small{margin-top:5px;color:var(--color-copy);font-size:var(--text-sm);line-height:var(--leading-relaxed)}
  .deal-long-form-offer-table tbody td{display:grid;grid-template-columns:minmax(106px,25%) minmax(0,1fr);gap:var(--space-3);align-items:start;padding:var(--space-2-5) var(--space-4);border-bottom:0;line-height:var(--leading-relaxed)}
  .deal-long-form-offer-table tbody td:has(.deal-offer-facts){grid-template-columns:minmax(0,1fr);gap:var(--space-2)}
  .deal-long-form-offer-table tbody td:first-of-type{padding-top:var(--space-3-5)}
  .deal-long-form-offer-table tbody td:last-child{padding-bottom:var(--space-3-5)}
  .deal-offer-mobile-label{display:flex;align-items:center;gap:var(--space-1-5);min-width:0;font-size:var(--text-xs);font-weight:800;line-height:var(--leading-normal)}
  .deal-offer-mobile-label-referral{color:var(--color-pine)}
  .deal-offer-mobile-label-public{color:var(--color-aqua)}
  .deal-offer-mobile-icon{display:grid;place-items:center;width:18px;height:18px;flex:0 0 18px}
  .deal-offer-copy{min-width:0}
  .deal-long-form-stacking,.deal-long-form-timing,.deal-long-form-avoid{margin-top:var(--space-6);padding:var(--space-4)}
  .deal-comparison-guide{margin-top:var(--space-6)}
  .deal-long-form-stacking h2,.deal-long-form-timing>h2,.deal-long-form-avoid>h2{font-size:1.35rem}
  .deal-long-form-comparison-heading{grid-template-columns:38px minmax(0,1fr);gap:11px}
  .deal-long-form-comparison-icon{width:36px;height:36px}
  .deal-long-form-stacking .offer-comparison-metrics{margin:var(--space-3-5) 0 0}
  .deal-long-form-stacking .offer-comparison-metrics>div{padding:var(--space-3) var(--space-3-5);border-top:0}
  .deal-long-form-stacking .offer-comparison-metrics>div+div{padding-left:var(--space-3-5);border-left:0;border-top:1px solid var(--color-aqua-border)}
  .deal-long-form-timing>h2,.deal-long-form-avoid>h2{margin-bottom:var(--space-4)}
  .deal-long-form-facts,.deal-long-form-avoid-list{grid-template-columns:1fr;gap:var(--space-4)}
  ul.deal-long-form-source-list li{grid-template-columns:1fr;gap:var(--space-1-5);align-items:start}
  .deal-long-form-source-list a{justify-self:start}
}
@media(max-width:480px){
  .deal-long-form-table{font-size:var(--text-card)}
  .deal-long-form-table th,.deal-long-form-table td{padding:11px var(--space-2-5)}
}

/* Ontario gaming eligibility context. */
.gaming-cta-note{margin:7px 0 0;color:var(--color-muted);font-size:var(--text-xs);line-height:var(--leading-relaxed);text-align:center}
.gaming-eligibility-panel{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:var(--space-3) 18px;align-items:center;margin-top:var(--space-12);padding:var(--space-3-5) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-frost)}
.gaming-eligibility-icon{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--color-pine-border);border-radius:50%;background:var(--color-canvas);color:var(--color-pine)}
.gaming-eligibility-copy{min-width:0}
.gaming-eligibility-copy strong{display:block;color:var(--color-ink);font-size:var(--text-card);line-height:var(--leading-snug);font-weight:750}
.gaming-eligibility-copy p{margin:3px 0 0;color:var(--color-muted);font-size:var(--text-sm);line-height:var(--leading-relaxed)}
.gaming-eligibility-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:2px var(--space-3-5)}
.gaming-eligibility-actions a{display:inline-flex;align-items:center;gap:5px;min-height:var(--touch-target-min);color:var(--color-pine);font-size:var(--text-sm);font-weight:700;text-decoration:none;white-space:normal}
.gaming-eligibility-actions svg{display:block;flex:0 0 auto}
@media(hover:hover) and (pointer:fine){.gaming-eligibility-actions a:hover{color:var(--color-pine-hover)}}
@media(max-width:760px){.gaming-eligibility-panel{grid-template-columns:38px minmax(0,1fr);gap:var(--space-2-5) var(--space-3)}.gaming-eligibility-actions{grid-column:2;justify-content:flex-start;margin-top:-4px}}
@media(max-width:480px){.gaming-eligibility-panel{padding:13px var(--space-3-5)}.gaming-eligibility-actions{gap:0 var(--space-3)}}

/* Shared verification semantic palette. */
.deal-hero-checked{border:1px solid var(--color-aqua-border);background:var(--color-aqua-wash);color:var(--color-aqua)}
.deal-card-checkmark{display:inline-grid;place-items:center;width:16px;height:16px;flex:0 0 16px;color:var(--color-aqua);font-size:0;font-weight:400}
.deal-card-checkmark svg{display:block;width:16px;height:16px}
.finder-trust-icon{color:var(--color-aqua)}
.category-directory-check{display:inline-grid;place-items:center;width:16px;height:16px;color:var(--color-aqua);font-weight:400;vertical-align:-3.5px}
.category-directory-check svg{display:block;width:16px;height:16px}

/* Deals directory */
.deals-page-intro{padding:clamp(var(--space-8),4vw,var(--space-12)) 0;background:var(--color-frost);border-bottom:1px solid var(--color-border)}
.deals-page-intro .listing-page-header{margin-bottom:0}
.deals-shortlist{display:grid;grid-template-columns:42px minmax(0,1fr) 18px;gap:var(--space-3-5);align-items:center;min-height:82px;margin-top:var(--space-6);padding:15px 18px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-canvas);color:var(--color-ink);text-decoration:none;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.deals-shortlist-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--color-pine-border);border-radius:var(--radius-md);background:var(--color-pine-wash);color:var(--color-pine);transition:background-color .18s ease,border-color .18s ease}
.deals-shortlist-icon svg{display:block}
.deals-shortlist-copy{display:grid;gap:2px;min-width:0}
.deals-shortlist-copy strong{color:var(--color-ink);font-size:var(--text-body);line-height:var(--leading-normal);transition:color .18s ease}
.deals-shortlist-copy span{color:var(--color-detail);font-size:var(--text-card);line-height:var(--leading-relaxed)}
.deals-shortlist-chevron{display:grid;place-items:center;width:18px;height:18px;color:var(--color-pine);transition:color .18s ease,transform .18s ease}
.deals-shortlist-chevron svg{display:block}
.deals-shortlist:focus-visible{outline:2px solid var(--color-pine);outline-offset:3px}
.deals-directory-section{margin-top:var(--space-6);background:var(--color-canvas)}
.deals-directory-panel{padding:var(--space-6) var(--space-6) var(--space-12);border-radius:var(--radius-field);background:var(--color-canvas)}
.deals-directory-toolbar{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-4);margin-bottom:18px}
.deals-directory-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);width:100%}
.deals-directory-heading-group{min-width:0}
.deals-directory-heading{margin:0}
.deals-directory-summary{margin:5px 0 0;color:var(--color-muted);font-size:var(--text-card);line-height:var(--leading-normal)}
.deals-category-filter,.deals-search-filter,.deals-action-filter,.deals-sort-filter{width:100%}
.deals-sort-filter{display:block}
html.nav-enhanced [data-deals-directory]:not([data-directory-unavailable]) [data-deals-filter][hidden],html.nav-enhanced [data-deals-directory]:not([data-directory-unavailable]) [data-deals-search-filter][hidden],html.nav-enhanced [data-deals-directory]:not([data-directory-unavailable]) [data-deals-action-filter][hidden],html.nav-enhanced [data-deals-directory]:not([data-directory-unavailable]) [data-deals-sort-filter][hidden]{display:block!important;visibility:hidden}
.deals-directory-table{overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-canvas)}
.deals-directory-head,.deals-directory-row{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(200px,1fr) minmax(260px,1.5fr) 176px;column-gap:var(--space-5);align-items:center}
.deals-directory-head{min-height:48px;padding:0 var(--space-4);background:var(--color-ink);color:var(--color-inverse-copy);font-size:var(--text-xs);font-weight:800;letter-spacing:var(--tracking-wide);text-transform:uppercase}
.deals-directory-head>[role="columnheader"]:nth-child(4){text-align:center}
.deals-directory-sort-button{display:inline-flex;align-items:center;gap:var(--space-1-5);margin:calc(var(--space-2-5) * -1) calc(var(--space-4) * -1);background:transparent;letter-spacing:inherit;text-transform:inherit}
.deals-directory-sort-button:disabled{cursor:default}
.deals-directory-sort-icon{display:grid;place-items:center;width:14px;height:14px;opacity:.55;transition:transform .16s ease,opacity .16s ease}
.deals-directory-sort-icon svg{display:block;width:14px;height:14px}
[aria-sort="ascending"] .deals-directory-sort-icon{transform:rotate(180deg);opacity:1}
[aria-sort="descending"] .deals-directory-sort-icon{opacity:1}
.deals-directory-row{min-height:84px;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-canvas)}
.deals-directory-row:last-child{border-bottom:0}
.deals-directory-provider{min-width:0}
.deals-directory-brand{display:flex;width:max-content;min-width:var(--touch-target-min);max-width:100%;min-height:var(--touch-target-min);align-items:center;color:var(--color-ink);text-decoration:none}
.deals-directory-brand .brand-lockup{max-width:100%}
.deals-directory-brand .brand-lockup-logo{max-width:190px}
.deals-directory-brand .brand-lockup-name{min-width:0;white-space:normal;overflow-wrap:anywhere}
.deals-directory-category{display:block;margin:5px 0 0;color:var(--color-muted);font-size:var(--text-xs);line-height:var(--leading-normal)}
.deals-directory-checked{display:block;margin:2px 0 0;color:var(--color-muted);font-size:var(--text-xs);line-height:var(--leading-normal)}
.deals-directory-offer{min-width:0}
.deals-directory-offer-link{display:flex;align-items:center;min-height:var(--touch-target-min);overflow-wrap:anywhere;color:var(--color-ink);font-size:var(--text-body);font-weight:800;line-height:var(--leading-normal);text-decoration:none;transition:color .18s ease}
.deals-directory-reward-value{display:block;color:var(--color-ink);font-size:var(--text-body);font-weight:800;line-height:var(--leading-normal)}
.deals-directory-offer-ranked .deals-directory-offer-link{font-size:var(--text-card);font-weight:650}
.deals-directory-payout{margin:4px 0 0;color:var(--color-detail);font-size:var(--text-sm);line-height:var(--leading-normal)}
.deals-directory-payout-label{color:var(--color-detail);font-weight:750}
.deals-directory-requirement{color:var(--color-detail);font-size:var(--text-card);line-height:var(--leading-relaxed)}
.deals-directory-requirement-lead{display:block;color:var(--color-ink);font-weight:750}
.deals-directory-requirement-detail{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:2px 0 0;color:var(--color-detail);font-size:var(--text-sm);line-height:var(--leading-normal)}
.deals-directory-empty{margin-top:18px}
.deals-directory-empty p{margin:0 0 var(--space-3)}
.deals-directory-final{padding-bottom:var(--space-12)}
@media(max-width:720px){.deals-directory-final{padding-bottom:var(--space-4)}}
.deals-directory-final-cta{background:var(--color-pine-wash)}
.deals-directory-final-cta .final-cta-actions .text-link{display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch-target-min)}
.deals-directory-action{display:flex;justify-content:center}
.deals-directory-cta{display:grid;grid-template-columns:14px minmax(0,1fr) 14px;column-gap:5px;width:176px;max-width:100%;min-height:var(--touch-target-min);padding:0 var(--space-2);border-radius:var(--radius-button);font-size:var(--text-sm);line-height:var(--leading-snug);text-align:center;white-space:normal}
.deals-directory-cta::before{content:"";width:14px;height:14px}
.deals-directory-cta>span:first-child{min-width:0}
.deals-directory-cta-icon{display:grid;place-items:center;width:14px;height:14px}
.deals-directory-cta-icon svg{display:block;width:14px;height:14px}
.deals-directory-mobile-label{display:none}
@media(hover:hover) and (pointer:fine){
  .deals-shortlist:hover{border-color:var(--color-pine-border-strong);background:var(--color-canvas);box-shadow:0 8px 20px var(--shadow-ink-lift);transform:translateY(-2px)}
  .deals-shortlist:hover .deals-shortlist-icon{border-color:var(--color-pine-border-strong);background:var(--color-pine-soft)}
  .deals-shortlist:hover .deals-shortlist-copy strong{color:var(--color-pine)}
  .deals-shortlist:hover .deals-shortlist-chevron{color:var(--color-pine-hover);transform:translateX(3px)}
  .deals-directory-brand:hover .brand-lockup-name,.deals-directory-offer-link:hover{color:var(--color-pine-hover)}
  .deals-directory-sort-button:not(:disabled):hover{background:color-mix(in srgb,var(--color-inverse) 9%,transparent);color:var(--color-inverse)}
}
.deals-directory-sort-button:not(:disabled):focus-visible{outline:2px solid var(--color-pine-soft);outline-offset:2px}
/* Sticky desktop header uses a borderless shell to avoid stationary seams under rounded corners. */
@media(min-width:1240px){
  .deals-directory-table{overflow:visible;border:0;background:transparent}
  .deals-directory-head{position:sticky;top:var(--space-3);z-index:6;border-radius:13px 13px 0 0}
  .deals-directory-head::before{content:"";position:absolute;left:0;right:0;top:calc(var(--space-3) * -1);height:var(--space-3);background:var(--color-frost);pointer-events:none}
  .deals-directory-row:last-child{border-radius:0 0 13px 13px}
}
@media(max-width:1239px){
  .deals-directory-head{position:absolute;width:1px;height:1px;min-height:0;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  .deals-directory-head .deals-directory-sort-button{display:none}
  .deals-directory-table{border:0;border-radius:0;background:transparent}
  .deals-directory-list{display:grid;gap:var(--space-3)}
  .deals-directory-row{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);grid-template-areas:"provider offer" "requirement requirement" "action action";gap:var(--space-3) var(--space-4);min-height:0;padding:18px;border:1px solid var(--color-border);border-radius:var(--radius-card)}
  .deals-directory-row:last-child{border-bottom:1px solid var(--color-border)}
  .deals-directory-provider{grid-area:provider;align-self:start}
  .deals-directory-offer{grid-area:offer;align-self:start}
  .deals-directory-requirement{grid-area:requirement;align-self:start}
  .deals-directory-action{grid-area:action;justify-content:flex-end}
  .deals-directory-cta{width:min(220px,100%);max-width:220px}
  .deals-directory-mobile-label{display:block;margin-bottom:5px;color:var(--color-muted);font-size:var(--text-xs);font-weight:800;letter-spacing:var(--tracking-normal);text-transform:none}
}
@media(max-width:800px){
  .deals-directory-row{grid-template-columns:minmax(0,1fr);grid-template-areas:"provider" "offer" "requirement" "action";gap:var(--space-2-5) var(--space-3);padding:var(--space-3-5) var(--space-4)}
  .deals-directory-toolbar{align-items:stretch;flex-direction:column;gap:var(--space-3)}
  .deals-directory-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .deals-category-filter,.deals-sort-filter,.deals-search-filter,.deals-action-filter{width:100%}
  .deals-directory-panel{padding:var(--space-4)}
}
@media(min-width:721px) and (max-width:800px){.deals-directory-panel{padding-bottom:var(--space-12)}}
@media(max-width:600px){
  .deals-page-intro{padding:28px 0 30px}
  .deals-shortlist{grid-template-columns:38px minmax(0,1fr) 18px;gap:var(--space-2-5) var(--space-3);min-height:62px;margin-top:18px;padding:var(--space-3) var(--space-3-5)}
  .deals-shortlist-icon{width:38px;height:38px;border-radius:9px}
  .deals-directory-section{margin-top:18px}
  .deals-directory-heading{margin-bottom:0}
  .deals-directory-list{gap:var(--space-2-5)}
  .deals-directory-row{grid-template-columns:minmax(0,1fr);grid-template-areas:"provider" "offer" "requirement" "action";gap:var(--space-1-5);padding:var(--space-3) var(--space-4)}
  .deals-directory-action{justify-content:stretch}
  .deals-directory-cta{width:100%;max-width:none}
  .deals-directory-provider{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:var(--space-2)}
  .deals-directory-brand{width:auto;min-width:var(--touch-target-min)}
  .deals-directory-category{justify-self:start;align-self:start;margin:0}
  .deals-directory-offer,.deals-directory-requirement{align-self:start}
  .deals-directory-mobile-label-offer{display:none}
}
@media(max-width:700px){
  .deals-directory-controls{grid-template-columns:minmax(0,1fr)}
}
@media(forced-colors:active){
  .finder-search-input:focus-visible,.finder-select-native:focus-visible{outline:2px solid Highlight;outline-offset:2px}
}

/* Reduced motion: remove spatial travel while preserving useful state feedback. */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .finder-select-chevron,.page-toc-chevron{transition:none}
  .deals-directory-sort-icon{transition:none}
  .button:hover,.category-card:hover,.deal-comparison-guide-card:hover,.related-tool-card:hover,.deals-shortlist:hover{transform:none}
  .category-card:hover .category-chevron{transform:translateY(calc(-50% + 2px))}
  .category-card-directory:hover .category-chevron{transform:translateY(calc(-50% + 2px))}
  @media(min-width:1101px){.category-card-directory:hover .category-chevron{transform:none}}
  .home-editorial-link:hover .home-editorial-chevron,
  .about-trust-callout:hover .about-trust-callout-chevron,
  .trust-policy-row:hover .trust-policy-chevron,
  .trust-register-source-link:hover .trust-register-source-icon,
  .related-tool-card:hover .related-tool-chevron,
  .deals-shortlist:hover .deals-shortlist-chevron{transform:none}
  .related-category-links a:hover .related-category-chevron{transform:translateY(0.25px)}
}

/* Updates post template: narrow top, mobile title, meta row, promo chip, lede, source, disclosure, bottom CTA card. */
.update-article .breadcrumbs{margin-bottom:var(--space-3)}
.update-article h1{font-size:clamp(1.75rem,1.2rem + 2.4vw,2.5rem);line-height:var(--leading-display);letter-spacing:var(--tracking-tight);text-wrap:balance}
.update-meta{color:var(--color-muted);font-size:var(--text-card);line-height:var(--leading-loose);margin-bottom:var(--space-3)}
.update-meta a{color:var(--color-pine);font-weight:700}
.update-meta-time{white-space:nowrap}
.update-period-line{margin:0 0 var(--space-4);font-size:var(--text-body);line-height:var(--leading-loose);color:var(--color-pine);font-weight:650}
.update-period-line [data-days-left]{white-space:nowrap}
.nowrap-date{white-space:nowrap}
.update-lede{font-size:var(--text-body);line-height:var(--leading-loose);color:var(--color-copy)}
.update-disclosure{color:var(--color-muted);font-size:var(--text-card);line-height:var(--leading-loose)}
.update-cta{margin-top:var(--space-8);margin-bottom:var(--space-8);padding:22px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-frost)}
.update-cta h2{font-size:var(--text-h3);margin-bottom:var(--space-4)}
.update-cta-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}
.update-cta-actions .button{flex:1 1 240px}
@media(max-width:720px){.update-cta{padding:18px}.update-cta-actions .button{width:100%}}
@media(min-width:721px){.update-article .prose .update-cta{display:flex;align-items:center;gap:var(--space-6)}.update-article .prose .update-cta p{flex:1 1 auto;margin:0}.update-article .prose .update-cta-actions{flex:0 0 auto}.update-article .prose .update-cta-actions .button{flex:0 0 auto}}


/* Updates blog layout: main article plus perpetual sidebar, desktop grid, mobile stack. */
.update-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--space-12);align-items:start;padding-top:var(--space-5)}
.update-layout .update-article{padding-top:0;min-width:0}
.update-article .prose{width:100%}
.update-sidebar{position:sticky;top:var(--space-6);display:flex;flex-direction:column;gap:var(--space-6)}
.update-sidebar-card .button{width:100%}
.update-sidebar-card{padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-canvas)}
.update-sidebar-card ul{list-style:none;padding:0;margin:0}
.update-sidebar-card li{margin-bottom:var(--space-3)}
.update-sidebar-card li:last-child{margin-bottom:0}
.update-sidebar-card .update-sidebar-item{margin-bottom:var(--space-4)}
.update-sidebar-card .update-sidebar-item:last-child{margin-bottom:0}
.update-sidebar-title{display:block;color:var(--color-ink);font-weight:750;line-height:var(--leading-relaxed);text-decoration:none}
.update-sidebar-title:hover{color:var(--color-pine);text-decoration:none}
.update-sidebar-meta{margin:var(--space-2) 0 var(--space-4);color:var(--color-muted);font-size:var(--text-card)}
.update-sidebar-meta strong{color:var(--color-pine)}
@media(min-width:721px){.update-layout{padding-top:var(--space-8)}}
@media(max-width:1023px){.update-layout{padding-bottom:0}}
@media(max-width:720px){.update-layout{padding-bottom:var(--space-4)}}
@media(min-width:721px) and (max-width:1023px){.update-layout{padding-bottom:var(--space-12)}}

/* Updates post tables: deal table system, reused tokens, no new colours */
/* Table must stay display table, not block: block shrinks columns to content and leaves white space on the right. */
.update-article .prose table{margin:0 0 var(--space-4);display:table;width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-canvas);font-size:var(--text-body);line-height:var(--leading-relaxed)}
.update-article .prose th,.update-article .prose td{padding:var(--space-3-5) var(--space-4);border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top;overflow-wrap:break-word}
.update-article .prose thead th{background:var(--color-ink);color:var(--color-inverse);font-size:var(--text-xs);font-weight:800;line-height:var(--leading-normal);white-space:nowrap}
.update-article .prose thead th:first-child{border-top-left-radius:var(--radius-md)}
.update-article .prose thead th:last-child{border-top-right-radius:var(--radius-md)}
.update-article .prose table:not(:has(tfoot)) tbody tr:last-child td:first-child{border-bottom-left-radius:var(--radius-md)}
.update-article .prose table:not(:has(tfoot)) tbody tr:last-child td:last-child{border-bottom-right-radius:var(--radius-md)}
.update-article .prose table:has(tfoot) tfoot td:first-child{border-bottom-left-radius:var(--radius-md)}
.update-article .prose table:has(tfoot) tfoot td:last-child{border-bottom-right-radius:var(--radius-md)}
.update-article .prose tbody tr:last-child>*{border-bottom:0}
.update-article .prose tfoot td{background:var(--color-pine-soft);border-top:1px solid var(--color-pine-border);font-weight:800;color:var(--color-ink)}
@media(max-width:720px){.update-article .prose table{font-size:var(--text-card)}.update-article .prose th,.update-article .prose td{padding:11px var(--space-2-5)}.update-article .prose thead th{white-space:normal}}

/* Updates post figures: tier graphic and captions */

/* Updates page details: card, reused tokens, cite box reuses Frost and button CSS */
.update-page-details{margin-top:var(--space-8);padding:22px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-canvas)}
.update-page-meta{color:var(--color-muted);font-size:var(--text-card);line-height:var(--leading-loose)}
/* Updates reading: takeaways, TOC, warning */
.update-takeaways{margin-bottom:var(--space-8);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-frost)}
.update-takeaways h2{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-h3);margin-bottom:var(--space-3)}
.update-takeaways h2>span{display:grid;place-items:center;flex:none}
.update-takeaways h2 svg{display:block;width:20px;height:20px}
.update-takeaways ul{margin:0;padding-left:var(--space-5)}
.update-takeaways li{margin-bottom:var(--space-2)}
.update-takeaways li:last-child{margin-bottom:0}
.update-toc{margin-bottom:var(--space-8)}
.update-toc .page-toc{position:static;max-height:none;overflow:visible}
.update-article .prose .update-warning{margin:var(--space-6) 0;padding:var(--space-5);border:1px solid var(--color-caution-border);border-radius:var(--radius-card);background:var(--color-caution-wash)}
.update-warning h2{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}
.update-warning h2 svg{flex:none;color:var(--color-caution-deep)}
.update-warning p:last-child{margin-bottom:0}

.update-timeline{margin-bottom:var(--space-8);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-canvas)}
.update-timeline h2{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-h3);margin-bottom:var(--space-3)}
.update-timeline h2>span{display:grid;place-items:center;flex:none}
.update-timeline h2 svg{display:block;width:20px;height:20px}
.update-timeline ul{margin:0;padding:0;list-style:none}
.update-timeline li{display:flex;gap:var(--space-3);margin-bottom:var(--space-2)}
.update-timeline li:last-child{margin-bottom:0}
.update-timeline li strong{flex:none;min-width:110px}
/* Updates share: Canooq-style icon row, direct share links, no native sheet */
.update-share{margin-bottom:var(--space-8)}
.update-share h2{font-size:var(--text-h3);margin-bottom:var(--space-4);display:flex;align-items:center;gap:var(--space-2)}
.update-share h2 svg{flex:none}
.update-share h2>span{display:grid;place-items:center;flex:none}
.update-share-list{display:flex;flex-wrap:wrap;gap:var(--space-3);list-style:none;padding:0;margin:0}
.update-share-list a{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--radius-icon);color:var(--color-detail);text-decoration:none}
.update-share-list a svg{display:block;width:20px;height:20px}
.update-share-list a:focus-visible{background:var(--color-pine-soft);color:var(--color-pine)}
@media(hover:hover) and (pointer:fine){.update-share-list a:hover{background:var(--color-pine-soft);color:var(--color-pine)}}
.update-page-details .update-disclosure{margin-top:18px;margin-bottom:0;padding-top:18px;border-top:1px solid var(--color-border)}
.update-author-head{display:flex;gap:var(--space-4);align-items:center;margin-bottom:var(--space-3)}
.update-author-head h2{margin-bottom:0;font-size:var(--text-h3)}
.update-author-avatar{display:grid;place-items:center;flex:none;width:56px;height:56px;border-radius:50%;background:var(--color-pine-soft);color:var(--color-pine)}
.update-author-avatar img{display:block;width:40px;height:40px}
.update-author-role{margin:2px 0 0;color:var(--color-muted);font-size:var(--text-card);line-height:var(--leading-relaxed)}
.update-author-rows{margin:var(--space-4) 0 0;padding:0;list-style:none;display:grid;gap:var(--space-3)}
@media(min-width:721px){.update-author-rows{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4) var(--space-6)}}
.update-author-rows li{display:flex;gap:var(--space-3);align-items:flex-start}
.update-author-rows li>span{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:var(--radius-icon);background:var(--color-pine-soft);color:var(--color-pine)}
.update-author-rows li svg{display:block;width:20px;height:20px}
.update-author-rows li>div{min-width:0;font-size:var(--text-body);line-height:var(--leading-loose)}
.update-author-rows li strong{display:block}
.update-author-cta{margin:var(--space-5) 0 0}.update-author-bio .button{margin-top:0}
.update-sources-head{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;margin-bottom:var(--space-3);list-style:none;cursor:pointer;min-height:var(--touch-target-min)}
.update-sources-head .deal-sources-chip{flex:none;display:inline-flex;align-items:center;gap:4px;font-size:var(--text-sm)}
.update-sources-head .deal-sources-meta{margin-left:0}
@media(max-width:640px){.update-sources-head .deal-sources-chip{font-size:var(--text-xs);padding:3px var(--space-1-5)}}
@media(max-width:360px){.update-sources-head .deal-sources-date-label{display:none}}
.update-sources-head .update-sources-title{margin-bottom:0;font-size:var(--text-h3);font-weight:700;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}
.update-sources-head>span:first-child{display:grid;place-items:center;flex:none;color:var(--color-pine)}
.update-sources-head svg{display:block;width:20px;height:20px}
.update-sources-details:not([open]) .update-sources-head{margin-bottom:0}
.update-sources-head::-webkit-details-marker{display:none}
.update-sources-head::marker{content:""}
.update-sources-chevron{display:grid;place-items:center;flex:none;margin-left:auto;color:var(--color-pine)}
.update-sources-chevron svg{display:block;width:18px;height:18px;transition:transform .18s ease}
.update-sources-details[open] .update-sources-chevron svg{transform:rotate(180deg)}
.update-sources-head:focus-visible{outline:2px solid var(--color-pine);outline-offset:2px;border-radius:8px}
@media(max-width:720px){.update-author-head{gap:var(--space-3)}.update-author-head h2{font-size:var(--text-h3);line-height:var(--leading-snug)}.update-author-avatar{width:48px;height:48px}.update-author-avatar img{width:36px;height:36px}.update-author-bio .button{width:100%;justify-content:center}.update-author-rows li>span{width:28px;height:28px}}
@media(max-width:720px){.update-page-details{padding:18px}}

/* TOC single-DOM, updates only */
.update-toc .page-toc-single summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);cursor:default;list-style:none}
.update-toc .page-toc-single summary::-webkit-details-marker{display:none}
.update-toc .page-toc-single summary::marker{content:""}
.update-toc .page-toc-single summary>strong{display:flex;align-items:center;gap:var(--space-2);color:var(--color-muted);font-size:var(--text-sm);font-weight:800}
.update-toc .page-toc-single summary>strong>span{display:grid;place-items:center;flex:none}
.update-toc .page-toc-single .page-toc-chevron{display:none}
@media(max-width:720px){
.update-toc .page-toc-single{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}
.update-toc .page-toc-single summary{min-height:48px;cursor:pointer}
.update-toc .page-toc-single summary>strong{color:var(--color-ink);font-size:var(--text-body)}
.update-toc .page-toc-single .page-toc-chevron{display:grid}
.update-toc .page-toc-single nav{margin:0;padding:4px 0 var(--space-2-5)}
}

.update-sidebar-toc-card .page-toc-single nav{padding:4px 0 0}
.update-sidebar-toc-card .page-toc-single nav a{font-size:var(--text-card);font-weight:650;color:var(--color-detail);justify-content:space-between;gap:var(--space-3)}
.update-sidebar-toc-card .page-toc-single nav a:hover{color:var(--color-pine-hover)}

.update-sidebar-card.update-sidebar-toc-card{padding-bottom:0}
.update-sidebar-toc-card .update-toc .page-toc-single summary>strong{font-size:var(--text-lead);font-weight:700;color:var(--color-ink)}

.update-sidebar-card h2{display:flex;align-items:center;gap:var(--space-2);font-size:1.1rem;font-weight:700;color:var(--color-ink);margin-bottom:var(--space-3)}
.update-sidebar-card h2>span{display:grid;place-items:center;flex:none}
.update-sidebar-toc-card .page-toc-single summary{cursor:default;pointer-events:none}

.update-sidebar-toc-card .page-toc-link-label{margin-left:28px}

@media(max-width:1023px){
  .update-layout{grid-template-columns:1fr;gap:var(--space-8)}
  .update-sidebar{position:static}
  .update-sidebar-toc-card{display:none}
}

.update-article-toc{margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-frost)}
.update-article-toc summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:var(--touch-target-min);cursor:pointer;list-style:none;color:var(--color-ink)}
.update-article-toc summary>strong{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-lead);font-weight:700;color:var(--color-ink)}
.update-article-toc summary>strong>span{display:grid;place-items:center;flex:none}
.update-article-toc[open] summary{border-bottom:1px solid var(--color-border)}
.update-article-toc summary::-webkit-details-marker{display:none}
.update-article-toc summary::marker{content:""}
.update-article-toc[open] .page-toc-chevron{transform:rotate(180deg)}
.update-article-toc nav{padding:4px 0 0;display:grid;gap:2px}
.update-article-toc a{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:var(--touch-target-min);color:var(--color-ink);font-size:var(--text-body);font-weight:700;text-decoration:none}
.update-article-toc a:hover{color:var(--color-pine-hover)}
.update-article-toc-label{margin-left:28px}
.update-article-toc-chevron{display:grid;place-items:center;flex:none;width:18px;height:18px}
@media(min-width:1024px){.update-article-toc{display:none}}
