/* Concrete service introductions: preserve the approved typeface and enlarged type. */
.service-detail .detail-lead{font-weight:600;color:#102a43;margin-bottom:14px}
.service-intro{max-width:58em;margin:0 0 24px}
.service-hero-action{margin:0 0 24px}
.service-hero-action .button{max-width:100%;white-space:normal;text-align:center}
.service-offer-grid,.service-channel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:26px}
.service-offer-card{padding:26px;background:#f7f7f2;border:1px solid #dce3df;border-radius:12px;min-width:0}
.service-step{display:block;font-weight:700;font-size:19px;color:#38665d;letter-spacing:.06em}
.service-detail .service-offer-card h3,.service-detail .service-channel h3{font-size:23px;line-height:1.55;margin:12px 0 16px;overflow-wrap:anywhere}
.service-offer-card p,.service-channel p{margin:0}
.service-channel{min-width:0;border-inline-start:3px solid #719c90;padding-inline-start:22px}
.service-detail .service-start{background:#f7f7f2;border:0;border-radius:12px;padding:30px;margin-block:28px}
.service-start p{max-width:60em;margin:0}
.service-detail #contact{scroll-margin-top:40px}
.service-contact-prompt{max-width:54em}
.service-detail #contact .email{display:inline-block;font-weight:600;overflow-wrap:anywhere}
@media(max-width:950px){.service-offer-grid,.service-channel-grid{grid-template-columns:1fr;gap:18px}.service-offer-card{padding:24px}.service-detail .service-start{padding:24px}}
@media(max-width:480px){.service-offer-card{padding:22px 20px}.service-detail .service-start{padding:24px 20px}.service-hero-action .button{width:100%}}

/* MIRAI customer-view follow-up */
.service-intro{text-wrap:pretty}.service-phrase{white-space:nowrap}.service-video-link{margin:0 0 24px}.service-video-link a{color:#2b6256;text-underline-offset:.18em}.home-aiko{scroll-margin-top:28px}

.service-detail .detail-lead,.service-detail .service-offer>h2{text-wrap:balance}.service-language-note{display:inline-block;max-width:100%;white-space:normal}html[lang="ja"] .service-language-note{white-space:nowrap}.service-detail #contact>.button{display:inline-block;max-width:100%;white-space:normal;text-align:center}

/* Compact service pages: first-screen enquiry, details on demand. */
.service-detail{padding-block:20px 38px}
.service-hero-compact{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(220px,.7fr);gap:32px;align-items:start;margin-top:22px}
.service-hero-copy{min-width:0}.service-hero-copy h1{margin:0 0 12px}.service-hero-copy .detail-lead{margin-block:0 12px}.service-hero-copy .service-intro{margin:0 0 14px}
.service-detail .service-hero-compact .detail-photo{margin:8px 0 0;max-width:none}.service-hero-compact .detail-photo img{aspect-ratio:4/3;object-fit:cover;width:100%}
.service-detail .service-contact-early{margin:0 0 14px;padding:0;scroll-margin-top:28px}
.service-detail .service-contact-early .button{display:inline-block;margin:0 14px 0 0;max-width:100%;white-space:normal;text-align:center}
.service-contact-early .email{display:inline-block;overflow-wrap:anywhere;vertical-align:middle;margin-block:8px}
.service-detail .service-contact-early .service-contact-prompt{margin:10px 0 0}
.service-draft-link{display:inline-block;margin-top:12px;text-decoration:underline;text-underline-offset:.2em;max-width:100%}
.service-detail .service-video-link{margin:10px 0 0}
.service-detail .service-offer,.service-detail .service-channels{padding-block:22px;border:0}
.service-detail .service-offer h2,.service-detail .service-channels h2{margin:0 0 12px}
.service-offer-grid,.service-channel-grid{gap:14px;margin-top:14px;align-items:start}
.service-detail details.service-offer-card{padding:18px;border:1px solid #dce3df;border-radius:10px;background:#f7f7f2;min-width:0}
.service-detail .service-offer-card summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:start;list-style:none;padding:0}
.service-offer-card summary::-webkit-details-marker{display:none}.service-offer-card summary::after{content:"+";font-size:23px}.service-offer-card[open] summary::after{content:"−"}
.service-card-title{font-size:23px;line-height:1.5;overflow-wrap:anywhere}.service-offer-card .service-step{line-height:1.8}
.service-detail .service-offer-card p{margin-top:14px}
.service-detail details.service-channel{padding:14px 0;border-inline-start:0;border-top:1px solid #dce3df;min-width:0}
.service-detail .service-channel summary{font-size:23px;line-height:1.5;padding:0;overflow-wrap:anywhere}.service-detail .service-channel p{margin:12px 0 0}
.service-detail details.service-terms{padding:12px 0}.service-detail .service-terms summary{font-size:30px;line-height:1.5;padding:7px 0}
.service-detail #faq{padding-block:20px;border-bottom:0}.service-detail #faq h2{margin:0 0 10px}.service-detail #faq details{padding-block:10px}
@media(max-width:950px){.service-hero-compact{grid-template-columns:1fr;gap:0;margin-top:18px}.service-hero-compact .detail-photo{display:none}.service-detail .service-offer,.service-detail .service-channels{padding-block:18px}.service-offer-grid,.service-channel-grid{gap:10px}.service-detail details.service-offer-card{padding:16px}.service-detail .service-contact-early .button{margin-inline-end:0}.service-detail .service-contact-early .email{display:block}.service-detail .service-terms summary{font-size:30px}}

/* Customer value before service category. */
.service-hero-copy .service-category{font-size:22px;line-height:1.5;font-weight:600;color:#526474;margin:0 0 10px}.service-hero-copy h1.detail-lead{font-size:calc(clamp(30px,3.4vw,46px) + 4px);line-height:1.35;font-weight:700;margin:0 0 16px;text-wrap:balance}

.service-headline-unit{display:inline-block;white-space:nowrap}
