/* A separate design study: the original content and section order stay intact. */
.home-study { background: #fff; --study-ease: cubic-bezier(.22, 1, .36, 1); --study-muted: #657064; }
.home-study .hero { margin: 0 clamp(16px, 2.6vw, 44px); height: clamp(550px, 68svh, 720px); }
.home-study .hero__content { left: clamp(32px, 5vw, 80px); width: min(840px, 79%); }
.home-study .hero h1 { text-wrap: pretty; font-size: clamp(32px, 3.2vw, 48px); line-height: 1.65; letter-spacing: .045em; }
.home-study .hero__title-phrase { display: inline-block; }
.home-study .hero__eyebrow { margin-bottom: 24px; font-size: 11px; }
.home-study .hero__subtitle { margin-top: 22px; font-size: clamp(15px, 1.2vw, 18px); line-height: 1.8; }
.home-study .hero__description { margin-top: 14px; line-height: 1.95; font-size: 14px; }
.home-study .hero__actions { margin-top: 28px; gap: 14px; }
.home-study .hero__veil { background: linear-gradient(90deg, rgba(10, 17, 12, .63), rgba(10, 17, 12, .30) 52%, rgba(10, 17, 12, .06)), linear-gradient(0deg, rgba(10, 17, 12, .24), transparent 55%); }
.home-study .hero__content { --hero-text-pan-distance: 26px; }
.home-study .hero__actions { animation: study-actions-in 1s .45s var(--study-ease) both; }
@keyframes study-actions-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
.home-study .hero__image-note { font-size: 9px; letter-spacing: .08em; }
.home-study .hero__scroll { left: auto; right: 34px; }
.home-study .hero__scroll i { overflow: hidden; background: rgba(255,255,255,.25); }
.home-study .hero__scroll i::after { content: ""; display: block; width: 100%; height: 100%; background: #fff; animation: study-scroll-line 2.6s ease-in-out infinite; }
@keyframes study-scroll-line { 0% { transform: translateY(-100%); } 65%,100% { transform: translateY(100%); } }

.home-study .home-section { padding-block: clamp(64px, 6.5vw, 96px); border-bottom-color: #eeede8; }
.home-study .contact-band__second-opinion { margin-top: 18px; max-width: 370px; font-size: 14px; line-height: 1.9; color: #596158; }
.home-study .contact-band__second-opinion a { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; margin-top: 4px; color: #304634; text-decoration: underline; text-underline-offset: 5px; }
.home-study .contact-band__second-opinion a:focus-visible { outline: 2px solid #476750; outline-offset: 4px; }
.home-study .section-heading { margin-bottom: 32px; }
.home-study .section-heading > div { display: flex; flex-direction: column; align-items: flex-start; gap: 13px; }
.home-study .section-heading p, .home-study .home-design-eyebrow, .home-study .showroom-section__eyebrow, .home-study .about-section > div > p:first-child { color: var(--study-muted); font: 500 12px/1.6 var(--sans); letter-spacing: .18em; }
.home-study .section-heading h2 { margin: 0; font: 400 clamp(27px, 2.5vw, 38px)/1.55 var(--serif); letter-spacing: .06em; }
.home-study .section-heading > a { min-height: 44px; display: inline-flex; align-items: center; gap: 24px; font-size: 14px; }
.home-study .home-film { padding-top: 80px; }
.home-study .home-film__figure { width: min(1280px, 87%); }
.home-study .home-design-intro { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 26px 64px; margin-bottom: 48px; }
.home-study .home-design-intro > div:nth-child(2) { grid-column: 2; grid-row: 1 / 3; align-self: center; }
.home-study .home-design-photo-link { grid-column: 1; margin-top: 0; }
.home-study .home-design-body { margin-bottom: 0; line-height: 2.1; }
.home-study .home-design-photo { overflow: hidden; }
.home-study .home-design-photo img { aspect-ratio: 16 / 9; object-position: center 55%; }

/* Four familiar destinations, with consistently sized photography. */
.home-study .businesses { scroll-margin-top: calc(var(--header-height) + 24px); padding: 32px var(--side) 58px; border-bottom: 1px solid #eeede8; }
.home-study .businesses__grid { gap: 22px; width: 100%; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.home-study .business-card { display: grid; grid-template-columns: 30px minmax(0, 1fr); align-content: start; align-items: start; gap: 0 12px; min-height: 0; padding: 0 0 28px; border: 0; border-bottom: 1px solid #b8bdb3; color: var(--ink); overflow: visible; }
.home-study .business-card::before { display: none; }
.home-study .business-card:hover, .home-study .business-card:focus-visible { color: var(--ink); background: transparent; }
.home-study .business-card:focus-visible { outline: 2px solid #4d6556; outline-offset: 6px; }
.home-study .business-card__photo { display: block; grid-column: 1 / -1; grid-row: 1; overflow: hidden; aspect-ratio: 3 / 2; margin-bottom: 22px; background: #f3f2ee; }
.home-study .business-card__photo img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--study-ease); }
.home-study .business-card:nth-child(3) .business-card__photo img { object-position: center 85%; }
.home-study .business-card:nth-child(4) .business-card__photo img { object-position: center 54%; }
.home-study .business-card__number { top: 10px; left: 10px; right: auto; z-index: 2; display: grid; place-items: center; width: 32px; height: 32px; color: #fff; background: rgba(29,39,31,.75); font-size: 10px; }
.home-study .business-card:hover .business-card__number, .home-study .business-card:focus-visible .business-card__number { color: #fff; }
.home-study .business-card__icon { grid-column: 1; grid-row: 2; margin: 2px 0 0; width: 30px; height: 30px; }
.home-study .business-card__icon svg { width: 30px; height: 30px; }
.home-study .business-card__copy { grid-column: 2; grid-row: 2; padding: 0; }
.home-study .business-card__title { font-size: clamp(19px, 1.6vw, 24px); font-weight: 400; }
.home-study .business-card__description, .home-study .business-card:hover .business-card__description, .home-study .business-card:focus-visible .business-card__description { color: #596158; font-size: 13px; line-height: 1.85; margin-top: 9px; }
.home-study .business-card__description > span { display: inline-block; }
.home-study .business-card__arrow { right: 0; bottom: 7px; width: 22px; transition: transform .4s var(--study-ease); }

.home-study .home-information { padding-block: clamp(56px, 5vw, 80px); background: #fafaf7; }
.home-study .home-information .section-heading { margin-bottom: 24px; }
.home-study .home-news__row { padding-block: 22px; }
.home-study :is(#home-works, #toumei-design) { scroll-margin-top: var(--header-height); }
.home-study .works-marquee > .section-heading { margin-bottom: 22px; }
.home-study .works-marquee__intro { margin-top: 0; margin-bottom: 36px; color: #596158; }
.home-study .works-marquee__intro > span { display: inline-block; }
.home-study .works-marquee__rows { gap: 10px; }
.home-study .works-marquee__all { transition: background .3s, color .3s; }
.home-study .life-small > img { transition: filter .4s ease; }
.home-study .showroom-section { gap: clamp(36px, 6vw, 88px); }
.home-study .about-section { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(36px, 6vw, 88px); }
.home-study .about-section > img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.home-study .showroom-section h2, .home-study .about-section h2 { margin-top: 16px; font: 400 clamp(26px, 2.7vw, 38px)/1.6 var(--serif); }
.home-study .about-section > div > p:not(:first-child) { font-size: 16px; line-height: 2; }
.home-study :is(.text-link, .home-design-photo-link) { position: relative; }
.home-study :is(.text-link, .home-design-photo-link)::after { position: absolute; content: ""; left: 0; right: 0; bottom: -1px; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .55s var(--study-ease); }
@media (hover: hover) and (pointer: fine) {
  .home-study .business-card:hover .business-card__photo img { transform: scale(1.035); }
  .home-study .business-card:hover .business-card__arrow { transform: translateX(4px); }
  .home-study :is(.text-link, .home-design-photo-link):hover::after { transform: scaleX(1); }
  .home-study .life-small:hover > img { filter: brightness(1.04); }
}

/* JavaScript opts in below-the-fold content only; default rendering is visible. */
@media (prefers-reduced-motion: no-preference) {
  .home-study .study-reveal { transition: opacity .8s var(--study-ease), transform .9s var(--study-ease), clip-path 1.1s var(--study-ease); transition-delay: var(--study-delay, 0ms); }
  .home-study .study-reveal.is-motion-pending { opacity: 0; transform: translateY(22px); }
  .home-study .home-information .study-reveal { transition-duration: 1.1s, 1.2s, 1.1s; }
  .home-study .study-reveal--side.is-motion-pending { transform: translateX(-28px); }
  .home-study .study-reveal--photo.is-motion-pending { opacity: .35; transform: translateY(16px); clip-path: inset(0 0 12% 0); }
  .home-study .study-reveal--photo:not(.is-motion-pending) { clip-path: inset(0); }
  .home-study .study-reveal:focus-within { opacity: 1; transform: none; clip-path: inset(0); }
}
@media (max-width: 1100px) {
  .home-study .home-design-intro { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .home-study .home-design-intro > div:nth-child(2) { grid-column: 1; grid-row: auto; }
  .home-study .businesses__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 24px; }
  .home-study .business-card:nth-child(n) { border: 0; border-bottom: 1px solid #b8bdb3; }
}
@media (max-width: 767px) {
  .home-study .hero { margin: 0 12px; min-height: 620px; height: 85svh; max-height: 720px; }
  .home-study .hero__content { width: auto; top: auto; left: 22px; right: 22px; bottom: 28px; transform: none; }
  .home-study .hero h1 { max-width: none; font-size: clamp(25px, 6.7vw, 34px); line-height: 1.65; letter-spacing: .025em; }
  .home-study .hero__eyebrow { font-size: 9px; margin-bottom: 16px; }
  .home-study .hero__subtitle { font-size: 14px; line-height: 1.9; margin-top: 16px; letter-spacing: .02em; }
  .home-study .hero__description { font-size: 12px; margin-top: 12px; line-height: 1.9; }
  .home-study .hero__actions { gap: 8px; margin-top: 22px; }
  .home-study .hero__actions .button { padding: 0 12px; font-size: 12px; min-height: 50px; }
  .home-study .hero__veil { background: linear-gradient(0deg, rgba(8,14,10,.90), rgba(8,14,10,.43) 50%, rgba(8,14,10,.04) 90%); }
  .home-study .home-section { padding: 52px 22px; }
  .home-study .home-film { padding-top: 56px; }
  .home-study .home-film__figure { width: calc(100% - 32px); }
  .home-study .section-heading { gap: 18px; margin-bottom: 24px; }
  .home-study .section-heading > div { gap: 9px; }
  .home-study .section-heading p { font-size: 11px; }
  .home-study .section-heading h2 { font-size: 27px; }
  .home-study .section-heading > a { gap: 12px; font-size: 12px; flex-shrink: 0; }
  .home-study .businesses { padding: 16px 22px 48px; }
  .home-study .businesses__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 16px; }
  .home-study .business-card { grid-template-columns: minmax(0, 1fr); gap: 0; padding-bottom: 30px; min-height: 0; }
  .home-study .business-card__photo { margin-bottom: 16px; }
  .home-study .business-card__icon { display: none; }
  .home-study .business-card__copy { grid-column: 1; }
  .home-study .business-card__title { font-size: 19px; }
  .home-study .business-card__description { font-size: 13px; line-height: 1.85; margin-top: 8px; }
  .home-study .business-card__number { top: 7px; left: 7px; width: 25px; height: 25px; font-size: 9px; }
  .home-study .home-design-intro { display: flex; flex-direction: column; align-items: stretch; gap: 22px; margin-bottom: 32px; }
  .home-study .home-design-eyebrow { margin-bottom: 18px; }
  .home-study .home-design-intro h2 { font-size: 32px; line-height: 1.7; }
  .home-study .home-design-body { font-size: 15px; line-height: 2; }
  .home-study .home-design-photo-link { align-self: flex-start; font-size: 14px; }
  .home-study .home-design-photo img { aspect-ratio: 16 / 10; object-position: center; }
  .home-study .works-marquee { padding-inline: 0; }
  .home-study .works-marquee__intro { font-size: 15px; line-height: 1.9; margin-bottom: 26px; }
  .home-study .works-marquee__rows { gap: 6px; }
  .home-study .works-marquee__group img { width: 200px; }
  .home-study .home-information { padding-block: 44px; }
  .home-study .home-news__row { padding-block: 16px; }
  .home-study .home-information .section-heading { display: grid; grid-template-columns: minmax(0, 1fr); gap: 4px; margin-bottom: 16px; }
  .home-study .home-information .section-heading h2 { font-size: clamp(24px, 6.6vw, 27px); }
  .home-study .home-information .section-heading > a { justify-self: end; }
  .home-study .about-section, .home-study .showroom-section { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .home-study .about-section > div > p:not(:first-child) { font-size: 15px; }
}
@media (max-width: 359px) {
  .home-study .hero { margin-inline: 8px; }
  .home-study .hero__content { left: 16px; right: 16px; }
  .home-study .hero h1 { font-size: 23px; }
  .home-study .hero__actions .button { padding: 0 9px; font-size: 11px; }
  .home-study .hero__actions .link-arrow { width: 14px; }
  .home-study .businesses { padding-inline: 18px; }
  .home-study .business-card__title { font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-study .hero__actions, .home-study .hero__scroll i::after { animation: none; }
  .home-study .study-reveal { opacity: 1; transform: none; clip-path: none; transition: none; }
  .home-study .business-card__photo img { transform: none !important; }
}
