:root{
  --cream:#FFF6E9;
  --cream-deep:#FCEAD1;
  --ink:#17213A;
  --ink-soft:#5B6478;
  --orange:#FF6B3D;
  --orange-deep:#E8501F;
  --teal:#0E8C82;
  --teal-deep:#0B6E66;
  --pink:#FF3D7F;
  --pink-deep:#C22A63;
  --yellow:#FFC93C;
  --amber-deep:#8A6A00;
  --blue:#3E8EDE;
  --blue-deep:#1E5AA8;
  --accent:var(--orange);
  --accent-deep:var(--orange-deep);
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:var(--cream);
  color:var(--ink);
  font-family:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,sans-serif;
  -webkit-font-smoothing:antialiased;
  line-height:1.6;
}
.display, h1, h2, h3, h4{ font-family:'Baloo 2',cursive; }
.mono{ font-family:'Space Mono',monospace; }
a{ color:var(--ink); }

#page{ max-width:720px; margin:0 auto; padding:0 20px 90px; }

/* Site nav */
.site-nav{
  display:flex; justify-content:space-between; align-items:center;
  padding:24px 0; margin-bottom:6px;
}
.site-nav .brand{
  font-family:'Baloo 2',cursive; font-weight:800; font-size:19px; letter-spacing:-0.01em;
  text-decoration:none; color:var(--ink); display:flex; align-items:center; gap:8px;
}
.site-nav .brand::before{
  content:""; width:10px; height:10px; border-radius:50%; background:var(--orange); display:inline-block;
}
.site-nav .crumbs{
  font-family:'Space Mono',monospace; font-size:12px; color:var(--ink-soft); text-decoration:none;
}
.site-nav .crumbs:hover{ color:var(--ink); }

/* Article header */
.article-head{ padding:20px 0 10px; }
.article-head .ref{
  font-family:'Space Mono',monospace; font-size:11px; letter-spacing:.08em; color:var(--accent-deep);
  text-transform:uppercase; font-weight:700;
}
.article-head h1{
  font-weight:700; font-size:34px; line-height:1.15; margin:10px 0 14px; letter-spacing:-0.01em;
}
.article-head .lede{ font-size:17px; line-height:1.6; color:var(--ink); max-width:60ch; margin:0; }

/* Content sections */
.section{ margin:34px 0; }
.section h2{
  font-family:'Space Mono',monospace; font-size:12.5px; text-transform:uppercase; letter-spacing:.08em;
  color:var(--ink-soft); margin:0 0 14px; font-weight:700;
}
.section p{ font-size:16px; line-height:1.65; margin:0 0 14px; }
.section ul, .section ol{ font-size:16px; line-height:1.7; padding-left:22px; margin:0 0 14px; }
.section li{ margin-bottom:6px; }

/* Step list */
.steps{ counter-reset:step; list-style:none; padding:0; margin:0 0 14px; }
.steps li{
  counter-increment:step; position:relative; padding-left:42px; margin-bottom:18px;
  font-size:16px; line-height:1.6;
}
.steps li::before{
  content:counter(step); position:absolute; left:0; top:-2px;
  width:28px; height:28px; border-radius:50%; background:var(--accent); color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-family:'Space Mono',monospace; font-size:13px; font-weight:700;
}

/* Provider / affiliate cards */
.provider-card{
  background:#fff; border-radius:16px; padding:22px 24px; margin-bottom:16px;
  box-shadow:0 8px 20px rgba(23,33,58,.07);
  border-top:4px solid var(--accent);
}
.provider-card .p-head{ display:flex; justify-content:space-between; align-items:baseline; gap:12px; flex-wrap:wrap; margin-bottom:8px; }
.provider-card .p-name{ font-family:'Baloo 2',cursive; font-size:19px; font-weight:700; }
.provider-card .p-tag{
  font-family:'Space Mono',monospace; font-size:10.5px; text-transform:uppercase; letter-spacing:.06em;
  color:var(--accent-deep); background:var(--cream-deep); padding:4px 10px; border-radius:100px; font-weight:700;
}
.provider-card .p-desc{ font-size:15px; color:var(--ink); margin:0 0 16px; line-height:1.6; }
.provider-card .p-cta{
  display:inline-flex; align-items:center; gap:6px;
  background:var(--accent); color:#fff;
  font-family:'Baloo 2',cursive; font-weight:700; font-size:15px;
  padding:11px 20px; border-radius:100px; text-decoration:none;
  box-shadow:0 4px 0 var(--accent-deep);
  transition:transform .12s ease;
}
.provider-card .p-cta:hover{ transform:translateY(-2px); }
.provider-card .p-fine{ font-size:11.5px; color:var(--ink-soft); margin-top:12px; font-style:italic; }

/* Callout / tip box */
.callout{
  background:var(--cream-deep); border-radius:14px; padding:18px 22px;
  font-size:15px; margin:22px 0; line-height:1.6; border-left:4px solid var(--accent);
}
.callout strong{
  font-family:'Space Mono',monospace; font-size:10.5px; text-transform:uppercase; letter-spacing:.08em;
  display:block; margin-bottom:6px; color:var(--accent-deep);
}

/* Related links */
.related{ border-top:2px solid var(--cream-deep); padding-top:22px; margin-top:40px; }
.related h2{
  font-family:'Space Mono',monospace; font-size:11px; text-transform:uppercase; letter-spacing:.1em;
  color:var(--ink-soft); margin:0 0 14px; font-weight:700;
}
.related-links{ display:flex; flex-direction:column; gap:10px; }
.related-links a{
  font-family:'Baloo 2',cursive; font-weight:600; font-size:16px; text-decoration:none;
  color:var(--ink);
}
.related-links a:hover{ color:var(--accent-deep); }

.disclaimer{
  font-size:12px; color:var(--ink-soft); line-height:1.6; font-style:italic;
  border-top:1px solid var(--cream-deep); padding-top:16px; margin-top:34px;
}

footer{
  text-align:center; font-family:'Space Mono',monospace; font-size:11px; color:var(--ink-soft);
  margin-top:56px; letter-spacing:.04em;
}

@media (max-width:480px){
  .article-head h1{ font-size:26px; }
  .provider-card .p-head{ flex-direction:column; align-items:flex-start; gap:6px; }
}
