/* AI TEMPLATE STYLE GUIDE
 * Keep selectors, layout, breakpoints and interaction states intact.
 * Concrete color values live only in custom-property definitions.
 * Update the documented BRAND tokens from Color Preferences; keep defaults if absent.
 * Reconcile hover/focus/text contrast and form aliases together when changing a palette.
 * currentColor is inherited semantic color, not a separate palette literal.
 */
:root {
  /* --styles-component--webkit-tap-highlight-color-tone-01: styles component  webkit tap highlight color tone 01. Scope: :root. BRAND: coordinate with the client Color Preferences; retain the default when absent. Exact original color for -webkit-tap-highlight-color in button,a,input. */
  --styles-component--webkit-tap-highlight-color-tone-01: transparent;
  /* --styles-component-mask-image-tone-02: styles component mask image tone 02. Scope: :root. FUNCTIONAL: preserve the meaning, readable contrast and the intended alpha/opacity. Exact original color for mask-image in .hero-photo. */
  --styles-component-mask-image-tone-02: transparent;
  /* --styles-component-background-tone-03: styles component background tone 03. Scope: :root. STRUCTURAL/NEUTRAL: retain layout or neutral role; color may be coordinated with the brand only where appropriate. Exact original color for background in .text-link. */
  --styles-component-background-tone-03: transparent;
  /* --styles-component-background-image-tone-04: styles component background image tone 04. Scope: :root. STRUCTURAL/NEUTRAL: retain layout or neutral role; color may be coordinated with the brand only where appropriate. Exact original color for background-image in .dot-pattern. */
  --styles-component-background-image-tone-04: transparent;
  /* --styles-component-background-tone-05: styles component background tone 05. Scope: :root. STRUCTURAL/NEUTRAL: retain layout or neutral role; color may be coordinated with the brand only where appropriate. Exact original color for background in .button::after,.service-card::after,.hub-card::after,.hub-card > a::after. */
  --styles-component-background-tone-05: transparent;
}

/* Color Variables — change this section to customize the entire palette. */

/* Color/theme configuration. Preserve selectors and specificity. */

:root {
  /* --color-ink: primary heading/body emphasis; pair with --color-copy. Scope: :root. BRAND: coordinate with the client Color Preferences; retain the default when absent. */
  --color-ink: #101432;
  /* --color-copy: muted paragraph text; coordinate with --color-ink while preserving readable contrast. Scope: :root. BRAND: coordinate with the client Color Preferences; retain the default when absent. */
  --color-copy: #606778;
  /* --color-blue: primary blue accent for links, icons and navigation; synchronize theme-color metadata. Scope: :root. BRAND: coordinate with the client Color Preferences; retain the default when absent. */
  --color-blue: #0869ed;
  /* --color-blue-hover: darker interaction variant of --color-blue; hover shade paired with the corresponding base color, keep sufficient contrast. Scope: :root. BRAND: coordinate with the client Color Preferences; retain the default when absent. */
  --color-blue-hover: #0056cf;
  /* --color-green: primary CTA accent; coordinate --color-green-dark and --color-green-hover. Scope: :root. BRAND: coordinate with the client Color Preferences; retain the default when absent. */
  --color-green: #00b51b;
  /* --color-green-dark: darker CTA/form base shade paired with --color-green. Scope: :root. BRAND: coordinate with the client Color Preferences; retain the default when absent. */
  --color-green-dark: #00a216;
  /* --color-green-hover: hover/active CTA shade paired with --color-green; hover shade paired with the corresponding base color, keep sufficient contrast. Scope: :root. BRAND: coordinate with the client Color Preferences; retain the default when absent. */
  --color-green-hover: #008d17;
  /* --color-white: pure neutral for white surfaces and text on colored controls. Scope: :root. STRUCTURAL/NEUTRAL: retain layout or neutral role; color may be coordinated with the brand only where appropriate. */
  --color-white: #fff;
  /* --color-background: page base surface. Scope: :root. STRUCTURAL/NEUTRAL: retain layout or neutral role; color may be coordinated with the brand only where appropriate. */
  --color-background: #fff;
  /* --color-soft: alternate lightly tinted section/input surface. Scope: :root. BRAND: coordinate with the client Color Preferences; retain the default when absent. */
  --color-soft: #f6fbfe;
  /* --color-card: card and contact-panel surface. Scope: :root. STRUCTURAL/NEUTRAL: retain layout or neutral role; color may be coordinated with the brand only where appropriate. */
  --color-card: #fff;
  /* --color-line: subtle card/divider border. Scope: :root. STRUCTURAL/NEUTRAL: retain layout or neutral role; color may be coordinated with the brand only where appropriate. */
  --color-line: #edf2f6;
  /* --color-decoration: pale blue decorative shapes and form/divider border. Scope: :root. BRAND: coordinate with the client Color Preferences; retain the default when absent. */
  --color-decoration: #d9edfa;
  /* --color-star: rating star indicator; does not establish a real rating. Scope: :root. FUNCTIONAL: preserve the meaning, readable contrast and the intended alpha/opacity. */
  --color-star: #efb71c;
  /* --color-focus: keyboard focus indicator, paired with adjacent button/input surfaces; keyboard focus indicator, must remain visible against adjacent surfaces. Scope: :root. FUNCTIONAL: preserve the meaning, readable contrast and the intended alpha/opacity. */
  --color-focus: #0849b8;
  /* --color-overlay: translucent backdrop behind dialogs; preserve alpha. Scope: :root. FUNCTIONAL: preserve the meaning, readable contrast and the intended alpha/opacity. */
  --color-overlay: rgb(11 23 48 / 45%);
  /* --shadow-card: shadow card; shadow dimensions remain fixed, coordinate only the color/alpha. Scope: :root. STRUCTURAL/NEUTRAL: retain layout or neutral role; color may be coordinated with the brand only where appropriate. */
  --shadow-card: 0 3px 15px rgb(23 72 102 / 5%);
  /* --shadow-green: shadow green; shadow dimensions remain fixed, coordinate only the color/alpha. Scope: :root. STRUCTURAL/NEUTRAL: retain layout or neutral role; color may be coordinated with the brand only where appropriate. */
  --shadow-green: 0 7px 23px rgb(0 176 33 / 23%);
  /* --shadow-blue: shadow blue; shadow dimensions remain fixed, coordinate only the color/alpha. Scope: :root. STRUCTURAL/NEUTRAL: retain layout or neutral role; color may be coordinated with the brand only where appropriate. */
  --shadow-blue: 0 7px 23px rgb(0 104 239 / 21%);
  /* --shadow-dialog: shadow dialog; shadow dimensions remain fixed, coordinate only the color/alpha. Scope: :root. STRUCTURAL/NEUTRAL: retain layout or neutral role; color may be coordinated with the brand only where appropriate. */
  --shadow-dialog: 0 24px 90px rgb(7 23 42 / 22%);
  /* --fade-white: fade white. Scope: :root. FUNCTIONAL: preserve the meaning, readable contrast and the intended alpha/opacity. */
  --fade-white: rgb(255 255 255 / 0%);
  /* --mask-solid: mask solid. Scope: :root. FUNCTIONAL: preserve the meaning, readable contrast and the intended alpha/opacity. */
  --mask-solid: #000;
  /* --font-body: body/UI font stack; retain metrics unless explicitly redesigning typography. Scope: :root. STRUCTURAL/NEUTRAL: retain layout or neutral role; color may be coordinated with the brand only where appropriate. */
  --font-body: Arial,Helvetica,sans-serif;
  /* --container: maximum content width; retain for every client. Scope: :root. STRUCTURAL/NEUTRAL: retain layout or neutral role; color may be coordinated with the brand only where appropriate. */
  --container: 1344px;
  /* --gutter: desktop page-side spacing; retain responsive overrides. Scope: :root. STRUCTURAL/NEUTRAL: retain layout or neutral role; color may be coordinated with the brand only where appropriate. */
  --gutter: 48px;
  /* --radius-card: radius card. Scope: :root. STRUCTURAL/NEUTRAL: retain layout or neutral role; color may be coordinated with the brand only where appropriate. */
  --radius-card: 9px;
  /* --radius-button: radius button. Scope: :root. STRUCTURAL/NEUTRAL: retain layout or neutral role; color may be coordinated with the brand only where appropriate. */
  --radius-button: 100px;
  /* --transition: control interaction duration/easing; retain reduced-motion handling. Scope: :root. STRUCTURAL/NEUTRAL: retain layout or neutral role; color may be coordinated with the brand only where appropriate. */
  --transition: 180ms ease;
  /* --hover-lift: hover translation distance; retain pointer-bridge geometry; hover shade paired with the corresponding base color, keep sufficient contrast. Scope: :root. STRUCTURAL/NEUTRAL: retain layout or neutral role; color may be coordinated with the brand only where appropriate. */
  --hover-lift: 2px;
}

/* Base and accessible shared controls. */

/* Responsive component styling for *. Preserve selectors and specificity. */

* {
  box-sizing: border-box;
}

/* Responsive component styling for html. Preserve selectors and specificity. */

html {
  scroll-behavior: smooth;
  scroll-padding-top: 24px;
}

/* Responsive component styling for body. Preserve selectors and specificity. */

body {
  margin: 0;
  font-family: var(--font-body);
  color: var(--color-ink);
  background: var(--color-background);
  -webkit-font-smoothing: antialiased;
}

/* Responsive component styling for body.menu-open,body.dialog-open. Preserve selectors and specificity. */

body.menu-open,body.dialog-open {
  overflow: hidden;
}

/* Responsive component styling for a. Preserve selectors and specificity. */

a {
  color: inherit;
  text-decoration: none;
}

/* Responsive component styling for button,input. Preserve selectors and specificity. */

button,input {
  font: inherit;
}

/* Responsive component styling for button. Preserve selectors and specificity. */

button {
  color: inherit;
  cursor: pointer;
}

/* Responsive component styling for button,a,input. Preserve selectors and specificity. */

button,a,input {
  -webkit-tap-highlight-color: var(--styles-component--webkit-tap-highlight-color-tone-01);
}

/* Responsive component styling for button:focus-visible,a:focus-visible,input:focus-visible; visible keyboard focus state. Preserve selectors and specificity. */

