:root {
  --navy: #061a29;
  --navy-2: #0a263a;
  --ink: #111315;
  --paper: #f1f0eb;
  --white: #fafafa;
  --blue: #9fc7d9;
  --electric: #175174;
  --gold: #bca06d;
  --muted: #59656d;
  --line: rgba(10, 14, 17, .18);
  --light-line: rgba(250, 250, 250, .18);
  --display: "Inter Tight", "Helvetica Neue", Arial, sans-serif;
  --body: "Manrope", "Helvetica Neue", Arial, sans-serif;
  --mono: "IBM Plex Mono", monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 78px; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--body); font-size: 16px; line-height: 1.55; }
a { color: inherit; }
h1, h2, h3, p { margin-top: 0; }
button, a { -webkit-tap-highlight-color: transparent; }

.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 100; padding: .8rem 1rem; background: var(--white); color: var(--navy); }
.skip-link:focus { top: 1rem; }
.topbar { height: 68px; padding: 0 clamp(1.25rem, 4vw, 4rem); display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(250,250,250,.14); background: rgba(6, 26, 41, .94); color: var(--white); backdrop-filter: blur(16px); position: sticky; top: 0; z-index: 30; }
.brand { display: flex; align-items: center; gap: .8rem; text-decoration: none; }
.brand-mark { font: 600 1.45rem/1 var(--display); letter-spacing: -.08em; }
.brand-mark span { color: var(--blue); }
.brand-name { border-left: 1px solid rgba(250,250,250,.18); padding-left: .8rem; color: rgba(250,250,250,.62); font-size: .78rem; }
.top-date { font: 500 .68rem/1 var(--mono); letter-spacing: .1em; }

