@charset "UTF-8";

:root {
  --container-width: 1440px;
  --content-width: 720px;
  --header-height: 90px;
  --header-height-mobile: 84px;
  --text-xs: 0.8125rem;
  --text-sm: 0.9375rem;
  --text-base: clamp(1rem, 0.98rem + 0.1vw, 1.0625rem);
  --text-lg: clamp(1.125rem, 1.08rem + 0.2vw, 1.25rem);
  --text-h3: clamp(1.375rem, 1.25rem + 0.5vw, 1.625rem);
  --text-h2: clamp(1.875rem, 1.5rem + 1.5vw, 2.75rem);
  --text-h1: clamp(2.5rem, 1.75rem + 3vw, 4.5rem);
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-24: 6rem;
  --space-32: 8rem;
  --color-brand-100: #e8f1ec;
  --color-brand-700: #00602d;
  --color-brand-800: #004a23;
  --color-ink-900: #152019;
  --color-ink-700: #34443a;
  --color-line: #d7e0da;
  --color-surface: #ffffff;
  --color-surface-soft: #e8f1ec;
  --color-focus: #0067c5;
  --color-error: #b42318;
  --border-radius-small: 4px;
  --border-radius-card: 10px;
  --border-radius-button: 6px;
  --transition-fast: 160ms;
  --transition-normal: 240ms;
  --transition-easing: cubic-bezier(0.2, 0, 0, 1);
  --shadow-soft: 0 8px 30px rgb(21 32 25 / 8%);
  --shadow-medium: 0 16px 48px rgb(21 32 25 / 14%);
  --icon-size: 24px;
  --icon-stroke-width: 2;
  --focus-ring-width: 3px;
  --focus-ring-offset: 3px;
}

*,
*::before,
*::after { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-height-mobile) + var(--space-4));
}