button:focus-visible,a:focus-visible,input:focus-visible {
  outline: 3px solid var(--color-focus);
  outline-offset: 5px;
}

/* Responsive component styling for img. Preserve selectors and specificity. */

img {
  display: block;
  max-width: 100%;
}

/* Responsive component styling for h1,h2,h3,p,figure,blockquote. Preserve selectors and specificity. */

h1,h2,h3,p,figure,blockquote {
  margin: 0;
}

/* Responsive component styling for h1,h2,h3. Preserve selectors and specificity. */

h1,h2,h3 {
  letter-spacing: -.025em;
}

/* Responsive component styling for p. Preserve selectors and specificity. */

p {
  color: var(--color-copy);
}

/* Responsive component styling for .icon. Preserve selectors and specificity. */

.icon {
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Responsive component styling for .svg-library. Preserve selectors and specificity. */

.svg-library {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

/* Responsive component styling for .sr-only. Preserve selectors and specificity. */

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

/* Responsive component styling for .skip-link. Preserve selectors and specificity. */

.skip-link {
  position: fixed;
  left: 20px;
  top: -100px;
  z-index: 50;
  padding: 16px;
  background: var(--color-white);
  border: 2px solid var(--color-blue);
}

/* Responsive component styling for .skip-link:focus; visible keyboard focus state. Preserve selectors and specificity. */

.skip-link:focus {
  top: 12px;
}

/* Responsive component styling for .container. Preserve selectors and specificity. */

.container {
  width: min(var(--container),calc(100% - var(--gutter)*2));
  margin-inline: auto;
}

/* Responsive component styling for .eyebrow. Preserve selectors and specificity. */

.eyebrow {
  color: var(--color-blue);
  text-transform: uppercase;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 2.4px;
  line-height: 1.4;
}

/* Responsive component styling for .button. Preserve selectors and specificity. */

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 72px;
  padding: 17px 27px;
  border-radius: var(--radius-button);
  color: var(--color-white);
  font-size: 23px;
  font-weight: 700;
  white-space: nowrap;
  transition: background-color var(--transition),color var(--transition),box-shadow var(--transition),transform var(--transition);
}

/* Responsive component styling for .button .icon. Preserve selectors and specificity. */

.button .icon {
  width: 25px;
  height: 25px;
  stroke-width: 2.3;
}

/* Responsive component styling for .button .arrow. Preserve selectors and specificity. */

.button .arrow {
  width: 18px;
  height: 18px;
}

/* Responsive component styling for .button--green. Preserve selectors and specificity. */

.button--green {
  background: linear-gradient(110deg,var(--color-green),var(--color-green-dark));
  box-shadow: var(--shadow-green);
}

/* Responsive component styling for .button--blue. Preserve selectors and specificity. */

.button--blue {
  background: var(--color-blue);
  box-shadow: var(--shadow-blue);
}

/* Responsive component styling for .button:active. Preserve selectors and specificity. */

.button:active {
  transform: none;
}

/* Responsive component styling for .brand. Preserve selectors and specificity. */

.brand {
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.18;
  flex-shrink: 0;
}

/* Responsive component styling for .brand img. Preserve selectors and specificity. */

.brand img {
  width: 60px;
  height: 60px;
}

/* Responsive component styling for .phone-link. Preserve selectors and specificity. */

.phone-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 44px;
  white-space: nowrap;
  font-weight: 700;
}

/* Responsive component styling for .phone-link .icon. Preserve selectors and specificity. */

.phone-link .icon {
  color: var(--color-blue);
}

/* Header follows the compact proportions of the reference. */

/* Responsive component styling for .site-header. Preserve selectors and specificity. */

.site-header {
  height: 99px;
  background: var(--color-white);
  position: relative;
  z-index: 10;
  box-shadow: 0 2px 12px var(--color-line);
}

/* Responsive component styling for .header-inner. Preserve selectors and specificity. */

.header-inner {
  max-width: 1440px;
  height: 100%;
  padding-inline: 36px;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}

/* Responsive component styling for .desktop-nav. Preserve selectors and specificity. */

.desktop-nav {
  display: flex;
  align-items: center;
  gap: 40px;
  margin-left: auto;
}

/* Responsive component styling for .desktop-nav a. Preserve selectors and specificity. */

.desktop-nav a {
  min-height: 44px;
  display: flex;
  align-items: center;
  position: relative;
  font-size: 16px;
  font-weight: 600;
}

/* Responsive component styling for .desktop-nav a:hover,.desktop-nav a.active; pointer hover feedback paired with the base component. Preserve selectors and specificity. */

.desktop-nav a:hover,.desktop-nav a.active {
  color: var(--color-blue);
}

/* Responsive component styling for .desktop-nav a.active::after. Preserve selectors and specificity. */

.desktop-nav a.active::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--color-blue);
}

/* Responsive component styling for .header-actions. Preserve selectors and specificity. */

.header-actions {
  display: flex;
  gap: 15px;
  align-items: center;
}

/* Responsive component styling for .header-actions .phone-link. Preserve selectors and specificity. */

.header-actions .phone-link {
  border: 1px solid var(--color-line);
  border-radius: 28px;
  padding: 8px 15px;
  font-size: 16px;
}

/* Responsive component styling for .button--small. Preserve selectors and specificity. */

.button--small {
  min-height: 55px;
  padding: 12px 19px;
  font-size: 16px;
  gap: 6px;
  box-shadow: none;
}

/* Responsive component styling for .button--small>.icon:first-child. Preserve selectors and specificity. */

.button--small>.icon:first-child {
  display: none;
}

/* Responsive component styling for .button--small .arrow. Preserve selectors and specificity. */

.button--small .arrow {
  width: 12px;
}

/* Responsive component styling for .menu-toggle. Preserve selectors and specificity. */

.menu-toggle {
  display: none;
  border: 0;
  background: var(--color-soft);
  padding: 12px;
  border-radius: 8px;
}

/* Responsive component styling for .mobile-nav[hidden]; preserve visibility/disabled behavior controlled by HTML or JavaScript. Preserve selectors and specificity. */

.mobile-nav[hidden] {
  display: none;
}

/* Responsive component styling for .mobile-nav. Preserve selectors and specificity. */

.mobile-nav {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: var(--color-white);
  padding: 18px 24px;
  box-shadow: var(--shadow-dialog);
}

/* Responsive component styling for .mobile-nav a. Preserve selectors and specificity. */

.mobile-nav a {
  display: block;
  padding: 15px 10px;
  border-bottom: 1px solid var(--color-line);
}

/* Hero photo is an independent layer alongside the heading, CTA and benefits. */

/* Responsive component styling for .hero. Preserve selectors and specificity. */

.hero {
  height: 660px;
  background: var(--color-soft);
  overflow: hidden;
}

/* Responsive component styling for .hero-inner. Preserve selectors and specificity. */

.hero-inner {
  max-width: 1440px;
  height: 100%;
  margin: auto;
  position: relative;
}

/* Responsive component styling for .hero-copy. Preserve selectors and specificity. */

.hero-copy {
  position: relative;
  z-index: 2;
  padding: 54px 0 0 56px;
  width: 570px;
}

/* Responsive component styling for .hero h1. Preserve selectors and specificity. */

.hero h1 {
  font-size: 60px;
  line-height: 1.095;
  font-weight: 750;
  margin-top: 28px;
  padding-bottom: 10px;
  letter-spacing: -1.8px;
}

/* Responsive component styling for .hero h1 span. Preserve selectors and specificity. */

.hero h1 span {
  color: var(--color-blue);
}

/* Responsive component styling for .hero-button. Preserve selectors and specificity. */

.hero-button {
  margin-top: 33px;
  width: 451px;
  min-height: 100px;
  font-size: 34px;
}

/* Responsive component styling for .hero-button .icon. Preserve selectors and specificity. */

.hero-button .icon {
  width: 38px;
  height: 38px;
}

/* Responsive component styling for .hero-button .arrow. Preserve selectors and specificity. */

.hero-button .arrow {
  width: 25px;
  height: 25px;
}

/* Responsive component styling for .hero-photo. Preserve selectors and specificity. */

.hero-photo {
  position: absolute;
  right: 0;
  top: 0;
  width: 70%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  mask-image: linear-gradient(to right,var(--styles-component-mask-image-tone-02) 0%,var(--mask-solid) 19%,var(--mask-solid) 100%);
}

/* Responsive component styling for .hero-benefits. Preserve selectors and specificity. */

.hero-benefits {
  width: 470px;
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 16px;
  margin-top: 58px;
}

/* Responsive component styling for .hero-benefits>div. Preserve selectors and specificity. */

.hero-benefits>div {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 16px;
}

/* Responsive component styling for .hero-benefits .icon. Preserve selectors and specificity. */

.hero-benefits .icon {
  width: 37px;
  height: 37px;
  color: var(--color-blue);
}

/* Responsive component styling for .hero-benefits span. Preserve selectors and specificity. */

.hero-benefits span {
  font-size: 17px;
  line-height: 1.3;
}

/* Responsive component styling for .brands. Preserve selectors and specificity. */

.brands {
  height: 173px;
  background: linear-gradient(var(--color-white),var(--color-soft));
  border-bottom: 1px solid var(--color-line);
  padding-top: 25px;
}

/* Responsive component styling for .brand-logos. Preserve selectors and specificity. */

.brand-logos {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 36px;
  height: 66px;
}

/* Responsive component styling for .brand-logos img. Preserve selectors and specificity. */

.brand-logos img {
  object-fit: contain;
  max-height: 66px;
  max-width: 220px;
  mix-blend-mode: multiply;
}

/* Responsive component styling for .brands p. Preserve selectors and specificity. */

.brands p {
  font-size: 17px;
  text-align: center;
  margin-top: 23px;
}

/* Eight grid tracks center the final row of three service cards. */

/* Responsive component styling for .services. Preserve selectors and specificity. */

.services {
  height: 949px;
  padding-top: 26px;
  position: relative;
  overflow: hidden;
  background: linear-gradient(130deg,var(--color-soft),var(--color-white) 45%,var(--color-soft));
}