.participant-hero { min-height: calc(100svh - 68px); padding: clamp(4rem, 9vw, 8rem) clamp(1.25rem, 7vw, 8rem) 2rem; display: flex; flex-direction: column; justify-content: space-between; position: relative; overflow: hidden; }
.participant-hero::after { content: "17"; position: absolute; right: -2vw; top: 6vh; font: 500 clamp(12rem, 32vw, 31rem)/.75 var(--display); letter-spacing: -.11em; color: transparent; -webkit-text-stroke: 1px rgba(23,81,116,.19); z-index: -1; }
.hero-kicker { display: flex; align-items: center; gap: .6rem; font: 500 .72rem/1.2 var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.status-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--electric); box-shadow: 0 0 0 5px rgba(23,81,116,.11); }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(280px, .6fr); gap: 4rem; align-items: end; margin: 8vh 0; }
.eyebrow { margin-bottom: 1rem; font: 500 .68rem/1.2 var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.participant-hero h1 { margin: 0; font: 500 clamp(4rem, 10vw, 10rem)/.83 var(--display); letter-spacing: -.085em; }
.participant-hero h1 em, .footer-signature em { color: var(--electric); font-style: normal; }
.hero-context { max-width: 30rem; }
.hero-context > p { font-size: clamp(1rem, 1.5vw, 1.25rem); }
.event-facts { margin: 2.5rem 0 0; border-top: 1px solid var(--line); }
.event-facts div { display: grid; grid-template-columns: 5rem 1fr; padding: .85rem 0; border-bottom: 1px solid var(--line); }
.event-facts dt { color: var(--muted); font-size: .78rem; text-transform: uppercase; }
.event-facts dd { margin: 0; font-weight: 500; }
.scroll-cue { width: fit-content; display: flex; gap: 1rem; text-decoration: none; font-size: .88rem; border-bottom: 1px solid currentColor; padding-bottom: .35rem; }

.now-section { background: var(--navy); color: var(--white); padding: clamp(4rem, 8vw, 7rem) clamp(1.25rem, 7vw, 8rem); }
.section-shell { max-width: 1320px; margin: auto; display: grid; grid-template-columns: .55fr 1.45fr; column-gap: clamp(2rem, 7vw, 7rem); }
.section-intro h2, .section-heading h2 { margin: 0; font: 500 clamp(2.5rem, 6vw, 5rem)/.95 var(--display); letter-spacing: -.06em; }
.light { color: var(--white); }
.now-card { padding: clamp(1.5rem, 4vw, 3.5rem); border: 1px solid var(--light-line); border-top: 3px solid var(--blue); background: rgba(159,199,217,.045); }
.now-label { display: flex; align-items: center; gap: .65rem; color: var(--gold); text-transform: uppercase; font: 500 .68rem/1.2 var(--mono); letter-spacing: .12em; }
.pulse { width: 7px; height: 7px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 5px rgba(159,199,217,.12); }
.now-time { color: rgba(250,250,250,.58); margin: 2.5rem 0 .7rem; font: 400 .72rem/1.3 var(--mono); letter-spacing: .08em; }
.now-card h3 { max-width: 850px; margin-bottom: 1rem; font: 500 clamp(1.8rem, 4.2vw, 3.8rem)/1.06 var(--display); letter-spacing: -.045em; }
.now-person { font-size: 1rem; color: #cbc6c7; }
.now-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2.5rem; }
.now-actions a { padding: .8rem 1rem; border: 1px solid var(--light-line); text-decoration: none; font-size: .85rem; transition: .2s ease; }
.now-actions a:hover, .now-actions a:focus-visible { background: var(--white); color: var(--ink); }
.next-strip { grid-column: 2; display: grid; grid-template-columns: 6rem 1fr; gap: 1rem; padding: 1.4rem 0; border-bottom: 1px solid var(--light-line); }
.next-strip span { color: var(--gold); font: 400 .66rem/1.3 var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.next-strip p { margin: 0; }

.quick-nav { max-width: 1440px; margin: auto; padding: 2rem clamp(1.25rem, 7vw, 8rem); display: grid; grid-template-columns: repeat(5, 1fr); border-bottom: 1px solid var(--line); }
.quick-nav a { padding: 1.2rem; border-right: 1px solid var(--line); text-decoration: none; font-weight: 500; transition: color .2s; }
.quick-nav a:last-child { border-right: 0; }
.quick-nav span { display: block; margin-bottom: 1.4rem; color: var(--electric); font: 500 .66rem/1 var(--mono); }
.quick-nav a:hover, .quick-nav a:focus-visible { color: var(--electric); }

.content-section, .about-section { max-width: 1440px; margin: auto; padding: clamp(5rem, 10vw, 10rem) clamp(1.25rem, 7vw, 8rem); }
.section-heading { max-width: 50rem; margin-bottom: clamp(3rem, 7vw, 6rem); }
.section-heading > p:last-child { color: var(--muted); max-width: 31rem; margin-top: 1.5rem; }
.section-heading.split { max-width: none; display: grid; grid-template-columns: 1fr .65fr; gap: 4rem; align-items: end; }
.section-heading.split > p { margin: 0; }

.timeline { list-style: none; padding: 0; margin: 0; }
.timeline li { display: grid; grid-template-columns: minmax(5.2rem, .45fr) 2rem 1.55fr; min-height: 10rem; }
.timeline-time { padding-top: .35rem; color: var(--muted); font: 500 .68rem/1.3 var(--mono); text-transform: uppercase; letter-spacing: .08em; }
.timeline-marker { position: relative; }
.timeline-marker::before { content: ""; position: absolute; left: 7px; top: .35rem; width: 9px; height: 9px; border: 2px solid var(--electric); border-radius: 50%; background: var(--paper); z-index: 2; }
.timeline-marker::after { content: ""; position: absolute; left: 12px; top: 1.1rem; bottom: 0; width: 1px; background: var(--line); }
.timeline li:last-child .timeline-marker::after { display: none; }
.timeline-content { padding: 0 0 3rem 1.5rem; border-bottom: 1px solid var(--line); }
.timeline-content > span { color: var(--electric); font: 500 .68rem/1.3 var(--mono); text-transform: uppercase; letter-spacing: .07em; }
.timeline-content h3 { max-width: 850px; margin: .55rem 0 .8rem; font: 500 clamp(1.25rem, 2.5vw, 2.05rem)/1.2 var(--display); letter-spacing: -.025em; }
.timeline-content p { color: var(--muted); }
.timeline-content a { font-size: .8rem; font-weight: 600; text-underline-offset: .25rem; }
.timeline li.is-now .timeline-marker::before { background: var(--electric); box-shadow: 0 0 0 6px rgba(23,81,116,.13); }

.people-section { padding-top: 4rem; }
.speaker-list { border-top: 1px solid var(--line); }
.speaker { display: grid; grid-template-columns: minmax(180px, .52fr) 1.48fr; gap: clamp(2rem, 6vw, 6rem); padding: clamp(2rem, 5vw, 4rem) 0; border-bottom: 1px solid var(--line); }
.portrait { min-height: 270px; overflow: hidden; background: #d7d0c6; position: relative; }
.portrait img { display: block; width: 100%; height: 100%; min-height: 270px; object-fit: cover; filter: saturate(.84) contrast(1.03); }
.portrait-manoela img { object-position: center 24%; }
.portrait-alexandre img { object-position: center 18%; }
.portrait-fabio img { object-position: center 24%; }
.portrait-fred img { object-position: center 20%; }
.portrait-alexandre { background: #c8c3be; }
.portrait-fabio { background: #cfc8ba; }
.portrait-fred { background: #d3c8c9; }
.speaker-content { align-self: center; }
.speaker-role { color: var(--electric); font: 500 .68rem/1.3 var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.speaker h3 { margin-bottom: .5rem; font: 500 clamp(2rem, 4vw, 3.6rem)/1 var(--display); letter-spacing: -.055em; }
.credential { max-width: 44rem; color: var(--muted); }
.speaker-theme { max-width: 50rem; margin: 2rem 0; font: 500 clamp(1.1rem, 2vw, 1.5rem)/1.35 var(--display); }
details { max-width: 50rem; border-top: 1px solid var(--line); padding-top: 1rem; }
summary { cursor: pointer; width: fit-content; font-size: .82rem; font-weight: 600; }
details p { margin: 1rem 0 0; color: var(--muted); }
.moderator { background: rgba(159,199,217,.16); margin: 3rem 0 0; padding-inline: clamp(1rem, 3vw, 3rem); border: 0; }

.guide-section, .sponsors-section { background: var(--navy-2); color: var(--white); padding: clamp(5rem, 10vw, 9rem) max(clamp(1.25rem, 7vw, 8rem), calc((100vw - 1440px) / 2 + 8rem)); }
.guide-section .section-heading > p, .sponsors-section .section-heading > p { color: rgba(250,250,250,.67); }
.guide-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--light-line); }
.guide-grid article { min-height: 18rem; padding: 2rem; border-right: 1px solid var(--light-line); border-bottom: 1px solid var(--light-line); }
.guide-grid article:nth-child(2n) { border-right: 0; }
.guide-number { color: var(--gold); font: 500 .66rem/1 var(--mono); }
.guide-grid h3 { margin: 4rem 0 .8rem; font: 500 1.55rem/1 var(--display); }
.guide-grid p { max-width: 24rem; color: #e4d9dc; }
.guide-grid a { font-size: .82rem; text-underline-offset: .25rem; }

.material-list { border-top: 1px solid var(--line); }
.material-list article { display: grid; grid-template-columns: 1fr .55fr; gap: 3rem; padding: 2rem 0; border-bottom: 1px solid var(--line); align-items: center; }
.material-list span { color: var(--electric); font: 500 .68rem/1.3 var(--mono); }
.material-list h3 { margin: .35rem 0 0; font: 500 clamp(1.2rem, 2vw, 1.65rem)/1.2 var(--display); }
.material-list p { margin: 0; color: var(--muted); font-size: .88rem; }

.sponsors-section { background: var(--navy); }
.sponsor-grid { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--light-line); }
.sponsor-grid a { min-height: 17rem; padding: 2rem; display: flex; flex-direction: column; justify-content: space-between; text-decoration: none; border-right: 1px solid var(--light-line); transition: background .2s; }
.sponsor-grid a:last-child { border-right: 0; }
.sponsor-grid a:hover, .sponsor-grid a:focus-visible { background: rgba(255,255,255,.07); }
.sponsor-logo { height: 7rem; display: flex; align-items: center; justify-content: flex-start; }
.sponsor-logo img { display: block; width: auto; height: auto; max-width: min(100%, 230px); max-height: 82px; object-fit: contain; filter: brightness(0) invert(1); }
.sponsor-grid a:first-child .sponsor-logo img { max-height: 74px; }
.sponsor-grid a:last-child .sponsor-logo img { max-height: 92px; }
.sponsor-grid span { color: var(--gold); font: 400 .7rem/1.2 var(--mono); }

.about-section h2 { max-width: 1000px; margin: 1rem 0 4rem; font: 500 clamp(3rem, 7vw, 6.5rem)/.94 var(--display); letter-spacing: -.07em; }
.about-copy { display: grid; grid-template-columns: repeat(2, 1fr); gap: 3rem; max-width: 850px; margin-left: auto; }
.about-copy p { color: var(--muted); }

footer { background: var(--navy); color: var(--white); padding: clamp(4rem, 9vw, 8rem) clamp(1.25rem, 7vw, 8rem) 7rem; display: grid; grid-template-columns: 1.5fr .5fr; gap: 4rem; }
.footer-signature { font: 500 clamp(4rem, 9vw, 8rem)/.84 var(--display); letter-spacing: -.08em; }
.footer-meta { align-self: end; font-size: .85rem; }
.footer-meta a { text-underline-offset: .25rem; }
.footer-meta p { margin: 2rem 0 0; color: #aaa4a6; }
.mobile-nav { display: none; }

@media (max-width: 780px) {
  body { padding-bottom: calc(70px + env(safe-area-inset-bottom)); }
  .topbar { height: 60px; padding-inline: 1rem; }
  .brand-name { display: none; }
  .top-date { font-size: .65rem; }
  .participant-hero { min-height: auto; padding: 3rem 1.25rem 1.5rem; }
  .participant-hero::after { font-size: 13rem; top: 8rem; right: -3rem; }
  .hero-grid { display: block; margin: 4.5rem 0 3rem; }
  .participant-hero h1 { font-size: clamp(4rem, 20vw, 6rem); }
  .hero-context { margin-top: 3rem; max-width: 22rem; }
  .event-facts { margin-top: 1.7rem; }
  .scroll-cue { margin-top: 1rem; }
  .now-section { padding: 4rem 1.25rem; }
  .section-shell { display: block; }
  .section-intro { margin-bottom: 2rem; }
  .now-card { padding: 1.5rem; }
  .now-time { margin-top: 2rem; }
  .now-card h3 { font-size: 2rem; }
  .now-actions a { flex: 1 1 auto; text-align: center; }
  .next-strip { grid-template-columns: 5rem 1fr; padding-top: 1.2rem; }
  .quick-nav { padding: 0 1.25rem; display: flex; overflow-x: auto; scrollbar-width: none; }
  .quick-nav::-webkit-scrollbar { display: none; }
  .quick-nav a { min-width: 145px; padding: 1.3rem 1rem; }
  .quick-nav span { margin-bottom: .7rem; }
  .content-section, .about-section { padding: 5.5rem 1.25rem; }
  .section-heading, .section-heading.split { display: block; margin-bottom: 3rem; }
  .section-heading.split > p { margin-top: 1.5rem; }
  .section-heading h2 { font-size: 3rem; }
  .timeline li { grid-template-columns: 4.5rem 1.25rem 1fr; }
  .timeline-marker::before { left: 3px; width: 8px; height: 8px; }
  .timeline-marker::after { left: 8px; }
  .timeline-content { padding-left: .85rem; }
  .timeline-content h3 { font-size: 1.2rem; }
  .speaker { grid-template-columns: 90px 1fr; gap: 1.25rem; align-items: start; }
  .portrait, .portrait img { min-height: 118px; height: 118px; }
  .speaker h3 { font-size: 2rem; }
  .speaker-theme { margin: 1.3rem 0; font-size: 1.05rem; }
  .moderator { margin-inline: -.25rem; padding-inline: 1rem; }
  .guide-section, .sponsors-section { padding: 5rem 1.25rem; }
  .guide-grid { grid-template-columns: 1fr; }
  .guide-grid article, .guide-grid article:nth-child(2n) { border-right: 0; min-height: auto; padding: 1.5rem 0 2rem; }
  .guide-grid h3 { margin-top: 2.5rem; }
  .material-list article { display: block; }
  .material-list article > p { margin-top: 1.2rem; }
  .sponsor-grid { grid-template-columns: 1fr; }
  .sponsor-grid a, .sponsor-grid a:last-child { min-height: 10rem; border-right: 0; border-bottom: 1px solid var(--light-line); }
  .sponsor-grid a:last-child { border-bottom: 0; }
  .sponsor-logo { height: 5.4rem; }
  .sponsor-logo img { max-width: 190px; max-height: 66px; }
  .about-section h2 { font-size: 3.4rem; }
  .about-copy { grid-template-columns: 1fr; gap: .5rem; }
  footer { grid-template-columns: 1fr; padding: 5rem 1.25rem 3rem; }
  .footer-signature { font-size: 4.4rem; }
  .mobile-nav { position: fixed; z-index: 40; left: .6rem; right: .6rem; bottom: calc(.6rem + env(safe-area-inset-bottom)); height: 61px; padding: 0 .35rem; display: grid; grid-template-columns: repeat(4, 1fr); background: rgba(6,26,41,.96); color: var(--white); border: 1px solid rgba(159,199,217,.22); box-shadow: 0 12px 40px rgba(6,26,41,.3); backdrop-filter: blur(20px); }
  .mobile-nav a { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: .1rem; color: #aaa4a6; font-size: .63rem; text-decoration: none; }
  .mobile-nav a span { font-size: 1rem; line-height: 1; }
  .mobile-nav a.active { color: var(--white); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }
