*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:#111214;color:#ffffff;font-family:Arial, Helvetica, Verdana, sans-serif;font-size:16px;line-height:1.5;min-height:100vh;display:flex;flex-direction:column}main{flex:1 0 auto}h1,h2,h3,h4,h5,h6{color:#ffffff;line-height:1.2;margin:0 0 .5em}p{margin:0 0 1em}img{max-width:100%;height:auto;display:block}a{color:#ffc400;text-decoration:underline}a:hover,a:focus{color:#ffc400;text-decoration:none}a:focus-visible{outline:2px solid #bc8e35;outline-offset:2px}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 16px}.btn{display:inline-block;background:#ffe600;color:#090909;border:1px solid #ffe600;padding:10px 20px;border-radius:4px;font-family:Arial, Helvetica, Verdana, sans-serif;font-weight:bold;text-decoration:none;cursor:pointer;line-height:1.2}.btn:hover,.btn:focus{background:#ffe600;color:#090909;border-color:#ffe600;text-decoration:none}.btn-secondary{background:#333333;color:#ffffff;border:1px solid #404040}.btn-secondary:hover,.btn-secondary:focus{background:#333333;color:#ffffff;border-color:#404040}.site-header{background:#333333;border-bottom:1px solid #404040;position:sticky;top:0;z-index:100}.header-inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:8px 16px;max-width:1200px;margin:0 auto}.brand-link{display:block;flex:0 0 auto}.brand-link img{height:40px;width:auto}.site-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.site-nav a{color:#ffc400;text-decoration:none;padding:8px 10px;display:block;font-weight:bold}.site-nav a:hover,.site-nav a:focus{color:#ffc400;text-decoration:underline}.site-nav a.btn{color:#090909;padding:10px 20px}.site-nav a.btn:hover,.site-nav a.btn:focus{color:#090909;text-decoration:none}.site-nav a.btn-secondary{color:#ffffff}.site-nav a.btn-secondary:hover,.site-nav a.btn-secondary:focus{color:#ffffff;text-decoration:none}.menu-toggle{display:none;background:transparent;border:1px solid #404040;border-radius:4px;padding:8px;cursor:pointer;flex-direction:column;gap:4px;width:44px;height:40px;align-items:center;justify-content:center}.menu-toggle-bar{display:block;width:22px;height:2px;background:#ffffff}.site-footer{background:#333333;border-top:1px solid #404040;padding:24px 0;color:#ffffff;margin-top:auto}.footer-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.footer-nav a{color:#ffc400}@media (max-width:767px){.menu-toggle{display:inline-flex}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#333333;border-bottom:1px solid #404040}.site-nav.is-open{display:block}.site-nav ul{flex-direction:column;align-items:stretch;gap:0;padding:8px 16px}.site-nav a.btn{display:block;text-align:center;margin:4px 0}.footer-nav ul{flex-direction:column;align-items:center}}@media (min-width:768px) and (max-width:1023px){.site-nav a{padding:8px 6px;font-size:15px}.brand-link img{height:36px}}@media (min-width:1024px){.brand-link img{height:48px}}
/* ---- Article landing page system ---- */
:root{
  --c-bg:#111214;--c-surface:#333333;--c-text:#ffffff;--c-button:#ffe600;--c-button-text:#090909;
  --c-link:#ffc400;--c-border:#404040;--c-accent:#bc8e35;
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;
  --radius:8px;--radius-lg:12px;
  --shadow-card:0 4px 16px rgba(9,9,9,.45);
  --ease:cubic-bezier(.2,.7,.2,1);
}
.page-main{padding-bottom:var(--space-8)}
.section{padding:var(--space-7) 0}
.section--bg{background:var(--c-bg)}
.section--surface{background:var(--c-surface)}
.stack{max-width:880px;margin:0 auto}
.stack p,.stack ul,.stack ol{max-width:72ch}
.stack p,.stack li{font-size:clamp(1rem,.96rem + .25vw,1.125rem);line-height:1.6;color:var(--c-text)}
.stack h2{font-size:clamp(1.6rem,1.2rem + 1.6vw,2.25rem);font-weight:800;line-height:1.15;margin:0 0 var(--space-5)}
.stack h3{font-size:clamp(1.2rem,1.05rem + .7vw,1.5rem);font-weight:700;line-height:1.2;margin:var(--space-7) 0 var(--space-3)}
.stack ol,.stack ul{padding-left:var(--space-5);margin:0 0 var(--space-4)}
.stack li{margin-bottom:var(--space-2)}
.stack ol li::marker{color:var(--c-link);font-weight:700}
.stack ul li::marker{color:var(--c-accent)}
.stack strong{font-weight:700}
.stack a{font-weight:600}
.stack a:hover,.stack a:focus{text-decoration:underline}
.stack a:focus-visible,.toc a:focus-visible,.faq-item summary:focus-visible{outline:3px solid var(--c-accent);outline-offset:2px;border-radius:2px}

