*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#111213;color:#ffffff;font-family:Poppins, sans-serif;font-size:16px;line-height:1.6}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4,h5,h6{color:#ffffff;line-height:1.25;margin:0 0 .5em;font-family:Poppins, sans-serif}
p{margin:0 0 1em}
a{color:#5aef9f;text-decoration:underline;text-underline-offset:.2em}
a:hover{color:#5dffc9}
a:focus-visible{outline:2px solid #22d6e4;outline-offset:2px}
.container{width:100%;max-width:1200px;margin:0 auto;padding:0 16px}
@media (min-width:768px){.container{padding:0 24px}}
.btn{display:inline-block;padding:10px 20px;border-radius:8px;border:2px solid transparent;font-family:Poppins, sans-serif;font-weight:600;font-size:15px;line-height:1.2;text-decoration:none;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
.btn--primary{background:#51fe9e;color:#1f2028;border-color:#51fe9e}
.btn--primary:hover,.btn--primary:focus-visible{background:#9affd5;border-color:#9affd5;color:#1f2028;text-decoration:none}
.btn--secondary{background:#00000000;color:#ffffff;border-color:#343641}
.btn--secondary:hover,.btn--secondary:focus-visible{background:#00000000;color:#ffffff;border-color:#22d6e4;text-decoration:none}
.site-header{background:#1a1b21;border-bottom:1px solid #343641;position:sticky;top:0;z-index:100}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;min-height:72px}
.site-logo{display:inline-flex;align-items:center}
.site-logo img{height:40px;width:auto}
.nav-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:10px;background:#00000000;border:1px solid #343641;border-radius:8px;cursor:pointer}
.nav-toggle__bar{display:block;height:2px;width:100%;background:#ffffff;border-radius:2px;transition:transform .2s,opacity .2s}
.nav-open .nav-toggle__bar:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-open .nav-toggle__bar:nth-child(2){opacity:0}
.nav-open .nav-toggle__bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.site-nav{display:none;width:100%;padding:16px 0 8px}
.nav-open .site-nav{display:block}
.site-nav__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.site-nav__link{color:#ffffff;text-decoration:none;font-weight:500;padding:6px 0;display:inline-block}
.site-nav__link:hover,.site-nav__link:focus-visible{color:#5dffc9}
.site-nav .btn{width:100%;text-align:center}
.site-footer{background:#1a1b21;border-top:1px solid #343641;padding:24px 0;margin-top:48px}
.site-footer__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:center}
@media (min-width:768px){.site-footer__list{justify-content:flex-start}}
@media (min-width:768px){.site-header__inner{min-height:80px}}
@media (min-width:1024px){.nav-toggle{display:none}.site-header__inner{flex-wrap:nowrap}.site-nav{display:block;width:auto;padding:0}.site-nav__list{flex-direction:row;align-items:center;gap:20px}.site-nav .btn{width:auto}}
.not-found{padding:64px 0;text-align:center}
.not-found .btn{margin-top:16px}

/* ---- Tip Top review page (appended; palette roles mirror the brand) ---- */
:root{
--tt-bg:#111213;--tt-surface:#1a1b21;--tt-button:#51fe9e;--tt-button-hover:#9affd5;--tt-button-text:#1f2028;
--tt-text:#ffffff;--tt-link:#5aef9f;--tt-link-hover:#5dffc9;--tt-border:#343641;--tt-accent:#22d6e4;
--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;--sp-9:96px;
--r-sm:8px;--r-md:12px;--r-lg:16px;
--shadow:0 8px 24px rgba(17,18,19,.6);
--ease:200ms ease;
}
.page{padding-bottom:var(--sp-9)}
.page h1,.page h2,.page h3{line-height:1.15;letter-spacing:-.01em;color:var(--tt-text)}
.page h1{font-size:clamp(2rem,1.2rem + 3vw,3.25rem);font-weight:700;margin:0 0 var(--sp-5);max-width:20ch}
.page h2{font-size:clamp(1.5rem,1.1rem + 1.6vw,2.25rem);font-weight:700;margin:0 0 var(--sp-5)}
.page h3{font-size:clamp(1.125rem,1rem + .6vw,1.375rem);font-weight:600;margin:var(--sp-6) 0 var(--sp-3)}
.page p{font-size:clamp(1rem,.96rem + .2vw,1.125rem);line-height:1.6;max-width:68ch;margin:0 0 var(--sp-4)}
.page .prose>*:last-child{margin-bottom:0}
.page h2[id]{scroll-margin-top:96px}
.page section{padding:var(--sp-9) 0;border-bottom:1px solid var(--tt-border)}
.page section.section--alt{background:var(--tt-surface)}
.page section.hero{padding:var(--sp-9) 0 var(--sp-8);background:linear-gradient(160deg,var(--tt-surface) 0%,var(--tt-bg) 70%)}
.page .lead{font-size:clamp(1.0625rem,1rem + .4vw,1.25rem);color:var(--tt-text);font-weight:400}
.page .hero__actions{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin:var(--sp-6) 0}
.page .btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;text-align:center;transition:background-color var(--ease),color var(--ease),border-color var(--ease),transform var(--ease)}
.page .btn:active{transform:translateY(1px)}
.page .btn:focus-visible{outline:2px solid var(--tt-accent);outline-offset:3px}
.page .btn--primary:hover{background:var(--tt-button-hover);border-color:var(--tt-button-hover);color:var(--tt-button-text)}
.page .btn--secondary:hover{border-color:var(--tt-accent);color:var(--tt-text)}
.page .badges{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--sp-3)}
.page .badge{display:inline-flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);border:1px solid var(--tt-border);border-radius:999px;background:var(--tt-bg);font-size:.9375rem;line-height:1.4}
.page .badge::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--tt-button);flex:none}
.page a{color:var(--tt-link)}
.page a:hover{color:var(--tt-link-hover)}
.page .checklist-box{margin-top:var(--sp-6);border:1px solid var(--tt-border);border-radius:var(--r-lg);padding:var(--sp-5);background:var(--tt-surface);box-shadow:var(--shadow)}
.page .checklist-box__label{font-weight:600;color:var(--tt-accent);margin:0 0 var(--sp-3)}
.page .checklist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:var(--sp-1)}
.page .checklist a{display:flex;align-items:center;gap:var(--sp-3);min-height:44px;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);color:var(--tt-text);text-decoration:none;transition:background-color var(--ease),color var(--ease)}
.page .checklist a::before{content:"";width:18px;height:18px;flex:none;border:2px solid var(--tt-button);border-radius:4px}
.page .checklist a:hover,.page .checklist a:focus-visible{background:var(--tt-bg);color:var(--tt-link-hover)}
.page .split{display:grid;gap:var(--sp-7);align-items:center}
@media (min-width:900px){.page .split{grid-template-columns:1.1fr .9fr}}
.page .banner{margin:0;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--tt-border);box-shadow:var(--shadow)}
.page .banner img{width:100%;aspect-ratio:16/9;object-fit:cover}
.page .inline-figure{margin:var(--sp-6) 0;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--tt-border)}
.page .facts{display:grid;grid-template-columns:1fr;gap:var(--sp-4);margin:0}
@media (min-width:640px){.page .facts{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.page .facts{grid-template-columns:repeat(4,1fr)}}
.page .fact{margin:0;padding:var(--sp-5);border:1px solid var(--tt-border);border-radius:var(--r-md);background:var(--tt-surface);box-shadow:var(--shadow);transition:transform var(--ease),border-color var(--ease)}
.page .fact:hover,.page .fact:focus-within{transform:translateY(-2px);border-color:var(--tt-accent)}
.page .fact dt{font-size:.9375rem;font-weight:500;color:var(--tt-text);margin:0}
.page .fact dd{margin:var(--sp-2) 0 0;font-size:clamp(1.25rem,1rem + 1vw,1.75rem);font-weight:700;line-height:1.2;color:var(--tt-button)}
.page .cta-center{display:flex;justify-content:center;margin-top:var(--sp-7)}
.page .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--tt-border);border-radius:var(--r-md);margin:var(--sp-5) 0 var(--sp-6);background:var(--tt-bg);box-shadow:var(--shadow)}
.page .table-wrap:focus-visible{outline:2px solid var(--tt-accent);outline-offset:2px}
.page table{width:100%;min-width:560px;border-collapse:collapse;font-size:.9375rem;line-height:1.5}
.page th,.page td{padding:var(--sp-3) var(--sp-4);text-align:left;vertical-align:top;border-bottom:1px solid var(--tt-border);color:var(--tt-text)}
.page thead th{background:var(--tt-surface);font-weight:600}
.page tbody th{font-weight:500}
.page tbody tr:last-child th,.page tbody tr:last-child td{border-bottom:0}
.page tbody tr:hover{background:var(--tt-surface)}
.page .callout{border-left:4px solid var(--tt-accent);background:var(--tt-surface);padding:var(--sp-5);border-radius:0 var(--r-md) var(--r-md) 0;margin:var(--sp-6) 0}
.page .steps{list-style:none;counter-reset:step;margin:var(--sp-5) 0 var(--sp-6);padding:0;display:grid;gap:var(--sp-4)}
.page .steps li{counter-increment:step;position:relative;padding:var(--sp-4) var(--sp-5) var(--sp-4) var(--sp-8);background:var(--tt-surface);border:1px solid var(--tt-border);border-radius:var(--r-md);box-shadow:var(--shadow);transition:border-color var(--ease)}
.page .steps li:hover{border-color:var(--tt-accent)}
.page .steps li::before{content:counter(step);position:absolute;left:var(--sp-4);top:var(--sp-4);width:32px;height:32px;border-radius:50%;background:var(--tt-button);color:var(--tt-button-text);font-weight:700;font-size:.9375rem;display:grid;place-items:center}
.page .bullets{list-style:none;margin:var(--sp-4) 0 var(--sp-6);padding:0;display:grid;gap:var(--sp-3)}
.page .bullets li{position:relative;padding-left:var(--sp-6);max-width:68ch}
.page .bullets li::before{content:"";position:absolute;left:0;top:.55em;width:10px;height:10px;border-radius:50%;background:var(--tt-accent)}
.page .cards{list-style:none;margin:var(--sp-5) 0 var(--sp-6);padding:0;display:grid;grid-template-columns:1fr;gap:var(--sp-4)}
@media (min-width:640px){.page .cards{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.page .cards{grid-template-columns:repeat(3,1fr)}}
.page .card{padding:var(--sp-5);background:var(--tt-surface);border:1px solid var(--tt-border);border-radius:var(--r-md);box-shadow:var(--shadow);transition:transform var(--ease),border-color var(--ease);max-width:none}
.page .card:hover,.page .card:focus-within{transform:translateY(-2px);border-color:var(--tt-accent)}
.page .card strong{color:var(--tt-button)}
.page .faq{display:grid;gap:var(--sp-3);margin-top:var(--sp-5)}
.page .faq details{background:var(--tt-bg);border:1px solid var(--tt-border);border-radius:var(--r-md);overflow:hidden;transition:border-color var(--ease)}
.page .faq details[open]{border-color:var(--tt-accent)}
.page .faq summary{list-style:none;cursor:pointer;min-height:44px;padding:var(--sp-4) var(--sp-5);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);transition:background-color var(--ease)}
.page .faq summary::-webkit-details-marker{display:none}
.page .faq summary::after{content:"+";flex:none;font-size:1.5rem;line-height:1;color:var(--tt-button);transition:transform var(--ease)}
.page .faq details[open] summary::after{transform:rotate(45deg)}
.page .faq summary:hover{background:var(--tt-surface)}
.page .faq summary:focus-visible{outline:2px solid var(--tt-accent);outline-offset:-2px}
.page .faq .faq__q{font-size:clamp(1rem,.95rem + .3vw,1.125rem);font-weight:600;margin:0;line-height:1.3}
.page .faq details p{padding:0 var(--sp-5) var(--sp-5);margin:0;max-width:none}
.promo-bar{position:fixed;left:0;right:0;bottom:0;z-index:90;background:var(--tt-surface);border-top:1px solid var(--tt-border);padding:var(--sp-3) 0;box-shadow:var(--shadow)}
.promo-bar .container{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3) var(--sp-4);flex-wrap:wrap}
.promo-bar__text{margin:0;display:flex;align-items:center;gap:var(--sp-3);font-weight:500;color:var(--tt-text);font-size:.9375rem;max-width:none}
.promo-bar__text::before{content:"";width:12px;height:12px;border-radius:50%;background:var(--tt-accent);flex:none}
@media (max-width:480px){.promo-bar .btn{width:100%}.promo-bar .container{flex-direction:column;align-items:stretch}}
@media (prefers-reduced-motion:reduce){.page *,.page *::before,.page *::after,.promo-bar *{transition:none!important;transform:none!important}}

/* ---- Review page fixes: CTA contrast, promo tiles, key-facts table ---- */
.page .btn--primary,.page .btn--primary:visited,.page .btn--primary:hover,.page .btn--primary:focus-visible,.page .btn--primary:active{color:var(--tt-button-text)}
.page .btn--secondary,.page .btn--secondary:visited,.page .btn--secondary:hover,.page .btn--secondary:focus-visible{color:var(--tt-text)}
.page .kv-wrap{max-width:720px;margin:var(--sp-5) auto var(--sp-6)}
.page table.kv{min-width:0}
.page table.kv th{width:55%;background:var(--tt-surface);font-weight:500}
.page table.kv td{font-weight:700;color:var(--tt-button)}

/* ---- Revision: key-facts intro, 44px tap targets ---- */
.page .kv-intro{max-width:720px;margin:0 auto var(--sp-5)}
.page .kv-intro h2{margin-bottom:var(--sp-3)}
.site-logo,.site-nav__link,.site-footer__list a{min-height:44px;min-width:44px;display:inline-flex;align-items:center}
.page .btn{min-width:44px}

/* ---- Payments page: breadcrumb, inline promo, secondary hero action ---- */
.page .breadcrumb{padding:var(--sp-4) 0 0;font-size:.9375rem}
.page .breadcrumb ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:0 var(--sp-2)}
.page .breadcrumb li{display:inline-flex;align-items:center;gap:var(--sp-2)}
.page .breadcrumb li+li::before{content:"/";color:var(--tt-text);opacity:.6}
.page .breadcrumb a,.page .breadcrumb span{display:inline-flex;align-items:center;min-height:44px}
.page .toc-wrap{padding-top:var(--sp-6)}
.page .promo-inline{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-4);margin:var(--sp-7) 0 0;padding:var(--sp-5);border:1px solid var(--tt-border);border-radius:var(--r-lg);background:var(--tt-surface);box-shadow:var(--shadow)}
.page .promo-inline__media{display:flex;align-items:center;gap:var(--sp-3)}
.page .promo-inline__media img{width:40px;height:40px;flex:none}
.page .promo-inline__title{margin:0;font-weight:700;font-size:1.0625rem;color:var(--tt-text);max-width:none}
.page .hero__secondary{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--sp-3);font-weight:600;color:var(--tt-link);text-decoration:underline;text-underline-offset:.2em;transition:color var(--ease)}
.page .hero__secondary:hover,.page .hero__secondary:focus-visible{color:var(--tt-link-hover)}
.page .hero__secondary:focus-visible{outline:2px solid var(--tt-accent);outline-offset:3px}

