/* Made by Yamato Local front-page tidy-up · preserves the published ivory/black/purple visual language and section order. */

html,
body {
  overflow-x: clip;
}

.yamato-local-site {
  background: var(--color-paper);
  color: var(--color-ink);
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: 1.7;
}

.yamato-local-site *,
.yamato-local-site *::before,
.yamato-local-site *::after {
  box-sizing: border-box;
}

.yamato-local-site a {
  color: inherit;
}

.yamato-local-site a:focus-visible,
.yamato-local-site button:focus-visible,
.yamato-local-site summary:focus-visible {
  outline: 2px solid var(--color-focus);
  outline-offset: 3px;
}

.yamato-local-site button:disabled,
.yamato-local-site [aria-disabled="true"] {
  opacity: 0.55;
  cursor: not-allowed;
}

.home.yamato-local-site #main-container,
.home.yamato-local-site .site-main,
.home.yamato-local-site .site-main > .ct-container,
.home.yamato-local-site .site-main > .ct-container > section,
.home.yamato-local-site .entries,
.home.yamato-local-site article,
.home.yamato-local-site .entry-content {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.home.yamato-local-site .entry-header,
.home.yamato-local-site .page-title,
.home.yamato-local-site .hero-section {
  display: none;
}

.home.yamato-local-site .entry-content > .yamato-tidy-home {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}

.yamato-tidy-home {
  position: relative;
  background: var(--color-paper);
  color: var(--color-ink);
  line-break: strict;
}

.yamato-tidy-home h1,
.yamato-tidy-home h2,
.yamato-tidy-home h3,
.yamato-tidy-home p,
.yamato-tidy-home figure,
.yamato-tidy-home ol,
.yamato-tidy-home article {
  margin: 0;
}

.yamato-tidy-home h1,
.yamato-tidy-home h2,
.yamato-tidy-home h3 {
  min-width: 0;
  overflow-wrap: normal;
  word-break: normal;
  color: var(--color-ink);
  font-family: var(--font-display);
  font-style: normal;
  font-weight: 700;
  letter-spacing: -0.035em;
}

.yamato-tidy-home h1 {
  max-width: 12ch;
  color: var(--color-on-dark);
  font-size: var(--text-display);
  line-height: 1.02;
}

.yamato-tidy-home h2 {
  font-size: var(--text-section);
  line-height: 1.1;
}

.yamato-tidy-home h3 {
  font-size: var(--text-xl);
  line-height: 1.3;
}

/* Phrase-safe Japanese display headings, following the proven LEOSJJ pattern. */
.yamato-tidy-home .ymt-jp-heading {
  display: grid;
  max-width: none;
  gap: 0.035em;
  overflow-wrap: normal;
  word-break: keep-all;
}

.yamato-tidy-home .ymt-jp-line {
  display: flex;
  width: fit-content;
  max-width: 100%;
  min-width: 0;
  flex-wrap: wrap;
  align-items: baseline;
  column-gap: 0.12em;
}

.yamato-tidy-home .ymt-jp-phrase {
  display: inline-block;
  white-space: nowrap;
}

html[lang^="en"] .yamato-tidy-home .ymt-jp-heading {
  display: block;
  overflow-wrap: anywhere;
  word-break: normal;
}

html[lang^="en"] .yamato-tidy-home .ymt-jp-heading--hero {
  max-width: 12ch;
}

html[lang^="en"] .yamato-tidy-home .ymt-section-head--split h2.ymt-jp-heading {
  max-width: 18ch;
}

html[lang^="en"] .yamato-tidy-home .ymt-jp-line,
html[lang^="en"] .yamato-tidy-home .ymt-jp-phrase {
  display: inline;
  white-space: normal;
}

.ymt-section.alignfull,
.ymt-section .gspb_row__content {
  width: 100%;
  max-width: none;
  margin: 0;
}

.ymt-section > .gspb_row__content {
  padding-inline: var(--page-gutter);
}

.ymt-process,
.ymt-works,
.ymt-colors,
.ymt-faq {
  scroll-margin-top: calc(var(--header-height) + var(--space-sm));
}

.ymt-section:not(.ymt-hero) > .gspb_row__content {
  max-width: var(--shell-max);
  margin-inline: auto;
}

.ymt-eyebrow,
.ymt-card-label,
.ymt-number {
  color: var(--color-accent);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.14em;
  line-height: 1.4;
}

.ymt-dark {
  background: var(--color-night);
  color: var(--color-on-dark);
}

.ymt-dark h2,
.ymt-dark h3 {
  color: var(--color-on-dark);
}

.ymt-dark .ymt-eyebrow,
.ymt-dark .ymt-card-label {
  color: var(--color-accent-soft);
}

.ymt-button,
.ymt-text-link,
.yamato-local-site #header-menu-1 .ct-menu-link,
.yamato-local-site #offcanvas .ct-menu-link,
.yamato-local-site #footer a,
.ymt-faq summary {
  white-space: nowrap;
}

.ymt-button {
  min-height: 46px;
  width: fit-content;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-xs) var(--space-md);
  border: var(--rule-hair) solid transparent;
  border-radius: var(--radius-small);
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  transition: background-color var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out), transform var(--dur-micro) var(--ease-out);
}

