/* WebHolick — refined typography and approved logo integration.
   Keep component layout and all page content unchanged.
   Google Fonts enhance the design online; offline uses native system fonts. */
:root {
  --font-body: "DM Sans", "Segoe UI", Arial, sans-serif;
  --font-display: "Manrope", "Segoe UI", Arial, sans-serif;
}
body { font-family: var(--font-body); font-weight:400; line-height:1.7; letter-spacing:0; }
button, input, textarea, select { font-family:var(--font-body); }
h1,h2,h3,h4,h5,h6 {
  font-family:var(--font-display);
  font-weight:700;
  letter-spacing:-.036em;
  line-height:1.18;
}
h1 { letter-spacing:-.05em; }
h2 { letter-spacing:-.042em; }
h3 { font-weight:650; letter-spacing:-.027em; }
p { letter-spacing:-.005em; }
/* Deliberately softer navigational hierarchy; active state uses color, not an oversized weight. */
.nav-link,.nav-trigger { font-weight:500; font-size:.92rem; letter-spacing:-.008em; }
.nav-link.active { font-weight:600; }
.dropdown a { font-weight:500; line-height:1.45; }
.mobile-nav a { font-weight:500; }
.mobile-nav a.subnav { font-weight:450; }
/* Buttons should read confidently rather than feeling extra-bold. */
.btn,.nav-cta { font-weight:600; letter-spacing:0; }
.text-cta,.text-link,.read-arrow,.back-link,.footer-hello,.hero-bottom-inner a { font-weight:600; }
.related-card { font-weight:600; }
.project-tabs button { font-weight:550; }
.project-caption h3 { font-weight:650; }
.service-tile h3 { font-weight:650; }
.article-card h3 { font-weight:650; }
.footer-column a { font-weight:450; }
.footer-column h3 { font-weight:650; }
.project-form label,.faq-item summary,.benefit-list li,.number-list li { font-weight:600; }
.pill,.eyebrow,.hero-proof-badge,.tile-index,.process-no,.article-meta,.concept-tag,.breadcrumbs a,.scope-list li { font-weight:600; }
.section-heading p,.hero-lead,.about-copy>p,.why-section p,.inner-hero p,.service-hero p { line-height:1.78; }
/* Restore strong headings without uniformly bold links and labels. */
.hero h1 { font-weight:750; letter-spacing:-.061em; }
.hero-proof { font-weight:450; }
.hero-bottom-inner { font-weight:600; }
.article-meta { letter-spacing:.045em; }
/* Approved cyan-blue-purple logo on a restrained navy surface in the light header. */
.site-header .brand {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  
}
.site-header .brand img { width:230px; height:auto; object-fit:contain; }
.footer-brand img { width:265px; height:auto; object-fit:contain; margin:0 0 20px; }
/* Keeps navigation comfortable with slightly wider modern typography. */
.desktop-nav { gap:23px; }
.nav-shell { gap:17px; }
@media(max-width:1150px) and (min-width:971px) {
  .site-header .brand img { width:190px; }
  .desktop-nav { gap:13px; }
  .nav-cta { padding:10px 16px; }
}
@media(max-width:760px) {
  .site-header .brand { padding:7px 10px; border-radius:13px; }
  .site-header .brand img { width:206px; }
  .footer-brand img { width:255px; }
}
@media(max-width:360px) {
  .site-header .brand img { width:184px; }
}
@media(prefers-reduced-motion:reduce) {
  .btn:hover { transform:none; }
}