/* Responsive component styling for .services .container. Preserve selectors and specificity. */

.services .container {
  position: relative;
  z-index: 1;
}

/* Responsive component styling for .section-heading. Preserve selectors and specificity. */

.section-heading {
  text-align: center;
}

/* Responsive component styling for .section-heading h2. Preserve selectors and specificity. */

.section-heading h2 {
  font-size: 42px;
  line-height: 1.18;
  margin-top: 12px;
}

/* Responsive component styling for .section-heading>p:last-child. Preserve selectors and specificity. */

.section-heading>p:last-child {
  font-size: 18px;
  line-height: 1.5;
  margin: 8px auto 20px;
}

/* Responsive component styling for .service-grid. Preserve selectors and specificity. */

.service-grid {
  display: grid;
  grid-template-columns: repeat(8,minmax(0,1fr));
  gap: 18px 24px;
}

/* Responsive component styling for .service-card. Preserve selectors and specificity. */

.service-card {
  grid-column: span 2;
  background: var(--color-card);
  border-radius: var(--radius-card);
  border: 1px solid var(--color-line);
  overflow: visible;
  box-shadow: var(--shadow-card);
  display: flex;
  flex-direction: column;
  min-height: 347px;
  transition: box-shadow var(--transition),transform var(--transition);
}

/* Responsive component styling for .service-card:nth-child(5). Preserve selectors and specificity. */

.service-card:nth-child(5) {
  grid-column: 2 / span 2;
}

/* Responsive component styling for .service-card>img. Preserve selectors and specificity. */

.service-card>img {
  width: 100%;
  height: 159px;
  object-fit: cover;
}

/* Responsive component styling for .service-body. Preserve selectors and specificity. */

.service-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 15px 23px 7px;
}

/* Responsive component styling for .service-body h3. Preserve selectors and specificity. */

.service-body h3 {
  font-size: 21px;
  line-height: 1.25;
  letter-spacing: -.3px;
}

/* Responsive component styling for .service-body p. Preserve selectors and specificity. */

.service-body p {
  font-size: 19px;
  line-height: 1.34;
  margin-top: 6px;
}

/* Responsive component styling for .text-link. Preserve selectors and specificity. */

.text-link {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  padding: 4px 0;
  margin-top: auto;
  border: 0;
  background: var(--styles-component-background-tone-03);
  color: var(--color-blue);
  font-size: 18px;
  font-weight: 700;
}

/* Responsive component styling for .text-link:hover; pointer hover feedback paired with the base component. Preserve selectors and specificity. */

.text-link:hover {
  color: var(--color-blue-hover);
  text-decoration: underline;
}

/* Responsive component styling for .text-link .icon. Preserve selectors and specificity. */

.text-link .icon {
  width: 15px;
  height: 15px;
}

/* Responsive component styling for .decoration. Preserve selectors and specificity. */

.decoration {
  position: absolute;
  color: var(--color-decoration);
  opacity: .8;
  stroke-width: .6;
}

/* Responsive component styling for .decoration--wrench. Preserve selectors and specificity. */

.decoration--wrench {
  width: 150px;
  height: 150px;
  left: 15px;
  top: 67px;
  transform: rotate(-5deg);
}

/* Responsive component styling for .decoration--oven-top. Preserve selectors and specificity. */

.decoration--oven-top {
  width: 170px;
  height: 170px;
  right: -30px;
  top: 44px;
}

/* Responsive component styling for .decoration--oven-bottom. Preserve selectors and specificity. */

.decoration--oven-bottom {
  width: 220px;
  height: 220px;
  right: -28px;
  bottom: 23px;
}

/* Responsive component styling for .dot-pattern. Preserve selectors and specificity. */

.dot-pattern {
  position: absolute;
  width: 150px;
  height: 130px;
  right: 0;
  bottom: 247px;
  background-image: radial-gradient(var(--color-decoration) 2px,var(--styles-component-background-image-tone-04) 2px);
  background-size: 20px 20px;
}

/* Responsive component styling for .about. Preserve selectors and specificity. */

.about {
  height: 285px;
}

/* Responsive component styling for .about-inner. Preserve selectors and specificity. */

.about-inner {
  display: grid;
  grid-template-columns: 40.5% 1fr;
  gap: 47px;
  height: 100%;
  max-width: 1440px;
  margin: auto;
  padding-right: 47px;
}

/* Responsive component styling for .about-inner>img. Preserve selectors and specificity. */

.about-inner>img {
  width: 100%;
  height: 285px;
  object-fit: cover;
}

/* Responsive component styling for .about-copy. Preserve selectors and specificity. */

.about-copy {
  padding-top: 12px;
}

/* Responsive component styling for .about-copy .eyebrow. Preserve selectors and specificity. */

.about-copy .eyebrow {
  font-size: 13px;
  letter-spacing: 1.9px;
}

/* Responsive component styling for .about h2. Preserve selectors and specificity. */

.about h2 {
  font-size: 40px;
  line-height: 1.13;
  margin-top: 10px;
}

/* Responsive component styling for .about-copy>p:last-child. Preserve selectors and specificity. */

.about-copy>p:last-child {
  font-size: 18px;
  line-height: 1.45;
  margin-top: 12px;
}

/* Responsive component styling for .benefits. Preserve selectors and specificity. */

.benefits {
  height: 260px;
  padding-top: 22px;
}

/* Responsive component styling for .benefits-grid. Preserve selectors and specificity. */

.benefits-grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
}

/* Responsive component styling for .benefit. Preserve selectors and specificity. */

.benefit {
  text-align: center;
  padding: 0 26px;
  position: relative;
}

/* Responsive component styling for .benefit+.benefit::before. Preserve selectors and specificity. */

.benefit+.benefit::before {
  content: "";
  width: 1px;
  height: 170px;
  background: linear-gradient(var(--color-white),var(--color-line),var(--color-white));
  position: absolute;
  left: 0;
  top: 12px;
}

/* Responsive component styling for .benefit>.icon. Preserve selectors and specificity. */

.benefit>.icon {
  width: 60px;
  height: 60px;
  color: var(--color-blue);
}

/* Responsive component styling for .benefit:last-child>.icon. Preserve selectors and specificity. */

.benefit:last-child>.icon {
  fill: var(--color-blue);
  stroke: var(--color-white);
  background: var(--color-blue);
  border-radius: 15px 15px 40px 40px;
}

/* Responsive component styling for .benefit h3. Preserve selectors and specificity. */

.benefit h3 {
  font-size: 21px;
  line-height: 1.2;
  margin-top: 15px;
  font-weight: 500;
}

/* Responsive component styling for .benefit p. Preserve selectors and specificity. */

.benefit p {
  font-size: 18px;
  line-height: 1.43;
  margin-top: 10px;
}

/* Responsive component styling for .areas. Preserve selectors and specificity. */

.areas {
  height: 388px;
  background: linear-gradient(110deg,var(--color-soft),var(--color-white));
  padding-top: 13px;
}

/* Responsive component styling for .areas-inner. Preserve selectors and specificity. */

.areas-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  height: 355px;
}

/* Responsive component styling for .areas-copy. Preserve selectors and specificity. */

.areas-copy {
  padding-top: 10px;
}

/* Responsive component styling for .areas h2. Preserve selectors and specificity. */

.areas h2 {
  font-size: 42px;
  line-height: 1.13;
  margin-top: 10px;
}

/* Responsive component styling for .areas-copy>p:last-of-type. Preserve selectors and specificity. */

.areas-copy>p:last-of-type {
  font-size: 20px;
  line-height: 1.38;
  margin-top: 10px;
}

/* Responsive component styling for .area-list. Preserve selectors and specificity. */

.area-list {
  list-style: none;
  padding: 0;
  margin: 20px 0 0;
  display: flex;
  gap: 22px;
  justify-content: space-between;
}

/* Responsive component styling for .area-list li. Preserve selectors and specificity. */

.area-list li {
  display: flex;
  align-items: center;
  gap: 17px;
  padding: 9px 15px;
  font-size: 18px;
  font-weight: 600;
  background: var(--color-white);
  border-radius: 30px;
  box-shadow: var(--shadow-card);
}

/* Responsive component styling for .area-list .icon. Preserve selectors and specificity. */

.area-list .icon {
  width: 25px;
  height: 25px;
  color: var(--color-blue);
}

/* Responsive component styling for .map-panel. Preserve selectors and specificity. */

.map-panel {
  position: relative;
  height: 355px;
  border: 8px solid var(--color-white);
  box-shadow: var(--shadow-card);
  border-radius: 9px;
  overflow: hidden;
}

/* Responsive component styling for .map-panel>img. Preserve selectors and specificity. */

.map-panel>img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .65;
}

/* Responsive component styling for .map-label. Preserve selectors and specificity. */

.map-label {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 19px;
  padding-top: 10px;
}

/* Responsive component styling for .map-label .icon. Preserve selectors and specificity. */

.map-label .icon {
  width: 54px;
  height: 65px;
  fill: var(--color-blue);
  stroke: var(--color-white);
  stroke-width: 1.3;
}

/* Responsive component styling for .map-label strong. Preserve selectors and specificity. */

.map-label strong {
  font-size: 24px;
}

/* Responsive component styling for .reviews. Preserve selectors and specificity. */

.reviews {
  height: 289px;
  padding-top: 5px;
}

/* Responsive component styling for .reviews h2. Preserve selectors and specificity. */

.reviews h2 {
  font-size: 37px;
  line-height: 1.15;
  margin-top: 10px;
}

/* Responsive component styling for .review-grid. Preserve selectors and specificity. */

.review-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 26px;
  margin-top: 18px;
}

/* Responsive component styling for .review-card. Preserve selectors and specificity. */

.review-card {
  display: flex;
  align-items: flex-start;
  gap: 23px;
  border: 1px solid var(--color-line);
  border-radius: 8px;
  padding: 12px 19px;
  min-height: 186px;
  box-shadow: var(--shadow-card);
}

/* Responsive component styling for .review-card>img. Preserve selectors and specificity. */

.review-card>img {
  width: 130px;
  height: 130px;
  object-fit: cover;
  border-radius: 50%;
  flex-shrink: 0;
}