.ymt-button:active {
  transform: translateY(1px);
}

.ymt-button--primary {
  background: var(--color-accent);
  color: var(--color-accent-ink);
}

.ymt-button--ghost-dark {
  border-color: var(--color-rule-dark);
  color: var(--color-on-dark);
}

.ymt-button--light {
  background: var(--color-paper-raised);
  color: var(--color-accent-hover);
}

.ymt-button--ghost-light {
  border-color: color-mix(in oklch, var(--color-accent-ink) 62%, transparent);
  color: var(--color-accent-ink);
}

.ymt-text-link {
  min-height: 44px;
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  border-block-end: var(--rule-hair) solid currentColor;
  color: inherit;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
}

.ymt-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-xs);
}

/* Hero: the original image-led composition, with clearer copy and a shorter fold. */
.ymt-hero {
  position: relative;
  overflow: clip;
  background: var(--color-night);
  color: var(--color-on-dark);
}

.ymt-hero > .gspb_row__content {
  position: relative;
  min-height: clamp(36rem, 68svh, 46rem);
  padding-inline: 0;
}

.ymt-hero > .gspb_row__content::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, color-mix(in oklch, var(--color-night) 94%, transparent) 0%, color-mix(in oklch, var(--color-night) 80%, transparent) 38%, color-mix(in oklch, var(--color-night) 18%, transparent) 70%, transparent 100%);
  pointer-events: none;
}

.ymt-hero__media,
.ymt-hero__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.ymt-hero__media img {
  display: block;
  object-fit: cover;
  object-position: 72% center;
}

.ymt-hero__copy {
  position: relative;
  z-index: 2;
  min-height: clamp(36rem, 68svh, 46rem);
  max-width: var(--content-max);
  display: grid;
  align-content: center;
  gap: var(--space-md);
  margin-inline: auto;
  padding: var(--space-3xl) var(--page-gutter);
}

.ymt-hero__lede {
  max-width: var(--measure-narrow);
  color: var(--color-on-dark-soft);
  font-size: var(--text-md);
}

.ymt-hero .ymt-actions {
  padding-block-start: var(--space-xs);
}

/* Compact proof strip. */
.ymt-benefits {
  background: var(--color-paper-raised);
  border-block-end: var(--rule-hair) solid var(--color-rule);
}

