.service-page{background:var(--black)}
.service-hero{height:620px;position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center}
.service-hero-image{position:absolute;inset:0;background:url('assets/service-hero.webp') 68% center/cover no-repeat;filter:grayscale(1) contrast(1.08);z-index:-3}
.service-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(21,21,21,.98) 0%,rgba(21,21,21,.82) 42%,rgba(21,21,21,.3) 100%),linear-gradient(0deg,rgba(21,21,21,.4),transparent 50%);z-index:-2}
.service-hero-line{position:absolute;top:-12%;height:125%;width:1px;background:linear-gradient(180deg,transparent,var(--gold) 25%,var(--gold) 75%,transparent);transform:skew(-22deg);opacity:.85}
.service-hero-line-left{left:47%}.service-hero-line-right{right:15%}
.service-hero-inner{position:relative;padding-left:9%;padding-top:15px}
.service-hero .hero-eyebrow{margin-bottom:16px}
.service-hero h1{font-family:var(--serif);font-size:clamp(56px,7vw,106px);font-weight:700;letter-spacing:.16em;line-height:1.1;margin:0 0 22px;text-shadow:0 4px 12px rgba(0,0,0,.6)}
.service-hero-lead{font-family:var(--serif);font-size:clamp(24px,2.3vw,36px);line-height:1.55;letter-spacing:.12em;margin:0 0 20px}
.service-hero-copy{font-family:var(--serif);font-size:14px;line-height:2;letter-spacing:.08em;margin:0;color:#ddd}
.service-intro{position:relative;overflow:hidden;padding:88px 0 112px}
.service-intro>.section-number{right:5%;top:20px;font-size:210px}
.service-list-heading h2{margin-bottom:12px}
.service-list-heading>p:last-child{font-size:14px;letter-spacing:.1em;margin:0 0 64px}
.service-list{max-width:1220px;margin:0 auto;display:flex;flex-direction:column;gap:78px}
.service-detail{min-height:330px;display:grid;grid-template-columns:46% 1fr;align-items:center;gap:7%;position:relative}
.service-detail-reverse{grid-template-columns:1fr 46%}.service-detail-reverse .service-detail-media{grid-column:2;grid-row:1}.service-detail-reverse .service-detail-copy{grid-column:1;grid-row:1}.service-detail-number{position:absolute;left:-44px;top:10px;color:var(--gold);font-family:var(--mono);font-size:16px;letter-spacing:.15em;z-index:2}
.service-detail-media{height:330px;position:relative;overflow:hidden;clip-path:polygon(9% 0,100% 0,91% 100%,0 100%);background:var(--black)}
.service-detail-media img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.18);transition:transform .6s ease}.service-detail:hover .service-detail-media img{transform:scale(1.04)}
.service-detail-media:after{content:"";position:absolute;inset:13px;border:1px solid rgba(202,149,34,.75);pointer-events:none}
.service-detail-caption{position:absolute;bottom:24px;left:45px;color:#fff;font:11px var(--mono);letter-spacing:.16em;z-index:1;text-shadow:0 1px 5px #000}
.service-detail-copy{padding:10px 0}.service-detail-kicker{font:12px var(--mono);letter-spacing:.15em;color:var(--gold);margin:0 0 11px}.service-detail-copy h3{font-family:var(--serif);font-size:38px;letter-spacing:.12em;margin:0 0 20px}.service-detail-copy h3:after{content:"";display:block;width:42px;height:2px;background:var(--gold);margin-top:15px}.service-detail-copy>p:not(.service-detail-kicker){font-size:14px;line-height:2;letter-spacing:.08em;margin:0 0 20px}.service-detail-copy ul{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.service-detail-copy li{border:1px solid rgba(202,149,34,.7);padding:7px 14px;font-size:11px;letter-spacing:.06em}
.service-message{height:470px;position:relative;overflow:hidden}.service-message-photo{position:absolute;inset:0;background:url('assets/about-wk.webp') 65% center/cover no-repeat;filter:grayscale(1);z-index:0}.service-message-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(21,21,21,.96),rgba(21,21,21,.7) 48%,rgba(21,21,21,.25));z-index:1}.service-message-inner{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding-left:9%}.service-message h2{font-family:var(--serif);font-size:46px;line-height:1.45;letter-spacing:.15em;margin:0 0 24px}.service-message h2 em{font-style:normal;color:var(--gold)}.service-message-inner>p:not(.eyebrow){font-family:var(--serif);font-size:14px;line-height:2;letter-spacing:.1em;margin:0 0 28px}.service-message .button{min-width:220px}
.service-page .is-current{color:var(--gold)}
@media (max-width:1100px){.service-detail{grid-template-columns:48% 1fr;gap:6%}.service-detail-reverse{grid-template-columns:1fr 48%}.service-detail-copy h3{font-size:32px}.service-detail-copy>p:not(.service-detail-kicker){font-size:12px}.service-detail-number{left:-26px}}
@media (max-width:760px){.service-hero{height:535px;align-items:flex-start}.service-hero-image{background-position:64% center}.service-hero-shade{background:linear-gradient(90deg,rgba(21,21,21,.94),rgba(21,21,21,.45)),linear-gradient(0deg,rgba(21,21,21,.7),transparent)}.service-hero-line-left{left:72%}.service-hero-line-right{right:6%}.service-hero-inner{padding:114px 20px 0}.service-hero .hero-eyebrow{font-size:9px}.service-hero h1{font-size:clamp(42px,13vw,66px);letter-spacing:.1em}.service-hero-lead{font-size:22px}.service-hero-copy{font-size:11px;line-height:1.9}.service-hero .scroll-cue{display:flex;left:auto;right:25px;bottom:25px}.service-intro{padding:62px 0 72px}.service-intro>.section-number{font-size:140px;right:-3%;top:8px}.service-list-heading h2{font-size:30px;margin-bottom:10px}.service-list-heading>p:last-child{font-size:11px;line-height:1.8;margin-bottom:42px}.service-list{gap:54px}.service-detail,.service-detail-reverse{display:flex;flex-direction:column;align-items:stretch;gap:24px;min-height:0}.service-detail-reverse .service-detail-media,.service-detail-reverse .service-detail-copy{order:initial}.service-detail-number{left:0;top:-22px;font-size:12px}.service-detail-media{height:215px;clip-path:polygon(7% 0,100% 0,93% 100%,0 100%)}.service-detail-caption{left:28px;bottom:18px;font-size:9px}.service-detail-copy{padding:0 12px}.service-detail-kicker{font-size:10px}.service-detail-copy h3{font-size:27px;margin-bottom:13px}.service-detail-copy h3:after{margin-top:11px}.service-detail-copy>p:not(.service-detail-kicker){font-size:11px;line-height:1.9}.service-detail-copy li{font-size:10px;padding:6px 10px}.service-message{height:420px}.service-message-inner{padding:0 28px;justify-content:center}.service-message h2{font-size:31px;letter-spacing:.1em}.service-message-inner>p:not(.eyebrow){font-size:11px;line-height:1.9}.service-message .button{min-width:190px;height:46px;font-size:11px}}

/* Mobile message heading: keep the Japanese phrase visually balanced. */
.message-heading-mobile{display:none}
@media (max-width:760px){
  .message-heading-desktop{display:none}
  .message-heading-mobile{display:inline}
  .service-message h2{font-size:31px;letter-spacing:.07em}
  .service-message-inner>p:not(.eyebrow){text-wrap:balance}
}
.service-message-photo{background-image:url('assets/about-wk.webp')}

/* Mobile body-copy readability */
@media (max-width:760px){
  .service-hero-copy{font-size:12px;line-height:1.95;text-wrap:balance;line-break:strict}
  .service-hero-copy br,
  .service-message-inner>p:not(.eyebrow) br{display:none}
  .service-list-heading>p:last-child,
  .service-detail-copy>p:not(.service-detail-kicker),
  .service-message-inner>p:not(.eyebrow){font-size:13px;line-height:1.95;text-wrap:balance;line-break:strict}
  .service-detail-copy li{font-size:12px;line-height:1.6}
}