/* Responsive component styling for .stars. Preserve selectors and specificity. */

.stars {
  color: var(--color-star);
  font-size: 22px;
  letter-spacing: 2px;
  line-height: 1.1;
}

/* Responsive component styling for .review-card blockquote. Preserve selectors and specificity. */

.review-card blockquote {
  font-size: 17px;
  line-height: 1.42;
  color: var(--color-copy);
  margin-top: 4px;
}

/* Responsive component styling for .review-card figcaption>p. Preserve selectors and specificity. */

.review-card figcaption>p {
  font-size: 16px;
  font-weight: 700;
  color: var(--color-ink);
  margin-top: 7px;
}

/* Responsive component styling for .faq. Preserve selectors and specificity. */

.faq {
  height: 219px;
  padding-top: 8px;
}

/* Responsive component styling for .faq-grid. Preserve selectors and specificity. */

.faq-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 24px;
  margin-top: 20px;
}

/* Responsive component styling for .faq-card. Preserve selectors and specificity. */

.faq-card {
  border: 1px solid var(--color-line);
  border-radius: 7px;
  padding: 14px 19px 17px;
  min-height: 152px;
  box-shadow: var(--shadow-card);
}

/* Responsive component styling for .faq-card h3. Preserve selectors and specificity. */

.faq-card h3 {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  font-size: 17px;
  letter-spacing: -.25px;
  line-height: 1.3;
}

/* Responsive component styling for .faq-card h3 .icon. Preserve selectors and specificity. */

.faq-card h3 .icon {
  color: var(--color-blue);
  width: 17px;
  height: 17px;
}

/* Responsive component styling for .faq-card p. Preserve selectors and specificity. */

.faq-card p {
  font-size: 17px;
  line-height: 1.45;
  margin-top: 13px;
}

/* Responsive component styling for .final-cta. Preserve selectors and specificity. */

.final-cta {
  height: 136px;
  background: linear-gradient(var(--color-white),var(--color-soft));
}

/* Responsive component styling for .cta-inner. Preserve selectors and specificity. */

.cta-inner {
  max-width: 1380px;
  margin: auto;
  height: 100%;
  display: flex;
  align-items: center;
  gap: 29px;
}

/* Responsive component styling for .cta-inner>img. Preserve selectors and specificity. */

.cta-inner>img {
  width: 204px;
  height: 112px;
  object-fit: cover;
  border-radius: 10px;
}

/* Responsive component styling for .cta-copy. Preserve selectors and specificity. */

.cta-copy {
  flex: 1;
}

/* Responsive component styling for .cta-copy h2. Preserve selectors and specificity. */

.cta-copy h2 {
  font-size: 28px;
  line-height: 1.2;
}

/* Responsive component styling for .cta-copy p. Preserve selectors and specificity. */

.cta-copy p {
  font-size: 17px;
  line-height: 1.45;
  margin-top: 7px;
}

/* Responsive component styling for .cta-buttons. Preserve selectors and specificity. */

.cta-buttons {
  display: flex;
  gap: 16px;
}

/* Responsive component styling for .cta-buttons .button. Preserve selectors and specificity. */

.cta-buttons .button {
  min-height: 75px;
  padding: 17px 24px;
  font-size: 22px;
  gap: 8px;
}

/* Responsive component styling for .cta-buttons .button .icon. Preserve selectors and specificity. */

.cta-buttons .button .icon {
  width: 22px;
}

/* Responsive component styling for .cta-buttons .button .arrow. Preserve selectors and specificity. */

.cta-buttons .button .arrow {
  width: 14px;
}

/* Responsive component styling for .site-footer. Preserve selectors and specificity. */

.site-footer {
  height: 359px;
  background: var(--color-white);
  padding-top: 27px;
}

/* Responsive component styling for .footer-grid. Preserve selectors and specificity. */

.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1.45fr 1.05fr 1.4fr;
  gap: 48px;
  min-height: 245px;
}

/* Responsive component styling for .footer-brand .brand. Preserve selectors and specificity. */

.footer-brand .brand {
  font-size: 22px;
}

/* Responsive component styling for .footer-brand p. Preserve selectors and specificity. */

.footer-brand p {
  margin-top: 17px;
  font-size: 17px;
  line-height: 1.5;
}

/* Responsive component styling for .footer-grid h2. Preserve selectors and specificity. */

.footer-grid h2 {
  font-size: 17px;
  margin: 3px 0 14px;
  letter-spacing: 0;
}

/* Responsive component styling for .footer-grid ul. Preserve selectors and specificity. */

.footer-grid ul {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 16px;
  line-height: 1.65;
  color: var(--color-copy);
}

/* Responsive component styling for .footer-grid ul a,.footer-grid ul button. Preserve selectors and specificity. */

.footer-grid ul a,.footer-grid ul button {
  min-height: 0;
  display: inline-block;
}

/* Responsive component styling for .footer-grid button. Preserve selectors and specificity. */

.footer-grid button {
  background: none;
  border: 0;
  color: inherit;
  padding: 0;
  text-align: left;
}

/* Responsive component styling for .footer-grid a:hover,.footer-grid button:hover; pointer hover feedback paired with the base component. Preserve selectors and specificity. */

.footer-grid a:hover,.footer-grid button:hover {
  color: var(--color-blue);
}

/* Responsive component styling for .footer-contact .phone-link. Preserve selectors and specificity. */

.footer-contact .phone-link {
  font-size: 22px;
  margin: 0 0 19px;
}

/* Responsive component styling for .footer-contact .phone-link .icon. Preserve selectors and specificity. */

.footer-contact .phone-link .icon {
  width: 33px;
  height: 33px;
}

/* Responsive component styling for .footer-contact>.button. Preserve selectors and specificity. */

.footer-contact>.button {
  min-height: 67px;
  font-size: 22px;
  padding-inline: 23px;
  gap: 8px;
}

/* Responsive component styling for .footer-contact>.button:hover; pointer hover feedback paired with the base component. Preserve selectors and specificity. */

.footer-contact>.button:hover {
  color: var(--color-white);
}

/* Responsive component styling for .footer-bottom. Preserve selectors and specificity. */

.footer-bottom {
  border-top: 1px solid var(--color-line);
  padding-top: 19px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 14px;
  color: var(--color-copy);
}

/* Responsive component styling for .footer-bottom>div. Preserve selectors and specificity. */

.footer-bottom>div {
  display: flex;
  align-items: center;
  gap: 17px;
}

/* Responsive component styling for .footer-bottom button. Preserve selectors and specificity. */

.footer-bottom button {
  min-height: 44px;
  border: 0;
  background: none;
  color: inherit;
  padding: 0;
  font-size: 14px;
}

/* Responsive component styling for .footer-bottom button:hover; pointer hover feedback paired with the base component. Preserve selectors and specificity. */

.footer-bottom button:hover {
  color: var(--color-blue);
}

/* Responsive component styling for dialog. Preserve selectors and specificity. */

dialog {
  border: 1px solid var(--color-line);
  border-radius: 18px;
  padding: 44px;
  max-width: 620px;
  width: calc(100% - 40px);
  color: var(--color-ink);
  background: var(--color-white);
  box-shadow: var(--shadow-dialog);
}

/* Responsive component styling for dialog::backdrop. Preserve selectors and specificity. */

dialog::backdrop {
  background: var(--color-overlay);
}

/* Responsive component styling for dialog .dialog-close. Preserve selectors and specificity. */

dialog .dialog-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 0;
  background: var(--color-soft);
  border-radius: 50%;
  position: absolute;
  right: 12px;
  top: 12px;
}

/* Responsive component styling for dialog h2. Preserve selectors and specificity. */

dialog h2 {
  font-size: 32px;
  margin: 22px 0 15px;
}

/* Responsive component styling for dialog #dialog-copy. Preserve selectors and specificity. */

dialog #dialog-copy {
  font-size: 19px;
  line-height: 1.6;
}

/* Responsive component styling for dialog .button. Preserve selectors and specificity. */

dialog .button {
  margin-top: 25px;
  font-size: 19px;
  min-height: 58px;
}

/* Compact desktop retains the composition without shrinking readable text. */

/* Breakpoint/conditional rules: retain thresholds and component behavior. */