/* Hero */
.hero{background:linear-gradient(135deg,var(--c-surface) 0%,var(--c-bg) 62%,var(--c-bg) 100%);padding:var(--space-8) 0 var(--space-7);border-bottom:1px solid var(--c-border)}
.hero .container{max-width:960px}
.hero h1{font-size:clamp(2rem,1.1rem + 3.4vw,3.5rem);font-weight:800;line-height:1.15;max-width:22ch;margin:0 0 var(--space-4);color:var(--c-text)}
.hero-lead{font-size:clamp(1.0625rem,1rem + .4vw,1.25rem);line-height:1.6;max-width:60ch;margin:0 0 var(--space-6);color:var(--c-text)}
.hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin:0 0 var(--space-6)}
.trust-row{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3);grid-template-columns:1fr}
@media (min-width:640px){.trust-row{grid-template-columns:repeat(3,minmax(0,1fr))}}
.trust-row li{margin:0;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);box-shadow:var(--shadow-card);transition:transform var(--dur,200ms) var(--ease)}
.trust-row li:hover{transform:translateY(-2px)}
.trust-label{display:block;font-size:.875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--c-link)}
.trust-value{display:block;margin-top:var(--space-1);font-size:1.0625rem;font-weight:700;line-height:1.4;color:var(--c-text)}

/* Buttons */
.btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:10px 24px;border-radius:var(--radius);font-weight:700;border:1px solid var(--c-button);transition:transform .2s var(--ease),background-color .2s var(--ease),border-color .2s var(--ease);-webkit-tap-highlight-color:transparent}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn:focus-visible{outline:3px solid var(--c-accent);outline-offset:3px}
.btn-secondary{border:1px solid var(--c-link)}
.btn-secondary:hover{border-color:var(--c-button);background:var(--c-bg)}
.btn-secondary:active{background:var(--c-bg)}
.cta-row{display:flex;flex-wrap:wrap;gap:var(--space-3);margin:var(--space-6) 0 0}

/* Table of contents */
.toc{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-card);max-width:880px;margin:0 auto}
.toc-title{margin:0 0 var(--space-3);font-size:1.0625rem;color:var(--c-text)}
.toc ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-1);grid-template-columns:1fr}
@media (min-width:640px){.toc ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-1) var(--space-4)}}
.toc a{display:flex;align-items:center;min-height:44px;padding:var(--space-2) var(--space-3);border-radius:var(--radius);border:1px solid transparent;color:var(--c-link);text-decoration:none;font-weight:600;transition:border-color .2s var(--ease),background-color .2s var(--ease)}
.toc a:hover{border-color:var(--c-border);background:var(--c-bg);text-decoration:underline}
.toc a:active{background:var(--c-bg)}

/* Tables */
.table-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);margin:var(--space-5) 0;box-shadow:var(--shadow-card)}
.table-wrap:focus-visible{outline:3px solid var(--c-accent);outline-offset:2px}
.table-wrap table{width:100%;min-width:520px;border-collapse:collapse;font-size:.9375rem;line-height:1.5}
.table-wrap th,.table-wrap td{text-align:left;vertical-align:top;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--c-border);color:var(--c-text)}
.table-wrap thead th{background:var(--c-bg);font-weight:700}
.table-wrap tbody th{font-weight:700;width:34%}
.table-wrap tbody tr:last-child th,.table-wrap tbody tr:last-child td{border-bottom:0}
.table-wrap tbody tr:hover{background:var(--c-bg)}
.kv-table{max-width:880px;margin-left:auto;margin-right:auto}

/* Callout */
.callout{background:var(--c-bg);border:1px solid var(--c-border);border-left:4px solid var(--c-accent);border-radius:var(--radius);padding:var(--space-4) var(--space-5);margin:var(--space-5) 0}
.callout p:last-child{margin-bottom:0}

