/* Gym LP: product understanding followed by material request. */
body[data-page="gym"] { background:#fff; }
.gym-purpose { color:#47536a; font-size:18px; }
.gym-wrap { width:min(1100px,calc(100% - 64px)); margin-inline:auto; }
.gym-purpose h1,.gym-purpose h2,.gym-purpose h3 { color:#101f4c; }
.gym-intro { display:grid; grid-template-columns:1fr 1.1fr; gap:40px; align-items:center; padding-block:64px; }
.gym-kicker { display:inline-block; color:#2058ce; font-size:15px; font-weight:700; margin-bottom:22px; }
.gym-intro h1 { font-size:clamp(32px,3.2vw,46px); line-height:1.5; letter-spacing:-.035em; margin:0 0 24px; }
.gym-intro p { line-height:1.85; }
.gym-intro figure { margin:0; }
.gym-intro figure img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:12px; }
.gym-intro figcaption { text-align:right; font-size:14px; margin-top:8px; color:#647188; }
.gym-actions { display:flex; flex-direction:column; align-items:flex-start; gap:14px; margin-top:24px; }
.gym-request { display:inline-flex; align-items:center; justify-content:center; min-height:56px; padding:14px 28px; min-width:280px; border:1px solid #2058ce; border-radius:8px; font-weight:700; font-size:17px; text-align:center; }
.gym-request.primary { background:#2058ce; color:#fff; }
.gym-request.secondary { background:#fff; color:#2058ce; }
.gym-request:hover { filter:brightness(.92); }
.gym-actions small { font-size:14px; }
.gym-purpose h2 { font-size:30px; line-height:1.6; margin:0 0 20px; text-align:center; }
.gym-connection { padding:36px 0 56px; }
.gym-lead { text-align:center; line-height:1.85; }
.gym-system { display:grid; grid-template-columns:1fr 1fr; gap:56px; margin-top:36px; }
.gym-system figure { display:grid; grid-template-columns:48% 1fr; gap:20px; align-items:center; margin:0; }
.gym-system img { width:100%; height:270px; object-fit:contain; }
.gym-system h3 { font-size:21px; line-height:1.6; margin-bottom:14px; }
.gym-system p { font-size:16px; line-height:1.85; }
.gym-core { padding:28px 0 48px; scroll-margin-top:110px; }
.gym-core article { display:grid; grid-template-columns:1fr 36%; align-items:center; gap:48px; padding:24px 0; border-bottom:1px solid #dce4ef; }
.gym-core h3 { font-size:23px; margin:0 0 12px; }
.gym-core p { margin:0; line-height:1.85; }
.gym-core img { width:100%; height:150px; object-fit:cover; border-radius:12px; }
.gym-detail-link { display:block; color:#2058ce; text-decoration:underline; text-underline-offset:5px; text-align:center; padding-top:24px; }
.gym-convert { background:#f2f7fc; padding:42px 0; text-align:center; }
.gym-convert .gym-actions { align-items:center; }
.gym-more .section { padding-block:48px; }
.gym-more .container { max-width:1100px; }
.gym-more .problem-card,.gym-more .outcome-card,.gym-more .icon-card { background:#fff; box-shadow:none; border-radius:0; border:0; border-bottom:1px solid #dce4ef; }
.gym-more p { font-size:17px; line-height:1.85; }
.gym-more h3 { font-size:21px; }
.gym-request:focus-visible,.gym-detail-link:focus-visible { outline:3px solid #101f4c; outline-offset:4px; }
@media(max-width:760px) {
 .gym-wrap { width:calc(100% - 40px); }
 .gym-intro { grid-template-columns:1fr; gap:28px; padding-block:30px; }
 .gym-intro h1 { font-size:31px; }
 .gym-purpose { font-size:16px; }
 .gym-actions { align-items:stretch; }
 .gym-request { min-width:0; width:100%; font-size:16px; }
 .gym-actions small { text-align:center; }
 .gym-purpose h2 { font-size:25px; }
 .gym-system { grid-template-columns:1fr; gap:30px; }
 .gym-system img { height:220px; }
 .gym-system figure { gap:16px; }
 .gym-system h3 { font-size:19px; }
 .gym-core article { grid-template-columns:1fr; gap:20px; }
 .gym-core img { height:180px; }
 .gym-core h3 { font-size:21px; }
 .gym-convert .gym-actions { align-items:stretch; }
}
/* Match the selected LP's compact proportions. */
@media(min-width:761px) {
 .gym-wrap { width:min(1200px,calc(100% - 80px)); }
 .gym-intro { grid-template-columns:42% minmax(0,1fr); gap:36px; padding-block:48px; }
 .gym-intro h1 { font-size:40px; line-height:1.4; }
 .gym-intro figure img { aspect-ratio:1.4; }
 .gym-intro p { font-size:17px; }
 .gym-connection { padding:28px 0 32px; }
 .gym-core { padding:20px 0 32px; }
 .gym-core article { padding:18px 0; }
 .gym-core img { height:140px; }
}
.gym-kicker { padding:7px 16px; background:#eef5ff; border-radius:24px; }
.gym-connection-image { width:100%; height:auto; margin-top:26px; }
.gym-core img.gym-function-icon { width:54px; height:54px; float:left; margin:0 22px 35px 0; object-fit:contain; border-radius:50%; }
@media(min-width:761px) { .gym-system { display:none; } }
@media(max-width:760px) { .gym-connection-image { display:none; } }
.gym-results { padding-block:32px; border-block:1px solid #dce5f2; }
.gym-results dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); max-width:760px; margin:0 auto; gap:32px; }
.gym-results dl>div { display:flex; flex-direction:column-reverse; justify-content:center; align-items:center; min-height:220px; background:url('/images/results-laurel-20260911.png') center / contain no-repeat; padding:24px; }
.gym-results dt { font-size:18px; font-weight:700; color:#101f4c; text-align:center; }
.gym-results dd { margin:0 0 10px; font-size:72px; line-height:1.15; font-weight:800; color:#007aff; }
@media(max-width:760px) {
 .gym-results dl { gap:12px; }
 .gym-results dl>div { min-height:150px; padding:12px 8px; }
 .gym-results dt { font-size:13px; }
 .gym-results dd { font-size:42px; }
}
.gym-ai-roles { padding:24px 0 48px; }
.gym-ai-role-list { display:grid; grid-template-columns:1fr 1fr; gap:40px; }
.gym-ai-role-list article { border-top:2px solid #dce9fb; padding-top:22px; }
.gym-ai-role-list h3 { font-size:23px; line-height:1.5; margin:8px 0 16px; }
.gym-ai-role-list p { margin:0; font-size:17px; line-height:1.85; }
.gym-ai-role-list .gym-ai-role-label { color:#2058ce; font-size:15px; font-weight:700; }
@media(max-width:760px) {
 .gym-ai-role-list { grid-template-columns:1fr; gap:28px; }
 .gym-ai-role-list h3 { font-size:21px; }
 .gym-ai-role-list p { font-size:16px; }
}
.gym-role-visual { height:290px; position:relative; margin:20px 0; border-radius:18px; overflow:hidden; background:#f1f7ff; }
.gym-role-visual img { display:block; width:100%; height:255px; object-fit:contain; }
.gym-role-visual small { display:block; text-align:center; font-size:12px; color:#63738a; padding:5px 8px; }
.gym-role-ryo img { width:65%; object-fit:cover; object-position:top; }
.gym-role-speech { position:absolute; right:12px; top:70px; padding:15px; border-radius:16px 16px 16px 0; background:white; box-shadow:0 4px 18px #153a6810; color:#123c78; font-size:16px; font-weight:700; line-height:1.7; }
@media(max-width:760px) {
 .gym-role-visual { height:260px; }
 .gym-role-visual img { height:225px; }
 .gym-role-speech { font-size:14px; padding:12px; right:8px; }
}
