.breadcrumbs{padding-block:20px;font-size:14px}.detail-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:7%;align-items:center;padding-block:26px 90px}.detail-hero h1{font-size:clamp(38px,4.4vw,66px);letter-spacing:-.045em;line-height:1.15;margin-bottom:28px}.detail-hero h1 span{display:block;font:20px/1.5 Arial,sans-serif;letter-spacing:0;margin-top:18px}.detail-hero img{aspect-ratio:4/4.5;max-height:530px;object-position:center 35%}.detail-prices{max-width:900px;margin:38px 0}.detail-prices h3{font:20px/1.4 Arial,sans-serif}.detail-prices .service-info p{font-size:16px}.detail-story{padding-block:96px;display:grid;grid-template-columns:1fr 1fr;gap:10%}.detail-story p{font-size:18px;max-width:600px}.detail-work{padding-bottom:80px}.detail-gallery{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin:36px 0}.detail-gallery img{aspect-ratio:4/5;max-height:600px}.detail-master{display:grid;grid-template-columns:280px 1fr;align-items:center;gap:60px;padding-block:40px 90px}.detail-master img{aspect-ratio:4/5;object-position:center 30%}.detail-master p{margin:20px 0}.detail-faq h2{margin-bottom:36px}.detail-faq details{background:var(--soft);padding:24px;margin-bottom:10px}.detail-faq summary{cursor:pointer;font-size:20px;min-height:32px}.detail-faq details p{max-width:760px;margin-top:18px}.detail-directory,.detail-related{padding-block:80px}.detail-directory nav,.detail-related nav{display:flex;flex-wrap:wrap;gap:22px 40px;margin-top:32px}.detail-directory nav a,.detail-related nav a{font-size:20px;min-height:44px;padding-block:8px}.consultation p{max-width:600px;font-size:20px;margin:28px 0}.consultation .text-link{margin-left:30px}.detail-page .visit{padding-bottom:40px}
@media(max-width:760px){.detail-hero{grid-template-columns:1fr;padding-bottom:60px;gap:32px}.detail-hero h1{font-size:clamp(32px,8.6vw,52px);overflow-wrap:normal}.detail-hero img{aspect-ratio:5/4;max-height:450px}.detail-story{display:block;padding-block:60px}.detail-story p{margin-top:26px;font-size:17px}.detail-gallery{gap:18px}.detail-gallery img{aspect-ratio:3/4}.detail-master{grid-template-columns:38% 1fr;gap:24px;padding-block:20px 60px}.detail-master h2{font-size:28px}.detail-faq summary{font-size:18px}.detail-faq details{padding:20px}.detail-directory,.detail-related{padding-block:55px}.detail-directory nav,.detail-related nav{display:grid;gap:12px}.consultation .text-link{display:flex;margin:24px 0 0}.detail-page footer{padding-bottom:120px}}

@keyframes service-arrive{from{opacity:0;transform:translateY(38px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){.motion-item.is-visible{animation:service-arrive 900ms cubic-bezier(.22,1,.36,1) both;animation-delay:var(--motion-delay,0ms)}.hero-copy{animation:service-arrive 1000ms cubic-bezier(.22,1,.36,1) both}.detail-directory a,.detail-related a{transition:transform 180ms ease}.detail-directory a:hover,.detail-related a:hover{transform:translateX(5px)}}

.service-info .text-link{display:inline-flex;margin-top:14px;font-size:15px}.service-tabs a{transition:background-color 250ms ease,color 250ms ease,transform 250ms ease}.service-group .service-action{max-width:220px}

/* Establish the reveal state before intersection; never restart a visible photo at opacity zero. */
@media(prefers-reduced-motion:no-preference){
 .motion-item{opacity:0;transform:translateY(32px);transition:opacity 900ms cubic-bezier(.22,1,.36,1),transform 900ms cubic-bezier(.22,1,.36,1);transition-delay:var(--motion-delay,0ms)}
 .motion-item.is-visible,.reveal.motion-item.is-visible,.person.motion-item.is-visible{animation:none;opacity:1;transform:translateY(0)}
 .detail-hero>div,.detail-hero>figure{animation:service-arrive 1000ms cubic-bezier(.22,1,.36,1) both}
 .detail-hero>figure{animation-delay:100ms}
}
@media(prefers-reduced-motion:reduce){.motion-item{opacity:1;transform:none}}
