:root{
  --ink:#141a2e; --muted:#5a6478; --line:#e7e9f0; --bg:#ffffff; --soft:#f6f7fb;
  --brand:#4f46e5; --brand2:#0ea5e9; --accent:#f59e0b; --maxw:1120px; --radius:16px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Assistant",system-ui,"Segoe UI",Arial,sans-serif;color:var(--ink);
  background:var(--bg);line-height:1.75;font-size:18px;-webkit-font-smoothing:antialiased}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto;border-radius:12px}

/* header */
.site-head{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.9);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;height:68px}
.logo{font-weight:800;font-size:1.4rem;color:var(--ink);text-decoration:none;letter-spacing:-.5px}
.logo span{color:var(--brand);margin-inline-start:6px}
.main-nav{display:flex;gap:4px;flex-wrap:wrap}
.main-nav a{color:var(--ink);font-weight:600;padding:8px 14px;border-radius:10px;font-size:1rem}
.main-nav a:hover{background:var(--soft);text-decoration:none;color:var(--brand)}

/* generic page */
main.wrap{padding-top:40px;padding-bottom:64px}
.post h1,.home-hero h1,.grid + *,h1{font-size:2.3rem;line-height:1.2;letter-spacing:-.8px;margin:.2em 0 .5em}
.post .lead,.lead{font-size:1.2rem;color:var(--muted);margin:0 0 1.5em;font-weight:600}
.content{font-size:1.08rem}
.content h2{font-size:1.6rem;margin:1.6em 0 .5em;letter-spacing:-.4px}
.content h3{font-size:1.25rem;margin:1.4em 0 .4em}
.content p{margin:0 0 1.15em}
.content img{margin:1.4em auto;display:block;box-shadow:0 10px 30px rgba(20,26,46,.08)}
.content ul,.content ol{margin:0 0 1.2em;padding-inline-start:1.3em}
.content li{margin:.4em 0}
.content a{font-weight:600;text-decoration:underline;text-underline-offset:3px}
.content blockquote{margin:1.4em 0;padding:.4em 1.2em;border-inline-start:4px solid var(--brand);
  background:var(--soft);border-radius:0 12px 12px 0;color:var(--ink);font-size:1.1rem}
.content table{width:100%;border-collapse:collapse;margin:1.4em 0;font-size:.98rem}
.content th,.content td{border:1px solid var(--line);padding:10px 12px;text-align:start}
.content th{background:var(--soft)}
.post{max-width:760px;margin:0 auto}

/* home hero */
.home-hero{text-align:center;padding:56px 20px 40px;background:
  radial-gradient(1200px 400px at 50% -10%,rgba(79,70,229,.12),transparent 70%);
  margin:-40px -20px 40px;border-radius:0 0 28px 28px}
.home-hero h1{font-size:2.9rem;margin:.1em 0 .25em}
.home-hero p{font-size:1.25rem;color:var(--muted);max-width:620px;margin:0 auto 1.4em;font-weight:600}
.hero-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.btn{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;font-weight:700;
  padding:13px 26px;border-radius:12px;text-decoration:none;box-shadow:0 8px 20px rgba(79,70,229,.3)}
.btn:hover{text-decoration:none;filter:brightness(1.05)}
.hero-cta a:not(.btn){padding:13px 20px;font-weight:700;color:var(--ink);border:1px solid var(--line);border-radius:12px;background:#fff}
.home-feat{margin-top:16px}
.home-feat h2{font-size:1.8rem;letter-spacing:-.5px;margin:0 0 .6em}

/* grid of cards */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px;margin:24px 0}
.card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);overflow:hidden;text-decoration:none;color:var(--ink);
  transition:transform .15s ease,box-shadow .15s ease}
