/* v6.9.0 — Accessibility & maintainability improvements.
   - Added <main> landmarks around primary content.
   - Added aria-current="page" on active navigation links.
   - Replaced inline styles with documented utility helper classes.
*/
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@600;700&family=Open+Sans:wght@400;500;600&display=swap');
:root{--bg:#0B1223;--panel:#1E293B;--panel-2:#111827;--line:#273449;--ink:#E5E7EB;--ink-muted:#B6C2D3;--white:#FFFFFF;--blue:#2C7BE5;--teal:#00C6B2;--violet:#6D5BD0;--card-shadow:0 14px 32px rgba(0,0,0,.35)}
html{overflow-y:scroll;scroll-behavior:smooth}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:"Open Sans",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
a{color:#93C5FD}a:hover{color:#BFDBFE;text-decoration:underline}.wrap{max-width:1100px;margin:0 auto;padding:0 20px}
h1,h2,h3{font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:#F8FAFC;margin:0 0 10px}h1{font-weight:700;font-size:50px;line-height:1.2}h2{font-weight:700;font-size:28px;line-height:1.25;padding-bottom:6px;position:relative}h3{font-weight:600;font-size:20px;color:#E5E7EB}
.card h2::after{content:"";display:block;width:90px;height:3px;border-radius:3px;margin-top:10px;background:linear-gradient(90deg,var(--blue),var(--teal))}
.card h2 + p,.card h2 + .lead,.card h1 + p.lead{color:#E8EDF6;font-weight:500;font-size:17.5px;line-height:1.7;margin-bottom:14px}
p{margin:0 0 12px;line-height:1.8;color:var(--ink-muted)}.loose-list li{margin-bottom:12px}.home .card strong{color:var(--teal);font-weight:600}
/* Buttons */
.btn{display:inline-block;background:var(--blue);color:#fff;padding:12px 18px;border-radius:10px;font-weight:700;text-decoration:none;box-shadow:0 12px 30px rgba(44,123,229,.35);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(44,123,229,.45);background:#1e63d9}
/* Teal CTA: always black text */
.btn.teal,.btn.teal:visited,.btn.teal:focus,.btn.teal:active{background:var(--teal);color:#000 !important}
.btn.teal:hover{background:#08d8c4;color:#000 !important;box-shadow:0 12px 30px rgba(0,198,178,.35)}
section{padding:56px 0;background:transparent}section.alt{background:transparent}.card{background:linear-gradient(180deg,rgba(30,41,59,1)0%,rgba(17,24,39,1)100%);border:1px solid var(--line);border-radius:14px;box-shadow:var(--card-shadow);padding:32px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:22px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.value-align{align-items:center}
@media(max-width:1100px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.grid-2,.grid-3{grid-template-columns:1fr}}@media(max-width:700px){.grid-4{grid-template-columns:1fr}}
.topbar{z-index:5;background:rgba(17,24,39,.9);backdrop-filter:saturate(120%) blur(6px);border-bottom:1px solid var(--line)}
.topbar .inner{display:flex;align-items:center;justify-content:space-between;min-height:84px;padding:16px 20px}.brandRow{display:flex;align-items:center;gap:12px}.logo-img{height:48px;width:auto;display:block}
.nav{display:flex;align-items:center;gap:18px;flex-wrap:wrap;min-height:48px}.nav a{color:#E5EAF5;text-decoration:none;font-weight:600;font-size:14px;display:inline-flex;align-items:center;line-height:1;padding:14px 0}
.nav a.btn{padding:12px 18px;border-radius:10px}@media(min-width:901px){.topbar{position:sticky;top:0}}.topbar.scrolled{box-shadow:0 6px 18px rgba(0,0,0,.35);background:rgba(17,24,39,.96)}
@media(max-width:900px){.topbar .inner{min-height:64px;padding:8px 14px}.logo-img{height:36px}.nav{gap:12px}.nav a{font-size:13px;padding:10px 0}.nav a.btn{padding:8px 12px;font-size:13px}}
.hero{position:relative;min-height:85vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#fff;padding:28px 20px 36px;background:linear-gradient(180deg,rgba(11,18,35,.6)0%,rgba(11,18,35,.85)100%),url('images/hero-background.jpg') center/cover no-repeat}
.hero h1,.hero .lead{color:#FFFFFF}.hero .lead{font-size:22px;opacity:.96;margin-bottom:24px}
.note{border-left:6px solid var(--blue);background:linear-gradient(180deg,rgba(44,123,229,.12)0%,rgba(44,123,229,.08)100%);padding:18px 20px;border-radius:14px;box-shadow:0 10px 24px rgba(0,0,0,.25)}
.note strong{display:block;font-size:20px;color:#F8FAFC;letter-spacing:.2px;margin-bottom:6px}
.expertise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:10px}.expertise-grid h4{margin:0 0 8px;color:#F8FAFC}.expertise-grid ul{margin:0;padding-left:18px}
.case-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;justify-content:center;text-align:center}.case-nav .left{justify-self:start}.case-nav .center{justify-self:center}.case-nav .right{justify-self:end}.btn.placeholder{visibility:hidden;display:inline-block}
@media(max-width:700px){.case-nav{grid-template-columns:1fr;row-gap:10px}.case-nav .left,.case-nav .center,.case-nav .right{justify-self:center}}
.footer{width:100%;max-width:100%;background:linear-gradient(180deg,rgba(17,24,39,1)0%,rgba(11,18,35,1)100%);padding:18px 6% 12px 6%;line-height:1.4;text-align:left;font-family:"IBM Plex Mono","Courier New",Courier,monospace;color:#C8D2E0;border-top:1px solid var(--line)}
.footer .brand{color:#E8EEF8;font-weight:600;font-size:13px;margin:0 0 3px;letter-spacing:.4px}.footer .tag{color:#C8D2E0;font-size:12px;margin:0 0 4px}
.footer .links{margin:0}.footer .links a{color:#93C5FD;text-decoration:none;margin-right:16px;font-size:13px}.footer .links a:hover{text-decoration:underline}.footer .legal{font-size:10px;color:#8FA1B9;margin:4px 0 0}
.policy h2{margin-top:32px}.policy a[href^="mailto:"]{word-break:break-word;overflow-wrap:anywhere}
.about h2{margin-top:32px;color:#F8FAFC}.about .leadership-quote strong{color:var(--teal)}.takeaway strong{color:var(--teal)}
.back-to-top{position:fixed;right:16px;bottom:16px;width:48px;height:48px;border-radius:9999px;background:#0F172A;border:2px solid rgba(147,197,253,.25);color:#93C5FD;display:flex;align-items:center;justify-content:center;line-height:0;box-shadow:0 10px 24px rgba(0,0,0,.35);cursor:pointer;z-index:9999;opacity:0;transform:translateY(6px);transition:opacity .3s ease,transform .3s ease;padding:0}
.back-to-top svg{width:24px;height:24px;display:block;transform:translateY(-1.5px)}.back-to-top.is-visible{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.back-to-Top{transition:none}}@media(max-width:900px){h1{font-size:38px}.hero .lead{font-size:18px}.expertise-grid{grid-template-columns:1fr}}@media(max-width:600px){h1{font-size:32px}.hero .lead{font-size:17px}.topbar .inner{flex-direction:column;align-items:flex-start;gap:8px}}
.value-grid-center>div{border:2px solid var(--line);border-radius:12px;padding:18px;background:linear-gradient(180deg,rgba(30,41,59,1)0%,rgba(17,24,39,1)100%)}
.value-grid-center>div:nth-child(1){border-color:rgba(44,123,229,.6)}.value-grid-center>div:nth-child(2){border-color:rgba(0,198,178,.6)}.value-grid-center>div:nth-child(3){border-color:rgba(109,91,208,.6)}
.case-study-title{font-size:36px;margin-bottom:10px}
@media (max-width: 768px){.case-study-title{font-size:24px;line-height:1.25}}
.accent{color:var(--teal);font-weight:600}
.arrow{color:#6D5BD0;font-weight:700;margin:0 .35rem}


/* CTA buttons – ensure black text for IT Health CTAs */
#cta-hero,
#cta-it-health{
  color:#000 !important;
}

/* Value We Create – slight upward nudge for Technology Symptoms card */
@media (min-width: 900px){
  .grid-2.value-align .card.note{
    margin-top:-20px;
  }
}


/* --- PulsePoint spacing tightening (homepage + case studies) --- */
/* Reduce vertical gaps between stacked sections on home + case study pages */
body.home section,
body.case-studies section,
body.case-study-page section,
section.case-studies-intro,
section.case-studies-grid {
  margin-top: 20px;
  margin-bottom: 20px;
}

/* Slightly reduce card padding on home + case studies for denser, cleaner flow */
body.home .card,
body.case-studies .card,
body.case-study-page .card,
section.case-studies-intro .card {
  padding: 24px;
}

/* Keep grid card padding comfortable but consistent */
body.case-studies .grid-4 .card {
  padding: 24px;
}


/* --- PulsePoint spacing tightening v2 (reduce section padding) --- */
body.home section,
body.case-studies section,
body.case-study-page section,
section.case-studies-intro,
section.case-studies-grid {
  padding-top: 24px;
  padding-bottom: 24px;
}

/* Keep intro a touch tighter */
section.case-studies-intro {
  padding-top: 20px;
  padding-bottom: 20px;
}


.tiers-cta p {
  margin-top: 1.5rem;
  text-align: center;
  font-family: inherit;
}
.talk-teal { color: #1cb5a3; }


.tiers .card {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

.tiers-cta a.btn {
  display: block;
  margin: 0 auto;
}


.tiers-cta a.btn {
  display: inline-block;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.tiers-cta {
  text-align: center;
}


.tiers-cta p {
  font-family: inherit;
  font-weight: 400;
  color: #1a1a1a; /* default body text color */
}



.tiers-cta p {
  color: #ffffff !important;
}



.tiers .card {
  border: 1px solid rgba(255,255,255,0.18) !important;
  border-radius: 12px !important;
}


/* =========================================================
   Utility helper classes (alignment & spacing)
   Added 2025-11-25 to replace inline styles and improve maintainability.
=========================================================*/
.utility-text-center{text-align:center}
.utility-mb-0{margin-bottom:0}
.utility-mt-10{margin-top:10px}
.utility-mt-14{margin-top:14px}
.utility-m-hero-subtitle{margin:.5rem 0 1rem}
.utility-mb-18{margin-bottom:18px}