/* Cards */
.card-grid{display:grid;gap:var(--space-4);grid-template-columns:1fr;margin:var(--space-5) 0}
@media (min-width:768px){.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.card{margin:0;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-card);transition:transform .2s var(--ease),border-color .2s var(--ease)}
.card:hover{transform:translateY(-2px);border-color:var(--c-link)}
.card p{margin:0 0 var(--space-2);font-size:1rem;line-height:1.6;color:var(--c-text)}
.card p:last-child{margin-bottom:0}

/* FAQ accordion */
.faq{margin:var(--space-5) 0 0}
.faq-item{background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-lg);margin:0 0 var(--space-3);box-shadow:var(--shadow-card);transition:border-color .2s var(--ease)}
.faq-item:hover{border-color:var(--c-link)}
.faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:44px;padding:var(--space-3) var(--space-4)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary h3{margin:0;font-size:clamp(1.0625rem,1rem + .3vw,1.2rem);font-weight:700;line-height:1.3;color:var(--c-text)}
.faq-item summary::after{content:"+";flex:0 0 auto;font-size:1.5rem;font-weight:700;line-height:1;color:var(--c-link)}
.faq-item[open] summary::after{content:"\2212"}
.faq-item > p{margin:0;padding:0 var(--space-4) var(--space-4);font-size:1rem;line-height:1.6;color:var(--c-text)}

/* Sources */
.sources p{font-size:.9375rem}
.sources code{font-size:.875rem;background:var(--c-bg);border:1px solid var(--c-border);border-radius:4px;padding:0 4px}

/* Hero text link and promo banner */
.hero-text-link{display:inline-flex;align-items:center;min-height:44px;padding:var(--space-2) var(--space-3);font-weight:600;color:var(--c-link);text-decoration:underline;transition:color .2s var(--ease)}
.hero-text-link:hover,.hero-text-link:focus{color:var(--c-text);text-decoration:none}
.hero-text-link:focus-visible{outline:3px solid var(--c-accent);outline-offset:2px;border-radius:2px}
.promo-banner{margin:var(--space-6) 0}
.promo-banner a{display:block;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--c-border);box-shadow:var(--shadow-card);transition:border-color .2s var(--ease)}
.promo-banner a:hover,.promo-banner a:focus{border-color:var(--c-link)}
.promo-banner a:focus-visible{outline:3px solid var(--c-accent);outline-offset:3px}
.promo-banner img{width:100%;height:auto}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;scroll-behavior:auto!important}
  .btn:hover,.btn:active,.card:hover,.trust-row li:hover{transform:none}
}

/* Tap targets, hero tiles, trust icons, sticky promo bar */
.menu-toggle{min-height:44px}
.brand-link{display:flex;align-items:center;min-height:44px}
.footer-nav a{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px}
.hero-tiles{display:grid;gap:var(--space-4);grid-template-columns:1fr;margin:0 0 var(--space-6)}
@media (min-width:768px){.hero-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
.hero-tile{margin:0;display:flex;flex-direction:column;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);transition:transform .2s var(--ease),border-color .2s var(--ease)}
.hero-tile:hover{transform:translateY(-2px);border-color:var(--c-link)}
.hero-tile img{width:100%;height:auto;aspect-ratio:1024/368;object-fit:cover;border-bottom:1px solid var(--c-border)}
.hero-tile-body{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);flex:1 1 auto}
.hero-tile-title{margin:0;font-size:1.0625rem;font-weight:700;line-height:1.3;color:var(--c-text)}
.hero-tile-body .btn{margin-top:auto}
.trust-row li{position:relative;padding-right:var(--space-7)}
.trust-icon{position:absolute;top:var(--space-4);right:var(--space-4);display:inline-flex;color:var(--c-accent)}
.trust-icon svg{width:24px;height:24px;display:block}
.page-main.has-sticky-bar{padding-bottom:calc(var(--space-8) + 160px)}
.sticky-promo{position:fixed;left:0;right:0;bottom:0;z-index:90;background:var(--c-surface);border-top:1px solid var(--c-border);box-shadow:0 -4px 16px rgba(9,9,9,.45);padding:var(--space-3) 0}
.sticky-promo-inner{display:grid;grid-template-columns:1fr;gap:var(--space-3);align-items:center;max-width:1200px;margin:0 auto;padding:0 var(--space-4)}
@media (min-width:768px){.sticky-promo-inner{grid-template-columns:auto minmax(0,1fr) auto}}
.sticky-promo-icon{display:inline-flex;color:var(--c-accent)}
.sticky-promo-icon svg{width:24px;height:24px;display:block}
.sticky-promo-text{margin:0;font-weight:600;line-height:1.4;color:var(--c-text)}
.btn-pill{border-radius:999px;padding-left:28px;padding-right:28px}
.sticky-promo .btn{width:100%}
@media (min-width:768px){.sticky-promo .btn{width:auto}}
.sticky-promo .btn:hover{transform:translateY(-2px)}
@media (prefers-reduced-motion:reduce){.hero-tile:hover,.sticky-promo .btn:hover{transform:none}}

