
/* DUO facilities: real interiors, clear equipment descriptions. */
#duo-space.duo-facilities{background:#f1f3ef;color:#263c31;padding-top:65px;padding-bottom:65px}
#duo-space.duo-facilities h2{font-size:clamp(28px,3vw,42px);line-height:1.6;margin:12px 0 22px;color:#243c30}
#duo-space .df-lead{font-size:14px;line-height:2;color:#405548;margin-bottom:28px}
#duo-space figure{margin:0}
#duo-space .df-main{position:relative;margin-bottom:22px}
#duo-space .df-main img{display:block;width:100%;height:440px;object-fit:cover;object-position:50% 52%}
#duo-space .df-main figcaption{position:absolute;left:0;bottom:0;padding:13px 20px;background:#20392eea;color:#fff;font-size:13px}
#duo-space .df-gallery{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:22px}
#duo-space .df-gallery img{display:block;width:100%;height:280px;object-fit:cover;background:#e3e5df}
#duo-space .df-gallery figure:nth-child(n+2) img{object-fit:contain}
#duo-space .df-gallery figcaption{padding:15px 0 0}
#duo-space .df-gallery figcaption strong{display:block;font-size:15px;color:#243c30;line-height:1.7}
#duo-space .df-gallery figcaption span{display:block;font-size:12px;line-height:1.9;color:#4a5b50;margin-top:5px}
#duo-space .df-equipment{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:32px 0 0;padding-top:22px;border-top:1px solid #bcc7bd}
#duo-space .df-equipment dt{font-size:15px;font-weight:700;line-height:1.8;color:#243c30}
#duo-space .df-equipment dd{font-size:13px;line-height:1.9;color:#405548;margin:8px 0 0}
#duo-space .df-note{font-size:11px;line-height:1.9;color:#4a5b50;margin-top:22px}
@media(max-width:768px){
 #duo-space.duo-facilities{padding:42px 0}
 #duo-space .df-lead{font-size:13px;line-height:1.95;margin-bottom:22px}
 #duo-space .df-lead br{display:none}
 #duo-space .df-main img{height:auto;aspect-ratio:4/3}
 #duo-space .df-main figcaption{font-size:11px;padding:9px 12px}
 #duo-space .df-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}
 #duo-space .df-gallery figure:first-child{grid-column:1/-1}
 #duo-space .df-gallery figure:first-child img{height:auto;aspect-ratio:16/9;object-fit:cover}
 #duo-space .df-gallery img{height:220px}
 #duo-space .df-gallery figcaption strong{font-size:13px}
 #duo-space .df-gallery figcaption span{font-size:11px}
 #duo-space .df-equipment{grid-template-columns:1fr;gap:18px;margin-top:26px}
 #duo-space .df-equipment dt{font-size:14px}
 #duo-space .df-equipment dd{margin-top:4px;font-size:12px}
}

