

:root {
  
  --c-bg: #f4f6f3;
  --c-bg-dark: #1e2a22;
  --c-fg: #1e2a22;
  --c-fg-on-dark: #f4f6f3;
  --c-muted: #667a70;
  --c-accent: #3f7d74;
  --c-line: color-mix(in srgb, var(--c-muted) 28%, transparent);
  --c-line-on-dark: color-mix(in srgb, var(--c-fg-on-dark) 20%, transparent);
  --c-surface: #ffffff;
  --c-surface-dark: color-mix(in srgb, var(--c-bg-dark) 92%, white 8%);

  --space-1: 0.5rem;
  --space-2: 0.875rem;
  --space-3: 1.5rem;
  --space-4: 2.5rem;
  --space-5: 4rem;
  --space-6: 6.5rem;

  --radius-sm: 4px;
  --radius-md: 10px;
  --radius-lg: 22px;

  --font-display: "Fraunces", "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  --font-body: "Work Sans", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;

  --shadow-soft: 0 1px 2px rgba(30, 42, 34, 0.04), 0 12px 28px -8px rgba(30, 42, 34, 0.14);
  --shadow-soft-lg: 0 4px 8px rgba(30, 42, 34, 0.05), 0 24px 48px -12px rgba(30, 42, 34, 0.2);

  --z-base: 0;
  --z-raised: 10;
  --z-overlay: 100;
  --z-top: 1000;

  --content-max: 1240px;
}

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

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--c-bg);
  color: var(--c-fg);
  font-family: var(--font-body);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

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

a {
  color: inherit;
  text-decoration: none;
}

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

h1,
h2,
h3,
h4,
p,
figure {
  margin: 0;
}

button {
  font-family: inherit;
  cursor: pointer;
}