.ymt-benefits > .gspb_row__content {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ymt-benefit {
  min-width: 0;
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: var(--space-sm);
  padding: var(--space-md) var(--space-lg);
}

.ymt-benefit + .ymt-benefit {
  border-inline-start: var(--rule-hair) solid var(--color-rule);
}

.ymt-benefit > span {
  color: var(--color-accent);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.1em;
}

.ymt-benefit h3 {
  font-family: var(--font-body);
  font-size: var(--text-base);
  letter-spacing: 0;
  white-space: nowrap;
}

.ymt-benefit p {
  padding-block-start: var(--space-3xs);
  color: var(--color-muted);
  font-size: var(--text-sm);
}

/* Signature story: same split narrative with less copy/image competition. */
.ymt-signature > .gspb_row__content {
  display: grid;
  grid-template-columns: minmax(22rem, 0.95fr) minmax(0, 1.05fr);
  align-items: stretch;
  gap: var(--space-2xl);
  padding-block: var(--space-3xl);
}

.ymt-signature h2 {
  font-size: clamp(2.5rem, 4vw, 3.8rem);
}

.ymt-signature__copy {
  display: grid;
  align-content: center;
  gap: var(--space-md);
}

.ymt-signature__copy > p:not(.ymt-eyebrow) {
  max-width: var(--measure-narrow);
  color: var(--color-on-dark-soft);
}

.ymt-signature__copy .ymt-button {
  margin-block-start: var(--space-xs);
}

.ymt-signature__media {
  min-width: 0;
  overflow: clip;
}

.ymt-signature__media img {
  width: 100%;
  height: 100%;
  min-height: 30rem;
  display: block;
  object-fit: cover;
  object-position: 70% center;
}

/* Shared section headers. */
.ymt-section-head {
  display: grid;
  gap: var(--space-sm);
  padding-block-end: var(--space-xl);
}

.ymt-section-head > p:not(.ymt-eyebrow),
.ymt-section-head > div + p {
  max-width: var(--measure-narrow);
  color: var(--color-muted);
}

.ymt-section-head--split {
  grid-template-columns: minmax(0, 1.35fr) minmax(18rem, 0.65fr);
  gap: var(--space-2xl);
  align-items: end;
}

.ymt-section-head--split > div {
  min-width: 0;
  display: grid;
  gap: var(--space-sm);
}

.ymt-section-head--split h2:not(.ymt-jp-heading) {
  max-width: 18ch;
}

.ymt-dark .ymt-section-head > p:not(.ymt-eyebrow),
.ymt-dark .ymt-section-head > div + p {
  color: var(--color-on-dark-soft);
}

/* The section in the supplied screenshot: deliberate two-line title and content-sized steps. */
.ymt-process {
  background: var(--color-paper);
}

.ymt-process > .gspb_row__content {
  padding-block: var(--space-3xl);
}

.ymt-process-grid {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 0;
  border: var(--rule-hair) solid var(--color-rule);
  background: var(--color-paper-raised);
}

.ymt-process-grid li {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: var(--space-sm);
  padding: var(--space-lg);
}

.ymt-process-grid li + li {
  border-inline-start: var(--rule-hair) solid var(--color-rule);
}

.ymt-number::after {
  content: "";
  width: 2rem;
  height: var(--rule-hair);
  display: inline-block;
  margin-inline-start: var(--space-xs);
  vertical-align: middle;
  background: currentColor;
}

.ymt-process-grid h3 {
  padding-block-start: var(--space-sm);
  font-size: clamp(1.4rem, 2.1vw, 2rem);
}

.ymt-process-grid p {
  max-width: 34ch;
  color: var(--color-muted);
  font-size: var(--text-sm);
}

/* Existing selected work, kept as photography rather than decorative cards. */
.ymt-works > .gspb_row__content {
  padding-block: var(--space-3xl);
}

.ymt-work-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-lg);
}

.ymt-work-card {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: var(--space-2xs);
}

.ymt-work-card > a {
  position: relative;
  display: block;
  overflow: clip;
  margin-block-end: var(--space-xs);
}

.ymt-work-card > a::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 35%, rgb(255 255 255 / 0.18) 49%, transparent 63%);
  opacity: 0;
  pointer-events: none;
  transform: translateX(-115%);
  transition: opacity var(--dur-micro) linear, transform 950ms var(--ease-out);
}

.ymt-work-card img {
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  display: block;
  object-fit: cover;
  transition: transform var(--dur-long) var(--ease-out);
}

.ymt-work-card h3 {
  color: var(--color-on-dark);
  font-size: var(--text-lg);
}

.ymt-work-card > p:last-child {
  color: var(--color-on-dark-soft);
  font-size: var(--text-sm);
}

.ymt-works > .gspb_row__content > .ymt-text-link {
  margin-block-start: var(--space-xl);
}

/* Existing colour library with regular, scannable rows. */
.ymt-colors {
  background: var(--color-paper);
}

.ymt-colors > .gspb_row__content {
  padding-block: var(--space-3xl);
}

.ymt-color-grid {
  display: grid;
  grid-template-columns: repeat(9, minmax(0, 1fr));
  gap: var(--space-md) var(--space-sm);
}

