/* Official Google Fonts: Inter italic, latin-ext. */
@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url('../fonts/inter-italic-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Official Google Fonts: Inter italic, latin. */
@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url('../fonts/inter-italic-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Official Google Fonts: Inter normal, latin-ext. */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../fonts/inter-normal-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Official Google Fonts: Inter normal, latin. */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../fonts/inter-normal-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Neutral typography. The final hero stylesheet owns hero sizes and layout. */
:root {
  --font-body: 'Inter', sans-serif;
  --font-heading: var(--font-body);
  --font-ui: var(--font-body);
  --tracking-body: 0;
  --tracking-heading: -0.025em;
  --tracking-ui: -0.005em;
  --text-body: #353a3e;
  --muted: #353a3e;
  --dark-muted: #d4d9de;
  font-family: var(--font-body);
}
body,
.editor-styles-wrapper {
  font-family: var(--font-body);
  font-weight: 400;
  font-optical-sizing: auto;
  letter-spacing: var(--tracking-body);
  font-synthesis: none;
  color: var(--text-body);
}
h1, h2, h3, h4, h5, h6,
.editor-styles-wrapper :is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--font-heading);
  font-weight: 600;
  letter-spacing: var(--tracking-heading);
}
button,
.button,
.wp-block-button__link,
nav,
.site-header,
.mobile-contact,
.text-link,
.city-list > a,
.page-breadcrumb,
.aside-services,
.faq-list summary,
.contact-options strong,
.year-label > strong,
.proof-number,
.rating-score,
.footer-owner {
  font-family: var(--font-ui);
  letter-spacing: var(--tracking-ui);
}
button, .button, .wp-block-button__link, nav, .text-link,
.city-list > a, .faq-list summary, .contact-options strong,
.year-label > strong, .proof-number, .rating-score, .footer-owner {
  font-weight: 600;
}
input, textarea, select, .google-word {
  font-family: var(--font-body);
}
/* Stronger text contrast on light sections; dark sections retain their light text. */
p,
.hero-note,
.step-number,
.small-label,
.page-lead,
.page-breadcrumb,
.page-content,
.rating-count,
.review-rating,
.review-author > a,
.reviews-footer > p,
.footer-bottom,
.aside-contact p,
.aside-email,
.service p,
.process-list p,
.area-grid p:not(.eyebrow),
.faq-list details > p,
.consent-copy > p,
.consent-choice small,
.consent-form > p {
  color: var(--text-body);
}
.work-section p,
.work-section .gallery-hint,
.work-section .small-label,
.work-section .work-gallery figcaption > span:last-child {
  color: var(--text-body);
}
.image-dialog figcaption { color: var(--dark-muted); }
.about-section .about-copy > p,
.contact-section .contact-grid p,
.contact-section .contact-options .contact-help,
.contact-section .contact-options .small-label {
  color: var(--dark-muted);
}
/* Bootstrap Icons use filled paths. Disable legacy outline strokes. */
.icon:has(use[href^='#lew-icon-']),
.icon:has(use[href^='#i-']) {
  fill: currentColor;
  stroke: none;
}
