/* ==========================================================================
   audentia-report.css — shared stylesheet for the 2026 market reports
   audentiaresearch.com

   One file for all forty report pages instead of ~40KB of inline CSS repeated
   on each. Tokens match insights.html so the reports read as part of the same
   publication. Cached for a year by .htaccess, so the filename carries no
   version — bump the ?v= on the <link> when this changes.
   ========================================================================== */

:root{
  --primary:#0f1b2d;
  --primary-foreground:#f9f5ec;
  --background:#f9f5ec;
  --foreground:#0a121f;
  --card:#ffffff;
  --border:#ddd7ca;
  --muted:#ece7dd;
  --muted-foreground:#4f5661;
  --secondary:#ede7db;
  --accent:#d8953d;
  --accent-foreground:#0a121f;
  --font-display:"Fraunces", ui-serif, Georgia, serif;
  --font-sans:"Inter", ui-sans-serif, system-ui, sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;padding:0;
  font-family:var(--font-sans);
  background:var(--background);
  color:var(--foreground);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}

.rp-container{max-width:1180px;margin:0 auto;padding:0 24px}
.rp-narrow{max-width:760px;margin:0 auto}

/* ---- Hero --------------------------------------------------------------- */
.rp-hero{
  position:relative;
  background:var(--primary);
  color:var(--primary-foreground);
  padding:170px 0 72px;
  overflow:hidden;
}
.rp-hero::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(115deg,rgba(15,27,45,.96) 0%,rgba(15,27,45,.82) 48%,rgba(13,22,36,.95) 100%);
  z-index:0;
}
.rp-hero-bg{
  position:absolute;inset:0;background-size:cover;background-position:center;
  opacity:.5;z-index:0;
}
.rp-hero .rp-container{position:relative;z-index:1}
.rp-breadcrumb{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;
  font-size:.82rem;color:rgba(249,245,236,.62);margin-bottom:26px;
}
.rp-breadcrumb a{color:rgba(249,245,236,.72);text-decoration:none}
.rp-breadcrumb a:hover{color:var(--accent)}
.rp-breadcrumb .sep{opacity:.4}
.rp-eyebrow{
  display:inline-block;background:var(--accent);color:var(--accent-foreground);
  font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  padding:7px 14px;border-radius:30px;margin-bottom:22px;
}
.rp-hero h1{
  font-family:var(--font-display);font-weight:400;
  font-size:clamp(2rem,4.2vw,3.1rem);line-height:1.14;
  margin:0 0 22px;max-width:17ch;
}
.rp-hero h1 em{font-style:italic;color:var(--accent)}
.rp-standfirst{
  font-size:1.06rem;line-height:1.72;color:rgba(249,245,236,.8);
  max-width:60ch;margin:0 0 30px;
}
.rp-byline{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;
  font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;
  color:rgba(249,245,236,.55);
  border-top:1px solid rgba(255,255,255,.13);padding-top:20px;
}
.rp-byline strong{color:rgba(249,245,236,.85);font-weight:600}

/* ---- Key facts (the block built to be quoted) --------------------------- */
.rp-facts-wrap{background:var(--primary);padding:0 0 76px}
.rp-facts{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.14);
  border-left:3px solid var(--accent);
  border-radius:12px;padding:30px 34px;
}
.rp-facts h2{
  font-family:var(--font-sans);font-size:.72rem;font-weight:800;
  letter-spacing:.16em;text-transform:uppercase;color:var(--accent);
  margin:0 0 18px;
}
.rp-facts ul{margin:0;padding:0;list-style:none;display:grid;gap:13px}
.rp-facts li{
  position:relative;padding-left:26px;
  font-size:.95rem;line-height:1.6;color:rgba(249,245,236,.84);
}
.rp-facts li::before{
  content:"";position:absolute;left:0;top:.55em;
  width:9px;height:9px;border-radius:2px;background:var(--accent);
}