.ymt-color-grid > div {
  min-width: 0;
  display: grid;
  justify-items: center;
  gap: var(--space-2xs);
  text-align: center;
}

.ymt-color-grid img {
  width: clamp(4rem, 7vw, 6.5rem);
  height: auto;
  aspect-ratio: 1;
  display: block;
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-pill);
  object-fit: cover;
}

.ymt-color-grid h3 {
  font-family: var(--font-body);
  font-size: clamp(0.75rem, 1.1vw, var(--text-sm));
  letter-spacing: 0;
  white-space: nowrap;
}

.ymt-color-grid p {
  color: var(--color-muted);
  font-size: var(--text-xs);
}

.ymt-color-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-lg);
  padding-block-start: var(--space-xl);
}

.ymt-color-foot p {
  max-width: var(--measure-narrow);
  color: var(--color-muted);
  font-size: var(--text-xs);
  text-align: end;
}

/* FAQ: keep the common questions close to their introduction. */
.ymt-faq {
  background: var(--color-paper-raised);
  border-block-start: var(--rule-hair) solid var(--color-rule);
}

.ymt-faq > .gspb_row__content {
  display: grid;
  grid-template-columns: minmax(18rem, 0.72fr) minmax(0, 1.28fr);
  gap: var(--space-2xl);
  padding-block: var(--space-3xl);
}

.ymt-faq .ymt-section-head {
  align-content: start;
  padding-block-end: 0;
}

.ymt-faq-list {
  border-block-start: var(--rule-hair) solid var(--color-rule);
}

.ymt-faq-list details {
  border-block-end: var(--rule-hair) solid var(--color-rule);
}

.ymt-faq-list summary {
  min-height: 62px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  padding-block: var(--space-sm);
  color: var(--color-ink);
  font-weight: 700;
  line-height: 1.35;
  cursor: pointer;
  list-style: none;
}

.ymt-faq-list summary::-webkit-details-marker {
  display: none;
}

.ymt-faq-list summary::after {
  content: "+";
  flex: 0 0 auto;
  width: 1.5rem;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-pill);
  color: var(--color-accent);
}

.ymt-faq-list details[open] summary::after {
  content: "−";
}

.ymt-faq-list details > p {
  max-width: var(--measure);
  padding: 0 var(--space-xl) var(--space-md) 0;
  color: var(--color-muted);
}

/* Existing final consultation band, kept short and decisive. */
.ymt-final-cta {
  background: var(--color-accent);
  color: var(--color-accent-ink);
}

.ymt-final-cta > .gspb_row__content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-2xl);
  align-items: center;
  padding-block: var(--space-xl);
}

.ymt-final-cta h2,
.ymt-final-cta .ymt-eyebrow {
  color: var(--color-accent-ink);
}

.ymt-final-cta h2 {
  padding-block: var(--space-2xs);
  font-size: clamp(2rem, 3.5vw, 3.5rem);
}

.ymt-final-cta p:not(.ymt-eyebrow) {
  color: color-mix(in oklch, var(--color-accent-ink) 82%, transparent);
}

.ymt-final-cta .ymt-button--light {
  color: var(--color-accent-hover);
}

.ymt-final-cta .ymt-button--ghost-light {
  color: var(--color-accent-ink);
}

/* Conventional Blocksy header: the floating redesign treatment is removed. */
.home.yamato-local-site #header {
  position: sticky;
  inset: 0 0 auto;
  z-index: var(--z-sticky);
  pointer-events: auto;
  background: var(--color-paper-raised);
  border-block-end: var(--rule-hair) solid var(--color-rule);
  box-shadow: 0 8px 24px color-mix(in oklch, var(--color-shadow) 8%, transparent);
}

.home.yamato-local-site #header [data-row="top"] {
  display: none;
}

.home.yamato-local-site #header .ct-sticky-container,
.home.yamato-local-site #header [data-sticky],
.home.yamato-local-site #header [data-row="middle"] {
  position: static;
  pointer-events: auto;
  background: var(--color-paper-raised);
  border: 0;
  box-shadow: none;
}