/* Compact staff roster follows the existing representative profile. */
#duo-trainer .dt-team{margin-top:48px;padding-top:32px;border-top:1px solid #c4cbc1}
#duo-trainer .dt-team>h3{font-family:"Noto Sans JP",sans-serif;font-size:24px;font-weight:700;line-height:1.6;margin:0 0 26px;color:#253b30}
#duo-trainer .dt-roster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 34px}
#duo-trainer .dt-person{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:start;gap:20px;padding:26px 0;border-bottom:1px solid #ccd2c9}
#duo-trainer .dt-person>img,#duo-trainer .dt-portrait{width:110px;height:155px;display:block;object-fit:cover;object-position:50% 20%;border-radius:0}
#duo-trainer .dt-person h4{font-family:"Noto Sans JP",sans-serif;font-size:19px;font-weight:700;line-height:1.5;margin:0 0 8px;color:#243b2e}
#duo-trainer .dt-credential{font-family:"Noto Sans JP",sans-serif;font-size:11px;line-height:1.9;color:#6c5424;margin:0 0 12px}
#duo-trainer .dt-strength{font-size:13px;font-weight:700;line-height:1.9;color:#283d30;margin:0 0 6px}
#duo-trainer .dt-description{font-size:12px;line-height:1.9;color:#4b5c50;margin:0}
#duo-trainer .dt-portrait{overflow:hidden}
#duo-trainer .dt-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 42%;transform:scale(1.9);transform-origin:50% 60%}
#duo-trainer .dt-booking{font-size:13px;line-height:2;color:#405548;margin:26px 0 0}
@media(max-width:768px){
 #duo-trainer .dt-team{margin-top:32px;padding-top:24px}
 #duo-trainer .dt-roster{grid-template-columns:1fr}
 #duo-trainer .dt-person{grid-template-columns:88px minmax(0,1fr);gap:16px;padding:22px 0}
 #duo-trainer .dt-person>img,#duo-trainer .dt-portrait{width:88px;height:128px}
 #duo-trainer .dt-person h4{font-size:18px}
 #duo-trainer .dt-team>h3{font-size:22px;margin-bottom:8px}
 #duo-trainer .dt-booking{font-size:12px}
}

/* A single introduction, followed by concise teaching fields. */
#duo-trainer .dt-leader{display:grid;grid-template-columns:240px minmax(0,1fr);gap:44px;align-items:center}
#duo-trainer .dt-leader figure{margin:0}
#duo-trainer .dt-leader img{display:block;width:240px;height:300px;object-fit:cover;object-position:50% 30%}
#duo-trainer .dt-role{font-size:13px;color:#6c5424;font-weight:700;margin:0 0 8px}
#duo-trainer .dt-leader h2{font-size:32px;line-height:1.5;font-weight:700;margin:0 0 10px;color:#243b2e}
#duo-trainer .dt-leader .dt-credential{font-size:13px;margin-bottom:18px}
#duo-trainer .dt-leader h3{font-size:21px;line-height:1.7;font-weight:700;margin:0 0 12px;color:#243b2e}
#duo-trainer .dt-leader-copy{font-size:14px;line-height:2;color:#405548;max-width:620px;margin:0}
#duo-trainer .dt-booking{margin:0 0 10px;max-width:780px}
#duo-trainer .dt-field-label{display:block;font-size:11px;letter-spacing:.08em;font-weight:700;color:#6c5424;margin-bottom:2px}
#duo-trainer .dt-person .dt-credential{font-size:12px}
@media(max-width:768px){
 #duo-trainer .dt-leader{grid-template-columns:110px minmax(0,1fr);gap:20px;align-items:start}
 #duo-trainer .dt-leader img{width:110px;height:155px}
 #duo-trainer .dt-leader h2{font-size:25px;margin-bottom:8px}
 #duo-trainer .dt-role{font-size:11px;margin-bottom:5px}
 #duo-trainer .dt-leader .dt-credential{font-size:11px;margin-bottom:14px}
 #duo-trainer .dt-leader h3{font-size:17px;line-height:1.8;margin-left:-130px;padding-top:18px}
 #duo-trainer .dt-leader-copy{font-size:13px;line-height:1.95;margin-left:-130px}
 #duo-trainer .dt-booking{margin-bottom:6px}
}
@media(max-width:768px){
 #duo-trainer .dt-leader{gap:8px 20px}
 #duo-trainer .dt-leader>div{display:contents}
 #duo-trainer .dt-leader figure{grid-column:1;grid-row:1 / span 3}
 #duo-trainer .dt-role,#duo-trainer .dt-leader h2,#duo-trainer .dt-leader .dt-credential{grid-column:2;margin:0}
 #duo-trainer .dt-leader h3{grid-column:1 / -1;margin:12px 0 0;padding:0}
 #duo-trainer .dt-leader-copy{grid-column:1 / -1;margin:0}
}