/* ---- Body --------------------------------------------------------------- */
.rp-body{background:var(--background);padding:84px 0}
.rp-body h2{
  font-family:var(--font-display);font-weight:500;
  font-size:clamp(1.5rem,2.6vw,1.95rem);line-height:1.25;
  margin:56px 0 18px;color:var(--foreground);
  /* The site header is position:fixed, so a jump from the table of contents
     would otherwise land with the heading hidden underneath it. */
  scroll-margin-top:110px;
}
.rp-body h2:first-child{margin-top:0}
.rp-body p{font-size:1.02rem;line-height:1.78;color:#333a45;margin:0 0 20px}
.rp-body strong{color:var(--foreground);font-weight:600}

.rp-toc{
  background:var(--card);border:1px solid var(--border);border-radius:14px;
  padding:24px 28px;margin-bottom:52px;
}
.rp-toc h2{
  font-family:var(--font-sans)!important;font-size:.72rem!important;font-weight:800;
  letter-spacing:.16em;text-transform:uppercase;color:var(--muted-foreground);
  margin:0 0 14px!important;
}
.rp-toc ol{margin:0;padding-left:20px;display:grid;gap:9px}
.rp-toc a{color:var(--foreground);text-decoration:none;font-size:.95rem;line-height:1.5}
.rp-toc a:hover{color:var(--accent)}

.rp-pull{
  border-left:3px solid var(--accent);background:var(--secondary);
  padding:22px 26px;border-radius:0 12px 12px 0;margin:34px 0;
}
.rp-pull p{margin:0;font-family:var(--font-display);font-size:1.12rem;line-height:1.6}

/* ---- FAQ ---------------------------------------------------------------- */
.rp-faq{background:var(--muted);padding:84px 0;border-top:1px solid var(--border)}
.rp-faq h2{
  font-family:var(--font-display);font-weight:500;
  font-size:clamp(1.6rem,3vw,2.2rem);margin:0 0 34px;text-align:center;
}
.rp-faq-item{
  background:var(--card);border:1px solid var(--border);border-radius:12px;
  padding:24px 28px;margin-bottom:14px;
}
.rp-faq-item h3{
  font-family:var(--font-sans);font-size:1.02rem;font-weight:600;
  margin:0 0 10px;color:var(--foreground);line-height:1.45;
}
.rp-faq-item p{margin:0;font-size:.97rem;line-height:1.72;color:var(--muted-foreground)}

/* ---- CTA ---------------------------------------------------------------- */
.rp-cta{background:var(--primary);color:var(--primary-foreground);padding:80px 0}
.rp-cta-inner{
  display:grid;grid-template-columns:1.4fr 1fr;gap:44px;align-items:center;
}
.rp-cta h2{
  font-family:var(--font-display);font-weight:400;
  font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.2;margin:0 0 16px;
}
.rp-cta p{color:rgba(249,245,236,.76);font-size:1rem;line-height:1.7;margin:0}
.rp-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:var(--accent);color:var(--accent-foreground);
  font-weight:700;font-size:.98rem;text-decoration:none;
  padding:15px 30px;border-radius:8px;transition:transform .15s,filter .15s;
}
.rp-btn:hover{transform:translateY(-2px);filter:brightness(1.06)}
.rp-btn-ghost{
  background:transparent;color:var(--primary-foreground);
  border:1px solid rgba(255,255,255,.28);
}
.rp-btn-ghost:hover{border-color:var(--accent);color:var(--accent)}
.rp-cta-actions{display:flex;flex-wrap:wrap;gap:12px}

/* ---- Related ------------------------------------------------------------ */
.rp-related{background:var(--background);padding:84px 0;border-top:1px solid var(--border)}
.rp-related h2{
  font-family:var(--font-display);font-weight:500;
  font-size:clamp(1.5rem,2.6vw,2rem);margin:0 0 8px;
}
.rp-related .rp-lede{color:var(--muted-foreground);font-size:.97rem;margin:0 0 34px;line-height:1.65}
.rp-rel-group{margin-bottom:38px}
.rp-rel-group h3{
  font-family:var(--font-sans);font-size:.72rem;font-weight:800;
  letter-spacing:.16em;text-transform:uppercase;color:var(--muted-foreground);
  margin:0 0 14px;
}
.rp-rel-list{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0;padding:0;list-style:none}
.rp-rel-list a{
  display:block;background:var(--card);border:1px solid var(--border);
  border-radius:10px;padding:14px 16px;text-decoration:none;
  font-size:.92rem;line-height:1.45;color:var(--foreground);
  transition:border-color .18s,transform .18s;
}
.rp-rel-list a:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}
.rp-rel-list small{display:block;font-size:.76rem;color:var(--muted-foreground);margin-top:4px}
.rp-rel-list a:hover small{color:var(--muted-foreground)}

/* ---- Responsive --------------------------------------------------------- */
@media (max-width:980px){
  .rp-hero{padding:140px 0 56px}
  .rp-cta-inner{grid-template-columns:1fr;gap:28px}
  .rp-rel-list{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
  .rp-container{padding:0 20px}
  .rp-hero{padding:120px 0 48px}
  .rp-hero h1{max-width:none}
  .rp-facts{padding:24px 22px}
  .rp-body,.rp-faq,.rp-related,.rp-cta{padding:60px 0}
  .rp-rel-list{grid-template-columns:1fr}
}