.home.yamato-local-site #header [data-row="middle"] > .ct-container {
  min-height: var(--header-height);
  width: 100%;
  max-width: var(--shell-max);
  margin: 0 auto;
  padding-inline: var(--page-gutter);
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.home.yamato-local-site #header .site-logo-container {
  max-width: 10rem;
}

.home.yamato-local-site #header .site-logo-container img {
  width: 100%;
  height: auto;
  max-height: 34px;
  object-fit: contain;
  filter: invert(1);
}

.home.yamato-local-site #header [data-device="desktop"] .ct-header-search,
.home.yamato-local-site #header [data-device="desktop"] .ct-header-account {
  display: none;
}

.home.yamato-local-site #header-menu-1 .menu {
  gap: var(--space-2xs);
}

.home.yamato-local-site #header-menu-1 .ct-menu-link {
  min-height: 44px;
  padding-inline: var(--space-2xs);
  color: var(--color-ink-soft);
  font-family: var(--font-body);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1;
}

.home.yamato-local-site #header-menu-1 .menu > li:nth-child(6) > .ct-menu-link {
  min-height: 38px;
  margin-inline-start: var(--space-2xs);
  padding-inline: var(--space-sm);
  border-radius: var(--radius-small);
  background: var(--color-accent);
  color: var(--color-accent-ink);
}

.home.yamato-local-site #header .ct-icon,
.home.yamato-local-site #header .ct-icon-container {
  color: var(--color-ink);
  fill: currentColor;
}

.home.yamato-local-site #header .ct-cart-item,
.home.yamato-local-site #header .ct-header-trigger {
  min-width: 44px;
  min-height: 44px;
}

.home.yamato-local-site #offcanvas {
  color: var(--color-ink);
}

.home.yamato-local-site #offcanvas .ct-panel-content,
.home.yamato-local-site #offcanvas .ct-panel-inner {
  background: var(--color-paper-raised);
}

.home.yamato-local-site #offcanvas .ct-menu-link {
  min-height: 50px;
  color: var(--color-ink);
  font-family: var(--font-body);
}

/* Blocksy remains the footer owner; this is a compact information footer. */
.yamato-local-site #footer {
  background: var(--color-night);
  color: var(--color-on-dark);
  font-family: var(--font-body);
}

.yamato-local-site #footer [data-row="top"] > .ct-container {
  display: block;
  max-width: var(--shell-max);
  padding: var(--space-xl) var(--page-gutter);
}

.yamato-local-site #footer [data-column="widget-area-1"] {
  width: 100%;
}

.yamato-local-site #footer .ym-footer-info {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-2xl);
  align-items: end;
}

.yamato-local-site #footer .ym-footer-brand {
  display: grid;
  gap: var(--space-2xs);
}

.yamato-local-site #footer .ym-footer-wordmark {
  color: var(--color-on-dark);
  font-weight: 700;
  letter-spacing: 0.1em;
}

.yamato-local-site #footer .ym-footer-brand p:not(.ym-footer-wordmark) {
  max-width: var(--measure-narrow);
  color: var(--color-on-dark-soft);
  font-size: var(--text-sm);
}

.yamato-local-site #footer .ym-footer-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--space-xs) var(--space-md);
}

.yamato-local-site #footer .ym-footer-links a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  color: var(--color-on-dark-soft);
  line-height: 1;
  text-decoration: none;
}

.yamato-local-site #footer [data-row="middle"] {
  display: none;
}

.yamato-local-site #footer [data-row="bottom"] > .ct-container {
  max-width: var(--shell-max);
  padding: var(--space-sm) var(--page-gutter) var(--space-md);
  border-block-start: var(--rule-hair) solid var(--color-rule-dark);
}

.yamato-local-site #footer .ct-footer-copyright {
  color: var(--color-on-dark-soft);
  font-size: var(--text-xs);
  letter-spacing: 0.04em;
}

/* Progressive front-page motion. Content is visible by default, including
   before JavaScript runs; animation starts only when an observed item enters. */
[data-ym-reveal] {
  --ym-reveal-x: 0px;
  --ym-reveal-y: 28px;
  --ym-reveal-scale: 0.99;
}

[data-ym-reveal="hero"] {
  --ym-reveal-y: 14px;
  --ym-reveal-scale: 1;
}

[data-ym-reveal="right"] {
  --ym-reveal-x: 34px;
  --ym-reveal-y: 0px;
}

