/* Service-specific layouts follow the content rather than repeating a section template. */
.services { padding-top:100px; padding-bottom:75px; }
.services-heading { padding-bottom:54px; }
.services-heading h2 { font-size:clamp(38px,4.4vw,65px); font-weight:800; line-height:1.4; letter-spacing:-.04em; margin-top:25px; }
.services-heading>p:last-child { font-size:1rem; margin-top:24px; color:var(--muted); }
.recruit-panel { background:var(--red-surface); color:white; padding:54px 52px 30px; position:relative; }
.recruit-panel:before { content:''; position:absolute; width:55px; height:55px; top:0; right:0; background:var(--deep); clip-path:polygon(0 0,100% 100%,100% 0); }
.recruit-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; padding-bottom:39px; }
.service-caption { font-size:14px; font-weight:500; }
.recruit-heading h3 { font-size:clamp(43px,5vw,74px); font-weight:900; line-height:1.2; letter-spacing:-.045em; margin-top:0; }
.recruit-heading>p { font-size:1rem; line-height:1.9; padding-bottom:3px; }
.recruit-tasks { margin:0; border-top:1px solid #ffffff70; }
.recruit-tasks>div { display:grid; grid-template-columns:43% 1fr; align-items:center; gap:30px; padding:26px 0; border-bottom:1px solid #ffffff70; }
.recruit-tasks dt { font-size:clamp(20px,2vw,28px); font-weight:700; letter-spacing:-.025em; }
.recruit-tasks dd { font-size:1rem; line-height:1.95; margin:0; }
.recruit-bottom { display:flex; justify-content:space-between; align-items:center; gap:25px; padding-top:26px; }
.recruit-bottom>p { font-size:14px; }
.service-action { background:#fff; color:var(--deep); padding:14px 22px; display:flex; justify-content:space-between; align-items:center; gap:50px; font-weight:700; font-size:14px; white-space:nowrap; }
.service-action:hover { background:#ffe8ea; }
.service-action:focus-visible { outline-color:var(--ink); }
.service-action span { font-size:23px; }
.health-feature { --health-navy:#013163; --health-teal:#04a396; --health-coral:#ea626c; --kidou-red:#e51b25; margin-top:85px; padding-top:46px; border-top:4px solid transparent; border-image:linear-gradient(90deg,var(--health-teal),var(--health-coral),var(--health-navy)) 1; }
.health-heading { margin-bottom:22px; }
.health-heading .service-caption { display:flex; gap:20px; align-items:center; flex-wrap:wrap; }
.development-badge { font-size:12px; color:var(--health-navy); border:1px solid #9bcac5; background:#effaf8; padding:1px 10px; }
.health-heading h3 { margin-top:18px; }
.health-product-logo a { display:flex; align-items:flex-end; gap:15px; width:fit-content; max-width:100%; }
.health-product-logo .health-logo-art { display:block; width:390px; max-width:calc(100% - 75px); height:auto; aspect-ratio:720/152; background:linear-gradient(90deg,#E51B25 0 13%,#B81020 13% 28%,#222226 28%); -webkit-mask:url("/assets/healthcall-logo.png") center/contain no-repeat; mask:url("/assets/healthcall-logo.png") center/contain no-repeat; }
.health-product-logo .health-parent { color:var(--kidou-red); font-size:13px; font-weight:700; font-style:italic; line-height:1; padding-bottom:8px; white-space:nowrap; letter-spacing:0; }
.health-summary { font-size:1rem; color:var(--muted); }
.health-site-link { margin-top:22px; color:var(--health-navy); }
.health-site-link:hover { color:var(--kidou-red); }
.consultation-flow { margin-top:32px; padding-top:24px; border-top:1px solid var(--line); }
.consultation-flow h3 { font-size:16px; font-weight:700; padding-top:2px; }
.consultation-flow ol { margin:16px 0 0; padding-left:22px; font-size:14px; line-height:2; color:var(--muted); }
.profile { border-top:1px solid var(--line); padding-top:65px; padding-bottom:75px; }
.profile-heading { display:flex; gap:26px; align-items:baseline; margin-bottom:38px; }
.profile-heading h2 { font-size:22px; font-weight:700; }
.profile-heading p { font-size:13px; color:var(--muted); }
.profile-grid { grid-template-columns:1fr 1fr; gap:70px; }
.founder h3 { font-size:40px; letter-spacing:.05em; margin-bottom:24px; }
.founder h3 span { margin-top:10px; }
.founder .role { font-size:13px; }
.founder>p:not(.role) { font-size:1rem; }
.contact { display:block; padding-top:70px; padding-bottom:75px; background:#f5f5f6; border-top:none; position:relative; }
.contact-inner { max-width:860px; margin:0 auto; }
.contact-copy { padding:0; margin-bottom:34px; }
.contact:before { content:''; position:absolute; top:0; left:var(--gutter); right:var(--gutter); height:5px; background:var(--red); }
.contact h2 { font-size:clamp(30px,3.2vw,46px); font-weight:800; margin-top:24px; line-height:1.6; }
.contact-copy>p:not(.section-kicker) { font-size:1rem; }
.contact form { padding:0; margin:0; background:transparent; }
.contact #form-note { font-size:14px; line-height:1.9; }
.contact #form-note strong { display:block; color:var(--ink); margin-bottom:8px; }
@media(max-width:1000px) {
 .recruit-panel { padding:40px 32px 28px; }
 .recruit-heading { gap:25px; }
 .recruit-tasks>div { grid-template-columns:40% 1fr; gap:22px; }
 .recruit-bottom { align-items:flex-start; }
 .recruit-bottom>p { max-width:260px; }
 .profile-grid { gap:40px; }
}
@media(max-width:700px) {
 .services { padding-top:55px; padding-bottom:45px; }
 .services-heading { padding-bottom:30px; }
 .services-heading h2 { font-size:36px; margin-top:20px; }
 .services-heading>p:last-child { margin-top:20px; }
 .recruit-panel { margin:0 calc(-1 * var(--gutter)); padding:36px var(--gutter) 28px; }
 .recruit-heading { display:block; padding-bottom:27px; }
 .recruit-heading h3 { font-size:51px; }
 .recruit-heading>p { margin-top:24px; }
 .recruit-tasks>div { display:block; padding:21px 0; }
 .recruit-tasks dt { font-size:22px; margin-bottom:10px; }
 .recruit-bottom { display:block; }
 .recruit-bottom>p { max-width:none; }
 .service-action { margin-top:20px; width:100%; }
 .health-feature { margin-top:52px; padding-top:36px; }
 .health-heading { margin-bottom:22px; }
 .health-heading .service-caption { font-size:12px; gap:12px; }
 .health-heading h3 { margin-top:14px; }
 .health-product-logo a { display:block; }
 .health-product-logo .health-logo-art { width:min(300px,100%); }
 .health-product-logo .health-parent { display:block; width:max-content; margin-top:8px; font-size:11px; padding-bottom:0; }
 .consultation-flow { margin-top:28px; padding-top:23px; }
 .consultation-flow ol { margin-top:14px; font-size:14px; }
 .profile { padding-top:40px; padding-bottom:48px; }
 .profile-heading { display:block; margin-bottom:30px; }
 .profile-heading h2 { font-size:21px; }
 .profile-heading p { margin-top:6px; }
 .profile-grid { grid-template-columns:1fr; gap:30px; }
 .founder h3 { font-size:33px; }
 .contact { padding-top:45px; padding-bottom:45px; }
 .contact h2 { font-size:35px; }
 .contact form { padding:0; margin-top:0; }
}

.contact .submit { background:var(--red-surface); color:#fff; cursor:pointer; }
.contact .submit:hover:not(:disabled) { background:var(--deep); }
.contact .submit:disabled { opacity:.65; cursor:wait; }
.contact-honey { display:none; }
.form-privacy,.contact-email { font-size:14px; line-height:1.8; color:var(--muted); }
.form-privacy { margin-bottom:20px; }
.contact-email { margin-top:20px; }
.form-privacy a,.contact-email a { text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
#form-status { margin-top:20px; padding:16px; border-left:3px solid var(--ink); font-size:1rem; background:#fff; }
#form-status[data-state="error"] { border-color:var(--deep); }
