/* Proposta 2: identidade cromática da 4.ª edição, organização da nova proposta. */
:root { --navy:#1a3a5c; --navy-deep:#0d1b2a; --ink:#183953; --accent:#ba5900; --orange:#ff8c00; --cyan:#00a8e8; --green:#7ec850; --soft:#f3f6f9; }
html { scroll-behavior:auto; }
.filter-defs { position:absolute; pointer-events:none; }
.site-header { --nav-gap:clamp(20px,2.4vw,35px); background:#122a43; border-bottom:1px solid #ffffff16; }
.header-inner { min-height:94px; }
.site-header .brand { margin:0; }
.menu-toggle { display:none; }
nav a { font-size:13px; }
nav a:hover { color:#ffae47; border-bottom-color:#ff8c00; }
.nav-ready .header-inner { flex-wrap:nowrap; gap:28px; padding-top:0; }
.nav-ready #primary-nav { display:flex; flex:none; width:max-content; gap:var(--nav-gap); border:0; }
.nav-ready #primary-nav a { font-size:13px; white-space:nowrap; max-width:none; padding:12px 0; line-height:1.6; }
.nav-compact .menu-toggle { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:5px; width:44px; height:44px; flex:none; padding:10px; border:1px solid #ffffff3b; border-radius:5px; background:transparent; color:#fff; }
.menu-toggle span { display:block; width:22px; height:2px; background:currentColor; }
.menu-toggle[aria-expanded=true] span:first-child { transform:translateY(7px) rotate(45deg); }
.menu-toggle[aria-expanded=true] span:nth-child(2) { opacity:0; }
.menu-toggle[aria-expanded=true] span:last-child { transform:translateY(-7px) rotate(-45deg); }
.menu-toggle:hover { background:#ffffff0c; }
.nav-compact #primary-nav { display:none; position:absolute; top:100%; left:0; right:0; width:100%; padding:10px 20px 16px; border-top:1px solid #ffffff20; background:#122a43; box-shadow:0 12px 20px #06172829; }
.nav-compact.menu-open #primary-nav { display:flex; flex-direction:column; align-items:stretch; gap:0; }
.nav-compact #primary-nav a { display:block; padding:14px 4px; border-bottom:1px solid #ffffff16; font-size:14px; }
.nav-compact #primary-nav a:last-child { border-bottom:0; }
.site-header.nav-measuring #primary-nav { display:flex; position:fixed; top:0; left:0; right:auto; width:max-content; flex-direction:row; align-items:center; gap:var(--nav-gap); padding:0; border:0; visibility:hidden; pointer-events:none; box-shadow:none; }
.site-header.nav-measuring #primary-nav a { font-size:13px; padding:12px 0; border-bottom:1px solid transparent; }
.intro { color:#fff; background:#1a3a5c; position:relative; overflow:hidden; }
.intro>.shell { position:relative; z-index:1; }
.intro:after { content:''; width:430px; height:430px; border:80px solid #23506f; border-radius:50%; position:absolute; right:-265px; top:280px; pointer-events:none; opacity:.5; }
.edition-bar { border-bottom-color:#ffffff24; min-height:64px; }
.academic-year { color:#c4d2e1; }
.edition-switch button { color:#b7cadd; padding:10px 0; line-height:1.6; }
.edition-switch button[aria-pressed=true] { color:#fff; border-bottom-color:var(--orange); }
.edition-switch button:hover { color:#ffbd70; }
.hero { padding:45px 0 52px; gap:56px; grid-template-columns:.98fr 1.12fr; }
.hero-copy { padding:10px 0; width:100%; min-width:0; justify-self:center; display:flex; flex-direction:column; align-items:center; text-align:center; }
.hero .eyebrow { color:#d1deeb; font-size:12px; }
.hero h1 { font-size:calc(clamp(44px,4.3vw,64px) + 1pt); line-height:1.1; letter-spacing:-.035em; color:#fff; width:fit-content; background:linear-gradient(135deg,var(--orange),var(--green),var(--cyan)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; filter:drop-shadow(0 2px 2px rgb(245 248 250 / 48%)); }
.event-date { color:#ffac46; font-size:19px; margin-top:24px; }
.event-context { color:#d1deeb; line-height:1.85; font-size:12px; margin-top:15px; }
.primary-link { background:var(--orange); border-color:var(--orange); color:#0d1b2a; font-size:12px; font-weight:600; border-radius:5px; margin-top:25px; padding:13px 19px; }
.primary-link:hover { color:#0d1b2a; background:#ffa52b; border-color:#ffa52b; }
.message-link { color:#fff; font-size:12px; text-decoration-color:#8da4bd; margin-top:18px; }
.message-link:hover { color:#ffbd70; }
.hero-visual { min-width:0; }
.hero-media { position:relative; }
.hero-media>img { border-radius:9px; aspect-ratio:16/11; object-position:center; box-shadow:12px 12px 0 #00a8e833; }
.hero-media figcaption { color:#bfd1e1; font-size:10px; margin-top:20px; }
.hero-mentor { background:transparent; border-radius:0; border-top:1px solid #ffffff2b; margin-top:29px; padding:20px 0 0; justify-content:center; gap:28px; width:100%; max-width:365px; }
.hero-mentor p { color:#c4d2e1; font-size:10px; }
.hero-mentor img { width:163px; }
.video-preview { display:flex; align-items:center; gap:18px; margin-top:20px; padding:18px 22px; border:1px solid #53738e; background:#183552; border-radius:7px; }
.video-preview>svg { color:#9cd772; width:36px; height:36px; flex-shrink:0; }
.video-preview strong { display:block; font-size:12px; font-weight:500; }
.video-preview span { display:block; font-size:10px; color:#bfcedd; margin-top:3px; }
.program-section { border:0; background:#f4f7fa; padding-top:60px; }
h2 { font-weight:600; }
.section-heading h2:after { content:''; display:block; width:42px; height:4px; background:var(--orange); margin-top:13px; border-radius:3px; }
.program-notice { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 18px; border:0; background:none; padding:0; margin:0 0 22px; border-radius:0; line-height:1.7; }
.program-notice strong { color:var(--ink); font-size:12px; font-weight:500; }
.program-notice>span { color:var(--muted); font-size:11px; }
.day-tabs { border:0; gap:10px; }
.day-tabs button { border:1px solid #dce5ed; background:#fff; padding:13px 12px 15px; border-radius:6px; }
.day-tabs button[aria-selected=true] { background:var(--navy); border-color:var(--navy); color:#fff; box-shadow:inset 0 -4px var(--orange); }
.day-tabs button:hover { background:#e1edf5; color:var(--ink); }
.day-tabs button[aria-selected=true]:hover { background:#234b70; color:#fff; }
.day-tabs button strong { font-weight:600; }
.program-filters { display:grid; grid-template-columns:1.05fr .8fr 1.35fr; gap:14px; margin-top:27px; }
.program-filters label { display:block; color:#50657a; font-size:11px; font-weight:500; min-width:0; }
.program-filters input,.program-filters select { display:block; width:100%; min-width:0; font:inherit; font-size:12px; color:var(--ink); background:#fff; border:1px solid #cbd8e2; border-radius:5px; padding:12px; height:45px; margin-top:7px; }
.program-filters input::placeholder { color:#72808d; }
.program-filters input:focus-visible,.program-filters select:focus-visible,summary:focus-visible { outline:3px solid #1686b9; outline-offset:3px; }
.filter-summary { display:flex; justify-content:space-between; align-items:center; gap:15px; min-height:38px; font-size:10px; color:#607283; padding-top:8px; }
.filter-summary button { border:0; background:none; font-size:11px; color:var(--ink); text-decoration:underline; text-underline-offset:3px; padding:5px 0 5px 10px; }
.filter-summary button span { margin-left:8px; font-size:17px; }
.daily-heading { padding:15px 0 21px; }
.daily-heading h3 { font-weight:600; }
.schedule-row { border-color:#dce5ed; }
.schedule-row>time { color:#294d6c; font-size:15px; }
.conference-row>time { color:#985000; }
.schedule-row h4 { font-weight:500; }
.room-grid { gap:13px; }
.room-grid.filtered { grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
.room { border:1px solid #dfe7ed; border-top:4px solid var(--cyan); border-radius:6px; min-height:141px; box-shadow:0 2px 3px #17334c04; }
.room.room-1 { border-top-color:var(--green); }
.room.room-2 { border-top-color:var(--orange); }
.room-name { font-size:12px; font-weight:500; }
.room-status { font-size:11px; }
.room-status:before { background:#00a8e8; }
.room-1 .room-status:before { background:#609b36; }
.room-2 .room-status:before { background:#cb7100; }
.session-title { color:var(--ink); font-size:13px; font-weight:500; margin-top:15px; }
.session-format { font-size:10px; color:var(--muted); margin-top:6px; }
.simulation-note { color:#586d80; font-size:11px; line-height:1.8; margin:-6px 0 20px; }
.simulation-note strong { color:var(--ink); font-weight:500; }
.room.has-speakers { display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:0; }
.has-speakers .room-name { color:#617589; font-size:11px; line-height:1.6; }
.has-speakers .session-title { font-size:15px; font-weight:500; line-height:1.5; margin:16px 0 20px; }
.session-speakers { display:grid; gap:15px; margin-top:auto; }
.session-speaker { display:flex; align-items:center; gap:11px; }
.speaker-avatar { flex:none; width:54px; height:64px; object-fit:cover; object-position:center 25%; border-radius:4px; background:#e6edf2; }
.speaker-name { font-size:12px; font-weight:600; line-height:1.5; }
.speaker-organization { font-size:10px; color:var(--muted); line-height:1.6; margin-top:3px; }
.networking { background:transparent; }
.empty-results { background:white; border:1px dashed #bccbd8; border-radius:6px; padding:25px; margin-top:20px; }
.empty-results h4 { font-size:14px; font-weight:500; }
.empty-results p { color:var(--muted); font-size:12px; margin:10px 0 15px; max-width:580px; }
.empty-results button { background:var(--navy); color:white; border:0; border-radius:4px; padding:9px 15px; font-size:11px; }
.guests-section { padding:44px 0; background:#fff; }
.guests-inner { display:grid; grid-template-columns:1fr 1.8fr; align-items:center; gap:40px; }
.guests-inner p { color:var(--muted); font-size:13px; line-height:1.8; max-width:490px; }
.guests-inner.has-guests { display:block; }
.has-guests #guests-description { margin-top:14px; max-width:650px; font-size:12px; }
.guest-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px 24px; margin-top:30px; }
.guest-card { min-width:0; }
.guest-portrait { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; object-position:center 25%; border-radius:6px; background:#e6edf2; }
.guest-info { padding-top:15px; }
.guest-info h3 { font-size:16px; font-weight:600; line-height:1.4; }
.guest-info .guest-organization { font-size:11px; color:var(--ink); margin-top:8px; }
.guest-info .guest-role { font-size:11px; line-height:1.7; margin-top:3px; }
.guest-session-link { display:inline-block; font-size:11px; font-weight:500; margin-top:12px; padding:5px 0; border-bottom:1px solid #b6c9d8; }
.guest-session-link:hover { color:#a65100; border-color:var(--orange); }
.partners-section { background:#0c2137; padding:57px 0 38px; }
.mentor .eyebrow { color:#a6dc7e; }
.mentor h2 { font-weight:500; }
.mentor-description { font-size:12px; line-height:1.9; color:#c1ced5; margin-top:15px; }
.mentor-link { display:inline-flex; align-items:center; gap:17px; margin-top:22px; border:1px solid #8da6ba; border-radius:5px; padding:11px 16px; color:#fff; font-size:11px; }
.mentor-link:hover { background:#203c55; border-color:#fff; }
.partner-logo { opacity:1; }
.o2fit { filter:grayscale(1) brightness(.65) contrast(40); }
.partilha,.rackets { filter:url(#white-logo); mix-blend-mode:normal; }
.rackets { width:202px; height:105px; object-fit:cover; }
.faq-section { padding:60px 0; background:#fff; }
.faq-layout { display:grid; grid-template-columns:.8fr 1.6fr; gap:75px; }
.faq-layout h2 { font-size:29px; line-height:1.35; }
.faq-layout>div>p { color:var(--muted); font-size:12px; margin-top:17px; line-height:1.85; }
.faq-list details { border-bottom:1px solid #dce5ed; }
.faq-list details:first-child { border-top:1px solid #dce5ed; }
.faq-list summary { cursor:pointer; padding:20px 29px 20px 0; list-style:none; position:relative; font-size:13px; font-weight:500; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary:after { content:'+'; position:absolute; right:3px; top:15px; font-size:24px; color:#b35e00; font-weight:400; }
.faq-list details[open] summary:after { content:'−'; }
.faq-list details p { font-size:12px; color:var(--muted); padding:0 30px 22px 0; line-height:1.9; }
.faq-answer { padding:0 30px 22px 0; }
.faq-list .faq-answer p { padding:0; margin:0 0 17px; }
.faq-list .faq-answer p:last-child { margin-bottom:0; }
.faq-answer strong { color:var(--ink); font-weight:500; }
.faq-answer a { text-decoration:underline; text-underline-offset:4px; text-decoration-color:#b6c6d2; overflow-wrap:anywhere; }
.faq-answer a:hover { color:#a65100; }
.archive-section { background:#f0f5f9; }
.archive-link:hover { color:#a65100; }
.letter-heading .eyebrow { color:#a55b00; }
.letter-heading { border-bottom:3px solid #ff8c00; }
.letter-heading h1 { color:var(--navy); }
.organization-trigger { display:inline-flex; align-items:center; gap:12px; border:0; border-bottom:1px solid #b6c6d2; padding:8px 0; background:none; color:var(--ink); font:inherit; font-size:11px; cursor:pointer; }
.organization-trigger:hover { color:#a65100; }
.organization-dialog { margin:auto; padding:32px; width:min(620px,calc(100% - 40px)); max-height:calc(100vh - 40px); overflow:auto; border:0; border-top:4px solid var(--orange); border-radius:7px; background:#fff; color:var(--ink); box-shadow:0 20px 80px #06132155; }
.organization-dialog::backdrop { background:#071727b8; }
body:has(.organization-dialog[open]) { overflow:hidden; }
.organization-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.organization-heading h2 { font-size:27px; }
.organization-close { display:grid; place-items:center; flex:none; width:40px; height:40px; border:1px solid #dce5ed; border-radius:50%; color:var(--ink); background:#fff; font:inherit; font-size:25px; cursor:pointer; }
.organization-close:hover { background:#f0f5f9; }
.organization-contacts { display:grid; grid-template-columns:1fr 1fr; gap:30px; margin-top:28px; padding-top:25px; border-top:1px solid #dce5ed; }
.organization-contacts address { font-style:normal; min-width:0; }
.organization-contacts h3 { font-size:16px; font-weight:600; margin-bottom:12px; }
.organization-contacts a { display:block; width:fit-content; max-width:100%; overflow-wrap:anywhere; font-size:12px; margin-top:8px; text-decoration:underline; text-underline-offset:4px; text-decoration-color:#b6c6d2; }
.organization-contacts a:hover { color:#a65100; }
@media(min-width:1550px) { .hero { gap:80px; } }
@media(max-width:1050px) {
  .hero { gap:32px; }
  .hero h1 { font-size:calc(46px + 1pt); }
  .hero-media>img { aspect-ratio:4/4; }
  .hero-mentor { gap:22px; }
  .hero-mentor img { width:147px; }
  .program-filters { grid-template-columns:1fr .75fr 1.25fr; gap:10px; }
  .room { padding:15px 12px; }
  .room-name { font-size:11px; }
  .guest-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .faq-layout { gap:40px; }
}
@media(max-width:760px) {
  html { scroll-padding-top:96px; }
  .header-inner { min-height:78px; flex-wrap:wrap; gap:0; padding-top:0; }
  .header-inner .brand { margin:0; padding:10px 0; }
  .site-header nav { width:100%; border-top:1px solid #ffffff20; justify-content:space-between; gap:12px; }
  .site-header nav a:last-child { max-width:none; }
  .site-header nav a { font-size:12px; padding:12px 0; }
  .edition-bar { min-height:60px; }
  .edition-switch button { padding:9px 0; }
  .hero { grid-template-columns:1fr; gap:34px; padding:28px 0 38px; }
  .hero-copy { padding-top:0; }
  .hero h1 { font-size:calc(clamp(43px,9vw,60px) + 1pt); }
  .hero .eyebrow { font-size:11px; }
  .event-date { font-size:17px; margin-top:23px; }
  .event-context { font-size:11px; }
  .hero-mentor { padding:20px 0 0; margin-top:25px; gap:28px; }
  .hero-mentor img { width:158px; }
  .hero-media>img { aspect-ratio:16/10; box-shadow:7px 7px 0 #00a8e83d; }
  .hero-media figcaption { margin-top:15px; }
  .video-preview { margin-top:17px; padding:16px 18px; }
  .program-section { padding:40px 0; }
  .day-tabs { gap:6px; }
  .day-tabs button { padding:12px 3px 15px; }
  .day-tabs button span { font-size:9px; }
  .program-filters { grid-template-columns:.85fr 1.15fr; gap:12px; margin-top:22px; }
  .program-filters .search-field { grid-column:1/-1; }
  .program-filters select { font-size:11px; padding:9px 5px; }
  .filter-summary { align-items:baseline; font-size:9px; }
  .daily-heading { padding-top:17px; }
  .room-grid,.room-grid.filtered { grid-template-columns:1fr; }
  .room { border-top:1px solid #dfe7ed; border-left:4px solid var(--cyan); min-height:93px; padding:14px 12px; }
  .room.room-1 { border-top-color:#dfe7ed; border-left-color:var(--green); }
  .room.room-2 { border-top-color:#dfe7ed; border-left-color:var(--orange); }
  .room-name { font-size:11px; }
  .room-status { font-size:10px; min-width:64px; }
  .has-speakers .session-title { font-size:14px; margin:12px 0 17px; }
  .has-speakers .room-name { max-width:none; }
  .speaker-avatar { width:48px; height:57px; }
  .guest-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px 16px; }
  .guest-info h3 { font-size:14px; }
  .guest-portrait { aspect-ratio:1; }
  .schedule-row>time { font-size:12px; }
  .room:has(.session-title) { display:block; }
  .room:has(.session-title) .room-status { margin-top:12px; }
  .partners-section { padding:38px 0 25px; }
  .guests-section { padding:34px 0; }
  .guests-inner { grid-template-columns:1fr; gap:14px; }
  .guests-inner p { font-size:12px; }
  .mentor-description { font-size:11px; }
  .rackets { width:111px; height:65px; }
  .faq-section { padding:38px 0; }
  .faq-layout { grid-template-columns:1fr; gap:29px; }
  .faq-layout h2 { font-size:27px; }
  .faq-layout h2 br { display:none; }
  .faq-layout h2 br:after { content:' '; }
  .faq-layout>div>p { margin-top:12px; }
  .faq-list summary { font-size:12px; }
  .faq-list details p { font-size:11px; }
}
@media(max-width:600px) {
  .organization-dialog { padding:23px; }
  .organization-contacts { grid-template-columns:1fr; gap:26px; }
}
@media(max-width:390px) { .rackets { width:92px; } }
@media print { .program-filters,.filter-summary,.faq-section,.guests-section,.organization-dialog { display:none; } }
