*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;line-height:1.6;color:#333;background:#f8fafc}
.container{max-width:1200px;margin:0 auto;padding:0 20px}

/* Header */
header{background:rgba(255,255,255,.95);backdrop-filter:blur(10px);padding:1rem 0;box-shadow:0 2px 20px rgba(0,0,0,.1);position:fixed;width:100%;top:0;z-index:1000}
.header-content{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto;padding:0 20px;position:relative}
.logo{font-size:1.5rem;font-weight:700;color:#4f46e5;display:flex;align-items:center;gap:.5rem;z-index:1001}
.navigation-menu{display:flex;align-items:center;gap:2rem}
.nav-item{text-decoration:none;color:#374151;font-weight:500;padding:.5rem 1rem;border-radius:8px;transition:all .3s ease;white-space:nowrap}
.nav-item:hover{color:#4f46e5;background:rgba(79,70,229,.1)}
.nav-highlight{background:linear-gradient(135deg,#4f46e5,#7c3aed)!important;color:#fff!important;font-weight:600}
.mobile-menu-toggle{display:none;flex-direction:column;background:none;border:none;cursor:pointer;padding:8px;z-index:1001}
.hamburger-line{width:24px;height:3px;background-color:#4f46e5;margin:2px 0;transition:all .3s ease;border-radius:2px}
.mobile-menu-toggle.active .hamburger-line:nth-child(1){transform:rotate(-45deg) translate(-5px,6px)}
.mobile-menu-toggle.active .hamburger-line:nth-child(2){opacity:0}
.mobile-menu-toggle.active .hamburger-line:nth-child(3){transform:rotate(45deg) translate(-5px,-6px)}
.mobile-overlay{position:fixed;top:0;left:0;width:100%;height:100vh;background:rgba(0,0,0,.5);z-index:999;opacity:0;visibility:hidden;transition:all .3s ease}
.mobile-overlay.active{opacity:1;visibility:visible}

/* Breadcrumb */
.breadcrumb{background:#fff;padding:1rem 0;border-bottom:1px solid #e5e7eb;margin-top:80px}
.breadcrumb a{color:#4f46e5;text-decoration:none}
.breadcrumb span{color:#6b7280}

/* Hero */
.hero-section{color:#fff;padding:6rem 0 4rem;text-align:center;margin-bottom:2.5rem}
.hero-section h1{font-size:3.2rem;font-weight:800;margin-bottom:1.25rem;background:linear-gradient(45deg,#fff,#e0e7ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;max-width:1000px;margin-left:auto;margin-right:auto}
.hero-subtitle{font-size:1.25rem;margin-bottom:0;opacity:.9;max-width:800px;margin-left:auto;margin-right:auto}
.hero--teal-purple{background:linear-gradient(135deg,#14b8a6 0%,#7c3aed 100%)}
.hero--green-teal{background:linear-gradient(135deg,#10b981 0%,#059669 100%)}
.hero--blue-indigo{background:linear-gradient(135deg,#0ea5e9 0%,#4f46e5 100%)}
.hero--amber-rose{background:linear-gradient(135deg,#f59e0b 0%,#f43f5e 100%)}
.hero--slate{background:linear-gradient(135deg,#1f2937,#374151)}

/* Layout with sticky TOC */
.content-with-toc{display:grid;grid-template-columns:280px 1fr;gap:2rem;align-items:start}
.onpage{position:sticky;top:110px;align-self:start;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:14px 16px}
.onpage h3{font-size:1rem;margin-bottom:.5rem;color:#1f2937}
.onpage ul{list-style:none}
.onpage a{display:block;text-decoration:none;color:#374151;padding:.5rem .75rem;border-radius:8px;margin:.25rem 0;transition:background .2s}
.onpage a:hover{background:#f3f4f6}

/* Sections */
section{margin:36px 0;padding:18px;background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 1px 2px rgba(0,0,0,.04)}
section h2{text-align:center;font-size:2.2rem;margin:0 0 1.5rem;color:#1f2937}

/* CSS markers */
.section-card{position:relative;scroll-margin-top:110px}
.section-card:target::before{content:"";position:absolute;left:-8px;top:12px;bottom:12px;width:4px;background:linear-gradient(180deg,var(--marker-start,#10b981),var(--marker-end,#059669));border-radius:2px}
.marker-green-teal{--marker-start:#10b981;--marker-end:#059669}
.marker-teal-purple{--marker-start:#14b8a6;--marker-end:#7c3aed}
.marker-blue-indigo{--marker-start:#0ea5e9;--marker-end:#4f46e5}
.marker-amber-rose{--marker-start:#f59e0b;--marker-end:#f43f5e}
.marker-slate{--marker-start:#1f2937;--marker-end:#374151}

/* Cards/grid */
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:3rem;margin-bottom:1rem}
.service-card{background:#fff;padding:2rem;border-radius:20px;box-shadow:0 20px 40px rgba(0,0,0,.1);border:1px solid #e5e7eb;transition:transform .3s ease,box-shadow .3s ease;text-align:left}
.service-card:hover{transform:translateY(-5px);box-shadow:0 30px 60px rgba(0,0,0,.15)}
.service-icon{font-size:2rem;margin-bottom:1rem;display:block}
.service-card h3{font-size:1.3rem;margin-bottom:.5rem;color:#1f2937}
.service-card p{color:#4b5563;margin-bottom:1rem}
.service-features{list-style:none;margin:0}
.service-features li{padding:.45rem 0;color:#059669;font-weight:500;position:relative;padding-left:1.6rem}
.service-features li:before{content:"✓";position:absolute;left:0;color:#10b981;font-weight:700;font-size:1.1rem}

/* Comparison */
.comparison-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-bottom:1rem}
.comparison-item{padding:2rem;border-radius:15px;background:#fff;border:1px solid #e5e7eb}
.comparison-list{list-style:none}
.comparison-list li{padding:.5rem 0;position:relative;padding-left:2rem}
.comparison-list.negative li:before{content:"✗";position:absolute;left:0;color:#dc2626;font-weight:700}
.comparison-list.positive li:before{content:"✓";position:absolute;left:0;color:#10b981;font-weight:700}

/* Metrics */
.metrics-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));margin-top:8px}
.metric-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:18px 16px;text-align:center}
.metric-title{font-size:18px;font-weight:700;color:#0b3dda}
.metric-subtitle{color:#64748b;margin-top:4px}
.disclosure{margin:14px 4px 4px;color:#64748b;font-size:14px;text-align:center}

/* CTA dark section */
.cta-section{background:linear-gradient(135deg,#1f2937,#374151);color:#fff;text-align:center;padding:3rem 1rem;border:none}
.cta-button{display:inline-block;background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:1rem 1.25rem;border-radius:10px;text-decoration:none;font-weight:700;transition:transform .2s}
.cta-button:hover{transform:translateY(-2px);color:#fff}
.cta-button.secondary{background:transparent;border:2px solid #fff}

/* Footer */
footer{border-top:1px solid #e5e7eb;color:#4b5563;padding:2rem 0 3rem}
.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem;margin-bottom:1.5rem}
.footer-section h3{margin-bottom:.5rem}
.footer-section ul{list-style:none;padding-left:0}
.footer-section li{margin:.35rem 0}
.footer-section a{text-decoration:none;color:#374151}
.footer-section a:hover{color:#111827}
.footer-bottom{color:#6b7280}

/* Header dropdown */
.dropdown{position:relative}
.dropdown-menu{display:none;position:absolute;top:100%;left:0;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 10px 25px rgba(0,0,0,.08);padding:8px;min-width:260px;z-index:1002}
.dropdown:hover .dropdown-menu{display:block}
.nav-subitem{display:block;padding:.6rem .9rem;border-radius:10px;color:#374151;text-decoration:none;white-space:nowrap}
.nav-subitem:hover{background:#f3f4f6;color:#4f46e5}
@media(max-width:768px){.dropdown-menu{position:static;display:block;border:none;box-shadow:none;padding:0}.nav-subitem{padding:1rem 1.5rem}}

/* Responsive */
@media(max-width:900px){.comparison-grid{grid-template-columns:1fr}}
@media(max-width:1024px){.content-with-toc{grid-template-columns:1fr}.onpage{position:relative;top:auto}}
@media(max-width:768px){.hero-section h1{font-size:2.4rem}.hero-subtitle{font-size:1.1rem}.mobile-menu-toggle{display:flex}.navigation-menu{position:fixed;top:0;right:-100%;width:280px;height:100vh;background:#fff;flex-direction:column;justify-content:flex-start;align-items:stretch;padding:100px 30px 30px;box-shadow:-5px 0 15px rgba(0,0,0,.1);transition:right .3s ease;z-index:1000;gap:.5rem}.navigation-menu.active{right:0}.nav-item{display:block;padding:1rem 1.5rem;margin-bottom:.5rem;border-radius:10px;font-size:1.1rem;text-align:left}}

/* CSS-only mobile nav toggle */
.nav-toggle{display:none}
@media(max-width:768px){
  .nav-toggle:checked ~ .navigation-menu{right:0}
  .nav-toggle:checked ~ .mobile-overlay{opacity:1;visibility:visible}
  .nav-toggle:checked ~ .mobile-menu-toggle .hamburger-line:nth-child(1){transform:rotate(-45deg) translate(-5px,6px)}
  .nav-toggle:checked ~ .mobile-menu-toggle .hamburger-line:nth-child(2){opacity:0}
  .nav-toggle:checked ~ .mobile-menu-toggle .hamburger-line:nth-child(3){transform:rotate(45deg) translate(-5px,-6px)}
}

/* CTA heading color */
.cta-section h2,
.cta-section h1{color:#fff!important}

/* Subtle tint utilities for content cards */
.service-card.tint-rose{background:#fef2f2;border:1px solid #fecaca}
.service-card.tint-amber{background:#fef3c7;border:1px solid #fde68a}
.service-card.tint-teal{background:#ecfdf5;border:1px solid #a7f3d0}

/* Section background utility */
.section-cream{background:linear-gradient(135deg,#fffaf0,#fff7ed);border:1px solid #fde68a}

/* Metric card color variants */
.metric-card.metric-amber{background:#fff7ed;border:1px solid #fcd34d}
.metric-card.metric-sky{background:#f0f9ff;border:1px solid #38bdf8}
.metric-card.metric-rose{background:#fff1f2;border:1px solid #fda4af}
.metric-card.metric-teal{background:#f0fdfa;border:1px solid #5eead4}
.metric-card.metric-amber .metric-title,
.metric-card.metric-sky .metric-title,
.metric-card.metric-rose .metric-title,
.metric-card.metric-teal .metric-title{color:#1f2937}
.metric-card.metric-amber .metric-subtitle,
.metric-card.metric-sky .metric-subtitle,
.metric-card.metric-rose .metric-subtitle,
.metric-card.metric-teal .metric-subtitle{color:#374151}

/* Additional hero gradient palette */
.hero--violet-sky{background:linear-gradient(135deg,#7c3aed 0%,#0ea5e9 100%)}
.hero--rose-gold{background:linear-gradient(135deg,#f97316 0%,#ec4899 100%)}
.hero--indigo-slate{background:linear-gradient(135deg,#4f46e5 0%,#334155 100%)}
.hero--cyan-blue{background:linear-gradient(135deg,#06b6d4 0%,#2563eb 100%)}

/* Wider CTA content (forced) */
.cta-section.cta--wide > .container {
  max-width: 1440px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}
@media (min-width: 1600px) {
  .cta-section.cta--wide > .container { max-width: 1500px !important; }
}

/* Full-bleed utility for sections nested in a .container */
.section--fullbleed{
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  width: 100vw;
  border-radius: 0 !important;
  box-shadow: none !important;
  border: none !important;
}

/* === Logo sitewide sizing and link styles === */
a.logo{color:#4f46e5;text-decoration:none}
a.logo:visited{color:#4f46e5}
.logo img{height:28px;width:auto;display:block;transition:transform .18s ease,filter .18s ease}
.header-content .logo:hover img{transform:rotate(-6deg) scale(1.05);filter:drop-shadow(0 2px 6px rgba(0,0,0,.15))}
@media (prefers-reduced-motion: reduce){.header-content .logo:hover img{transform:none;filter:none}}

/* === Hero stats (used on Resources checklist) === */
.hero-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;max-width:800px;margin:0 auto}
.stat-item{text-align:center}
.stat-number{display:block;font-size:2rem;font-weight:700;color:#34d399}
.stat-text{display:block;font-size:1rem;opacity:.9}