/* Payments page additions */
[id]{scroll-margin-top:96px}
.breadcrumb{background:var(--c-bg);padding:var(--space-4) 0 0;font-size:.875rem}
.breadcrumb ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}
.breadcrumb li+li::before{content:"/";margin-right:var(--space-2);color:var(--c-accent)}
.breadcrumb a{display:inline-flex;align-items:center;min-height:44px;color:var(--c-link);font-weight:600;text-decoration:underline;transition:color .2s var(--ease)}
.breadcrumb a:hover,.breadcrumb a:focus{color:var(--c-text);text-decoration:none}
.breadcrumb a:focus-visible{outline:3px solid var(--c-accent);outline-offset:2px;border-radius:2px}
.breadcrumb [aria-current]{color:var(--c-text);font-weight:600}
.hero-figure{margin:0}
.hero-figure img{width:100%;height:auto;aspect-ratio:1024/368;object-fit:cover;border-radius:var(--radius-lg);border:1px solid var(--c-border);box-shadow:var(--shadow-card)}
.promo-inline{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4);background:var(--c-bg);border:1px solid var(--c-border);border-left:4px solid var(--c-accent);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);box-shadow:var(--shadow-card);margin:0}
.promo-inline-title{margin:0;font-size:clamp(1.0625rem,1rem + .4vw,1.25rem);font-weight:700;line-height:1.3;color:var(--c-text)}
.promo-inline .btn:hover{transform:translateY(-2px)}
.stack ol.steps{list-style:none;padding-left:0;counter-reset:step;margin:var(--space-5) 0}
.steps li{position:relative;counter-increment:step;padding-left:var(--space-7);margin:0 0 var(--space-4);min-height:32px}
.steps li::before{content:counter(step);position:absolute;left:0;top:0;width:32px;height:32px;border-radius:50%;background:var(--c-button);color:var(--c-button-text);font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}
.stack ul li::marker{color:var(--c-accent)}
.stack .table-wrap tbody th{color:var(--c-text)}
.table-wrap:hover{border-color:var(--c-link)}
.table-wrap{transition:border-color .2s var(--ease)}
.faq-item summary:hover h3{color:var(--c-link)}
@media (min-width:768px){.promo-inline{flex-wrap:nowrap}}

/* Review fixes: body link tap targets, centred image CTA, FAQ heading span */
.stack p a,.steps li a,div.stack > ul li a{display:inline-block;min-height:44px;padding:10px 0;line-height:24px}
.centre-cta{display:flex;justify-content:center;margin:var(--space-5) 0}
.faq-item summary .faq-heading{display:block;margin:0;font-size:clamp(1.0625rem,1rem + .3vw,1.2rem);font-weight:700;line-height:1.3;color:var(--c-text)}
.faq-item summary:hover .faq-heading{color:var(--c-link)}

/* Tap target safety for body links */
main a:not(.btn){min-height:44px}