@media (min-width:1100px) and (max-width:1399px) {
  /* Color/theme configuration. Preserve selectors and specificity. */

  :root {
    /* --gutter: desktop page-side spacing; retain responsive overrides. Scope: :root. STRUCTURAL/NEUTRAL: retain layout or neutral role; color may be coordinated with the brand only where appropriate. */
    --gutter: 32px;
  }

  /* Responsive component styling for .header-inner. Preserve selectors and specificity. */

  .header-inner {
    gap: 18px;
    padding-inline: 24px;
  }

  /* Responsive component styling for .desktop-nav. Preserve selectors and specificity. */

  .desktop-nav {
    gap: 22px;
  }

  /* Responsive component styling for .brand. Preserve selectors and specificity. */

  .brand {
    font-size: 18px;
    gap: 8px;
  }

  /* Responsive component styling for .brand img. Preserve selectors and specificity. */

  .brand img {
    width: 50px;
    height: 50px;
  }

  /* Responsive component styling for .header-actions .phone-link. Preserve selectors and specificity. */

  .header-actions .phone-link {
    display: none;
  }

  /* Responsive component styling for .hero-copy. Preserve selectors and specificity. */

  .hero-copy {
    padding-left: 40px;
    width: 480px;
  }

  /* Responsive component styling for .hero h1. Preserve selectors and specificity. */

  .hero h1 {
    font-size: 52px;
  }

  /* Responsive component styling for .hero-button. Preserve selectors and specificity. */

  .hero-button {
    width: 390px;
  }

  /* Responsive component styling for .hero-benefits. Preserve selectors and specificity. */

  .hero-benefits {
    width: 410px;
  }

  /* Responsive component styling for .section-heading h2. Preserve selectors and specificity. */

  .section-heading h2 {
    font-size: 34px;
  }

  /* Responsive component styling for .service-grid. Preserve selectors and specificity. */

  .service-grid {
    gap: 18px;
  }

  /* Responsive component styling for .service-body. Preserve selectors and specificity. */

  .service-body {
    padding-inline: 15px;
  }

  /* Responsive component styling for .service-body h3. Preserve selectors and specificity. */

  .service-body h3 {
    font-size: 19px;
  }

  /* Responsive component styling for .service-body p. Preserve selectors and specificity. */

  .service-body p {
    font-size: 17px;
  }

  /* Responsive component styling for .about-inner. Preserve selectors and specificity. */

  .about-inner {
    gap: 30px;
    padding-right: 32px;
  }

  /* Responsive component styling for .about h2. Preserve selectors and specificity. */

  .about h2 {
    font-size: 32px;
  }

  /* Responsive component styling for .about-copy>p:last-child. Preserve selectors and specificity. */

  .about-copy>p:last-child {
    font-size: 17px;
  }

  /* Responsive component styling for .benefit. Preserve selectors and specificity. */

  .benefit {
    padding-inline: 20px;
  }

  /* Responsive component styling for .benefit h3. Preserve selectors and specificity. */

  .benefit h3 {
    font-size: 19px;
  }

  /* Responsive component styling for .benefit p. Preserve selectors and specificity. */

  .benefit p {
    font-size: 17px;
  }

  /* Responsive component styling for .areas-inner. Preserve selectors and specificity. */

  .areas-inner {
    gap: 26px;
  }

  /* Responsive component styling for .areas h2. Preserve selectors and specificity. */

  .areas h2 {
    font-size: 32px;
  }

  /* Responsive component styling for .areas-copy>p:last-of-type. Preserve selectors and specificity. */

  .areas-copy>p:last-of-type {
    font-size: 18px;
  }

  /* Responsive component styling for .area-list. Preserve selectors and specificity. */

  .area-list {
    gap: 8px;
  }

  /* Responsive component styling for .area-list li. Preserve selectors and specificity. */

  .area-list li {
    gap: 8px;
    font-size: 16px;
    padding-inline: 12px;
  }

  /* Responsive component styling for .review-card. Preserve selectors and specificity. */

  .review-card {
    gap: 17px;
    padding-inline: 15px;
  }

  /* Responsive component styling for .review-card>img. Preserve selectors and specificity. */

  .review-card>img {
    width: 105px;
    height: 105px;
  }

  /* Responsive component styling for .review-card blockquote. Preserve selectors and specificity. */

  .review-card blockquote {
    font-size: 16px;
  }

  /* Responsive component styling for .faq-card. Preserve selectors and specificity. */

  .faq-card {
    padding-inline: 14px;
  }

  /* Responsive component styling for .faq-card h3,.faq-card p. Preserve selectors and specificity. */

  .faq-card h3,.faq-card p {
    font-size: 16px;
  }

  /* Responsive component styling for .cta-inner. Preserve selectors and specificity. */

  .cta-inner {
    padding-inline: 24px;
    gap: 20px;
  }

  /* Responsive component styling for .cta-inner>img. Preserve selectors and specificity. */

  .cta-inner>img {
    width: 150px;
  }

  /* Responsive component styling for .cta-copy h2. Preserve selectors and specificity. */

  .cta-copy h2 {
    font-size: 24px;
  }

  /* Responsive component styling for .cta-copy p. Preserve selectors and specificity. */

  .cta-copy p {
    font-size: 15px;
  }

  /* Responsive component styling for .cta-buttons .button. Preserve selectors and specificity. */

  .cta-buttons .button {
    font-size: 18px;
    padding-inline: 17px;
    gap: 5px;
  }

  /* Responsive component styling for .footer-grid. Preserve selectors and specificity. */

  .footer-grid {
    gap: 28px;
  }

  /* Responsive component styling for .footer-brand .brand. Preserve selectors and specificity. */

  .footer-brand .brand {
    font-size: 19px;
  }

  /* Responsive component styling for .footer-brand p. Preserve selectors and specificity. */

  .footer-brand p {
    font-size: 16px;
  }

  /* Responsive component styling for .footer-contact .phone-link. Preserve selectors and specificity. */

  .footer-contact .phone-link {
    font-size: 19px;
  }

  /* Responsive component styling for .footer-contact>.button. Preserve selectors and specificity. */

  .footer-contact>.button {
    font-size: 18px;
    padding-inline: 15px;
  }
}

/* Tablet layouts use natural section heights and two-column card grids. */

/* Breakpoint/conditional rules: retain thresholds and component behavior. */