body {
  margin: 0;
  background: var(--color-surface);
  color: var(--color-ink-900);
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  font-size: var(--text-base);
  line-height: 1.65;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body,
button,
input,
textarea,
select { font-family: Inter, "Segoe UI", Arial, sans-serif; }

img,
svg { display: block; max-width: 100%; }
img { height: auto; }

a {
  color: var(--color-brand-700);
  text-decoration: none;
}

a:hover { color: var(--color-brand-800); }

:focus-visible {
  outline: var(--focus-ring-width) solid var(--color-focus);
  outline-offset: var(--focus-ring-offset);
}

h1,
h2,
h3 {
  margin-block: 0 var(--space-6);
  color: var(--color-ink-900);
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 700;
  line-height: 1.12;
  text-wrap: balance;
}

h1 { font-size: var(--text-h1); letter-spacing: -0.035em; }
h2 { font-size: var(--text-h2); letter-spacing: -0.025em; }
h3 { font-size: var(--text-h3); letter-spacing: -0.015em; }
p, ul, ol, dl { margin-block: 0 var(--space-6); }
ul, ol { padding-inline-start: 1.25em; }
address { font-style: normal; }
summary { cursor: pointer; }

.skip-link {
  position: fixed;
  z-index: 1000;
  inset-block-start: var(--space-4);
  inset-inline-start: var(--space-4);
  padding: var(--space-3) var(--space-4);
  border-radius: var(--border-radius-button);
  background: var(--color-surface);
  box-shadow: var(--shadow-medium);
  transform: translateY(-200%);
}

.skip-link:focus { transform: translateY(0); }

.eyebrow {
  margin-block-end: var(--space-3);
  color: var(--color-brand-700);
  font-family: Montserrat, Arial, sans-serif;
  font-size: var(--text-sm);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.button {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  padding: var(--space-3) var(--space-6);
  border: 1px solid transparent;
  border-radius: var(--border-radius-button);
  font-family: Montserrat, Arial, sans-serif;
  font-size: var(--text-sm);
  font-weight: 600;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  transition: color var(--transition-fast) var(--transition-easing), background-color var(--transition-fast) var(--transition-easing), border-color var(--transition-fast) var(--transition-easing), opacity var(--transition-fast) var(--transition-easing);
}

.button--primary { background: var(--color-brand-700); color: var(--color-surface); }
.button--primary:hover,
.button--primary:active { background: var(--color-brand-800); color: var(--color-surface); }
.button--secondary { border-color: var(--color-brand-700); background: transparent; color: var(--color-brand-700); }
.button--secondary:hover,
.button--secondary:active { border-color: var(--color-brand-800); background: var(--color-brand-100); color: var(--color-brand-800); }
.button[aria-disabled="true"],
.button:disabled { pointer-events: none; opacity: 0.45; }
.button[aria-busy="true"] { cursor: progress; }
.button[aria-busy="true"]::after {
  width: 1em;
  height: 1em;
  margin-inline-start: var(--space-2);
  border: 2px solid currentColor;
  border-inline-end-color: transparent;
  border-radius: 50%;
  content: "";
  animation: button-loading 800ms linear infinite;
}

.text-link { display: inline-flex; min-height: 44px; align-items: center; font-weight: 600; }

.site-header {
  position: sticky;
  z-index: 100;
  inset-block-start: 0;
  min-height: var(--header-height-mobile);
  border-block-end: 1px solid var(--color-line);
  background: rgb(255 255 255 / 96%);
  backdrop-filter: blur(12px);
  transition: box-shadow var(--transition-fast) var(--transition-easing);
}

.site-header.is-scrolled { box-shadow: var(--shadow-soft); }

.site-header__inner {
  display: grid;
  width: min(100% - 2.5rem, var(--container-width));
  min-height: var(--header-height-mobile);
  align-items: center;
  margin-inline: auto;
  grid-template-columns: minmax(110px, 1fr) auto auto;
  gap: var(--space-3);
}

.site-brand { min-width: 0; }
.site-logo { display: block; width: 200px; max-width: 100%; }
.site-logo img { width: 100%; }

.site-menu > summary {
  display: flex;
  min-width: 48px;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding-inline: var(--space-3);
  border: 1px solid var(--color-line);
  border-radius: var(--border-radius-button);
  color: var(--color-ink-900);
  font-family: Montserrat, Arial, sans-serif;
  font-size: var(--text-sm);
  font-weight: 600;
  list-style: none;
}

.site-menu > summary::-webkit-details-marker,
.solutions-menu > summary::-webkit-details-marker { display: none; }
.site-menu[open] > summary { border-color: var(--color-brand-700); color: var(--color-brand-700); }

.main-navigation {
  position: absolute;
  inset-block-start: 100%;
  inset-inline: 0;
  padding: var(--space-4) 1.25rem var(--space-6);
  border-block-end: 1px solid var(--color-line);
  background: var(--color-surface);
  box-shadow: var(--shadow-soft);
}

.main-navigation ul { margin: 0; padding: 0; list-style: none; }
.main-navigation a,
.solutions-menu > summary {
  display: flex;
  min-height: 48px;
  align-items: center;
  padding: var(--space-2) var(--space-3);
  border-radius: var(--border-radius-small);
  color: var(--color-ink-900);
  font-family: Montserrat, Arial, sans-serif;
  font-size: var(--text-sm);
  font-weight: 600;
  text-decoration: none;
}

.main-navigation a:hover,
.solutions-menu > summary:hover { background: var(--color-brand-100); color: var(--color-brand-800); }
.solutions-menu > summary::after { margin-inline-start: auto; content: "+"; }
.solutions-menu[open] > summary::after { content: "−"; }
.solutions-menu ul { padding-inline-start: var(--space-4); }
.solutions-menu ul a { font-family: Inter, "Segoe UI", Arial, sans-serif; font-weight: 500; }
.site-header__cta { min-width: auto; padding-inline: var(--space-4); }

main > section { padding: var(--space-8) max(1.25rem, calc((100% - var(--container-width)) / 2)); }
/* Every section uses the same container edge. Narrow text blocks stay on that edge. */
main > section > * { width: 100%; max-width: var(--container-width); margin-inline: 0; }

.hero {
  display: grid;
  min-height: min(780px, calc(100svh - var(--header-height-mobile)));
  align-items: center;
  gap: var(--space-12);
  background: var(--color-surface-soft);
}

.page-hero {
  display: grid;
  min-height: min(480px, calc(100svh - var(--header-height-mobile)));
  align-content: center;
  background: var(--color-surface-soft);
}

.page-hero > p { max-width: var(--content-width); font-size: var(--text-lg); }
.page-hero > .button { width: fit-content; }
.page-hero--compact { min-height: 360px; }
.page-hero--compact h1 { max-width: 1050px; }
.service-page-hero__content { width: 100%; }
.service-page-hero__content h1 { font-size: clamp(2.75rem, 3.4vw, 3.75rem); }
.service-page-hero__content > p:not(.eyebrow) { max-width: var(--content-width); font-size: var(--text-lg); }
.service-page-hero__media { overflow: hidden; width: 100%; height: auto; min-height: 0; margin: var(--space-8) 0 0; aspect-ratio: 16 / 9; }
.service-page-hero__media picture,
.service-page-hero__media img { width: 100%; height: 100%; }
.service-page-hero__media img { object-fit: cover; object-position: center 48%; }

.hero__content { width: 100%; max-width: 840px; }
.hero__content h1 { font-size: clamp(2.75rem, 3.4vw, 3.75rem); }
.hero__intro { max-width: 56ch; color: var(--color-ink-700); font-size: var(--text-lg); }
.hero__actions,
.section-actions,
.contact-cta__actions { display: flex; align-items: center; gap: var(--space-3); flex-wrap: wrap; }
.hero__contact { position: relative; margin-block-start: var(--space-6); padding-inline-start: var(--space-4); color: var(--color-ink-700); font-size: var(--text-sm); }
.hero__contact::before { position: absolute; inset-block-start: 0.7em; inset-inline-start: 0; width: 6px; height: 6px; border-radius: 50%; background: var(--color-brand-700); content: ""; }
.hero__media {
  position: relative;
  display: none;
  width: 100%;
  aspect-ratio: 5 / 6;
  justify-self: end;
  overflow: hidden;
  border-radius: var(--border-radius-card);
  box-shadow: 0 10px 26px rgb(21 32 25 / 7%);
}
.hero__media::after {
  position: absolute;
  inset: 0 auto 0 0;
  width: clamp(70px, 8vw, 150px);
  background: linear-gradient(90deg, var(--color-surface-soft), transparent);
  content: "";
  pointer-events: none;
}
.hero__media picture,
.hero__media img { width: 100%; height: 100%; }
.hero__media img { object-fit: cover; object-position: 53% 45%; }

.ai-generated-media { position: relative; }
.ai-generated-label {
  position: absolute;
  z-index: 3;
  inset-inline-end: var(--space-3);
  inset-block-end: var(--space-3);
  display: block;
  width: clamp(88px, 8vw, 118px);
  max-width: calc(100% - (var(--space-3) * 2));
  line-height: 0;
  filter: drop-shadow(0 1px 3px rgb(0 0 0 / 18%));
}
.ai-generated-label img {
  display: block;
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}

.personal-care,
.managed-services,
.solutions,
.process,
.proof,
.audience,
.faq,
.contact-cta { overflow: hidden; }

.section-panel {
  padding: clamp(1.5rem, 3vw, 3rem);
  border: 1px solid var(--color-line);
  border-radius: var(--border-radius-card);
  background: var(--color-surface-soft);
}

.error-page {
  display: grid;
  min-height: min(680px, calc(100svh - var(--header-height-mobile)));
  align-content: center;
  background: var(--color-surface-soft);
}

.error-page > p { max-width: var(--content-width); }
.process .section-panel > p,
.audience .section-panel > p,
.faq > p,
.contact-cta > p { max-width: var(--content-width); }
.personal-care { background: var(--color-surface); }
.personal-care__intro { max-width: 720px; }
.personal-care__intro h2 { max-width: 680px; font-size: clamp(1.75rem, 1.5rem + 1vw, 2.35rem); }
.personal-care__intro > p:not(.eyebrow) { max-width: 720px; color: var(--color-ink-700); }
.personal-care__intro > p:not(.eyebrow) + p { margin-block-start: calc(var(--space-6) * -0.45); }
.personal-care__structure {
  display: grid;
  max-width: 700px;
  margin-block-start: var(--space-8);
  padding: 0;
  gap: var(--space-4);
  list-style: none;
}
.personal-care__structure li {
  position: relative;
  padding: var(--space-2) 0 var(--space-2) var(--space-6);
}
.personal-care__structure li::before {
  position: absolute;
  inset-block-start: 1.18rem;
  inset-inline-start: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--color-brand-700);
  content: "";
}
.personal-care__structure h3 { margin: 0; font-size: 1.125rem; }
.personal-care__structure p { margin: var(--space-1) 0 0; color: var(--color-ink-700); }
.managed-services { background: var(--color-surface); }
.managed-services .section-actions { margin-block-start: var(--space-6); }
.service-related-links { margin-block-start: var(--space-6); color: var(--color-ink-700); font-size: var(--text-sm); }
.service-related-links a { font-weight: 600; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.managed-services .section-panel > ul { display: grid; max-width: 700px; margin-block: var(--space-8); padding: 0; gap: var(--space-3); list-style: none; }
.managed-services .section-panel > ul li { position: relative; padding: var(--space-2) 0 var(--space-2) var(--space-6); }
.managed-services .section-panel > ul li::before { position: absolute; inset-block-start: 1.18rem; inset-inline-start: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--color-brand-700); content: ""; }
.managed-services .section-panel > ul h3 { margin: 0; font-size: 1.125rem; }
.managed-services .section-panel > ul p { margin: var(--space-1) 0 0; color: var(--color-ink-700); }

.solutions { background: var(--color-surface); }
.solutions__grid { display: grid; gap: var(--space-4); }
.solution-card {
  display: flex;
  min-height: 230px;
  flex-direction: column;
  padding: var(--space-6);
  border: 1px solid var(--color-line);
  border-radius: var(--border-radius-card);
  background: var(--color-surface-soft);
  transition: border-color var(--transition-normal) var(--transition-easing), box-shadow var(--transition-normal) var(--transition-easing), transform var(--transition-normal) var(--transition-easing);
}
.solution-card h3 { font-size: clamp(1.25rem, 1.15rem + 0.35vw, 1.5rem); text-wrap: pretty; }
.solution-card:hover { border-color: rgb(0 96 45 / 35%); box-shadow: var(--shadow-soft); transform: translateY(-2px); }
.solution-card p { color: var(--color-ink-700); }
.solution-card a { display: flex; min-height: 44px; align-items: center; justify-content: space-between; margin-block-start: auto; gap: var(--space-4); font-weight: 600; }
.solution-card a::after { content: "→"; font-size: 1.2em; text-decoration: none; transition: transform var(--transition-fast) var(--transition-easing); }
.solution-card:hover a::after { transform: translateX(3px); }

.process { background: var(--color-surface); }
.process .section-panel > h2 { max-width: 1100px; }
.process .section-panel > p { max-width: 1000px; }
.process .section-panel > ol { max-width: var(--container-width); }
.process__image { overflow: hidden; margin: var(--space-8) 0 0; border-radius: calc(var(--border-radius-card) - 2px); }
.process__image { aspect-ratio: 3.2 / 1; }
.process__image img { width: 100%; height: 100%; object-fit: cover; }
.process__image img { object-position: center 48%; }
.process ol { position: relative; display: grid; margin-block-start: var(--space-8); padding: 0; gap: var(--space-8); list-style: none; }
.process ol::before { position: absolute; inset-block: 0; inset-inline-start: 7px; width: 2px; background: var(--color-brand-700); content: ""; opacity: 0.45; }
.process li { position: relative; display: grid; padding-inline-start: var(--space-8); gap: var(--space-2); }
.process li::before { position: absolute; z-index: 1; inset-block-start: 0.4rem; inset-inline-start: 0; width: 16px; height: 16px; border: 4px solid var(--color-surface-soft); border-radius: 50%; background: var(--color-brand-700); box-shadow: 0 0 0 1px var(--color-brand-700); content: ""; }
.process strong { font-family: Montserrat, Arial, sans-serif; font-size: var(--text-h3); }
.process span { color: var(--color-ink-700); }

.proof { background: var(--color-surface); }
.proof__intro { max-width: 1200px; color: var(--color-ink-700); }
.proof dl { display: grid; overflow: hidden; margin: var(--space-8) 0 0; border: 1px solid var(--color-line); border-radius: var(--border-radius-card); background: var(--color-surface-soft); }
.proof dl div { position: relative; min-height: 170px; padding: var(--space-8); }
.proof dl div::before { display: block; width: 56px; height: 2px; margin-block-end: var(--space-6); background: var(--color-brand-700); content: ""; }
.proof dl div + div { border-block-start: 1px solid var(--color-line); }
.proof dt { color: var(--color-ink-900); font-family: Montserrat, Arial, sans-serif; font-size: clamp(1.375rem, 1.25rem + 0.35vw, 1.625rem); font-weight: 700; line-height: 1.2; text-wrap: pretty; }
.proof dd { max-width: 40ch; margin: var(--space-3) 0 0; color: var(--color-ink-700); }

.audience { background: var(--color-surface); }
.audience__content { min-width: 0; }
.audience__content > h2,
.audience__content > ul,
.audience__content > p { max-width: 980px; }
.audience ul { display: grid; margin-block: var(--space-8); padding: 0; gap: var(--space-4); list-style: none; }
.audience li { position: relative; padding: var(--space-2) var(--space-4) var(--space-2) var(--space-8); font-weight: 600; }
.audience li::before { position: absolute; inset-block-start: 1.12rem; inset-inline-start: var(--space-2); width: 7px; height: 7px; border-radius: 50%; background: var(--color-brand-700); content: ""; }
.audience__image { overflow: hidden; margin: var(--space-8) 0 0; border-radius: calc(var(--border-radius-card) - 2px); aspect-ratio: 16 / 9; }
.audience__image img { width: 100%; height: 100%; object-fit: cover; object-position: 38% center; }

.faq { background: var(--color-surface); }
.faq__intro { max-width: 620px; }
.faq__items { width: 100%; max-width: 980px; }
.faq details { width: 100%; margin-inline: 0; border-block-start: 1px solid var(--color-line); }
.faq details:first-child { margin-block-start: var(--space-8); }
.faq details:last-child { border-block-end: 1px solid var(--color-line); }
.faq summary { display: flex; min-height: 72px; align-items: center; justify-content: space-between; padding-block: var(--space-4); font-family: Montserrat, Arial, sans-serif; font-weight: 600; list-style: none; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { margin-inline-start: var(--space-4); color: var(--color-brand-700); content: "+"; font-size: var(--text-h3); }
.faq details[open] summary::after { content: "−"; }
.faq details p { max-width: var(--content-width); padding-block-end: var(--space-6); color: var(--color-ink-700); }

.contact-cta { background: var(--color-brand-700); color: var(--color-surface); }
.contact-cta h2,
.contact-cta a { color: var(--color-surface); }
.contact-cta h2,
.contact-cta > p { max-width: 920px; margin-inline: 0; }
.contact-cta__actions { justify-content: flex-start; margin-block-start: var(--space-8); }
.contact-cta .button--primary { background: var(--color-surface); color: var(--color-brand-800); }
.contact-cta .button--primary:hover { background: var(--color-brand-100); color: var(--color-brand-800); }
.contact-cta .button--secondary { border-color: var(--color-surface); background: transparent; color: var(--color-surface); }
.contact-cta .button--secondary:hover { border-color: var(--color-surface); background: rgb(255 255 255 / 12%); color: var(--color-surface); }

.contact-options__grid {
  display: grid;
  gap: var(--space-4);
  margin-block: var(--space-8);
}

.contact-options article {
  display: flex;
  min-width: 0;
  height: 100%;
  padding: var(--space-6);
  border: 1px solid var(--color-line);
  border-radius: var(--border-radius-card);
  background: var(--color-surface-soft);
  flex-direction: column;
}

.contact-options__card-header { display: flex; min-height: 48px; align-items: flex-start; justify-content: space-between; margin-block-end: var(--space-2); gap: var(--space-4); }
.contact-options__card-header .eyebrow { margin: 0; padding-block-start: var(--space-2); }
.contact-options__icon { width: 44px; height: 44px; flex: 0 0 44px; color: var(--color-brand-700); fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.contact-options h3 { margin-block-end: var(--space-2); overflow-wrap: anywhere; }
.contact-options article > p { color: var(--color-ink-700); }
.contact-options__action { display: inline-flex; min-height: 44px; align-items: center; align-self: flex-start; margin-block-start: auto; padding-block-start: var(--space-4); gap: var(--space-2); overflow-wrap: anywhere; font-weight: 700; }
.contact-options__action span { flex: 0 0 auto; transition: transform var(--transition-fast) var(--transition-easing); }
.contact-options__action:hover span { transform: translateX(3px); }
.contact-options__response { display: flex; width: fit-content; max-width: 100%; align-items: center; margin: 0; padding: var(--space-3) var(--space-4); border-inline-start: 3px solid var(--color-brand-700); gap: var(--space-3); background: var(--color-brand-100); color: var(--color-ink-700); }
.contact-options__response svg { width: 28px; height: 28px; flex: 0 0 28px; color: var(--color-brand-700); fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.service-introduction > h2 { max-width: 900px; }
.service-introduction > p { max-width: 780px; }
.service-introduction__facts { display: grid; max-width: 1200px; margin-block-start: var(--space-8); gap: var(--space-6); }
.service-introduction__facts article { position: relative; padding-inline-start: var(--space-6); }
.service-introduction__facts article::before { position: absolute; inset-block-start: 0.65rem; inset-inline-start: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--color-brand-700); content: ""; }
.service-introduction__facts h3,
.service-routine__details h3,
.service-agreement__options h3 { margin-block-end: var(--space-2); font-size: var(--text-h3); }
.service-introduction__facts p,
.service-benefits__grid p,
.service-routine__details p,
.service-agreement__options p { margin: 0; color: var(--color-ink-700); }
.service-benefits { background: var(--color-surface); }
.service-benefits > h2 { max-width: 1050px; }
.service-benefits__intro { max-width: 820px; color: var(--color-ink-700); }
.service-benefits__grid { display: grid; margin-block-start: var(--space-8); gap: var(--space-8); }
.service-benefits__grid article { padding-block-start: var(--space-6); border-block-start: 2px solid var(--color-brand-700); }
.service-benefits__grid h3 { margin-block-end: var(--space-2); font-size: var(--text-h3); }
.service-modules { background: var(--color-surface); }
.service-modules .section-panel { display: grid; gap: var(--space-12); }
.service-modules__intro > p:last-child { max-width: 620px; color: var(--color-ink-700); }
.service-modules__list { display: grid; gap: 0 var(--space-12); }
.service-modules__list article { position: relative; padding: var(--space-4) 0 var(--space-4) var(--space-6); }
.service-modules__list article::before { position: absolute; inset-block-start: 1.45rem; inset-inline-start: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--color-brand-700); content: ""; }
.service-modules__list h3 { margin-block-end: var(--space-1); font-family: Inter, "Segoe UI", Arial, sans-serif; font-size: var(--text-base); }
.service-modules__list p { margin: 0; color: var(--color-ink-700); font-size: var(--text-sm); }
.audience > h2 { max-width: 1050px; }
.audience__list { display: grid; margin-block-start: var(--space-8); gap: var(--space-6); }
.audience__list article { position: relative; padding-inline-start: var(--space-6); }
.audience__list article::before { position: absolute; inset-block-start: 0.65rem; inset-inline-start: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--color-brand-700); content: ""; }
.audience__list h3 { margin-block-end: var(--space-2); font-size: var(--text-h3); }
.audience__list p { max-width: 48ch; margin: 0; color: var(--color-ink-700); }
.service-routine { display: grid; gap: var(--space-12); background: var(--color-surface); }
.service-routine__intro > h2 { max-width: 820px; }
.service-routine__intro > p { max-width: 760px; }
.service-routine__details { display: grid; gap: var(--space-8); }
.service-routine__details article { padding-block-start: var(--space-6); border-block-start: 2px solid var(--color-brand-700); }
.service-agreement { background: var(--color-surface); }
.service-agreement .section-panel { display: grid; gap: var(--space-12); }
.service-agreement__intro > p:last-child { max-width: 680px; color: var(--color-ink-700); }
.service-agreement__options { display: grid; gap: var(--space-8); }
.service-agreement__options article { position: relative; padding-inline-start: var(--space-6); }
.service-agreement__options article::before { position: absolute; inset-block-start: 0.65rem; inset-inline-start: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--color-brand-700); content: ""; }
.company-belief > p,
.company-first-meeting > p { max-width: var(--content-width); }
.company-belief h2,
.company-first-meeting h2 { max-width: 900px; }
.company-principles { background: var(--color-surface-soft); }
.company-principles__grid { display: grid; gap: var(--space-4); margin-block-start: var(--space-8); }
.company-principles article { padding: var(--space-6); border: 1px solid var(--color-line); border-radius: var(--border-radius-card); background: var(--color-surface); }
.company-first-meeting { background: var(--color-surface); color: var(--color-ink-900); }
.company-first-meeting h2 { color: var(--color-ink-900); }
.company-first-meeting .eyebrow { color: var(--color-brand-700); }
.company-first-meeting + .audience { background: var(--color-surface); }
.company-page-hero > p:not(.eyebrow) { max-width: 760px; font-size: var(--text-lg); }
.company-story,
.company-region { display: grid; align-items: start; gap: var(--space-8); }
.company-story > div:last-child,
.company-region > div:last-child { max-width: 760px; color: var(--color-ink-700); }
.company-story > div:last-child > p:last-child { margin-block-end: 0; }
.company-story__timeline { display: grid; margin: 0; padding: 0; gap: var(--space-6); list-style: none; }
.company-story__timeline li { position: relative; display: grid; padding-inline-start: var(--space-6); gap: var(--space-1); }
.company-story__timeline li::before { position: absolute; inset-block-start: 0.65rem; inset-inline-start: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--color-brand-700); content: ""; }
.company-story__timeline span { color: var(--color-ink-700); }
.company-claim { background: var(--color-surface); }
.company-claim .section-panel { display: grid; gap: var(--space-12); }
.company-claim .section-panel > div > p:last-child { max-width: 700px; color: var(--color-ink-700); }
.company-claim ul { display: grid; margin: 0; padding: 0; gap: var(--space-6); list-style: none; }
.company-claim li { position: relative; padding-inline-start: var(--space-6); }
.company-claim li::before { position: absolute; inset-block-start: 0.68rem; inset-inline-start: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--color-brand-700); content: ""; }
.company-claim h3 { margin-block-end: var(--space-2); font-size: 1.125rem; }
.company-claim li p { margin: 0; color: var(--color-ink-700); }
.company-values__intro { max-width: 760px; color: var(--color-ink-700); }
.company-values__grid { display: grid; margin-block-start: var(--space-8); gap: var(--space-8); }
.company-values__grid article { padding-block-start: var(--space-6); border-block-start: 2px solid var(--color-brand-700); }
.company-values__grid h3 { margin-block-end: var(--space-2); }
.company-values__grid p { margin: 0; color: var(--color-ink-700); }
.company-partnership { background: var(--color-surface); }
.company-partnership .section-panel { display: grid; gap: var(--space-8); }
.company-partnership .section-panel > div > p:not(.eyebrow) { color: var(--color-ink-700); }
.company-partnership__image { overflow: hidden; min-height: 280px; margin: 0; border-radius: calc(var(--border-radius-card) - 2px); }
.company-partnership__image img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.company-expertise { display: grid; align-items: start; gap: var(--space-8); }
.company-expertise > div > p:not(.eyebrow),
.company-expertise__partners p { max-width: 760px; color: var(--color-ink-700); }
.company-expertise__partners { padding-block-start: var(--space-6); border-block-start: 2px solid var(--color-brand-700); }
.company-expertise__partners h3 { margin-block-end: var(--space-2); }
.company-region > div:last-child .text-link { display: inline-flex; align-items: center; margin-block-start: var(--space-3); gap: var(--space-2); font-weight: 700; }
.company-region__facts { display: grid; max-width: 540px; margin: var(--space-8) 0 0; padding: 0; gap: var(--space-3); list-style: none; }
.company-region__facts li { position: relative; padding-inline-start: var(--space-6); color: var(--color-ink-700); }
.company-region__facts li::before { position: absolute; inset-block-start: 0.65em; inset-inline-start: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--color-brand-700); content: ""; }
.partner-page-hero > p:not(.eyebrow) { max-width: 820px; font-size: var(--text-lg); }
.partner-principles,
.partner-independence { display: grid; align-items: start; gap: var(--space-8); }
.partner-principles > div > p:last-child,
.partner-independence > div:last-child { max-width: 760px; color: var(--color-ink-700); }
.partner-principles ul { display: grid; margin: 0; padding: 0; gap: var(--space-6); list-style: none; }
.partner-principles li { position: relative; padding-inline-start: var(--space-6); }
.partner-principles li::before { position: absolute; inset-block-start: 0.68rem; inset-inline-start: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--color-brand-700); content: ""; }
.partner-principles h3 { margin-block-end: var(--space-1); font-size: 1.125rem; }
.partner-principles li p { margin: 0; color: var(--color-ink-700); }
.partner-overview { background: var(--color-surface); }
.partner-overview .section-panel > h2 { max-width: 920px; }
.partner-overview__intro { max-width: 760px; color: var(--color-ink-700); }
.partner-list { display: grid; margin-block-start: var(--space-8); border-block-start: 1px solid var(--color-line); }
.partner-entry { display: grid; align-items: center; padding-block: var(--space-8); border-block-end: 1px solid var(--color-line); gap: var(--space-6); }
.partner-entry__logo { display: flex; min-height: 126px; align-items: center; justify-content: center; padding: var(--space-4); border-radius: var(--border-radius-card); background: var(--color-surface); }
.partner-entry__logo img { width: auto; max-width: min(100%, 260px); max-height: 82px; object-fit: contain; }
.partner-entry__logo--badge img { max-width: 118px; max-height: 118px; }
.partner-entry h3 { margin-block-end: var(--space-2); }
.partner-entry__former-name { font-size: 0.72em; font-weight: 600; }
.partner-entry p:last-child { max-width: 760px; margin-block-end: 0; color: var(--color-ink-700); }
.partner-entry .eyebrow { margin-block-end: var(--space-2); }
.partner-business,
.partner-cooperation { display: grid; align-items: start; gap: var(--space-8); }
.partner-business > div:first-child > p:last-child,
.partner-cooperation > div:last-child { max-width: 760px; color: var(--color-ink-700); }
.partner-business__detail { display: grid; align-items: center; gap: var(--space-6); }
.partner-business__detail .partner-entry__logo { min-height: 170px; border: 1px solid var(--color-line); }
.partner-business__detail h3 { margin-block-end: var(--space-2); }
.partner-business__detail > div:last-child > p:last-child { margin-block-end: 0; color: var(--color-ink-700); }
.partner-cooperation { background: var(--color-surface); }
.partner-cooperation > div:last-child p:first-child { margin-block-start: 0; }
.partner-cooperation > div:last-child p:last-child { margin-block-end: 0; }
.partner-cooperation__partner { display: grid; align-items: start; margin-block-start: var(--space-6); padding-block-start: var(--space-6); border-block-start: 1px solid var(--color-line); gap: var(--space-6); }
.partner-cooperation__logo { display: flex; width: min(100%, 210px); min-height: 130px; align-items: center; justify-content: center; padding: var(--space-4); border: 1px solid var(--color-line); border-radius: var(--border-radius-card); background: var(--color-surface); text-decoration: none; }
.partner-cooperation__logo:hover { border-color: var(--color-brand-700); }
.partner-cooperation__logo img { width: auto; max-width: 100%; max-height: 96px; object-fit: contain; }
.partner-cooperation__logo--text { color: var(--color-ink-700); font-family: Montserrat, Arial, sans-serif; font-size: 1.15rem; font-weight: 700; letter-spacing: 0.08em; }
.partner-cooperation__partner .eyebrow { margin-block: 0 var(--space-2); }
.partner-cooperation__partner h3 { margin-block-end: var(--space-2); color: var(--color-ink-900); }
.partner-cooperation__copy > p:not(.eyebrow) { margin-block-end: var(--space-3); }
.partner-network { background: var(--color-surface); }
.partner-network .section-panel { display: grid; gap: var(--space-8); }
.partner-network .section-panel > div:last-child { max-width: 760px; }
.partner-network__detail { display: grid; align-items: center; gap: var(--space-6); }
.partner-network__logo { min-height: 150px; border: 1px solid var(--color-line); }
.partner-network__logo:hover { border-color: var(--color-brand-700); }
.partner-network__logo img { max-width: min(100%, 250px); max-height: 105px; }
.partner-network h3 { margin-block-end: var(--space-2); }
.partner-network .section-panel > div:last-child p { color: var(--color-ink-700); }
.partner-independence { background: var(--color-surface); }
.partner-independence > div:last-child p:first-child { margin-block-start: 0; }
.partner-independence > div:last-child p:last-child { margin-block-end: 0; }
.process + .audience { background: var(--color-surface); }
.solution-detail { scroll-margin-top: calc(var(--header-height-mobile) + var(--space-4)); }
.solution-detail:nth-of-type(odd) { background: var(--color-brand-100); }
.solution-detail > p,
.solution-detail > ul { max-width: var(--content-width); }
.solution-detail ul { display: grid; padding: 0; gap: var(--space-2); list-style: none; }
.solution-detail li { padding-inline-start: var(--space-4); border-inline-start: 3px solid var(--color-brand-700); }
.solutions-page-hero > p:not(.eyebrow) { max-width: 760px; font-size: var(--text-lg); }
.solutions-introduction { display: grid; align-items: start; gap: var(--space-12); }
.solutions-introduction > div > p:last-child { max-width: 720px; color: var(--color-ink-700); }
.solutions-introduction__facts { display: grid; margin: 0; padding: 0; gap: var(--space-6); list-style: none; }
.solutions-introduction__facts li { position: relative; padding-inline-start: var(--space-6); }
.solutions-introduction__facts li::before { position: absolute; inset-block-start: 0.68rem; inset-inline-start: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--color-brand-700); content: ""; }
.solutions-introduction__facts h3 { margin-block-end: var(--space-1); font-size: 1.125rem; }
.solutions-introduction__facts p { margin: 0; color: var(--color-ink-700); }
.solutions-overview { background: var(--color-surface); }
.solutions-overview .section-panel > h2 { max-width: 900px; }
.solutions-overview__grid { display: grid; margin-block-start: var(--space-8); gap: var(--space-3); }
.solutions-overview__grid a { display: flex; min-height: 64px; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-4) var(--space-6); border: 1px solid var(--color-line); border-radius: var(--border-radius-button); background: rgb(255 255 255 / 58%); font-family: Montserrat, Arial, sans-serif; font-weight: 700; }
.solutions-overview__grid a:hover { border-color: var(--color-brand-700); background: var(--color-surface); }
.technology-principle { background: var(--color-surface); }
.technology-principle .section-panel { display: grid; gap: var(--space-12); }
.technology-principle__intro > p:last-child { max-width: 760px; color: var(--color-ink-700); }
.technology-principle__points { display: grid; margin: 0; padding: 0; gap: var(--space-8); list-style: none; }
.technology-principle__points li { position: relative; padding-inline-start: var(--space-6); }
.technology-principle__points li::before { position: absolute; inset-block-start: 0.68rem; inset-inline-start: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--color-brand-700); content: ""; }
.technology-principle__points h3 { margin-block-end: var(--space-2); font-size: 1.125rem; }
.technology-principle__points p { margin: 0; color: var(--color-ink-700); }
.solutions-details { padding-block-start: 0 !important; }
.solution-row { display: grid; scroll-margin-top: calc(var(--header-height-mobile) + var(--space-4)); padding-block: var(--space-12); border-block-start: 1px solid var(--color-line); gap: var(--space-8); }
.solution-row:first-child { border-block-start: 0; }
.solution-row__intro > p:last-child { max-width: 680px; color: var(--color-ink-700); }
.solution-row ul { display: grid; align-content: start; margin: 0; padding: 0; gap: var(--space-3); list-style: none; }
.solution-row li { position: relative; padding-inline-start: var(--space-6); }
.solution-row li::before { position: absolute; inset-block-start: 0.72rem; inset-inline-start: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--color-brand-700); content: ""; }
.solutions-custom-request { display: grid; max-width: 1200px; padding-block: var(--space-12) 0; border-block-start: 1px solid var(--color-line); gap: var(--space-6); }
.solutions-custom-request h2 { margin-block-end: 0; }
.solutions-custom-request > div:last-child > p { max-width: 720px; color: var(--color-ink-700); }
.solutions-custom-request .text-link { display: inline-flex; align-items: center; gap: var(--space-2); font-weight: 700; }
.support-contact,
.support-remote { display: grid; align-items: start; gap: var(--space-8); }
.support-contact > div:first-child > p:last-child,
.support-remote > div:first-child > p:last-child { max-width: 760px; color: var(--color-ink-700); }
.support-contact .contact-options__grid { margin-block-start: 0; }
.support-contact .contact-options__grid article {
  display: flex;
  min-width: 0;
  height: 100%;
  padding: var(--space-6);
  border: 1px solid var(--color-line);
  border-radius: var(--border-radius-card);
  background: var(--color-surface-soft);
  flex-direction: column;
}
.support-contact__card-header { display: flex; min-height: 48px; align-items: flex-start; justify-content: space-between; margin-block-end: var(--space-2); gap: var(--space-4); }
.support-contact__card-header .eyebrow { margin: 0; padding-block-start: var(--space-2); }
.support-contact__icon { width: 44px; height: 44px; flex: 0 0 44px; color: var(--color-brand-700); fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.support-contact .contact-options__grid h3 { margin-block-end: var(--space-2); }
.support-contact .contact-options__grid article > p { color: var(--color-ink-700); }
.support-contact__action { display: inline-flex; min-height: 44px; align-items: center; align-self: flex-start; margin-block-start: auto; padding-block-start: var(--space-4); gap: var(--space-2); overflow-wrap: anywhere; font-weight: 700; }
.support-contact__action span { flex: 0 0 auto; transition: transform var(--transition-fast) var(--transition-easing); }
.support-contact__action:hover span { transform: translateX(3px); }
.support-remote { background: var(--color-surface); }
.support-remote__options { display: grid; gap: var(--space-4); }
.support-remote__options article { display: flex; height: 100%; padding: var(--space-6); border: 1px solid var(--color-line); border-radius: var(--border-radius-card); background: var(--color-surface-soft); flex-direction: column; }
.support-remote__card-header { display: flex; min-height: 48px; align-items: flex-start; justify-content: space-between; margin-block-end: var(--space-2); gap: var(--space-4); }
.support-remote__card-header .eyebrow { margin: 0; padding-block-start: var(--space-2); }
.support-remote__icon { width: 44px; height: 44px; flex: 0 0 44px; color: var(--color-brand-700); fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.support-remote__options h3 { margin-block-end: var(--space-2); }
.support-remote__options article > p:not(.eyebrow) { color: var(--color-ink-700); }
.support-remote__options .text-link { align-self: flex-start; margin-block-start: auto; gap: var(--space-2); }
.support-remote__options .text-link span { flex: 0 0 auto; }
.customer-voices { background: var(--color-brand-100); }
.customer-voices__heading { display: grid; align-items: end; gap: var(--space-6); }
.customer-voices__heading h2 { margin-block-end: 0; }
.customer-voices__rating { display: grid; justify-items: start; gap: var(--space-1); color: var(--color-ink-700); }
.customer-voices__rating strong,
.reviews-summary strong { display: flex; align-items: center; gap: var(--space-3); color: var(--color-ink-900); font-family: Montserrat, Arial, sans-serif; font-size: var(--text-xl); }
.customer-voices__rating strong span,
.reviews-summary strong span,
.review-stars { color: var(--color-brand-700); letter-spacing: 0.12em; }
.customer-voices__grid { display: grid; margin-block-start: var(--space-8); gap: var(--space-4); }
.customer-voices figure,
.reviews-list__items figure { display: flex; height: 100%; margin: 0; padding: var(--space-6); border: 1px solid var(--color-line); border-radius: var(--border-radius-card); background: var(--color-surface); flex-direction: column; }
.customer-voices blockquote,
.reviews-list blockquote { margin: 0; color: var(--color-ink-900); font-size: var(--text-lg); line-height: 1.65; }
.customer-voices figcaption,
.reviews-list figcaption { display: grid; margin-block-start: auto; padding-block-start: var(--space-6); gap: var(--space-1); color: var(--color-ink-700); }
.customer-voices figcaption strong,
.reviews-list figcaption strong { color: var(--color-ink-900); }
.customer-voices__actions { display: flex; margin-block-start: var(--space-6); gap: var(--space-4) var(--space-8); flex-wrap: wrap; }
.customer-voices__actions .text-link { font-weight: 700; }
.reviews-page-hero__content > p:not(.eyebrow) { max-width: 800px; font-size: var(--text-lg); }
.reviews-page-hero__content h1 { font-size: clamp(2.75rem, 3.4vw, 3.75rem); }
.reviews-page-hero__media { overflow: hidden; width: 100%; margin: var(--space-8) 0 0; border-radius: var(--border-radius-card); aspect-ratio: 16 / 9; }
.reviews-page-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 45%; }
.reviews-summary { display: grid; width: fit-content; margin-block-start: var(--space-6); padding: var(--space-4) var(--space-6); border-inline-start: 3px solid var(--color-brand-700); gap: var(--space-1); background: rgb(255 255 255 / 55%); }
.reviews-list { background: var(--color-surface); }
.reviews-list__intro > p:last-child { max-width: 780px; color: var(--color-ink-700); }
.reviews-list__items { display: grid; margin-block-start: var(--space-8); gap: var(--space-4); }
.review-stars { margin-block-end: var(--space-4); font-size: var(--text-lg); }
.reviews-list__source { margin-block: var(--space-8) 0; }
.legal-page-hero { min-height: 300px; }
.legal-page-hero h1 { font-size: clamp(2.75rem, 3.4vw, 3.75rem); }
.legal-content { display: grid; align-items: start; gap: var(--space-12); }
.legal-content__main { max-width: 820px; }
.legal-content__main h2 { margin-block: var(--space-10) var(--space-3); font-size: var(--text-h3); }
.legal-content__main h2:first-child { margin-block-start: 0; }
.legal-content__main address { color: var(--color-ink-700); font-style: normal; line-height: 1.75; }
.legal-content__main p { color: var(--color-ink-700); }
.legal-stack { display: grid; gap: 0; }
.legal-entry { padding-block: var(--space-8); border-block-start: 1px solid var(--color-line); }
.legal-entry:first-child { padding-block-start: 0; border-block-start: 0; }
.legal-entry:last-child { padding-block-end: 0; }
.legal-entry h2 { margin: 0 0 var(--space-4); font-size: clamp(1.35rem, 1.2rem + 0.4vw, 1.625rem); }
.legal-entry h3 { margin-block-end: var(--space-3); font-family: Inter, "Segoe UI", Arial, sans-serif; font-size: var(--text-base); }
.legal-entry p { margin-block: 0 var(--space-3); }
.legal-entry p:last-child { margin-block-end: 0; }
.legal-entry__columns { display: grid; align-items: start; gap: var(--space-6); }
.legal-entry__columns > div > p { margin-block-end: var(--space-4); }
.legal-entry__value { color: var(--color-ink-900); font-family: Montserrat, Arial, sans-serif; font-weight: 700; white-space: nowrap; }
.legal-list { display: grid; margin: 0; padding: 0; gap: var(--space-3); list-style: none; }
.legal-list li { position: relative; padding-inline-start: var(--space-6); color: var(--color-ink-700); }
.legal-list li::before { position: absolute; inset-block-start: 0.72em; inset-inline-start: 0; width: 0.4rem; height: 0.4rem; border-radius: 50%; background: var(--color-brand-700); content: ""; transform: translateY(-50%); }
.legal-content__note { padding: var(--space-6); border-inline-start: 3px solid var(--color-brand-700); background: var(--color-brand-100); }
.legal-content__note h2 { font-size: var(--text-h3); }
.legal-document { display: grid; align-items: start; gap: var(--space-10); }
.legal-document__intro > p:not(.eyebrow) { max-width: 760px; color: var(--color-ink-700); }
.legal-document__facts { padding: var(--space-6); border: 1px solid var(--color-line); border-radius: var(--border-radius-card); background: var(--color-brand-100); }
.legal-document__facts dl { display: grid; margin: 0; gap: var(--space-4); }
.legal-document__facts dl div { padding-block-end: var(--space-4); border-block-end: 1px solid var(--color-line); }
.legal-document__facts dl div:last-child { padding-block-end: 0; border-block-end: 0; }
.legal-document__facts dt { font-family: Montserrat, Arial, sans-serif; font-weight: 700; }
.legal-document__facts dd { margin: var(--space-1) 0 0; color: var(--color-ink-700); }
.contact-preparation,
.support-information { background: var(--color-brand-100); }
.contact-preparation > p,
.support-information > p { max-width: var(--content-width); }
.contact-preparation ul,
.support-information ul { display: grid; max-width: 900px; padding: 0; gap: var(--space-3); list-style: none; }
.contact-preparation li,
.support-information li { padding: var(--space-4); border-inline-start: 3px solid var(--color-brand-700); background: rgb(255 255 255 / 60%); }

.site-footer { padding: var(--space-6) max(1.25rem, calc((100% - var(--container-width)) / 2)) var(--space-4); background: var(--color-brand-800); color: var(--color-surface); }
.site-footer__inner { display: flex; max-width: var(--container-width); align-items: center; justify-content: space-between; margin-inline: auto; gap: var(--space-6); }
.site-footer a { color: var(--color-surface); }
.site-footer ul { margin: 0; padding: 0; list-style: none; }
.site-footer__brand img { width: 230px; }
.site-footer__brand > a { display: block; }
.site-footer__inner > p { margin: 0; color: rgb(255 255 255 / 72%); font-size: var(--text-sm); white-space: nowrap; }
.site-footer__inner nav { margin-inline-start: auto; }
.site-footer__inner ul { display: flex; justify-content: flex-end; gap: var(--space-3) var(--space-4); flex-wrap: wrap; font-size: var(--text-sm); }

@media (max-width: 599px) {
  main > section { padding-block: var(--space-8); }
  .hero { min-height: auto; padding-block: 3.5rem; }
  .page-hero--compact { min-height: auto; }
  .service-page-hero { padding-block-end: 0; }
  .service-page-hero__media { margin-inline: calc(var(--space-4) * -1); width: calc(100% + (var(--space-4) * 2)); max-height: 420px; }
  .personal-care__structure,
  .managed-services .section-panel > ul,
  .process__image,
  .process ol,
  .proof dl,
  .faq details:first-child { margin-block-start: var(--space-6); }
  .personal-care__structure { gap: var(--space-3); }
  .managed-services .section-panel > ul { margin-block-end: 0; }
  .process ol { gap: var(--space-6); }
  .proof dl div { min-height: auto; padding: var(--space-6); }
  .proof dl div::before { margin-block-end: var(--space-4); }
  .hero__actions { align-items: stretch; flex-direction: column; }
  .hero__actions .button { width: 100%; }
  .solution-card { min-height: 230px; }
  .contact-cta__actions { align-items: flex-start; flex-direction: column; }
  .contact-cta__actions .button { width: 100%; }
  .site-footer { padding-block: var(--space-6) var(--space-5); }
  .site-footer__inner { align-items: flex-start; gap: var(--space-6); flex-direction: column; }
  .site-footer__brand { margin-block-start: 5px; }
  .site-footer__brand img { width: min(190px, 70vw); }
  .site-footer__inner nav { width: 100%; margin-inline-start: 0; }
  .site-footer__inner ul {
    display: grid;
    width: 100%;
    grid-auto-flow: column;
    grid-template-rows: repeat(3, auto);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-content: initial;
    gap: var(--space-3) var(--space-5);
    font-size: var(--text-sm);
  }
  .site-footer__inner li { min-width: 0; }
  .site-footer__inner li a { display: inline-flex; min-height: 36px; align-items: center; overflow-wrap: anywhere; }
  .site-footer__inner > p { width: 100%; padding-block-start: var(--space-4); border-block-start: 1px solid rgb(255 255 255 / 18%); }
}

@media (min-width: 400px) and (max-width: 599px) {
}

@media (max-width: 360px) {
  .site-header__inner {
    width: calc(100% - 1.5rem);
    grid-template-columns: minmax(128px, 1fr) auto auto;
    gap: var(--space-2);
  }

  .site-logo { width: 128px; }
  .site-header__cta { padding-inline: var(--space-3); }
}

@media (min-width: 600px) {
  main > section { padding-inline: max(2rem, calc((100% - var(--container-width)) / 2)); }
  .solutions__grid,
  .audience ul,
  .contact-options__grid,
  .service-modules__grid,
  .company-principles__grid,
  .process ol,
  .support-remote__options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .customer-voices__grid,
  .reviews-list__items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 700px) {
  .solutions-overview__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1024px) {
  html { scroll-padding-top: calc(var(--header-height) + var(--space-4)); }
  .site-header { min-height: var(--header-height); }
  .site-header__inner { width: min(100% - 6rem, var(--container-width)); min-height: var(--header-height); grid-template-columns: 260px 1fr auto; gap: var(--space-6); }
  .site-logo { width: 240px; }
  .site-menu > summary { display: none; }
  .site-menu:not([open]) > .main-navigation,
  .site-menu > .main-navigation { display: block; }
  .main-navigation { position: static; padding: 0; border: 0; background: transparent; box-shadow: none; }
  .main-navigation__list { display: flex; align-items: center; justify-content: flex-end; gap: var(--space-1); }
  .main-navigation__list > li { position: relative; }
  .main-navigation a,
  .solutions-menu > summary { padding-inline: var(--space-3); }
  .solutions-menu > summary::after { margin-inline-start: var(--space-2); }
  .solutions-menu ul { position: absolute; z-index: 110; inset-block-start: calc(100% + var(--space-2)); inset-inline-start: 50%; display: grid; width: min(620px, 72vw); padding: var(--space-4); border: 1px solid var(--color-line); border-radius: var(--border-radius-card); background: var(--color-surface); box-shadow: var(--shadow-medium); grid-template-columns: repeat(2, minmax(0, 1fr)); transform: translateX(-50%); }
  .solutions-menu ul a { padding: var(--space-3) var(--space-4); }
  main > section { padding-block: var(--space-12); padding-inline: max(3rem, calc((100% - var(--container-width)) / 2)); }
  .service-page > section:not(.service-page-hero):not(.contact-cta) { padding-block: var(--space-8); }
  .hero {
    height: min(540px, calc(100svh - var(--header-height)));
    min-height: 540px;
    align-items: stretch;
    padding-block: 0;
    padding-inline-end: 0;
    grid-template-columns: minmax(520px, 1fr) minmax(420px, 1fr);
    column-gap: clamp(2rem, 3vw, 4rem);
  }
  .page-hero { min-height: min(480px, calc(100svh - var(--header-height))); }
  .page-hero--compact { min-height: 0; }
  .service-page-hero {
    height: 500px;
    padding-block: 0;
    padding-inline-end: 0;
    grid-template-columns: minmax(0, 1.15fr) minmax(340px, 0.85fr);
    column-gap: clamp(3rem, 6vw, 7rem);
  }
  .service-page-hero__content { align-self: center; padding-block: var(--space-12); }
  .service-page-hero__media { height: 100%; min-height: 0; margin: 0; aspect-ratio: auto; }
  .solution-detail { scroll-margin-top: calc(var(--header-height) + var(--space-4)); }
  .solutions-page > section:not(.solutions-page-hero):not(.contact-cta) { padding-block: var(--space-8); }
  .support-page > section:not(.page-hero) { padding-block: var(--space-8); }
  .reviews-page > section:not(.page-hero):not(.contact-cta) { padding-block: var(--space-8); }
  .reviews-page-hero { min-height: 440px; align-items: center; align-content: initial; grid-template-columns: minmax(0, 0.95fr) minmax(420px, 0.85fr); column-gap: clamp(3rem, 6vw, 7rem); }
  .reviews-page-hero__media { height: 330px; margin: 0; aspect-ratio: auto; }
  .legal-content { grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.6fr); column-gap: clamp(4rem, 8vw, 8rem); }
  .legal-entry__columns { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--space-10); }
  .legal-document { grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.55fr); column-gap: clamp(4rem, 8vw, 8rem); }
  .legal-topics ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .customer-voices__heading { grid-template-columns: minmax(0, 1fr) auto; }
  .customer-voices__rating { justify-items: end; text-align: right; }
  .customer-voices__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .reviews-list__items { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .support-contact,
  .support-remote { grid-template-columns: minmax(0, 0.8fr) minmax(520px, 1.2fr); column-gap: clamp(4rem, 8vw, 8rem); }
  .solutions-introduction { grid-template-columns: minmax(0, 0.9fr) minmax(420px, 0.75fr); column-gap: clamp(4rem, 8vw, 8rem); }
  .solutions-overview__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .technology-principle .section-panel { grid-template-columns: minmax(0, 0.9fr) minmax(420px, 0.75fr); column-gap: clamp(4rem, 8vw, 8rem); }
  .solution-row { grid-template-columns: minmax(0, 0.9fr) minmax(420px, 0.75fr); column-gap: clamp(4rem, 8vw, 8rem); scroll-margin-top: calc(var(--header-height) + var(--space-4)); }
  .solutions-custom-request { grid-template-columns: minmax(0, 0.75fr) minmax(420px, 1fr); column-gap: clamp(3rem, 5vw, 5rem); }
  .company-page > section:not(.company-page-hero):not(.contact-cta) { padding-block: var(--space-8); }
  .company-story,
  .company-region { grid-template-columns: minmax(0, 0.8fr) minmax(520px, 1.2fr); column-gap: clamp(4rem, 8vw, 8rem); }
  .company-story > div:last-child,
  .company-region > div:last-child { margin-block-start: calc(1.55rem + var(--space-3)); }
  .company-claim .section-panel { grid-template-columns: minmax(0, 0.9fr) minmax(420px, 0.75fr); column-gap: clamp(4rem, 8vw, 8rem); }
  .company-values__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .company-partnership .section-panel { align-items: stretch; grid-template-columns: minmax(0, 1fr) minmax(420px, 0.82fr); column-gap: clamp(3rem, 6vw, 6rem); }
  .company-expertise { grid-template-columns: minmax(0, 0.9fr) minmax(420px, 0.75fr); column-gap: clamp(4rem, 8vw, 8rem); }
  .partner-page > section:not(.partner-page-hero):not(.contact-cta) { padding-block: var(--space-8); }
  .partner-principles,
  .partner-independence,
  .partner-business,
  .partner-cooperation { grid-template-columns: minmax(0, 0.8fr) minmax(520px, 1.2fr); column-gap: clamp(4rem, 8vw, 8rem); }
  .partner-principles > ul,
  .partner-independence > div:last-child,
  .partner-cooperation > div:last-child { margin-block-start: calc(1.55rem + var(--space-3)); }
  .partner-business__detail { grid-template-columns: minmax(190px, 0.45fr) minmax(0, 1fr); }
  .partner-cooperation__partner { grid-template-columns: 210px minmax(0, 1fr); column-gap: var(--space-8); }
  .partner-network__detail { grid-template-columns: minmax(190px, 0.45fr) minmax(0, 1fr); }
  .partner-network .section-panel { grid-template-columns: minmax(0, 0.8fr) minmax(520px, 1.2fr); column-gap: clamp(4rem, 8vw, 8rem); }
  .partner-entry { grid-template-columns: minmax(220px, 0.45fr) minmax(0, 1.55fr); column-gap: clamp(3rem, 6vw, 6rem); }
  .service-modules .section-panel { grid-template-columns: minmax(0, 0.8fr) minmax(560px, 1.2fr); }
  .service-modules__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-introduction__facts,
  .service-benefits__grid,
  .service-routine__details { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .service-routine { grid-template-columns: minmax(0, 0.85fr) minmax(560px, 1.15fr); column-gap: clamp(4rem, 8vw, 8rem); }
  .service-agreement .section-panel { grid-template-columns: minmax(0, 0.85fr) minmax(560px, 1.15fr); column-gap: clamp(4rem, 8vw, 8rem); }
  .audience__list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-8); }
  .company-principles__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .error-page { min-height: min(720px, calc(100svh - var(--header-height))); }
  .hero__content {
    max-width: 840px;
    align-self: start;
    margin-block-start: clamp(4rem, 9vh, 5rem);
  }
  .hero__media {
    display: block;
    max-width: none;
    height: 100%;
    aspect-ratio: auto;
    border-radius: 0;
    box-shadow: none;
  }
  .personal-care { display: grid; align-items: start; grid-template-columns: minmax(0, 0.9fr) minmax(420px, 0.75fr); column-gap: clamp(4rem, 8vw, 8rem); }
  .personal-care__structure { width: 100%; margin-block-start: var(--space-8); }
  .managed-services .section-panel { display: grid; align-items: center; grid-template-columns: minmax(0, 0.9fr) minmax(420px, 0.75fr); column-gap: clamp(4rem, 8vw, 8rem); }
  .managed-services .section-panel > * { width: 100%; }
  .managed-services .section-panel > ul { margin-block: 2.5rem 0; grid-template-columns: 1fr; }
  .solutions__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); }
  .process ol { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; }
  .process ol::before { inset-block-start: 7px; inset-inline: 7px; width: auto; height: 2px; }
  .process li { padding: var(--space-8) var(--space-6) 0 0; }
  .process li::before { inset-block-start: 0; border-color: var(--color-surface-soft); }
  .proof dl { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .proof dl div + div { border-block-start: 0; border-inline-start: 1px solid var(--color-line); }
  .audience .section-panel { display: grid; align-items: stretch; grid-template-columns: minmax(0, 1fr) minmax(420px, 0.82fr); column-gap: clamp(3rem, 6vw, 6rem); }
  .audience ul { grid-template-columns: 1fr; margin-block: var(--space-6); gap: var(--space-2); }
  .audience__image { min-height: 100%; margin-block-start: 0; aspect-ratio: auto; }
  .faq { display: grid; align-items: start; grid-template-columns: minmax(320px, 0.7fr) minmax(560px, 1.3fr); column-gap: clamp(4rem, 8vw, 8rem); }
  .faq__items { max-width: none; }
  .faq details:first-child { margin-block-start: 0; }
}

@media (min-width: 1280px) {
  .site-header__inner { grid-template-columns: 280px 1fr auto; }
  .hero__content h1 { white-space: nowrap; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,
  *::before,
  *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
}

@keyframes button-loading { to { transform: rotate(1turn); } }
