/* ============================================================
   Synergy BMC — shared base styles
   Design tokens, reset, nav, buttons, layout, footer.
   Rules identical across every page live here once.
   Load order per page: base.css → <page>.css → site.css
   ============================================================ */

/* ---------- DESIGN TOKENS ---------- */
:root{
  --primary-500:#FE602F; --primary-700:#9E3B1B; --primary-100:#F9C5B4; --primary-50:#FEF0EB;
  --navy-900:#033249; --navy-700:#0C3B5F; --navy-500:#103F54; --navy-300:#0088CB; --navy-deep:#021D2D;
  --green-700:#2B5336; --green-500:#64CEBB; --green-100:#B1D3BB;
  --gold-300:#F5C645;
  --neutral-0:#FFFFFF; --neutral-50:#F7F6F4; --neutral-100:#EFEDE8; --neutral-200:#D1D1D1;
  --neutral-400:#727272; --neutral-600:#666666; --neutral-700:#3B3B3B; --neutral-900:#080808;
  --font-display:'Montserrat',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
  --font-body:'Work Sans',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
  --font-ui:'DM Sans',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
  --radius-md:8px; --radius-lg:12px;
}

*{box-sizing:border-box;margin:0;padding:0;}
html{font-size:16px;-webkit-font-smoothing:antialiased;scroll-behavior:smooth;}
body{font-family:var(--font-body);color:var(--neutral-900);background:var(--neutral-0);line-height:1.6;}
img{display:block;max-width:100%;}
/* ---------- NAV ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(3,50,73,0.97);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,0.06);}
.nav-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:14px 32px;}
.nav-logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--neutral-0);}
.nav-logo img{height:69px;width:auto;display:block;}
.nav-links{display:flex;align-items:center;gap:30px;}
.nav-links a:hover{color:var(--neutral-0);}
.nav-cta{font-family:var(--font-ui);font-size:13px;font-weight:600;background:var(--primary-500);color:var(--neutral-0);
  padding:9px 18px;border-radius:6px;text-decoration:none;transition:background .2s;}
.nav-cta:hover{background:var(--primary-700);}
/* ---------- BUTTONS ---------- */
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-ui);font-weight:600;font-size:15px;
  padding:14px 28px;border-radius:8px;text-decoration:none;transition:all .2s;border:1.5px solid transparent;cursor:pointer;}
.btn:active{transform:scale(.98);}
.btn-primary{background:var(--primary-500);color:var(--neutral-0);border-color:var(--primary-500);}
.btn-primary:hover{background:var(--primary-700);border-color:var(--primary-700);}
.btn-outline-light{background:transparent;color:var(--neutral-0);border-color:rgba(255,255,255,0.25);}
.btn-outline-light:hover{border-color:rgba(255,255,255,0.6);}
.btn .arrow{transition:transform .2s;}
.btn:hover .arrow{transform:translateX(3px);}
/* ---------- SHARED ---------- */
.overline{font-family:var(--font-ui);font-size:12px;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--primary-500);}
.section{padding:110px 32px;}
.inner{max-width:1200px;margin:0 auto;}
.inner-narrow{max-width:820px;margin:0 auto;}
.cta-note{font-family:var(--font-body);font-size:14px;font-weight:300;color:var(--neutral-600);line-height:1.55;}
.hero::before{content:'';position:absolute;top:-15%;right:-10%;width:520px;height:520px;border-radius:50%;
  background:radial-gradient(circle,rgba(254,96,47,0.16),transparent 65%);pointer-events:none;}
.hero h1 em{font-style:normal;color:var(--primary-500);}
.hero-media{position:relative;}
/* ---------- FOOTER ---------- */
.footer{background:var(--navy-deep);color:rgba(255,255,255,0.6);padding:54px 32px;}
.footer .inner{display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between;}
.footer-brand{display:flex;align-items:center;gap:12px;color:var(--neutral-0);}
.footer-brand img{height:108px;width:auto;display:block;}
.footer-meta{font-size:13px;font-family:var(--font-ui);line-height:1.6;text-align:right;}
@media(max-width:600px){.footer-meta{text-align:left;}}

/* ============================================================
   EDITORIAL SECTIONS — copy-driven page bodies
   Shared across home / about / services / micro-engagement.
   ============================================================ */