@media (max-width:1099px) {
  /* Color/theme configuration. Preserve selectors and specificity. */

  :root {
    /* --gutter: desktop page-side spacing; retain responsive overrides. Scope: :root. STRUCTURAL/NEUTRAL: retain layout or neutral role; color may be coordinated with the brand only where appropriate. */
    --gutter: 30px;
  }

  /* Responsive component styling for .site-header. Preserve selectors and specificity. */

  .site-header {
    height: 84px;
  }

  /* Responsive component styling for .header-inner. Preserve selectors and specificity. */

  .header-inner {
    padding-inline: 26px;
    gap: 16px;
  }

  /* Responsive component styling for .brand. Preserve selectors and specificity. */

  .brand {
    font-size: 18px;
    gap: 9px;
  }

  /* Responsive component styling for .brand img. Preserve selectors and specificity. */

  .brand img {
    width: 50px;
    height: 50px;
  }

  /* Responsive component styling for .desktop-nav. Preserve selectors and specificity. */

  .desktop-nav {
    display: none;
  }

  /* Responsive component styling for .header-actions. Preserve selectors and specificity. */

  .header-actions {
    margin-left: auto;
  }

  /* Responsive component styling for .header-actions .phone-link. Preserve selectors and specificity. */

  .header-actions .phone-link {
    display: none;
  }

  /* Responsive component styling for .menu-toggle. Preserve selectors and specificity. */

  .menu-toggle {
    display: flex;
  }

  /* Responsive component styling for .hero. Preserve selectors and specificity. */

  .hero {
    height: auto;
  }

  /* Responsive component styling for .hero-inner. Preserve selectors and specificity. */

  .hero-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 30px;
    padding: 38px 30px;
  }

  /* Responsive component styling for .hero-copy. Preserve selectors and specificity. */

  .hero-copy {
    width: auto;
    padding: 0;
  }

  /* Responsive component styling for .hero h1. Preserve selectors and specificity. */

  .hero h1 {
    font-size: 45px;
    line-height: 1.12;
  }

  /* Responsive component styling for .hero .eyebrow. Preserve selectors and specificity. */

  .hero .eyebrow {
    font-size: 11px;
    letter-spacing: 1.6px;
  }

  /* Responsive component styling for .hero-button. Preserve selectors and specificity. */

  .hero-button {
    width: 100%;
    font-size: 26px;
    min-height: 74px;
  }

  /* Responsive component styling for .hero-button .icon. Preserve selectors and specificity. */

  .hero-button .icon {
    width: 28px;
    height: 28px;
  }

  /* Responsive component styling for .hero-benefits. Preserve selectors and specificity. */

  .hero-benefits {
    width: 100%;
    gap: 10px;
    margin-top: 30px;
  }

  /* Responsive component styling for .hero-benefits span. Preserve selectors and specificity. */

  .hero-benefits span {
    font-size: 13px;
  }

  /* Responsive component styling for .hero-benefits .icon. Preserve selectors and specificity. */

  .hero-benefits .icon {
    width: 30px;
    height: 30px;
  }

  /* Responsive component styling for .hero-photo. Preserve selectors and specificity. */

  .hero-photo {
    position: relative;
    width: 100%;
    height: 430px;
    border-radius: 12px;
    mask-image: none;
    object-position: 35% center;
  }

  /* Responsive component styling for .brands. Preserve selectors and specificity. */

  .brands {
    height: auto;
    padding: 25px 0;
  }

  /* Responsive component styling for .brand-logos. Preserve selectors and specificity. */

  .brand-logos {
    gap: 25px;
    height: auto;
    flex-wrap: wrap;
    justify-content: center;
  }

  /* Responsive component styling for .brand-logos img. Preserve selectors and specificity. */

  .brand-logos img {
    max-height: 42px;
    max-width: 155px;
  }

  /* Responsive component styling for .brands p. Preserve selectors and specificity. */

  .brands p {
    font-size: 15px;
    line-height: 1.5;
    margin-top: 22px;
  }

  /* Responsive component styling for .services. Preserve selectors and specificity. */

  .services {
    height: auto;
    padding: 45px 0;
  }

  /* Responsive component styling for .section-heading h2. Preserve selectors and specificity. */

  .section-heading h2 {
    font-size: 32px;
  }

  /* Responsive component styling for .section-heading>p:last-child. Preserve selectors and specificity. */

  .section-heading>p:last-child {
    font-size: 17px;
    margin-bottom: 28px;
  }

  /* Responsive component styling for .desktop-only. Preserve selectors and specificity. */

  .desktop-only {
    display: none;
  }

  /* Responsive component styling for .service-grid. Preserve selectors and specificity. */

  .service-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 24px;
  }

  /* Responsive component styling for .service-card,.service-card:nth-child(5). Preserve selectors and specificity. */

  .service-card,.service-card:nth-child(5) {
    grid-column: auto;
    min-height: 355px;
  }

  /* Responsive component styling for .service-card:last-child. Preserve selectors and specificity. */

  .service-card:last-child {
    grid-column: 1/-1;
    width: calc((100% - 24px)/2);
    justify-self: center;
  }

  /* Responsive component styling for .service-card>img. Preserve selectors and specificity. */

  .service-card>img {
    height: 180px;
  }

  /* Responsive component styling for .service-body. Preserve selectors and specificity. */

  .service-body {
    padding: 18px 22px 12px;
  }

  /* Responsive component styling for .service-body p. Preserve selectors and specificity. */

  .service-body p {
    font-size: 18px;
  }

  /* Responsive component styling for .service-body h3. Preserve selectors and specificity. */

  .service-body h3 {
    font-size: 22px;
  }

  /* Responsive component styling for .about. Preserve selectors and specificity. */

  .about {
    height: auto;
  }

  /* Responsive component styling for .about-inner. Preserve selectors and specificity. */

  .about-inner {
    grid-template-columns: 43% 1fr;
    padding: 0 30px 0 0;
    gap: 28px;
  }

  /* Responsive component styling for .about-inner>img. Preserve selectors and specificity. */

  .about-inner>img {
    height: 100%;
    min-height: 320px;
  }

  /* Responsive component styling for .about-copy. Preserve selectors and specificity. */

  .about-copy {
    padding: 25px 0;
  }

  /* Responsive component styling for .about h2. Preserve selectors and specificity. */

  .about h2 {
    font-size: 30px;
  }

  /* Responsive component styling for .about-copy>p:last-child. Preserve selectors and specificity. */

  .about-copy>p:last-child {
    font-size: 17px;
  }

  /* Responsive component styling for .benefits. Preserve selectors and specificity. */

  .benefits {
    height: auto;
    padding: 35px 0;
  }

  /* Responsive component styling for .benefits-grid. Preserve selectors and specificity. */

  .benefits-grid {
    grid-template-columns: repeat(2,1fr);
    row-gap: 36px;
  }

  /* Responsive component styling for .benefit+.benefit::before. Preserve selectors and specificity. */

  .benefit+.benefit::before {
    display: none;
  }

  /* Responsive component styling for .benefit p. Preserve selectors and specificity. */

  .benefit p {
    max-width: 310px;
    margin-inline: auto;
  }

  /* Responsive component styling for .areas. Preserve selectors and specificity. */

  .areas {
    height: auto;
    padding: 35px 0;
  }

  /* Responsive component styling for .areas-inner. Preserve selectors and specificity. */

  .areas-inner {
    height: auto;
    grid-template-columns: 1fr 1fr;
    gap: 25px;
  }

  /* Responsive component styling for .areas h2. Preserve selectors and specificity. */

  .areas h2 {
    font-size: 29px;
  }

  /* Responsive component styling for .areas-copy>p:last-of-type. Preserve selectors and specificity. */

  .areas-copy>p:last-of-type {
    font-size: 17px;
  }

  /* Responsive component styling for .area-list. Preserve selectors and specificity. */

  .area-list {
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-start;
  }

  /* Responsive component styling for .area-list li. Preserve selectors and specificity. */

  .area-list li {
    font-size: 15px;
    gap: 7px;
  }

  /* Responsive component styling for .map-panel. Preserve selectors and specificity. */

  .map-panel {
    height: 100%;
    min-height: 340px;
  }

  /* Responsive component styling for .map-label strong. Preserve selectors and specificity. */

  .map-label strong {
    font-size: 20px;
  }

  /* Responsive component styling for .reviews. Preserve selectors and specificity. */

  .reviews {
    height: auto;
    padding: 35px 0 20px;
  }

  /* Responsive component styling for .reviews h2. Preserve selectors and specificity. */

  .reviews h2 {
    font-size: 32px;
  }

  /* Responsive component styling for .review-grid. Preserve selectors and specificity. */

  .review-grid {
    gap: 20px;
  }

  /* Responsive component styling for .review-card. Preserve selectors and specificity. */

  .review-card {
    gap: 14px;
    padding: 18px;
  }

  /* Responsive component styling for .review-card>img. Preserve selectors and specificity. */

  .review-card>img {
    width: 75px;
    height: 75px;
  }

  /* Responsive component styling for .review-card blockquote. Preserve selectors and specificity. */

  .review-card blockquote {
    font-size: 16px;
  }

  /* Responsive component styling for .review-card figcaption>p. Preserve selectors and specificity. */

  .review-card figcaption>p {
    font-size: 14px;
  }

  /* Responsive component styling for .faq. Preserve selectors and specificity. */

  .faq {
    height: auto;
    padding: 20px 0 30px;
  }

  /* Responsive component styling for .faq-grid. Preserve selectors and specificity. */

  .faq-grid {
    gap: 15px;
  }

  /* Responsive component styling for .faq-card. Preserve selectors and specificity. */

  .faq-card {
    padding: 17px;
  }

  /* Responsive component styling for .faq-card h3,.faq-card p. Preserve selectors and specificity. */

  .faq-card h3,.faq-card p {
    font-size: 16px;
  }

  /* Responsive component styling for .final-cta. Preserve selectors and specificity. */

  .final-cta {
    height: auto;
    padding: 25px 30px;
  }

  /* Responsive component styling for .cta-inner. Preserve selectors and specificity. */

  .cta-inner {
    flex-wrap: wrap;
    gap: 20px;
  }

  /* Responsive component styling for .cta-inner>img. Preserve selectors and specificity. */

  .cta-inner>img {
    width: 160px;
    height: 100px;
  }

  /* Responsive component styling for .cta-copy h2. Preserve selectors and specificity. */

  .cta-copy h2 {
    font-size: 26px;
  }

  /* Responsive component styling for .cta-copy p. Preserve selectors and specificity. */

  .cta-copy p {
    font-size: 16px;
  }

  /* Responsive component styling for .cta-buttons. Preserve selectors and specificity. */

  .cta-buttons {
    justify-content: center;
    width: 100%;
  }

  /* Responsive component styling for .cta-buttons .button. Preserve selectors and specificity. */

  .cta-buttons .button {
    font-size: 20px;
    min-height: 60px;
  }

  /* Responsive component styling for .site-footer. Preserve selectors and specificity. */

  .site-footer {
    height: auto;
    padding: 35px 0 15px;
  }

  /* Responsive component styling for .footer-grid. Preserve selectors and specificity. */

  .footer-grid {
    grid-template-columns: repeat(3,1fr);
    gap: 30px;
  }

  /* Responsive component styling for .footer-brand. Preserve selectors and specificity. */

  .footer-brand {
    grid-column: span 2;
    max-width: 380px;
  }

  /* Responsive component styling for .footer-contact. Preserve selectors and specificity. */

  .footer-contact {
    grid-column: 3;
    grid-row: 1;
  }

  /* Responsive component styling for .footer-grid h2. Preserve selectors and specificity. */

  .footer-grid h2 {
    font-size: 18px;
  }

  /* Responsive component styling for .footer-grid li a,.footer-grid li button. Preserve selectors and specificity. */

  .footer-grid li a,.footer-grid li button {
    min-height: 44px;
    display: flex;
    align-items: center;
  }

  /* Responsive component styling for .footer-grid li. Preserve selectors and specificity. */

  .footer-grid li {
    min-height: 34px;
  }

  /* Responsive component styling for .footer-contact>.button. Preserve selectors and specificity. */

  .footer-contact>.button {
    font-size: 17px;
    min-height: 56px;
    padding-inline: 17px;
  }

  /* Responsive component styling for .footer-contact .phone-link. Preserve selectors and specificity. */

  .footer-contact .phone-link {
    font-size: 18px;
  }

  /* Responsive component styling for .footer-bottom. Preserve selectors and specificity. */

  .footer-bottom {
    margin-top: 25px;
  }
}

/* Mobile preserves the hierarchy with comfortable touch targets. */

/* Breakpoint/conditional rules: retain thresholds and component behavior. */