/* ---- Revision: hero opening block and kicker ---- */
.page section.hero{min-height:clamp(520px,80vh,800px);display:flex;align-items:center;padding:var(--sp-9) 0}
.page .hero__kicker{margin:0 0 var(--sp-3);font-size:.875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--tt-accent);max-width:none}

/* ---- Contact page: section, card, figure and aside variants ---- */
.page section.toc-section{padding:var(--sp-7) 0}
.page .callout p:last-child{margin-bottom:0}
.page .card h3{margin:0 0 var(--sp-3);font-size:clamp(1.0625rem,1rem + .5vw,1.25rem)}
.page .cards--2{grid-template-columns:1fr}
@media (min-width:768px){.page .cards--2{grid-template-columns:repeat(2,1fr)}}
.page .facts--2{grid-template-columns:1fr}
@media (min-width:640px){.page .facts--2{grid-template-columns:repeat(2,1fr)}}
.page .aside-card{padding:var(--sp-5);border:1px solid var(--tt-border);border-radius:var(--r-md);background:var(--tt-surface);box-shadow:var(--shadow)}
.page .aside-card p:last-child{margin-bottom:0}
.page section.hero .banner{max-width:560px}
.page section.hero .banner img{aspect-ratio:21/9}

/* ---- Revision: promo banner, breadcrumb tap targets ---- */
.page .promo-stack{padding-top:var(--sp-7);padding-bottom:var(--sp-7);background:var(--tt-surface);border-top:1px solid var(--tt-border);border-bottom:1px solid var(--tt-border)}
.page .promo-banner{margin:0}
.page .promo-banner a{display:block;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--tt-border);box-shadow:var(--shadow);transition:border-color var(--ease),transform var(--ease)}
.page .promo-banner a:hover,.page .promo-banner a:focus-visible{border-color:var(--tt-accent);transform:translateY(-2px)}
.page .promo-banner img{width:100%;aspect-ratio:21/9;object-fit:cover}
.page .breadcrumb a{min-width:44px;justify-content:center;padding:0 var(--sp-2)}

