:root { --brown:#351309; --deep:#1e0904; --gold:#efa900; --cream:#fff9e8; --ink:#2d201b; --muted:#6e625d; --font-body:"Google Sans",Arial,sans-serif; --font-display:"Barlow",Arial,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:#fff; font-family:var(--font-body); font-size:12pt; font-weight:400; line-height:1.55; }
h1,h2,h3,h4,h5,h6,.nav,.header-register,.header-tools,.button { font-family:var(--font-display); }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
.container { width:min(1120px, calc(100% - 40px)); margin-inline:auto; }
.narrow { width:min(830px, 100%); text-align:center; }
.site-header { position:absolute; z-index:30; top:0; width:100%; color:#fff; }
.header-inner { width:min(1320px,calc(100% - 48px)); height:124px; display:flex; align-items:center; justify-content:space-between; gap:34px; }
.logo { display:flex; align-items:center; gap:10px; color:#fff; line-height:.95; }
.logo img { display:block; width:210px; height:auto; }
.logo b { font-size:38px; letter-spacing:-3px; }
.logo sup { font-size:11px; letter-spacing:0; }
.logo span { font-size:9px; letter-spacing:.5px; }
.logo strong { font-size:15px; }
.nav { flex:1; display:flex; align-items:center; justify-content:flex-end; gap:clamp(14px,1.7vw,28px); }
.nav-link { min-height:44px; display:flex; align-items:center; justify-content:center; max-width:132px; text-align:center; font-size:12px; line-height:1.15; font-weight:700; text-transform:uppercase; letter-spacing:.25px; }
.nav-link:hover,.nav-link:focus-visible { color:#ffc329; }
.nav-link-disabled { min-height:58px; flex-direction:column; color:rgba(255,255,255,.58); cursor:not-allowed; user-select:none; }
.nav-link-disabled small { display:block; margin-top:5px; font-size:7px; line-height:1.2; font-weight:400; letter-spacing:.15px; text-transform:none; }
.header-register { min-width:148px; min-height:58px; padding:10px 20px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; font-size:12px; line-height:1.05; font-weight:900; text-transform:uppercase; border:1px solid rgba(255,255,255,.12); border-radius:5px; }
.header-register small { display:block; margin-top:5px; font-size:7px; letter-spacing:.35px; opacity:.72; }
.header-register:not(.is-disabled) { color:var(--brown); background:var(--gold); border-color:var(--gold); box-shadow:0 5px 14px rgba(0,0,0,.14); transition:transform .2s ease,filter .2s ease; }
.header-register:not(.is-disabled):hover,.header-register:not(.is-disabled):focus-visible { transform:translateY(-2px); filter:brightness(1.05); }
.header-register:not(.is-disabled):focus-visible { outline:3px solid #fff; outline-offset:3px; }
.header-register.is-disabled { color:rgba(255,255,255,.62); background:rgba(122,117,112,.38); filter:saturate(.25); box-shadow:inset 0 0 0 1px rgba(255,255,255,.05); cursor:not-allowed; user-select:none; }
.header-tools { min-width:96px; display:flex; flex-direction:column; gap:6px; }
.header-tool { min-height:30px; padding:5px 9px; border:1px solid rgba(255,255,255,.2); border-radius:16px; display:grid; grid-template-columns:21px 1fr; align-items:center; gap:5px; color:#fff; background:rgba(255,255,255,.1); font-size:10px; line-height:1; font-weight:700; text-transform:uppercase; transition:background .2s,border-color .2s; }
.header-tool:hover,.header-tool:focus-visible { background:rgba(255,255,255,.2); border-color:rgba(255,255,255,.42); }
.header-tool-icon { display:grid; place-items:center; font-size:14px; line-height:1; }
.language-switch { min-height:34px; padding:4px 7px; border:1px solid rgba(255,255,255,.28); border-radius:19px; display:flex; align-items:center; gap:4px; color:#fff; background:rgba(255,255,255,.1); box-shadow:inset 0 1px 0 rgba(255,255,255,.08); }
.language-globe { display:grid; place-items:center; font-size:13px; }
.language-switch a { min-width:42px; min-height:24px; padding:0 6px; border-radius:12px; display:flex; align-items:center; justify-content:center; gap:4px; color:rgba(255,255,255,.68); font-size:10px; font-weight:800; transition:color .2s,background .2s,box-shadow .2s; }
.language-switch a img { display:block; flex:0 0 18px; width:18px; height:12px; border-radius:1px; object-fit:cover; box-shadow:0 0 0 1px rgba(255,255,255,.22); }
.language-switch a:hover,.language-switch a:focus-visible { color:#fff; background:rgba(255,255,255,.14); }
.language-switch a:focus-visible { outline:2px solid #ffc329; outline-offset:1px; }
.language-switch a.is-active { color:var(--brown); background:#ffc329; box-shadow:0 2px 7px rgba(25,6,0,.22); }
.language-divider { width:1px; height:15px; background:rgba(255,255,255,.25); }
.hamburger,.nav-close,.nav-backdrop { display:none; }
.hero { min-height:660px; position:relative; overflow:hidden; color:white; background: url(../images/hero-bg.jpg); background-size: cover; }
.hero-glow { position:absolute; width:620px; height:620px; border:1px solid rgba(255,255,255,.18); border-radius:50%; right:5%; top:30px; box-shadow:0 0 80px rgba(255,225,130,.25); }
.hero-inner { min-height:660px; position:relative; display:flex; align-items:center; padding-top:90px; }
.hero-copy { width:56%; z-index:2; }
.eyebrow { color:#ffbd13; font-weight:900; letter-spacing:.7px; font-size:14px; }
.hero h1 { font-size:62px; line-height:.93; margin:6px 0 4px; max-width:560px; }
.hero h2 { margin:0; font-size:20px; }
.hero-meta { display:flex; align-items:center; gap:32px; margin-top:58px; font-size:14px; font-weight:700; }
.hero-meta > span { display:inline-flex; align-items:center; gap:7px; line-height:1.25; }
.hero-meta img { display:block; flex:0 0 auto; width:20px; height:20px; object-fit:contain; }
.planet { position:absolute; right:-10px; top:115px; width:510px; aspect-ratio:1; object-fit:cover; animation:float 5s ease-in-out infinite; filter:drop-shadow(0 28px 35px rgba(31,4,0,.38)); }
@keyframes float { 0%,100%{transform:translateY(0) rotate(-2deg)} 50%{transform:translateY(-18px) rotate(2deg)} }
.participate { position:relative; z-index:4; margin-top:-60px; min-height:140px; padding:28px 34px; background:#fff; border-radius:10px; box-shadow:0 7px 15px #0002; display:grid; grid-template-columns:1.6fr 1fr; gap:30px; }
.participate > div:first-child { align-self:center; }
.participate h3 { margin:0 0 5px; font-size:17px; }
.participate p { margin:0; font-size:13px; max-width:620px; }
.participate-actions { display:flex; flex-direction:column; gap:13px; justify-content:center; }
.membership-button { min-height:64px; padding:0 12px 0 22px; border-radius:7px; display:grid; grid-template-columns:1fr 118px; align-items:center; gap:16px; overflow:hidden; background:var(--gold); color:#3b1709; box-shadow:0 6px 16px rgba(94,51,0,.12); transition:transform .25s ease,box-shadow .25s ease,background .25s ease; }
.membership-button strong { font-size:14px; line-height:1.1; font-weight:900; text-align:center; letter-spacing:.2px; }
.membership-button img { display:block; width:118px; height:52px; border-radius:3px; object-fit:cover; transition:transform .28s ease; }
.membership-button:hover,.membership-button:focus-visible { transform:translateY(-3px); background:#f7b800; box-shadow:0 12px 25px rgba(94,51,0,.22); }
.membership-button:hover img,.membership-button:focus-visible img { transform:scale(1.055); }
.membership-button:focus-visible { outline:3px solid #5b2710; outline-offset:3px; }
.call-disabled { min-height:64px; padding:11px 18px; border:1px solid #c9c9c9; border-radius:7px; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#969696; background:#d7d7d7; text-align:center; line-height:1.1; cursor:not-allowed; user-select:none; filter:saturate(0); }
.call-disabled strong { font-size:13px; font-weight:800; }
.call-disabled small { margin-top:5px; font-size:9px; font-weight:700; letter-spacing:.2px; }
.call-button { min-height:110px; padding:14px 20px 12px; border:1px solid #5b2710; border-radius:7px; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#fff; background:var(--brown); text-align:center; line-height:1.1; box-shadow:0 6px 16px rgba(70,24,10,.14); transition:transform .25s ease,box-shadow .25s ease,background .25s ease; }
.call-button strong { font-size:14px; font-weight:800; line-height:1.2; }
.call-button small { margin-top:7px; color:#f6d9cb; font-size:8px; font-weight:700; letter-spacing:.7px; line-height:1.2; }
.call-button .call-button-cta { display:flex; align-items:center; justify-content:center; gap:9px; width:100%; margin-top:12px; padding:9px 12px; border-radius:5px; color:#3f1709; background:var(--gold); font-size:10px; font-weight:900; letter-spacing:.3px; line-height:1; white-space:nowrap; transition:background .25s ease,transform .25s ease; }
.call-button .call-button-arrow { display:grid; flex:0 0 19px; place-items:center; width:19px; height:19px; border-radius:50%; color:#fff; background:var(--brown); font-size:14px; line-height:1; transition:transform .25s ease; }
.call-button:hover,.call-button:focus-visible { transform:translateY(-3px); background:#642614; box-shadow:0 12px 25px rgba(70,24,10,.22); }
.call-button:hover .call-button-cta,.call-button:focus-visible .call-button-cta { background:#ffc52b; transform:translateY(-1px); }
.call-button:hover .call-button-arrow,.call-button:focus-visible .call-button-arrow { transform:translateX(3px); }
.call-button:focus-visible { outline:3px solid var(--gold); outline-offset:3px; }
.button { display:inline-flex; justify-content:center; align-items:center; min-height:42px; padding:10px 24px; border:0; border-radius:4px; font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:.2px; }
.gold { background:var(--gold); color:#361306; }
.muted { background:#d9d7d7; color:#8c8989; }
.dark { background:var(--brown); color:#fff; }
.section { padding:96px 0; }
.section-mark { text-align:center; margin-bottom:35px; }
.section-mark > span,.round-icon { display:grid; place-items:center; margin:0 auto 14px; width:72px; height:72px; border-radius:50%; background:var(--gold); color:var(--brown); font-size:35px; }
.section-icon-image { display:block; width:76px; height:76px; margin:0 auto 14px; border-radius:50%; object-fit:contain; }
.section-mark small { display:block; color:#e6a000; font-weight:900; letter-spacing:1.7px; }
.section-mark h2 { font-size:24px; margin:4px 0 0; color:var(--brown); }
.intro .section-mark { margin-bottom:18px; }
.intro-language-switch { width:max-content; max-width:100%; margin:0 auto 28px; padding:5px; border:1px solid #e4d9d3; border-radius:24px; display:flex; align-items:center; gap:4px; background:#fff; box-shadow:0 5px 18px rgba(70,26,10,.08); }
.intro-language-switch a { min-height:34px; padding:6px 12px; border-radius:18px; display:flex; align-items:center; gap:6px; color:#6b4b40; font-family:var(--font-display); font-size:11px; font-weight:800; text-decoration:none; transition:background .2s,color .2s; }
.intro-language-switch a:hover,.intro-language-switch a:focus-visible { background:#fff3cf; color:var(--brown); }
.intro-language-switch a:focus-visible { outline:2px solid var(--gold); outline-offset:2px; }
.intro-language-switch a.is-active { background:var(--gold); color:var(--brown); box-shadow:0 2px 8px rgba(80,42,4,.16); }
.intro-language-switch img { display:block; flex:0 0 24px; width:24px; height:16px; border-radius:2px; object-fit:cover; box-shadow:0 0 0 1px rgba(0,0,0,.12); }
.welcome { text-align:center; max-width:620px; margin:0 auto 45px; font-weight:900; font-style:italic; color:#552317; }
.columns { columns:2; column-gap:62px; font-size:14px; text-align:justify; color:#403a37; }
.columns div { break-inside:avoid; }
.columns p { margin:0 0 24px; }
.objectives { padding-top:50px; }
.objective-grid { display:grid; grid-template-columns:1fr 1fr; gap:48px 65px; }
.objective-grid article { display:grid; grid-template-columns:58px 1fr; gap:14px; align-items:start; font-size:14px; }
.objective-grid article > img { display:block; width:48px; height:48px; object-fit:contain; }
.objective-grid p { margin:0; text-align:justify; text-justify:inter-word; hyphens:auto; }
.speakers { background:linear-gradient(110deg,#fffdf5,#fff8dd,#fffdf5); }
.section-lead { max-width:820px; margin:-8px auto 54px; text-align:center; }
.speaker-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:28px; }
.speaker-card { height:305px; border:0; padding:0; background:transparent; perspective:1000px; cursor:pointer; }
.speaker-inner { width:100%; height:100%; display:block; position:relative; transition:transform .65s; transform-style:preserve-3d; }
.speaker-card:hover .speaker-inner,.speaker-card:focus .speaker-inner { transform:rotateY(180deg); }
.speaker-card.is-flipped .speaker-inner { transform:rotateY(180deg); }
.speaker-face,.speaker-back { position:absolute; inset:0; overflow:hidden; backface-visibility:hidden; border:1px solid #d5a676; border-radius:15px; background:#fff; padding:22px 18px; display:flex; flex-direction:column; align-items:center; box-shadow:0 8px 22px #71421012; }
.speaker-face { justify-content:center; }
.speaker-face img { width:112px; height:112px; border-radius:50%; object-fit:cover; margin-bottom:12px; }
.speaker-face small { color:#e3a000; letter-spacing:4px; font-weight:900; font-size:10px; }
.speaker-face strong { font-family:Barlow,sans-serif; font-size:15px; line-height:1.05; max-width:190px; margin:4px 0; }
.speaker-face em { font-size:11px; font-style:normal; margin-top:8px; }
.speaker-face .speaker-duo { width:100%; display:flex; flex-direction:row; flex-wrap:nowrap; align-items:center; justify-content:center; gap:8px; margin:0 0 9px; }
.speaker-face .speaker-duo img { flex:0 0 86px; width:86px; height:86px; margin:0; }
.speaker-duo-names { display:block; width:100%; max-width:205px; margin:3px auto 1px; color:var(--brown); font-family:Barlow,sans-serif; font-size:8px; line-height:1.15; font-weight:800; text-align:center; overflow-wrap:anywhere; }
.speaker-face:has(.speaker-duo) em { margin-top:5px; }
.speaker-card-duo .speaker-face { padding-inline:10px; }
.flip-hint { position:absolute; bottom:12px; left:0; right:0; margin:0; font-size:9px; color:#a27655; text-align:center; }
.speaker-back { transform:rotateY(180deg); align-items:stretch; background:var(--brown); color:#fff; text-align:left; cursor:default; }
.speaker-back strong { flex:0 0 auto; padding:0 2px 12px; color:#ffc21a; font-family:Barlow,sans-serif; font-size:14px; line-height:1.15; text-align:center; }
.speaker-back p { flex:1 1 auto; min-height:0; overflow-y:auto; overscroll-behavior:contain; margin:0; padding:0 9px 8px 2px; font-size:11.5px; line-height:1.42; scrollbar-width:thin; scrollbar-color:#dca800 #5b2719; }
.speaker-back p::-webkit-scrollbar { width:6px; }
.speaker-back p::-webkit-scrollbar-track { background:#5b2719; border-radius:6px; }
.speaker-back p::-webkit-scrollbar-thumb { background:#dca800; border-radius:6px; }
.speaker-back span { flex:0 0 auto; margin-top:10px; padding-top:9px; border-top:1px solid #ffffff26; font-size:9px; text-align:center; }
.committees p,.dates-teaser p { margin-bottom:36px; }
.dates-teaser { background:#fffdf8; }
.dates-intro { max-width:720px; margin:-10px auto 42px; text-align:center; font-size:14px; }
.home-dates-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:18px; }
.home-date-card { min-height:220px; padding:22px 19px; border:1px solid #eadbc5; border-radius:12px; display:flex; flex-direction:column; background:#fff; box-shadow:0 7px 22px rgba(60,28,5,.06); transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease; }
.home-date-card:hover { transform:translateY(-4px); border-color:#d7b86d; box-shadow:0 13px 28px rgba(60,28,5,.11); }
.home-date-value { display:flex; align-items:baseline; gap:7px; padding-bottom:14px; border-bottom:1px solid #eee3d4; }
.home-date-value strong { color:var(--brown); font-size:27px; line-height:1; }
.home-date-value span { color:#82746b; font-size:12px; }
.home-date-card small { margin-top:18px; color:#d49300; font-size:9px; font-weight:800; letter-spacing:1.3px; text-transform:uppercase; }
.home-date-card h3 { margin:7px 0 0; color:#33211b; font-size:15px; line-height:1.25; }
.home-date-card.featured { border-color:#efbd4e; background:linear-gradient(145deg,#fff5d3,#ffe29a); }
.home-date-card.featured .home-date-value { border-bottom-color:#e7bf64; }
.home-date-card.featured a { margin-top:auto; padding:8px 10px; border-radius:4px; background:var(--brown); color:#fff; text-align:center; font-size:9px; font-weight:800; }
.sponsors { padding:70px 0; }
.sponsor-row { display:grid; grid-template-columns:1fr 1fr; gap:70px; }
.sponsor-row > div + div { border-left:1px solid #bbb; padding-left:70px; }
.sponsor-row h3 { color:var(--gold); }
.brand-lockup { font-size:24px; font-weight:900; color:#38425a; }
.brand-lockup span { color:#c7c7c7; margin:0 14px; }
.institutions { background:#f8f8f8; }
.coorganizer-logos { position:relative; width:min(80%,1200px); margin:0 auto; }
.coorganizer-logos-main { display:block; width:100%; height:auto; }
.coorganizer-logo-uc { position:absolute; right:3.7%; bottom:2.9%; width:17%; height:20.4%; object-fit:contain; }
.logo-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:54px 40px; align-items:center; }
.logo-grid span { text-align:center; font-family:Georgia,serif; font-size:19px; color:#44617d; font-weight:700; min-height:58px; display:grid; place-items:center; }
.allies { background:#fff; }
.allies-image { display:block; width:min(100%,1200px); height:auto; margin:0 auto; }
.landscape { display:block; width:min(100%,940px); height:460px; object-fit:cover; margin:auto; }
.video-section { background:#f6f3ee; }
.institutional-video { display:block; width:min(920px,100%); aspect-ratio:16/9; margin:auto; border:0; border-radius:6px; background:#180a05; object-fit:contain; box-shadow:0 14px 36px rgba(48,20,9,.16); }
.site-footer { color:#fff; background:#37140c; }
.footer-main { min-height:170px; display:flex; align-items:center; justify-content:space-between; gap:24px; font-size:13px; }
.copyright { padding:11px; text-align:center; background:#230b06; font-size:11px; }
.dates-hero { padding:170px 0 90px; color:#fff; background:radial-gradient(circle at 50% 120%,#d28100,#351309 65%); text-align:center; }
.dates-hero h1 { font-size:48px; margin:6px 0 12px; }
.date-cards { display:grid; gap:18px; max-width:860px; }
.date-card { display:grid; grid-template-columns:150px 1fr 50px; align-items:center; min-height:122px; border:1px solid #eadbc5; border-radius:10px; overflow:hidden; box-shadow:0 8px 24px #3b1c0710; }
.date-number { align-self:stretch; display:flex; flex-direction:column; justify-content:center; align-items:center; background:#fff8e8; border-right:1px solid #eadbc5; }
.date-number strong { font-size:34px; color:var(--brown); line-height:1; }
.date-number span { color:#a17f62; font-size:13px; }
.date-card > div:nth-child(2) { padding:20px 30px; }
.date-card small { color:#d59300; text-transform:uppercase; font-weight:800; letter-spacing:1.5px; }
.date-card h2 { margin:4px 0 0; font-size:20px; }
.date-arrow { color:#d59300; font-size:26px; }
.date-card.featured { background:#f9b914; border-color:#f9b914; }
.date-card.featured .date-number { background:#351309; color:#fff; border:0; }
.date-card.featured .date-number strong,.date-card.featured .date-number span { color:#fff; }
.date-card.featured small { color:#6c3500; }
.date-cards > .button { justify-self:center; margin-top:28px; }
.internal-hero { position:relative; overflow:hidden; min-height:490px; color:#fff; display:flex; align-items:center; background:#622300 url(../images/hero-bg.jpg) center/cover no-repeat; }
.internal-hero::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(30,5,0,.18),rgba(42,13,0,.05)); }
.internal-hero .container { position:relative; padding-top:90px; }
.internal-hero h1 { margin:0; text-align:center; font-size:clamp(42px,5vw,64px); font-weight:800; line-height:1; letter-spacing:-1.5px; }
.internal-content { padding:58px 0 96px; }
.internal-heading { margin-bottom:45px; }
.internal-heading .journey-icon { font-family:Georgia,serif; font-size:43px; transform:rotate(-18deg); }
.internal-heading h2 { max-width:420px; margin-inline:auto; line-height:1.03; font-size:26px; }
.internal-body { display:grid; grid-template-columns:1fr 1fr; gap:74px; max-width:1100px; margin:auto; text-align:justify; font-size:15px; line-height:1.45; }
.internal-body p { margin:0 0 4px; }
.timeline-section { margin-top:70px; text-align:center; }
.timeline-section > h2 { max-width:540px; margin:0 auto; color:var(--brown); font-size:27px; line-height:1.05; }
.timeline-section > p { margin:4px 0 25px; }
.timeline-groups { display:grid; gap:24px; }
.timeline-row { display:grid; grid-template-columns:44px 1fr; }
.timeline-part { border-radius:8px 0 0 8px; background:#234b7c; color:#fff; writing-mode:vertical-rl; transform:rotate(180deg); display:flex; justify-content:center; align-items:center; font-weight:800; font-size:10px; letter-spacing:.6px; }
.timeline-part small { font-size:9px; margin-top:6px; }
.timeline { position:relative; display:grid; grid-template-columns:repeat(8,1fr); gap:0; padding:20px 8px 18px; border:1px solid #d7dce4; border-left:0; border-radius:0 8px 8px 0; background:#fbfcfe; }
.timeline::after { content:""; position:absolute; left:2%; right:2%; bottom:41px; height:3px; background:linear-gradient(90deg,#173d74,#4a9236,#74378e,#e0690a,#148a9e,#c12821); border-radius:4px; }
.timeline-item { position:relative; min-height:205px; padding:0 6px; display:flex; flex-direction:column; justify-content:space-between; align-items:center; }
.timeline-copy { display:flex; flex-direction:column; align-items:center; gap:7px; }
.timeline-copy small { color:#384455; font-size:8px; font-weight:800; line-height:1.15; }
.timeline-copy strong { min-height:45px; color:#245889; font-size:8px; line-height:1.15; font-style:italic; }
.timeline-copy span { font-size:7px; color:#555; line-height:1.3; }
.timeline-copy em { color:#245889; font-size:8px; font-style:normal; font-weight:900; }
.timeline-item b { z-index:1; display:grid; place-items:center; width:40px; height:40px; border-radius:50%; background:#244f84; color:#fff; font-size:10px; box-shadow:0 0 0 4px #fbfcfe; }
.timeline-item:nth-child(6n+2) b { background:#4a893a; }
.timeline-item:nth-child(6n+3) b { background:#643c86; }
.timeline-item:nth-child(6n+4) b { background:#dd6b0b; }
.timeline-item:nth-child(6n+5) b { background:#108897; }
.timeline-item:nth-child(6n+6) b { background:#bd3027; }
.timeline-key { width:max-content; max-width:100%; margin:14px auto 0 !important; padding:5px 16px; border:1px solid #d7dce4; border-radius:5px; font-size:9px; color:#626873; }
.internal-reference { margin-top:62px !important; font-size:12px; color:#3b3735; }
.internal-reference a { text-decoration:underline; }

@media (max-width: 900px) {
  .header-inner { width:min(100% - 32px,1320px); height:82px; }
  .logo img { width:180px; }
  .hamburger { display:flex; width:45px; height:45px; flex-direction:column; justify-content:center; gap:5px; background:transparent; border:0; z-index:2; }
  .hamburger span { width:28px; height:2px; background:#fff; }
  .nav { position:fixed; z-index:5; top:0; right:0; bottom:0; width:min(85vw,390px); background:var(--deep); padding:90px 34px 40px; display:flex; flex-direction:column; align-items:stretch; gap:0; transform:translateX(105%); transition:transform .35s ease; box-shadow:-15px 0 40px #0005; }
  .nav.open { transform:translateX(0); }
  .nav-link { min-height:auto; max-width:none; padding:18px 0; border-bottom:1px solid #ffffff20; justify-content:flex-start; text-align:left; font-size:13px; }
  .header-register { width:100%; margin-top:24px; }
  .header-tools { width:100%; margin-top:16px; display:grid; grid-template-columns:1fr 1fr; gap:9px; }
  .header-tool { min-height:42px; border-radius:5px; justify-content:center; grid-template-columns:24px auto; font-size:11px; }
  .nav-close { display:block; position:absolute; right:24px; top:20px; color:#fff; border:0; background:transparent; font-size:40px; }
  .nav-backdrop { display:block; position:fixed; z-index:4; inset:0; border:0; background:#0008; }
  .nav-backdrop { opacity:0; visibility:hidden; transition:opacity .25s; }
  body.menu-open .nav-backdrop { opacity:1; visibility:visible; }
  body.menu-open { overflow:hidden; }
  .hero,.hero-inner { min-height:730px; }
  .hero-inner { align-items:flex-start; padding-top:150px; }
  .hero-copy { width:100%; }
  .hero h1 { font-size:48px; }
  .planet { width:340px; top:auto; bottom:-20px; right:-40px; opacity:.95; }
  .hero-meta { max-width:55%; flex-direction:column; gap:9px; margin-top:35px; }
  .participate { grid-template-columns:1fr; }
  .participate > div:first-child { align-self:auto; }
  .speaker-grid { grid-template-columns:repeat(2,1fr); }
  .logo-grid { grid-template-columns:repeat(3,1fr); }
  .home-dates-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .internal-hero { min-height:400px; }
  .timeline { grid-template-columns:repeat(4,1fr); row-gap:30px; }
  .timeline::after { display:none; }
  .timeline-item { min-height:205px; border-bottom:3px solid #245889; padding:0 8px 10px; }
}

@media (max-width: 600px) {
  .call-button .call-button-cta { gap:6px; padding-inline:8px; font-size:8px; letter-spacing:.15px; }
  .container { width:min(100% - 28px,1120px); }
  .logo img { width:160px; }
  .hero,.hero-inner { min-height:690px; }
  .hero-inner { padding-top:125px; }
  .hero h1 { font-size:41px; overflow-wrap:anywhere; }
  .hero h2 { font-size:16px; }
  .eyebrow { font-size:11px; }
  .planet { width:300px; bottom:-10px; right:-70px; }
  .hero-meta { font-size:12px; max-width:65%; }
  .participate { margin-top:-35px; padding:24px 20px; }
  .membership-button { grid-template-columns:1fr 96px; padding-left:14px; }
  .membership-button img { width:96px; height:46px; }
  .section { padding:72px 0; }
  .columns { columns:1; text-align:left; }
  .objective-grid { grid-template-columns:1fr; gap:30px; }
  .speaker-grid { gap:14px; }
  .speaker-card { height:300px; }
  .speaker-face { padding:18px 10px; }
  .speaker-face img { width:105px; height:105px; }
  .speaker-face .speaker-duo { gap:6px; }
  .speaker-face .speaker-duo img { flex-basis:76px; width:76px; height:76px; }
  .speaker-duo-names { max-width:185px; font-size:7.5px; }
  .speaker-back { padding:18px 14px; }
  .speaker-back p { font-size:11px; line-height:1.38; }
  .sponsor-row { grid-template-columns:1fr; gap:35px; }
  .sponsor-row > div + div { border-left:0; border-top:1px solid #bbb; padding:30px 0 0; }
  .logo-grid { grid-template-columns:repeat(2,1fr); gap:35px 15px; }
  .landscape { height:260px; }
  .footer-main { flex-direction:column; align-items:flex-start; padding-block:38px; }
  .dates-hero h1 { font-size:36px; }
  .date-card { grid-template-columns:95px 1fr; }
  .date-card > div:nth-child(2) { padding:18px; }
  .date-arrow { display:none; }
  .date-card h2 { font-size:16px; }
  .home-dates-grid { grid-template-columns:1fr; }
  .home-date-card { min-height:180px; }
  .internal-hero { min-height:360px; }
  .internal-hero .container { padding-top:75px; }
  .internal-hero h1 { font-size:42px; overflow-wrap:anywhere; }
  .internal-content { padding-top:48px; }
  .internal-body { grid-template-columns:1fr; gap:0; text-align:left; }
  .timeline-row { grid-template-columns:28px 1fr; }
  .timeline { grid-template-columns:repeat(2,1fr); padding-inline:5px; }
  .timeline-item { min-height:225px; }
  .timeline-copy small { font-size:9px; }
  .timeline-copy strong { font-size:9px; }
  .timeline-copy span,.timeline-copy em { font-size:8px; }
}


.barlow-thin {
  font-family: "Barlow", sans-serif;
  font-weight: 100;
  font-style: normal;
}

.barlow-extralight {
  font-family: "Barlow", sans-serif;
  font-weight: 200;
  font-style: normal;
}

.barlow-light {
  font-family: "Barlow", sans-serif;
  font-weight: 300;
  font-style: normal;
}

.barlow-regular {
  font-family: "Barlow", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.barlow-medium {
  font-family: "Barlow", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.barlow-semibold {
  font-family: "Barlow", sans-serif;
  font-weight: 600;
  font-style: normal;
}

.barlow-bold {
  font-family: "Barlow", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.barlow-extrabold {
  font-family: "Barlow", sans-serif;
  font-weight: 800;
  font-style: normal;
}

.barlow-black {
  font-family: "Barlow", sans-serif;
  font-weight: 900;
  font-style: normal;
}

.barlow-thin-italic {
  font-family: "Barlow", sans-serif;
  font-weight: 100;
  font-style: italic;
}

.barlow-extralight-italic {
  font-family: "Barlow", sans-serif;
  font-weight: 200;
  font-style: italic;
}

.barlow-light-italic {
  font-family: "Barlow", sans-serif;
  font-weight: 300;
  font-style: italic;
}

.barlow-regular-italic {
  font-family: "Barlow", sans-serif;
  font-weight: 400;
  font-style: italic;
}

.barlow-medium-italic {
  font-family: "Barlow", sans-serif;
  font-weight: 500;
  font-style: italic;
}

.barlow-semibold-italic {
  font-family: "Barlow", sans-serif;
  font-weight: 600;
  font-style: italic;
}

.barlow-bold-italic {
  font-family: "Barlow", sans-serif;
  font-weight: 700;
  font-style: italic;
}

.barlow-extrabold-italic {
  font-family: "Barlow", sans-serif;
  font-weight: 800;
  font-style: italic;
}

.barlow-black-italic {
  font-family: "Barlow", sans-serif;
  font-weight: 900;
  font-style: italic;
}

/* Textos corridos: Google Sans Regular a 12 pt. */
.participate p,
.columns p,
.objective-grid p,
.section-lead,
.speaker-back p,
.committees p,
.dates-intro,
.internal-body p,
.timeline-section > p,
.internal-reference {
  font-family:var(--font-body);
  font-size:12pt;
  font-weight:400;
}
