/* Supplemental — fills in arbitrary Tailwind classes bleed's compiled
   CSS didn't include for our specific markup, plus cr-* helpers.
   Loaded AFTER bleed.css so these win where needed. */

/* colors from bleed's config */
.text-\[\#B2CCD5\] { color: #B2CCD5; }
.hover\:text-bleed-blue-3:hover { color: #92c8d2; }
.bg-bleed-background-900\/60 { background-color: rgba(22,23,23,0.6); }
.text-bleed-blue-1 { color: #d8eef2; }

/* body defaults (bleed sets these globally via its reset) */
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { background: #0c0d0d; color: #fff; font-family: 'Satoshi', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; -webkit-font-smoothing: antialiased; overflow-x: hidden; margin: 0; }
a { text-decoration: none; color: inherit; }
* { box-sizing: border-box; }

/* star background */
.cr-bg { position: fixed; inset: 0; z-index: -2; pointer-events: none; background: radial-gradient(1200px 700px at 50% -5%, rgba(146,200,210,0.06), transparent 60%), #0c0d0d; }
.cr-stars { position: fixed; inset: 0; top: 0; height: 100vh; z-index: -1; pointer-events: none; background: url('/assets/bg.webp') top center / cover no-repeat; opacity: .5; -webkit-mask-image: linear-gradient(to bottom, #000, transparent 90%); mask-image: linear-gradient(to bottom, #000, transparent 90%); }

/* support button (matches bleed dashboard pill) */
.cr-support { background: linear-gradient(180deg, #2a3d40, #16292b); border: 1px solid #4b676c; }
.cr-support:hover { border-color: #92c8d2; }

/* hero cards float */
.cr-hero-card { animation: crFloat 5s ease-in-out infinite; }
.will-change-transform:nth-child(2) .cr-hero-card { animation-delay: -1.6s; }
.will-change-transform:nth-child(3) .cr-hero-card { animation-delay: -3.2s; }
@keyframes crFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }

/* guild strip */
.cr-guildmask { -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.cr-guildtrack { animation: crGuild 40s linear infinite; }
.cr-guildmask:hover .cr-guildtrack { animation-play-state: paused; }
@keyframes crGuild { to { transform: translateX(-50%); } }

/* mobile nav */
.cr-burger { background: none; border: 0; cursor: pointer; padding: 6px; display: none; }
@media (max-width: 639px) { .cr-burger { display: inline-flex; } }
.cr-mobile { display: none; position: absolute; top: 60px; right: 0; flex-direction: column; gap: 4px; padding: 10px; min-width: 190px; background: rgba(22,23,23,.96); border: 1px solid rgba(255,255,255,.08); border-radius: 16px; backdrop-filter: blur(14px); z-index: 120; }
.cr-mobile.open { display: flex; }
.cr-mobile a { padding: 10px 14px; border-radius: 10px; font-weight: 500; font-size: 15px; color: #fff; }
.cr-mobile a:hover { background: rgba(255,255,255,.05); }

/* ===== sections (bleed bento) ===== */
.cr-section { padding: 120px 0; }
.cr-wrap { max-width: 64rem; margin: 0 auto; padding: 0 1.5rem; }
@media (min-width: 768px) { .cr-wrap { padding: 0 2.5rem; } }
.cr-sec-head { text-align: center; max-width: 42rem; margin: 0 auto; }
.cr-sec-head h2 { margin-top: 25px; font-weight: 700; color: #fff; font-size: 30px; line-height: 1.3; letter-spacing: -0.01em; }
@media (min-width: 768px) { .cr-sec-head h2 { font-size: 35px; } }
.cr-sec-head h2 .a { color: #B2CCD5; }
.cr-sec-head p { margin-top: 15px; color: #a1a1aa; font-size: 16px; line-height: 1.7; }
@media (min-width: 768px) { .cr-sec-head p { font-size: 18px; } }

.cr-grid { margin-top: 100px; display: grid; grid-template-columns: 1fr; gap: 30px; max-width: 32rem; margin-inline: auto; }
@media (min-width: 768px) { .cr-grid { margin-top: 120px; grid-template-columns: 1fr 1fr; max-width: none; } }
.cr-grid.thirds { grid-template-columns: 1fr; margin-top: 60px; }
@media (min-width: 768px) { .cr-grid.thirds { grid-template-columns: repeat(3, 1fr); } }
.cr-wide { grid-column: 1 / -1; }

.cr-bento { position: relative; display: flex; flex-direction: column; border-radius: 2.5rem; overflow: hidden; background: #111212; min-height: 26rem; }
.cr-bento::before { content: ''; position: absolute; inset: -1px; z-index: -1; border-radius: 2.5rem; background-image: linear-gradient(180deg, #333434, #1f2020 15%); }
.cr-copy { text-align: left; padding: 35px 35px 0; }
.cr-copy.bottom { padding: 0 35px 35px; margin-top: auto; }
.cr-label { color: #92c8d2; font-weight: 500; letter-spacing: -0.02em; font-size: 18px; }
@media (min-width: 1024px) { .cr-label { font-size: 20px; } }
.cr-copy p { margin-top: 10px; color: #d4d4d8; line-height: 1.75; font-size: 14px; }
@media (min-width: 1024px) { .cr-copy p { font-size: 15px; } }
.cr-shot { position: relative; flex: 1; min-height: 0; overflow: hidden; display: flex; align-items: flex-end; }
.cr-shot.top { align-items: flex-start; order: -1; }
.cr-shot img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }

.cr-feat { position: relative; border-radius: 2.5rem; overflow: hidden; background: #111212; padding: 32px; min-height: 12rem; }
.cr-feat::before { content: ''; position: absolute; inset: -1px; z-index: -1; border-radius: 2.5rem; background-image: linear-gradient(180deg, hsla(0,0%,100%,.15), hsla(0,0%,100%,.05) 15%); }
.cr-feat-h { display: flex; align-items: center; gap: 12px; font-weight: 700; font-size: 19px; color: #fff; }
.cr-feat-h .ic { width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center; border: 1px solid #4b676c; background: #202c2f; color: #92c8d2; }
.cr-feat p { margin-top: 12px; color: #d4d4d8; font-size: 14.5px; line-height: 1.7; }

.cr-count { margin-top: 60px; display: flex; justify-content: center; }
.cr-count span { display: inline-flex; align-items: center; gap: 9px; padding: 12px 22px; border-radius: 9999px; font-family: 'Geist Mono', monospace; font-size: 14px; color: #fff; background: #161717; border: 1px solid rgba(255,255,255,.08); }
.cr-count .num { color: #92c8d2; font-weight: 600; }

/* testimonials */
.cr-testi-strip { overflow: hidden; margin-top: 80px; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.cr-testi-track { display: flex; gap: 24px; width: max-content; animation: crTesti 70s linear infinite; }
.cr-testi-strip:hover .cr-testi-track { animation-play-state: paused; }
@keyframes crTesti { to { transform: translateX(-50%); } }
.cr-testi { width: 30rem; flex: none; padding: 30px; border-radius: 2rem; background: #111212; position: relative; }
.cr-testi::before { content: ''; position: absolute; inset: -1px; z-index: -1; border-radius: 2rem; background-image: linear-gradient(180deg, #333434, #1f2020 15%); }
.cr-testi-top { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; }
.cr-testi-av { width: 46px; height: 46px; border-radius: 9999px; background: #202c2f; border: 1px solid rgba(255,255,255,.06); display: grid; place-items: center; font-weight: 700; color: #92c8d2; }
.cr-testi-srv { font-weight: 700; font-size: 15px; }
.cr-testi-mem { font-size: 13px; color: #71717a; }
.cr-testi p { color: #d4d4d8; font-size: 15px; line-height: 1.7; }
.cr-testi-by { margin-top: 16px; font-size: 13px; color: #71717a; }
.cr-testi-by b { color: #fff; }

/* faq */
.cr-faq { max-width: 46rem; margin: 60px auto 0; display: grid; gap: 12px; }
.cr-faq-item { position: relative; border-radius: 1.25rem; overflow: hidden; background: #111212; }
.cr-faq-item::before { content: ''; position: absolute; inset: -1px; z-index: -1; border-radius: 1.25rem; background-image: linear-gradient(180deg, #333434, #1f2020 40%); }
.cr-faq-q { width: 100%; text-align: left; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 22px 26px; background: none; border: 0; color: #fff; font-family: inherit; font-size: 16px; font-weight: 500; }
.cr-faq-ic { color: #92c8d2; font-size: 18px; transition: transform .25s; display: grid; place-items: center; }
.cr-faq-q[aria-expanded="true"] .cr-faq-ic { transform: rotate(180deg); }
.cr-faq-a { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .3s ease; }
.cr-faq-q[aria-expanded="true"] + .cr-faq-a { grid-template-rows: 1fr; }
.cr-faq-a-in { overflow: hidden; }
.cr-faq-a-in p { padding: 0 26px 22px; color: #a1a1aa; font-size: 15px; line-height: 1.7; }
.cr-faq-a-in a { color: #92c8d2; }

/* stats */
.cr-stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin-top: 60px; }
@media (max-width: 760px) { .cr-stats { grid-template-columns: 1fr; } }
.cr-stat { position: relative; text-align: center; padding: 36px 24px; border-radius: 2rem; background: #111212; }
.cr-stat::before { content: ''; position: absolute; inset: -1px; z-index: -1; border-radius: 2rem; background-image: linear-gradient(180deg, #333434, #1f2020 15%); }
.cr-stat .ic { width: 44px; height: 44px; border-radius: 12px; margin: 0 auto 16px; display: grid; place-items: center; color: #92c8d2; border: 1px solid #4b676c; background: #202c2f; }
.cr-stat b { display: block; font-family: 'Array', sans-serif; font-weight: 700; font-size: 42px; letter-spacing: -0.02em; }
.cr-stat b small { font-size: 22px; color: #71717a; }
.cr-stat p { margin-top: 8px; font-size: 14px; color: #a1a1aa; }

/* cta */
.cr-cta-wrap { padding: 40px 1.5rem 120px; }
.cr-cta { max-width: 64rem; margin: 0 auto; text-align: center; padding: 70px 32px; border-radius: 2.5rem; position: relative; overflow: hidden; background: radial-gradient(700px 320px at 50% 120%, rgba(146,200,210,.18), transparent 60%), #111212; }
.cr-cta::before { content: ''; position: absolute; inset: -1px; z-index: -1; border-radius: 2.5rem; background-image: linear-gradient(180deg, #333434, #1f2020 15%); }
.cr-cta h2 { font-weight: 700; font-size: 34px; color: #fff; max-width: 36rem; margin: 0 auto 28px; line-height: 1.3; }

/* footer */
.cr-footer { padding: 0 1.5rem 60px; }
.cr-footer-box { max-width: 64rem; margin: 0 auto; padding: 46px 40px 34px; border-radius: 2.5rem; position: relative; background: #111212; }
.cr-footer-box::before { content: ''; position: absolute; inset: -1px; z-index: -1; border-radius: 2.5rem; background-image: linear-gradient(180deg, #333434, #1f2020 15%); }
.cr-footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 36px; }
@media (max-width: 860px) { .cr-footer-grid { grid-template-columns: 1fr 1fr; gap: 28px; } }
@media (max-width: 520px) { .cr-footer-grid { grid-template-columns: 1fr; } }
.cr-fbrand { display: flex; align-items: center; gap: 10px; font-weight: 700; font-size: 20px; }
.cr-fbrand img { width: 30px; height: 30px; border-radius: 9999px; }
.cr-fdesc { margin-top: 14px; color: #71717a; font-size: 14px; line-height: 1.7; }
.cr-fsponsor { margin-top: 18px; font-size: 13px; color: #71717a; }
.cr-fsponsor a { color: #92c8d2; font-weight: 600; }
.cr-footer h4 { font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: #71717a; margin-bottom: 16px; }
.cr-footer ul { list-style: none; display: grid; gap: 11px; padding: 0; margin: 0; }
.cr-footer ul a { display: inline-flex; align-items: center; gap: 9px; font-size: 14px; color: #a1a1aa; }
.cr-footer ul a:hover { color: #fff; }
.cr-fbottom { margin-top: 34px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.07); display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.cr-fbottom a { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: #a1a1aa; }
.cr-fbottom span { font-size: 13px; color: #71717a; }
.cr-fbottom b { color: #a1a1aa; }

/* modals */
.cr-modal-bd { position: fixed; inset: 0; z-index: 200; display: none; align-items: center; justify-content: center; padding: 20px; background: rgba(0,0,0,.72); backdrop-filter: blur(6px); }
.cr-modal-bd.open { display: flex; }
.cr-modal { width: min(420px,100%); text-align: center; padding: 34px 30px; border-radius: 2rem; position: relative; background: #111212; }
.cr-modal::before { content: ''; position: absolute; inset: -1px; z-index: -1; border-radius: 2rem; background-image: linear-gradient(180deg, #333434, #1f2020 15%); }
.cr-modal img { width: 62px; height: 62px; border-radius: 9999px; margin: 0 auto 18px; }
.cr-modal h3 { font-weight: 700; font-size: 22px; }
.cr-modal p { margin-top: 10px; color: #a1a1aa; font-size: 15px; line-height: 1.6; }
.cr-modal .purchase-button { margin-top: 22px; width: 100%; justify-content: center; }
.cr-modal-close { margin-top: 12px; background: none; border: 0; color: #71717a; font-size: 14px; cursor: pointer; font-family: inherit; }

/* reveal */
.reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.8,.2,1); }
.reveal.in { opacity: 1; transform: none; }

/* purchase-button hover parity */
.purchase-button { color: #fff; transition: transform .18s; }
.purchase-button:hover { transform: translateY(-2px); }

@media (prefers-reduced-motion: reduce) {
  *, .cr-hero-card, .cr-guildtrack, .cr-testi-track { animation: none !important; }
  html { scroll-behavior: auto; }
}

/* ===== subpage styles ===== */
.page-hero { padding: 170px 1.5rem 40px; text-align: center; }
.page-hero h1 { font-weight: 700; font-size: 46px; letter-spacing: -0.02em; }
.page-hero h1 .accent, .page-hero h1 .a { color: #92c8d2; }
.page-hero p { margin-top: 14px; color: #a1a1aa; font-size: 17px; max-width: 34rem; margin-inline: auto; }
.doc { max-width: 52rem; margin: 0 auto; padding: 10px 1.5rem 100px; }
.doc-card { position: relative; padding: 44px; border-radius: 2rem; background: #111212; }
.doc-card::before { content:''; position:absolute; inset:-1px; z-index:-1; border-radius:2rem; background-image:linear-gradient(180deg,#333434,#1f2020 15%); }
.doc-card .updated { font-size: 13px; color: #71717a; margin-bottom: 26px; }
.doc-card h2 { font-size: 22px; margin: 32px 0 12px; }
.doc-card h2:first-of-type { margin-top: 0; }
.doc-card p { color: #d4d4d8; font-size: 15px; line-height: 1.75; margin-bottom: 12px; }
.doc-card ul { margin: 0 0 14px 20px; color: #d4d4d8; font-size: 15px; line-height: 1.7; }
.doc-card li { margin-bottom: 8px; }
.doc-card a { color: #92c8d2; }
/* nav for subpages (they use old .nav markup) */
.nav { position: fixed; top: 18px; left: 50%; transform: translateX(-50%); z-index: 100; display: flex; align-items: center; gap: 8px; width: min(calc(100% - 32px), 900px); padding: 9px 10px 9px 16px; background: rgba(22,23,23,0.72); border: 1px solid rgba(255,255,255,0.06); border-radius: 999px; backdrop-filter: blur(18px); }
.nav-brand img { width: 32px; height: 32px; border-radius: 50%; }
.nav-links { display: flex; align-items: center; gap: 4px; margin: 0 auto; }
.nav-links a { display: inline-flex; align-items: center; gap: 7px; padding: 8px 14px; border-radius: 999px; font-size: 14px; font-weight: 500; color: #a1a1aa; }
.nav-links a:hover { color: #fff; background: rgba(146,200,210,0.08); }
.nav-links a .i { color: #92c8d2; font-size: 15px; }
.nav-support { display: inline-flex; align-items: center; gap: 8px; padding: 9px 18px; border-radius: 999px; font-size: 14px; font-weight: 600; color: #fff; background: linear-gradient(180deg,#2a3d40,#16292b); border: 1px solid #4b676c; }
.nav-support .i { font-size: 15px; }
.nav-burger { display: none; background: none; border: 0; color: #fff; cursor: pointer; padding: 8px; }
/* commands */
.cmd-toolbar { max-width: 56rem; margin: 0 auto 30px; display: flex; justify-content: center; }
.cmd-search { flex: 1; max-width: 30rem; position: relative; }
.cmd-search input { width: 100%; padding: 14px 16px 14px 44px; border-radius: 14px; background: #111212; border: 1px solid #4b676c; color: #fff; font-family: inherit; font-size: 15px; }
.cmd-search input::placeholder { color: #71717a; }
.cmd-search input:focus { outline: none; border-color: #92c8d2; }
.cmd-search .i { position: absolute; left: 15px; top: 50%; transform: translateY(-50%); color: #71717a; font-size: 17px; }
.cat-tabs { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; max-width: 56rem; margin: 0 auto 30px; }
.cat-tab { padding: 9px 16px; border-radius: 999px; font-size: 14px; font-weight: 500; color: #a1a1aa; background: #161717; border: 1px solid rgba(255,255,255,0.08); cursor: pointer; }
.cat-tab:hover { color: #fff; border-color: #4b676c; }
.cat-tab.active { color: #0c0d0d; background: #92c8d2; border-color: transparent; font-weight: 600; }
.cmd-groups { max-width: 56rem; margin: 0 auto; display: grid; gap: 26px; }
.cmd-group h3 { font-size: 20px; margin-bottom: 14px; display: flex; align-items: center; gap: 10px; }
.cmd-group h3 .i { color: #92c8d2; }
.cmd-list { display: grid; gap: 10px; }
.cmd { position: relative; display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; padding: 15px 18px; border-radius: 14px; background: #111212; }
.cmd::before { content:''; position:absolute; inset:-1px; z-index:-1; border-radius:14px; background-image:linear-gradient(180deg,#2a2b2b,#1a1b1b 60%); }
.cmd code { font-family: 'Geist Mono', monospace; font-size: 14px; color: #92c8d2; background: rgba(146,200,210,0.1); padding: 4px 10px; border-radius: 7px; white-space: nowrap; }
.cmd .desc { color: #a1a1aa; font-size: 14px; flex: 1; min-width: 180px; }
.cmd-empty { text-align: center; padding: 50px; color: #71717a; }
/* affiliates */
.aff-grid { max-width: 56rem; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px,1fr)); gap: 20px; }
.aff-card { position: relative; padding: 26px; border-radius: 1.5rem; background: #111212; }
.aff-card::before { content:''; position:absolute; inset:-1px; z-index:-1; border-radius:1.5rem; background-image:linear-gradient(180deg,#333434,#1f2020 15%); }
.aff-top { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; }
.aff-logo { width: 46px; height: 46px; border-radius: 12px; background: #202c2f; border: 1px solid #4b676c; display: grid; place-items: center; font-weight: 700; color: #92c8d2; font-size: 20px; }
.aff-name { font-weight: 700; font-size: 16px; }
.aff-tag { font-size: 12.5px; color: #92c8d2; }
.aff-card p { font-size: 14px; color: #a1a1aa; }
/* feedback */
.fb-wrap { max-width: 40rem; margin: 0 auto; padding: 0 1.5rem 100px; }
.fb-card { position: relative; padding: 40px; border-radius: 2rem; background: #111212; }
.fb-card::before { content:''; position:absolute; inset:-1px; z-index:-1; border-radius:2rem; background-image:linear-gradient(180deg,#333434,#1f2020 15%); }
.fb-field { margin-bottom: 20px; }
.fb-field label { display: block; font-size: 14px; font-weight: 500; color: #d4d4d8; margin-bottom: 8px; }
.fb-field input, .fb-field textarea, .fb-field select { width: 100%; padding: 13px 15px; border-radius: 12px; background: #0c0d0d; border: 1px solid #4b676c; color: #fff; font-family: inherit; font-size: 15px; resize: vertical; }
.fb-field input:focus, .fb-field textarea:focus, .fb-field select:focus { outline: none; border-color: #92c8d2; }
.fb-note { font-size: 13px; color: #71717a; margin-top: 14px; text-align: center; }
.fb-note a { color: #92c8d2; }
/* coming soon */
.cs-wrap { min-height: 80vh; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 150px 1.5rem 60px; }
.cs-badge { display: inline-flex; align-items: center; gap: 9px; padding: 8px 16px; border-radius: 999px; font-size: 13px; font-weight: 600; color: #92c8d2; background: #202c2f; border: 1px solid #4b676c; margin-bottom: 24px; }
.cs-wrap h1 { font-weight: 700; font-size: 54px; letter-spacing: -0.02em; }
.cs-wrap p { margin-top: 14px; color: #a1a1aa; font-size: 17px; max-width: 30rem; }
.cs-actions { margin-top: 32px; display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; }
/* legacy btn + footer + modal classes used by subpages */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 13px 22px; border-radius: 14px; font-size: 15px; font-weight: 600; color: #fff; cursor: pointer; background: #161717; border: 1px solid rgba(255,255,255,0.08); }
.btn .i { color: #92c8d2; font-size: 17px; }
.btn-primary { background: linear-gradient(180deg,#2b3f43,#17292c); border-color: #4b676c; }
.footer { padding: 0 1.5rem 60px; }
.footer-box { max-width: 64rem; margin: 0 auto; padding: 46px 40px 34px; border-radius: 2.5rem; position: relative; background: #111212; }
.footer-box::before { content:''; position:absolute; inset:-1px; z-index:-1; border-radius:2.5rem; background-image:linear-gradient(180deg,#333434,#1f2020 15%); }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 36px; }
.footer-brand { display: flex; align-items: center; gap: 10px; font-weight: 700; font-size: 20px; }
.footer-brand img { width: 30px; height: 30px; border-radius: 50%; }
.footer-desc { margin-top: 14px; color: #71717a; font-size: 14px; line-height: 1.7; }
.footer-sponsor { margin-top: 18px; font-size: 13px; color: #71717a; }
.footer-sponsor a { color: #92c8d2; font-weight: 600; }
.footer h4 { font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: #71717a; margin-bottom: 16px; }
.footer ul { list-style: none; display: grid; gap: 11px; padding: 0; }
.footer ul a { display: inline-flex; align-items: center; gap: 9px; font-size: 14px; color: #a1a1aa; }
.footer ul a .i { color: #71717a; font-size: 15px; }
.footer ul a:hover { color: #fff; }
.footer-bottom { margin-top: 34px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,0.07); display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.footer-bottom a { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: #a1a1aa; }
.footer-bottom a .i { color: #4ade80; }
.footer-bottom span { font-size: 13px; color: #71717a; }
.footer-bottom b { color: #a1a1aa; }
.modal-backdrop { position: fixed; inset: 0; z-index: 200; display: none; align-items: center; justify-content: center; padding: 20px; background: rgba(0,0,0,0.72); backdrop-filter: blur(6px); }
.modal-backdrop.open { display: flex; }
.modal { width: min(420px,100%); text-align: center; padding: 34px 30px; border-radius: 2rem; position: relative; background: #111212; }
.modal::before { content:''; position:absolute; inset:-1px; z-index:-1; border-radius:2rem; background-image:linear-gradient(180deg,#333434,#1f2020 15%); }
.modal img { width: 62px; height: 62px; border-radius: 50%; margin: 0 auto 18px; }
.modal h3 { font-weight: 700; font-size: 22px; }
.modal p { margin-top: 10px; color: #a1a1aa; font-size: 15px; }
.modal .btn { margin-top: 22px; width: 100%; }
.modal-close { margin-top: 12px; background: none; border: 0; color: #71717a; font-size: 13.5px; cursor: pointer; font-family: inherit; }
.i { width: 1em; height: 1em; display: inline-block; vertical-align: -0.125em; }

/* ===== missing tailwind utilities used by homepage markup ===== */
.w-\[38px\]{width:38px}.h-\[38px\]{height:38px}
.w-\[44px\]{width:44px}.h-\[44px\]{height:44px}
.h-\[46px\]{height:46px}
.px-\[22px\]{padding-left:22px;padding-right:22px}
.ml-\[8px\]{margin-left:8px}
.mr-\[50px\]{margin-right:50px}
.gap-x-2{column-gap:.5rem}.gap-x-3{column-gap:.75rem}
.border-white\/5{border-color:rgba(255,255,255,.05)}
.from-white\/10{--tw-gradient-from:rgba(255,255,255,.1);--tw-gradient-to:rgba(255,255,255,0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.to-white\/5{--tw-gradient-to:rgba(255,255,255,.05)}
.text-zinc-500{color:#71717a}
@media (min-width:768px){.md\:items-start{align-items:flex-start}}
@media (min-width:768px){.md\:h-screen{height:100vh}}
@media (min-width:640px){.sm\:pb-\[20rem\]{padding-bottom:20rem}}

/* ===== utilities for rebuilt sections ===== */
.h-\[80px\]{height:80px}.w-\[80px\]{width:80px}.w-\[46px\]{width:46px}
.h-px{height:1px}
.leading-\[1\.3\]{line-height:1.3}
.max-w-\[200px\]{max-width:200px}.max-w-\[36rem\]{max-width:36rem}.max-w-\[42rem\]{max-width:42rem}
.mb-\[20px\]{margin-bottom:20px}.mt-\[12px\]{margin-top:12px}.mt-\[16px\]{margin-top:16px}
.mt-\[28px\]{margin-top:28px}.mt-\[80px\]{margin-top:80px}
.pb-\[120px\]{padding-bottom:120px}.py-\[120px\]{padding-top:120px;padding-bottom:120px}
.py-\[14px\]{padding-top:14px;padding-bottom:14px}.py-\[30px\]{padding-top:30px;padding-bottom:30px}
.px-\[24px\]{padding-left:24px;padding-right:24px}
.text-\[24px\]{font-size:24px}.text-\[28px\]{font-size:28px}
.whitespace-nowrap{white-space:nowrap}
@media(min-width:768px){.md\:col-span-2{grid-column:span 2/span 2}.md\:text-\[38px\]{font-size:38px}}
/* gap-[30px] used on grids */
.gap-\[30px\]{gap:30px}