.ym-motion-ready [data-ym-reveal].is-pending:not(.is-visible) {
  opacity: 0;
  transform: translate3d(var(--ym-reveal-x), var(--ym-reveal-y), 0) scale(var(--ym-reveal-scale));
}

.ym-motion-ready [data-ym-reveal].is-visible:not(.is-settled) {
  animation: ymt-reveal 900ms cubic-bezier(0.4, 0, 0.2, 1) both;
  animation-delay: var(--ym-stagger, 0ms);
  will-change: opacity, transform;
}

.ym-motion-ready [data-ym-reveal="hero"].is-visible:not(.is-settled) {
  animation-duration: 1050ms;
}

.ym-motion-ready .ymt-hero__media {
  opacity: var(--ym-hero-opacity, 1);
  transform: translate3d(0, var(--ym-hero-shift, 0px), 0);
  transition: opacity 220ms linear, transform 220ms linear;
  will-change: opacity, transform;
}

.ym-motion-ready .ymt-hero__media.is-visible:not(.is-settled) img {
  animation: ymt-hero-arrival 1450ms cubic-bezier(0.4, 0, 0.2, 1) both;
}

.ymt-faq-list details[open] > p {
  animation: ymt-faq-open 420ms var(--ease-out) both;
}

.ymt-text-link span {
  display: inline-block;
  transition: transform var(--dur-short) var(--ease-out);
}

@keyframes ymt-reveal {
  from {
    opacity: 0;
    transform: translate3d(var(--ym-reveal-x), var(--ym-reveal-y), 0) scale(var(--ym-reveal-scale));
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
}

@keyframes ymt-hero-arrival {
  from {
    opacity: 0.72;
    transform: scale(1.035);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes ymt-faq-open {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@media (hover: hover) and (pointer: fine) {
  .yamato-tidy-home a.ymt-button--primary:hover {
    background: var(--color-accent-hover);
    color: var(--color-accent-ink) !important;
    transform: translateY(-1px);
  }

  .yamato-tidy-home a.ymt-button--ghost-dark:hover {
    background: color-mix(in oklch, var(--color-on-dark) 7%, transparent);
    border-color: var(--color-on-dark-soft);
    color: var(--color-on-dark) !important;
  }

  .yamato-tidy-home a.ymt-button--light:hover {
    background: var(--color-paper-deep);
    color: var(--color-accent-hover) !important;
    transform: translateY(-1px);
  }

  .yamato-tidy-home a.ymt-button--ghost-light:hover {
    background: color-mix(in oklch, var(--color-accent-ink) 10%, transparent);
    color: var(--color-accent-ink) !important;
  }

  .ymt-text-link:hover,
  .yamato-local-site #footer a:hover,
  .home.yamato-local-site #header-menu-1 .ct-menu-link:hover {
    color: var(--color-accent);
  }

  .ymt-text-link:hover span {
    transform: translateX(4px);
  }

  .home.yamato-local-site #header-menu-1 .menu > li:nth-child(6) > .ct-menu-link:hover {
    background: var(--color-accent-hover);
    color: var(--color-accent-ink);
  }

  .ymt-work-card > a:hover img {
    transform: scale(1.025);
  }

  .ymt-work-card > a:hover::after {
    opacity: 1;
    transform: translateX(115%);
  }

  .ymt-faq-list summary:hover {
    color: var(--color-accent-hover);
  }
}

/* Keep the single Japanese FAQ phrase inside its desktop grid column. */
@media (min-width: 64.0625rem) {
  .yamato-tidy-home .ymt-faq h2.ymt-jp-heading {
    font-size: clamp(2.75rem, 4.25vw, 4.25rem);
  }
}

@media (max-width: 64rem) {
  .ymt-section-head--split {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-md);
    align-items: start;
  }

  .ymt-signature > .gspb_row__content {
    grid-template-columns: minmax(18rem, 0.95fr) minmax(0, 1.05fr);
    gap: var(--space-lg);
  }

  .ymt-color-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .ymt-faq > .gspb_row__content {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-xl);
  }

  .ymt-faq .ymt-section-head {
    padding-block-end: 0;
  }

  .ymt-final-cta > .gspb_row__content {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-md);
  }
}

