:root {
  --color-background: #f5f4ef;
  --color-text: #292a28;
  --color-line: #b0b0a9;
  --font-serif: "Zen Old Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif;
  --width-content: 1440px;
  --space-gutter: clamp(24px, 5vw, 64px);
  --height-header: 108px;
  --space-detail-link: 60px;
}

*, *::before, *::after { box-sizing: border-box; }
html { color-scheme: light; }
body { margin: 0; color: var(--color-text); background: var(--color-background); font-family: var(--font-serif); font-size: 16px; line-height: 1.8; -webkit-font-smoothing: antialiased; }
body.is-menu-open, body.is-lightbox-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button, a[href] { touch-action: manipulation; }
a, button { cursor: pointer; }
:focus-visible { outline: 2px solid var(--color-text); outline-offset: 5px; }
[hidden] { display: none !important; }
.container { width: min(var(--width-content), calc(100% - var(--space-gutter) * 2)); margin-inline: auto; }
.skip-link { position: fixed; z-index: 20; top: 12px; left: 12px; padding: 12px 18px; background: var(--color-background); border: 1px solid; transform: translateY(-180%); }
.skip-link:focus { transform: translateY(0); }
.brand { display: inline-flex; align-items: center; gap: 12px; flex-shrink: 0; transition: opacity .24s ease; }
.brand__emblem { display: block; width: 48px; height: 48px; object-fit: contain; mix-blend-mode: multiply; }
.brand__name { font-size: 16px; font-weight: 600; white-space: nowrap; }
.site-header { position: fixed; inset: 0 0 auto; z-index: 10; isolation: isolate; }
.site-header::before { content: ""; position: absolute; z-index: -1; inset: 0 0 -10px; background: linear-gradient(180deg, rgb(245 244 239 / 98%) 0%, rgb(245 244 239 / 90%) 36%, rgb(245 244 239 / 55%) 65%, rgb(245 244 239 / 0%) 100%); pointer-events: none; }
.site-header__inner { display: flex; align-items: center; gap: 32px; min-height: var(--height-header); padding-inline: clamp(8px, 1.7vw, 28px); }
.site-header__nav { display: flex; align-items: center; gap: 24px; margin-left: auto; }
.site-header__links { display: flex; align-items: center; gap: 22px; list-style: none; padding: 0; margin: 0; }
.nav-link { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; text-transform: uppercase; transition: opacity .24s ease; }
.site-header__actions { display: flex; align-items: center; gap: 20px; }
.social-link { display: inline-flex; align-items: center; justify-content: center; width: 44px; min-height: 44px; flex-shrink: 0; }
.social-icon { width: 20px; height: 20px; flex-shrink: 0; }
.language-switch { display: flex; align-items: center; gap: 5px; white-space: nowrap; font-size: 14px; }
.language-switch__link { display: inline-flex; align-items: center; min-height: 44px; }
.language-switch__link[aria-current] { font-weight: 700; }
.button { display: inline-flex; justify-content: center; align-items: center; gap: 8px; min-height: 44px; padding: 11px 26px; border: 1px solid var(--color-line); font-size: 14px; line-height: 1.5; white-space: nowrap; transition: color .24s ease, background-color .24s ease, border-color .24s ease; }
.button--outline { background: transparent; }
.site-header__booking { background-color: var(--color-background); }
.button--solid { color: var(--color-background); background: var(--color-text); border-color: var(--color-text); }
a[href]:hover { text-decoration: underline; text-underline-offset: 5px; }
.button__arrow { width: 28px; height: 12px; flex-shrink: 0; transition: transform .24s ease; }
.button:hover .button__arrow, .button:focus-visible .button__arrow { transform: translateX(4px); }
.button--outline:hover, .button--outline:focus-visible { color: #fff; background: #000; border-color: #000; text-decoration: none; }
.button--solid:hover, .button--solid:focus-visible { color: var(--color-text); background: var(--color-background); text-decoration: none; }
.menu-toggle { display: none; }
.mobile-menu { width: min(100%, 440px); max-width: 100%; height: 100dvh; max-height: 100%; margin: 0 0 0 auto; padding: 0; border: 0; color: var(--color-text); background: var(--color-background); opacity: 0; transform: translateX(32px); transition: transform .24s ease, opacity .24s ease; }
.mobile-menu.is-open { opacity: 1; transform: translateX(0); }
.mobile-menu::backdrop { background: rgb(41 42 40 / 30%); opacity: 0; transition: opacity .24s ease; }
.mobile-menu.is-open::backdrop { opacity: 1; }
.mobile-menu__inner { display: flex; flex-direction: column; gap: 24px; min-height: 100%; padding: calc(var(--height-header) + 24px) var(--space-gutter) max(32px, env(safe-area-inset-bottom)); }
.mobile-menu__close { position: absolute; top: var(--menu-close-top, 8px); right: var(--menu-close-right, 8px); display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 8px; border: 0; background: transparent; cursor: pointer; }
.menu-icon { display: block; width: 28px; height: 28px; }
.menu-icon__line { transition: transform .24s ease, opacity .24s ease; }
.menu-icon__line--top { transform-origin: 14px 6px; }
.menu-icon__line--middle { transform-origin: 14px 14px; }
.menu-icon__line--bottom { transform-origin: 14px 22px; }
.menu-toggle[aria-expanded="true"] .menu-icon__line--top,
.mobile-menu.is-open .menu-icon__line--top { transform: translateY(8px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-icon__line--middle,
.mobile-menu.is-open .menu-icon__line--middle { opacity: 0; transform: scaleX(0); }
.menu-toggle[aria-expanded="true"] .menu-icon__line--bottom,
.mobile-menu.is-open .menu-icon__line--bottom { transform: translateY(-8px) rotate(-45deg); }
.mobile-menu__links { list-style: none; padding: 0; margin: 12px 0 0; }
.mobile-menu__link { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px 18px; padding: 20px 0; border-bottom: 1px solid var(--color-line); font-size: 20px; }
.mobile-menu__link span { font-size: 14px; }
.mobile-menu__utilities { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.site-footer { padding-block: 56px max(48px, env(safe-area-inset-bottom)); }
.site-footer__inner { display: flex; justify-content: space-between; align-items: center; gap: 28px; }
.site-footer__links { display: flex; align-items: center; gap: 28px; }
.site-footer__divider { width: 1px; height: 12px; background: var(--color-line); }
.site-footer__copyright { display: block; margin-top: 40px; padding-inline: 24px; text-align: center; font-size: 12px; line-height: 1.8; }
.hero { --space-hero-bottom: 48px; position: relative; isolation: isolate; display: flex; align-items: center; min-height: 0; height: 100vh; padding-bottom: var(--space-hero-bottom); }
.hero::before { content: ""; position: absolute; top: -90px; bottom: 0; left: -90px; width: 300px; background: url("../images/botanical.svg") no-repeat left top / contain; opacity: .2; pointer-events: none; }
.hero__visual { position: absolute; z-index: -1; inset: 0 0 var(--space-hero-bottom); overflow: hidden; }
.hero__visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--color-background) 0%, rgb(245 244 239 / 94%) 12%, rgb(245 244 239 / 55%) 34%, rgb(245 244 239 / 0%) 57%); }
.hero__image { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero__content { position: relative; display: flex; flex-direction: column; align-items: center; width: 48%; padding: 40px 20px; }
.hero__logo { display: block; width: 250px; max-width: 100%; height: auto; mix-blend-mode: multiply; }
.hero__title { margin: 12px 0 24px; font-size: 24px; font-weight: 500; line-height: 1.6; letter-spacing: .12em; }
.hero__booking { background: rgb(245 244 239 / 60%); }
.section-heading { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px 24px; }
.section-heading__title { margin: 0; font-size: 48px; font-weight: 400; line-height: 1.2; }
.section-heading__subtitle { margin: 0; font-size: 16px; letter-spacing: .08em; }

@property --image-reveal-spread {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 0%;
}

@media (prefers-reduced-motion: no-preference) {
  .scroll-reveal { opacity: 0; transform: translateY(24px); transition: opacity .9s ease, transform .9s cubic-bezier(.2, .65, .3, 1); }
  .scroll-reveal.is-revealed { opacity: 1; transform: translateY(0); }
  .slider-reveal { opacity: 0; transition: opacity 1s ease; }
  .slider-reveal.is-revealed { opacity: 1; }
  .image-reveal {
    --image-reveal-spread: 0%;
    /* 複数のにじみを重ね、左側から右上へ広がる柔らかな輪郭を作る。 */
    mask-image:
      radial-gradient(ellipse at 0% 85%, #000 max(0%, calc(var(--image-reveal-spread) - 26%)), transparent var(--image-reveal-spread)),
      radial-gradient(ellipse at 5% 50%, #000 max(0%, calc(var(--image-reveal-spread) * .85 - 22%)), transparent calc(var(--image-reveal-spread) * .85)),
      radial-gradient(ellipse at 18% 100%, #000 max(0%, calc(var(--image-reveal-spread) * .75 - 20%)), transparent calc(var(--image-reveal-spread) * .75));
    mask-repeat: no-repeat;
    opacity: 0;
    filter: blur(5px);
    transition: --image-reveal-spread 1.8s cubic-bezier(.25, .55, .3, 1), opacity .25s ease, filter 1.8s ease;
  }
  .image-reveal.is-revealed { --image-reveal-spread: 160%; opacity: 1; filter: blur(0); }
}
.about { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); grid-template-areas: "heading image" "body image"; column-gap: clamp(40px, 6vw, 96px); row-gap: 24px; margin-block: 128px; scroll-margin-top: 140px; }
.about__heading { grid-area: heading; align-self: end; }
.about__visual { grid-area: image; width: 100%; height: 100%; min-height: 360px; aspect-ratio: 1.36; }
.parallax-image { position: relative; overflow: hidden; isolation: isolate; clip-path: inset(0); }
.hero__visual.parallax-image { position: absolute; }
.parallax-image > img { position: absolute; top: calc(0px - var(--parallax-bleed, 0px)); left: 0; display: block; width: 100%; height: calc(100% + var(--parallax-bleed, 0px) * 2); object-fit: cover; }
@media (prefers-reduced-motion: no-preference) {
  .parallax-image.is-parallax-enabled { --parallax-bleed: 48px; }
  .hero__visual.is-parallax-enabled { --parallax-bleed: 160px; }
  .parallax-image.is-parallax-enabled > img { transform: translate3d(0, var(--parallax-offset, 0px), 0); }
}
.about__body { grid-area: body; align-self: start; }
.about__message { margin: 0 0 28px; font-size: 16px; line-height: 2.1; letter-spacing: .1em; }
.about__message-line { display: block; }
.about__name { margin: 0 0 var(--space-detail-link); font-size: 18px; }
.more-link { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; border-bottom: 1px solid var(--color-line); font-size: 16px; line-height: 1.5; transition: opacity .24s ease, border-color .24s ease; }
.more-link:hover, .more-link:focus-visible { text-decoration: none; border-color: currentColor; opacity: .7; }
.more-link:hover .button__arrow, .more-link:focus-visible .button__arrow { transform: translateX(4px); }

@media (min-width: 601px) and (max-width: 1000px) {
  .about { column-gap: 32px; margin-block: 96px; }
  .section-heading { flex-direction: column; gap: 10px; }
  .section-heading__title { font-size: 40px; }
  .about__visual { min-height: 400px; }
  .about__message { letter-spacing: .04em; }
}

@media (min-width: 601px) and (max-width: 900px) {
  .hero { height: 680px; }
  .hero__content { width: 54%; padding-inline: 20px; }
  .hero__logo { width: 205px; }
  .hero__title { font-size: 20px; letter-spacing: .06em; }
  .hero__image { object-position: 62% center; }
}

@media (max-width: 1100px) {
  :root { --height-header: 76px; }
  .site-header__inner { gap: 16px; }
  .site-header__nav { display: none; }
  .site-header__actions { margin-left: auto; }
  .site-header__booking { display: none; }
  .menu-toggle { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 8px; border: 0; background: transparent; cursor: pointer; }
  .brand__emblem { width: 44px; height: 44px; }
  .brand__name { font-size: 16px; }
  .site-header:has(.menu-toggle[hidden]) .site-header__nav { display: flex; flex-wrap: wrap; margin-left: 0; }
  .site-header:has(.menu-toggle[hidden]) .site-header__inner { flex-wrap: wrap; }
}

@media (min-width: 901px) and (max-width: 1100px) {
  .hero { height: 820px; }
}

@media (max-width: 600px) {
  :root { --space-gutter: 24px; --height-header: 60px; }
  .site-header__inner { width: 100%; gap: 8px; min-height: 60px; }
  .brand { gap: 9px; }
  .brand__emblem { width: 42px; height: 42px; }
  .brand__name { font-size: 16px; }
  .site-header__actions { gap: 12px; }
  .site-footer { padding-top: 0; }
  .site-footer__inner { flex-direction: column; align-items: flex-start; gap: 16px; padding-top: 28px; border-top: 1px solid var(--color-line); }
  .site-footer .brand__emblem { width: 48px; height: 48px; }
  .site-footer .brand__name { font-size: 16px; }
  .site-footer__links { gap: 22px; }
  /* SPは承認済みの短縮版。100vhはPCのみに適用。 */
  .hero { --space-hero-bottom: 24px; width: 100%; height: clamp(540px, 156vw, 650px); align-items: flex-end; }
  .hero__image { object-position: 66% center; }
  .hero::before { top: 32px; bottom: auto; left: -92px; width: 250px; height: 370px; }
  .hero__visual::after { background: linear-gradient(90deg, rgb(245 244 239 / 97%) 0%, rgb(245 244 239 / 86%) 19%, rgb(245 244 239 / 30%) 48%, rgb(245 244 239 / 0%) 75%); }
  .hero__content { align-items: flex-start; width: 100%; padding: 0 28px 42px; }
  .hero__logo { width: 150px; margin-left: -12px; }
  .hero__title { margin: 16px 0 18px; font-size: 18px; line-height: 1.5; letter-spacing: .08em; }
  .hero__title span { display: block; }
  .hero__booking { padding-inline: 28px; }
  .about { grid-template-columns: minmax(0, 1fr); grid-template-areas: "heading" "image" "body"; gap: 20px; margin-block: 80px; scroll-margin-top: 112px; }
  .section-heading { flex-direction: column; align-items: flex-start; gap: 10px; }
  .section-heading__title { font-size: 40px; }
  .about__visual { height: auto; min-height: 0; aspect-ratio: 1.45; }
  .parallax-image.is-parallax-enabled { --parallax-bleed: 36px; }
  .hero__visual.is-parallax-enabled { --parallax-bleed: 104px; }
  .about__message { margin-bottom: 24px; line-height: 1.9; letter-spacing: .06em; }
}

@media (max-width: 359px) {
  .site-header .brand { gap: 6px; }
  .site-header .brand__emblem { width: 34px; height: 34px; }
  .site-header .brand__name { font-size: 14px; }
  .site-header__actions { gap: 6px; }
}

@media (prefers-reduced-motion: reduce) {
  .menu-icon__line, .button, .mobile-menu, .mobile-menu::backdrop { transition: none; }
}

.works { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "heading more" "slider slider"; row-gap: 32px; margin-block: 128px; scroll-margin-top: 140px; }
.works__header { grid-area: heading; }
.works__more { grid-area: more; align-self: center; justify-self: end; }
.works-slider { grid-area: slider; min-width: 0; position: relative; }
.works-slider__track { position: relative; display: flex; list-style: none; margin: 0; padding: 0; scrollbar-width: none; }
.works-slider__track::-webkit-scrollbar { display: none; }
.works-slider__slide { flex-shrink: 0; width: calc((100% - 72px) / 3.35); min-width: 0; }
.works-slider__image { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; }
.works-slider__arrow { position: absolute; top: calc((100% - 52px) / 2 - 22px); display: grid; place-items: center; width: 44px; height: 44px; padding: 10px; border: 0; background: rgb(245 244 239 / 90%); color: var(--color-text); }
.works-slider__arrow--previous { left: -22px; }
.works-slider__arrow--next { right: -22px; }
.works-slider__arrow:disabled { opacity: .35; cursor: default; }
.works-slider__chevron { width: 12px; height: 24px; }
.works-slider__arrow--previous .works-slider__chevron { transform: rotate(180deg); }
.works-slider__pagination { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 52px; }
.works-slider__page { display: grid; place-items: center; width: 20px; height: 36px; border: 0; padding: 0; background: transparent; }
.works-slider__page::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #d2d1cb; }
.works-slider__page.is-active::before { background: var(--color-text); }

@media (min-width: 601px) and (max-width: 1000px) {
  .works { margin-block: 96px; }
  .works-slider__slide { width: calc((100% - 24px) / 2.3); }
}

@media (max-width: 600px) {
  .works { grid-template-columns: minmax(0, 1fr); grid-template-areas: "heading" "slider" "more"; row-gap: 24px; margin-block: 80px; scroll-margin-top: 112px; }
  .works__more { justify-self: start; }
  .works-slider__slide { width: 82%; }
  .works-slider__image { aspect-ratio: 1 / 1; }
}

.works-slider__dots { display: flex; align-items: center; gap: 0; }
.works-slider__viewport:not(.swiper-initialized) .works-slider__track { gap: 24px; overflow-x: auto; }
.works-slider__arrow { z-index: 2; }
.works-slider .works-slider__dots { position: static; width: auto; }

.works-slider__link { display: block; cursor: zoom-in; }
.works-slider__link:focus-visible { outline-offset: -3px; }
.work-lightbox { width: min(1200px, calc(100% - 32px)); max-width: 100%; max-height: calc(100dvh - 32px); padding: 48px 0 0; border: 0; background: transparent; color: #fff; }
.work-lightbox::backdrop { background: rgb(0 0 0 / 85%); }
.work-lightbox__close { position: absolute; top: 0; right: 0; display: grid; place-items: center; width: 44px; height: 44px; border: 0; padding: 10px; background: transparent; color: #fff; }
.work-lightbox__close svg { width: 24px; height: 24px; }
.work-lightbox__figure { margin: 0; }
.work-lightbox__image { display: block; max-width: 100%; width: auto; height: auto; max-height: calc(100dvh - 180px); object-fit: contain; margin-inline: auto; }
.work-lightbox__caption { margin-top: 16px; text-align: center; font-size: 16px; line-height: 1.8; }

.feature-band { margin-block: 128px 0; padding-block: 96px; background: linear-gradient(180deg, #ebece9 0%, rgb(235 236 233 / 65%) 45%, rgb(235 236 233 / 0%) 100%); }
.feature-section {
  position: relative;
  z-index: 1;
  --feature-image-ratio: 1.9;
  --feature-column-gap: clamp(40px, 5vw, 80px);
  --feature-image-width: calc((100% - var(--feature-column-gap)) * 6 / 11);
  display: grid;
  grid-template-columns: var(--feature-image-width) minmax(0, 1fr);
  grid-template-areas: "image heading" "image body";
  column-gap: var(--feature-column-gap);
  row-gap: 24px;
  margin-block: 0;
  scroll-margin-top: 140px;
}
.feature-section + .feature-section { margin-top: 112px; }
.feature-section--reverse { grid-template-columns: minmax(0, 1fr) var(--feature-image-width); grid-template-areas: "heading image" "body image"; }
.feature-section__heading { grid-area: heading; align-self: end; }
.feature-section__visual { grid-area: image; align-self: center; width: 100%; aspect-ratio: var(--feature-image-ratio); }
.feature-section__image { object-position: center 55%; }
.feature-section__body { grid-area: body; align-self: start; }
.feature-section__text { margin: 0 0 var(--space-detail-link); font-size: 16px; line-height: 2.1; letter-spacing: .1em; }
.feature-section__text-line { display: block; }

@media (min-width: 601px) and (max-width: 1000px) {
  .feature-band { margin-block: 96px 0; padding-block: 72px; }
  .feature-section { --feature-column-gap: 32px; }
  .feature-section__text { letter-spacing: .04em; }
}

@media (max-width: 600px) {
  .feature-band { margin-block: 80px 0; padding-block: 64px; }
  .feature-section { grid-template-columns: minmax(0, 1fr); grid-template-areas: "heading" "image" "body"; row-gap: 20px; scroll-margin-top: 112px; }
  .feature-section__text { line-height: 1.9; letter-spacing: .06em; }
  .feature-section + .feature-section { margin-top: 80px; }
}

.booking { position: relative; isolation: isolate; overflow: visible; padding-block: 64px 112px; scroll-margin-top: 140px; }
.booking::before { content: ""; position: absolute; z-index: -1; bottom: 0; right: max(16px, calc((100% - var(--width-content)) / 2)); width: clamp(220px, 32vw, 420px); aspect-ratio: 300 / 640; background: url("../images/botanical.svg") no-repeat center / contain; opacity: .16; pointer-events: none; }
.booking__inner { text-align: center; }
.booking__title { margin: 0 0 12px; font-size: 24px; font-weight: 500; line-height: 1.6; letter-spacing: .1em; }
.booking__english { margin: 0 0 28px; font-size: 16px; line-height: 1.8; }
.booking__button { min-width: 280px; min-height: 52px; padding-inline: 38px; }

@media (max-width: 600px) {
  main { overflow-x: clip; overflow-y: visible; }
  .booking { padding-block: 48px 80px; scroll-margin-top: 112px; }
  .booking::before { right: -120px; width: min(74vw, 280px); }
  .booking__title { font-size: clamp(18px, 5vw, 22px); letter-spacing: .02em; }
  .booking__english { margin-bottom: 24px; }
  .booking__button { min-width: 0; width: min(100%, 280px); }
}

.floating-line { position: fixed; z-index: 8; right: max(24px, env(safe-area-inset-right)); bottom: max(20px, env(safe-area-inset-bottom)); display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 8px 16px 8px 10px; border: 1px solid var(--color-text); border-radius: 6px; background: var(--color-text); color: #fff; font-size: 14px; line-height: 1.5; white-space: nowrap; box-shadow: 0 2px 8px rgb(0 0 0 / 12%); opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(8px); transition: opacity .28s ease, transform .28s ease, visibility 0s linear .28s, background-color .24s ease, color .24s ease; }
.floating-line.is-visible { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); transition-delay: 0s; }
.floating-line__icon { display: block; width: 32px; height: 32px; flex-shrink: 0; }
.floating-line__icon-label { fill: var(--color-text); }
.floating-line:hover, .floating-line:focus-visible { background: var(--color-background); color: var(--color-text); text-decoration: none; }
.floating-line:hover .floating-line__icon-label, .floating-line:focus-visible .floating-line__icon-label { fill: var(--color-background); }
.is-menu-open .floating-line, .is-lightbox-open .floating-line { visibility: hidden; }
.site-footer { padding-bottom: calc(32px + env(safe-area-inset-bottom)); }

@media (max-width: 600px) {
  .floating-line { right: max(12px, env(safe-area-inset-right)); bottom: max(12px, env(safe-area-inset-bottom)); min-height: 48px; gap: 8px; padding: 7px 12px 7px 8px; }
  .floating-line__icon { width: 30px; height: 30px; }
}

@media (prefers-reduced-motion: reduce) {
  .floating-line { transition: none; }
}

.brand:hover, .brand:focus-visible, .nav-link:hover, .nav-link:focus-visible { opacity: .65; }
.brand[href]:hover, .nav-link[href]:hover { text-decoration: none; }

@media (prefers-reduced-motion: reduce) {
  .brand, .nav-link, .more-link, .button__arrow { transition: none; }
}
