/* REQUIRED SHARED SITE PRESENTATION — load after every page-specific stylesheet.
   Source of truth: the hub design. Copy unchanged to templates/ and UPLOAD/.
   Keep tool grids, status colors, video proportions and form behavior page-specific. */
html:root {
  --font-heading:"IBM Plex Sans",Arial,sans-serif;
  --font-body:"Inter",Arial,sans-serif;
  --cream:#F2F3F4;--paper:#FFFDF8;--ink:#1B1714;--ink-soft:#5A524A;
  --header-bg:255,253,248;--accent:#3B74BA;--accent-dark:#2C578C;
  --gold:#C8821E;--gold-soft:#FFE082;--line:#E7DECB;--green:#1f9d57;--wa:#25D366;
  --shadow:0 1px 0 rgba(27,23,20,.04),0 22px 48px -26px rgba(27,23,20,.5);
}
body.site-page{margin:0;font-family:var(--font-body);font-size:16px;color:var(--ink);line-height:1.55;
  background:radial-gradient(900px 520px at 88% -6%,rgba(59,116,186,.06),transparent 60%),radial-gradient(720px 440px at -6% 4%,rgba(200,130,30,.09),transparent 55%),var(--cream)}
.site-page *{box-sizing:border-box}
.site-page .wrap{max-width:820px;margin:0 auto;padding:30px 18px 64px}
/* Same header markup and specificity on every page. */
body.site-page nav.site-nav{position:sticky;top:0;z-index:60;background:rgba(var(--header-bg),.9);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:0;border-bottom:1px solid var(--line);
  display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 20px;margin:0;border-radius:0;width:100%;max-width:none}
body.site-page nav.site-nav .brand{font-family:var(--font-heading);font-weight:700;font-size:17px;line-height:1.55;letter-spacing:-.01em;text-decoration:none;color:var(--ink);max-width:none;white-space:normal;margin:0;padding:0}
body.site-page nav.site-nav .brand .hl{color:var(--accent)}
body.site-page nav.site-nav .links{display:flex;align-items:center;gap:6px;margin:0;padding:0}
body.site-page nav.site-nav .links a{font-family:var(--font-body);font-weight:700;font-size:13.5px;line-height:1.55;letter-spacing:normal;color:var(--ink-soft);text-decoration:none;padding:8px 12px;border:0;border-radius:9px;background:transparent;white-space:nowrap;margin:0;box-shadow:none}
body.site-page nav.site-nav .links a:hover{color:var(--ink);background:rgba(27,23,20,.05)}
.site-page .wrap>header,.site-page .wrap>h1{text-align:center}
.site-page h1{font-family:var(--font-heading);font-weight:700;font-size:clamp(30px,6vw,50px);line-height:1.04;letter-spacing:-.02em;margin-bottom:14px;color:var(--ink)}
.site-page h1 .hl{color:var(--accent);font-style:italic}
.site-page h2,.site-page h3,.site-page h4,.site-page h5{font-family:var(--font-heading)}
.site-page .lead{font-size:clamp(16px,2.3vw,18.5px);line-height:1.55;color:var(--ink-soft);max-width:560px;margin:0 auto 26px;text-align:center}
.site-page .eyebrow{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-body);font-size:11.5px;font-weight:700;line-height:1.55;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);background:rgba(59,116,186,.07);border:1px solid rgba(59,116,186,.2);border-radius:999px;padding:6px 14px;margin-bottom:18px}
.site-page .eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--accent)}
.site-page .card,.site-page .bonus,.site-page .offer-card,.site-page .download-item,.site-page .gift{background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
.site-page .card{padding:24px}
.site-page .wrap>section{margin-top:28px}
.site-page .cta-btn,.site-page .offer-cta,.site-page .pbtn,.site-page .dl,.site-page .button:not(.secondary){font-family:var(--font-body);font-weight:800;color:#fff;background:var(--accent);border:0;border-radius:12px;text-decoration:none;box-shadow:0 12px 26px -12px rgba(59,116,186,.7)}
.site-page .cta-btn:hover,.site-page .offer-cta:hover,.site-page .pbtn:hover,.site-page .dl:hover,.site-page .button:not(.secondary):hover{background:var(--accent-dark);color:#fff}
/* Keep linked offer CTAs clear of the content above them, on every campaign. */
.site-page a.cta-btn,.site-page .button{margin-top:2em}
.site-page a.button{display:inline-block}
/* Buyer-download benefit lists: use the approved LitRPG presentation everywhere. */
.site-page.site-download ul.blist{list-style:none;margin:9px 0 0;padding:0;text-align:left}
.site-page.site-download ul.blist li{position:relative;padding:0 0 0 22px;margin:0 0 7px;font-size:13.8px;color:var(--ink-soft);line-height:1.45}
.site-page.site-download ul.blist li::before{content:"✓";position:absolute;left:0;top:0;color:var(--green);font-weight:800}
.site-page.site-download ul.blist li b{color:var(--ink)}
.site-page .exit-modal .cta-btn{background:linear-gradient(180deg,#1fbf6a,#1f9d57);box-shadow:0 12px 26px -12px rgba(31,157,87,.8)}
/* Preserve footer legal copy; align the typography, links and spacing with the hub. */
body.site-page footer.site-footer{margin:48px auto 0;border:0;border-top:1px solid var(--line);padding:22px 0 0;text-align:center;color:var(--ink-soft);line-height:1.65;background:transparent;width:100%;max-width:100%;border-radius:0;box-shadow:none}
body.site-page footer.site-footer .fbrand{display:block;font-family:var(--font-heading);font-weight:700;font-size:15px;line-height:1.65;color:var(--ink);margin:0}
body.site-page footer.site-footer .fbrand .hl{color:var(--accent)}
body.site-page footer.site-footer .flinks{margin:10px 0 14px;font-size:13px;line-height:1.65}
body.site-page footer.site-footer .flinks a{display:inline-block;color:var(--ink-soft);text-decoration:none;margin:0 9px;padding:0;font-size:13px;line-height:1.65}
body.site-page footer.site-footer .flinks a:hover{color:var(--accent)}
body.site-page footer.site-footer .disc{max-width:640px;margin:0 auto;font-family:var(--font-body);font-size:11px;color:#9a9088;line-height:1.65;text-align:center}
body.site-page footer.site-footer .disc a{color:var(--accent);text-decoration:none}
.site-page a:focus-visible,.site-page button:focus-visible,.site-page summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
/* A supplied application may offer a user-controlled workspace theme. Keep its
   canvas and panel text legible while its site navigation/footer retain the hub skin. */
html[data-theme] body.site-page{color:var(--text);background:radial-gradient(circle at 88% 2%,rgba(59,116,186,.09),transparent 28rem),linear-gradient(180deg,var(--bg),var(--bg2))}
html[data-theme] .site-page h1{color:var(--text)}
html[data-theme] body.site-page footer.site-footer{background:var(--cream);color:var(--ink);padding:22px 18px}
@media(max-width:520px){
 body.site-page nav.site-nav{padding:9px 13px;flex-wrap:wrap}
 body.site-page nav.site-nav .brand{font-size:14.5px}
 body.site-page nav.site-nav .links a{font-size:12px;padding:7px 9px}
 .site-page .wrap{padding:30px 18px 64px}
}
@media print{
 body.site-page{background:#fff}
 body.site-page nav.site-nav{display:none!important}
 .site-page .wrap{max-width:none;padding:0}
}