@media (max-width: 42rem) {
  .yamato-tidy-home h2 {
    font-size: clamp(2.25rem, 11vw, 3.5rem);
  }

  .ymt-hero > .gspb_row__content {
    min-height: 0;
    display: flex;
    flex-direction: column;
  }

  .ymt-hero > .gspb_row__content::after {
    display: none;
  }

  .ymt-hero__media,
  .ymt-hero__media img {
    position: relative;
    inset: auto;
  }

  .ymt-hero__media {
    height: 19rem;
  }

  .ymt-hero__media img {
    height: 100%;
    object-position: 68% center;
  }

  .ymt-hero__copy {
    min-height: 0;
    width: 100%;
    gap: var(--space-sm);
    padding: var(--space-xl) var(--page-gutter) var(--space-2xl);
    background: var(--color-night);
  }

  .ymt-hero__lede {
    font-size: var(--text-base);
  }

  .ymt-process h2 {
    font-size: 1.75rem;
    line-height: 1.18;
    letter-spacing: -0.045em;
  }

  .yamato-tidy-home h2.ymt-jp-heading--final {
    font-size: clamp(1.8rem, 9vw, 2rem);
  }

  .ymt-actions,
  .ymt-color-foot {
    align-items: stretch;
    flex-direction: column;
  }

  .ymt-button {
    width: 100%;
  }

  .ymt-benefits > .gspb_row__content {
    grid-template-columns: minmax(0, 1fr);
  }

  .ymt-benefit {
    padding-inline: 0;
  }

  .ymt-benefit + .ymt-benefit {
    border-inline-start: 0;
    border-block-start: var(--rule-hair) solid var(--color-rule);
  }

  .ymt-signature > .gspb_row__content {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-xl);
    padding-block: 0 var(--space-2xl);
  }

  .ymt-signature__media {
    order: -1;
    margin-inline: calc(-1 * var(--page-gutter));
  }

  .ymt-signature__media img {
    min-height: 0;
    aspect-ratio: 16 / 10;
  }

  .ymt-process > .gspb_row__content,
  .ymt-works > .gspb_row__content,
  .ymt-colors > .gspb_row__content,
  .ymt-faq > .gspb_row__content {
    padding-block: var(--space-2xl);
  }

  .ymt-section-head {
    padding-block-end: var(--space-lg);
  }

  .ymt-process-grid,
  .ymt-work-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .ymt-process-grid li + li {
    border-inline-start: 0;
    border-block-start: var(--rule-hair) solid var(--color-rule);
  }

  .ymt-process-grid li {
    padding: var(--space-md);
  }

  .ymt-work-grid {
    gap: var(--space-xl);
  }

  .ymt-color-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-md) var(--space-xs);
  }

  .ymt-color-foot p {
    text-align: start;
  }

  .ymt-faq-list summary {
    white-space: normal;
  }

  .ymt-final-cta > .gspb_row__content {
    padding-block: var(--space-lg);
  }

  .yamato-local-site #footer .ym-footer-info {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-lg);
  }

  .yamato-local-site #footer .ym-footer-links {
    justify-content: flex-start;
  }
}

@media (pointer: coarse) {
  .ymt-button,
  .ymt-text-link,
  .home.yamato-local-site #header-menu-1 .ct-menu-link,
  .home.yamato-local-site #offcanvas .ct-menu-link,
  .yamato-local-site #footer a {
    min-height: 48px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .yamato-tidy-home *,
  .yamato-tidy-home *::before,
  .yamato-tidy-home *::after {
    animation-duration: 150ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 150ms !important;
  }

  .ym-motion-ready [data-ym-reveal],
  .ym-motion-ready [data-ym-reveal].is-visible,
  .ym-motion-ready .ymt-hero__media,
  .ym-motion-ready .ymt-hero__media img,
  .ymt-faq-list details[open] > p {
    animation: none !important;
    opacity: 1;
    transform: none;
    transition: none !important;
  }

  .ymt-button:active,
  .ymt-button:hover,
  .ymt-text-link:hover span,
  .ymt-work-card > a:hover img,
  .ymt-work-card > a:hover::after {
    transform: none;
  }

  .ymt-work-card > a:hover::after {
    opacity: 0;
  }
}