/* ---- Revision: check-icon checklists, decorative full-width band ---- */
.page .checklist--check{display:grid;grid-template-columns:1fr;gap:var(--sp-2);list-style:none;margin:var(--sp-4) 0 var(--sp-6);padding:0}
.page .checklist--check li{position:relative;display:flex;align-items:center;gap:var(--sp-3);min-height:44px;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);max-width:68ch;color:var(--tt-text);transition:background-color var(--ease)}
.page .checklist--check li::before{content:"\2713";flex:none;width:24px;height:24px;border-radius:50%;background:var(--tt-button);color:var(--tt-button-text);font-weight:700;font-size:.875rem;line-height:24px;text-align:center}
.page .checklist--check li:hover{background:var(--tt-surface)}

/* ---- Revision: single icon per contents item ---- */
.page .checklist--check a::before{display:none}

/* ---- Revision: hero opening height per breakpoint ---- */
@media (max-width:767px){.page section.hero{min-height:600px}}
@media (min-width:768px){.page section.hero{min-height:clamp(600px,85vh,820px)}}

/* ---- Revision: two-column key facts, phone hero spacing ---- */
.page table.kv thead th{width:50%}
.page table.kv tbody tr:nth-child(odd) th,.page table.kv tbody tr:nth-child(odd) td{background:var(--tt-bg)}
.page table.kv tbody tr:nth-child(even) th,.page table.kv tbody tr:nth-child(even) td{background:var(--tt-surface)}
.page .kv__src{display:block;margin-top:var(--sp-1);font-size:.875rem;font-weight:400;color:var(--tt-text)}
@media (max-width:767px){.page section.hero{padding-top:var(--sp-6)}}

