/* Text links on the existing homepage. */
body.nemuri-mukunal .service-focus-card a.service-more{display:inline-flex;align-items:center;gap:.5em;min-height:44px;margin:6px 0 0 16px;color:#fff;font-size:15px;line-height:1.5;text-decoration:underline;text-underline-offset:5px}
body.nemuri-mukunal .clear-price-table a.service-more{display:block;width:fit-content;margin-top:4px;font-size:12px;line-height:1.7;color:inherit;text-underline-offset:3px}
.service-more:focus-visible{outline:2px solid currentColor;outline-offset:4px}
/* Service pages keep their styles separate from the legacy homepage. */
.service-page{margin:0;background:#faf9f5;color:#263d34;font:16px/1.9 'Yu Gothic','Hiragino Kaku Gothic ProN',sans-serif;-webkit-text-size-adjust:100%}
.service-page *{box-sizing:border-box}
.service-page a{color:#006c52;text-underline-offset:4px}
.service-page a:hover{color:#003f30}
.service-page a:focus-visible,.service-page summary:focus-visible{outline:2px solid #006c52;outline-offset:5px}
.service-page h1,.service-page h2,.service-page .service-headline{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-weight:500;color:#172f25;line-height:1.5;letter-spacing:.025em}
.service-page h1{font-size:clamp(32px,3.8vw,52px);margin:10px 0 16px}
.service-page h2{font-size:clamp(26px,2.8vw,38px);margin:8px 0 26px}
.service-page h3{font-size:19px;line-height:1.6;margin:0 0 10px}
.service-page h4{font-size:17px;margin:0 0 8px}
.service-page p{margin:0 0 18px;overflow-wrap:anywhere}
.service-page small{font-size:12px;font-weight:400}
.service-page img{display:block;max-width:100%}
.service-header{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:4px max(24px,calc((100vw - 1200px)/2));background:#faf9f5eb;border-bottom:1px solid #dce4dc;backdrop-filter:blur(12px)}
.service-header img{width:180px;height:60px;object-fit:contain}
.service-header nav{display:flex;gap:24px}.service-header nav a{padding:8px 0;font-size:14px;text-decoration:none}
.service-page main{max-width:1200px;margin:auto;padding:0 32px}
.service-page section[id]{scroll-margin-top:90px}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;padding:20px 0;font-size:12px;color:#617366}
.service-hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:44px;padding:24px 0 48px}
.service-page .service-eyebrow{color:#50795f;font-size:12px;font-weight:700;letter-spacing:.16em;margin:0 0 10px}
.service-page .service-headline{font-size:clamp(24px,2.4vw,32px);margin:0 0 20px}
.service-lead{color:#52635a}.service-hero figure{position:relative;margin:0;align-self:stretch;min-height:440px}
.service-hero figure img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;mask-image:linear-gradient(#000 85%,transparent);-webkit-mask-image:linear-gradient(#000 85%,transparent)}
.service-hero figcaption{position:absolute;bottom:12px;right:12px;font-size:11px;color:#455a4b;background:#faf9f5d9;padding:1px 6px}
.service-facts{display:flex;flex-wrap:wrap;gap:14px 24px;padding:18px 0;margin:20px 0;border-block:1px solid #dce4dc}
.service-facts dt{font-size:11px;color:#617366}.service-facts dd{margin:2px 0 0;font-size:18px;font-weight:700;line-height:1.7}
.service-page a.service-cta{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:13px 24px;background:#006c52;color:#fff;text-decoration:none;line-height:1.7;min-height:48px;border-radius:2px}
.service-page a.service-cta:hover{background:#004c3a}.service-page .text-link{display:inline-block;min-height:44px;padding:8px 0}
.service-toc{display:flex;flex-wrap:wrap;gap:6px 24px;padding:18px 0;border-block:1px solid #dce4dc;font-size:14px}
.service-toc a{padding:4px 0}.service-section{padding:70px 0;max-width:980px;margin:auto}
.service-page .section-intro{font-size:18px;max-width:820px}.service-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:36px}
.service-points article{border-top:2px solid #a0b69b;padding-top:20px}.service-points p{font-size:15px;color:#52635a;margin:0}
.service-page .service-reference{margin:30px 0 0;font-size:14px}
.service-tinted{background:#eef2e9;padding:44px 38px;border-radius:3px}
.service-steps{list-style:none;margin:0;padding:0;display:grid;gap:22px}.service-steps li{display:grid;grid-template-columns:40px 1fr;gap:20px}
.service-steps li>span{font-family:Georgia,serif;font-size:28px;line-height:1.5;color:#7c9779}.service-steps p{margin:0;color:#52635a}
.service-page .service-note{font-size:13px;color:#617366;margin:20px 0 0;line-height:1.8}
.service-prices{width:100%;border-collapse:collapse;margin:22px 0 28px;line-height:1.7;text-align:left}
.service-prices th,.service-prices td{padding:16px 12px;border-bottom:1px solid #dce4dc;vertical-align:top}.service-prices thead th{font-size:12px;color:#617366;background:#f0f3ed}
.service-prices td:last-child{white-space:nowrap;font-weight:700}.service-prices small{display:block}.service-prices tr[id]{scroll-margin-top:90px}
.service-notice{background:#eef2e9;padding:22px;margin:24px 0}.service-notice p{font-size:14px;margin:10px 0}.service-notice a{font-size:14px}
.service-page #combinations{margin-top:40px;scroll-margin-top:90px}.service-sets{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}.service-sets article{padding:22px;border:1px solid #dce4dc}
.service-page .set-price{font-size:24px;margin:0 0 8px}.service-page .status-note{background:#edf3e9;border-left:3px solid #819d78;padding:12px 16px;font-size:14px;line-height:1.8}
.service-faq details{border-bottom:1px solid #dce4dc;padding:18px 0}.service-page summary{cursor:pointer;font-weight:700;padding:5px 0}.service-faq details p{margin:14px 0 0;color:#52635a}
.service-sources{margin-top:20px;font-size:13px}.service-sources p{margin:12px 0}
.service-booking{text-align:center;background:#e7eee2;padding:50px 32px;border-radius:3px}.service-booking .status-note{max-width:640px;text-align:left;margin:24px auto}
.service-related{padding:54px 0}.service-related h2{font-size:22px}.service-related nav{display:flex;flex-wrap:wrap;gap:12px 32px}.service-related a{padding:8px 0}
.service-footer{padding:36px max(24px,calc((100vw - 1136px)/2));border-top:1px solid #dce4dc;font-size:13px;background:#f0f3ed}.service-footer a{display:inline-block;margin-right:20px;padding:6px 0}.service-footer p{margin:8px 0}
.service-skip{position:fixed;z-index:30;top:-100px;left:12px;padding:10px 16px;background:#fff}.service-skip:focus{top:8px}
@media(max-width:760px){
 .service-header{padding:2px 16px;gap:16px}.service-header img{width:144px;height:48px}.service-header nav{gap:14px}.service-header nav a{font-size:12px;white-space:nowrap}
 .service-page main{padding:0 20px}.breadcrumbs{padding:16px 0;font-size:11px}.service-hero{display:flex;flex-direction:column;gap:24px;padding-top:8px;padding-bottom:32px}
 .service-hero-copy{width:100%}.service-hero figure{width:calc(100% + 40px);align-self:center;height:260px;min-height:0;order:-1}.service-hero figure img{object-position:center 45%}
 .service-facts{gap:12px 22px}.service-facts dd{font-size:16px}.service-toc{gap:8px 18px;font-size:13px}.service-section{padding:44px 0}.service-page .section-intro{font-size:16px}
 .service-points{grid-template-columns:1fr;gap:24px}.service-tinted{padding:30px 20px}.service-steps li{grid-template-columns:30px 1fr;gap:12px}
 .service-prices th,.service-prices td{padding:12px 6px;font-size:14px}.service-prices th:first-child{width:38%}.service-sets{grid-template-columns:1fr}.service-booking{padding:36px 20px}.service-booking h2{font-size:25px}
 .service-page section[id],.service-page #combinations,.service-prices tr[id]{scroll-margin-top:74px}
}
@media(prefers-reduced-transparency:reduce){.service-header{background:#faf9f5;backdrop-filter:none}}
