/*
Theme Name: Stratum Public Affairs Editable
Theme URI: https://stratumpa.ca
Author: Stratum Public Affairs Inc.
Description: Premium editable block theme for Stratum Public Affairs Inc.
Version: 2.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GPLv2 or later
Text Domain: stratum-pa-editable
*/

:root {
  --navy:#071b33;
  --navy2:#0b2545;
  --gold:#c9a646;
  --gold2:#e2c76d;
  --ink:#152238;
  --muted:#667085;
  --line:#e5e7eb;
  --light:#f7f8fb;
  --white:#ffffff;
  --shadow:0 24px 60px rgba(7,27,51,.12);
  --radius:24px;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color:var(--ink);
  background:#fff;
  line-height:1.65;
}
a { color:inherit; text-decoration:none; }
img { max-width:100%; height:auto; }

.wp-site-blocks { overflow:hidden; }
.container, .alignwide {
  width:min(1180px, calc(100% - 40px));
  margin-left:auto !important;
  margin-right:auto !important;
}
.alignfull { width:100%; }

.site-header {
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(229,231,235,.75);
}
.header-inner {
  min-height:82px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.logo-mark {
  display:flex;
  align-items:center;
  gap:13px;
  font-weight:700;
}
.mark {
  width:42px;
  height:42px;
  border-radius:12px;
  background:linear-gradient(135deg,var(--navy),var(--navy2));
  position:relative;
  box-shadow:0 10px 28px rgba(7,27,51,.18);
}
.mark:before,.mark:after {
  content:"";
  position:absolute;
  left:10px;
  right:10px;
  height:3px;
  background:var(--gold);
  border-radius:99px;
}
.mark:before{top:14px;transform:rotate(-18deg)}
.mark:after{top:25px;transform:rotate(-18deg);opacity:.8}
.logo-text strong{display:block;letter-spacing:.08em;color:var(--navy);font-size:14px}
.logo-text span{display:block;color:var(--muted);font-size:12px;margin-top:-2px}

.wp-block-navigation a,
.nav-link {
  color:var(--navy);
  font-weight:700;
  font-size:14px;
}
.wp-block-navigation a:hover,
.nav-link:hover { color:var(--gold); }

.btn, .wp-block-button__link {
  border-radius:999px !important;
  font-weight:800;
  padding:14px 22px !important;
  text-decoration:none !important;
}
.btn-primary, .is-style-stratum-gold .wp-block-button__link {
  background:var(--gold) !important;
  color:var(--navy) !important;
  box-shadow:0 12px 28px rgba(201,166,70,.26);
}
.btn-outline, .is-style-stratum-outline .wp-block-button__link {
  background:transparent !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.35) !important;
}

.hero-section {
  background:linear-gradient(120deg,rgba(7,27,51,.97),rgba(11,37,69,.89)),radial-gradient(circle at top right,rgba(201,166,70,.24),transparent 42%);
  color:#fff;
  padding:96px 0 86px;
}
.kicker, .stratum-kicker {
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--gold2);
  text-transform:uppercase;
  letter-spacing:.16em;
  font-weight:900;
  font-size:12px;
  margin-bottom:18px;
}
.kicker:before,.stratum-kicker:before {
  content:"";
  width:38px;
  height:1px;
  background:var(--gold);
}
.hero-title {
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(44px,6vw,76px);
  line-height:.98;
  letter-spacing:-.04em;
  margin:0 0 24px;
}
.hero-text {
  font-size:18px;
  color:rgba(255,255,255,.82);
  max-width:720px;
}
.hero-card {
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.18);
  border-radius:var(--radius);
  padding:30px;
  box-shadow:var(--shadow);
}
.hero-card h3 { color:var(--gold2); margin-top:0; }
.hero-card li { margin:10px 0; color:rgba(255,255,255,.82); }

.section-padding { padding:86px 0; }
.section-light { background:var(--light); }
.section-dark { background:var(--navy); color:#fff; }
.stratum-heading {
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(34px,4vw,52px);
  line-height:1.06;
  color:var(--navy);
  margin:0 0 14px;
}
.section-dark .stratum-heading { color:#fff; }
.stratum-muted { color:var(--muted); font-size:17px; }
.section-dark .stratum-muted { color:rgba(255,255,255,.76); }

.cap-card {
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:28px;
  min-height:236px;
  box-shadow:0 12px 28px rgba(7,27,51,.04);
  transition:.2s ease;
}
.cap-card:hover {
  transform:translateY(-4px);
  box-shadow:var(--shadow);
  border-color:rgba(201,166,70,.45);
}
.cap-number {
  color:var(--gold);
  font-weight:900;
  letter-spacing:.08em;
  font-size:12px;
}
.cap-card h3 {
  font-size:21px;
  line-height:1.18;
  margin:14px 0 10px;
  color:var(--navy);
}
.cap-card p { color:var(--muted); margin:0; }

.statement {
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(28px,3vw,42px);
  line-height:1.15;
  color:var(--navy);
}
.pill-list {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:26px;
}
.pill {
  border:1px solid var(--line);
  border-radius:999px;
  padding:10px 16px;
  background:#fff;
  font-weight:800;
  color:var(--navy);
  font-size:14px;
}

.exp-item {
  border-left:3px solid var(--gold);
  padding:18px 20px;
  background:rgba(255,255,255,.07);
  border-radius:0 16px 16px 0;
}
.exp-item h3 { color:#fff; margin:0 0 8px; }
.exp-item p { color:rgba(255,255,255,.72); margin:0; }

.cta-box {
  background:linear-gradient(120deg,rgba(7,27,51,.98),rgba(7,27,51,.88)),radial-gradient(circle at 80% 20%,rgba(201,166,70,.2),transparent 34%);
  color:#fff;
  border-radius:30px;
  padding:54px;
}
.cta-box h2 {
  margin:0 0 10px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(30px,4vw,48px);
}

.contact-card {
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:30px;
  box-shadow:var(--shadow);
}

.site-footer {
  background:#06172b;
  color:rgba(255,255,255,.78);
  padding:54px 0 28px;
}
.site-footer h4 { color:#fff; margin:0 0 12px; }
.site-footer a,.site-footer p { color:rgba(255,255,255,.72); font-size:14px; }
.footer-bottom {
  border-top:1px solid rgba(255,255,255,.12);
  margin-top:34px;
  padding-top:22px;
  font-size:13px;
  color:rgba(255,255,255,.55);
}

.wp-block-post-title,
.page-title {
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(40px,5vw,62px);
}

@media(max-width:900px) {
  .hero-section { padding:72px 0; }
  .cta-box { padding:34px; }
  .header-inner { flex-wrap:wrap; padding:14px 0; }
}