.card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(20,26,46,.12);text-decoration:none}
.card-img{aspect-ratio:16/9;background-size:cover;background-position:center;background-color:var(--soft)}
.card-img.placeholder{background:linear-gradient(135deg,#e9eafc,#dbeafe)}
.card-b{padding:16px 18px 20px}
.card-b h3{font-size:1.15rem;margin:0 0 .35em;line-height:1.35;letter-spacing:-.3px}
.card-b p{margin:0;color:var(--muted);font-size:.95rem;line-height:1.55}
.card{--c:230}
.card-top{height:7px;width:100%;background:linear-gradient(90deg,hsl(var(--c) 78% 56%),hsl(calc(var(--c) + 45) 80% 60%))}
.card-kicker{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.02em;
  color:hsl(var(--c) 55% 42%);background:hsl(var(--c) 80% 95%);padding:3px 11px;border-radius:999px;margin-bottom:.6em}
.card-more{display:inline-block;margin-top:.9em;font-weight:700;color:var(--brand);font-size:.92rem}
.card:hover .card-more{text-decoration:underline}

/* footer */
.site-footer{background:#0f1426;color:#c7cde0;padding:48px 0 36px;margin-top:40px}
.site-footer strong{color:#fff;font-size:1.3rem;display:block;margin-bottom:.4em}
.site-footer p{max-width:520px;margin:0 0 1.2em;color:#9aa3bd}
.foot-nav{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:1.4em}
.foot-nav a{color:#c7cde0;font-weight:600}
.foot-nav a:hover{color:#fff}
.site-footer small{color:#6b7391}

/* recovery pages: provider directory, service cards, CTA */
.muted{color:var(--muted)}
.cta-box{background:linear-gradient(135deg,#eef0ff,#e6f6ff);border:1px solid #dfe3ff;
  border-radius:var(--radius);padding:26px 28px;margin:2em 0}
.cta-box h3{margin:0 0 .3em;font-size:1.3rem}
.cta-box p{margin:0 0 1em;color:var(--muted)}
.cta-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.cta-mail{font-weight:700}
.provider-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin:1.4em 0}
.provider{display:flex;flex-direction:column;gap:3px;padding:16px 18px;background:#fff;
  border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink);
  transition:border-color .15s,transform .15s}
.provider:hover{border-color:var(--brand);transform:translateY(-2px);text-decoration:none}
.provider strong{font-size:1.08rem}
.provider span{color:var(--muted);font-size:.92rem}
.svc-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin:1.2em 0 .5em}
.svc-card{display:flex;align-items:center;min-height:92px;padding:18px 20px;border-radius:14px;
  text-decoration:none;color:#fff;font-weight:700;line-height:1.3;
  background:linear-gradient(135deg,var(--brand),var(--brand2));
  box-shadow:0 8px 22px rgba(79,70,229,.22);transition:transform .15s,filter .15s}
.svc-card:hover{transform:translateY(-3px);filter:brightness(1.05);text-decoration:none}
.svc-card h3{margin:0;font-size:1.15rem}

/* payment providers page + homepage band */
.home-pay{margin:30px 0}
.home-pay-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px;margin-bottom:.4em}
.home-pay-head h2{font-size:1.8rem;letter-spacing:-.5px;margin:0}
.home-pay-head a{font-weight:700}
.pay-featured{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:20px;margin:1em 0}
.pay-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin:1em 0}
.pay-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px 26px}
.pay-card h3{margin:0 0 .4em;font-size:1.3rem}
.pay-card h3 small{color:var(--muted);font-weight:600;font-size:.82rem}
.pay-card p{margin:0;color:var(--muted);line-height:1.65}
.pay-card.featured{border:2px solid var(--brand);
  background:linear-gradient(135deg,#f3f2ff,#eafaff);box-shadow:0 14px 34px rgba(79,70,229,.16)}
.pay-card.featured h3{font-size:1.6rem}
.pay-card.featured p{color:var(--ink)}
.pay-badge{position:absolute;top:-13px;inset-inline-start:22px;
  background:linear-gradient(135deg,var(--accent),#f97316);color:#fff;font-weight:800;
  font-size:.78rem;padding:5px 14px;border-radius:999px;box-shadow:0 5px 12px rgba(245,158,11,.4)}

/* portal sections */
.home-sections{margin:34px 0}
.home-sections h2{font-size:1.8rem;letter-spacing:-.5px;margin:0 0 .6em}
.sec-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.sec-card{display:block;padding:20px 22px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  text-decoration:none;color:var(--ink);transition:transform .15s,box-shadow .15s,border-color .15s}
.sec-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(20,26,46,.1);border-color:var(--brand);text-decoration:none}
.sec-card h3{margin:0 0 .3em;font-size:1.15rem}
.sec-card p{margin:0;color:var(--muted);font-size:.93rem;line-height:1.5}

/* pay-more link, static badge, HYP feature list */
.pay-more{display:inline-block;margin-top:.9em;font-weight:700;color:var(--brand)}
.pay-badge.static{position:static;display:inline-block;margin-bottom:1em}
.feat-list{list-style:none;padding:0;margin:1em 0}
.feat-list li{position:relative;padding-inline-start:32px;margin:.6em 0;line-height:1.6}
.feat-list li::before{content:"✓";position:absolute;inset-inline-start:0;top:3px;color:#fff;
  background:linear-gradient(135deg,var(--brand),var(--brand2));width:20px;height:20px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700}

/* FAQ */
.faq{margin:1.2em 0}
.faq-item{border:1px solid var(--line);border-radius:12px;margin:.6em 0;background:#fff}
.faq-item summary{cursor:pointer;padding:16px 46px 16px 20px;font-weight:700;font-size:1.08rem;list-style:none;position:relative}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";position:absolute;inset-inline-start:20px;top:13px;color:var(--brand);font-size:1.5rem;font-weight:700;line-height:1}
.faq-item[open] summary::after{content:"\2013"}
.faq-item p{margin:0;padding:0 20px 18px;color:var(--muted);line-height:1.7}

/* lead form */
.lead-form{margin:1em 0 1.5em;display:flex;flex-direction:column;gap:12px}
.lf-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.lead-form input,.lead-form textarea{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:10px;
  font:inherit;font-size:1rem;background:#fff;color:var(--ink)}
.lead-form input:focus,.lead-form textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(79,70,229,.12)}
.lead-form textarea{resize:vertical}
.lead-form button{align-self:flex-start;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;
  font-weight:700;font-size:1.05rem;padding:13px 30px;border:none;border-radius:11px;cursor:pointer;box-shadow:0 8px 20px rgba(79,70,229,.28)}
.lead-form button:hover{filter:brightness(1.05)}
.lead-form button:disabled{opacity:.6;cursor:default}
.lf-msg{margin:.2em 0 0;padding:12px 15px;border-radius:10px;font-weight:600}
.lf-msg.ok{background:#e9f9ef;color:#15803d}
.lf-msg.err{background:#fdecec;color:#b91c1c}

@media(max-width:640px){
  body{font-size:17px}
  .lf-grid{grid-template-columns:1fr}
  .home-hero h1{font-size:2.1rem}
  .post h1,h1{font-size:1.8rem}
  .main-nav a{padding:7px 10px;font-size:.95rem}
}