@media (max-width:767px) {
  /* Color/theme configuration. Preserve selectors and specificity. */

  :root {
    /* --gutter: desktop page-side spacing; retain responsive overrides. Scope: :root. STRUCTURAL/NEUTRAL: retain layout or neutral role; color may be coordinated with the brand only where appropriate. */
    --gutter: 22px;
  }

  /* Responsive component styling for .site-header. Preserve selectors and specificity. */

  .site-header {
    height: 78px;
  }

  /* Responsive component styling for .header-inner. Preserve selectors and specificity. */

  .header-inner {
    padding-inline: 17px;
    gap: 10px;
  }

  /* Responsive component styling for .brand. Preserve selectors and specificity. */

  .brand {
    font-size: 16px;
    gap: 7px;
  }

  /* Responsive component styling for .brand img. Preserve selectors and specificity. */

  .brand img {
    width: 44px;
    height: 44px;
  }

  /* Responsive component styling for .header-actions. Preserve selectors and specificity. */

  .header-actions {
    display: none;
  }

  /* Responsive component styling for .menu-toggle. Preserve selectors and specificity. */

  .menu-toggle {
    margin-left: auto;
  }

  /* Responsive component styling for .eyebrow. Preserve selectors and specificity. */

  .eyebrow {
    font-size: 11px;
    letter-spacing: 1.8px;
  }

  /* Responsive component styling for .hero-inner. Preserve selectors and specificity. */

  .hero-inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 24px;
    padding: 32px 22px;
  }

  /* Responsive component styling for .hero-copy. Preserve selectors and specificity. */

  .hero-copy {
    text-align: left;
  }

  /* Responsive component styling for .hero h1. Preserve selectors and specificity. */

  .hero h1 {
    font-size: clamp(39px,10.4vw,58px);
    letter-spacing: -1.3px;
    margin-top: 18px;
  }

  /* Responsive component styling for .hero-button. Preserve selectors and specificity. */

  .hero-button {
    width: 100%;
    max-width: 430px;
    margin-top: 25px;
    min-height: 68px;
    font-size: 27px;
  }

  /* Responsive component styling for .hero-benefits. Preserve selectors and specificity. */

  .hero-benefits {
    margin-top: 30px;
    gap: 8px;
  }

  /* Responsive component styling for .hero-benefits>div. Preserve selectors and specificity. */

  .hero-benefits>div {
    gap: 11px;
  }

  /* Responsive component styling for .hero-benefits span. Preserve selectors and specificity. */

  .hero-benefits span {
    font-size: 12px;
  }

  /* Responsive component styling for .hero-benefits .icon. Preserve selectors and specificity. */

  .hero-benefits .icon {
    width: 29px;
    height: 29px;
  }

  /* Responsive component styling for .hero-photo. Preserve selectors and specificity. */

  .hero-photo {
    height: auto;
    aspect-ratio: 1.35;
    object-position: 35% center;
  }

  /* Responsive component styling for .brand-logos. Preserve selectors and specificity. */

  .brand-logos {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    justify-items: center;
    gap: 22px 16px;
  }

  /* Responsive component styling for .brand-logos img. Preserve selectors and specificity. */

  .brand-logos img {
    max-width: 100%;
    max-height: 34px;
  }

  /* Responsive component styling for .brands p. Preserve selectors and specificity. */

  .brands p {
    font-size: 13px;
  }

  /* Responsive component styling for .services. Preserve selectors and specificity. */

  .services {
    padding: 36px 0;
  }

  /* Responsive component styling for .section-heading h2. Preserve selectors and specificity. */

  .section-heading h2 {
    font-size: 29px;
    line-height: 1.18;
  }

  /* Responsive component styling for .section-heading>p:last-child. Preserve selectors and specificity. */

  .section-heading>p:last-child {
    font-size: 16px;
    line-height: 1.55;
    margin-top: 14px;
  }

  /* Responsive component styling for .service-grid. Preserve selectors and specificity. */

  .service-grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  /* Responsive component styling for .service-card,.service-card:last-child. Preserve selectors and specificity. */

  .service-card,.service-card:last-child {
    width: 100%;
    min-height: 0;
    grid-column: auto;
  }

  /* Responsive component styling for .service-card>img. Preserve selectors and specificity. */

  .service-card>img {
    height: auto;
    aspect-ratio: 2/1;
  }

  /* Responsive component styling for .service-body. Preserve selectors and specificity. */

  .service-body {
    padding: 20px 22px 14px;
  }

  /* Responsive component styling for .service-body h3. Preserve selectors and specificity. */

  .service-body h3 {
    font-size: 23px;
  }

  /* Responsive component styling for .service-body p. Preserve selectors and specificity. */

  .service-body p {
    font-size: 17px;
    line-height: 1.5;
    margin-top: 9px;
  }

  /* Responsive component styling for .text-link. Preserve selectors and specificity. */

  .text-link {
    margin-top: 10px;
    font-size: 17px;
  }

  /* Responsive component styling for .decoration. Preserve selectors and specificity. */

  .decoration {
    opacity: .4;
  }

  /* Responsive component styling for .about-inner. Preserve selectors and specificity. */

  .about-inner {
    display: flex;
    flex-direction: column;
    padding: 0;
    gap: 0;
  }

  /* Responsive component styling for .about-inner>img. Preserve selectors and specificity. */

  .about-inner>img {
    height: auto;
    min-height: 0;
    aspect-ratio: 2/1;
  }

  /* Responsive component styling for .about-copy. Preserve selectors and specificity. */

  .about-copy {
    padding: 28px 22px 12px;
  }

  /* Responsive component styling for .about-copy .eyebrow. Preserve selectors and specificity. */

  .about-copy .eyebrow {
    font-size: 10px;
    letter-spacing: 1.6px;
  }

  /* Responsive component styling for .about h2. Preserve selectors and specificity. */

  .about h2 {
    font-size: 29px;
    margin-top: 13px;
  }

  /* Responsive component styling for .about-copy>p:last-child. Preserve selectors and specificity. */

  .about-copy>p:last-child {
    font-size: 17px;
    line-height: 1.6;
    margin-top: 16px;
  }

  /* Responsive component styling for .benefits. Preserve selectors and specificity. */

  .benefits {
    padding: 25px 0 35px;
  }

  /* Responsive component styling for .benefits-grid. Preserve selectors and specificity. */

  .benefits-grid {
    gap: 30px 14px;
  }

  /* Responsive component styling for .benefit. Preserve selectors and specificity. */

  .benefit {
    padding: 0;
  }

  /* Responsive component styling for .benefit>.icon. Preserve selectors and specificity. */

  .benefit>.icon {
    width: 43px;
    height: 43px;
  }

  /* Responsive component styling for .benefit h3. Preserve selectors and specificity. */

  .benefit h3 {
    font-size: 17px;
    font-weight: 600;
    margin-top: 12px;
  }

  /* Responsive component styling for .benefit p. Preserve selectors and specificity. */

  .benefit p {
    font-size: 14px;
    line-height: 1.5;
  }

  /* Responsive component styling for .areas. Preserve selectors and specificity. */

  .areas {
    padding: 28px 0;
  }

  /* Responsive component styling for .areas-inner. Preserve selectors and specificity. */

  .areas-inner {
    display: flex;
    flex-direction: column;
    gap: 25px;
  }

  /* Responsive component styling for .areas-copy. Preserve selectors and specificity. */

  .areas-copy {
    padding-top: 0;
  }

  /* Responsive component styling for .areas h2. Preserve selectors and specificity. */

  .areas h2 {
    font-size: 29px;
  }

  /* Responsive component styling for .areas-copy>p:last-of-type. Preserve selectors and specificity. */

  .areas-copy>p:last-of-type {
    line-height: 1.6;
    margin-top: 16px;
  }

  /* Responsive component styling for .area-list. Preserve selectors and specificity. */

  .area-list {
    gap: 8px;
    justify-content: space-between;
  }

  /* Responsive component styling for .area-list li. Preserve selectors and specificity. */

  .area-list li {
    font-size: 12px;
    padding: 10px 9px;
    gap: 5px;
  }

  /* Responsive component styling for .area-list .icon. Preserve selectors and specificity. */

  .area-list .icon {
    width: 18px;
    height: 18px;
  }

  /* Responsive component styling for .map-panel. Preserve selectors and specificity. */

  .map-panel {
    min-height: 0;
    height: 245px;
  }

  /* Responsive component styling for .map-label strong. Preserve selectors and specificity. */

  .map-label strong {
    font-size: 19px;
  }

  /* Responsive component styling for .map-label .icon. Preserve selectors and specificity. */

  .map-label .icon {
    width: 45px;
    height: 54px;
  }

  /* Responsive component styling for .reviews. Preserve selectors and specificity. */

  .reviews {
    padding: 30px 0 20px;
  }

  /* Responsive component styling for .reviews h2. Preserve selectors and specificity. */

  .reviews h2 {
    font-size: 29px;
    line-height: 1.2;
    margin-top: 12px;
  }

  /* Responsive component styling for .review-grid. Preserve selectors and specificity. */

  .review-grid {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 22px;
  }

  /* Responsive component styling for .review-card. Preserve selectors and specificity. */

  .review-card {
    gap: 15px;
    padding: 20px 16px;
  }

  /* Responsive component styling for .review-card>img. Preserve selectors and specificity. */

  .review-card>img {
    width: 65px;
    height: 65px;
  }

  /* Responsive component styling for .stars. Preserve selectors and specificity. */

  .stars {
    font-size: 18px;
  }

  /* Responsive component styling for .review-card blockquote. Preserve selectors and specificity. */

  .review-card blockquote {
    font-size: 15px;
    line-height: 1.55;
  }

  /* Responsive component styling for .review-card figcaption>p. Preserve selectors and specificity. */

  .review-card figcaption>p {
    font-size: 13px;
    margin-top: 12px;
  }

  /* Responsive component styling for .faq. Preserve selectors and specificity. */

  .faq {
    padding: 20px 0 28px;
  }

  /* Responsive component styling for .faq-grid. Preserve selectors and specificity. */

  .faq-grid {
    grid-template-columns: 1fr;
    gap: 14px;
    margin-top: 18px;
  }

  /* Responsive component styling for .faq-card. Preserve selectors and specificity. */

  .faq-card {
    min-height: 0;
    padding: 20px;
  }

  /* Responsive component styling for .faq-card h3. Preserve selectors and specificity. */

  .faq-card h3 {
    font-size: 17px;
  }

  /* Responsive component styling for .faq-card p. Preserve selectors and specificity. */

  .faq-card p {
    font-size: 16px;
    line-height: 1.55;
  }

  /* Responsive component styling for .final-cta. Preserve selectors and specificity. */

  .final-cta {
    padding: 24px 22px;
  }

  /* Responsive component styling for .cta-inner. Preserve selectors and specificity. */

  .cta-inner {
    gap: 20px;
  }

  /* Responsive component styling for .cta-inner>img. Preserve selectors and specificity. */

  .cta-inner>img {
    width: 85px;
    height: 85px;
  }

  /* Responsive component styling for .cta-copy h2. Preserve selectors and specificity. */

  .cta-copy h2 {
    font-size: 23px;
  }

  /* Responsive component styling for .cta-copy p. Preserve selectors and specificity. */

  .cta-copy p {
    font-size: 14px;
    line-height: 1.5;
  }

  /* Responsive component styling for .cta-buttons. Preserve selectors and specificity. */

  .cta-buttons {
    flex-direction: column;
    gap: 12px;
  }

  /* Responsive component styling for .cta-buttons .button. Preserve selectors and specificity. */

  .cta-buttons .button {
    width: 100%;
    min-height: 58px;
    font-size: 21px;
  }

  /* Responsive component styling for .site-footer. Preserve selectors and specificity. */

  .site-footer {
    padding-top: 30px;
  }

  /* Responsive component styling for .footer-grid. Preserve selectors and specificity. */

  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 28px 22px;
  }

  /* Responsive component styling for .footer-brand. Preserve selectors and specificity. */

  .footer-brand {
    grid-column: 1/-1;
    max-width: none;
  }

  /* Responsive component styling for .footer-brand .brand. Preserve selectors and specificity. */

  .footer-brand .brand {
    font-size: 20px;
  }

  /* Responsive component styling for .footer-brand .brand img. Preserve selectors and specificity. */

  .footer-brand .brand img {
    width: 54px;
    height: 54px;
  }

  /* Responsive component styling for .footer-brand p. Preserve selectors and specificity. */

  .footer-brand p {
    font-size: 16px;
    margin-top: 16px;
  }

  /* Responsive component styling for .footer-grid h2. Preserve selectors and specificity. */

  .footer-grid h2 {
    font-size: 17px;
  }

  /* Responsive component styling for .footer-grid ul. Preserve selectors and specificity. */

  .footer-grid ul {
    font-size: 14px;
  }

  /* Responsive component styling for .footer-contact. Preserve selectors and specificity. */

  .footer-contact {
    grid-column: auto;
    grid-row: auto;
  }

  /* Responsive component styling for .footer-contact .phone-link. Preserve selectors and specificity. */

  .footer-contact .phone-link {
    font-size: 15px;
    gap: 7px;
  }

  /* Responsive component styling for .footer-contact .phone-link .icon. Preserve selectors and specificity. */

  .footer-contact .phone-link .icon {
    width: 22px;
    height: 22px;
  }

  /* Responsive component styling for .footer-contact>.button. Preserve selectors and specificity. */

  .footer-contact>.button {
    font-size: 14px;
    padding-inline: 12px;
    gap: 5px;
    min-height: 50px;
  }

  /* Responsive component styling for .footer-contact>.button .icon. Preserve selectors and specificity. */

  .footer-contact>.button .icon {
    width: 18px;
    height: 18px;
  }

  /* Responsive component styling for .footer-contact>.button .arrow. Preserve selectors and specificity. */

  .footer-contact>.button .arrow {
    width: 12px;
  }

  /* Responsive component styling for .footer-bottom. Preserve selectors and specificity. */

  .footer-bottom {
    flex-direction: column;
    text-align: center;
    gap: 8px;
    font-size: 12px;
    padding-top: 20px;
  }

  /* Responsive component styling for .footer-bottom button. Preserve selectors and specificity. */

  .footer-bottom button {
    font-size: 12px;
  }

  /* Responsive component styling for dialog. Preserve selectors and specificity. */

  dialog {
    padding: 35px 24px 28px;
  }

  /* Responsive component styling for dialog h2. Preserve selectors and specificity. */

  dialog h2 {
    font-size: 27px;
  }

  /* Responsive component styling for dialog #dialog-copy. Preserve selectors and specificity. */

  dialog #dialog-copy {
    font-size: 17px;
  }
}

