/* Composição exclusiva do Experience. Identidade e componentes vêm da plataforma. */
.experience { overflow-wrap: break-word; }
.experience section[id] { scroll-margin-top: 12rem; }
.experience h2 { font-size: clamp(var(--fs-600), 3vw, var(--fs-700)); max-width: 24ch; }
.experience h3 { font-size: var(--fs-500); }
.experience .exp-eyebrow { color: var(--text-accent); font-size: var(--fs-100); font-weight: var(--fw-semibold); letter-spacing: var(--ls-wider); text-transform: uppercase; margin-bottom: var(--space-4); }
.experience .exp-section { padding-block: var(--space-8); }
.experience .exp-surface { background: var(--surface-overlay); }
.experience .exp-split { display: grid; gap: var(--space-6); }
.experience .exp-prose { max-width: 65ch; }
.experience .exp-prose > * + * { margin-top: var(--space-5); }
.experience .exp-muted, .experience .exp-note { color: var(--text-secondary); }
.experience .exp-note { font-size: var(--fs-200); margin-top: var(--space-3); }
.experience .exp-intro { font-size: var(--fs-400); margin-block: var(--space-5); max-width: 58ch; }
.experience .exp-actions { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-6); }
.experience .exp-actions .btn { max-width: 100%; text-align: center; }
.experience .exp-hero { padding-top: var(--space-7); }
.experience .exp-hero__grid { display: grid; gap: var(--space-6); }
.experience .exp-hero h1 { font-size: clamp(2rem, 4.2vw, var(--fs-900)); line-height: var(--lh-tight); font-weight: 800; max-width: 16ch; }
.experience .exp-hero__lead { font-size: clamp(var(--fs-400), 2vw, var(--fs-500)); margin-block: var(--space-5); max-width: 40ch; }
.experience .exp-hero__date { color: var(--text-accent); margin-top: var(--space-5); font-size: var(--fs-200); }
.experience .exp-hero__description { color: var(--text-secondary); max-width: 56ch; }
.experience .exp-hero__image { min-width: 0; align-self: stretch; }
.experience .exp-hero__image img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: 62% center; clip-path: polygon(0 0, 100% 0, 100% 92%, 92% 100%, 0 100%); }
.experience figcaption { font-size: var(--fs-100); color: var(--text-secondary); padding-block: var(--space-2); }
.experience .exp-facts { display: grid; gap: var(--space-5); padding-block: var(--space-6); margin-top: var(--space-6); border-block: 1px solid var(--border-default); }
.experience .exp-facts div > span { display: block; color: var(--text-accent); font-size: var(--fs-100); text-transform: uppercase; letter-spacing: var(--ls-wide); margin-bottom: var(--space-2); }
.experience .exp-facts p { color: var(--text-secondary); font-size: var(--fs-200); }
.experience .exp-facts > a { display: inline-flex; align-items: center; gap: var(--space-3); min-height: var(--tap-target-min); }
.experience .exp-principle { border-left: 3px solid var(--accent-primary); padding-left: var(--space-5); }
.experience .exp-status { margin-top: var(--space-5); color: var(--text-accent); }
.experience .exp-modalities { margin-top: var(--space-6); }
.experience .exp-registration { margin-top: var(--space-6); padding: var(--space-5); border: 1px solid var(--border-accent); background: var(--surface-base, transparent); scroll-margin-top: 12rem; }
.experience .exp-registration > .exp-status { margin-top: var(--space-4); }
.experience .exp-registration__mine + .exp-registration__mine { margin-top: var(--space-5); padding-top: var(--space-5); border-top: 1px solid var(--border-default); }
.experience .exp-registration__mine > p:first-child { margin-top: var(--space-3); }
.experience .exp-registration__mine .exp-actions { margin-top: var(--space-4); }
.experience .exp-registration__list { margin-top: var(--space-4); }
.experience .exp-registration__list li { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-3); padding-block: var(--space-4); border-top: 1px solid var(--border-default); }
.experience .exp-registration__list li > div { min-width: 0; flex: 1 1 14rem; }
.experience .exp-registration__list li .exp-note { display: block; margin-top: var(--space-1); }
.experience .exp-registration__list .btn { flex: 0 0 auto; }
.experience .exp-modality { display: grid; gap: var(--space-4); padding-block: var(--space-6); border-top: 1px solid var(--border-default); }
.experience .exp-modality > strong { color: var(--text-accent); font-size: var(--fs-500); }
.experience .exp-section-heading { display: grid; gap: var(--space-5); margin-bottom: var(--space-6); }
.experience .exp-experiences { display: grid; }
.experience .exp-experiences li { border-top: 1px solid var(--border-subtle); padding-block: var(--space-4); display: flex; align-items: baseline; gap: var(--space-3); }
.experience .exp-experiences li::before { content: '↗'; color: var(--text-accent); }
.experience .exp-band { margin-top: var(--space-7); }
.experience .exp-band img { width: 100%; }
.experience .exp-days { display: grid; gap: var(--space-6); margin-top: var(--space-6); }
.experience .exp-day { border-top: 3px solid var(--accent-primary); padding-top: var(--space-5); }
.experience .exp-day time { font-size: var(--fs-500); }
.experience .exp-day h3 { margin-top: var(--space-3); font-size: var(--fs-700); }
.experience .exp-day__periods { color: var(--text-accent); margin-block: var(--space-4); }
.experience .exp-day > p:last-child { color: var(--text-secondary); max-width: 52ch; }
.experience .exp-schedule-notes { display: grid; gap: var(--space-5); margin-top: var(--space-7); padding-block: var(--space-5); border-block: 1px solid var(--border-default); }
.experience .exp-subheading { margin-top: var(--space-7); margin-bottom: var(--space-4); }
.experience .exp-axes { display: grid; gap: var(--space-6); margin-top: var(--space-6); }
.experience .exp-axes li + li { margin-top: var(--space-3); }
.experience .exp-team { display: grid; gap: var(--space-6); margin-top: var(--space-6); }
.experience .exp-team > div { border-left: 1px solid var(--border-accent); padding-left: var(--space-5); }
.experience .exp-team p { margin-top: var(--space-4); }
.experience .exp-team a { display: inline-block; padding-block: var(--space-3); min-height: var(--tap-target-min); }
.experience .exp-access > div { border-top: 1px solid var(--border-default); padding-block: var(--space-4); }
.experience .exp-access dt { color: var(--text-accent); font-weight: var(--fw-semibold); margin-bottom: var(--space-2); }
.experience .exp-access dd { margin: 0; }
.experience .exp-station { display: grid; gap: var(--space-6); align-items: center; }
.experience .exp-station > img { width: min(100%, 28rem); max-height: 32rem; object-fit: contain; justify-self: center; }
.experience .exp-station .btn { margin-top: var(--space-5); }
.experience .exp-faq details { border-top: 1px solid var(--border-default); }
.experience .exp-faq details:last-child { border-bottom: 1px solid var(--border-default); }
.experience .exp-faq summary { cursor: pointer; padding: var(--space-4) var(--space-2); min-height: var(--tap-target-min); font-weight: var(--fw-semibold); }
.experience .exp-faq details p { color: var(--text-secondary); padding: 0 var(--space-2) var(--space-5); }
.experience .exp-final { padding-block: var(--space-8); border-top: 1px solid var(--border-accent); }
.experience .exp-final h2 { max-width: 26ch; margin-bottom: var(--space-5); }
@media (min-width: 768px) {
  .experience .exp-section, .experience .exp-final { padding-block: var(--space-9); }
  .experience .exp-facts { grid-template-columns: 1fr 1fr; }
  .experience .exp-experiences { grid-template-columns: 1fr 1fr; column-gap: var(--space-6); }
  .experience .exp-days, .experience .exp-axes { grid-template-columns: 1fr 1fr; gap: var(--space-8); }
  .experience .exp-modality { grid-template-columns: 1fr 1.5fr; column-gap: var(--space-6); }
  .experience .exp-modality > strong { grid-column: 2; }
  .experience .exp-station { grid-template-columns: .7fr 1fr; }
}
@media (min-width: 1024px) {
  .experience .exp-hero { padding-top: var(--space-8); }
  .experience .exp-hero__grid { grid-template-columns: 1.1fr 1fr; align-items: center; gap: var(--space-7); }
  .experience .exp-hero__image img { height: calc(100% - var(--space-6)); min-height: 32rem; aspect-ratio: auto; }
  .experience .exp-facts { grid-template-columns: 1fr 1fr auto; align-items: center; }
  .experience .exp-split { grid-template-columns: .85fr 1.15fr; gap: var(--space-8); }
  .experience .exp-section-heading { grid-template-columns: 1.2fr .8fr; align-items: end; gap: var(--space-8); }
  .experience .exp-modality { grid-template-columns: .8fr 1.5fr .7fr; align-items: start; }
  .experience .exp-modality > strong { grid-column: auto; text-align: right; }
  .experience .exp-experiences, .experience .exp-team { grid-template-columns: repeat(3, 1fr); }
}
