/* No-JS/reduced-motion show the full document; autoplay uses one clipped text track. */
section.experience[id] { scroll-margin-top:0; position:relative; }
.experience-stage { display:grid; grid-template-columns:minmax(180px,.85fr) minmax(0,1.7fr) minmax(0,1.6fr); gap:var(--experience-column-gap); align-items:start; padding-block:120px 72px; }
.experience-identity { padding-top:8px; }
.experience-identity h2 { font-family:var(--font-display); font-weight:400; font-size:14px; line-height:1.6; margin-bottom:20px; }
.experience-about { font-family:var(--font-year); font-size:var(--text-experience-heading); font-weight:400; line-height:.98; letter-spacing:-.045em; }
.experience-name { margin-top:32px; font-family:var(--font-display); font-size:clamp(22px,2vw,32px); line-height:1.4; font-weight:700; }
.experience-contact { border-top:1px solid var(--color-muted); margin-top:48px; padding-top:18px; font-size:12px; line-height:2; overflow-wrap:anywhere; }
.experience-contact>p+p { margin-top:3px; }
.experience-contact a:hover { color:var(--color-accent); }
.experience-more { display:inline-flex; align-items:center; gap:10px; min-height:44px; margin-top:16px; padding:10px 15px; border:1px solid var(--color-accent); background:var(--color-accent); color:var(--color-bg); border-radius:var(--radius-pill,999px); font-size:12px; }
.experience-more .nav-triangle { width:9px; height:9px; }
.experience-more:hover { color:var(--color-bg); background:#dcff9e; }
.experience-timeline { position:relative; min-width:0; }
.experience-track { position:relative; display:flex; flex-direction:column; gap:72px; }
.experience-step { position:relative; min-width:0; flex:0 0 auto; }
.experience-era { font-family:var(--font-year); font-size:var(--text-experience-era); color:#858585; line-height:1; letter-spacing:-.055em; }
.experience-discipline { font-family:var(--font-label); font-size:11px; line-height:1.6; margin-top:12px; padding-bottom:12px; border-bottom:1px solid #4a4a4a; }
.experience-step h3 { margin-top:32px; font-weight:400; }
.experience-range { display:block; font-family:var(--font-year); font-size:var(--text-experience-range); line-height:1.2; letter-spacing:-.04em; }
.experience-company { display:block; margin-top:16px; font-family:var(--font-display); font-size:var(--text-experience-company); font-weight:400; line-height:1.65; overflow-wrap:anywhere; }
.experience-description { margin-top:16px; font-size:var(--text-experience-copy); color:var(--color-muted); line-height:1.8; overflow-wrap:anywhere; }
.experience-description p+p { margin-top:6px; }
.experience-step-count { font-family:var(--font-label); font-size:11px; margin-top:24px; color:var(--color-text); letter-spacing:.06em; }
.experience-step-count span { color:var(--color-muted); }
.experience-character { position:relative; align-self:start; min-width:0; margin:0; pointer-events:none; overflow:visible; }
.experience-character img { width:100%; height:auto; object-fit:contain; }
.experience-character > img { transform-origin:62% 76%; transition:none; }
.experience-character .experience-character-pose { position:absolute; top:0; left:0; width:100%; height:auto; }
.experience-character figcaption { display:none; }
.experience-timeline-shell { display:contents; min-width:0; }
.experience-playback { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; margin-bottom:10px; font-size:10px; letter-spacing:.05em; color:var(--color-muted); }
.experience-playback-toggle { flex:none; padding:8px 13px; min-height:36px; border:1px solid var(--color-border); border-radius:999px; background:transparent; color:var(--color-text); font-size:11px; font-weight:400; letter-spacing:0; }
.experience-playback-toggle:hover { border-color:var(--color-accent); color:var(--color-accent); }
.experience-is-autoplay .experience-timeline-shell { display:block; padding-right:clamp(36px,3.4vw,52px); }
.experience-is-autoplay .experience-timeline { height:clamp(360px,calc(100svh - 244px),640px); overflow:hidden; -webkit-mask-image:linear-gradient(to bottom,transparent,#000 28px,#000 calc(100% - 28px),transparent); mask-image:linear-gradient(to bottom,transparent,#000 28px,#000 calc(100% - 28px),transparent); }
.experience-is-autoplay .experience-track { gap:var(--experience-entry-gap); transform:translate3d(0,var(--experience-track-y,28px),0); will-change:transform; }
.experience-is-autoplay .experience-stage { padding-top:112px; padding-bottom:40px; }
.experience-is-autoplay .experience-era { font-size:clamp(72px,6.5vw,104px); }
.experience-is-autoplay .experience-discipline { margin-top:8px; padding-bottom:10px; }
.experience-is-autoplay .experience-step h3 { margin-top:24px; }
.experience-is-autoplay .experience-company { margin-top:12px; line-height:1.5; }
.experience-is-autoplay .experience-description { margin-top:14px; line-height:1.75; }
.experience-is-autoplay .experience-step-count { margin-top:16px; }
.experience-is-autoplay .experience-character { align-self:start; justify-self:center; width:min(100%,calc(clamp(380px,100svh - 360px,720px) * .5724)); margin-left:0; }
.experience-is-autoplay .experience-character img { max-height:none; }
@media (min-width:768px) and (max-width:1023px) {
  .experience-stage { grid-template-columns:1fr 1fr; gap:48px; padding-top:112px; }
  .experience-identity { grid-column:1; grid-row:1; }
  .experience-character { grid-column:2; grid-row:1; align-self:center; max-width:320px; justify-self:center; }
  .experience-is-autoplay .experience-character { width:100%; margin-left:0; }
  .experience-timeline { grid-column:1/-1; max-width:720px; }
  .experience-is-autoplay .experience-timeline-shell { grid-column:1/-1; max-width:720px; width:100%; padding-right:0; }
}
@media (max-width:767px) {
  .experience-stage { grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:40px 12px; padding-top:100px; padding-bottom:24px; }
  .experience-identity { grid-column:1; grid-row:1; }
  .experience-identity h2 { font-size:12px; margin-bottom:16px; }
  .experience-about { font-size:42px; }
  .experience-name { font-size:19px; margin-top:20px; }
  .experience-contact { margin-top:24px; padding-top:12px; font-size:10px; }
  .experience-more { font-size:11px; margin-top:8px; }
  .experience-character { grid-column:2; grid-row:1; align-self:center; }
  .experience-character figcaption { display:none; }
  .experience-timeline { grid-column:1/-1; }
  .experience-is-autoplay .experience-timeline-shell { grid-column:1/-1; padding-right:0; }
  .experience-is-autoplay .experience-stage { padding-top:100px; padding-bottom:24px; }
  .experience-is-autoplay .experience-character { width:100%; margin-left:0; }
  .experience-is-autoplay .experience-timeline { height:clamp(380px,65svh,580px); }
  .experience-era { font-size:76px; }
  .experience-range { font-size:32px; }
  .experience-company { font-size:18px; margin-top:14px; }
  .experience-description { font-size:14px; line-height:1.9; }
  .experience-track { gap:64px; }
}
@media (prefers-reduced-motion:reduce) { .experience-stage { position:relative; height:auto; } }
