/* === The Strategy Pitch — unified styles (fixed parsing + consistent spacing) === */

*{box-sizing:border-box;margin:0;padding:0;}
html{font-size:16px;}
body{
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.6;
  color:#1f2933;
  background-color:#f7fafc;
}
h1,h2,h3{letter-spacing:-0.01em;}
p{max-width:80ch;}
a{color:inherit;text-decoration:none;}

/* Layout container — consistent margins on every page */
.container{
  width:min(1120px,100%);
  margin:0 auto;
  padding-left:clamp(16px,3vw,36px);
  padding-right:clamp(16px,3vw,36px);
}

/* Header / Nav */
header.site-header{
  background-color:#0b3c5d;
  color:#ffffff;
  padding:1.25rem 0;
}
.navbar{display:flex;align-items:center;justify-content:space-between;}
.navbar-brand{
  display:flex;align-items:center;
  font-weight:700;font-size:1.1rem;
  letter-spacing:0.06em;text-transform:uppercase;
}
.navbar-brand .logo{height:40px;width:auto;margin-right:0.75rem;}
.nav-links a{margin-left:1.5rem;font-size:0.9rem;opacity:0.9;}
.nav-links a:hover{opacity:1;text-decoration:underline;}

/* Brand link helper (used by updated pages) */
.brand-link{
  display:flex;
  align-items:center;
  gap:0.6rem;
  text-decoration:none;
  color:inherit;
}
.brand-link img{height:40px;width:auto;display:block;}
.nav-links a[aria-current="page"]{font-weight:600;text-decoration:underline;}

