/* THE REV. — Trainer page Ver.1.0. Extends the existing tdetail styles.
   All rules are scoped to this page; existing site tokens remain authoritative. */
.trainer-page main p{margin:0}
.trainer-page main h2{margin:0}
.trainer-page main h2,.trainer-page main h3{color:inherit}
.trainer-page{--trainer-light:#EEE9DF;--trainer-muted:#BBB4A6;--trainer-rule:rgba(194,169,130,.27)}
.trainer-page .site-header,.trainer-page .site-header.scrolled{background:var(--ink);border-bottom:1px solid var(--trainer-rule)}
.trainer-page .nav a[aria-current=page]{color:var(--wood)}
.trainer-page .wrap{width:min(var(--maxw),calc(100% - 2 * var(--gutter)))}
.trainer-page .trainer-skip{position:fixed;top:8px;left:16px;transform:translateY(-160%);z-index:100000;background:var(--paper);color:var(--ink);padding:12px 20px}
.trainer-page .trainer-skip:focus{transform:none}
.trainer-page a:focus-visible,.trainer-page button:focus-visible{outline:2px solid var(--wood);outline-offset:5px}
.trainer-page main section{scroll-margin-top:100px}
.trainer-page figure{margin:0}
.trainer-page h1,.trainer-page main h2,.trainer-page main h3{font-family:var(--serif);font-weight:500}
.trainer-page main h2{font-size:clamp(28px,3.25vw,44px);line-height:1.7;letter-spacing:.06em}
.trainer-page .eyebrow{font-family:var(--latin);font-size:13px;font-weight:400;letter-spacing:.19em;text-transform:uppercase;color:var(--wood)}
.trainer-page .eyebrow>span{display:inline-block;margin-right:24px;opacity:.75}
.trainer-page .tdetail-hero{padding:130px 0 0;overflow:hidden}
.trainer-page .tpage-back{font-size:12px;min-height:36px;margin-bottom:30px;letter-spacing:.12em}
.trainer-page .tdetail-top{display:grid;grid-template-columns:1fr 1.02fr;grid-template-areas:'copy portrait' 'identity portrait';gap:20px 6%;align-items:start}
.trainer-page .trainer-hero-copy{grid-area:copy;padding-top:24px}
.trainer-page .trainer-hero-copy h1{font-size:clamp(32px,3.75vw,54px);letter-spacing:.07em;line-height:1.75;margin:20px 0 18px;color:var(--trainer-light)}
.trainer-page .trainer-hero-lead{font-size:16px;line-height:2.1;color:var(--trainer-muted)}
.trainer-page .tdetail-portrait{grid-area:portrait;position:relative;max-width:none;aspect-ratio:4/5.05;box-shadow:none;background:#403c34}
.trainer-page .tdetail-portrait picture{display:block;width:100%;height:100%}
.trainer-page .tdetail-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 53%;filter:saturate(.8)}
.trainer-page .tdetail-portrait figcaption{position:absolute;left:24px;right:20px;bottom:18px;color:#fff;font-family:var(--latin);font-size:11px;letter-spacing:.12em;text-shadow:0 1px 8px #000}
.trainer-page .trainer-identity{grid-area:identity;align-self:end;padding:22px 0 8px}
.trainer-page .trainer-role{font:400 12px/1.5 var(--latin);letter-spacing:.1em;color:var(--wood);margin:0 0 8px}
.trainer-page .trainer-name{font:500 clamp(24px,2.5vw,34px)/1.6 var(--serif);letter-spacing:.16em}
.trainer-page .tdetail-display{font:300 clamp(58px,6.85vw,98px)/.99 var(--latin);letter-spacing:-.025em;margin:22px 0 0;color:var(--trainer-light)}
.trainer-page .tdetail-display span{color:var(--wood)}
.trainer-page .trainer-hero-bottom{display:flex;justify-content:space-between;gap:28px;align-items:center;border-top:1px solid var(--trainer-rule);margin-top:44px;padding:25px 0 30px}
.trainer-page .trainer-hero-bottom>p{font:400 11px/2 var(--latin);letter-spacing:.1em;color:var(--trainer-muted)}
.trainer-page .trainer-hero-bottom>p span{margin:0 9px;color:var(--wood)}
.trainer-page .trainer-session-link{color:var(--trainer-light);font-size:16px;line-height:1.7;white-space:nowrap}
.trainer-page .trainer-session-link span{display:block;font-size:12px;color:var(--trainer-muted)}
.trainer-page .trainer-paper{background:var(--paper);color:var(--ink)}
.trainer-page .trainer-paper .eyebrow{color:var(--wood-deep)}
.trainer-page .trainer-intro{padding:120px 0 110px}
.trainer-page .trainer-editorial-grid{display:grid;grid-template-columns:1fr 2.15fr;gap:6%}
.trainer-page .trainer-margin-note{padding-top:8px;color:var(--ink-soft);font-size:14px}
.trainer-page .trainer-index{display:block;font:300 72px/1 var(--latin);color:var(--wood);margin-bottom:28px}
.trainer-page .trainer-margin-note .eyebrow{margin:0 0 14px}
.trainer-page .trainer-prose{font-size:16px;line-height:2.1;letter-spacing:.035em}
.trainer-page .trainer-prose h2{margin:0 0 38px}
.trainer-page .trainer-prose p+p{margin-top:22px}
.trainer-page .trainer-prose strong{font-weight:500;color:inherit}
.trainer-page .trainer-key-line{border-left:1px solid var(--wood);padding-left:25px;margin:34px 0!important;font-size:19px;line-height:2}
.trainer-page .trainer-section-heading{margin-bottom:44px}
.trainer-page .trainer-section-heading .eyebrow{margin-bottom:22px}
.trainer-page .trainer-motorsports{padding:35px 0 115px}
.trainer-page .trainer-motorsports .wrap{border-top:1px solid var(--line);padding-top:70px}
.trainer-page .trainer-race-photo{position:relative}
.trainer-page .trainer-race-photo picture{display:block;overflow:hidden}
.trainer-page .trainer-race-photo img{width:100%;height:auto;display:block;filter:saturate(.72)}
.trainer-page figcaption{font-size:12px;line-height:1.7;letter-spacing:.04em;color:var(--ink-soft);margin-top:12px}
.trainer-page .trainer-race-story{display:grid;grid-template-columns:1fr .87fr;gap:12%;padding-top:60px;align-items:start}
.trainer-page .trainer-race-story>.trainer-prose{padding-top:28px}
.trainer-page .trainer-lesson{border-top:1px solid var(--wood);margin-top:40px;padding-top:24px}
.trainer-page .trainer-lesson .eyebrow{font-size:12px}
.trainer-page .trainer-lesson h3{font-size:26px;line-height:1.7;letter-spacing:.06em;margin:18px 0 22px}
.trainer-page .trainer-year{font:300 clamp(58px,7vw,90px)/1 var(--latin);letter-spacing:-.03em;color:var(--wood-deep);margin:0 0 25px}
.trainer-page .trainer-year span{display:block;font-size:13px;line-height:1.5;letter-spacing:.12em;margin-top:12px}
.trainer-page .trainer-asia-block img{display:block;width:100%;height:auto;filter:saturate(.72)}
.trainer-page .trainer-caption{font-size:14px;line-height:1.9;color:var(--ink-soft);margin-top:22px}
.trainer-page .trainer-boxing{padding:110px 0 80px;background:var(--charcoal)}
.trainer-page .trainer-boxing-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:7%;align-items:start}
.trainer-page .trainer-boxing-photo{margin-top:6px}
.trainer-page .trainer-boxing-photo img{width:100%;height:auto;filter:saturate(.64);display:block}
.trainer-page .trainer-boxing-photo figcaption{color:var(--trainer-muted)}
.trainer-page .trainer-boxing .trainer-prose{color:#D0C9BD}
.trainer-page .trainer-boxing-quote{color:var(--trainer-light);border-left:1px solid var(--wood);padding-left:20px;font-family:var(--serif);font-size:18px;line-height:2}
.trainer-page .tdetail-stats{border-color:var(--trainer-rule);margin-top:54px}
.trainer-page .tdetail-statgrid{margin:0}
.trainer-page .tdstat{padding:28px 12px 28px 0;border-color:var(--trainer-rule)}
.trainer-page .tdstat+.tdstat{padding-left:28px;border-color:var(--trainer-rule)}
.trainer-page .tdstat dt{font:400 12px/1.6 var(--latin);letter-spacing:.05em}
.trainer-page .tdstat dd{font:300 clamp(34px,3.4vw,48px)/1.15 var(--latin);letter-spacing:.015em;margin:15px 0 8px}
.trainer-page .tdstat dd span{font-size:17px}
.trainer-page .tdstat .trainer-record-note{font-size:13px;line-height:1.8;color:var(--trainer-muted);margin:0}
.trainer-page .trainer-personal{padding:110px 0 100px}
.trainer-page .trainer-personal-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}
.trainer-page .trainer-session-stat{position:relative;border-bottom:1px solid var(--wood);padding:8px 0 32px}
.trainer-page .trainer-approx{font-size:16px;letter-spacing:.12em;color:var(--ink-soft)}
.trainer-page .trainer-big-number{font:300 clamp(90px,10.5vw,148px)/1.1 var(--latin);letter-spacing:-.065em;color:var(--ink);margin-left:-.04em}
.trainer-page .trainer-stat-unit{font:400 14px/1.5 var(--latin);letter-spacing:.35em;color:var(--wood-deep);margin:8px 0 24px}
.trainer-page .trainer-stat-note{font-size:14px;line-height:1.9;color:var(--ink-soft)}
.trainer-page .trainer-coaching{padding:0 0 100px;background:var(--paper-2)}
.trainer-page .trainer-coaching .wrap{padding-top:86px}
.trainer-page .trainer-principles{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;padding:0;margin:55px 0 40px;border-top:1px solid var(--wood);border-bottom:1px solid var(--line)}
.trainer-page .trainer-principles li{padding:32px 22px 32px 0}
.trainer-page .trainer-principles li+li{border-left:1px solid var(--line);padding-left:24px}
.trainer-page .trainer-principle-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:34px;font:300 25px/1 var(--latin);color:var(--wood-deep)}
.trainer-page .trainer-principles .eyebrow{font-size:12px;margin-bottom:12px}
.trainer-page .trainer-principles h3{font-size:clamp(18px,1.55vw,22px);line-height:1.7;margin-bottom:18px;letter-spacing:.02em}
.trainer-page .trainer-principles li>p:last-child{font-size:14px;line-height:2;color:var(--ink-soft)}
.trainer-page .trainer-motif{display:block;width:30px;height:30px;position:relative;color:var(--wood-deep)}
.trainer-page .trainer-motif-purpose{border:1px solid currentColor;border-radius:50%}
.trainer-page .trainer-motif-purpose:after{content:'';position:absolute;inset:9px;border:1px solid currentColor;border-radius:50%}
.trainer-page .trainer-motif-condition:before,.trainer-page .trainer-motif-condition:after{content:'';position:absolute;left:2px;width:26px;height:10px;border-top:1px solid currentColor;border-bottom:1px solid currentColor;top:5px}
.trainer-page .trainer-motif-condition:after{top:23px;height:0;border-bottom:0;width:17px}
.trainer-page .trainer-motif-movement:before{content:'';position:absolute;inset:4px 0;border-top:1px solid currentColor;border-bottom:1px solid currentColor;transform:skewY(-30deg)}
.trainer-page .trainer-motif-load{border-bottom:1px solid currentColor}
.trainer-page .trainer-motif-load:before,.trainer-page .trainer-motif-load:after{content:'';position:absolute;bottom:0;width:8px;height:14px;border:1px solid currentColor;border-bottom:0;left:3px}
.trainer-page .trainer-motif-load:after{height:27px;left:18px}
.trainer-page .trainer-recovery-note{font-size:14px;color:var(--ink-soft);line-height:2;max-width:850px}
.trainer-page .trainer-recovery-note a{display:table;color:var(--ink);margin-top:10px;border-bottom:1px solid var(--wood);padding:3px 0}
.trainer-page .trainer-recovery-note a span{margin-left:16px}
.trainer-page .trainer-timeline{padding:115px 0;background:var(--ink)}
.trainer-page .trainer-timeline-grid{display:grid;grid-template-columns:.95fr 1.5fr;gap:9%;align-items:start}
.trainer-page .trainer-timeline-heading{position:sticky;top:140px}
.trainer-page .trainer-timeline-heading .eyebrow{margin-bottom:24px}
.trainer-page .trainer-timeline-heading h2{font-size:clamp(26px,2.75vw,37px);margin-bottom:24px}
.trainer-page .trainer-timeline-heading>p:not(.eyebrow){font-size:15px;color:var(--trainer-muted);line-height:2}
.trainer-page .trainer-inline-link{display:inline-flex;gap:20px;align-items:center;min-height:44px;font-size:13px;margin-top:20px;color:var(--wood);border-bottom:1px solid var(--trainer-rule)}
.trainer-page .trainer-history{list-style:none;margin:0;padding:0 0 0 28px;border-left:1px solid var(--trainer-rule)}
.trainer-page .trainer-history li{position:relative;border-bottom:1px solid var(--trainer-rule);padding:0 0 28px;margin-bottom:30px}
.trainer-page .trainer-history li:last-child{margin-bottom:0;border-bottom:0;padding-bottom:0}
.trainer-page .trainer-history li:before{content:'';position:absolute;left:-32px;top:16px;width:7px;height:7px;border-radius:50%;background:var(--wood);box-shadow:0 0 0 5px var(--ink)}
.trainer-page .trainer-history-year{font:300 38px/1.2 var(--latin);letter-spacing:-.015em;color:var(--wood);margin:0 0 14px}
.trainer-page .trainer-history-year span{font:400 13px/1.5 var(--sans);letter-spacing:.04em;margin-left:12px}
.trainer-page .trainer-history h3{font-size:19px;line-height:1.8;margin-bottom:9px}
.trainer-page .trainer-history li div>p{font-size:14px;line-height:2;color:var(--trainer-muted)}
.trainer-page .trainer-history small{display:block;font-size:12px;line-height:1.8;margin-top:8px;color:var(--trainer-muted)}
.trainer-page .trainer-final-message{border-top:1px solid var(--trainer-rule);padding:100px 0 110px;text-align:center;background:var(--charcoal)}
.trainer-page .trainer-final-message .eyebrow{margin-bottom:26px}
.trainer-page .trainer-final-message h2{font-size:clamp(25px,3.3vw,44px);line-height:1.9;margin-bottom:34px}
.trainer-page .trainer-final-message p:not(.eyebrow){font-size:16px;color:#D0C9BD;line-height:2.1}
.trainer-page .trainer-final-message p+p{margin-top:20px}
.trainer-page .trainer-final-message .trainer-final-sign{margin-top:42px;color:var(--trainer-light)}
.trainer-page .trainer-final-sign span{display:block;color:var(--wood);font:300 22px/1.5 var(--latin);letter-spacing:.03em;margin-top:6px}
.trainer-page .bottom-cta{background:var(--paper);color:var(--ink)}
.trainer-page .bottom-cta .eyebrow{color:var(--wood-deep)}
.trainer-page .bottom-cta .fin-body{color:var(--ink-soft)}
.trainer-page .bottom-cta .cta-note{color:var(--ink-soft)}
.trainer-page .bottom-cta .btn-outline-gold{color:var(--ink);border-color:var(--wood-deep)}
.trainer-page .bottom-cta .btn-outline-gold:hover{background:var(--paper-2)}
.trainer-page .bottom-cta .fin-price{color:var(--ink)}
.trainer-page .trainer-sp{display:none}
@media(min-width:1100px){.trainer-page .tdetail-portrait img{transition:transform 1.4s cubic-bezier(.2,.7,.3,1)}.trainer-page .tdetail-portrait:hover img{transform:scale(1.025)}}
@media(max-width:1100px){
 .trainer-page .tdetail-hero{padding-top:110px}
 .trainer-page .trainer-hero-copy{padding-top:5px}
 .trainer-page .trainer-hero-copy h1{font-size:clamp(30px,3.55vw,42px)}
 .trainer-page .trainer-hero-bottom{align-items:start}
 .trainer-page .trainer-hero-bottom>p{max-width:420px}
 .trainer-page .trainer-boxing-grid{grid-template-columns:1fr 1fr;gap:5%}
 .trainer-page .trainer-principles{grid-template-columns:repeat(2,1fr)}
 .trainer-page .trainer-principles li{padding:28px 28px 32px 0}
 .trainer-page .trainer-principles li+li{padding-left:28px}
 .trainer-page .trainer-principles li:nth-child(3){border-left:0;padding-left:0}
 .trainer-page .trainer-principles li:nth-child(n+3){border-top:1px solid var(--line)}
 .trainer-page .trainer-principles h3{font-size:23px}
 .trainer-page .trainer-principles li>p:last-child{font-size:15px}
 .trainer-page .trainer-timeline-grid{grid-template-columns:1fr 1.4fr;gap:6%}
}
@media(max-width:820px){
 .trainer-page .wrap{width:calc(100% - 48px)}
 .trainer-page .tdetail-top{grid-template-columns:1fr 1fr;grid-template-areas:'copy portrait' 'identity portrait';gap:16px 5%}
 .trainer-page .tdetail-display{font-size:clamp(52px,7.2vw,68px)}
 .trainer-page .trainer-hero-copy h1{font-size:28px;letter-spacing:.03em}
 .trainer-page .trainer-hero-lead{font-size:14px}
 .trainer-page .tdetail-portrait{aspect-ratio:3/4.5}
 .trainer-page .trainer-identity{padding-top:0}
 .trainer-page .trainer-name{font-size:24px}
 .trainer-page .trainer-hero-bottom{margin-top:32px}
 .trainer-page .trainer-hero-bottom>p{max-width:320px}
 .trainer-page .trainer-editorial-grid{grid-template-columns:1fr 2.7fr;gap:7%}
 .trainer-page .trainer-intro{padding:85px 0}
 .trainer-page .trainer-race-story{gap:7%;padding-top:42px}
 .trainer-page .trainer-boxing-grid{grid-template-columns:1fr;gap:36px}
 .trainer-page .trainer-boxing .trainer-prose{max-width:640px}
 .trainer-page .tdetail-statgrid{grid-template-columns:repeat(3,1fr)}
 .trainer-page .tdstat+.tdstat{padding-left:18px;border-left:1px solid var(--trainer-rule)}
 .trainer-page .tdstat dd{font-size:34px}
 .trainer-page .tdstat .trainer-record-note{font-size:12px}
 .trainer-page .trainer-personal-grid{gap:7%}
 .trainer-page .trainer-timeline-grid{grid-template-columns:1fr;gap:50px}
 .trainer-page .trainer-timeline-heading{position:static}
 .trainer-page .trainer-history{margin-left:4px;padding-left:32px}
 .trainer-page .trainer-history li{display:grid;grid-template-columns:190px 1fr;gap:24px;padding-bottom:32px}
 .trainer-page .trainer-history li:before{left:-36px}
}
@media(max-width:600px){
 .trainer-page .tdetail-hero{padding-top:91px}
 .trainer-page .tpage-back{margin-bottom:19px;font-size:11px}
 .trainer-page .tdetail-top{grid-template-columns:1fr;grid-template-areas:'copy' 'portrait' 'identity';gap:0}
 .trainer-page .trainer-hero-copy{padding:0}
 .trainer-page .trainer-hero-copy .eyebrow{font-size:12px}
 .trainer-page .trainer-hero-copy h1{font-size:clamp(29px,8.6vw,36px);line-height:1.75;letter-spacing:.055em;margin:15px 0 15px}
 .trainer-page .trainer-hero-lead{font-size:14px;line-height:1.9;margin-bottom:26px}
 .trainer-page .tdetail-portrait{aspect-ratio:4/4.8;width:100%;max-width:none}
 .trainer-page .tdetail-portrait img{object-position:50% 51%}
 .trainer-page .tdetail-portrait figcaption{font-size:10px;left:16px;bottom:14px}
 .trainer-page .trainer-identity{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;padding:24px 0 0;gap:4px 10px;align-items:center}
 .trainer-page .trainer-role{font-size:11px;margin:0;grid-column:1;align-self:end}
 .trainer-page .trainer-name{font-size:25px;letter-spacing:.12em;grid-column:1;align-self:start}
 .trainer-page .tdetail-display{grid-column:2;grid-row:1/3;font-size:42px;line-height:1;letter-spacing:-.03em;margin:0}
 .trainer-page .trainer-hero-bottom{display:block;margin-top:26px;padding:21px 0 28px}
 .trainer-page .trainer-hero-bottom>p{font-size:10px;line-height:1.9;letter-spacing:.045em;max-width:100%}
 .trainer-page .trainer-hero-bottom>p span{margin:0 5px}
 .trainer-page .trainer-session-link{display:inline-block;font-size:15px;margin-top:16px}
 .trainer-page .trainer-session-link span{font-size:12px;margin-top:3px}
 .trainer-page main h2{font-size:27px;line-height:1.75;letter-spacing:.025em}
 .trainer-page .trainer-editorial-grid{display:block}
 .trainer-page .trainer-margin-note{display:flex;align-items:center;gap:16px;margin-bottom:32px;padding:0}
 .trainer-page .trainer-index{font-size:35px;margin:0}
 .trainer-page .trainer-margin-note .eyebrow{font-size:11px;margin:0}
 .trainer-page .trainer-margin-note>span:last-child{display:none}
 .trainer-page .trainer-intro{padding:65px 0}
 .trainer-page .trainer-prose{font-size:16px;line-height:2.05;letter-spacing:.02em}
 .trainer-page .trainer-prose h2{margin-bottom:28px}
 .trainer-page .trainer-prose p+p{margin-top:20px}
 .trainer-page .trainer-key-line{padding-left:18px;font-size:16px;line-height:2.1;margin:29px 0!important}
 .trainer-page .trainer-section-heading{margin-bottom:29px}
 .trainer-page .trainer-section-heading .eyebrow{font-size:11px;margin-bottom:18px}
 .trainer-page .eyebrow>span{margin-right:15px}
 .trainer-page .trainer-motorsports{padding:0 0 65px}
 .trainer-page .trainer-motorsports .wrap{padding-top:55px}
 .trainer-page .trainer-race-photo{margin-inline:-24px}
 .trainer-page .trainer-race-photo figcaption{margin-left:24px}
 .trainer-page figcaption{font-size:11px;margin-top:9px}
 .trainer-page .trainer-race-story{display:flex;flex-direction:column;gap:40px;padding-top:31px}
 .trainer-page .trainer-race-story>.trainer-prose{padding-top:0}
 .trainer-page .trainer-lesson{margin-top:28px;padding-top:23px}
 .trainer-page .trainer-lesson h3{font-size:25px;margin:15px 0 18px}
 .trainer-page .trainer-asia-block{width:88%;align-self:flex-end}
 .trainer-page .trainer-year{font-size:62px;margin-bottom:20px}
 .trainer-page .trainer-year span{font-size:12px;margin-top:10px}
 .trainer-page .trainer-caption{font-size:13px;margin-top:18px}
 .trainer-page .trainer-boxing{padding:65px 0 40px}
 .trainer-page .trainer-boxing h2{font-size:clamp(24px,6.65vw,26px);letter-spacing:0}
 .trainer-page .trainer-boxing-photo{margin-inline:-24px}
 .trainer-page .trainer-boxing-photo figcaption{margin-inline:24px}
 .trainer-page .trainer-boxing-grid{gap:30px}
 .trainer-page .trainer-boxing-quote{font-size:16px;padding-left:15px;line-height:2}
 .trainer-page .tdetail-stats{margin-top:35px}
 .trainer-page .tdetail-statgrid{grid-template-columns:1fr}
 .trainer-page .tdstat,.trainer-page .tdstat+.tdstat{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px;border-left:0;padding:22px 0;align-items:center}
 .trainer-page .tdstat dt{grid-column:1/-1;font-size:11px}
 .trainer-page .tdstat dd{font-size:34px;margin:0}
 .trainer-page .tdstat .trainer-record-note{font-size:12px}
 .trainer-page .trainer-personal{padding:65px 0 60px}
 .trainer-page .trainer-personal-grid{grid-template-columns:1fr;gap:30px}
 .trainer-page .trainer-session-stat{padding:0 0 27px}
 .trainer-page .trainer-big-number{font-size:clamp(100px,32vw,132px)}
 .trainer-page .trainer-stat-unit{font-size:13px;margin:4px 0 18px}
 .trainer-page .trainer-stat-note{font-size:13px}
 .trainer-page .trainer-coaching{padding-bottom:60px}
 .trainer-page .trainer-coaching .wrap{padding-top:55px}
 .trainer-page .trainer-coaching h2{font-size:25px;letter-spacing:0}
 .trainer-page .trainer-principles{grid-template-columns:1fr;margin:30px 0}
 .trainer-page .trainer-principles li,.trainer-page .trainer-principles li+li{position:relative;display:grid;grid-template-columns:34px 1fr;column-gap:18px;padding:25px 0;border-left:0}
 .trainer-page .trainer-principles li+li{border-top:1px solid var(--line)}
 .trainer-page .trainer-principle-top{grid-column:1;grid-row:1/4;flex-direction:column;align-items:start;justify-content:flex-start;gap:30px;font-size:22px;margin:0}
 .trainer-page .trainer-principles .eyebrow{grid-column:2;margin:0 0 5px;font-size:11px}
 .trainer-page .trainer-principles h3{grid-column:2;font-size:24px;margin:0 0 13px}
 .trainer-page .trainer-principles li>p:last-child{grid-column:2;font-size:15px;line-height:1.9}
 .trainer-page .trainer-recovery-note{font-size:14px}
 .trainer-page .trainer-timeline{padding:65px 0}
 .trainer-page .trainer-timeline-grid{gap:40px}
 .trainer-page .trainer-timeline-heading h2{font-size:27px}
 .trainer-page .trainer-history{padding-left:25px}
 .trainer-page .trainer-history li{display:block;padding-bottom:26px;margin-bottom:27px}
 .trainer-page .trainer-history li:before{left:-29px;top:15px}
 .trainer-page .trainer-history-year{font-size:35px;margin-bottom:15px}
 .trainer-page .trainer-history h3{font-size:18px;line-height:1.8}
 .trainer-page .trainer-history li div>p{font-size:14px;line-height:2}
 .trainer-page .trainer-final-message{padding:64px 0 67px;text-align:left}
 .trainer-page .trainer-final-message h2{font-size:25px;letter-spacing:0;line-height:1.95;margin-bottom:26px}
 .trainer-page .trainer-final-message p:not(.eyebrow){font-size:15px}
 .trainer-page .trainer-final-message .trainer-final-sign{margin-top:30px;font-size:14px}
 .trainer-page .trainer-final-sign span{font-size:20px}
 .trainer-page .bottom-cta{padding:65px 0}
 .trainer-page .bottom-cta .cta{padding:21px 22px!important;font-size:15px!important;gap:18px!important}
 .trainer-page .bottom-cta .h-sec{font-size:28px}
 .trainer-page .trainer-sp{display:initial}
 .trainer-page .trainer-desktop{display:none}
}
@media(prefers-reduced-motion:reduce){.trainer-page .reveal{opacity:1;transform:none;transition:none}.trainer-page .tdetail-portrait img{transition:none}.trainer-page .tdetail-portrait:hover img{transform:none}}

/* Keep trainer chrome legible over both paper and charcoal sections. */
.trainer-page .site-header.scrolled{background:var(--ink)!important}
.trainer-page .site-header.scrolled .nav a{color:var(--trainer-light)!important}
.trainer-page .site-header.scrolled .nav a[aria-current=page]{color:var(--wood)!important}
.trainer-page .site-header.scrolled .nav .cta-mini{color:var(--ink)!important}
.trainer-page .site-header.scrolled .brand-logo--light{opacity:1!important}
.trainer-page .site-header.scrolled .brand-logo--dark{opacity:0!important}
.trainer-page .site-header.scrolled .nav-toggle span{background:var(--trainer-light)!important}
/* Keep the final two-line invitation intact and align both actions. */
.trainer-page .bottom-cta .h-sec{max-width:none;margin:0 auto 30px}
.trainer-page .bottom-cta .fin-price{font-family:var(--sans);font-size:17px;letter-spacing:.04em;margin:22px auto 32px}
.trainer-page .bottom-cta .cta{margin-top:0;min-height:72px}
.trainer-page .bottom-cta .btn-outline-gold{min-height:72px}

/* ===================================================================
   Trainer page — Ver.2.1 ブラッシュアップ
   ①本文・キャプションの視認性 ②戦績の主張を落とす ③年表を折りたたむ
   ④「5,000」の専有面積を圧縮
   =================================================================== */

/* ---- ① 視認性：本文・補足のサイズとコントラスト ---- */
.trainer-page .trainer-prose{font-size:clamp(16px,1.2vw,17.5px);line-height:2.05}
.trainer-page .trainer-hero-lead{font-size:clamp(16px,1.25vw,18px);color:#D4CDC0}
.trainer-page .trainer-session-link{font-size:clamp(16px,1.25vw,18px)}
.trainer-page .trainer-session-link span{font-size:13px;color:#C6BFB2}
.trainer-page .trainer-hero-bottom>p{font-family:var(--sans);font-size:clamp(12.5px,1.05vw,14px);letter-spacing:.06em;color:#C6BFB2}
.trainer-page figcaption{font-size:clamp(13px,1.05vw,14px);color:var(--ink-soft)}
.trainer-page .trainer-boxing-photo figcaption{color:#C6BFB2}
.trainer-page .trainer-caption{font-size:clamp(14.5px,1.15vw,16px);line-height:1.95}
.trainer-page .trainer-margin-note{font-size:15px;color:var(--ink-soft)}
.trainer-page .trainer-principles li>p:last-child{font-size:clamp(14.5px,1.15vw,16px);line-height:1.95}
.trainer-page .trainer-recovery-note{font-size:clamp(14.5px,1.15vw,16px)}
.trainer-page .trainer-stat-note{font-size:clamp(14px,1.1vw,15.5px)}
.trainer-page .trainer-approx{font-size:15px;color:var(--ink-soft)}
.trainer-page .trainer-timeline-heading>p:not(.eyebrow){font-size:clamp(15px,1.2vw,16.5px);color:#CBC4B7}
.trainer-page .trainer-history li div>p{font-size:clamp(14.5px,1.15vw,16px);color:#CBC4B7}
.trainer-page .trainer-final-message p:not(.eyebrow){font-size:clamp(16px,1.25vw,18px);color:#DAD3C7}
.trainer-page .trainer-inline-link{font-size:14px}
.trainer-page .trainer-lesson .eyebrow{font-size:13px}
.trainer-page .trainer-boxing .trainer-prose{color:#DBD4C8}
.trainer-page .trainer-boxing-quote{font-size:clamp(18px,1.5vw,21px)}
.trainer-page .trainer-key-line{font-size:clamp(19px,1.55vw,22px)}

/* ---- ② 競技実績：大きな数字をやめ、3行の静かなリストに ---- */
.trainer-page .trainer-record{
  margin-top:clamp(38px,4.4vw,56px);
  padding-top:clamp(22px,2.6vw,30px);
  border-top:1px solid var(--trainer-rule);
}
.trainer-page .trainer-record-label{
  font-family:var(--sans);font-weight:400;font-size:14px;letter-spacing:.12em;
  color:var(--wood);margin:0 0 18px
}
.trainer-page .trainer-record-label span{
  display:block;margin-top:7px;font-size:13px;letter-spacing:.03em;
  color:#B7B0A3;line-height:1.8
}
.trainer-page .trainer-record-list{list-style:none;margin:0;padding:0}
.trainer-page .trainer-record-list li{
  display:grid;grid-template-columns:6.5em 1fr;gap:20px;align-items:baseline;
  padding:13px 2px;border-bottom:1px solid rgba(194,169,130,.16)
}
.trainer-page .trainer-record-list li:last-child{border-bottom:0}
.trainer-page .r-year{
  font-family:var(--latin);font-weight:300;font-size:16px;letter-spacing:.04em;color:var(--wood)
}
.trainer-page .r-body{
  font-family:var(--sans);font-weight:400;font-size:clamp(14.5px,1.15vw,16px);
  line-height:1.8;letter-spacing:.03em;color:#DBD4C8
}
@media(max-width:600px){
  .trainer-page .trainer-record-list li{grid-template-columns:1fr;gap:5px;padding:14px 0}
  .trainer-page .r-year{font-size:14px;letter-spacing:.08em}
}

/* ---- ③ 年表：既定では閉じておき、読みたい人だけ開く ---- */
.trainer-page .trainer-history-wrap{border-top:1px solid var(--trainer-rule)}
.trainer-page .trainer-history-wrap>summary{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  list-style:none;cursor:pointer;padding:22px 2px;min-height:56px;
  border-bottom:1px solid var(--trainer-rule);
  transition:color .3s ease
}
.trainer-page .trainer-history-wrap>summary::-webkit-details-marker{display:none}
.trainer-page .th-toggle{
  display:inline-flex;align-items:center;gap:14px;
  font-family:var(--sans);font-weight:400;font-size:15px;letter-spacing:.08em;
  color:var(--trainer-light)
}
.trainer-page .th-toggle::before{
  content:"";width:11px;height:11px;flex:none;position:relative;
  border-right:1px solid var(--wood);border-bottom:1px solid var(--wood);
  transform:translateY(-3px) rotate(45deg);transition:transform .35s ease
}
.trainer-page .trainer-history-wrap[open]>summary .th-toggle::before{
  transform:translateY(1px) rotate(225deg)
}
.trainer-page .th-range{
  font-family:var(--latin);font-weight:300;font-size:13px;letter-spacing:.16em;color:var(--wood)
}
.trainer-page .th-close{display:none}
.trainer-page .trainer-history-wrap[open] .th-open{display:none}
.trainer-page .trainer-history-wrap[open] .th-close{display:inline}
.trainer-page .trainer-history-wrap>summary:hover .th-toggle{color:#fff}
.trainer-page .trainer-history-wrap .trainer-history{
  margin:30px 0 0;padding-left:26px
}
/* 開いた後も詰めて読めるよう、1件あたりの高さを圧縮 */
.trainer-page .trainer-history li{padding-bottom:20px;margin-bottom:20px}
.trainer-page .trainer-history-year{font-size:26px;margin-bottom:8px}
.trainer-page .trainer-history-year span{font-size:12.5px;margin-left:10px}
.trainer-page .trainer-history h3{font-size:17px;line-height:1.7;margin-bottom:7px}
.trainer-page .trainer-history li:before{top:11px}
@media(max-width:820px){
  .trainer-page .trainer-history li{grid-template-columns:150px 1fr;gap:20px}
}
@media(max-width:600px){
  .trainer-page .trainer-history-wrap>summary{padding:19px 0}
  .trainer-page .th-toggle{font-size:14.5px}
  .trainer-page .trainer-history-wrap .trainer-history{padding-left:22px;margin-top:24px}
  .trainer-page .trainer-history-year{font-size:24px}
  .trainer-page .trainer-history li{padding-bottom:19px;margin-bottom:19px}
}

/* ---- ④ 「5,000」：主張は残しつつ専有面積を落とす ---- */
.trainer-page .trainer-personal{padding:92px 0 84px}
.trainer-page .trainer-personal-grid{grid-template-columns:.78fr 1fr;gap:8%}
.trainer-page .trainer-session-stat{padding:4px 0 24px}
.trainer-page .trainer-big-number{
  font-size:clamp(56px,5.6vw,82px);letter-spacing:-.045em;margin:2px 0 0 -.03em;line-height:1.05
}
.trainer-page .trainer-stat-unit{font-size:12.5px;letter-spacing:.3em;margin:10px 0 18px}
@media(max-width:600px){
  .trainer-page .trainer-personal{padding:58px 0 54px}
  .trainer-page .trainer-big-number{font-size:clamp(60px,17vw,76px)}
  .trainer-page .trainer-stat-unit{font-size:12px;margin:6px 0 14px}
}

/* 年表：閉じている状態でも中身が想像できる一文を添える */
.trainer-page .th-lead{
  font-family:var(--sans);font-weight:400;
  font-size:clamp(14.5px,1.15vw,16px);line-height:2;letter-spacing:.03em;
  color:#CBC4B7;margin:0 0 24px;max-width:40em
}
@media(max-width:600px){ .trainer-page .th-lead{margin-bottom:20px} }

/* 最小サイズの最終調整（スマホ） */
@media(max-width:600px){
  .trainer-page .tpage-back{font-size:12px}
  .trainer-page .trainer-role{font-size:12px}
  .trainer-page .tdetail-portrait figcaption{font-size:11.5px}
  .trainer-page .trainer-hero-bottom>p{font-size:12.5px;line-height:2}
}
.trainer-page .tdetail-portrait figcaption{font-size:12px}

/* ===================================================================
   Trainer page — Ver.2.2 「黒はサブカラー」への再設計
   ブランドの基調は 紙（白）＋ 木目。黒は“競技の章”ただ一箇所の
   アクセントとして残し、それ以外は明るい紙面に置き換える。
   章立て：紙 → 紙 → ■黒（ボクシング）→ 紙 → 砂 → 紙 → 砂 → 紙 →（黒フッター）
   =================================================================== */
body.trainer-page{ background:var(--paper); color:var(--ink); }
.trainer-page main h2,
.trainer-page main h3{ color:var(--ink); }
.trainer-page .eyebrow{ color:var(--wood-deep); }

/* ---- ヘッダー：紙色に。ロゴとナビは黒へ ---- */
.trainer-page .site-header,
.trainer-page .site-header.scrolled{
  background:rgba(251,250,247,.94)!important;
  border-bottom:1px solid var(--line-soft);
  box-shadow:none!important;
  backdrop-filter:blur(8px);
}
.trainer-page .nav a,
.trainer-page .site-header.scrolled .nav a{ color:var(--ink-soft)!important; }
.trainer-page .nav a:hover,
.trainer-page .site-header.scrolled .nav a:hover{ color:var(--ink)!important; }
.trainer-page .nav a[aria-current=page],
.trainer-page .site-header.scrolled .nav a[aria-current=page]{ color:var(--wood-deep)!important; }
.trainer-page .nav .nav-en{ color:var(--wood-deep)!important; }
.trainer-page .nav .cta-mini,
.trainer-page .site-header.scrolled .nav .cta-mini{ color:var(--ink)!important; }
.trainer-page .site-header .brand-logo--light,
.trainer-page .site-header.scrolled .brand-logo--light{ opacity:0!important; }
.trainer-page .site-header .brand-logo--dark,
.trainer-page .site-header.scrolled .brand-logo--dark{ opacity:1!important; }
.trainer-page .site-header .nav-toggle span,
.trainer-page .site-header.scrolled .nav-toggle span{ background:var(--ink)!important; }

/* ---- ヒーロー：紙面 × ポートレート ---- */
.trainer-page .tdetail-hero{ background:var(--paper); }
.trainer-page .tpage-back{ color:var(--wood-deep); }
.trainer-page .tpage-back:hover{ color:var(--ink); }
.trainer-page .trainer-hero-copy h1{ color:var(--ink); }
.trainer-page .trainer-hero-lead{ color:var(--ink-soft); }
.trainer-page .trainer-role{ color:var(--wood-deep); }
.trainer-page .trainer-name{ color:var(--ink); }
.trainer-page .tdetail-display{ color:var(--ink); }
.trainer-page .tdetail-display span{ color:var(--wood-deep); }
.trainer-page .tdetail-portrait{
  background:var(--paper-3);
  box-shadow:0 40px 90px -48px rgba(62,46,20,.45);
}
.trainer-page .tdetail-portrait img{ filter:saturate(.86); }
.trainer-page .trainer-hero-bottom{ border-top:1px solid var(--line); }
.trainer-page .trainer-hero-bottom>p{ color:var(--ink-soft); }
.trainer-page .trainer-session-link{ color:var(--ink); }
.trainer-page .trainer-session-link span{ color:var(--ink-soft); }

/* ---- 年表：黒地 → 紙面 ---- */
.trainer-page .trainer-timeline{ background:var(--paper); border-top:1px solid var(--line); }
.trainer-page .trainer-timeline-heading h2{ color:var(--ink); }
.trainer-page .trainer-timeline-heading>p:not(.eyebrow){ color:var(--ink-soft); }
.trainer-page .th-lead{ color:var(--ink-soft); }
.trainer-page .trainer-inline-link{
  color:var(--wood-deep); border-bottom-color:rgba(194,169,130,.55);
}
.trainer-page .trainer-inline-link:hover{ color:var(--ink); }
.trainer-page .trainer-history-wrap,
.trainer-page .trainer-history-wrap>summary{ border-color:rgba(194,169,130,.5); }
.trainer-page .th-toggle{ color:var(--ink); }
.trainer-page .th-toggle::before{ border-right-color:var(--wood-deep); border-bottom-color:var(--wood-deep); }
.trainer-page .th-range{ color:var(--wood-deep); }
.trainer-page .trainer-history-wrap>summary:hover .th-toggle{ color:var(--wood-deep); }
.trainer-page .trainer-history{ border-left-color:rgba(194,169,130,.45); }
.trainer-page .trainer-history li{ border-bottom-color:rgba(194,169,130,.3); }
.trainer-page .trainer-history li:before{
  background:var(--wood-deep); box-shadow:0 0 0 5px var(--paper);
}
.trainer-page .trainer-history-year{ color:var(--wood-deep); }
.trainer-page .trainer-history-year span{ color:var(--ink-soft); }
.trainer-page .trainer-history h3{ color:var(--ink); }
.trainer-page .trainer-history li div>p{ color:var(--ink-soft); }
.trainer-page .trainer-history small{ color:var(--ink-faint); }

/* ---- 最後のメッセージ：黒地 → 砂色 ---- */
.trainer-page .trainer-final-message{
  background:var(--paper-2); border-top:1px solid var(--line);
}
.trainer-page .trainer-final-message h2{ color:var(--ink); }
.trainer-page .trainer-final-message p:not(.eyebrow){ color:var(--ink-soft); }
.trainer-page .trainer-final-message .trainer-final-sign{ color:var(--ink); }
.trainer-page .trainer-final-sign span{ color:var(--wood-deep); }

/* ---- 唯一の黒：競技（ボクシング）の章 ----
   前後を紙面で挟むことで、黒が「圧」ではなく「切り替え」として効く。 */
.trainer-page .trainer-boxing{
  background:var(--charcoal);
  border-block:1px solid rgba(194,169,130,.28);
}
.trainer-page .trainer-boxing h2,
.trainer-page .trainer-boxing h3{ color:var(--trainer-light); }
.trainer-page .trainer-boxing .eyebrow{ color:var(--wood); }

/* 中央揃えの章では、見出しラベルも中央に（紙面になって左寄りが目立つため） */
.trainer-page .trainer-final-message .eyebrow{ justify-content:center; }
.trainer-page .trainer-final-message .eyebrow::after{
  content:""; width:34px; height:1px; background:var(--wood); display:inline-block;
}
@media(max-width:600px){
  .trainer-page .trainer-final-message .eyebrow{ justify-content:flex-start; }
  .trainer-page .trainer-final-message .eyebrow::after{ display:none; }
}

/* 紙面上での淡いブラスの読みにくさを解消（区切り記号・大きな装飾数字） */
.trainer-page .trainer-hero-bottom>p span{ color:var(--wood-deep); }
.trainer-page .trainer-index{ color:#A8865A; }

/* ===================================================================
   ヒーローのポートレート：意図のあるバランスへ（Ver.2.4〜2.9 の複数回の
   縮小・上書きを統合）
   段階的に縮小してきた結果、写真だけが余白の中にぽつんと小さく
   置かれているように見えていた。コピーを主（55〜60%）に保ったまま、
   写真の列を40〜45%幅まで戻し、かつ縦方向もコピー＋氏名ブロックの
   高さに対して中央に揃えることで、「小さく取り残された写真」ではなく
   意図して組んだ一枚に見えるようにする。
   =================================================================== */
@media(min-width:601px){
  .trainer-page .tdetail-top{
    grid-template-columns:1.3fr 1fr;
    gap:clamp(28px,3.2vw,44px) clamp(32px,5.5vw,64px);
    align-items:center;
  }
}
.trainer-page .tdetail-portrait{
  width:100%; max-width:clamp(420px,32vw,520px); margin:0 0 0 auto;
}
.trainer-page .tdetail-portrait img{
  object-position:50% 50%;   /* 構図は画像側で確定済み */
  filter:saturate(.92);
}
.trainer-page .tdetail-portrait figcaption{ font-size:11px; left:16px; bottom:14px; }
@media(max-width:820px){
  .trainer-page .tdetail-top{ grid-template-columns:1.1fr 1fr; gap:20px clamp(24px,4.5vw,40px); }
  .trainer-page .tdetail-portrait{ max-width:360px; }
}
@media(max-width:600px){
  /* スマホは1カラム。見出しの折り返しを壊さないよう明示的に戻す */
  .trainer-page .tdetail-top{
    grid-template-columns:1fr;
    grid-template-areas:'copy' 'portrait' 'identity';
    gap:0;
  }
  /* 顔・肩・腕が見える自然なトリミングのまま、ほぼ全幅で見せる */
  .trainer-page .tdetail-portrait{
    max-width:none; width:94%; margin:4px auto 0;
  }
  .trainer-page .tdetail-portrait img{ object-position:50% 42%; }
  /* 幅が狭くキャプションが3行に折り返すため、スマホでは省く */
  .trainer-page .tdetail-portrait figcaption{ display:none; }
}

/* ポートレートのキャプション：下端にごく薄い影を敷いて確実に読ませる */
.trainer-page .tdetail-portrait figcaption{
  /* 以前は left:24px / right:20px / bottom:18px と左右非対称かつ下端から
     浮いていて、帯が写真の中で「ずれて」見えていた。四辺を写真に揃える。 */
  left:0; right:0; bottom:0;
  padding:30px 18px 14px;
  background:linear-gradient(transparent, rgba(20,19,17,.62));
  text-shadow:0 1px 6px rgba(0,0,0,.5);
}

/* ===================================================================
   Coaching Philosophy — 見出しの横に「実際に指導している姿」を添える
   競技の写真は揃っていたが、セッション中の写真がなかったため補う。
   =================================================================== */
.trainer-page .trainer-coaching-head{
  display:grid; grid-template-columns:1fr auto;
  gap:clamp(28px,5vw,72px); align-items:end;
  margin-bottom:clamp(10px,1.4vw,18px);
}
.trainer-page .trainer-coaching-head .trainer-section-heading{ margin-bottom:0; }
.trainer-page .trainer-coach-photo{
  width:clamp(230px,26vw,340px); margin:0;
}
.trainer-page .trainer-coach-photo picture{ display:block; }
.trainer-page .trainer-coach-photo img{
  /* height属性(1430)がプレゼンテーション・ヒントとして効くため、
     aspect-ratio を使う前に height:auto で打ち消す必要がある */
  display:block; width:100%; height:auto; aspect-ratio:3/3.3; object-fit:cover;
  object-position:50% 40%;          /* 顔に寄りすぎないよう、場面全体を見せる */
  filter:saturate(.9);
  background:var(--paper-3);
}
.trainer-page .trainer-coach-photo figcaption{
  margin-top:11px; font-size:12.5px; color:var(--ink-soft); letter-spacing:.03em;
}
@media(max-width:820px){
  .trainer-page .trainer-coaching-head{ gap:24px; }
  .trainer-page .trainer-coach-photo{ width:clamp(180px,28vw,240px); }
}
@media(max-width:600px){
  /* スマホは見出しの下に、幅を抑えて回り込ませない */
  .trainer-page .trainer-coaching-head{ grid-template-columns:1fr; gap:24px; }
  .trainer-page .trainer-coach-photo{ width:72%; }
  .trainer-page .trainer-coach-photo img{ aspect-ratio:3/3.1; }
}

/* ===================================================================
   Ver.2.5 — ヒーローの組み直し
   写真を小さくしただけでは、左の文字組みが以前の（大きな写真を
   前提にした）バランスのまま取り残されていた。
   ・ローマ字表記が98pxで見出し(54px)より大きく、主従が逆転していた
   ・左カラム702pxに対し写真540px。下に162pxの空きが生まれていた
   文字side を写真の高さに寄せ、主従を「見出し ＞ 氏名 ＞ ローマ字」に戻す。
   =================================================================== */
@media(min-width:601px){
  .trainer-page .trainer-hero-copy h1{
    font-size:clamp(30px,3.5vw,50px);
    line-height:1.62; margin:18px 0 20px;
  }
  .trainer-page .trainer-hero-lead{ line-height:1.95; }

  /* 氏名ブロック：細い罫で見出しから切り離し、ひとかたまりに見せる */
  .trainer-page .trainer-identity{
    align-self:start;
    margin-top:clamp(26px,3vw,38px);
    padding:clamp(22px,2.4vw,30px) 0 0;
    border-top:1px solid var(--line);
  }
  .trainer-page .trainer-role{ margin:0 0 10px; }
  .trainer-page .trainer-name{ font-size:clamp(23px,2.1vw,30px); line-height:1.5; }
  /* 主役は見出し。ローマ字は「署名」の役割まで下げ、1行に収める */
  .trainer-page .tdetail-display{
    font-size:clamp(30px,3.1vw,46px);
    line-height:1.15; letter-spacing:-.018em;
    margin:12px 0 0; white-space:nowrap;
  }
}
@media(min-width:601px) and (max-width:900px){
  .trainer-page .tdetail-display{ font-size:clamp(26px,3.6vw,34px); }
}

/* ---- スマホ：氏名まわりを縦に積み、ローマ字は1行に ---- */
@media(max-width:600px){
  .trainer-page .trainer-identity{
    display:block; padding:26px 0 0; margin-top:22px;
    border-top:1px solid var(--line);
  }
  .trainer-page .trainer-role{ font-size:11.5px; margin:0 0 9px; letter-spacing:.14em; }
  .trainer-page .trainer-name{ font-size:26px; letter-spacing:.14em; line-height:1.45; margin:0; }
  .trainer-page .tdetail-display{
    font-size:22px; line-height:1.35; letter-spacing:.005em;
    margin:8px 0 0; color:var(--ink-soft); white-space:nowrap;
  }
  .trainer-page .tdetail-display span{ color:var(--wood-deep); }
}

/* ===================================================================
   Ver.2.9 — ポートレートのキャプションを写真の外へ
   写真の中に黒帯を敷くと、四辺を揃えても腕にかぶり、
   「ずれている」ように見え続ける。コーチング写真と同じく、
   写真の下に小さく置く扱いに統一する。
   =================================================================== */
.trainer-page .tdetail-portrait{
  aspect-ratio:auto; overflow:visible; background:none;
  box-shadow:none;
}
.trainer-page .tdetail-portrait picture{ display:block; }
.trainer-page .tdetail-portrait img{
  /* height属性を打ち消してから比率を効かせる */
  width:100%; height:auto; aspect-ratio:820/885; object-fit:cover;
  background:var(--paper-3);
  box-shadow:0 30px 70px -50px rgba(62,46,20,.42);
}
.trainer-page .tdetail-portrait figcaption{
  position:static; left:auto; right:auto; bottom:auto;
  margin-top:11px; padding:0;
  background:none; text-shadow:none;
  font-family:var(--latin); font-weight:400; font-size:11.5px;
  letter-spacing:.1em; color:var(--ink-soft); text-align:left;
}
@media(max-width:600px){
  .trainer-page .tdetail-portrait figcaption{ display:block; font-size:11px; }
}
