/* v21: retain the field identity, make the choices and costs easier to follow. */
h2,h3{overflow-wrap:anywhere;text-wrap:pretty}
.audience{padding-block:70px}.audience-existing{margin-top:28px;font-size:15px;line-height:1.9;border-top:1px solid #637568;padding-top:20px}
.audience-concerns li{padding-block:9px}.audience-grid{gap:22px 40px}
.work-grid{grid-template-columns:1fr 1fr;gap:45px 40px}.work:nth-child(n){margin-top:0}.works,.services,.process{padding-block:80px}.works .section-heading,.services .section-heading,.process .section-heading{margin-bottom:40px}
.work-story{margin-top:18px}.work-story p{line-height:1.8}.work-journey{margin-block:16px}
.services .section-heading h2{font-size:clamp(30px,3.1vw,46px)}
.service-guide{margin-bottom:40px}.service-guide h3{font-size:22px;margin-bottom:18px}
.service-routes{gap:30px}.service-route{position:relative;grid-template-columns:1fr 145px;gap:10px 20px;padding:24px 0;align-content:start}
.service-route>svg{display:none}.service-route>strong{grid-column:1;grid-row:2;font-size:28px}.service-route .route-need{grid-column:1/-1;font-size:14px}
.service-route .route-illustration{grid-column:2;grid-row:2/6;margin:0;align-self:center;max-width:160px}.route-description,.route-price,.route-action{grid-column:1}.route-price{font-size:18px;font-weight:700;line-height:1.7}.route-price small{display:block;font-weight:400;font-size:13px;color:var(--field-muted)}.route-action{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:700;margin-top:4px}.route-action svg{width:20px;height:20px}.route-status{grid-column:1/-1;justify-self:start;padding:3px 9px;border:1px solid var(--field-light)}
.production-group>.service>summary{min-height:100px;padding:22px 28px;grid-template-columns:120px 1fr 1fr 42px}.production-group .service-en{font-size:44px}.production-group .service-content{padding:0 28px 30px;grid-template-columns:.75fr 1.25fr;gap:32px}.service-content .service-note{margin-block:16px}.production-group .service-statement{font-size:24px}.payment-inline{margin-bottom:0;padding:30px 0 36px;gap:35px}
.web-care{margin-top:0;padding:30px 0 0;border-top:0}.care-bridge{display:grid;grid-template-columns:200px 1fr;gap:30px;align-items:center;margin-bottom:25px}.care-bridge>img{grid-column:1;grid-row:1;width:100%;height:auto}.care-bridge>p{grid-column:2;grid-row:1}.care-bridge strong{font-size:24px;line-height:1.6;display:block}.care-bridge span{font-size:15px;line-height:1.9;display:block;margin-top:12px;max-width:44em}
.care-options>summary,.app-offer-details>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;cursor:pointer;padding:22px 0;border-top:1px solid #81917c;font-size:18px;font-weight:700;line-height:1.7}.care-options>summary::-webkit-details-marker,.app-offer-details>summary::-webkit-details-marker{display:none}.care-options>summary svg,.app-offer-details>summary svg{width:24px;height:24px;flex-shrink:0}.care-options[open]>summary svg,.app-offer-details[open]>summary svg{transform:rotate(45deg)}.care-options>summary:focus-visible,.app-offer-details>summary:focus-visible{outline:3px solid var(--orange);outline-offset:3px}.care-inclusion{font-size:14px;line-height:1.9;max-width:65em}.care-options .text-link{color:var(--sand);margin-bottom:25px}.web-care-plans{margin-top:22px}
.learning-group{margin-top:46px}.learning-group>h3{font-size:25px;line-height:1.6}.learning-group>p{font-size:14px;line-height:1.9;color:var(--field-muted);margin:12px 0 25px}.learning-group .service>summary{min-height:110px;padding:24px;grid-template-columns:110px 1fr 1fr 42px}.learning-group .service-en{font-size:40px}.learning-group .service-content{padding:10px 28px 30px;grid-template-columns:.8fr 1.2fr}.learning-group .service h3{font-size:23px}.learning-group .service-fee strong{font-size:30px}.learning-group .service-availability{display:none}
.founder-field{grid-column:1/-1;display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;border-top:1px solid #9ca693;padding-top:35px;margin-top:5px;align-items:center}.founder-field .about-image{height:320px;min-height:0}.founder-field .about-image>span{font-size:34px;padding:15px 20px}.founder-field .about-text{padding:0}.founder-field h3{font-size:30px;line-height:1.6}.founder-field .about-text>p{color:var(--field-ink);margin-top:20px}.founder-field .about-text .text-link{color:var(--field-ink);font-size:14px}.founder-photo{min-height:0;max-height:720px}.founder{padding-block:70px}
.gym-app{padding-block:70px}.app-offer-layout{display:block}.app-offer-copy{display:grid;grid-template-columns:1fr 1fr;gap:16px 50px}.app-offer-copy .availability-label{grid-column:1/-1;margin:0;font-size:14px;font-weight:700}.app-offer-copy h2{grid-column:1;grid-row:2/5;font-size:40px}.app-offer-copy>p{margin:0}.app-offer-copy .app-fit-list{grid-column:2;margin-top:4px;display:block}.app-offer-details{margin-top:32px;border-bottom:1px solid #81917c}.app-offer-details>summary{border-color:#81917c}.app-offer-pricing{padding:32px}.app-offer-pricing .payment-app{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px}.app-cost-scope{margin:30px 0;padding:0;border:0}.app-offer-details summary:focus-visible{outline-color:var(--field)}
.faq-illustration{max-width:330px}.opening-faq{padding-block:65px}.faq-layout{gap:45px}.related{padding-top:30px}
@media(max-width:1100px){.service-route{grid-template-columns:1fr 100px;gap:10px}.service-route>strong{font-size:24px}.route-price{font-size:16px}.app-offer-copy{gap:16px 30px}.founder-field{gap:28px}}
@media(max-width:800px){
 .works,.services,.process{padding-block:55px}.audience{padding-block:48px}.audience-grid{gap:20px}.audience-visual{max-width:450px;justify-self:center;margin:0}.audience-existing{font-size:14px}
 .services .section-heading h2{font-size:30px}.section-word{font-size:46px}.heading-side{margin-top:20px}.heading-side>p{margin-top:10px}.works .section-heading,.services .section-heading,.process .section-heading{margin-bottom:30px}
 .service-routes{grid-template-columns:1fr;gap:0}.service-route{grid-template-columns:1fr 130px;padding:22px 0;gap:8px 16px}.service-route>strong{font-size:25px}.service-route+.service-route{border-top:0}.service-route .route-need{font-size:14px}.route-price{font-size:17px}.route-illustration{max-width:160px}
 .production-group>.service>summary{grid-template-columns:75px 1fr 34px;gap:10px;padding:20px}.production-group .service-summary{grid-column:2;grid-row:2}.production-group .service h3{grid-column:2;grid-row:1;font-size:22px}.production-group .service-en{font-size:34px;grid-column:1;grid-row:1/3}.production-group .service>summary .expand{grid-column:3;grid-row:1/3}.production-group .service-content{grid-template-columns:1fr;padding:0 20px 25px;gap:15px}.production-group .service-statement{font-size:22px}.payment-inline{padding:26px 0;gap:10px}
 .care-bridge{grid-template-columns:110px 1fr;gap:20px;margin-bottom:20px}.care-bridge strong{font-size:21px}.care-bridge span{font-size:14px}.care-options>summary,.app-offer-details>summary{font-size:16px}.learning-group{margin-top:34px}.learning-group .service>summary{grid-template-columns:90px 1fr 34px;gap:12px;padding:20px 14px}.learning-group .service-en{font-size:34px}.learning-group .service-fee{grid-column:2;grid-row:3}.learning-group .service-summary{grid-column:2;grid-row:2}.learning-group .service h3{grid-column:2;grid-row:1}.learning-group .service .expand{grid-column:3;grid-row:1/3}.learning-group .service-content{padding:0 20px 26px;grid-template-columns:1fr;gap:15px}.learning-group .service-fee strong{font-size:28px}
 .founder{padding:50px 25px}.founder-field{grid-template-columns:1fr;gap:25px}.founder-field .about-image{height:300px}.founder-field h3{font-size:27px}.founder-photo{height:360px}.founder-story h2{font-size:27px}
 .gym-app{padding-block:50px}.app-offer-copy{display:block}.app-offer-copy .availability-label{margin-bottom:16px}.app-offer-copy h2{font-size:32px}.app-offer-copy>p{margin-top:22px}.app-offer-copy .app-fit-list{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:25px}.app-offer-pricing{padding:24px 18px}.app-offer-pricing .payment-app{display:block}.app-cost-scope{margin-block:25px}.faq-layout{gap:24px}.faq-illustration{max-width:260px;margin:20px auto 0}.opening-faq{padding-block:50px}
}
@media(max-width:440px){
 .services .section-heading h2{font-size:27px}.audience h2{font-size:27px}.audience .wrap,.works .wrap,.services .wrap,.process .wrap,.company .wrap,.contact .wrap,.footer .wrap,.gym-app .wrap,.wrap{width:calc(100% - 36px)}
 .field-copy>p{font-size:15px}.field-top{font-size:13px}
 .service-route{grid-template-columns:minmax(0,1fr) 95px;gap:8px 12px}.service-route>strong{font-size:23px}.route-description{font-size:14px}.route-price{grid-column:1/-1;font-size:17px}.route-price small{font-size:13px}.service-route .route-illustration{grid-row:2/4}.route-action{grid-column:1/-1;font-size:14px}.route-status{font-size:13px}
 .learning-group>h3{font-size:23px}.learning-group .service>summary{grid-template-columns:minmax(0,1fr) 34px;gap:8px;padding:22px 14px}.learning-group .service-en{display:none}.learning-group .service h3{grid-column:1;grid-row:1;font-size:22px}.learning-group .service-summary{grid-column:1;grid-row:2}.learning-group .service-fee{grid-column:1/-1;grid-row:3}.learning-group .service .expand{grid-column:2;grid-row:1}.learning-group .service-fee small{margin-top:3px}
 .care-bridge{grid-template-columns:90px 1fr;gap:12px}.care-bridge strong{font-size:20px}.care-bridge span{grid-column:1/-1}.founder{padding-inline:18px}.founder-story h2{font-size:25px}.founder-field h3{font-size:25px}.app-offer-copy .app-fit-list{grid-template-columns:1fr;gap:10px}.app-offer-copy h2{font-size:30px}.app-offer-pricing{padding:24px 12px}.work-journey{flex-direction:row;gap:5px}.work-journey li{flex-direction:row;gap:5px}.work-journey span{width:auto;font-size:13px;padding:8px 5px}.work-journey svg{transform:none;width:12px}.care-options .text-link{font-size:14px}
}
@media(max-width:800px){.services .section-word{display:none}.services .heading-side{margin-top:14px}.services .section-heading{margin-bottom:26px}.service-guide h3{font-size:20px}.service-route{padding-block:18px}.route-price small{line-height:1.7}.service-route .route-description{line-height:1.7}}
@media(max-width:800px){.work-grid{grid-template-columns:minmax(0,1fr);gap:36px}.work{min-width:0}}
@media(max-width:440px){.care-bridge{grid-template-columns:minmax(0,1fr) 90px;gap:14px}.care-bridge>p{display:contents}.care-bridge strong{grid-column:1;grid-row:1}.care-bridge>img{grid-column:2;grid-row:1}.care-bridge span{grid-column:1/-1;grid-row:2;margin:0}}

/* v22: concrete service scope, with less repeated introductory copy. */
.service-guide{margin-bottom:28px}
.service-guide h3.sr-only{margin:0}
.production-overview{padding:28px;background:var(--sand);color:var(--field-ink)}
.production-overview h3{font-size:24px;line-height:1.6;margin:0 0 12px}
.production-overview>p{font-size:16px;line-height:1.9;max-width:70ch}
.production-overview ul{display:flex;flex-wrap:wrap;gap:8px 32px;padding-left:20px;margin:16px 0}
.production-overview li{font-size:15px;line-height:1.8}
.production-overview .service-note{font-size:14px!important;margin:0;line-height:1.8}
.work-story h4{line-height:1.65}
@media(max-width:800px){.production-overview{padding:22px}.production-overview h3{font-size:22px}.production-overview>p{font-size:15px}.production-overview ul{display:block}.production-overview li+li{margin-top:6px}}
@media(max-width:440px){.production-overview{padding:20px 18px}.production-overview h3{font-size:21px}.production-overview .service-note{font-size:13px!important}}

/* v23: restore the approved left rail from field.css on mobile. */
@media(max-width:800px){.site-rail nav{overflow-y:auto;justify-content:safe center}}

/* v25: long Japanese project names retain a natural reading rhythm. */
#work-lailaps .work-info h3{font-family:var(--font);font-size:clamp(21px,2vw,28px);line-height:1.5;word-break:normal;overflow-wrap:anywhere}
#work-8ball .work-visual,#work-lailaps .work-visual,#work-standup .work-visual,#work-glanz .work-visual{aspect-ratio:16/9}
#work-lailaps .work-info h3 span{display:inline-block}