/* Homepage hero (blue gradient) */
.hero{
  background:radial-gradient(circle at top left,#1d72b8 0,#0b3c5d 55%,#020617 100%);
  color:#ffffff;
  padding:3.5rem 0 3rem 0;
}
.hero-grid{
  display:grid;
  grid-template-columns:3fr 2fr;
  gap:2.5rem;
  align-items:center;
}
.hero h1{font-size:2.2rem;margin-bottom:1rem;}
.hero p{font-size:1rem;opacity:0.96;}
.hero-sub{margin-bottom:1rem;}
.hero-support{margin-top:0.75rem;font-size:0.9rem;opacity:0.9;}
.hero-cta{margin-top:1.6rem;display:flex;flex-wrap:wrap;gap:0.75rem;}
.hero-meta{margin-top:1.25rem;font-size:0.85rem;opacity:0.9;}
.hero-aside{
  background-color:rgba(15,52,96,0.82);
  border-radius:1rem;
  padding:1.5rem;
  font-size:0.9rem;
  box-shadow:0 10px 30px rgba(0,0,0,0.4);
}
.hero-aside h2{font-size:1rem;margin-bottom:0.75rem;}
.hero-aside p{margin-bottom:0.6rem;}
.hero-photo-wrapper{
  width:130px;height:130px;border-radius:999px;overflow:hidden;
  margin:0 auto 1rem auto;
  border:3px solid rgba(255,255,255,0.9);
  box-shadow:0 7px 20px rgba(0,0,0,0.5);
}
.hero-photo{width:100%;height:100%;object-fit:cover;display:block;}
.hero-aside small{
  display:block;text-align:center;font-size:0.78rem;
  text-transform:uppercase;letter-spacing:0.08em;
  opacity:0.9;margin-bottom:0.85rem;
}

/* Service page hero — use <section class="page-hero"> (NOT <header>) */
.page-hero{
  background:#ffffff;
  color:#0b3c5d;
  padding:2.75rem 0 1.75rem;
  border-bottom:1px solid rgba(11,60,93,0.12);
}
.page-hero .badge{background-color:rgba(228,239,250,0.85);}
.page-hero h1{
  font-size:clamp(1.85rem,3.1vw,2.35rem);
  line-height:1.18;
  margin-bottom:0.85rem;
}
.page-hero p{
  font-size:1.02rem;
  color:rgba(11,60,93,0.9);
  max-width:72ch;
}
.page-hero .hero-cta{margin-top:1.35rem;}
.page-hero .btn-secondary{color:#0b3c5d;border-color:rgba(11,60,93,0.35);}

/* Sections */
.section{padding:clamp(2.25rem,4vw,3.25rem) 0;}
.section.alt{background-color:#ffffff;}
.section h2{
  font-size:clamp(1.35rem,2.2vw,1.65rem);
  line-height:1.22;
  margin-bottom:1.1rem;
}
.section-lead{
  font-size:1rem;
  line-height:1.65;
  max-width:78ch;
  margin-bottom:1.75rem;
  color:#52606d;
}

/* Grids */
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;}

/* Cards */
.card{
  background-color:#ffffff;
  border-radius:0.75rem;
  padding:clamp(1.15rem,2vw,1.6rem);
  box-shadow:0 6px 22px rgba(15,23,42,0.07);
}
.card h3{font-size:1.12rem;line-height:1.25;margin-bottom:0.6rem;}
.card p,.list li{font-size:0.95rem;line-height:1.55;color:#52606d;}

/* Badges + Lists */
.badge{
  display:inline-block;
  padding:0.2rem 0.65rem;
  border-radius:999px;
  background-color:#e4effa;
  color:#1d4ed8;
  font-size:0.78rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:0.05em;
  margin-bottom:0.6rem;
}
.list{list-style:none;margin-top:0.5rem;}
.list li{margin-bottom:0.4rem;}
.list li::before{
  content:"•";
  color:#1d72b8;
  display:inline-block;
  width:1rem;
  margin-left:-1rem;
}

/* Callouts */
.callout{
  border-left:4px solid #1d72b8;
  padding-left:1rem;
  margin-top:1.25rem;
  font-size:0.95rem;
  color:#364152;
}

/* Buttons */
.btn-primary{
  background-color:#ffd166;
  color:#111827;
  padding:0.75rem 1.7rem;
  border-radius:999px;
  border:none;
  font-weight:600;
  font-size:0.95rem;
  cursor:pointer;
}
.btn-secondary{
  background-color:transparent;
  color:#ffffff;
  padding:0.75rem 1.7rem;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.7);
  font-weight:500;
  font-size:0.9rem;
  cursor:pointer;
}
a.btn-primary,a.btn-secondary{text-decoration:none;}

/* Service cards – consistent CTA placement */
.service-card{display:flex;flex-direction:column;}
.service-card .card-cta{
  margin-top:auto;
  display:flex;
  justify-content:flex-end;
  padding-top:1rem;
}
.service-card .btn-primary,.service-card .btn-secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
}

/* Contact section helpers */
.contact-section{text-align:center;}
.contact-details a{color:#1d72b8;text-decoration:underline;}

/* Founder / credibility blocks */
.founder-grid{display:grid;grid-template-columns:140px 1fr;gap:1.5rem;align-items:start;}
.founder-photo,.about-photo{width:140px;}
.founder-img{
  width:140px;height:140px;border-radius:999px;object-fit:cover;display:block;
  border:3px solid rgba(11,60,93,0.15);
  box-shadow:0 6px 18px rgba(0,0,0,0.10);
}
.founder-inline{
  display:flex;gap:0.9rem;align-items:center;
  background:#f8fafc;
  border:1px solid rgba(15,23,42,0.08);
  border-radius:0.75rem;
  padding:0.9rem;
  margin:1rem 0 1.25rem 0;
}
.founder-inline__photo img{width:56px;height:56px;border-radius:999px;object-fit:cover;display:block;}
.founder-inline__text p{margin:0;font-size:0.92rem;color:#364152;}

/* About page layout (explicit hardening) */
.about-grid{
  display:grid;
  grid-template-columns:160px 1fr;
  gap:2rem;
  align-items:start;
}
.about-photo img{
  width:160px;
  height:160px;
  border-radius:999px;
  object-fit:cover;
  display:block;
  border:3px solid rgba(11,60,93,0.15);
  box-shadow:0 6px 18px rgba(0,0,0,0.10);
}
.about-grid .section-lead{margin-bottom:1.25rem;}
.about-grid ul.list{margin-top:0.75rem;}
.about-grid .card{background:#ffffff;}

/* Numbered list */
.num-list{margin-top:0.6rem;padding-left:1.15rem;}
.num-list li{margin-bottom:0.55rem;font-size:0.95rem;color:#364152;}

/* Footer */
footer,.footer{
  background-color:#020617;
  color:#cbd2d9;
  padding:1.75rem 0;
  font-size:0.85rem;
}
footer .footer-inner,.footer-inner{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:0.75rem;
  align-items:center;
}
footer a,.footer a{color:#e4effa;text-decoration:underline;font-size:0.85rem;}

/* Responsive */
@media (max-width: 768px){
  .hero-grid{grid-template-columns:1fr;}
  .grid-2{grid-template-columns:1fr;}
  .founder-grid,.about-grid{grid-template-columns:1fr;}
  .founder-photo,.about-photo{width:auto;}
  .founder-img,.about-photo img{margin:0 auto;}
  /* If you do not have a mobile menu yet, hide tabs on small screens */
  .nav-links{display:none;}
  .page-hero{padding:2.15rem 0 1.35rem;}
  .page-hero p{font-size:1rem;}
}

/* ============================
   REMOVE DECORATIVE HYPHENS (SAFE, SCOPED)
   ============================ */

/* Hide standalone hyphen separators used as visual dividers by class only */
.hyphen,
.separator,
.divider,
span.hyphen,
span.separator,
span.divider,
.dash,
.emdash,
.endash{
  display:none !important;
}

/* If any divider is injected via pseudo-elements, neutralize only on divider classes */
.hyphen::before,.hyphen::after,
.separator::before,.separator::after,
.divider::before,.divider::after,
.dash::before,.dash::after,
.emdash::before,.emdash::after,
.endash::before,.endash::after{
  content:none !important;
}

/* ============================
   ADDITIONS: CTA + link clarity (SAFE, ADDITIVE)
   ============================ */

/* Ensure hero CTA buttons render consistently everywhere */
.hero-cta .btn-primary,
.hero-cta .btn-secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  line-height:1;
}

/* Make small links in hero-aside clearly clickable */
.hero-aside small a{
  text-decoration:underline;
}

/* Accessible focus states */
a:focus-visible,
button:focus-visible{
  outline:2px solid rgba(255,209,102,0.95);
  outline-offset:3px;
  border-radius:6px;
}