/* Reduced-motion accessibility: retain the user preference handling. */

@media (prefers-reduced-motion:reduce) {
  /* Responsive component styling for html. Preserve selectors and specificity. */

  html {
    scroll-behavior: auto;
  }

  /* Responsive component styling for *,*::before,*::after. Preserve selectors and specificity. */

  *,*::before,*::after {
    transition: none !important;
    animation: none !important;
  }
}

/* Fine alignment measured against the 349 px reference at desktop scale. */

/* Breakpoint/conditional rules: retain thresholds and component behavior. */

@media (min-width:1100px) {
  /* Responsive component styling for .section-heading>p:last-child. Preserve selectors and specificity. */

  .section-heading>p:last-child {
    margin-bottom: 32px;
  }

  /* Responsive component styling for .service-card:nth-child(n/ ** /+5). Preserve selectors and specificity. */

  .service-card:nth-child(n/**/+5) {
    min-height: 367px;
  }
}

/* Breakpoint/conditional rules: retain thresholds and component behavior. */

@media (min-width:1400px) {
  /* Responsive component styling for .service-card:nth-child(n/ ** /+5). Preserve selectors and specificity. */

  .service-card:nth-child(n/**/+5) {
    position: relative;
    width: 334px;
  }

  /* Responsive component styling for .service-card:nth-child(5). Preserve selectors and specificity. */

  .service-card:nth-child(5) {
    left: -72px;
  }

  /* Responsive component styling for .service-card:nth-child(6). Preserve selectors and specificity. */

  .service-card:nth-child(6) {
    left: -54px;
  }

  /* Responsive component styling for .service-card:nth-child(7). Preserve selectors and specificity. */

  .service-card:nth-child(7) {
    left: -32px;
  }

  /* Responsive component styling for .about-inner. Preserve selectors and specificity. */

  .about-inner {
    grid-template-columns: 41.8% 1fr;
    gap: 41px;
  }
}

/* Keep the existing brand strip inside compact desktop containers. */

/* Breakpoint/conditional rules: retain thresholds and component behavior. */

@media (min-width: 1100px) and (max-width: 1399px) {
  /* Responsive component styling for .brand-logos img. Preserve selectors and specificity. */

  .brand-logos img {
    min-width: 0;
  }
}

/* Preserve the opaque base gradient; only the hover layer fades in/out. */

/* Responsive component styling for .button. Preserve selectors and specificity. */

.button {
  position: relative;
  isolation: isolate;
}

/* Responsive component styling for .button--green::before. Preserve selectors and specificity. */

.button--green::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background: var(--color-green-hover);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--transition);
}

/* Responsive component styling for .button--green:not(:disabled):not([aria-disabled=true]):not([aria-busy=true]):focus-visible::before; visible keyboard focus state; preserve visibility/disabled behavior controlled by HTML or JavaScript. Preserve selectors and specificity. */

.button--green:not(:disabled):not([aria-disabled=true]):not([aria-busy=true]):focus-visible::before {
  opacity: 1;
}

/* A transparent strip covers the lift plus the 1px border, retaining pointer contact. */

/* Responsive component styling for .button::after,.service-card::after,.hub-card::after,.hub-card > a::after. Preserve selectors and specificity. */

.button::after,.service-card::after,.hub-card::after,.hub-card > a::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  height: calc(var(--hover-lift) + 2px);
  background: var(--styles-component-background-tone-05);
}

/* Responsive component styling for .service-card,.hub-card,.hub-card > a. Preserve selectors and specificity. */

.service-card,.hub-card,.hub-card > a {
  position: relative;
}

/* Clip the photographs, not the hover-retention strip or the card shadow. */

/* Responsive component styling for .service-card > img,.hub-card .hub-photo. Preserve selectors and specificity. */

.service-card > img,.hub-card .hub-photo {
  border-radius: calc(var(--radius-card) - 1px) calc(var(--radius-card) - 1px) 0 0;
}

/* Responsive component styling for .hub-card > a. Preserve selectors and specificity. */

.hub-card > a {
  border-radius: inherit;
}

/* Breakpoint/conditional rules: retain thresholds and component behavior. */

@media (hover:hover) and (pointer:fine) {
  /* Responsive component styling for .button:not(:disabled):not([aria-disabled=true]):not([aria-busy=true]):hover; pointer hover feedback paired with the base component; preserve visibility/disabled behavior controlled by HTML or JavaScript. Preserve selectors and specificity. */

  .button:not(:disabled):not([aria-disabled=true]):not([aria-busy=true]):hover {
    transform: translateY(calc(-1 * var(--hover-lift)));
  }

  /* Responsive component styling for .button--green:not(:disabled):not([aria-disabled=true]):not([aria-busy=true]):hover::before; pointer hover feedback paired with the base component; preserve visibility/disabled behavior controlled by HTML or JavaScript. Preserve selectors and specificity. */

  .button--green:not(:disabled):not([aria-disabled=true]):not([aria-busy=true]):hover::before {
    opacity: 1;
  }

  /* Responsive component styling for .button--blue:not(:disabled):not([aria-disabled=true]):not([aria-busy=true]):hover; pointer hover feedback paired with the base component; preserve visibility/disabled behavior controlled by HTML or JavaScript. Preserve selectors and specificity. */

  .button--blue:not(:disabled):not([aria-disabled=true]):not([aria-busy=true]):hover {
    background-color: var(--color-blue-hover);
  }

  /* Responsive component styling for .button:not(:disabled):not([aria-disabled=true]):not([aria-busy=true]):active; preserve visibility/disabled behavior controlled by HTML or JavaScript. Preserve selectors and specificity. */

  .button:not(:disabled):not([aria-disabled=true]):not([aria-busy=true]):active {
    transform: none;
  }

  /* Responsive component styling for .service-card:hover; pointer hover feedback paired with the base component. Preserve selectors and specificity. */

  .service-card:hover {
    transform: translateY(calc(-1 * var(--hover-lift)));
    box-shadow: 0 8px 24px var(--color-line);
  }
}

/* Responsive component styling for .button:is(:disabled,[aria-disabled=true],[aria-busy=true]); preserve visibility/disabled behavior controlled by HTML or JavaScript. Preserve selectors and specificity. */

.button:is(:disabled,[aria-disabled=true],[aria-busy=true]) {
  transform: none;
  transition: none;
}

/* Responsive component styling for .button:is(:disabled,[aria-disabled=true],[aria-busy=true])::before; preserve visibility/disabled behavior controlled by HTML or JavaScript. Preserve selectors and specificity. */

.button:is(:disabled,[aria-disabled=true],[aria-busy=true])::before {
  opacity: 0;
  transition: none;
}

/* Responsive component styling for .button:is(:disabled,[aria-disabled=true],[aria-busy=true])::after; preserve visibility/disabled behavior controlled by HTML or JavaScript. Preserve selectors and specificity. */

.button:is(:disabled,[aria-disabled=true],[aria-busy=true])::after {
  pointer-events: none;
}

/* Responsive component styling for :where(.desktop-nav a,[data-dropdown-toggle],.mobile-nav a,.text-link,.footer-grid a,.footer-bottom button,.prose a,.page-lead a,.pagination a):not(.button). Preserve selectors and specificity. */

:where(.desktop-nav a,[data-dropdown-toggle],.mobile-nav a,.text-link,.footer-grid a,.footer-bottom button,.prose a,.page-lead a,.pagination a):not(.button) {
  transition: color var(--transition),background-color var(--transition),border-color var(--transition),text-decoration-color var(--transition);
}

/* CTA transitions must not be replaced by the broader link rules above. */

/* Responsive component styling for .button. Preserve selectors and specificity. */

.button {
  transition: background-color var(--transition),color var(--transition),box-shadow var(--transition),transform var(--transition);
}

/* Responsive component styling for .dialog-close. Preserve selectors and specificity. */

.dialog-close {
  transition: background-color var(--transition),color var(--transition);
}

/* Responsive component styling for .dialog-close:hover; pointer hover feedback paired with the base component. Preserve selectors and specificity. */

.dialog-close:hover {
  background-color: var(--color-line);
}

/* Reduced-motion accessibility: retain the user preference handling. */

@media (prefers-reduced-motion:reduce) {
  /* Responsive component styling for .button:hover,.button:active,.service-card:hover,.hub-card:hover; pointer hover feedback paired with the base component. Preserve selectors and specificity. */

  .button:hover,.button:active,.service-card:hover,.hub-card:hover {
    transform: none !important;
  }
}

/* Overlap the button face so the retention area has no subpixel hit-test seam. */

/* Responsive component styling for .button::after. Preserve selectors and specificity. */

.button::after {
  top: 0;
  bottom: calc(-1 * (var(--hover-lift) + 2px));
  height: auto;
  border-radius: inherit;
}
