/* The trainer story and its gallery are independent of the other landing sections. */
#about.trainer-story{border-top:1px solid var(--line)}
#about .ts-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:56px;align-items:center}
#about .ts-copy{min-width:0}
#about .ts-heading{font-size:clamp(2.2rem,3.8vw,3.5rem);font-weight:800;line-height:1.04;letter-spacing:-.055em}
#about .ts-heading span{color:var(--orange)}
#about .ts-lead{margin-top:26px;color:var(--text);font-size:1.16rem;font-weight:600;line-height:1.55}
#about .ts-description{margin-top:16px;font-size:.93rem;line-height:1.8}
#about .ts-quote{margin-top:26px;padding-left:18px;border-left:2px solid var(--orange);color:#d3d4d4;font-size:.93rem;line-height:1.7}
#about .ts-cta{margin-top:28px;gap:28px}
#about .ts-education{display:block;width:fit-content;margin-top:20px;color:#c4c5c7;font-size:.78rem}
#about .ts-photos{min-width:0;margin:0}
#about .ts-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#about .ts-photo{display:block;position:relative;overflow:hidden;aspect-ratio:.66;background:#171819;border:0;border-radius:3px}
#about .ts-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
#about .ts-photo-before img,#trainer-gallery:has(.ts-tag[data-kind="before"]) .ts-gallery-image{object-position:50% 25%}
#about .ts-photo-after img,#trainer-gallery:has(.ts-tag[data-kind="after"]) .ts-gallery-image{transform:scale(1.28);transform-origin:50% 82%}
#about .ts-photo::after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#0009);pointer-events:none}
#about .ts-badge{position:absolute;bottom:16px;left:16px;z-index:1;padding:6px 10px;background:#171819df;color:var(--text);font-size:.67rem;line-height:1.5;letter-spacing:.08em;text-transform:uppercase}
#about .ts-photo-after .ts-badge{background:var(--orange);color:#101112;font-weight:700}
#about .ts-expand{position:absolute;right:12px;bottom:12px;z-index:1;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#141516bf;color:var(--text);font-size:1.15rem}
#about .ts-pair-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0;margin-top:12px;color:#b8b9bc;font-size:.72rem;line-height:1.5}
#about .ts-stage{margin-top:42px;padding-top:36px;border-top:1px solid var(--line);scroll-margin-top:110px}
#about .ts-stage h3{margin-bottom:34px;font-size:clamp(28px,3vw,38px);font-weight:800;line-height:1.18;letter-spacing:-.045em}
#about .ts-events{display:grid;grid-template-columns:1fr 1fr;gap:40px}
#about .ts-event{min-width:0}
#about .ts-stage-photos{display:grid;grid-template-columns:1.28fr 1fr;gap:8px;aspect-ratio:1280/791;overflow:hidden;border-radius:3px;background:#08090b}
#about .ts-stage-raw{grid-template-columns:1fr}
#about .ts-stage-photo{min-width:0;min-height:0;aspect-ratio:auto;background:#08090b}
#about .ts-stage-photo::after{display:none}
#about .ts-stage-photo img{object-fit:contain}
#about .ts-stage-portrait img{object-fit:cover;object-position:50% 26%}
#about .ts-stage-photo .ts-expand{width:32px;height:32px;bottom:12px;right:12px}
#about .ts-event-caption{padding-top:23px}
#about .ts-event-meta{display:flex;gap:12px;align-items:center;margin-bottom:11px;font-size:13px;line-height:1.6;color:var(--muted)}
#about .ts-year{color:#ff986d;font-weight:700}
#about .ts-dot{width:3px;height:3px;border-radius:50%;background:#66686b}
#about .ts-event h4{margin:0;font-size:22px;font-weight:700;line-height:1.35;letter-spacing:-.025em}
#about .ts-event-details{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:18px;align-items:start}
#about .ts-achievement{padding-left:15px;border-left:2px solid var(--orange);font-size:14px;line-height:1.7;color:var(--muted)}
#about .ts-achievement strong{display:inline;margin:0;font-size:inherit;font-weight:600;line-height:inherit;letter-spacing:inherit;color:var(--text)}
@media(min-width:681px) and (max-width:1100px){
  #about .ts-event h4{font-size:clamp(14px,1.9vw,20px)}
  #about .ts-event-details{grid-template-columns:minmax(0,1.18fr) minmax(0,1fr);gap:12px}
  #about .ts-achievement{padding-left:10px;font-size:clamp(11px,1.35vw,13px);line-height:1.65}
}
@media(max-width:1000px){#about .ts-events{gap:28px}}
@media(max-width:680px){
  #about .ts-stage{margin-top:30px;padding-top:25px}
  #about .ts-stage h3{max-width:340px;margin-bottom:27px;font-size:29px}
  #about .ts-events{grid-template-columns:1fr;gap:32px}
  #about .ts-event+.ts-event{padding-top:28px;border-top:1px solid var(--line)}
  #about .ts-event-caption{padding-top:18px}
  #about .ts-event h4{font-size:21px}
  #about .ts-event-meta{margin-bottom:8px}
  #about .ts-event-details{grid-template-columns:1fr;gap:12px}
  #about .ts-stage-photo .ts-expand{width:28px;height:28px;right:8px;bottom:8px}
}

#trainer-gallery{width:calc(100% - 40px);max-width:920px;max-height:calc(100dvh - 24px);margin:auto;padding:0;overflow:hidden;border:1px solid #393b3e;border-radius:12px;background:#141517;color:var(--text);box-shadow:0 24px 100px #000a}
#trainer-gallery::backdrop{background:#070809e6;backdrop-filter:blur(8px)}
#trainer-gallery [hidden]{display:none!important}
#trainer-gallery button{color:var(--text);touch-action:manipulation}
#trainer-gallery .ts-gallery-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;border-bottom:1px solid #2b2d30}
#trainer-gallery .ts-gallery-kicker{color:#ff986d;font-size:.65rem;letter-spacing:.14em;text-transform:uppercase}
#trainer-gallery .ts-gallery-title{margin-top:4px;color:var(--text);font-size:.95rem;font-weight:600;line-height:1.4}
#trainer-gallery .ts-close{display:flex;align-items:center;justify-content:center;gap:10px;min-height:44px;min-width:44px;padding:9px 13px;border:1px solid #3b3d40;border-radius:6px;background:#25272a;font-size:.75rem}
#trainer-gallery .ts-close-symbol{font-size:1.5rem;line-height:1}
#trainer-gallery .ts-canvas{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr) 64px;align-items:center;height:clamp(220px,54dvh,550px);padding:12px 0;background:#08090a;touch-action:pan-y pinch-zoom;user-select:none}
#trainer-gallery .ts-arrow{position:relative;z-index:1;display:grid;place-items:center;justify-self:center;width:44px;height:44px;padding:0;border:1px solid #414347;border-radius:50%;background:#1b1d20;font-size:1.7rem;line-height:1}
#trainer-gallery .ts-arrow:hover,#trainer-gallery .ts-close:hover{background:#36383c}
#trainer-gallery .ts-gallery-frame{grid-column:2;grid-row:1;min-width:0;min-height:0;width:100%;height:100%;overflow:hidden}
#trainer-gallery .ts-gallery-image{display:block;min-width:0;min-height:0;width:100%;height:100%;object-fit:contain}
#trainer-gallery:has(.ts-tag[data-kind="before"],.ts-tag[data-kind="after"]) .ts-gallery-frame{width:auto;max-width:100%;aspect-ratio:.66;justify-self:center;margin-inline:auto}
#trainer-gallery:has(.ts-tag[data-kind="before"],.ts-tag[data-kind="after"]) .ts-gallery-image{object-fit:cover}
#trainer-gallery .ts-prev{grid-column:1;grid-row:1}
#trainer-gallery .ts-next{grid-column:3;grid-row:1}
#trainer-gallery .ts-loading,#trainer-gallery .ts-photo-error{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px 58px;color:#c5c7ca;text-align:center;font-size:.85rem}
#trainer-gallery .ts-retry{min-height:44px;padding:10px 16px;border:1px solid #61646a;border-radius:3px;background:#25272a;font-size:.8rem}
#trainer-gallery .ts-gallery-footer{padding:15px 24px 17px}
#trainer-gallery .ts-caption{display:flex;align-items:center;justify-content:space-between;gap:14px}
#trainer-gallery .ts-label{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
#trainer-gallery .ts-tag{padding:5px 10px;border-radius:3px;background:#303235;color:var(--text);font-size:.68rem;font-weight:600;line-height:1.5}
#trainer-gallery .ts-tag[data-kind="after"]{background:var(--orange);color:#101112}
#trainer-gallery .ts-tag[data-kind="stage"]{background:#322319;color:#ffaa83}
#trainer-gallery .ts-detail{color:#d3d5d7;font-size:.8rem}
#trainer-gallery .ts-count{white-space:nowrap;color:#b8bbbe;font-size:.8rem;font-variant-numeric:tabular-nums}
#trainer-gallery .ts-thumbs{display:flex;justify-content:center;gap:9px;margin-top:15px}
#trainer-gallery .ts-thumb{flex:0 1 48px;min-width:0;height:60px;padding:2px;border:2px solid transparent;border-radius:5px;background:#08090a;opacity:.52}
#trainer-gallery .ts-thumb[aria-pressed="true"]{border-color:var(--orange);opacity:1}
#trainer-gallery .ts-thumb:hover{opacity:1}
#trainer-gallery .ts-thumb img{width:100%;height:100%;object-fit:cover;border-radius:1px}
#trainer-gallery .ts-thumb[data-photo="stage-full"] img{object-fit:contain}
#trainer-gallery .ts-hint{margin-top:10px;color:#93979b;font-size:.69rem;text-align:center}
#trainer-gallery .ts-hint-touch{display:none}
#trainer-gallery .ts-sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:1100px){
  #about .ts-grid{gap:32px}
  #about .ts-lead{font-size:1.05rem}
  #about .ts-description,#about .ts-quote{font-size:.87rem}
}
@media(max-width:760px){
  #about .ts-grid{display:flex;flex-direction:column;align-items:stretch;gap:24px}
  #about .ts-copy{display:contents}
  #about .ts-heading{order:0;font-size:clamp(2.25rem,7vw,3.2rem)}
  #about .ts-photos{order:1}
  #about .ts-lead{order:2;margin:0;font-size:1.1rem}
  #about .ts-description{order:3;margin-top:-10px;font-size:.9rem}
  #about .ts-quote{order:4;margin-top:0;font-size:.9rem}
  #about .ts-cta{order:5;width:100%;margin:0;justify-content:space-between}
  #about .ts-education{order:6;margin:0;font-size:.76rem}
  #about .ts-pair{gap:8px}
  #about .ts-badge{left:10px;bottom:10px;font-size:.63rem;padding:5px 8px}
  #about .ts-expand{right:8px;bottom:8px;width:28px;height:28px}
  #about .ts-pair-caption{gap:10px;font-size:.67rem}
  #about .ts-pair-caption>span{max-width:160px}
}
@media(max-width:600px){
  #trainer-gallery{width:calc(100% - 16px);border-radius:10px}
  #trainer-gallery .ts-gallery-header{padding:10px 12px}
  #trainer-gallery .ts-close{padding:9px}
  #trainer-gallery .ts-close-label{display:none}
  #trainer-gallery .ts-canvas{display:block;height:min(53dvh,430px);min-height:170px;padding:8px 0}
  #trainer-gallery .ts-gallery-image{display:block;margin:auto}
  #trainer-gallery .ts-arrow{position:absolute;top:50%;margin-top:-22px;background:#141518cc;border-color:#5b5e63}
  #trainer-gallery .ts-prev{left:7px}
  #trainer-gallery .ts-next{right:7px}
  #trainer-gallery .ts-gallery-footer{padding:12px 13px 13px}
  #trainer-gallery .ts-label{gap:8px}
  #trainer-gallery .ts-detail{font-size:.72rem}
  #trainer-gallery .ts-thumbs{gap:7px;margin-top:12px}
  #trainer-gallery .ts-thumb{height:54px}
  #trainer-gallery .ts-hint-desktop{display:none}
  #trainer-gallery .ts-hint-touch{display:inline}
}
@media(max-height:580px){
  #trainer-gallery .ts-gallery-header{padding:6px 12px}
  #trainer-gallery .ts-canvas{height:calc(100dvh - 198px);min-height:90px}
  #trainer-gallery .ts-gallery-footer{padding:7px 12px}
  #trainer-gallery .ts-thumbs{margin-top:7px}
  #trainer-gallery .ts-thumb{height:44px}
  #trainer-gallery .ts-hint{display:none}
}
@media(prefers-reduced-motion:no-preference){
  #trainer-gallery .ts-thumb,#trainer-gallery .ts-arrow,#trainer-gallery .ts-close{transition:opacity .15s,background .15s,border-color .15s}
}
