/*
Theme Name: Revenue Blueprint Squared
Theme URI: https://revenueblueprint2.com
Author: Revenue Blueprint²
Description: Premium executive WordPress theme for Revenue Blueprint² — how complex B2B deals actually get won.
Version: 1.0.2
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: rb2
*/

:root {
  --ink: #07090d;
  --panel: #0e1219;
  --panel-2: #151b25;
  --line: rgba(255,255,255,.11);
  --text: #f7f9fc;
  --muted: #aab4c3;
  --blue: #2f7dff;
  --blue-2: #67a5ff;
  --max: 1180px;
  --radius: 18px;
  --shadow: 0 28px 80px rgba(0,0,0,.35);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--ink);
  color: var(--text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 17px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; }
.wrap { width: min(calc(100% - 40px), var(--max)); margin: 0 auto; }
.skip-link { position: absolute; left: -9999px; }
.skip-link:focus { left: 16px; top: 16px; z-index: 1000; background: #fff; color: #000; padding: 10px 14px; }

.site-header {
  position: sticky; top: 0; z-index: 100;
  background: rgba(7,9,13,.86); backdrop-filter: blur(18px);
  border-bottom: 1px solid var(--line);
}
.nav-shell { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 12px; font-weight: 850; letter-spacing: -.04em; font-size: 22px; }
.brand-mark { width: 38px; height: 38px; display: grid; place-items: center; background: linear-gradient(145deg,#101827,#1b50a7); border: 1px solid rgba(103,165,255,.55); border-radius: 10px; box-shadow: inset 0 1px rgba(255,255,255,.14); }
.brand-mark sup { font-size: 10px; color: var(--blue-2); margin-left: 1px; }
.brand-name sup { color: var(--blue-2); font-size: .52em; top: -.7em; position: relative; }
.nav-menu { display: flex; align-items: center; gap: 28px; list-style: none; margin: 0; padding: 0; font-size: 14px; font-weight: 650; }
.nav-menu a { color: #ccd4df; transition: .2s ease; }
.nav-menu a:hover { color: #fff; }
.nav-cta { display: inline-flex; padding: 10px 15px; border: 1px solid rgba(103,165,255,.45); border-radius: 999px; color: #fff !important; background: rgba(47,125,255,.12); }
.menu-toggle { display: none; border: 1px solid var(--line); background: transparent; color: #fff; border-radius: 9px; padding: 8px 11px; font: inherit; }

.hero { position: relative; overflow: hidden; padding: 118px 0 88px; border-bottom: 1px solid var(--line); }
.hero::before { content: ""; position: absolute; inset: -35% -10% auto 42%; height: 700px; background: radial-gradient(circle,rgba(47,125,255,.20),transparent 64%); pointer-events:none; }
.hero-grid { position: relative; display: grid; grid-template-columns: 1.18fr .82fr; gap: 72px; align-items: center; }
.eyebrow { display: inline-flex; gap: 9px; align-items: center; color: var(--blue-2); text-transform: uppercase; letter-spacing: .16em; font-size: 12px; font-weight: 800; }
.eyebrow::before { content:""; width: 28px; height: 1px; background: var(--blue-2); }
h1,h2,h3,h4 { line-height: 1.08; letter-spacing: -.04em; margin-top: 0; }
h1 { font-size: clamp(52px,7.2vw,92px); max-width: 900px; margin: 26px 0 25px; }
h1 .accent, h2 .accent { color: var(--blue-2); }
.hero-copy { max-width: 715px; color: #bcc5d1; font-size: clamp(18px,2vw,22px); line-height: 1.55; }
.button-row { display:flex; flex-wrap:wrap; gap: 13px; margin-top: 36px; }
.button { display:inline-flex; justify-content:center; align-items:center; min-height: 50px; padding: 0 21px; border-radius: 10px; font-size: 14px; font-weight: 800; letter-spacing: .01em; transition: transform .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--blue); color:#fff; box-shadow: 0 12px 30px rgba(47,125,255,.24); }
.button-secondary { border:1px solid var(--line); color:#fff; background:rgba(255,255,255,.025); }
.proof-line { display:flex; flex-wrap:wrap; gap:24px; margin-top:42px; color:#8f9aaa; font-size:13px; }
.proof-line strong { color:#fff; font-size:16px; }
.hero-card { padding: 28px; background: linear-gradient(150deg,rgba(23,31,43,.95),rgba(10,13,19,.98)); border: 1px solid rgba(103,165,255,.20); border-radius: 22px; box-shadow: var(--shadow); }
.hero-card-label { font-size:11px; text-transform:uppercase; letter-spacing:.15em; color:#8290a3; margin-bottom:20px; }
.deal-stage { display:flex; justify-content:space-between; align-items:center; border-top:1px solid var(--line); padding:16px 0; gap:16px; }
.deal-stage:first-of-type { border-top:0; }
.deal-stage span { font-size:13px; color:#9ba7b8; }
.deal-stage strong { font-size:14px; text-align:right; }
.deal-stage .warning { color:#ffbb61; }
.deal-stage .good { color:#72d7a0; }

.section { padding: 96px 0; }
.section-dark { background: #0a0d12; }
.section-rule { border-top:1px solid var(--line); }
.section-heading { display:grid; grid-template-columns:.7fr 1.3fr; gap:60px; align-items:end; margin-bottom:48px; }
.section-heading h2 { font-size:clamp(38px,5vw,62px); margin-bottom:0; }
.section-heading p { color:var(--muted); max-width:620px; margin:0; }
.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.card { background:linear-gradient(145deg,var(--panel),#0b0f15); border:1px solid var(--line); border-radius:var(--radius); padding:28px; }
.card-number { color:var(--blue-2); font-size:12px; font-weight:850; letter-spacing:.14em; }
.card h3 { font-size:24px; margin:34px 0 12px; }
.card p { color:var(--muted); margin:0; font-size:15px; }
.truth-card { min-height:290px; display:flex; flex-direction:column; }
.truth-card .arrow { margin-top:auto; padding-top:28px; color:var(--blue-2); font-weight:800; }

.blueprint-flow { display:grid; grid-template-columns:repeat(6,1fr); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
.flow-step { min-height:170px; padding:22px 16px; border-right:1px solid var(--line); background:var(--panel); display:flex; flex-direction:column; justify-content:space-between; }
.flow-step:last-child { border-right:0; background:linear-gradient(145deg,#163a75,#215cbd); }
.flow-step small { color:#778598; font-weight:800; }
.flow-step strong { font-size:17px; }
.flow-step:last-child small { color:#b9d4ff; }

.story { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.story-main { background:#f3f6fb; color:#0b1017; border-radius:22px; padding:46px; }
.story-main .eyebrow { color:#1b5cc4; }
.story-main .eyebrow::before { background:#1b5cc4; }
.story-main h2 { font-size:clamp(38px,4.6vw,58px); margin:26px 0; }
.story-main p { color:#3d4858; }
.story-stack { display:grid; gap:18px; }
.story-note { border:1px solid var(--line); border-radius:18px; padding:30px; background:var(--panel); }
.story-note h3 { font-size:22px; margin-bottom:10px; }
.story-note p { margin:0; color:var(--muted); font-size:15px; }

.quote-block { text-align:center; max-width:940px; margin:0 auto; }
.quote-block blockquote { font-size:clamp(30px,4.5vw,56px); line-height:1.16; letter-spacing:-.035em; margin:0; }
.quote-block cite { display:block; margin-top:28px; color:var(--blue-2); font-style:normal; font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.14em; }

.insights-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.post-card { border:1px solid var(--line); border-radius:18px; overflow:hidden; background:var(--panel); }
.post-thumb { aspect-ratio:16/9; background:linear-gradient(135deg,#172235,#0d1118 58%,#173b78); display:grid; place-items:center; color:#719ee8; font-size:42px; font-weight:900; }
.post-card-content { padding:25px; }
.post-meta { color:var(--blue-2); font-size:11px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.post-card h3 { font-size:23px; margin:13px 0 10px; }
.post-card p { color:var(--muted); font-size:14px; }

.cta { position:relative; overflow:hidden; border:1px solid rgba(103,165,255,.28); border-radius:24px; background:linear-gradient(135deg,#111927,#0d1118); padding:64px; }
.cta::after { content:"RB²"; position:absolute; right:-25px; bottom:-72px; font-size:210px; font-weight:950; letter-spacing:-.11em; color:rgba(103,165,255,.055); }
.cta h2 { position:relative; z-index:1; font-size:clamp(40px,5vw,64px); max-width:780px; margin-bottom:20px; }
.cta p,.cta .button-row { position:relative; z-index:1; }
.cta p { color:var(--muted); max-width:700px; }

.site-footer { padding:58px 0 30px; border-top:1px solid var(--line); color:#8d98a8; }
.footer-grid { display:grid; grid-template-columns:1.4fr .6fr .6fr; gap:55px; padding-bottom:48px; }
.footer-copy { max-width:420px; font-size:14px; }
.footer-title { color:#fff; font-size:13px; font-weight:800; margin-bottom:15px; }
.footer-links { list-style:none; padding:0; margin:0; font-size:14px; }
.footer-links li { margin:8px 0; }
.footer-bottom { border-top:1px solid var(--line); padding-top:24px; display:flex; justify-content:space-between; font-size:12px; }

.content-shell { padding:90px 0; }
.content-shell .entry-header,.content-shell .entry-content { max-width:820px; margin-left:auto; margin-right:auto; }
.entry-title { font-size:clamp(44px,6vw,72px); }
.entry-meta { color:var(--blue-2); font-size:13px; margin-bottom:34px; }
.entry-content h2 { font-size:36px; margin-top:56px; }
.entry-content h3 { font-size:27px; margin-top:38px; }
.entry-content p,.entry-content li { color:#c0c8d3; }
.entry-content a { color:var(--blue-2); text-decoration:underline; }
.archive-title { font-size:clamp(46px,6vw,72px); margin-bottom:42px; }
.pagination { margin-top:42px; }
.screen-reader-text { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }

@media (max-width: 900px) {
  .hero-grid,.section-heading,.story,.footer-grid { grid-template-columns:1fr; }
  .hero { padding-top:80px; }
  .hero-card { max-width:620px; }
  .grid-3,.insights-grid { grid-template-columns:1fr 1fr; }
  .blueprint-flow { grid-template-columns:repeat(3,1fr); }
  .flow-step:nth-child(3) { border-right:0; }
  .flow-step:nth-child(-n+3) { border-bottom:1px solid var(--line); }
  .nav-menu { display:none; position:absolute; top:100%; left:0; right:0; padding:24px 20px; background:#0a0d12; border-bottom:1px solid var(--line); flex-direction:column; align-items:flex-start; }
  .nav-menu.is-open { display:flex; }
  .menu-toggle { display:block; }
}

@media (max-width: 620px) {
  .wrap { width:min(calc(100% - 28px),var(--max)); }
  .hero { padding:64px 0 62px; }
  h1 { font-size:48px; }
  .section { padding:68px 0; }
  .grid-3,.insights-grid { grid-template-columns:1fr; }
  .blueprint-flow { grid-template-columns:1fr 1fr; }
  .flow-step { min-height:130px; border-bottom:1px solid var(--line); }
  .flow-step:nth-child(2n) { border-right:0; }
  .cta,.story-main { padding:34px 26px; }
  .footer-bottom { flex-direction:column; gap:8px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  * { transition:none !important; }
}

/* RB2 compact social banners */
.rb2-social-strip{background:#101c30;border-bottom:1px solid rgba(103,165,255,.25);color:#dce8ff;font-size:12px;line-height:1.4}
.rb2-social-inner{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px 24px;padding-top:6px;padding-bottom:6px}
.rb2-social-inner>span{font-size:10px;font-weight:800;letter-spacing:.14em;color:#8fbaff}
.rb2-social-inner>a{display:inline-flex;align-items:center;min-height:28px;font-weight:650}
.rb2-social-inner>a:hover,.rb2-footer-utility a:hover{color:#fff;text-decoration:underline}
.rb2-social-inner>a:focus-visible,.rb2-footer-utility a:focus-visible{outline:2px solid #67a5ff;outline-offset:4px}
.rb2-footer-clean{padding:0 0 24px}
.rb2-footer-summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:30px;padding-bottom:22px}
.rb2-footer-utility{display:flex;gap:22px;font-size:13px}
.rb2-footer-clean .footer-copy{margin:10px 0 0}
.rb2-current-page{color:#8fbaff;font-weight:750}
@media(max-width:620px){.rb2-social-inner{column-gap:15px;row-gap:0;padding-top:5px;padding-bottom:5px}.rb2-social-inner>span{flex-basis:100%;text-align:center}.rb2-social-inner>a{min-height:32px;font-size:11px}.rb2-footer-summary{flex-direction:column;align-items:flex-start}.rb2-footer-utility{flex-wrap:wrap}}