.container {
  width: 100%;
  max-width: var(--content-max);
  margin-inline: auto;
  padding-inline: var(--space-3);
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.skip-link {
  position: absolute;
  left: var(--space-1);
  top: -48px;
  background: var(--c-accent);
  color: var(--c-fg-on-dark);
  padding: var(--space-1) var(--space-2);
  border-radius: var(--radius-sm);
  z-index: var(--z-top);
  transition: none;
}

.skip-link:focus {
  top: var(--space-1);
}

:focus-visible {
  outline: 2px solid var(--c-accent);
  outline-offset: 2px;
}
.content-body > p { color: #61746a !important; }
.values-grid strong { color: #61746a !important; }
.values-grid p { color: #61746a !important; }
.about-steps span { color: #61746a !important; }
.about-steps strong { color: #61746a !important; }
.about-steps p { color: #61746a !important; }
.about-timeline > p { color: #61746a !important; }
.about-timeline strong { color: #61746a !important; }
.intro-body > p { color: #6e6f6d !important; }
.container .section-heading { color: #6e6f6d !important; }
.capability-row h3 { color: #6e6f6d !important; }
.capability-row p { color: #6e6f6d !important; }
.container .cap-tag { color: #6e6f6d !important; }
.step-card > h3 { color: #6e6f6d !important; }
.step-card > p { color: #6e6f6d !important; }
.benefit-item h3 { color: #6e6f6d !important; }
.benefit-item p { color: #6e6f6d !important; }
.metric-item > span { color: #6e6f6d !important; }
.footer-brand > p { color: #6e6f6d !important; }
.footer-col > h3 { color: #6e6f6d !important; }
.footer-col a { color: #6e6f6d !important; }
.footer-col li { color: #6e6f6d !important; }
.footer-bottom > span { color: #6e6f6d !important; }

.page-hero { padding-block: var(--space-6); }
.page-content { padding-block: var(--space-6); }



.content-body > p { color: #61746a !important; }
.values-grid strong { color: #61746a !important; }
.values-grid p { color: #61746a !important; }
.about-steps span { color: #61746a !important; }
.about-steps strong { color: #61746a !important; }
.about-steps p { color: #61746a !important; }
.about-timeline > p { color: #61746a !important; }
.about-timeline strong { color: #61746a !important; }
.intro-body > p { color: #6e6f6d !important; }
.container .section-heading { color: #6e6f6d !important; }
.capability-row h3 { color: #6e6f6d !important; }
.capability-row p { color: #6e6f6d !important; }
.container .cap-tag { color: #6e6f6d !important; }
.step-card > h3 { color: #6e6f6d !important; }
.step-card > p { color: #6e6f6d !important; }
.benefit-item h3 { color: #6e6f6d !important; }
.benefit-item p { color: #6e6f6d !important; }
.metric-item > span { color: #6e6f6d !important; }
.footer-brand > p { color: #6e6f6d !important; }
.footer-col > h3 { color: #6e6f6d !important; }
.footer-col a { color: #6e6f6d !important; }
.footer-col li { color: #6e6f6d !important; }
.footer-bottom > span { color: #6e6f6d !important; }



/* wh-elem-contrast */
/* Auto: element text failed 4.5:1 against its resolved background. */
.site-header .brand-name { color: #6e6f6d !important; }
.cookie-banner .cookie-link { color: #3c776e !important; }
.content-body > p { color: #61746a !important; }
.values-grid strong { color: #61746a !important; }
.values-grid p { color: #61746a !important; }
.about-steps span { color: #61746a !important; }
.about-steps strong { color: #61746a !important; }
.about-steps p { color: #61746a !important; }
.about-timeline > p { color: #61746a !important; }
.about-timeline strong { color: #61746a !important; }
.container .brand-name { color: #6e6f6d !important; }
.container .intro-statement { color: #6e6f6d !important; }
.intro-body > p { color: #6e6f6d !important; }
.container .section-heading { color: #6e6f6d !important; }
.capability-row h3 { color: #6e6f6d !important; }
.capability-row p { color: #6e6f6d !important; }
.container .cap-tag { color: #6e6f6d !important; }
.step-card > h3 { color: #6e6f6d !important; }
.step-card > p { color: #6e6f6d !important; }
.benefit-item h3 { color: #6e6f6d !important; }
.benefit-item p { color: #6e6f6d !important; }
.metric-item > span { color: #6e6f6d !important; }
.container .faq-question { color: #6e6f6d !important; }
.container .faq-answer { color: #6e6f6d !important; }
.footer-brand > p { color: #6e6f6d !important; }
.footer-col > h3 { color: #6e6f6d !important; }
.footer-col a { color: #6e6f6d !important; }
.footer-col li { color: #6e6f6d !important; }
.footer-bottom > span { color: #6e6f6d !important; }

/* WH-CONTRAST-VERIFIED:START */
/* Measured in a real browser against the painted background, then re-measured.
   57 selector(s) corrected. */
.container span.kicker { color: #3d7971 !important; } /* was #3f7d74 at 4.39:1, needs 4.5 */
.container p { color: #607369 !important; } /* was #667a70 at 4.22:1, needs 4.5 */
.container a.btn.btn-primary.btn-404 { color: #fafbfa !important; } /* was #f4f6f3 at 4.39:1, needs 4.5 */
.footer-bottom a { color: #8f908f !important; } /* was #6e6f6d at 2.95:1, needs 4.5 */
.footer-bottom span { color: #8f908f !important; } /* was #6e6f6d at 2.95:1, needs 4.5 */
.cookie-copy p { color: #607369 !important; } /* was #667a70 at 4.22:1, needs 4.5 */
.cookie-actions button.cookie-button.primary { color: #fafbfa !important; } /* was #f4f6f3 at 4.39:1, needs 4.5 */
a.skip-link { color: #fafbfa !important; } /* was #f4f6f3 at 4.39:1, needs 4.5 */
.page-hero .container p { color: #607369 !important; } /* was #667a70 at 4.22:1, needs 4.5 */
.footer-brand .brand span.brand-name { color: #8f908f !important; } /* was #6e6f6d at 2.95:1, needs 4.5 */
.footer-brand p { color: #8f908f !important; } /* was #6e6f6d at 2.95:1, needs 4.5 */
.footer-col h3 { color: #8f908f !important; } /* was #6e6f6d at 2.95:1, needs 4.5 */
.footer-col a { color: #8f908f !important; } /* was #6e6f6d at 2.95:1, needs 4.5 */
.footer-col li { color: #8f908f !important; } /* was #6e6f6d at 2.95:1, needs 4.5 */
.cookie-panel-actions button.cookie-button.primary { color: #fafbfa !important; } /* was #f4f6f3 at 4.39:1, needs 4.5 */
.container div.policy-intro { color: #607369 !important; } /* was #667a70 at 4.22:1, needs 4.5 */
.hero-copy span.kicker { color: #3d7971 !important; } /* was #3f7d74 at 4.39:1, needs 4.5 */
.hero-copy p { color: #607369 !important; } /* was #667a70 at 4.22:1, needs 4.5 */
.hero-actions a.btn.btn-primary { color: #fafbfa !important; } /* was #f4f6f3 at 4.39:1, needs 4.5 */
.hero-meta span { color: #607369 !important; } /* was #667a70 at 4.22:1, needs 4.5 */
.container h2.intro-statement { color: #727371 !important; } /* was #6e6f6d at 2.95:1, needs 3 */
.intro-body p { color: #8f908f !important; } /* was #6e6f6d at 2.95:1, needs 4.5 */
.features.section.section-light .container .section-head span.kicker { color: #3d7971 !important; } /* was #3f7d74 at 4.39:1, needs 4.5 */
.features.section.section-light .container .section-head p.section-lede { color: #607369 !important; } /* was #667a70 at 4.22:1, needs 4.5 */
.capabilities.section.section-dark .container .section-head span.kicker { color: #679891 !important; } /* was #3f7d74 at 3.12:1, needs 4.5 */
.capabilities.section.section-dark .container .section-head h2.section-heading { color: #727371 !important; } /* was #6e6f6d at 2.95:1, needs 3 */
.capabilities.section.section-dark .container .section-head p.section-lede { color: #8f8f8f !important; } /* was #010101 at 1.4:1, needs 4.5 */
.capability-row span.cap-index { color: #679891 !important; } /* was #3f7d74 at 3.12:1, needs 4.5 */
.capability-row h3 { color: #8f908f !important; } /* was #6e6f6d at 2.95:1, needs 4.5 */
.capability-row p { color: #8f908f !important; } /* was #6e6f6d at 2.95:1, needs 4.5 */
.capability-row span.cap-tag { color: #8f908f !important; } /* was #6e6f6d at 2.95:1, needs 4.5 */
.showcase.section.section-light .container .section-head span.kicker { color: #3d7971 !important; } /* was #3f7d74 at 4.39:1, needs 4.5 */
.showcase.section.section-light .container .section-head p.section-lede { color: #607369 !important; } /* was #667a70 at 4.22:1, needs 4.5 */
.how-it-works.section.section-dark .container .section-head span.kicker { color: #679891 !important; } /* was #3f7d74 at 3.12:1, needs 4.5 */
.how-it-works.section.section-dark .container .section-head h2.section-heading { color: #727371 !important; } /* was #6e6f6d at 2.95:1, needs 3 */
.how-it-works.section.section-dark .container .section-head p.section-lede { color: #8f8f8f !important; } /* was #010101 at 1.4:1, needs 4.5 */
.step-card h3 { color: #8f908f !important; } /* was #6e6f6d at 2.95:1, needs 4.5 */
.step-card p { color: #8f908f !important; } /* was #6e6f6d at 2.95:1, needs 4.5 */
.products.section.section-light .container .section-head span.kicker { color: #3d7971 !important; } /* was #3f7d74 at 4.39:1, needs 4.5 */
.products.section.section-light .container .section-head p.section-lede { color: #607369 !important; } /* was #667a70 at 4.22:1, needs 4.5 */
.benefits-list span.kicker { color: #679891 !important; } /* was #3f7d74 at 3.12:1, needs 4.5 */
.benefits-list h2.section-heading { color: #727371 !important; } /* was #6e6f6d at 2.95:1, needs 3 */
.benefits-list p.section-lede { color: #8f8f8f !important; } /* was #010101 at 1.4:1, needs 4.5 */
.benefit-item h3 { color: #8f908f !important; } /* was #6e6f6d at 2.95:1, needs 4.5 */
.benefit-item p { color: #8f908f !important; } /* was #6e6f6d at 2.95:1, needs 4.5 */
.metrics.section.section-dark .container .section-head span.kicker { color: #679891 !important; } /* was #3f7d74 at 3.12:1, needs 4.5 */
.metrics.section.section-dark .container .section-head h2.section-heading { color: #727371 !important; } /* was #6e6f6d at 2.95:1, needs 3 */
.metrics.section.section-dark .container .section-head p.section-lede { color: #8f8f8f !important; } /* was #010101 at 1.4:1, needs 4.5 */
.metric-item span.metric-number { color: #8f908f !important; } /* was #6e6f6d at 2.95:1, needs 4.5 */
.metric-item span { color: #8f908f !important; } /* was #6e6f6d at 2.95:1, needs 4.5 */
.testimonials.section.section-light .container .section-head span.kicker { color: #3d7971 !important; } /* was #3f7d74 at 4.39:1, needs 4.5 */
.testimonials.section.section-light .container .section-head p.section-lede { color: #607369 !important; } /* was #667a70 at 4.22:1, needs 4.5 */
.faq.section.section-dark .container .section-head span.kicker { color: #679891 !important; } /* was #3f7d74 at 3.12:1, needs 4.5 */
.faq.section.section-dark .container .section-head h2.section-heading { color: #727371 !important; } /* was #6e6f6d at 2.95:1, needs 3 */
.faq.section.section-dark .container .section-head p.section-lede { color: #8f8f8f !important; } /* was #010101 at 1.4:1, needs 4.5 */
.faq-item button.faq-question { color: #8f908f !important; } /* was #6e6f6d at 2.95:1, needs 4.5 */
.contact-form button.btn.btn-primary { color: #fafbfa !important; } /* was #f4f6f3 at 4.39:1, needs 4.5 */
/* WH-CONTRAST-VERIFIED:END */