.ed{padding:96px 32px;}
.ed--light{background:var(--neutral-0);}
.ed--alt{background:var(--neutral-50);}
.ed--navy{background:var(--navy-900);color:var(--neutral-0);position:relative;overflow:hidden;}
.ed--navy::before{content:'';position:absolute;top:-20%;right:-8%;width:520px;height:520px;border-radius:50%;
  background:radial-gradient(circle,rgba(254,96,47,0.12),transparent 65%);pointer-events:none;}
.ed-inner{max-width:780px;margin:0 auto;position:relative;}
.ed .overline{display:block;margin-bottom:18px;}
.ed h2{font-family:var(--font-display);font-weight:700;font-size:clamp(27px,3.4vw,40px);
  letter-spacing:-0.025em;line-height:1.12;margin:0 0 28px;color:var(--navy-900);}
.ed--navy h2{color:var(--neutral-0);}
.ed h2 em{font-style:normal;color:var(--primary-500);}
.ed p{font-size:17px;font-weight:300;line-height:1.8;margin:0 0 20px;color:var(--neutral-700);}
.ed--navy p{color:rgba(255,255,255,0.78);}
.ed p:last-child{margin-bottom:0;}
.ed p strong{font-weight:600;color:var(--navy-900);}
.ed--navy p strong{color:var(--neutral-0);}
.ed .ed-lead{font-size:20px;font-weight:400;color:var(--navy-900);line-height:1.6;}
.ed--navy .ed-lead{color:#fff;}
.ed .ed-pull{font-family:var(--font-display);font-weight:700;font-size:clamp(21px,2.7vw,29px);
  line-height:1.3;letter-spacing:-0.01em;color:var(--navy-900);margin:32px 0;}
.ed--navy .ed-pull{color:#fff;}
.ed .ed-pull em{font-style:normal;color:var(--primary-500);}
.ed-cta{margin-top:36px;display:flex;flex-wrap:wrap;gap:16px;align-items:center;}
/* story callout */
.ed-story{margin:34px 0;padding:30px 34px;border-radius:var(--radius-lg);background:var(--neutral-50);
  border-left:3px solid var(--primary-500);}
.ed--alt .ed-story{background:var(--neutral-0);}
.ed--navy .ed-story{background:var(--navy-deep);border:1px solid rgba(255,255,255,0.08);border-left:3px solid var(--primary-500);}
.ed .ed-story p{font-size:16px;}
.ed-story .stat{color:var(--primary-500);font-weight:700;}
/* split: text + image */
.ed-split{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:1.05fr 0.95fr;gap:60px;align-items:center;position:relative;}
.ed-split.flip .ed-col{order:2;}
.ed-split .ed-col h2{margin-bottom:24px;}
.ed-split-media img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-lg);box-shadow:0 18px 46px rgba(3,50,73,0.14);}
@media(max-width:880px){
  .ed{padding:72px 24px;}
  .ed-split{grid-template-columns:1fr;gap:36px;}
  .ed-split.flip .ed-col{order:0;}
  .ed-split-media{order:-1;}
}
/* closing CTA panel */
.cta-section{padding:96px 32px;background:var(--neutral-50);}
.cta-panel{max-width:1100px;margin:0 auto;background:var(--navy-900);border-radius:16px;padding:72px 48px;
  text-align:center;position:relative;overflow:hidden;}
.cta-panel::before{content:'';position:absolute;top:-30%;left:50%;transform:translateX(-50%);width:640px;height:640px;
  border-radius:50%;background:radial-gradient(circle,rgba(254,96,47,0.16),transparent 62%);pointer-events:none;}
.cta-panel-inner{max-width:680px;margin:0 auto;position:relative;}
.cta-panel .overline{color:var(--green-500);margin-bottom:18px;display:block;}
.cta-panel h2{font-family:var(--font-display);font-weight:800;font-size:clamp(28px,3.4vw,44px);color:var(--neutral-0);
  letter-spacing:-0.025em;line-height:1.1;margin-bottom:20px;}
.cta-panel h2 em{font-style:normal;color:var(--primary-500);}
.cta-panel p{font-size:17px;font-weight:300;color:rgba(255,255,255,0.72);line-height:1.7;margin:0 auto 18px;max-width:560px;}
.cta-panel p strong{color:#fff;font-weight:500;}
.cta-panel .btn{margin-top:16px;font-size:16px;padding:16px 34px;}
.cta-panel .cta-note{color:rgba(255,255,255,0.5);margin-top:22px;}
@media(max-width:880px){.cta-section{padding:64px 20px;}.cta-panel{padding:56px 28px;}}
