:root {
  --paper: #fbf8ee;
  --paper-dark: #f0eddf;
  --ink: #10100f;
  --muted: #67665f;
  --coral: #ff755b;
  --lime: #dfff48;
  --lilac: #cdb8ff;
  --lilac-pale: #eee5ff;
  --line: 2px solid var(--ink);
  --shadow: 6px 6px 0 var(--ink);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: 'DM Sans', sans-serif; }
.wrap { width: min(1180px, calc(100% - 56px)); margin-inline: auto; }
.topbar { height: 82px; display: flex; align-items: center; justify-content: space-between; border-bottom: var(--line); }
.brand { display: inline-flex; align-items: center; gap: 9px; color: var(--ink); text-decoration: none; font: 700 25px 'Space Grotesk', sans-serif; letter-spacing: -1.5px; }
.brand-mark, .proof-mark { position: relative; display: inline-block; width: 37px; height: 30px; }
.brand-mark i, .proof-mark i { position: absolute; top: 3px; width: 25px; height: 25px; border: 2px solid var(--ink); border-radius: 50%; }
.brand-mark i:first-child, .proof-mark i:first-child { left: 0; background: var(--coral); }
.brand-mark i:last-child, .proof-mark i:last-child { left: 14px; background: var(--lilac); }
.brand-dot { color: var(--coral); }
nav { display: flex; gap: 34px; }
nav a, .text-link { color: var(--ink); text-decoration: none; font-size: 13px; font-weight: 800; }
nav a:hover, .text-link:hover { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
.nav-cta { padding: 12px 17px; border: var(--line); background: var(--lime); color: var(--ink); text-decoration: none; font-size: 12px; font-weight: 800; box-shadow: 3px 3px 0 var(--ink); }
.nav-cta span { margin-left: 12px; }
.nav-actions { display: flex; align-items: center; gap: 12px; }
.nav-actions form { margin: 0; }
.nav-actions select { height: 40px; padding: 0 8px; border: var(--line); background: var(--paper); color: var(--ink); font: 800 11px 'DM Sans', sans-serif; }
.hero { min-height: 610px; display: grid; grid-template-columns: .9fr 1.1fr; gap: 38px; align-items: center; padding-block: 64px 58px; }
.eyebrow { font-size: 10px; font-weight: 800; letter-spacing: 1.45px; }
.eyebrow-mark { display: inline-grid; width: 25px; height: 25px; margin-right: 7px; place-items: center; background: var(--lime); border: var(--line); font-size: 14px; vertical-align: middle; }
.hero h1, .section-intro h2, .cards-heading h2, .together-copy h2, .download h2 { font-family: 'Space Grotesk', sans-serif; font-weight: 700; letter-spacing: -3.5px; }
.hero h1 { margin: 25px 0 20px; font-size: clamp(54px, 6.3vw, 82px); line-height: .97; }
.hero h1 span, .together-copy h2 span { color: var(--coral); }
.lead { max-width: 445px; color: var(--muted); font-size: 16px; line-height: 1.65; }
.hero-actions { display: flex; align-items: center; gap: 25px; margin-top: 28px; }
.button { display: inline-flex; min-height: 50px; align-items: center; justify-content: space-between; gap: 27px; padding: 13px 17px; border: var(--line); text-decoration: none; font-size: 12px; font-weight: 800; transition: transform .16s, box-shadow .16s; }
.button:hover, .nav-cta:hover { transform: translate(-2px, -2px); box-shadow: 7px 7px 0 var(--ink); }
.button-dark { color: white; background: var(--ink); box-shadow: 4px 4px 0 var(--coral); }
.button-dark span { color: var(--lime); font-size: 17px; }
.hero-proof { display: flex; align-items: center; gap: 12px; margin-top: 34px; color: var(--muted); font-size: 11px; font-weight: 700; }
.proof-mark { width: 33px; height: 25px; }
.proof-mark i { width: 21px; height: 21px; border-width: 1.5px; }
.proof-mark i:last-child { left: 12px; }
.hero-art { position: relative; display: grid; min-height: 440px; place-items: center; }
.mascot-panel { width: min(100%, 520px); padding: 14px 18px 11px; border: 3px solid var(--ink); background: var(--lilac); box-shadow: 9px 9px 0 var(--ink); transform: rotate(1.5deg); }
.mascot-pair { display: block; width: 100%; height: auto; }
.mascot-names { display: flex; justify-content: space-around; padding: 5px 0 2px; font-size: 10px; text-transform: uppercase; letter-spacing: 1px; }
.mascot-names b { font-family: 'Space Grotesk', sans-serif; font-size: 13px; }
.hero-tag { position: absolute; z-index: 2; top: 5px; right: 4%; padding: 9px 12px; border: var(--line); background: var(--lime); font: 800 10px/1.35 'Space Grotesk', sans-serif; transform: rotate(7deg); box-shadow: 3px 3px 0 var(--ink); }
.hero-tag b { margin-left: 5px; }
.orbit-sticker { position: absolute; right: -5px; bottom: 8px; width: 86px; height: 86px; display: grid; place-content: center; border: var(--line); border-radius: 50%; background: var(--coral); text-align: center; font: 800 10px/1.3 'Space Grotesk', sans-serif; transform: rotate(9deg); box-shadow: 3px 3px 0 var(--ink); }
.ticker { overflow: hidden; padding: 15px 0; border-block: var(--line); background: var(--lime); white-space: nowrap; font: 800 12px 'Space Grotesk', sans-serif; letter-spacing: 1px; }
.ticker div { word-spacing: 8px; }
.ticker span { margin-inline: 24px; color: var(--coral); }
.how { display: grid; grid-template-columns: .8fr 1.5fr; gap: 70px; padding-block: 105px 118px; }
.section-intro h2, .cards-heading h2, .together-copy h2 { margin: 17px 0; font-size: clamp(36px, 4.2vw, 50px); line-height: 1.04; }
.section-intro p, .together-copy p { max-width: 355px; color: var(--muted); font-size: 14px; line-height: 1.7; }
.how-mascots { display: block; width: 165px; height: 118px; margin-top: 15px; border: 2px solid var(--ink); background: var(--lilac); object-fit: cover; object-position: center; }
.steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; align-items: start; }
.step { position: relative; min-height: 270px; padding: 16px; border: var(--line); box-shadow: 4px 4px 0 var(--ink); background: var(--paper); }
.step-lime { background: #f8fbe8; }
.step-lilac { background: #f5f0ff; }
.step-coral { background: #fff0ea; }
.step-num { position: absolute; top: 13px; right: 13px; font: 800 10px 'Space Grotesk', sans-serif; }
.step-icon { display: block; width: 96px; height: 94px; margin: 13px 0 17px; object-fit: contain; }
.step h3 { margin: 0 0 8px; font: 700 16px 'Space Grotesk', sans-serif; }
.step p { min-height: 54px; margin: 0 0 14px; color: var(--muted); font-size: 11px; line-height: 1.55; }
.step-label { font-size: 8px; font-weight: 800; letter-spacing: .8px; }
.cards-section { padding-block: 76px 92px; border-block: var(--line); background: var(--paper-dark); }
.cards-heading { display: flex; align-items: end; justify-content: space-between; margin-bottom: 30px; }
.cards-heading h2 { margin-bottom: 0; }
.deck-count { padding: 11px 13px; border: var(--line); background: var(--lime); font-size: 9px; font-weight: 800; letter-spacing: 1px; }
.deck-count span { margin-left: 12px; }
.card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.deck-card { overflow: hidden; border: 2px solid var(--ink); background: var(--paper); box-shadow: 5px 5px 0 var(--ink); transition: transform .18s; }
.deck-card:hover { transform: translateY(-5px) rotate(-.6deg); }
.deck-image { position: relative; display: grid; height: 190px; place-items: center; overflow: hidden; border-bottom: 2px solid var(--ink); background: var(--card-color); }
.deck-image img { width: 100%; height: 100%; padding: 4px; object-fit: contain; }
.deck-num { position: absolute; top: 10px; left: 10px; padding: 6px 8px; border: 1.5px solid var(--ink); background: var(--paper); font-size: 8px; font-weight: 800; }
.deck-star { position: absolute; top: 8px; right: 12px; color: var(--ink); font-size: 20px; }
.deck-copy { padding: 14px 15px 17px; }
.deck-copy > span { font-size: 8px; font-weight: 800; letter-spacing: 1.3px; }
.deck-copy h3 { margin: 7px 0 5px; font: 700 17px 'Space Grotesk', sans-serif; }
.deck-copy p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.together { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: center; padding-block: 112px; }
.together-visual { position: relative; min-height: 345px; padding: 24px; border: 3px solid var(--ink); background: var(--lilac-pale); box-shadow: 8px 8px 0 var(--ink); }
.together-label { display: inline-block; padding: 8px 9px; border: var(--line); background: var(--lime); font-size: 9px; font-weight: 800; }
.together-mascots { display: block; width: 72%; margin: 8px auto 0; border: 2px solid var(--ink); background: var(--lilac); }
.collection-chip { position: absolute; right: 12px; bottom: 12px; display: flex; min-width: 235px; align-items: center; gap: 10px; padding: 8px 10px; border: var(--line); background: var(--paper); box-shadow: 3px 3px 0 var(--ink); }
.collection-chip img { width: 45px; height: 42px; object-fit: cover; border: 1px solid var(--ink); }
.collection-chip div { display: flex; flex: 1; flex-direction: column; gap: 3px; }
.collection-chip b { font: 700 11px 'Space Grotesk', sans-serif; }
.collection-chip small { color: var(--muted); font-size: 8px; }
.collection-chip strong { font-size: 18px; }
.together-copy h2 { font-size: clamp(37px, 4vw, 49px); }
.together-copy p { margin-bottom: 24px; }
.download { padding-bottom: 100px; }
.download-box { position: relative; overflow: hidden; padding: 54px 20px; border: 3px solid var(--ink); background: var(--lime); box-shadow: 8px 8px 0 var(--ink); text-align: center; }
.download-box .eyebrow, .download p { position: relative; z-index: 1; }
.download h2 { margin: 13px 0 8px; font-size: 43px; letter-spacing: -2px; }
.download p { margin: 0 0 22px; color: #46483d; font-size: 13px; }
.download-mascots { position: absolute; right: 4%; bottom: -40px; width: 190px; opacity: .2; mix-blend-mode: multiply; }
.footer { min-height: 84px; display: flex; align-items: center; justify-content: space-between; border-top: var(--line); }
.footer .brand { font-size: 19px; }
.footer .brand-mark { transform: scale(.82); transform-origin: left center; }
.footer > span { color: var(--muted); font-size: 10px; }
.footer > span:last-child b { color: var(--coral); font-size: 16px; }

@media (max-width: 900px) {
  .hero { grid-template-columns: 1fr 1fr; gap: 20px; }
  .hero h1 { font-size: clamp(49px, 6vw, 70px); }
  .how { grid-template-columns: 1fr; gap: 32px; }
  .how-mascots { display: none; }
  .together { gap: 44px; }
}
@media (max-width: 650px) {
  .wrap { width: calc(100% - 34px); }
  .topbar { height: 70px; }
  nav { display: none; }
  .brand { font-size: 22px; }
  .nav-cta { padding: 10px 11px; font-size: 10px; }
  .hero { grid-template-columns: 1fr; gap: 5px; padding-block: 48px 42px; }
  .hero h1 { margin-top: 20px; font-size: 58px; letter-spacing: -3px; }
  .lead { font-size: 15px; }
  .hero-actions { gap: 17px; flex-wrap: wrap; }
  .hero-art { min-height: 335px; margin: 10px -5px 0; }
  .mascot-panel { width: 90%; padding: 8px 10px; box-shadow: 6px 6px 0 var(--ink); }
  .hero-tag { right: 5px; top: 0; }
  .orbit-sticker { right: 0; bottom: 0; width: 70px; height: 70px; font-size: 8px; }
  .how { padding-block: 70px 80px; }
  .steps { grid-template-columns: 1fr; gap: 13px; }
  .step { min-height: 0; display: grid; grid-template-columns: 82px 1fr; column-gap: 14px; align-items: center; padding: 13px; }
  .step-num { top: 11px; right: 12px; }
  .step-icon { grid-row: span 3; width: 78px; height: 78px; margin: 0; }
  .step h3 { margin: 4px 25px 4px 0; }
  .step p { min-height: 0; margin-bottom: 6px; }
  .cards-section { padding-block: 60px 70px; }
  .cards-heading { align-items: start; gap: 12px; }
  .cards-heading h2 { font-size: 35px; }
  .deck-count { margin-top: 20px; padding: 8px; font-size: 7px; }
  .card-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .deck-image { height: 145px; }
  .deck-copy { padding: 11px; }
  .deck-copy h3 { font-size: 14px; }
  .deck-copy p { font-size: 10px; }
  .together { grid-template-columns: 1fr; gap: 34px; padding-block: 72px; }
  .together-visual { min-height: 290px; padding: 18px; }
  .together-mascots { width: 78%; }
  .collection-chip { right: 8px; bottom: 8px; min-width: 210px; }
  .download { padding-bottom: 70px; }
  .download-box { padding: 42px 16px; }
  .download h2 { font-size: 35px; }
  .download-mascots { width: 130px; right: -18px; bottom: -25px; }
  .footer { min-height: 100px; flex-wrap: wrap; gap: 10px; padding-block: 18px; }
  .footer > span { font-size: 9px; }
  .footer > span:last-child { width: 100%; text-align: right; }
}
/* Account access */
.auth-page{min-height:100vh;background:#fbf8ee}.auth-wrap{width:min(100% - 36px,520px);margin:0 auto;padding:34px 0 56px}.auth-brand{display:flex;width:max-content;margin:0 auto 24px}.auth-card{border:1.5px solid #111110;background:#fffcf5;padding:clamp(22px,6vw,42px);box-shadow:7px 7px 0 #111110}.auth-card h1{font:700 clamp(38px,9vw,54px)/1 'Space Grotesk',sans-serif;letter-spacing:-2.5px;margin:17px 0 8px}.auth-card h1 span{color:#ff755b}.auth-lead{font-size:14px;line-height:1.55;color:#686960;margin:0 0 24px}.auth-errors,.auth-success{padding:12px 14px;border:1px solid #111110;margin:0 0 17px;font-size:13px;line-height:1.5}.auth-errors{background:#ffd9ce}.auth-success{background:#e4fa94}.auth-switch{display:grid;grid-template-columns:1fr 1fr;border:1px solid #111110;margin-bottom:21px}.auth-tab{border:0;background:transparent;padding:12px 7px;font:700 12px 'DM Sans',sans-serif;color:#686960;cursor:pointer}.auth-tab.is-active{background:#dfff48;color:#111110}.auth-form{display:flex;flex-direction:column}.auth-form[hidden]{display:none}.auth-form label{font-size:11px;font-weight:700;margin:0 0 7px}.auth-form input{height:47px;border:1px solid #c5c3ba;border-radius:0;background:#fbf8ee;padding:0 13px;font:14px 'DM Sans',sans-serif;color:#111110;margin-bottom:14px}.auth-form input:focus{outline:2px solid #111110;outline-offset:1px}.auth-submit{width:100%;justify-content:center;margin-top:5px;cursor:pointer;font:700 13px 'DM Sans',sans-serif}.auth-submit span{margin-left:8px;color:#dfff48}.auth-divider{display:flex;align-items:center;gap:12px;color:#77776f;font-size:10px;margin:23px 0 15px}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:#d2d0c6;flex:1}.auth-socials{display:grid;grid-template-columns:1fr 1fr;gap:10px}.auth-social{height:46px;border:1px solid #111110;background:#fffef9;color:#111110;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:9px;font-weight:700;font-size:12px}.auth-social:hover{background:#efe9ff}.auth-social b{font:700 18px Arial}.auth-social:last-child b{color:#1877f2}.auth-back{display:block;width:max-content;margin:25px auto 0;color:#686960;font-size:12px;text-decoration:none}.auth-back:hover{color:#111110}@media(max-width:460px){.auth-wrap{width:min(100% - 28px,520px);padding-top:21px}.auth-card{box-shadow:5px 5px 0 #111110}.auth-socials{grid-template-columns:1fr}}

/* SEO guide hub and trust pages */
.guides-section{padding:80px 0}.guides-heading{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:28px}.guides-heading h2{font-size:clamp(32px,5vw,54px);line-height:1;letter-spacing:-2px;margin:10px 0}.guides-heading p{max-width:520px;color:#68685f}.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.guide-card{display:flex;flex-direction:column;min-height:270px;border:1.5px solid #171714;background:#fffdf6;box-shadow:4px 4px 0 #171714;padding:20px}.guide-kicker{font-size:10px;letter-spacing:1px;font-weight:900;color:#77766d}.guide-card h3{font-size:22px;line-height:1.12;letter-spacing:-.7px;margin:22px 0 8px}.guide-card h3 a{color:inherit;text-decoration:none}.guide-card h3 a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}.guide-card p{font-size:13px;line-height:1.55;color:#66665e;margin:0 0 20px}.guide-read{display:flex;justify-content:space-between;margin-top:auto;padding-top:12px;border-top:1px solid #d7d4c9;color:#171714;font-size:12px;font-weight:850;text-decoration:none}.guide-read:hover{color:#c84f3b}.footer-links{display:flex;justify-content:center;gap:8px 16px;flex-wrap:wrap;max-width:600px}.footer-links a{font-size:11px;color:inherit;text-decoration:none;font-weight:700}.footer-links a:hover{text-decoration:underline}.content-shell{width:min(840px,calc(100% - 36px));margin:0 auto}.content-page{padding:72px 0 88px}.content-page h1{font-size:clamp(42px,8vw,76px);line-height:.98;letter-spacing:-3px;margin:12px 0 18px}.content-page h2{font-size:clamp(24px,4vw,34px);line-height:1.05;letter-spacing:-1px;margin:38px 0 12px}.content-page p,.content-page li{font-size:16px;line-height:1.75;color:#4f4f49}.content-page .page-lead{font-size:19px;max-width:680px;color:#65645c}.content-page .eyebrow{font-size:10px;letter-spacing:1.3px;font-weight:900}.content-page a{color:#171714;text-decoration-thickness:1px;text-underline-offset:3px}.content-page .article-meta{border-block:1px solid #d8d5cb;padding:15px 0;margin:26px 0;color:#67665f;font-size:13px;display:flex;gap:20px;flex-wrap:wrap}.content-page ul{padding-left:24px}.content-nav{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-bottom:2px solid #171714}.source-note{padding:18px 20px;background:#f0e9ff;border:1.5px solid #171714;margin-top:34px}.related-reading{padding:34px 0 0;border-top:1.5px solid #171714;margin-top:50px}.related-reading h2{margin-top:0}.related-reading ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.related-reading li{border:1px solid #c8c5ba;padding:12px}.related-reading a{font-weight:800}@media(max-width:760px){.guides-section{padding:54px 0}.guides-heading{align-items:flex-start;flex-direction:column}.guide-grid{grid-template-columns:1fr}.guide-card{min-height:220px}.footer-links{justify-content:flex-start}.content-page{padding:45px 0 60px}.related-reading ul{grid-template-columns:1fr}}

/* Landing editorial context and semantic content */
.steps{list-style:none;margin:0;padding:0}.how{row-gap:24px}.how>.section-footnote{grid-column:1/-1;justify-self:center;margin-top:0}.section-footnote{max-width:880px;margin:30px auto 0;color:#58584f;font-size:14px;line-height:1.7}.section-footnote a,.section-support a,.author-card a,.faq-section a,.download-details a{color:#171714;font-weight:800;text-decoration-thickness:1.5px;text-underline-offset:3px}.cards-section .section-footnote{margin-top:30px}.author-section{padding:22px 0 72px}.author-card{border:2px solid #171714;background:#f1eaff;box-shadow:6px 6px 0 #171714;padding:clamp(22px,4vw,38px);max-width:900px;margin:auto}.author-card h2,.faq-section h2{font:700 clamp(30px,5vw,48px)/1.05 'Space Grotesk',sans-serif;letter-spacing:-2px;margin:12px 0 20px}.author-card p{max-width:760px;font-size:14px;line-height:1.7;color:#48483f}.author-card .author-byline{font-size:16px;color:#171714}.author-dates{display:flex;gap:8px 26px;flex-wrap:wrap;font-size:12px!important;font-weight:700}.author-links{display:flex;gap:20px;flex-wrap:wrap}.ad-disclosure{border-top:1px solid #aaa3b5;padding-top:15px;margin-top:18px}.section-support{margin-top:14px!important;line-height:1.7!important}.faq-section{padding:74px 0 88px}.faq-section h2{max-width:760px}.faq-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.faq-grid article{border:1.5px solid #171714;background:#fffdf6;box-shadow:4px 4px 0 #171714;padding:20px}.faq-grid h3{font:700 20px/1.15 'Space Grotesk',sans-serif;letter-spacing:-.5px;margin:0 0 12px}.faq-grid p{font-size:13px;line-height:1.65;color:#53534c;margin:0}.faq-links{display:flex;gap:10px 24px;flex-wrap:wrap;margin:27px 0 0;padding-left:20px}.faq-links li{font-size:13px;line-height:1.55}.download-box .download-details{max-width:680px;margin:0 auto 24px;font-size:13px;line-height:1.7}.download-details a{white-space:nowrap}@media(max-width:760px){.author-section{padding:12px 0 54px}.faq-section{padding:55px 0 70px}.faq-grid{grid-template-columns:1fr}.faq-links{display:block}.faq-links li{margin-bottom:8px}}