/* Contents panel check icons */
.toc-icon{flex:0 0 auto;display:block;width:20px;height:20px;margin-right:var(--space-2);color:var(--c-accent)}
/* Phone tap targets: breadcrumb links */
.breadcrumb a{min-width:44px;justify-content:center;padding:0 var(--space-2)}
.breadcrumb ol{gap:var(--space-3)}
/* Checklists and hero image */
.stack ul.check-list{list-style:none;padding-left:0}
.check-list li{display:flex;align-items:flex-start;gap:var(--space-2)}
.check-list .toc-icon{margin-right:0;margin-top:2px}
.hero-figure img{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:1024/368}
/* Offer bar and hero illustration section */
.offer-section{padding:var(--space-5) 0;background:var(--c-surface)}
.figure-section{padding:var(--space-7) 0;background:var(--c-bg)}
.figure-section .container{max-width:960px}
.promo-inline-title{display:flex;align-items:center;gap:var(--space-2)}
.card:focus-visible,.card:focus-within{outline:3px solid var(--c-accent);outline-offset:2px}
/* Page body additions: author heading, two-column text and aside, FAQ spacing, sources list */
h2#author-reviewer{font-size:clamp(1.6rem,1.2rem + 1.6vw,2.25rem);font-weight:800;line-height:1.15;margin:0 auto var(--space-5);max-width:880px}
.two-col{display:grid;gap:var(--space-6);grid-template-columns:minmax(0,1fr);max-width:880px;margin:0 auto}
.two-col p{font-size:clamp(1rem,.96rem + .25vw,1.125rem);line-height:1.6;max-width:72ch}
@media (min-width:900px){.two-col{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start}}
.aside-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-card)}
.aside-card p{margin:0;font-size:1rem;line-height:1.6;color:var(--c-text)}
.stack.faq{margin:var(--space-5) auto 0}
.sources ul{padding-left:var(--space-5);margin:0 0 var(--space-4)}
.sources li{font-size:.9375rem;margin-bottom:var(--space-2)}
.hero-actions .btn{min-width:44px}
/* Sticky bar dismiss control */
.sticky-promo-close{position:absolute;top:-44px;right:var(--space-4);min-width:44px;min-height:44px;padding:0 var(--space-3);background:var(--c-surface);color:var(--c-text);border:1px solid var(--c-border);border-bottom:0;border-radius:var(--radius) var(--radius) 0 0;font-size:1.25rem;line-height:1;cursor:pointer;transition:background-color .2s var(--ease),border-color .2s var(--ease)}
.sticky-promo-close:hover{background:var(--c-bg);border-color:var(--c-link)}
.sticky-promo-close:active{background:var(--c-bg)}
.sticky-promo-close:focus-visible{outline:3px solid var(--c-accent);outline-offset:2px}
/* App page: spacing between hero and product figure */
.hero .hero-figure{margin-top:var(--space-6)}
/* Hero first-screen footprint */
.hero{min-height:80vh;min-height:80svh;display:flex;flex-direction:column;justify-content:center;padding:var(--space-8) 0 var(--space-7)}
@media (min-width:768px){.hero{min-height:85vh;min-height:85svh}}
@media (min-width:1024px){.hero{min-height:90vh;min-height:90svh}}
.stack .promo-inline{margin:var(--space-5) 0 0}
/* Hero first-screen height at phone, tablet and desktop widths */
.hero{min-height:clamp(560px,88vh,960px);min-height:clamp(560px,88svh,960px)}
/* Bonus page additions: three-up card grid, figures strip, promo banner crop, captions */
.stack ul.card-grid{list-style:none;padding:0;margin:var(--space-5) 0}
.card-grid li{margin:0}
@media (min-width:960px){.card-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}}
.stack ul.figures{list-style:none;padding:0;margin:var(--space-6) 0 0;display:grid;gap:var(--space-4);grid-template-columns:1fr}
@media (min-width:768px){.stack ul.figures{grid-template-columns:repeat(3,minmax(0,1fr))}}
.figure-tile{margin:0;background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-card);transition:border-color .2s var(--ease)}
.figure-tile:hover{border-color:var(--c-link)}
.figure-value{display:block;font-size:clamp(2.25rem,1.6rem + 2.4vw,3.5rem);font-weight:800;line-height:1.1;color:var(--c-link)}
.figure-label{display:block;margin-top:var(--space-2);font-size:1rem;line-height:1.5;color:var(--c-text)}
.promo-banner img{aspect-ratio:1536/241;object-fit:cover;border-radius:var(--radius-lg);border:1px solid var(--c-border);box-shadow:var(--shadow-card)}
.image-caption{font-size:.9375rem;line-height:1.5;color:var(--c-text);margin:var(--space-4) 0}
.faq-item summary:focus-visible{outline:3px solid var(--c-accent);outline-offset:2px;border-radius:2px}
/* Single-column modifiers: stacked card list and stacked text/aside */
.card-grid.card-grid--stack{grid-template-columns:minmax(0,1fr)}
.two-col.two-col--single{grid-template-columns:minmax(0,1fr)}