/* ---- Registration page: intro, media band, guide blocks ---- */
.page section.intro{padding:var(--sp-7) 0 var(--sp-8);border-bottom:0;background:linear-gradient(160deg,var(--tt-surface) 0%,var(--tt-bg) 70%)}
.page section.media-section{padding:var(--sp-7) 0;border-bottom:1px solid var(--tt-border)}
.page section.guide{padding:0;border-bottom:0}
.page .guide-block{padding:var(--sp-8) 0;border-bottom:1px solid var(--tt-border)}
.page .guide-block--alt{background:var(--tt-surface)}
.page section.faq-section{border-bottom:0}
.page .inline-figure img{width:100%;height:auto}

/* ---- Revision: full-width promo band (icon, text and button in one row) ---- */
.page .promo-stack .promo-inline{margin:0;padding:var(--sp-5) 0;border:0;border-radius:0;background:transparent;box-shadow:none}

/* ---- Revision: 44px link targets, promo icon and title row ---- */
.page .btn,.page .checklist a,.page .faq summary,.page .breadcrumb a,.page .hero__secondary{min-height:44px;min-width:44px}
.promo-bar .btn{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}
.page .promo-inline>p{flex:1 1 320px;margin:0;max-width:60ch}
.page .promo-inline__icon{display:block;width:40px;height:40px;border-radius:50%;background:var(--tt-button);flex:none}

/* ---- Revision: visually hidden heading utility ---- */
.page .visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---- Bonus page: table captions ---- */
.page table caption{caption-side:top;text-align:left;font-weight:600;color:var(--tt-text);padding:0 0 var(--sp-3)}

/* ---- Revision: promo bar heading styled as text ---- */
.page .promo-bar__text{font-size:.9375rem;font-weight:500;line-height:1.4;margin:0;max-width:none}